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 は省略可能なパラメーターです。 Set value of NULL is a wild カード that matches all event-set GUID in the list. それ以外の場合は、イベント セット GUID が一致するイベント エントリのみが通知されます。
[in] EventId
イベント ID を指定します。 このパラメーターは、イベント セット内のイベントのインデックスを指定します。 イベント セットに n 個のイベントが含まれている場合、有効なイベント ID は 0 ~ n-1 の範囲です。 一致するイベント ID を持つイベント エントリのみが通知されます。
[in] PinEvent
シグナルを通知するイベント エントリを修飾するために PinId を使用するかどうかを指定します。 PinEvent が FALSE の場合、PinId は、リスト内のすべてのピン ID と一致する野生のカードとして扱われます。
[in] PinId
通知するイベントのピン ID を指定します。 PinEvent が TRUE の場合、ピン ID が一致するイベント エントリのみが通知されます。
[in] NodeEvent
通知するイベント エントリを修飾するために NodeId を使用するかどうかを示します。 NodeEvent が FALSE の場合、NodeId は、リスト内のすべてのノード ID と一致する野生のカードとして扱われます。
[in] NodeId
通知するイベントのノード ID を指定します。 NodeEvent が TRUE の場合、ノード ID が一致するイベント エントリのみが通知されます。
戻り値
なし
解説
このメソッドは、ポート ドライバーのイベント リスト内のイベント エントリを通知するためにミニポート ドライバーによって使用されます。 このメソッドを呼び出すミニポート ドライバーに応答して、ポート ドライバーは、イベント エントリの一覧をウォークし、呼び出しパラメーターによって表される条件を満たすすべての登録済みイベント エントリを通知します。
の呼び出し元は任意の GenerateEventList
IRQL で実行できますが、IRQL > DISPATCH_LEVEL で を呼び出す場合は、いくつかの制限が適用されます。 具体的には、 の現在の GenerateEventList
実装が IRQL > DISPATCH_LEVELで呼び出された場合、メソッドは DPC をキューに入れ、イベント リストを処理します。 その DPC には、1 回の呼び出しのパラメーター コンテキストが含まれています。 その結果、IRQL > DISPATCH_LEVELで複数の呼び出しが行われた場合、シグナリング イベントが見落とされることがあります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | 任意のレベル。 「解説」を参照してください。 |