Aggiungere Data-Range e proprietà di intersezione

Diverse richieste di proprietà forniscono informazioni sui formati di dati per i flussi audio che un dispositivo audio è in grado di gestire ai relativi pin di input e output.

I formati di dati del flusso audio supportati da un pin sono espressi in una matrice di KSMULTIPLE_ITEM di strutture derivate da KSDATARANGE. Il supporto per l'intervallo di dati pin viene esposto tramite le tre proprietà di KSPROPSETID_Pin seguenti nel filtro:

KSPROPERTY_PIN_DATARANGES Questa proprietà segnala gli intervalli di dati statici e rappresentano tutti i formati possibili supportati. In genere, gli intervalli di dati sono contenuti in una matrice statica nel driver dell'adattatore. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Questa proprietà segnala gli intervalli di dati dinamici e rappresentano il subset di formati supportati al momento della richiesta di proprietà. Il gestore di proprietà deve contenere la logica per decidere quali formati il pin è in grado di supportare in fase di esecuzione. Ad esempio, un'implementazione hardware potrebbe avere vincoli DMA che non consentono il supporto per full-duplex in determinate combinazioni di formato. KSPROPERTY_PIN_DATAINTERSECTION Questa proprietà seleziona un formato di dati da un elenco di intervalli di dati. La selezione si basa sulle funzionalità dinamiche e il formato viene tratto dal sottoinsieme di formati che il driver può supportare al momento della richiesta di proprietà. Per utilizzare questa proprietà, il chiamante fornisce una matrice di intervalli di dati. A partire dal primo elemento, il gestore della proprietà esegue la ricerca nella matrice fino a quando non trova un intervallo di dati attualmente in grado di supportare. In caso di esito positivo, il gestore restituisce un formato di dati ricavato da tale intervallo di dati e restituisce STATUS_SUCCESS. In caso contrario, il gestore restituisce STATUS_NO_MATCH. I componenti del sistema audio usano le proprietà KSPROPERTY_PIN_DATARANGES e KSPROPERTY_PIN_DATAINTERSECTION. I driver Miniport devono supportare queste proprietà. Il supporto per KSPROPERTY_PIN_CONSTRAINEDDATARANGES è facoltativo.

Per altre informazioni, vedere Formati di dati audio e intervalli di dati.

Nota Il KSPROPERTY_PIN_DATARANGES e KSPROPERTY_PIN_CONSTRAINEDDATARANGES ogni inizia su un indirizzo allineato a 8 byte.