Поделиться через


Свойства, события и методы KS

Архитектура потоковой передачи ядра поддерживает взаимодействие между мини-драйверами и клиентами пользовательского режима с помощью свойств, событий и методов. С помощью этих конструкций клиенты объекта KS могут получать и задавать состояние объекта, регистрировать обратные вызовы уведомлений для событий и выполнять методы объекта.

Клиенты запрашивают все три класса операций в стандартизованном режиме. Клиент предоставляет структуру псевдонима KSIDENTIFIER в вызове DeviceIoControl (описано в документации по Microsoft Windows SDK) или KsSynchronousDeviceControl.

Структуры псевдонимов: KSPROPERTY, KSEVENT и KSMETHOD. Все три включают следующие параметры:

  • Set

    Функционально похожие операции группируются в набор. Каждое свойство, событие или набор методов идентифицируется идентификатором 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 . Дополнительные сведения см. в разделе Определение таблиц автоматизации.

В этих разделах содержатся сведения о том, как мини-накопители поддерживают три класса операций:

Свойства KS

События KS

Методы KS