다음을 통해 공유


어댑터에서 바인딩 해제

NDIS는 프로토콜 드라이버의 ProtocolUnbindAdapterEx 함수를 호출하여 드라이버가 기본 어댑터에서 바인딩 해제되도록 요청합니다. ProtocolBindAdapterEx의 상호로서 NDIS는 ProtocolUnbindAdapterEx를 호출하여 어댑터에 대한 바인딩을 닫고 드라이버가 바인딩에 할당한 리소스를 해제합니다.

ProtocolUnbindAdapterEx에서 프로토콜 드라이버는 NdisCloseAdapterEx를 호출하여 기본 어댑터에 대한 바인딩을 닫습니다. 프로토콜 드라이버는 NdisCloseAdapterExNdisBindingHandle 매개 변수에서 제공한 NdisOpenAdapterEx 핸들을 전달합니다. 이 핸들은 NDIS가 닫아야 하는 바인딩을 식별합니다.

프로토콜 드라이버는 ProtocolBindAdapterEx 함수 또는 ProtocolUnbindAdapterEx 함수에서 어댑터를 닫아야 합니다.

프로토콜 드라이버가 바인딩을 닫기 위한 작업을 시작해야 하는 경우 드라이버는 NdisUnbindAdapter를 호출할 수 있습니다. NdisUnbindAdapterProtocolUnbindAdapterEx에 대한 NDIS 호출을 생성하는 작업 항목을 예약합니다. 이 작업 항목은 NdisUnbindAdapter 호출이 반환되기 전에 실행할 수 있습니다. 따라서 드라이버 작성기는 NdisUnbindAdapter 가 반환된 후 바인딩 핸들이 유효하지 않다고 가정해야 합니다.

프로토콜 드라이버가 ProtocolUnbindAdapterEx에서 NDIS_STATUS_PENDING 반환하는 경우 최종 상태 NdisCompleteUnbindAdapterEx를 호출하여 바인딩 요청을 완료해야 합니다.

NDIS가 NdisCloseAdapterEx에서 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 나중에 프로토콜 드라이버의 ProtocolCloseAdapterCompleteEx 함수를 호출합니다.

바인딩이 일시 중지됨 상태인 경우 NDIS는 ProtocolUnbindAdapterEx 를 호출할 수 있습니다.

바인딩되지 않은 모든 작업이 완료되면 바인딩이 언바운드 상태가 됩니다.