次の方法で共有


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 を使用するかどうかを指定します。 PinEventFALSE の場合、PinId は、リスト内のすべてのピン ID と一致する野生のカードとして扱われます。

[in] PinId

通知するイベントのピン ID を指定します。 PinEventTRUE の場合、ピン ID が一致するイベント エントリのみが通知されます。

[in] NodeEvent

通知するイベント エントリを修飾するために NodeId を使用するかどうかを示します。 NodeEventFALSE の場合、NodeId は、リスト内のすべてのノード ID と一致する野生のカードとして扱われます。

[in] NodeId

通知するイベントのノード ID を指定します。 NodeEventTRUE の場合、ノード ID が一致するイベント エントリのみが通知されます。

戻り値

なし

解説

このメソッドは、ポート ドライバーのイベント リスト内のイベント エントリを通知するためにミニポート ドライバーによって使用されます。 このメソッドを呼び出すミニポート ドライバーに応答して、ポート ドライバーは、イベント エントリの一覧をウォークし、呼び出しパラメーターによって表される条件を満たすすべての登録済みイベント エントリを通知します。

の呼び出し元は任意の GenerateEventList IRQL で実行できますが、IRQL > DISPATCH_LEVEL で を呼び出す場合は、いくつかの制限が適用されます。 具体的には、 の現在の GenerateEventList 実装が IRQL > DISPATCH_LEVELで呼び出された場合、メソッドは DPC をキューに入れ、イベント リストを処理します。 その DPC には、1 回の呼び出しのパラメーター コンテキストが含まれています。 その結果、IRQL > DISPATCH_LEVELで複数の呼び出しが行われた場合、シグナリング イベントが見落とされることがあります。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL 任意のレベル。 「解説」を参照してください。

こちらもご覧ください

EventHandler

IPortEvents

IPortEvents::AddEventToEventList