Закрепление свойств Data-Range и пересечения
Несколько запросов свойств предоставляют сведения о форматах данных для аудиопотоков, которые звуковое устройство может обрабатывать на своих входных и выходных контактах.
Форматы данных аудиопотока, которые поддерживает закрепление, выражаются в KSMULTIPLE_ITEM массиве структур, производных от KSDATARANGE. Закрепление поддержки диапазона данных предоставляется с помощью следующих трех свойств KSPROPSETID_Pin фильтра:
KSPROPERTY_PIN_DATARANGES Это свойство сообщает диапазоны данных, которые являются статическими и представляют все возможные поддерживаемые форматы. Как правило, диапазоны данных содержатся в статическом массиве в драйвере адаптера. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Это свойство сообщает диапазоны данных, которые являются динамическими и представляют подмножество форматов, поддерживаемых на момент запроса свойства. Обработчик свойств должен содержать логику, чтобы решить, какие форматы может поддерживать закрепление во время выполнения. Например, аппаратная реализация может иметь ограничения DMA, которые не допускают поддержку полнодуплексного формата в определенных сочетаниях форматов. KSPROPERTY_PIN_DATAINTERSECTION Это свойство выбирает формат данных из списка диапазонов данных. Выбор зависит от динамических возможностей, а формат берется из подмножества форматов, которые драйвер может поддерживать во время запроса свойства. Чтобы использовать это свойство, вызывающий объект предоставляет массив диапазонов данных. Начиная с первого элемента обработчик свойств выполняет поиск в массиве, пока не найдет диапазон данных, который он в настоящее время поддерживает. В случае успешного выполнения обработчик выводит формат данных, взятый из этого диапазона данных, и возвращает STATUS_SUCCESS. В противном случае обработчик возвращает STATUS_NO_MATCH. Компоненты аудиосистемы используют свойства KSPROPERTY_PIN_DATARANGES и KSPROPERTY_PIN_DATAINTERSECTION. Драйверы мини-портов должны поддерживать эти свойства. Поддержка KSPROPERTY_PIN_CONSTRAINEDDATARANGES необязательна.
Дополнительные сведения см. в разделе Форматы аудиоданных и диапазоны данных.
Примечание KSPROPERTY_PIN_DATARANGES и KSPROPERTY_PIN_CONSTRAINEDDATARANGES начинаются с 8-байтового адреса.