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 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
공급자 모듈이 클라이언트 모듈에서 분리되었습니다.
STATUS_PENDING
공급자 모듈이 클라이언트 모듈에서 즉시 분리할 수 없습니다.

설명

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

추가 정보

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext