NPI_CLIENT_DETACH_PROVIDER_FN 콜백 함수(netioddk.h)
클라이언트 모듈의 ClientDetachProvider 콜백 함수는 공급자 모듈에서 클라이언트 모듈을 분리합니다.
구문
NPI_CLIENT_DETACH_PROVIDER_FN NpiClientDetachProviderFn;
NTSTATUS NpiClientDetachProviderFn(
[in] PVOID ClientBindingContext
)
{...}
매개 변수
[in] ClientBindingContext
클라이언트 모듈과 클라이언트 모듈이 분리되는 공급자 모듈 간의 바인딩에 대한 클라이언트 모듈의 컨텍스트에 대한 포인터입니다. 클라이언트 모듈은 NmrClientAttachProvider 함수를 호출하여 공급자 모듈에 연결할 때 이 포인터를 NMR에 전달합니다.
반환 값
클라이언트 모듈의 ClientDetachProvider 콜백 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
클라이언트 모듈이 공급자 모듈에서 분리되었습니다. |
|
클라이언트 모듈이 공급자 모듈에서 즉시 분리할 수 없습니다. |
설명
NMR은 클라이언트 모듈과 공급자 모듈 간의 바인딩을 종료해야 할 때마다 클라이언트 모듈의 ClientDetachProvider 콜백 함수를 호출합니다. 분리는 NmrDeregisterClient 함수를 호출하는 클라이언트 모듈 또는 NmrDeregisterProvider 함수를 호출하는 공급자 모듈에 의해 시작됩니다.
ClientDetachProvider 콜백 함수가 호출된 후 클라이언트 모듈은 공급자 모듈의 NPI 함수를 더 이상 호출하지 않아야 합니다. 클라이언트 모듈의 ClientDetachProvider 콜백 함수가 호출된 경우 공급자 모듈의 NPI 함수에 대한 진행 중인 호출이 없는 경우 클라이언트 모듈의 ClientDetachProvider 콜백 함수는 STATUS_SUCCESS 반환합니다.
클라이언트 모듈의 ClientDetachProvider 콜백 함수를 호출할 때 하나 이상의 공급자 모듈의 NPI 함수에 대한 진행 중인 호출이 있는 경우 클라이언트 모듈의 ClientDetachProvider 콜백 함수는 STATUS_PENDING 반환합니다. 이 경우 클라이언트 모듈은 다음을 호출해야 합니다.공급자 모듈의 NPI 함수에 대한 진행 중인 모든 호출이 완료된 후 NmrClientDetachProviderComplete 함수입니다. 에 대한 호출입니다. NmrClientDetachProviderComplete 함수는 공급자 모듈에서 분리가 완료되었다는 것을 NMR에 알릴 수 있습니다.
NMR은 클라이언트 모듈을 호출합니다. ClientCleanupBindingContext 콜백 함수 및 공급자 모듈의Client 모듈과 공급자 모듈이 서로 분리를 완료한 후 ProviderCleanupBindingContext 콜백 함수입니다.
NMR은 IRQL <= DISPATCH_LEVEL 클라이언트 모듈의 ClientDetachProvider 콜백 함수를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | Windows |
헤더 | netioddk.h(Wsk.h 포함) |
IRQL | <= DISPATCH_LEVEL |