AVStream 筛选器和引脚通过在 KSFILTER_DESCRIPTOR 结构或 KSPIN_DESCRIPTOR_EX 结构的 AutomationTable 成员中提供 KSAUTOMATION_TABLE 结构来描述它们支持的属性、事件和方法。 有关详细信息,请参阅 AVStream 描述符。
为了支持事件,AVStream 微型驱动程序提供了自动化表中 KSEVENT_SET 结构的数组。 每个KSEVENT_SET结构都包含 KSEVENT_ITEM 结构的数组。 每个KSEVENT_ITEM结构描述微型驱动程序如何支持特定事件。
微型驱动程序可以通过在 KSEVENT_ITEM 结构中提供 AVStrMiniAddEvent 和 AVStrMiniRemoveEvent 处理程序来自定义事件行为。
当 AVStream 收到事件启用请求时,它将生成KSEVENT_ENTRY结构。 如果微型驱动程序提供了 AVStrAddEvent 处理程序,AVStream 会将指针传递给对 AVStrAddEvent 的调用中的KSEVENT_ENTRY结构。
如果未提供 AVStrAddEvent 处理程序,则默认情况下 AVStream 会将事件添加到对象列表中。 微型驱动程序未收到 KSEVENT_ENTRY 指针。 微型驱动程序可以通过调用 KsFilterGenerateEvents 或 KsPinGenerateEvents 来触发事件。