Eliminación del adaptador WLAN 802.11
Cuando se quita o deshabilita un adaptador LAN inalámbrico (WLAN), el sistema operativo llama a Dot11ExtIhvDeinitAdapter para notificar al archivo DLL de extensiones de IHV de la eliminación del adaptador. El sistema operativo también llama a la función Dot11ExtIhvDeinitAdapter para cada adaptador administrado por el ARCHIVO DLL de extensiones de IHV antes de que el sistema operativo descargue el archivo DLL.
Cuando se llama a Dot11ExtIhvDeinitAdapter , el archivo DLL de extensiones de IHV debe seguir estas instrucciones.
El archivo DLL de extensiones de IHV debe liberar los recursos asignados para el adaptador WLAN. En concreto, toda la memoria asignada a través de llamadas a Dot11ExtAllocateBuffer debe liberarse a través de llamadas a Dot11ExtFreeBuffer.
El identificador utilizado por el sistema operativo para hacer referencia al adaptador WLAN ya no es válido cuando se llama a Dot11ExtIhvDeinitAdapter . El sistema operativo pasa su identificador al archivo DLL de extensiones de IHV a través del parámetro hDot11SvcHandle cuando se llama a Dot11ExtIhvInitAdapter .
Dentro de la llamada a la función Dot11ExtIhvDeinitAdapter y después de volver desde la llamada, el archivo DLL no debe usar el valor de identificador al llamar a cualquier función de extensibilidad de IHV que declare un parámetro hDot11SvcHandle , como Dot11ExtSendPacket.
Si el archivo DLL de extensiones de IHV tenía una operación de asociación previa pendiente, que se inició a través de una llamada a la función Dot11ExtIhvPerformPreAssociate IHV Handler, el sistema operativo considera que la operación se canceló a través de la llamada a la función Dot11ExtIhvDeinitAdapter . Dentro de la llamada, el archivo DLL debe cancelar la operación de asociación previa internamente, pero no debe llamar a Dot11ExtPreAssociateCompletion para completar la operación de asociación previa.
Para obtener más información sobre la operación previa a la asociación, vea Operaciones previas a la asociación.
Si el archivo DLL de extensiones de IHV tenía una operación de asociación posterior pendiente, que se inició a través de una llamada a la función Dot11ExtIhvPerformPostAssociate IHV Handler, el sistema operativo cancela la operación llamando a la función Dot11ExtIhvStopPostAssociate antes de llamar a Dot11ExtIhvDeinitAdapter.
Para obtener más información sobre la operación posterior a la asociación, vea Operaciones posteriores a la asociación.
El sistema operativo llama a la función Dot11ExtIhvDeinitAdapter para cada adaptador administrado por el ARCHIVO DLL de extensiones de IHV antes de que el sistema operativo descargue el archivo DLL. En esta situación, el sistema operativo llama a la función Dot11ExtIhvDeinitService IHV Handler después de que el último adaptador WLAN se haya detenido a través de una llamada a Dot11ExtIhvDeinitAdapter.
Para obtener más información sobre esta operación, consulte Operaciones de detención de DLL.