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

指定事件識別碼。 此參數會指定事件集中事件的索引。 如果事件集包含 n 個事件,有效的事件標識碼會介於 0 到 n-1 的範圍內。 只有具有相符事件標識碼的事件專案才會發出訊號。

[in] PinEvent

指定 PinId 是否應該用於限定要發出訊號的事件專案。 如果 PinEventFALSE,PinId 會被視為符合清單中所有針腳標識碼的通配符。

[in] PinId

指定要發出訊號的事件針腳標識碼。 如果 PinEventTRUE,則只會發出具有相符針腳標識碼的事件項目訊號。

[in] NodeEvent

指出 NodeId 是否應該用於限定要發出訊號的事件專案。 如果 NodeEventFALSE,NodeId 會被視為符合清單中所有節點識別碼的通配符。

[in] NodeId

指定要發出訊號的事件節點標識碼。 如果 NodeEventTRUE,則只會發出具有相符節點標識碼的事件專案訊號。

傳回值

備註

迷你埠驅動程式會使用這個方法來發出埠驅動程式事件清單中的事件專案訊號。 為了回應呼叫此方法的迷你埠驅動程式,埠驅動程式會逐步執行其事件專案清單,併發出所有符合呼叫參數所表示準則的已註冊事件專案訊號。

雖然的 GenerateEventList 呼叫端可以在任何 IRQL 上執行,但在 IRQL > DISPATCH_LEVEL呼叫時,可能會有一些限制。 具體而言,如果在 IRQL > DISPATCH_LEVEL呼叫 目前的 實作GenerateEventList,方法會將 DPC 排入佇列來處理事件清單。 該 DPC 包含單一呼叫的參數內容。 因此,如果在 IRQL > DISPATCH_LEVEL進行多個呼叫,則偶爾會遺漏訊號事件。

規格需求

需求
目標平台 Universal
標頭 portcls.h (包含 Portcls.h)
IRQL 任何層級。 (請參閱<註解>區段)。

另請參閱

EventHandler

IPortEvents

IPortEvents::AddEventToEventList