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
구성 관리자가 RegistryCallback 루틴에 CallbackContext 매개 변수로 전달할 드라이버 정의 값입니다.
[out] Cookie
콜백 루틴을 식별하는 값을 받는 LARGE_INTEGER 변수에 대한 포인터입니다. 콜백 루틴을 등록 취소할 때 이 값을 Cookie 매개 변수로 전달하여 cmUnRegisterCallback .
Reserved
이 매개 변수는 나중에 사용하도록 예약되어 있습니다.
반환 값
CmRegisterCallbackEx 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 루틴은 다음 NTSTATUS 값 중 하나를 반환할 수 있습니다.
| 반환 코드 | 묘사 |
|---|---|
|
호출 드라이버 또는 다른 드라이버가 지정된 고도에 대한 RegistryCallback 루틴을 이미 등록했습니다. |
|
메모리 할당 시도가 실패했습니다. |
발언
CmRegisterCallbackEx 루틴은 Windows Vista부터 사용할 수 있습니다.
드라이버는 CmRegisterCallback 또는 CmRegisterCallbackEx 호출하여 스레드가 레지스트리에서 작업을 수행할 때마다 호출되는 RegistryCallback 루틴을 등록할 수 있습니다.
고도 매개 변수는 미니 필터가 로드될 때 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) |