Compartilhar via


Manipuladores de interseção de dados

Esta seção discute manipuladores de interseção de dados em drivers de áudio do Modelo de Driver Windows da Microsoft (WDM). Para obter uma discussão mais ampla sobre o tratamento de interseção de dados para filtros KS em geral, consulte As Interseções do DataRange no AVStream.

Em versões mais antigas do Windows, como o Windows XP, o driver do sistema SysAudio constrói um dispositivo de áudio virtual conectando pares de pinos de filtro de áudio para formar um grafo de filtro de áudio. Antes que um pino de origem em um filtro possa ser conectado a um pino de destino de outro, SysAudio deve negociar um formato comum que os dois pinos possam usar para trocar dados. Os detalhes dessa negociação são delegados em grande parte aos manipuladores de interseção de dados implementados nos filtros individuais.

Da mesma forma, no Windows Vista e posterior, o mecanismo de áudio deve negociar um formato de fluxo comum com o manipulador de interseção de dados no filtro de onda que representa o dispositivo de renderização de áudio.

Um driver de adaptador cria um filtro WaveRT para um dispositivo de áudio associando um de seus drivers de miniporto ao driver de porta correspondente de Portcls.sys. O driver de porta de entrada contém um manipulador de interseção de dados padrão, mas o manipulador padrão sempre dá ao manipulador de interseção de dados proprietário do driver de miniporta a primeira oportunidade para determinar um formato comum. No entanto, se o manipulador proprietário recusar essa oportunidade, o manipulador padrão do driver de porta determinará o formato.

O manipulador de interseção de dados padrão do driver de porta foi projetado para lidar com os recursos de hardware mais comuns. Para dispositivos de áudio simples, o manipulador padrão fornece uma alternativa conveniente para implementar um manipulador proprietário no driver do adaptador. No entanto, adaptadores com recursos mais avançados podem precisar de manipuladores proprietários para expor todos os recursos do hardware.

O restante desta seção descreve algumas das limitações do manipulador de interseção de dados padrão do driver de porta e apresenta as técnicas necessárias para criar um manipulador de interseção de dados proprietário para um driver de adaptador. Os tópicos a seguir são discutidos:

Interseção de dados

Manipuladores padrão Data-Intersection

Manipuladores proprietários de Data-Intersection

Restrições de hardware na frequência de exemplo

Tamanho do buffer de saída

Intervalos de dados com valores discretos

Curingas

Propriedades doData-Range