NdisDeregisterProtocol 関数 (ndis.h)

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

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 関数が呼び出されて、ドライバーの最後の残りのバインディングが解放されました。

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

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

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

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

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

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

要件

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

こちらもご覧ください