REG_CREATE_KEY_INFORMATION 구조체(wdm.h)

사용되지 않습니다. Windows 7부터 이 구조체의 V1 버전인 REG_CREATE_KEY_INFORMATION_V1 대신 사용합니다.

REG_CREATE_KEY_INFORMATION 구조에는 드라이버의 RegistryCallback 루틴이 만들어지는 레지스트리 키를 만들 때 사용할 수 있는 정보가 포함되어 있습니다.

구문

typedef struct _REG_CREATE_KEY_INFORMATION {
  PUNICODE_STRING CompleteName;
  PVOID           RootObject;
  PVOID           ObjectType;
  ULONG           CreateOptions;
  PUNICODE_STRING Class;
  PVOID           SecurityDescriptor;
  PVOID           SecurityQualityOfService;
  ACCESS_MASK     DesiredAccess;
  ACCESS_MASK     GrantedAccess;
  PULONG          Disposition;
  PVOID           *ResultObject;
  PVOID           CallContext;
  PVOID           RootObjectContext;
  PVOID           Transaction;
  PVOID           Reserved;
} REG_CREATE_KEY_INFORMATION, REG_OPEN_KEY_INFORMATION, *PREG_CREATE_KEY_INFORMATION, *PREG_OPEN_KEY_INFORMATION;

멤버

CompleteName

새 레지스트리 키의 경로를 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다. 절대 경로나 상대 경로일 수 있습니다. 경로가 절대 경로인 경우 이 구조체에는 "\" 문자로 시작하는 정규화된 경로가 포함됩니다. 절대 경로의 경우 RootObject 멤버는 레지스트리 트리의 루트 디렉터리인 \REGISTRY 키를 지정합니다. 경로가 상대 경로인 경우 경로는 "\"이 아닌 문자로 시작하고 RootObject 멤버에 의해 지정된 키를 기준으로 합니다.

RootObject

CompleteName 멤버가 지정한 경로의 루트 역할을 하는 레지스트리 키 개체에 대한 포인터입니다.

ObjectType

ObjectType 멤버는 내부 사용을 위해 예약되어 있습니다. 드라이버는 이 멤버에 액세스해서는 안됩니다.

CreateOptions

플래그의 비트 OR입니다. 이러한 플래그에 대한 자세한 내용은 ZwCreateKey 루틴의 CreateOptions 매개 변수를 참조하세요.

Class

키의 개체 클래스를 식별하는 UNICODE_STRING 구조체에 대한 포인터입니다. 이 멤버에 대한 자세한 내용은 ZwCreateKey 루틴의 Class 매개 변수를 참조하세요.

SecurityDescriptor

키 개체에 대한 보안 정보를 포함하는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다.

SecurityQualityOfService

Winnt.h에 정의된 SECURITY_QUALITY_OF_SERVICE 구조체에 대한 포인터입니다.

DesiredAccess

레지스트리 키를 만들려고 하는 스레드에서 지정한 액세스 마스크입니다.

GrantedAccess

레지스트리 키를 만들려고 하는 스레드에 부여된 액세스 권한을 나타내는 액세스 마스크입니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

Disposition

레지스트리 키가 만들어졌는지 여부를 나타내는 값입니다. 이 멤버에 대한 자세한 내용은 ZwCreateKey 루틴의 Disposition 매개 변수 및 다음 설명 섹션을 참조하세요.

ResultObject

만든 레지스트리 키를 나타내는 키 개체의 주소를 받는 위치에 대한 포인터입니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

CallContext

드라이버의 RegistryCallback 루틴에서 제공할 수 있는 선택적 드라이버 정의 컨텍스트 정보입니다.

RootObjectContext

CmSetCallbackObjectContext를 호출하여 드라이버가 레지스트리 개체의 경로 루트와 연결한 드라이버 정의 컨텍스트 정보에 대한 포인터입니다.

Transaction

작업이 시도되는 트랜잭션 개체에 대한 포인터입니다. 이 멤버가 NULL이면 비 트랜잭션 컨텍스트에서 작업이 수행됩니다.

Reserved

이 멤버가 1이면 이 구조를 추가 매개 변수를 포함하는 REG_CREATE_KEY_INFORMATION_V1 형식으로 캐스팅하는 것이 안전합니다.

설명

구성 관리자는 스레드가 키를 만들려고 할 때마다(예: 사용자 모드 스레드가 RegCreateKey 또는 RegCreateKeyEx를 호출하거나 드라이버가 ZwCreateKey를 호출할 때) RegistryCallback 루틴에 이 구조를 전달합니다.

드라이버의 RegistryCallback 루틴이 RegNtPreCreateKeyEx 알림에 대한 STATUS_CALLBACK_BYPASS 반환하는 경우 드라이버는 GrantedAccess, DispositionResultObject 값을 제공해야 합니다.

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

요구 사항

요구 사항
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)

추가 정보

REG_CREATE_KEY_INFORMATION_V1

REG_POST_OPERATION_INFORMATION

RegistryCallback

SECURITY_DESCRIPTOR

UNICODE_STRING

ZwCreateKey