Compartilhar via


Fixar propriedades de intervalo de dados e 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 do pino é exposto por meio das três propriedades KSPROPSETID_Pin a seguir no filtro:

KSPROPERTY_PIN_DATARANGES Essa propriedade descreve intervalos de dados que são estáticos e representam todos os formatos possíveis suportados. 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 da propriedade. O gerenciador de propriedades deve conter a lógica para decidir quais formatos em tempo de execução o pino é capaz de suportar. 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 a partir de uma lista de intervalos de dados. A seleção é baseada em recursos dinâmicos e o formato é extraído do subconjunto de formatos que 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. Começando no primeiro elemento, o manipulador de propriedades pesquisa a matriz até encontrar um intervalo de dados que ele atualmente é capaz de dar suporte. Se tiver êxito, o manipulador gerará um formato de dados retirado 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 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.