Introdução aos drivers de áudio WDM
Os serviços de streaming de kernel (KS) dão suporte ao processamento em modo kernel de fluxos de dados para áudio e para outros tipos de mídia contínua. Conceitualmente, um fluxo passa por processamento à medida que flui ao longo de um caminho de dados que contém alguns nós de processamento. Um conjunto de nós relacionados é agrupado para formar um filtro KS, que representa um bloco independente de funcionalidade de processamento de fluxo mais ou menos. Funções mais complexas podem ser construídas de maneira modular, em cascata, com vários filtros em cascata para formar um grafo de filtro.
Um adaptador de áudio típico cartão pode conter dispositivos de áudio para reproduzir um fluxo de ondas por meio de um conjunto de alto-falantes, converter o sinal de áudio de um microfone em um fluxo de ondas e sintetizar o som de um fluxo MIDI. O driver do adaptador pode encapsular cada um desses dispositivos de áudio em um filtro KS que ele expõe ao sistema operacional. O sistema operacional conecta os filtros a outros filtros para formar grafos de filtro que processam fluxos de áudio em nome de programas de aplicativo.
Os filtros KS são conectados juntos por meio de seus pinos. Um pino em um filtro de áudio pode ser considerado como uma tomada de áudio. Um cliente cria uma instância de um pino de entrada ou saída em um filtro quando o cliente precisa rotear um fluxo de dados para dentro ou fora desse filtro. Em alguns contextos, os termos fixar e transmitir podem ser usados de forma intercambiável.
O pino de saída do filtro upstream está conectado ao pino de entrada do filtro downstream. O fluxo de dados do pino de saída deve ter um formato de dados que o pino de entrada pode aceitar. Normalmente, o buffer de dados é necessário para suavizar incompatibilidades momentâneas nas taxas em que um pino de saída produz dados e um pino de entrada os consome.
Um filtro KS é implementado como um objeto de driver no modo kernel que encapsula algumas funções de processamento de fluxo relacionadas. A funcionalidade pode ser implementada no software ou no hardware. Nesse modelo, um adaptador de áudio pode ser exibido como uma coleção de dispositivos de hardware e o driver do adaptador expõe cada um desses dispositivos ao sistema de áudio como um filtro individual.
Um driver de adaptador expõe uma coleção de fábricas de filtros para o sistema de áudio. Cada fábrica de filtros é capaz de instanciar filtros de um tipo específico:
Se o adaptador contiver um ou mais dispositivos semelhantes ou idênticos na função , o driver agrupará os filtros desses dispositivos na mesma fábrica de filtros.
Se o adaptador contiver vários tipos diferentes de dispositivos, esses dispositivos serão apresentados por meio de várias fábricas de filtros diferentes.
Um filtro KS expõe uma coleção de fábricas de pinos para o sistema de áudio. Cada fábrica de pinos é capaz de instanciar pinos de um tipo específico. Se o filtro puder fornecer um ou mais pinos semelhantes ou idênticos na função , o filtro agrupará esses pinos na mesma fábrica de pinos. Por exemplo, um filtro que executa a combinação de áudio pode ter uma fábrica de pinos que pode instanciar um único pino de saída e uma segunda fábrica de pinos que pode instanciar vários pinos de entrada.
Os serviços KS são criados com base no Modelo de Driver do Windows. Observe que o termo filtro KS deve ser diferenciado do termo driver de filtro, que é outro conceito de WDM. Um driver de filtro reside em uma pilha de driver WDM e pode interceptar e modificar os IRPs (pacotes de solicitação de E/S) que se propagam pela pilha. Os drivers de filtro de nível superior e inferior residem acima e abaixo do driver de função, respectivamente. Nesta seção, o termo filtro refere-se a um filtro KS em vez de um driver de filtro, a menos que indicado o contrário. Para obter mais informações sobre drivers de filtro, consulte Tipos de drivers WDM.
Esta seção contém os seguintes tópicos:
Funções básicas de um driver de áudio WDM
Opções do Driver de Áudio do Fornecedor
Para obter atualizações e informações sobre novos recursos da arquitetura de áudio do WDM, consulte o site de tecnologia de áudio .