RegLoadAppKeyA 함수(winreg.h)

지정된 레지스트리 하이브를 애플리케이션 하이브로 로드합니다.

구문

LSTATUS RegLoadAppKeyA(
  [in]  LPCSTR lpFile,
  [out] PHKEY  phkResult,
  [in]  REGSAM samDesired,
  [in]  DWORD  dwOptions,
        DWORD  Reserved
);

매개 변수

[in] lpFile

hive 파일의 이름입니다. 이 하이브는 RegSaveKey 또는 RegSaveKeyEx 함수를 사용하여 만들어졌어야 합니다. 파일이 없으면 지정된 이름으로 빈 하이브 파일이 만들어집니다.

[out] phkResult

로드된 하이브의 루트 키에 대한 핸들에 대한 포인터입니다.

하이브의 키에 액세스하는 유일한 방법은 이 핸들을 통해서입니다. 레지스트리는 애플리케이션이 키에 대한 절대 경로를 사용하여 이 하이브의 키에 액세스하는 것을 방지합니다. 따라서 레지스트리의 네임스페이스를 통해 이 하이브로 이동할 수 없습니다.

[in] samDesired

반환된 루트 키에 대해 요청된 액세스 권한을 지정하는 마스크입니다. 자세한 내용은 레지스트리 키 보안 및 액세스 권한을 참조하세요.

[in] dwOptions

이 매개 변수가 REG_PROCESS_APPKEY 호출자가 로드하는 동안 하이브를 다시 로드할 수 없습니다. 이렇게 하면 다른 호출자가 이 레지스트리 하이브에 액세스할 수 없습니다.

Reserved

이 매개 변수는 예약되어 있습니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.

설명

RegLoadKey와 달리 RegLoadAppKey는 HKEY_LOCAL_MACHINE 또는 HKEY_USERS 하이브를 로드하지 않습니다. 대신 하이브는 열거할 수 없는 특수 루트 아래에 로드됩니다. 따라서 현재 RegLoadAppKey에 의해 로드된 하이브를 열거할 수 있는 방법은 없습니다. RegLoadAppKey에 의해 로드된 하이브에 대한 모든 작업은 phkResult에서 반환된 핸들을 기준으로 수행해야 합니다.

동일한 하이브에서 작업을 수행하는 데 두 프로세스가 필요한 경우 각 프로세스는 RegLoadAppKey 를 호출하여 핸들을 검색해야 합니다. RegLoadAppKey 작업 중에 레지스트리는 파일이 이미 로드되었는지 확인합니다. 로드된 경우 레지스트리는 하이브를 다시 로드하는 대신 이전에 로드한 하이브에 대한 핸들을 반환합니다.

하이브 내의 모든 키에는 동일한 보안 설명자가 있어야 합니다. 그렇지 않으면 함수가 실패합니다. 이 보안 설명자는 호출자에게 samDesired 매개 변수로 지정된 액세스 권한을 부여해야 합니다. 그렇지 않으면 함수가 실패합니다. Hive 내의 키에는 RegSetKeySecurity 함수를 사용할 수 없습니다.

Windows 8 이상에서 각 프로세스는 RegLoadAppKey를 호출하여 여러 하이브를 로드할 수 있습니다. Windows 7 이하에서는 각 프로세스에서 RegLoadAppKey 를 사용하여 한 번에 하나의 하이브만 로드할 수 있습니다.

RegLoadAppKey를 사용하여 로드된 모든 하이브는 RegCloseKey를 사용하여 하이브 내의 키에 대한 모든 핸들이 닫히면 자동으로 언로드됩니다.

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

참고

winreg.h 헤더는 REgLoadAppKey를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winreg.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

RegSaveKey

레지스트리 함수

레지스트리 하이브