Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As interfaces de borda superior de um driver de miniport genérico (consulte Terminologia de áudio do WDM) consistem em tabelas de funções. Alguns drivers de miniporto não relacionados a áudio fornecem a tabela de funções para o driver de porta durante o registro; nesse momento, o driver de miniporto informa ao driver de porta o tamanho da estrutura de contexto que será necessário. O driver de porta copia a tabela de funções para algum local privado, aloca a estrutura de contexto e chama uma função de inicialização na tabela de funções, passando um ponteiro para a estrutura de contexto.
Da mesma forma, os drivers de miniporto de áudio usam tabelas de funções, mas são alocados estaticamente e não precisam ser copiados pelo driver de porta. O driver de porta também recupera sua memória de contexto ("objeto") de um pool especificado e instala um ponteiro para a tabela de funções no contexto. Como o ponteiro da tabela de funções é sempre o primeiro campo no contexto, o driver de porta precisa apenas de um ponteiro de contexto e pode acessar a tabela de funções por meio do contexto.
Essa abordagem foi tomada porque o COM fornece um modelo sólido, eficiente e amplamente compreendido para a criação de objetos abstraídos. O modelo de driver de miniporto de áudio utiliza a experiência de mercado com COM, bem como o extenso material literário sobre COM. Os objetos podem ser implementados e usados em C ou C++. O idioma do assembly também pode ser usado, mas só deve ser usado quando a portabilidade não é necessária.