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