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 |