NdisIMNotifyPnPEvent 関数 (ndis.h)

メモ NDIS 5。 x は非推奨となり、NDIS 6 に置き換えられます。 x があります。 新しい NDIS ドライバーの開発については、「 Windows Vista 以降のネットワーク ドライバー」を参照してください。 NDIS 5 の移植について説明します。 x ドライバーを NDIS 6 に設定します。 x については、「 NDIS 5.x ドライバーを NDIS 6.0 に移植する」を参照してください。

NdisIMNotifyPnPEvent は、プラグ アンド プレイまたは Power Management イベントの通知を、基になるドライバーに伝達します。

構文

NDIS_STATUS NdisIMNotifyPnPEvent(
  [in] NDIS_HANDLE    MiniportHandle,
  [in] PNET_PNP_EVENT NetPnPEvent
);

パラメーター

[in] MiniportHandle

MiniportInitialize へのハンドル入力。 このハンドルは、呼び出し元の ProtocolPnPEvent 関数に渡されるプラグ アンド プレイまたは Power Management イベントの影響を受けるミニポート ドライバーを表します。

[in] NetPnPEvent

プロトコル ドライバーに示されているプラグ アンド プレイ イベントまたは Power Management イベントを記述するNET_PNP_EVENT構造体へのポインター。

戻り値

NdisIMNotifyPnPEvent は、次のいずれかを返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS 基になるドライバーが正常に伝達プラグ アンド プレイイベントが成功しました。
NDIS_STATUS_FAILURE 上にあるドライバーは、伝達されたプラグ アンド プレイ イベントに失敗しました。

戻り値は、伝達されたイベントが NetEventQueryPower または NetEventQueryRemove の場合にのみ有効です。 他のすべての伝達イベントの場合、戻り値は常にNDIS_STATUS_SUCCESS。

注釈

NDIS 中間ドライバーは、ドライバーの ProtocolPnPEvent 関数のコンテキストで NdisIMNotifyPnPEvent を呼び出して、プラグ アンド プレイまたは Power Management イベントの通知を基になるドライバーに伝達します。

伝達されるイベントが NetEventQueryPower または NetEventQueryRemove の場合、中間ドライバーは NdisIMNotifyPnPEvent によって返されるNDIS_STATUS値をチェックする必要があります。 返された状態がNDIS_STATUS_SUCCESS場合、中間ドライバーは通常どおりに内部的にイベントを処理し、その ProtocolPnPEvent 関数からNDIS_STATUS_SUCCESSを返す必要があります。 返された状態がNDIS_STATUS_FAILURE場合、中間ドライバーは、それ以上の処理を行わずに ProtocolPnPEvent からNDIS_STATUS_FAILUREを返す必要があります。

その他のすべての伝達イベントについて、 NdisIMNotifyPnPEvent は 常にNDIS_STATUS_SUCCESSを返します。 このような場合、中間ドライバーの ProtocolPnPEvent 関数は 、NdisIMNotifyPnPEvent によって返されるNDIS_STATUSを伝達する必要があります。

中間ドライバーがその ProtocolPnPEvent 関数によって受信した NetEventSetPower を処理する方法は、指定されたデバイスの電源状態によって異なります。 指定したデバイスの電源状態が NdisDeviceStateD0 の場合、中間ドライバーは通常どおりにイベントを内部的に処理し、 NdisIMNotifyPnPEvent を呼び出す必要があります。 その他の指定されたデバイスの電源状態の場合、中間ドライバーは最初に NdisIMNotifyPnPEvent を呼び出し、通常どおりに内部的にイベントを処理する必要があります。

NetEventReconfigure または NetEventBindListNULL 以外の ProtocolBindingContext で示されている場合にのみ、中間ドライバーは NdisIMNotifyPnPEvent を呼び出して NetEventReconfigure または NetEventBindList を伝達する必要があります。 NetEventReconfigure または NetEventBindListNULLProtocolBindingContext で示されている場合、中間ドライバーは NdisIMNotifyPnPEvent を呼び出してイベントを伝達しないでください。

中間ドライバーが NetEventReconfigure または NetEventBindList を処理する場合は、イベントに関連付けられているすべてのデータを検証する必要があります。 (このようなデータの詳細については、「 プロトコル ドライバーのNET_PNP_EVENT」を参照してください。

NdisIMNotifyPnPEvent のシステム サポートは、Windows XP 以降のバージョンで利用できます。

  • ターゲット プラットフォーム: ユニバーサル
  • バージョン: Windows Vista の NDIS 6.0 ドライバーではサポートされていません。 代わりに NdisMNetPnPEvent を使用してください。 Windows Vista および Windows XP の NDIS 5.1 ドライバーでサポートされています。

要件

要件
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください