Construção do driver do adaptador
O suporte ao driver para um adaptador de áudio específico cartão assume a forma de um driver de adaptador. Um driver de adaptador consiste no seguinte:
Código do adaptador geral que executa inicialização e inicialização do driver e que implementa todas as operações comuns a todas as funções de áudio no adaptador cartão.
Um conjunto de drivers de miniporte que gerenciam funções de áudio específicas no adaptador cartão.
O fornecedor de hardware fornece o código do adaptador geral e o código para todos os drivers de miniporto que não são fornecidos pelo sistema.
Para obter um exemplo do código do adaptador geral, consulte a implementação da interface CAdapterCommon no driver de exemplo do Sysvad, que é discutido em Drivers de Áudio de Exemplo.
Usando uma abordagem em camadas, o fornecedor pode escrever um driver de adaptador que opera em um dos vários níveis, dependendo da funcionalidade de hardware do adaptador. Ao determinar o nível de suporte que uma determinada função de hardware requer, o fornecedor deve primeiro determinar se já existe um driver de miniporto fornecido pelo sistema que dê suporte à função (consulte a lista de drivers de miniporto fornecidos pelo sistema da função PcNewMiniport ). Caso contrário, o fornecedor deve implementar um driver de miniporto proprietário, mas ainda poderá usar um dos drivers de porta fornecidos pelo sistema (consulte a lista de drivers de porta fornecidos pelo sistema da função PcNewPort ).
Para implementar o suporte do WDM para um dispositivo, siga estas etapas:
Se um driver de miniporto fornecido pelo sistema já der suporte à função de hardware, use o driver de miniporto existente para gerenciar a função.
Se a função de hardware não for compatível com um driver de miniporto fornecido pelo sistema, determine se a função é compatível com pelo menos um dos drivers de porta fornecidos pelo sistema. Se um driver de porta fornecido pelo sistema der suporte à função de hardware, escreva a parte do driver de miniporto que gerencia a função. Esse driver de miniporto deve estar em conformidade com a especificação da interface de miniporto que o driver de porta proprietário espera.
Se nenhum driver de porta fornecido pelo sistema der suporte à função de hardware, escreva um minidriver para dar suporte à função. O minidriver deve estar em conformidade com a especificação de interface do driver de classe de streaming.
Esta seção discute os seguintes tópicos: