Fixar Data-Range e propriedades de interseção
Várias solicitações de propriedade fornecem informações sobre os formatos de dados para os fluxos de áudio que um dispositivo de áudio é capaz de manipular em seus pinos de entrada e saída.
Os formatos de dados de fluxo de áudio que um pin é capaz de dar suporte são expressos em uma matriz KSMULTIPLE_ITEM de estruturas derivadas de KSDATARANGE. O suporte ao intervalo de dados de fixação é exposto por meio das três propriedades de KSPROPSETID_Pin a seguir no filtro:
KSPROPERTY_PIN_DATARANGES Essa propriedade relata intervalos de dados que são estáticos e representam todos os formatos possíveis com suporte. Normalmente, os intervalos de dados estão contidos em uma matriz estática no driver do adaptador. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Essa propriedade relata intervalos de dados que são dinâmicos e representam o subconjunto de formatos com suporte no momento da solicitação de propriedade. O manipulador de propriedades deve conter a lógica para decidir quais formatos o pino é capaz de dar suporte em tempo de execução. Por exemplo, uma implementação de hardware pode ter restrições de DMA que não permitem suporte para full-duplex em determinadas combinações de formato. KSPROPERTY_PIN_DATAINTERSECTION Essa propriedade seleciona um formato de dados de uma lista de intervalos de dados. A seleção é baseada em recursos dinâmicos e o formato é obtido do subconjunto de formatos aos quais o driver pode dar suporte no momento da solicitação de propriedade. Para usar essa propriedade, o chamador fornece uma matriz de intervalos de dados. A partir do primeiro elemento, o manipulador de propriedades pesquisa a matriz até encontrar um intervalo de dados que atualmente é capaz de dar suporte. Se tiver êxito, o manipulador gerará um formato de dados obtido desse intervalo de dados e retornará STATUS_SUCCESS. Caso contrário, o manipulador retornará STATUS_NO_MATCH. Os componentes do sistema de áudio usam as propriedades KSPROPERTY_PIN_DATARANGES e KSPROPERTY_PIN_DATAINTERSECTION. Os drivers de miniport devem dar suporte a essas propriedades. O suporte para KSPROPERTY_PIN_CONSTRAINEDDATARANGES é opcional.
Para obter mais informações, consulte Formatos de dados de áudio e intervalos de dados.
Nota Os KSPROPERTY_PIN_DATARANGES e KSPROPERTY_PIN_CONSTRAINEDDATARANGES começam em um endereço alinhado a 8 bytes.