次の方法で共有


NdisDeregisterProtocol 関数 (ndis.h)

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

NdisDeregisterProtocol 、ドライバーが NdisRegisterProtocol を呼び出したときに割り当てられたリソース解放します。

構文

void NdisDeregisterProtocol(
  [out] PNDIS_STATUS Status,
  [in]  NDIS_HANDLE  NdisProtocolHandle
);

パラメーター

[out] Status

この関数から戻った場合にNDIS_STATUS_SUCCESSに設定されている呼び出し元が指定した変数へのポインター。

[in] NdisProtocolHandle

ドライバーの初期化時 NdisRegisterProtocol によって返されるハンドルを指定します。

戻り値

何一つ

備考

登録されたプロトコル ドライバーは、次のいずれかの状況 NdisDeregisterProtocol を呼び出します。

  • ドライバーは既 NdisRegisterProtocol 正常に呼び出されましたが、コンピューター内の基になる NDIS ドライバーにバインドできません。

  • ドライバーがアンロードされています。 つまり、初期化中にドライバー オブジェクトに設定された Unload ルーチンが呼び出されたか、ProtocolUnbindAdapter 関数が呼び出されて、ドライバーの最後の残りのバインディングが解放されました。

    アンロード ルーチンとその他の標準的なカーネル モード ドライバー ルーチンの詳細については、「Kernel-Mode ドライバー コンポーネントを参照してください。

  • システムがシャットダウン中です。 ドライバーは、IoRegisterShutdownNotification 呼び出される最上位レベルのプロトコルであるため、初期化時に、Shutdown ルーチンが呼び出されています。

    詳細については、IoRegisterShutdownNotificationを参照してください。

プロトコルに開いているバインディングがある場合、NdisDeregisterProtocol 呼び出すと、NDIS は開いているバインドごとにプロトコルの ProtocolUnbindAdapter 関数を 1 回呼び出します。 ProtocolUnbindAdapter は、NdisCloseAdapter 呼び出してバインディングを閉じます。

未処理が開くと、閉じられている場合は、NdisDeregisterProtocol 呼び出し元が設定したすべてのフィルターを解放し、プロトコル ドライバーのバインドとフィルターを追跡するために割り当てられたメモリ NDIS を解放します。

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

必要条件

要件 価値
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL PASSIVE_LEVEL

関連項目