NmrDeregisterProvider 함수(netioddk.h)

NmrDeregisterProvider 함수는 NMR에서 공급자 모듈을 등록 취소합니다.

구문

NTSTATUS NmrDeregisterProvider(
  [in] HANDLE NmrProviderHandle
);

매개 변수

[in] NmrProviderHandle

NMR에서 공급자 모듈의 등록을 나타내는 데 사용하는 핸들입니다. 공급자 모듈이 NmrRegisterProvider 함수를 호출할 때 NMR은 이 핸들을 공급자 모듈에 반환합니다.

반환 값

NmrDeregisterProvider 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_PENDING
NMR은 공급자 모듈의 등록 취소를 시작했습니다. 공급자 모듈은 다음을 호출해야 합니다. NmrWaitForProviderDeregisterComplete 함수는 공급자 모듈을 언로드하기 전에 등록 취소가 완료될 때까지 기다립니다.
기타 상태 코드
오류가 발생했습니다.

설명

공급자 모듈이 NmrDeregisterProvider 함수를 호출하면 NMR은 공급자 모듈의 ProviderDetachClient 콜백 함수와 공급자 모듈과 클라이언트 모듈 간의 각 바인딩에 대해 클라이언트 모듈의 ClientDetachProvider 콜백 함수를 호출합니다. NMR에서 공급자 모듈의 등록 취소는 공급자 모듈이 연결된 모든 클라이언트 모듈에서 성공적으로 분리되고 이러한 모든 클라이언트 모듈이 공급자 모듈에서 성공적으로 분리된 후에 완료됩니다.

공급자 모듈은 일반적으로 Unload 함수에서 NmrDeregisterProvider 함수를 호출하여 공급자 모듈이 시스템에서 언로드되기 전에 연결된 모든 클라이언트 모듈에서 자신을 분리합니다. NmrDeregisterProvider 함수를 호출한 후 공급자 모듈은 다음을 호출해야 합니다. NmrWaitForProviderDeregisterComplete 함수는 공급자 모듈을 언로드하기 전에 등록 취소가 완료될 때까지 기다립니다. 공급자 모듈은 등록 취소가 완료될 때까지 Unload 함수에 대한 호출에서 반환해서는 안 됩니다.

참고 공급자 모듈이 Windows 드라이버 프레임워크를 사용하는 경우 일반적으로 를 호출합니다. EvtDriverUnload 이벤트 콜백 함수의 NmrDeregisterProvider 함수입니다. 이 경우 공급자 모듈은 등록 취소가 완료될 때까지 EvtDriverUnload 함수에 대한 호출에서 반환하지 않아야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 netioddk.h(Wsk.h 포함)
라이브러리 Netio.lib
IRQL <= DISPATCH_LEVEL

추가 정보

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

언로드