Partilhar via


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 seu adaptador. Um manipulador proprietário é implementado como o método IMiniport::DataRangeIntersection num objeto de driver de miniport. Consulte os controladores de adaptador de exemplo no Microsoft Windows Driver Kit (WDK) para obter exemplos dos métodos DataRangeIntersection.

Um manipulador proprietário de interseção de dados pode compensar 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 suportar dois ou mais canais de áudio durante a reprodução, mas não pode suportar mono. O método DataRangeIntersection da amostra determina se o intervalo de dados para o pino de origem do outro filtro é limitado a mono (ou seja, MaximumChannels< 2). Em caso afirmativo, a chamada falhará, retornando STATUS_NO_MATCH.

Um manipulador proprietário de interseção de dados tem a opção de manipular 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 interseções de dados nos outros pinos.

O restante desta seção apresenta diretrizes para a implementação de manipuladores proprietários de interseção de dados.