KSEVENT 结构
KSEVENT 结构指定内核流事件集中的单个内核流事件。
KSEVENT、KSMETHOD 和 KSPROPERTY 结构是 KSIDENTIFIER 结构的别名。 因此,它们的定义是相同的。
语法
struct KSEVENT {
GUID Set;
ULONG Id;
ULONG Flags;
};
成员
Set
指定标识内核流事件集的 GUID。
有关事件集 GUID 的详细信息,请参阅下面的 “备注 ”部分。
Id
指定事件集的成员。
Flags
指定请求类型。
此标志应是下表中列出的值之一。
值 | 说明 |
---|---|
KSEVENT_TYPE_ENABLE | 为此事件类型启用事件通知。 驱动程序会继续执行事件通知,直到客户端显式禁用它。 |
KSEVENT_TYPE_ONESHOT | 仅为此事件的下一次出现启用事件通知。 客户端不需要 (,也不应在事件发生后) 禁用事件。 |
KSEVENT_TYPE_SETSUPPORT | 查询事件集列表,或针对特定事件集的支持。 |
KSEVENT_TYPE_BASICSUPPORT | 支持特定事件类型的查询。 |
KSEVENT_TYPE_ENABLEBUFFERED | 驱动程序不通知客户端,而是将事件通知排队。 然后,客户端向 KSEVENT_TYPE_QUERYBUFFER 发出第二个 IOCTL_KS_ENABLE_EVENT 请求,以接收排队事件通知。 |
KSEVENT_TYPE_TOPOLOGY | 指示传递的事件的类型为 KSE_NODE,其中 NodeId 指示拓扑节点的数字 ID。 请勿自行设置此标志;相反,或者它与此列表中的其他标志一起。 |
KSEVENT_TYPE_QUERYBUFFER | 检索下一个缓冲事件通知。 |
注解
Microsoft 提供了多个系统定义的事件集 GUID。 微型驱动程序在 Set 成员中指定其中一个 GUID。 内核流事件集通常以 KSEVENTSETID 前缀开头。 内核流式处理事件集在 ks.h、 ksmedia.h、 bdamedia.h 以及可能的其他头文件中定义。
有关内核流事件的详细信息,请参阅 KS 属性、事件和方法。
要求
标头: ks.h (包括 Ks.h)