IPortEvents::GenerateEventList 方法(portcls.h)
GenerateEventList
方法通过端口驱动程序的事件条目列表通知客户端发生了特定事件。
语法
void GenerateEventList(
[in, optional] GUID *Set,
[in] ULONG EventId,
[in] BOOL PinEvent,
[in] ULONG PinId,
[in] BOOL NodeEvent,
[in] ULONG NodeId
);
参数
[in, optional] Set
标识事件所属的事件集。 此参数是指向 GUID 的指针。 设置 是可选参数。 set value of NULL 是一个与列表中所有事件集 GUID 匹配的通配符。 否则,仅发出具有匹配事件集 GUID 的事件条目的信号。
[in] EventId
指定事件 ID。 此参数指定事件集中事件索引。 如果事件集包含 n 事件,则有效事件 ID 的范围为 0 到 n-1。 仅发出具有匹配事件 ID 的事件条目的信号。
[in] PinEvent
指定是否应使用 PinId 来限定要发出信号的事件条目。 如果 PinEventFALSE,则 PinId 被视为与列表中所有引脚 ID 匹配的通配符。
[in] PinId
指定要发出信号的事件的引脚 ID。 如果 PinEventTRUE,则仅发出具有匹配引脚 ID 的事件条目的信号。
[in] NodeEvent
指示是否应使用 NodeId 来限定要发出信号的事件条目。 如果 NodeEventFALSE,则 NodeId 被视为与列表中所有节点 ID 匹配的通配符。
[in] NodeId
指定要发出信号的事件的节点 ID。 如果 NodeEventTRUE,则仅发出具有匹配节点 ID 的事件条目的信号。
返回值
没有
言论
微型端口驱动程序使用此方法来向端口驱动程序的事件列表中的事件条目发出信号。 为了响应调用此方法的微型端口驱动程序,端口驱动程序将遍视其事件条目列表,并发出满足调用参数表示的条件的所有已注册事件条目的信号。
尽管 GenerateEventList
的调用方可以在任何 IRQL 上运行,但在 IRQL > DISPATCH_LEVEL 调用时,它们会受到一些限制。 具体而言,如果在 IRQL > DISPATCH_LEVEL 调用 GenerateEventList
的当前实现,该方法会将 DPC 排队来处理事件列表。 该 DPC 包含单个调用的参数上下文。 因此,如果在 IRQL > DISPATCH_LEVEL 进行多个调用,则偶尔会错过信号事件。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | 任何级别。 (请参阅“备注”部分。 |