CmCallbackGetKeyObjectID 함수(wdm.h)

CmCallbackGetKeyObjectID 루틴은 지정된 레지스트리 키 개체와 연결된 고유 식별자 및 개체 이름을 검색합니다.

Windows 8 레지스트리 필터 드라이버는 CmCallbackGetKeyObjectID 대신 CmCallbackGetKeyObjectID 루틴을 호출해야 합니다. 자세한 내용은 아래 설명 섹션을 참조하세요.

구문

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

REG_XXX_KEY_INFORMATION 구조체 중 하나의 Object 멤버에서 드라이버의 RegistryCallback 콜백 루틴이 받은 포인터 값입니다.

경고

특정 상황에서 레지스트리 콜백 알림 구조에는 잘못된 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 이상 버전의 Windows에서만 실행되는 드라이버는 CmCallbackGetKeyObjectID 대신 CmCallbackGetKeyObjectIDEx를 호출해야 합니다.

드라이버는 CmCallbackGetKeyObjectID를 사용하여 ObjectID 또는 ObjectName 매개 변수에 NULL이 아닌 값을 제공하여 레지스트리 키 식별자, 개체 이름 또는 둘 다를 가져올 수 있습니다.

드라이버가 식별자 또는 이름을 가져온 후에는 드라이버의 RegistryCallback 루틴이 핸들 닫기의 사전 알림을 받을 때까지 식별자 또는 이름이 유효합니다.

드라이버는 개체 이름을 수정하면 안됩니다.

두 레지스트리 키 개체가 동일한 레지스트리 키를 나타내는 경우 두 개체의 키 식별자는 동일합니다.

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

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

추가 정보

CmCallbackGetKeyObjectIDEx

CmRegisterCallback

CmRegisterCallbackEx

RegistryCallback

UNICODE_STRING