Manipuladores de Data-Intersection
Esta seção discute manipuladores de interseção de dados em drivers de áudio WDM (Modelo de Driver do Microsoft Windows). Para obter uma discussão mais ampla sobre o tratamento de interseção de dados para filtros KS em geral, consulte Interseções de 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 coletor de outro, sysAudio deve negociar um formato comum que os dois pinos podem usar para trocar dados. Os detalhes dessa negociação são amplamente delegados 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 do Portcls.sys. O driver de porta contém um manipulador de interseção de dados padrão, mas o manipulador padrão sempre fornece ao manipulador de interseção de dados proprietário do driver de miniporta a primeira oportunidade de 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 seguintes tópicos são abordados:
Manipuladores de Data-Intersection padrão
Manipuladores de Data-Intersection proprietários
Restrições de hardware na frequência de exemplo