内核流式处理体系结构支持通过 属性、 事件和 方法在微型驱动程序和用户模式客户端之间进行交互。 使用这些构造,KS 对象的客户端可以获取和设置对象状态、为事件注册通知回调和执行对象方法。
客户以标准化方式请求所有三个操作类。 客户端在调用 DeviceIoControl(Microsoft Windows SDK 文档中所述)或 KsSynchronousDeviceControl 时提供 KSIDENTIFIER 的别名结构。
别名结构为 KSPROPERTY、 KSEVENT 和 KSMETHOD。 这三个参数都包含以下参数:
Set
功能上类似的操作被组合在一个集合中。 每个属性、事件或方法集都由 GUID 标识。 Microsoft定义用于标准技术特定操作的GUID。 微型驱动程序可以为自定义操作定义其自己的 GUID。
标识符
每个操作都通过集合中的ID号指定。
特定于操作的标识数据
某些属性请求需要其他数据。 例如,音频设备上的引脚支持 KSPROPSETID_Audio 属性集。 音频引脚可能支持多个不同的音频通道。 获取或设置某些KSPROPSETID_Audio属性的客户端必须指定请求应用到的音频通道。 事件和方法请求不需要其他数据。
Microsoft 定义的用于一般操作的 GUID 和标识符位于标头 ks.h 中。 ksmedia.h 中提供了特定多媒体技术类的标准 GUID 和标识符。
AVStream 微型驱动程序通过在相关KSFILTER_DESCRIPTOR或KSPIN_DESCRIPTOR_EX中提供一个指向KSAUTOMATION_TABLE结构的指针来支持属性、事件和方法。 KSAUTOMATION_TABLE包含指向 KSPROPERTY_SET 对象的数组的指针。 若要了解详细信息,请参阅 定义自动化表。
这些部分包含有关微型驱动程序如何支持三个操作类的信息。