다음을 통해 공유


NmrRegisterProvider 함수(netioddk.h)

NmrRegisterProvider 함수는 공급자 모듈을 NMR에 등록합니다.

통사론

NTSTATUS NmrRegisterProvider(
  [in]  PNPI_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in]  __drv_aliasesMem PVOID        ProviderContext,
  [out] PHANDLE                       NmrProviderHandle
);

매개 변수

[in] ProviderCharacteristics

에 대한 포인터 공급자 모듈의 특성을 설명하는 NPI_PROVIDER_CHARACTERISTICS 구조체입니다. 공급자 모듈은 공급자 모듈이 NMR에 등록된 한 이 구조가 유효하고 메모리에 상주하는지 확인해야 합니다.

[in] ProviderContext

등록을 위해 호출자가 제공한 컨텍스트에 대한 포인터입니다. 공급자 모듈은 이 컨텍스트를 사용하여 공급자 등록 상태를 추적합니다. 공급자 모듈의 등록 컨텍스트의 내용은 NMR에 불투명합니다. NMR은 공급자 모듈의 ProviderAttachClient 콜백 함수를 호출할 때마다 공급자 모듈에 이 포인터를 전달합니다. 공급자 모듈은 공급자 모듈이 NMR에 등록된 한 이 컨텍스트가 유효하고 메모리에 상주하는지 확인해야 합니다.

[out] NmrProviderHandle

공급자 모듈의 등록을 나타내기 위해 NMR에서 사용하는 핸들을 수신하는 변수에 대한 포인터입니다. 공급자 모듈은 이 핸들을 저장하고 NMR에서 등록을 취소할 때 NmrDeregisterProvider 함수에 매개 변수로 전달해야 합니다.

반환 값

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

반환 코드 묘사
STATUS_SUCCESS
NMR이 공급자 모듈을 성공적으로 등록했습니다.
STATUS_INSUFFICIENT_RESOURCES
NMR에 공급자 모듈을 등록하기에 충분한 시스템 리소스가 없습니다.
기타 상태 코드
오류가 발생했습니다.

발언

공급자 모듈은 NmrRegisterProvider 함수를 호출하여 동일한 NPI의 클라이언트로 등록하는 클라이언트 모듈에 연결할 수 있도록 NPI 공급자로 등록합니다.

공급자 모듈은 일반적으로 다른 모든 초기화 작업을 완료한 후 DriverEntry 함수에서 NmrRegisterProvider 함수를 호출합니다. NmrRegisterProvider 함수에 대한 호출은 공급자 모듈이 공급자로 등록된 클라이언트 모듈에 연결할 준비가 되었거나 공급자 모듈이 공급자로 등록된 동일한 NPI 클라이언트로 등록할 준비가 되었음을 NMR에 나타냅니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 바탕 화면
헤더 netioddk.h(Wsk.h 포함)
라이브러리 Netio.lib
IRQL PASSIVE_LEVEL

참고 항목

DriverEntry

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterProvider