次の方法で共有


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

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー portcls.h (Portcls.h を含む)
IRQL 任意のレベル。 (「解説」セクションを参照してください。

関連項目

EventHandler

IPortEvents

IPortEvents::AddEventToEventList