PFNKSADDEVENT 回调函数 (ks.h)

当客户端注册以通知事件时,将调用 AVStream 微型驱动程序的 AVStrMiniAddEvent 例程。 此例程是可选的。

语法

PFNKSADDEVENT Pfnksaddevent;

NTSTATUS Pfnksaddevent(
  [in] PIRP Irp,
  [in] PKSEVENTDATA EventData,
  [in] _KSEVENT_ENTRY *EventEntry
)
{...}

参数

[in] Irp

指定描述事件添加请求的 IRP。

[in] EventData

指向描述此事件的通知方法的 KSEVENTDATA 结构的指针。

[in] EventEntry

指向 AVStream 生成的 KSEVENT_ENTRY 结构的指针,该结构描述事件的触发方式。

返回值

AVStrMiniAddEvent 应返回STATUS_SUCCESS或特定于启用事件的错误。

言论

如果未提供添加事件处理程序,AVStream 会将事件添加到对象列表中。 请参阅 AVStream 中的事件处理。

此回调通常实现特定于供应商的行为,然后调用 KsFilterAddEventKsPinAddEvent。 微型驱动程序通过调用 KsFilterAddEventKsPinAddEvent接收的 EventEntry 指针。

微型驱动程序在 KSEVENT_ITEM 结构的 AddHandler 成员中指定此例程的地址。 AVStream 中的事件处理 介绍了微型驱动程序如何向类驱动程序提供此结构。

如果 AVStream 微型驱动程序将 AddHandler 指定为非 NULL,AVStream 不会将项添加到对象的事件列表中。 如果 minidriver 指定 AddHandler,并且不通过 KsDefaultAddEventHandler()Ks*AddEvent 调用将事件添加到对象的事件列表中,则微型驱动程序负责清理事件。

要求

要求 价值
最低支持的客户端 Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。
目标平台 桌面
标头 ks.h (包括 Ks.h)

另请参阅

AVStrMiniRemoveEvent

KSAUTOMATION_TABLE

KSEVENTDATA

KSEVENT_ENTRY

KSEVENT_ITEM

KsFilterAddEvent

KsFilterGenerateEvents

KsPinAddEvent

KsPinGenerateEvents