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