次の方法で共有


802.11 WLAN アダプターの取り外し

 

ワイヤレス LAN (WLAN) アダプターが削除または無効になると、オペレーティング システムは Dot11ExtIhvDeinitAdapter を呼び出して、アダプターの削除を IHV 拡張機能 DLL に通知します。 また、オペレーティング システムは、オペレーティング システムが DLL をアンロードする 前に、IHV 拡張機能 DLL によって管理されるすべてのアダプターに対して Dot11ExtIhvDeinitAdapter 関数も呼び出します。

IHV 拡張機能 DLL は、Dot11ExtIhvInitAdapter が呼び出されたときに、次のガイドラインに従う必要があります。

  • IHV 拡張機能 DLL は、WLAN アダプターに割り当てられているリソースを解放する必要があります。 特に、Dot11ExtAllocateBuffer の呼び出しによって割り当てられたすべてのメモリは、Dot11ExtFreeBuffer を呼び出して解放する必要があります。

  • オペレーティング システムが WLAN アダプターを参照するために使用するハンドルは、Dot11ExtIhvDeinitAdapter が呼び出されたときに無効になります。 オペレーティング システムは、Dot11ExtIhvInitAdapter が呼び出されたときに hDot11SvcHandle パラメーターを介して IHV 拡張機能 DLL にそのハンドルを渡します。

    Dot11ExtIhvDeinitAdapter 関数の呼び出し内で、呼び出しから戻った後、DLL は、Dot11ExtSendPacket などの hDot11SvcHandle パラメーターを宣言する IHV 拡張機能を呼び出すときにハンドル値を使用できません。

  • IHV 拡張機能 DLL に保留中の関連付け前の操作があり、Dot11ExtIhvPerformPreAssociate IHV ハンドラー関数の呼び出しによって開始された場合、オペレーティング システムは、Dot11ExtIhvDeinitAdapter 関数の呼び出しによって操作が取り消されたと見なします。 呼び出し内で、DLL は内部的に関連付け前の操作を取り消す必要がありますが、関連付け前の操作を完了するために Dot11ExtPreAssociateCompletion を呼び出すことはできません。

    関連付け前の操作の詳細については、「関連付け前の操作」を参照してください。

  • IHV 拡張機能 DLL に保留中の関連付け後の操作があり、Dot11ExtIhvPerformPostAssociate IHV ハンドラー関数の呼び出しによって開始された場合、オペレーティング システムは Dot11ExtIhvStopPostAssociate 関数を呼び出して操作を取り消してから Dot11ExtIhvDeinitAdapter を呼び出します。

    関連付け後の操作の詳細については、「関連付け後の操作」を参照してください。

  • また、オペレーティング システムは、オペレーティング システムが DLL をアンロードする 前に、IHV 拡張機能 DLL によって管理されるすべてのアダプターに対して Dot11ExtIhvDeinitAdapter 関数も呼び出します。 このような状況では、オペレーティング システムは、Dot11ExtIhvDeinitAdapter の呼び出しによって最後の WLAN アダプターが停止した後、Dot11ExtIhvDeinitService IHV ハンドラー関数を呼び出します。

    この操作の詳細については、「DLL の停止操作」を参照してください。