Manipuladores de Data-Intersection proprietários
Você pode superar as limitações do manipulador de interseção de dados padrão escrevendo um manipulador proprietário para o adaptador. Um manipulador proprietário é implementado como o método IMiniport::D ataRangeIntersection em um objeto de driver de miniport. Consulte os drivers de adaptador de exemplo no WDK (Microsoft Windows Driver Kit) para obter exemplos de métodos DataRangeIntersection .
Um manipulador proprietário de interseção de dados pode compensar os recursos de hardware não padrão que não podem ser especificados adequadamente na estrutura KSDATARANGE_AUDIO . Por exemplo, o driver do adaptador de exemplo AC97 no WDK gerencia hardware que pode dar suporte a dois ou mais canais de áudio durante a reprodução, mas não pode dar suporte ao mono. O método DataRangeIntersection do exemplo determina se o intervalo de dados para o pino de origem do outro filtro é limitado a mono (ou seja, MaximumChannels< 2). Nesse caso, ele falha na chamada retornando STATUS_NO_MATCH.
Um manipulador proprietário de interseção de dados tem a opção de lidar com interseções de dados em alguns de seus pinos e permitir que o manipulador de interseção de dados padrão do driver de porta manipule as interseções de dados nos outros pinos.
O restante desta seção apresenta diretrizes para implementar manipuladores proprietários de interseção de dados.