次の方法で共有


中間ドライバーでの PnP イベントおよび電源管理イベントの処理

中間ドライバーは、プラグ アンド プレイ (PnP) イベントと電源管理イベントを処理できる必要があります。 具体的には、次のように使用します。

  • 中間ドライバーは、NdisMSetMiniportAttributes に渡される NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 構造体の AttributeFlags メンバーに NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND フラグを設定する必要があります。 詳細については、「ミニポートとして初期化する」を参照してください。

  • 中間ドライバーの仮想ミニポートは、OID_PNP_Xxx 要求を処理する必要があります。

  • 中間ドライバーのプロトコル セクションは、基になるミニポート ドライバーに適切なOID_PNP_Xxx 要求を伝達する必要があります。 中間ドライバーの仮想ミニポートは、要求を発生させたプロトコル ドライバーに、これらの要求に対する基になるミニポート ドライバーの応答を渡す必要があります。 中間ドライバーは、設計上必要のない要求を渡す必要はありません。 たとえば、負荷分散フェールオーバー (LBFO) アプリケーションのように、仮想ミニポートと基になるミニポート アダプターの間に 1 対 1 の関係がない場合です。

  • 中間ドライバーのプロトコル部分は、ProtocolNetPnPEvent 関数を提供する必要があります。

中間ドライバー プロトコルとミニポート イベント ハンドラーは、特定の順序で呼び出されません。 それに応じて、中間ドライバーのイベント ハンドラーを実装する必要があります。

ここでは、次のトピックについて説明します。

PnP および電源管理イベントを処理するための中間ドライバーの初期化

OID_PNP_Xxx クエリと設定の処理

中間ドライバーでの ProtocolNetPnPEvent ハンドラーの実装

電源の設定要求の処理