Share via


RegOpenKeyW 함수(winreg.h)

지정된 레지스트리 키를 엽니다.

참고 이 함수는 16비트 버전의 Windows와의 호환성을 위해서만 제공됩니다. 애플리케이션은 RegOpenKeyEx 함수를 사용해야 합니다.
 

구문

LSTATUS RegOpenKeyW(
  [in]           HKEY    hKey,
  [in, optional] LPCWSTR lpSubKey,
  [out]          PHKEY   phkResult
);

매개 변수

[in] hKey

열린 레지스트리 키에 대한 핸들입니다. 이 핸들은 RegCreateKeyEx 또는 RegOpenKeyEx 함수에서 반환되거나 다음 미리 정의된 키 중 하나일 수 있습니다.

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS

[in, optional] lpSubKey

열 레지스트리 키의 이름입니다. 이 키는 hKey 매개 변수로 식별되는 키의 하위 키여야 합니다.

키 이름은 대/소문자를 구분하지 않습니다.

이 매개 변수가 NULL 이거나 빈 문자열에 대한 포인터인 경우 함수는 전달된 것과 동일한 핸들을 반환합니다.

자세한 내용은 레지스트리 요소 크기 제한을 참조하세요.

[out] phkResult

열린 키에 대한 핸들을 수신하는 변수에 대한 포인터입니다. 키가 미리 정의된 레지스트리 키 중 하나가 아닌 경우 핸들 사용을 마친 후 RegCloseKey 함수를 호출합니다.

반환 값

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

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

설명

RegOpenKey 함수는 기본 보안 액세스 마스크를 사용하여 키를 엽니다. 키를 열 때 다른 액세스 권한이 필요한 경우 함수가 실패하여 ERROR_ACCESS_DENIED 반환합니다. 애플리케이션은 RegOpenKeyEx 함수를 사용하여 이 상황에서 액세스 마스크를 지정해야 합니다.

키가 데이터베이스에 없는 경우 RegOpenKey는 지정된 키를 만들지 않습니다.

서비스 또는 애플리케이션이 다른 사용자를 가장하는 경우 HKEY_CURRENT_USER 이 함수를 사용하지 마세요. 대신 RegOpenCurrentUser 함수를 호출합니다.

참고

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

요구 사항

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

추가 정보

RegCloseKey

RegDeleteKey

RegOpenKeyEx

레지스트리 함수

레지스트리 개요