다음을 통해 공유


802.11 WLAN 어댑터 제거

 

WLAN(무선 LAN) 어댑터를 제거하거나 사용하지 않도록 설정하면 운영 체제에서 Dot11ExtIhvDeinitAdapter 를 호출하여 IHV 확장 DLL에 어댑터 제거를 알립니다. 운영 체제는 또한 운영 체제가 DLL을 언로드하기 전에 IHV 확장 DLL에서 관리하는 모든 어댑터에 대해 Dot11ExtIhvDeinitAdapter 함수를 호출합니다.

Dot11ExtIhvDeinitAdapter가 호출되면 IHV 확장 DLL은 다음 지침을 따라야 합니다.

  • IHV 확장 DLL은 WLAN 어댑터에 할당된 모든 리소스를 해제해야 합니다. 특히 Dot11ExtAllocateBuffer 호출을 통해 할당된 모든 메모리는 Dot11ExtFreeBuffer 호출을 통해 해제되어야 합니다.

  • Dot11ExtIhvDeinitAdapter가 호출되면 운영 체제에서 WLAN 어댑터를 참조하는 데 사용하는 핸들이 더 이상 유효하지 않습니다. Dot11ExtIhvInitAdapter가 호출되면 운영 체제는 hDot11SvcHandle 매개 변수를 통해 IHV 확장 DLL에 핸들을 전달합니다.

    Dot11ExtIhvDeinitAdapter 함수를 호출하고 호출에서 반환한 후 DLL은 hDot11SvcHandle 매개 변수(예: Dot11ExtSendPacket)를 선언하는 IHV 확장성 함수를 호출할 때 핸들 값을 사용하지 않아야 합니다.

  • IHV 확장 DLL에 Dot11ExtIhvPerformPreAssociate IHV 처리기 함수 호출을 통해 시작된 보류 중인 사전 연결 작업이 있는 경우 운영 체제는 Dot11ExtIhvDeinitAdapter 함수 호출을 통해 작업이 취소된 것으로 간주합니다. 호출 내에서 DLL은 내부적으로 사전 연결 작업을 취소해야 하지만 Dot11ExtPreAssociateCompletion 을 호출하여 사전 연결 작업을 완료하면 안 됩니다.

    사전 연결 작업에 대한 자세한 내용은 사전 연결 작업을 참조하세요.

  • IHV 확장 DLL에 Dot11ExtIhvPerformPostAssociate IHV 처리기 함수를 호출하여 시작된 보류 중인 연결 후 작업이 있는 경우 운영 체제는 Dot11ExtIhvDeinitAdapter를 호출하기 전에 Dot11ExtIhvStopPostAssociate 함수를 호출하여 작업을 취소합니다.

    연결 후 작업에 대한 자세한 내용은 연결 후 작업을 참조하세요.

  • 운영 체제는 운영 체제가 DLL을 언로드하기 전에 IHV 확장 DLL에서 관리하는 모든 어댑터에 대해 Dot11ExtIhvDeinitAdapter 함수를 호출합니다. 이 경우 운영 체제는 Dot11ExtIhvDeinitAdapter 호출을 통해 마지막 WLAN 어댑터가 중지된 후 Dot11ExtIhvDeinitService IHV 처리기 함수를 호출합니다.

    이 작업에 대한 자세한 내용은 DLL 중지 작업을 참조하세요.