NDIS는 프로토콜 드라이버의 ProtocolUnbindAdapterEx 함수를 호출하여 드라이버가 기본 어댑터에서 바인딩 해제되도록 요청합니다. ProtocolBindAdapterEx상호로서 NDIS는 ProtocolUnbindAdapterEx 호출하여 어댑터에 대한 바인딩을 닫고 드라이버가 바인딩에 할당한 리소스를 해제합니다.
ProtocolUnbindAdapterEx 프로토콜 드라이버는 NdisCloseAdapterEx를 호출하여 기본 어댑터에 대한 바인딩을 닫습니다. 프로토콜 드라이버는 NdisBindingHandle 매개 변수에서 NdisOpenAdapterEx가 제공한 핸들을 NdisCloseAdapterEx에 전달합니다. 이 핸들은 NDIS가 닫아야 하는 바인딩을 식별합니다.
프로토콜 드라이버는 ProtocolBindAdapterEx 함수 또는 ProtocolUnbindAdapterEx 함수에서 어댑터를 닫아야 합니다.
프로토콜 드라이버가 바인딩을 닫기 위한 작업을 시작해야 하는 경우 드라이버는 NdisUnbindAdapter호출할 수 있습니다. NdisUnbindAdapter에서 작업 항목을 예약하여 ProtocolUnbindAdapterEx에 대한 NDIS 호출을 발생시킵니다. 이 작업 항목은 NdisUnbindAdapter 호출이 반환되기 전에 실행할 수 있습니다. 따라서 드라이버 작성자는 NdisUnbindAdapter이 반환된 후에는 바인딩 핸들이 유효하지 않다고 가정해야 합니다.
프로토콜 드라이버가 ProtocolUnbindAdapterEx에서 NDIS_STATUS_PENDING을 반환하는 경우, 최종 상태로 NdisCompleteUnbindAdapterEx 를 호출하여 바인딩 요청을 완료해야 합니다.
NDIS는 NdisCloseAdapterEx에서 NDIS_STATUS_PENDING를 반환하는 경우, 나중에 프로토콜 드라이버의 ProtocolCloseAdapterCompleteEx 함수를 호출합니다.
바인딩이 일시 중지된 상태인 경우 NDIS는 ProtocolUnbindAdapterEx 호출할 수 있습니다.
모든 언바인드 작업이 완료되면, 바인딩은 언바인드 상태가 됩니다.