Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las interfaces de borde superior de un controlador miniport genérico (consulte Terminología de audio WDM) constan de tablas de funciones. Algunos controladores de miniporte que no son de audio proporcionan la tabla de funciones al controlador de puerto durante el registro, en cuyo momento el controlador de miniporte informa al controlador de puerto del tamaño de la estructura de contexto que requerirá el controlador de miniport. El controlador de puerto copia la tabla de funciones en alguna ubicación privada, asigna la estructura de contexto y llama a una función de inicialización en la tabla de funciones, pasando un puntero a la estructura de contexto.
De forma similar, los controladores de minipuerto de audio usan tablas de funciones, pero se asignan estáticamente y no es necesario copiarlos mediante el controlador de puerto. El controlador de puerto también recupera su memoria de contexto ("objeto") de un pool especificado e instala un puntero a la tabla de funciones en el contexto. Dado que el puntero de la tabla de funciones siempre es el primer campo del contexto, el controlador de puerto solo necesita un puntero de contexto y puede tener acceso a la tabla de funciones a través del contexto.
Este enfoque se ha tomado porque COM proporciona un modelo sólido, eficaz y ampliamente comprendido para crear objetos abstractos. El modelo de controlador de miniporte de audio aprovecha la experiencia del sector con COM y el conjunto de documentación de COM. Los objetos se pueden implementar y usar en C o C++. También se puede usar el lenguaje de ensamblado, pero solo se debe usar cuando no se requiera portabilidad.