RegSetValueExA 함수(winreg.h)

레지스트리 키 아래에 지정된 값의 데이터 및 형식을 설정합니다.

구문

LSTATUS RegSetValueExA(
  [in]           HKEY       hKey,
  [in, optional] LPCSTR     lpValueName,
                 DWORD      Reserved,
  [in]           DWORD      dwType,
  [in]           const BYTE *lpData,
  [in]           DWORD      cbData
);

매개 변수

[in] hKey

열린 레지스트리 키에 대한 핸들입니다. 키는 KEY_SET_VALUE 액세스 권한으로 열려 있어야 합니다. 자세한 내용은 레지스트리 키 보안 및 액세스 권한을 참조하세요.

이 핸들은 RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx 또는 RegOpenKeyTransacted 함수에 의해 반환됩니다. 미리 정의된 다음 키 중 하나일 수도 있습니다.

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
이 함수의 유니코드 버전은 다음과 같은 추가 미리 정의된 키를 지원합니다.
  • HKEY_PERFORMANCE_TEXT
  • HKEY_PERFORMANCE_NLSTEXT

[in, optional] lpValueName

설정할 값의 이름입니다. 이 이름의 값이 키에 아직 없는 경우 함수는 키에 추가합니다.

lpValueNameNULL이거나 빈 문자열 ""인 경우 함수는 키의 명명되지 않은 값 또는 기본값에 대한 형식과 데이터를 설정합니다.

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

레지스트리 키에는 기본값이 없지만 명명되지 않은 값이 하나 있을 수 있습니다. 이 값은 모든 형식일 수 있습니다.

Reserved

이 매개 변수는 예약되어 있으며 0이어야 합니다.

[in] dwType

lpData 매개 변수가 가리키는 데이터 형식입니다. 가능한 형식 목록은 레지스트리 값 형식을 참조하세요.

[in] lpData

저장할 데이터입니다.

REG_SZ 같은 문자열 기반 형식의 경우 문자열은 null로 종료되어야 합니다. REG_MULTI_SZ 데이터 형식을 사용하면 문자열을 두 개의 null 문자로 종료해야 합니다.

null 값을 나타내는 lpData가 유효합니다. 그러나 이 경우 cbData를 '0'으로 설정해야 합니다.
 

[in] cbData

lpData 매개 변수가 가리키는 정보의 크기(바이트)입니다. 데이터가 REG_SZ, REG_EXPAND_SZ 또는 REG_MULTI_SZ 형식인 경우 cbData 는 종료 되는 null 문자 또는 문자의 크기를 포함해야 합니다.

반환 값

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

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

설명

값 크기는 사용 가능한 메모리에 의해 제한됩니다. 그러나 레지스트리에 큰 값을 저장하면 성능에 영향을 줄 수 있습니다. 긴 값(2,048바이트 이상)은 레지스트리에 저장된 파일의 위치와 함께 파일로 저장해야 합니다.

아이콘, 비트맵 및 실행 파일과 같은 애플리케이션 요소는 파일로 저장되어야 하며 레지스트리에 배치되지 않아야 합니다.

dwType이 REG_SZ, REG_MULTI_SZ 또는 REG_EXPAND_SZ 형식이고 이 함수의 ANSI 버전이 사용되는 경우(명시적으로 RegSetValueExA를 호출하거나 Windows.h 파일을 포함하기 전에 UNICODE를 정의하지 않음) lpData 매개 변수가 가리키는 데이터는 ANSI 문자 문자열이어야 합니다. 문자열은 레지스트리에 저장되기 전에 유니코드로 변환됩니다.

특정 레지스트리 키에 액세스하는 작업은 리디렉션됩니다. 자세한 내용은 레지스트리의 레지스트리 가상화32비트 및 64비트 애플리케이션 데이터를 참조하세요.

레지스트리 키의 값을 설정하는 보다 편리한 방법을 제공하는 RegSetKeyValue 함수를 사용하는 것이 좋습니다.

참고

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

요구 사항

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

추가 정보

RegSetKeyValue

RegCreateKeyEx

RegFlushKey

RegOpenKeyEx

RegQueryValueEx

레지스트리 함수

레지스트리 개요