ORCreateKey 함수
오프라인 레지스트리 하이브에 지정된 레지스트리 키를 만듭니다. 키가 이미 있는 경우 함수가 키를 엽니다.
구문
DWORD ORCreateKey(
_In_ ORHKEY Handle,
_In_ PCWSTR lpSubKey,
_In_opt_ PWSTR lpClass,
_In_opt_ DWORD dwOptions,
_In_opt_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
_Out_ PORHKEY phkResult,
_Out_opt_ PDWORD pdwDisposition
);
매개 변수
-
핸들 [in]
-
오프라인 레지스트리 하이브에서 열린 레지스트리 키에 대한 핸들입니다.
-
lpSubKey [in]
-
이 함수가 열거나 만드는 하위 키의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. lpSubKey 매개 변수는 Handle 매개 변수로 식별되는 키의 하위 키를 지정해야 합니다. 레지스트리 트리의 깊이는 최대 32개 수준일 수 있습니다. 키 이름에 대한 자세한 내용은 레지스트리 구조를 참조하세요.
이 매개 변수는 NULL일 수 없습니다.
키 이름은 대/소문자를 구분하지 않습니다.
-
lpClass [in, optional]
-
이 키의 클래스(개체 형식)입니다. 이 매개 변수는 무시될 수 있습니다. 이 매개 변수는 NULL일 수 있습니다.
-
dwOptions [in, optional]
-
이 매개 변수는 0 또는 다음 값 중 하나일 수 있습니다.
값 의미 - REG_OPTION_CREATE_LINK
- 0x00000002L
키는 기호 링크입니다. 대상 경로는 키의 L"SymbolicLinkValue" 값에 할당됩니다. 대상 경로는 절대 레지스트리 경로여야 합니다. 이 옵션을 설정하면 REG_OPTION_NON_VOLATILE 설정해야 합니다.
lpSubKey 매개 변수가 기존 키를 지정하는 경우 REG_OPTION_CREATE_LINK 사용하여 만들어야 합니다.
레지스트리 기호 링크는 애플리케이션 호환성을 위해 절대적으로 필요한 경우에만 사용해야 합니다.- REG_OPTION_NON_VOLATILE
- 0x00000000L
키가 휘발성이 아닙니다. 기본값입니다. 정보는 파일에 저장되며 시스템을 다시 시작할 때 유지됩니다. ORSaveHive 함수는 휘발성이 아닌 키를 저장합니다. -
pSecurityDescriptor [in, optional]
-
새 키에 대한 보안 설명자를 포함하는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다. pSecurityDescriptor가 NULL인 경우 키는 기본 보안 설명자를 가져옵니다. 키에 대한 기본 보안 설명자의 ACL은 직접 부모 키에서 상속됩니다.
-
phkResult [out]
-
열려 있거나 만든 키에 대한 핸들을 수신하는 변수에 대한 포인터입니다. ORCloseKey 함수를 사용하여 핸들 사용을 완료한 후 키를 닫습니다.
-
pdwDisposition [out, optional]
-
다음 처리 값 중 하나를 수신하는 변수에 대한 포인터입니다.
값 의미 - REG_CREATED_NEW_KEY
- 0x00000001L
키가 존재하지 않고 만들어졌습니다. - REG_OPENED_EXISTING_KEY
- 0x00000002L
키가 존재했고 변경되지 않고 단순히 열렸습니다. pdwDisposition이 NULL이면 처리 정보가 반환되지 않습니다.
반환 값
함수가 성공하면 반환 값이 ERROR_SUCCESS.
함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.
dwOptions 매개 변수가 REG_OPTION_CREATE_LINK 사용하여 설정되었지만 REG_OPTION_NON_VOLATILE 명확하거나 반환할 핸들이 하이브의 루트 키에 대한 핸들이면 함수는 ERROR_INVALID_PARAMETER 반환합니다.
설명
ORCreateKey 함수가 만드는 키에는 값이 없습니다. 애플리케이션은 ORSetValue 함수를 사용하여 키 값을 설정할 수 있습니다.
ORCreateKey 함수는 오프라인 레지스트리 하이브에서 루트 키를 만드는 데 사용할 수 없습니다. ORCreateHive 함수를 사용하여 루트 키를 만들고 키에 대한 핸들을 가져옵니다.
오프라인 레지스트리는 개별 키 저장을 지원하지 않습니다. ORSaveHive 함수를 사용하여 키와 해당 하위 키를 하이브에 저장합니다.
요구 사항
요구 사항 | 값 |
---|---|
재배포 가능 파일 |
Windows 오프라인 레지스트리 라이브러리 버전 1.0 이상 |
헤더 |
|
DLL |
|
추가 정보