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

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

설명

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

추가 정보

ClientCleanupBindingContext

NPI_CLIENT_CHARACTERISTICS

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrDeregisterClient

NmrDeregisterProvider

ProviderCleanupBindingContext