NdisDeregisterProtocol 함수(ndis.h)

참고 NDIS 5. x 는 더 이상 사용되지 않으며 NDIS 6으로 대체됩니다. x. 새로운 NDIS 드라이버 개발은 Windows Vista부터 시작하는 네트워크 드라이버를 참조하세요. NDIS 5 포팅에 대한 자세한 내용입니다. x 드라이버를 NDIS 6에 연결합니다. x, NDIS 5.x 드라이버를 NDIS 6.0으로 포팅을 참조하세요.

NdisDeregisterProtocol 은 드라이버가 NdisRegisterProtocol이라고 할 때 할당된 리소스를 해제합니다.

구문

void NdisDeregisterProtocol(
  [out] PNDIS_STATUS Status,
  [in]  NDIS_HANDLE  NdisProtocolHandle
);

매개 변수

[out] Status

이 함수에서 반환할 때 NDIS_STATUS_SUCCESS 로 설정된 호출자 제공 변수에 대한 포인터입니다.

[in] NdisProtocolHandle

드라이버가 초기화될 때 NdisRegisterProtocol 에서 반환되는 핸들을 지정합니다.

반환 값

없음

설명

등록된 프로토콜 드라이버는 다음과 같은 상황에서 NdisDeregisterProtocol 을 호출합니다.

  • 드라이버는 이미 NdisRegisterProtocol 을 성공적으로 호출했지만 컴퓨터의 기본 NDIS 드라이버에 바인딩할 수 없습니다.

  • 드라이버가 언로드되고 있습니다. 즉, 초기화 중에 드라이버 개체에 설정된 Unload 루틴이 호출되었거나 드라이버의 마지막 남은 바인딩을 해제하기 위해 ProtocolUnbindAdapter 함수가 호출되었습니다.

    언로드 루틴 및 기타 표준 커널 모드 드라이버 루틴에 대한 자세한 내용은 커널 모드 드라이버 구성 요소를 참조하세요.

  • 시스템이 종료되고 있습니다. 초기화할 때 IoRegisterShutdownNotification 이라고 하는 최상위 프로토콜인 드라이버가 종료 루틴이 호출되었기 때문입니다.

    자세한 내용은 IoRegisterShutdownNotification 을 참조하세요.

프로토콜에 열려 있는 바인딩이 있는 경우 NdisDeregisterProtocol 을 호출하면 NDIS가 열린 각 바인딩에 대해 프로토콜의 ProtocolUnbindAdapter 함수를 한 번 호출합니다. ProtocolUnbindAdapter는NdisCloseAdapter 를 호출하여 바인딩을 닫습니다.

미해결이 열리면 NdisDeregisterProtocol 은 호출자가 설정한 모든 필터를 해제하고 프로토콜 드라이버에 대한 바인딩 및 필터를 추적하기 위해 할당된 메모리 NDIS를 해제합니다.

  • 대상 플랫폼: 유니버설
  • 버전: Windows Vista의 NDIS 6.0 드라이버에는 지원되지 않습니다. 대신 NdisDeregisterProtocolDriver를 사용합니다. Windows Vista 및 Windows XP에서 NDIS 5.1 드라이버에 대해 지원됩니다.

요구 사항

요구 사항
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL

추가 정보