Compartilhar via


Manipuladores proprietários de interseção de dados

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::DataRangeIntersection em um objeto driver de miniport. Consulte os drivers de adaptador de exemplo no Microsoft Windows Driver Kit (WDK) para obter exemplos de métodos DataRangeIntersection .

Um manipulador de interseção de dados proprietário 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 a mono. O método DataRangeIntersection do exemplo determina se o intervalo de dados do pino de origem do outro filtro está limitado a mono (ou seja, MaximumChannels< 2). Caso afirmativo, a chamada falha ao retornar STATUS_NO_MATCH.

Um manipulador de interseção de dados proprietário 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.