Compartir a través de


Tablas de funciones para controladores de minipuerto

Las interfaces de borde superior de un controlador miniportar genérico (consulte Terminología de audio de WDM) constan de tablas de funciones. Algunos controladores de minipuerto que no son de audio proporcionan la tabla de funciones al controlador de puerto durante el registro, momento en el que el controlador de minipuerto informa al controlador de puerto del tamaño de la estructura de contexto que requerirá el controlador de minipuerto. 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.

Del mismo modo, los controladores de minipuerto de audio usan tablas de funciones, pero se asignan estáticamente y no es necesario que el controlador de puerto copie. El controlador de puerto también recupera su memoria de contexto ("objeto") de un grupo especificado e instala un puntero a la tabla de funciones en el contexto. Dado que el puntero de la tabla de funciones es siempre 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 adoptado porque COM proporciona un modelo sólido, eficaz y ampliamente entendido para crear objetos abstractos. El modelo de controlador de minipuerto de audio aprovecha la experiencia del sector con COM y el cuerpo de la literatura 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.