CmCallbackGetKeyObjectID 함수(wdm.h)
CmCallbackGetKeyObjectID 루틴은 지정된 레지스트리 키 개체와 연결된 고유 식별자 및 개체 이름을 검색합니다.
Windows 8부터 레지스트리 필터 드라이버는 CmCallbackGetKeyObjectID대신 CmCallbackGetKeyObjectIDEx 루틴을 호출해야 합니다. 자세한 내용은 아래의 설명 섹션을 참조하세요.
NTSTATUS CmCallbackGetKeyObjectID(
[in] PLARGE_INTEGER Cookie,
[in] PVOID Object,
[out, optional] PULONG_PTR ObjectID,
[out, optional] PCUNICODE_STRING *ObjectName
);
[in] Cookie
CmRegisterCallback 호출하거나 cmRegisterCallbackEx 루틴을 드라이버가 이전에 가져온 쿠키 값입니다.
[in] Object
드라이버의 RegistryCallback이 REG_XXX_KEY_INFORMATION 구조 중 하나의 Object 멤버에서 수신한 콜백 루틴을 포인터 값입니다.
경고
특정 상황에서 레지스트리 콜백 알림 구조에는 잘못된 NULL이 아닌 개체 포인터가 포함될 수 있습니다. 레지스트리 필터링 드라이버는 이러한 포인터를 이 루틴에 전달해서는 안 됩니다. 자세한 내용은 레지스트리 알림 잘못된 키 개체 포인터참조하세요.
[out, optional] ObjectID
Object 지정하는 레지스트리 키를 나타내는 고유 식별자에 대한 포인터를 받는 위치에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
[out, optional] ObjectName
UNICODE_STRING 구조체에 대한 포인터를 받는 위치에 대한 포인터입니다. 이 구조체에는 Object 지정하는 레지스트리 키 개체의 개체 이름이 포함됩니다. 개체 이름은 실제로 개체가 나타내는 레지스트리 키의 전체 경로 이름입니다. 호출자는 이 UNICODE_STRING 구조에 쓰거나 해제해서는 안 됩니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
CmCallbackGetKeyObjectID 작업이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 묘사 |
---|---|
STATUS_INVALID_PARAMETER | Cookie 또는 Object 매개 변수가 잘못되었습니다. |
CmCallbackGetKeyObjectID 루틴은 Windows Vista부터 사용할 수 있습니다. CmCallbackGetKeyObjectIDEx 이 루틴의 향상된 버전은 Windows 8부터 사용할 수 있습니다. Windows 8 이상 버전에서만 실행되는 드라이버는 CmCallbackGetKeyObjectID대신 CmCallbackGetKeyObjectIDEx 호출해야 합니다.
드라이버는 CmCallbackGetKeyObjectID 사용하여 ObjectID 또는 ObjectName 매개 변수에NULL 값을 제공하여 레지스트리 키 식별자, 개체 이름 또는 둘 다를 가져올 수 있습니다.
드라이버가 식별자 또는 이름을 가져온 후에는 드라이버의 RegistryCallback 루틴이 핸들 닫기의 사전 알림을 받을 때까지 식별자 또는 이름이 유효합니다.
드라이버는 개체 이름을 수정하면 안됩니다.
두 레지스트리 키 개체가 동일한 레지스트리 키를 나타내는 경우 두 개체의 키 식별자는 동일합니다.
CmCallbackGetKeyObjectID 및 레지스트리 필터링 작업에 대한 자세한 내용은 레지스트리 호출 필터링참조하세요.
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |