CmRegisterCallbackEx 함수(wdm.h)

CmRegisterCallbackEx 루틴은 RegistryCallback 루틴을 등록합니다.

구문

NTSTATUS CmRegisterCallbackEx(
  [in]           PEX_CALLBACK_FUNCTION Function,
  [in]           PCUNICODE_STRING      Altitude,
  [in]           PVOID                 Driver,
  [in, optional] PVOID                 Context,
  [out]          PLARGE_INTEGER        Cookie,
                 PVOID                 Reserved
);

매개 변수

[in] Function

등록할 RegistryCallback 루틴에 대한 포인터입니다.

[in] Altitude

UNICODE_STRING 구조체에 대한 포인터입니다. 이 구조체는 호출하는 미니필터 드라이버고도를 나타내는 문자열을 포함해야 합니다. 자세한 내용은 설명 부분을 참조하세요.

[in] Driver

드라이버를 나타내는 DRIVER_OBJECT 구조체에 대한 포인터입니다.

[in, optional] Context

Configuration Manager가 RegistryCallback 루틴에 CallbackContext 매개 변수로 전달할 드라이버 정의 값입니다.

[out] Cookie

콜백 루틴을 식별하는 값을 수신하는 LARGE_INTEGER 변수에 대한 포인터입니다. 콜백 루틴을 등록 취소할 때 이 값을 Cookie 매개 변수로 CmUnRegisterCallback에 전달합니다.

Reserved

이 매개 변수는 나중에 사용하도록 예약되어 있습니다.

반환 값

CmRegisterCallbackEx 는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 루틴은 다음 NTSTATUS 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
호출 드라이버 또는 다른 드라이버가 지정된 고도에 대한 RegistryCallback 루틴을 이미 등록했습니다.
STATUS_INSUFFICIENT_RESOURCES
메모리를 할당하지 못했습니다.

설명

CmRegisterCallbackEx 루틴은 Windows Vista부터 사용할 수 있습니다.

드라이버는 CmRegisterCallback 또는 CmRegisterCallbackEx 를 호출하여 레지스트리에 대한 작업을 수행할 때마다 호출되는 RegistryCallback 루틴을 등록할 수 있습니다.

Altitude 매개 변수는 미니필터가 로드될 때 I/O 스택의 다른 미니 필터를 기준으로 미니필터 드라이버의 위치를 정의합니다. 미니필터에 대한 고도 할당은 Microsoft에서 관리합니다. 고도에 대한 자세한 내용은 미니필터 드라이버에 대한 부하 주문 그룹 및 고도를 참조하세요.

CmUnRegisterCallback을 호출하여 CmRegisterCallbackEx가 등록한 콜백 루틴의 등록을 취소합니다.

CmRegisterCallbackEx 및 레지스트리 작업 필터링에 대한 자세한 내용은 레지스트리 호출 필터링을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlExApcLte2(wdm)

추가 정보

CmRegisterCallback

CmUnRegisterCallback

DRIVER_OBJECT

RegistryCallback

UNICODE_STRING