NdisMRegisterUnloadHandler 関数 (ndis.h)

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

NdisMRegisterUnloadHandler 関数は、ドライバーのアンロード ハンドラーを登録します。

構文

void NdisMRegisterUnloadHandler(
  [in] NDIS_HANDLE    NdisWrapperHandle,
  [in] PDRIVER_UNLOAD UnloadHandler
);

パラメーター

[in] NdisWrapperHandle

NdisMInitializeWrapper によって返されるハンドルを指定します。

[in] UnloadHandler

ドライバーのアンロード ルーチンのエントリ ポイントを指定します。 アンロード ルーチンは、次のように宣言されます。

VOID
(*PDRIVER_UNLOAD) (
    IN struct _DRIVER_OBJECT *DriverObject
    );

戻り値

なし

解説

DriverEntryNdisMRegisterMiniport または NdisIMRegisterLayeredMiniport を呼び出した後、ドライバーは DriverEntry 関数から NdisMRegisterUnloadHandler を呼び出します。 NdisMRegisterUnloadHandler は 、ドライバーのアンロード ハンドラーを登録します。

アンロード ハンドラーの機能は、ドライバー固有です。 たとえば、中間ドライバーは、 NdisDeregisterProtocol を呼び出して中間ドライバーのプロトコル部分を登録解除するアンロード ハンドラーを登録する必要があります。 アンロード ハンドラーは、ドライバーのプロトコル部分で使用されるリソースの割り当てを解除するなど、必要なクリーンアップ操作も実行する必要があります。

複数のミニポート ドライバー インスタンスを監視する負荷分散ミニポート ドライバーなどのミニポート ドライバーは、状態情報をクリーンアップし、監視するミニポート ドライバー インスタンスが停止した後にリソースの割り当てを解除するアンロード ハンドラーを登録する必要があります。 アンロード ハンドラーは 、MiniportHalt 関数とは異なる点に注意してください。アンロード ハンドラーのグローバル スコープは高くなりますが、MiniportHalt 関数のスコープは特定のミニポート ドライバー インスタンスに制限されます。

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

要件

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

こちらもご覧ください