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 是一个可选参数。 NULLSet 值是与列表中所有事件集 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 任何级别。 (请参见“备注”部分。)

另请参阅

EventHandler

IPortEvents

IPortEvents::AddEventToEventList