ClusterRegCreateKey 함수(clusapi.h)

지정된 클러스터 데이터베이스 키를 만듭니다. 키가 데이터베이스에 이미 있는 경우 ClusterRegCreateKey 는 변경하지 않고 엽니다.

구문

LONG ClusterRegCreateKey(
  [in]            HKEY                  hKey,
  [in]            LPCWSTR               lpszSubKey,
  [in]            DWORD                 dwOptions,
  [in]            REGSAM                samDesired,
  [in, optional]  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [out]           PHKEY                 phkResult,
  [out, optional] LPDWORD               lpdwDisposition
);

매개 변수

[in] hKey

열린 클러스터 데이터베이스 키에 대한 핸들입니다. 이 매개 변수는 NULL일 수 없습니다.

[in] lpszSubKey

만들거나 열 하위 키의 이름을 지정하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. lpszSubKey 매개 변수는 다음 하위 키를 가리킵니다.

  • hKey로 식별되는 키의 자식 키입니다.
  • 백슬래시 문자( \ )로 시작해서는 안 됩니다.
  • NULL이 아니어야 합니다.
lpszSubKey 매개 변수는 빈 문자열을 가리킬 수 있으므로 ClusterRegCreateKeyhKey로 표시되는 데이터베이스 키에 대한 핸들을 반환합니다.

[in] dwOptions

이 키에 대한 특수 옵션을 지정합니다. 현재 dwOptions는 다음 값으로 설정할 수 있습니다.

REG_OPTION_NON_VOLATILE(0x00000000)

열거나 만든 키가 휘발성이 아닙니다. 시스템이 다시 시작될 때 정보가 유지됩니다.

[in] samDesired

새 키에 필요한 보안 액세스를 지정하는 액세스 마스크입니다. 다음 값은 유효합니다.

자세한 내용은 레지스트리 키 보안 및 액세스 권한을 참조하세요.

ACCESS_SYSTEM_SECURITY(0x01000000)

시스템 보안에 액세스할 수 있는 권한입니다. SACL( 시스템 액세스 제어 목록)에 대한 액세스를 나타내는 데 사용됩니다. 이 유형의 액세스를 사용하려면 호출 프로세스에 SE_SECURITY_NAME (감사 및 보안 로그 관리) 권한이 있어야 합니다.

DELETE(0x00010000)

삭제할 수 있는 권한입니다.

KEY_ALL_ACCESS(0x000F003F)

KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINKKEY_SET_VALUE 액세스의 조합입니다.

기호 링크를 만들 수 있는 권한입니다.

KEY_ENUMERATE_SUB_KEYS(0x00000008)

하위 키를 열거할 수 있는 권한입니다.

KEY_EXECUTE(0x00020019)

읽기 액세스 권한.

KEY_NOTIFY(0x00000010)

변경 알림에 대한 권한입니다.

KEY_QUERY_VALUE(0x00000001)

하위 키 데이터를 쿼리할 수 있는 권한입니다.

KEY_READ(0x00020019)

KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYSKEY_NOTIFY 액세스의 조합입니다.

KEY_SET_VALUE(0x00000002)

하위 키 데이터를 변경할 수 있는 권한입니다.

KEY_WRITE(0x00020006)

KEY_SET_VALUEKEY_CREATE_SUB_KEY 액세스의 조합입니다.

READ_CONTROL(0x00020000)

보안 설명자의 소유자, 그룹 및 DACL( 임의 액세스 제어 목록 )을 읽을 수 있는 권한입니다.

WRITE_DAC(0x00040000)

DACL에 쓸 수 있는 권한입니다.

WRITE_OWNER(0x00080000)

소유자를 변경할 수 있는 권한입니다.

[in, optional] lpSecurityAttributes

이 매개 변수는 무시됩니다. 새 레지스트리 키에서 보안 특성을 설정하려면 ClusterRegCreateKey가 성공적으로 반환된 후 ClusterRegSetKeySecurity 함수를 호출합니다.

[out] phkResult

열거나 만든 키의 핸들에 대한 포인터입니다.

[out, optional] lpdwDisposition

lpszSubKey가 가리키는 키를 열거나 만들었는지 여부를 설명하는 값에 대한 포인터입니다. 다음 값은 유효합니다.

REG_CREATED_NEW_KEY(0x00000001)

키가 존재하지 않고 만들어졌습니다.

REG_OPENED_EXISTING_KEY(0x00000002)

키가 존재하고 열렸습니다.

반환 값

작업이 성공하면 함수는 ERROR_SUCCESS 반환합니다.

작업이 실패하면 함수는 시스템 오류 코드를 반환합니다.

설명

호출자는 ClusterRegCloseKey 를 호출하여 ClusterRegCreateKey 함수에서 만든 키 핸들을 닫아야 합니다.

다음 리소스 DLL 진입점 함수에서 ClusterRegCreateKey 를 호출하지 마세요.

ClusterRegCreateKey 는 다른 리소스 DLL 진입점 함수 또는 작업자 스레드에서 안전하게 호출할 수 있습니다. 자세한 내용은 리소스 DLL에서 피해야 할 함수 호출을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
대상 플랫폼 Windows
헤더 clusapi.h
라이브러리 ClusAPI.lib
DLL ClusAPI.dll

추가 정보

클러스터 레지스트리 액세스 함수

ClusterRegCloseKey

ClusterRegDeleteKey

ClusterRegOpenKey