Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Архитектура потоковой передачи ядра поддерживает взаимодействие между минидрайверами и клиентами пользовательского режима через свойства, события и методы. С помощью этих конструкций клиенты объекта KS могут получать и задавать состояние объекта, регистрировать обратные вызовы уведомлений для событий и выполнять методы объекта.
Клиенты запрашивают все три класса операций стандартизированным образом. Клиент предоставляет структуру псевдонима KSIDENTIFIER в вызове DeviceIoControl (описано в документации по пакету SDK для Microsoft Windows) или KsSynchronousDeviceControl.
Псевдонимы — KSPROPERTY, KSEVENT и KSMETHOD. Все три включают следующие параметры:
Установить
Функционально похожие операции группируются в наборе. Каждое свойство, событие или набор методов определяется идентификатором GUID. Корпорация Майкрософт определяет GUID для стандартных операций, относящихся к технологиям. Минидрайверы могут определять собственные GUID для настраиваемых операций.
Идентификатор
Каждая операция указывается идентификационным номером в наборе.
Данные идентификации для конкретной операции
Для некоторых запросов свойств требуются дополнительные данные. Например, контакты в звуковом устройстве поддерживают набор свойств KSPROPSETID_Audio. Звуковой пин-код может поддерживать несколько различных звуковых каналов. Клиенты, получающие или устанавливающие определенные свойства KSPROPSETID_Audio, должны указывать звуковой канал, к которому применяется запрос. Запросы на события и методы не требуют дополнительных данных.
Определяемые корпорацией Майкрософт GUID и идентификаторы для операций общего применения находятся в файле заголовка ks.h. Стандартные идентификаторы GUID и идентификаторы для определенных классов мультимедийных технологий находятся в ksmedia.h.
Минидрайверы AVStream поддерживают свойства, события и методы, предоставляя указатель на структуру KSAUTOMATION_TABLE в соответствующем KSFILTER_DESCRIPTOR или KSPIN_DESCRIPTOR_EX. KSAUTOMATION_TABLE содержит указатель на массив объектов KSPROPERTY_SET . Дополнительные сведения см. в разделе "Определение таблиц автоматизации".
В этих разделах содержатся сведения о том, как минидрайверы поддерживают три класса операций: