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 호출자가 로드하는 동안에는 hive를 다시 로드할 수 없습니다. 이렇게 하면 다른 호출자가 이 레지스트리 하이브에 액세스할 수 없습니다.
Reserved
이 매개 변수는 예약되어 있습니다.
반환 값
함수가 성공하면 반환 값이 ERROR_SUCCESS.
함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.
발언
RegLoadKey달리 RegLoadAppKey HKEY_LOCAL_MACHINE 또는 HKEY_USERS 하이브를 로드하지 않습니다. 대신 하이브는 열거할 수 없는 특수 루트 아래에 로드됩니다. 따라서 RegLoadAppKey현재 로드된 하이브를 열거할 수 있는 방법은 없습니다.
동일한 하이브에서 작업을 수행하는 데 두 프로세스가 필요한 경우 각 프로세스는 RegLoadAppKey 호출하여 핸들을 검색해야 합니다. RegLoadAppKey 작업 중에 레지스트리는 파일이 이미 로드되었는지 확인합니다. 로드된 경우 레지스트리는 하이브를 다시 로드하는 대신 이전에 로드된 하이브에 대한 핸들을 반환합니다.
Hive 내의 모든 키에는 동일한 보안 설명자가 있어야 합니다. 그렇지 않으면 함수가 실패합니다. 이 보안 설명자는 samDesired 매개 변수를
Windows 8 이상에서는 각 프로세스가 RegLoadAppKey 호출하여 여러 하이브를 로드할 수 있습니다. Windows 7 이전 버전에서는 각 프로세스에서 RegLoadAppKey 사용하여 한 번에 하나의 hive만 로드할 수 있습니다.
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 |