다음을 통해 공유


SHRegQueryUSValueA 함수(shlwapi.h)

사용자별 하위 트리(HKEY_CURRENT_USER 또는 HKEY_LOCAL_MACHINE)에서 열린 레지스트리 하위 키와 연결된 지정된 이름의 형식 및 데이터를 검색합니다.

구문

LSTATUS SHRegQueryUSValueA(
  [in]                HUSKEY hUSKey,
  [in, optional]      LPCSTR pszValue,
  [in, out, optional] DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out]           DWORD  *pcbData,
  [in]                BOOL   fIgnoreHKCU,
  [in, optional]      void   *pvDefaultData,
  [in, optional]      DWORD  dwDefaultDataSize
);

매개 변수

[in] hUSKey

형식: HUSKEY

현재 열려 있는 레지스트리 하위 키에 대한 핸들 또는 다음 미리 정의된 값 중 하나입니다. 하위 키는 KEY_SET_VALUE 액세스 권한으로 열려 있어야 합니다. 자세한 내용은 레지스트리 키 보안 및 액세스 권한을 참조하세요.

이 핸들은 SHRegOpenUSKey 함수를 통해 가져올 수 있습니다.

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszValue

형식: LPCTSTR

쿼리할 값의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

[in, out, optional] pdwType

형식: LPDWORD*

키의 값 형식을 설정하거나 받는 변수에 대한 포인터입니다. 자세한 내용은 레지스트리 데이터 형식을 참조하세요. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] pvData

형식: LPVOID*

값의 데이터를 수신하는 버퍼에 대한 포인터입니다. 데이터가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.

[in, out] pcbData

형식: LPDWORD*

pvData 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 이 변수에는 pvData에 복사된 데이터의 크기가 포함됩니다.

[in] fIgnoreHKCU

형식: BOOL

살펴볼 키를 지정하는 변수입니다. TRUE로 설정하면 SHRegQueryUSValueHKEY_CURRENT_USER 무시하고 HKEY_LOCAL_MACHINE 아래의 키에서 값을 반환합니다.

[in, optional] pvDefaultData

형식: LPVOID*

기본 데이터에 대한 포인터입니다.

[in, optional] dwDefaultDataSize

형식:DWORD

기본 데이터의 길이(바이트)입니다.

반환 값

형식: LSTATUS

성공하면 ERROR_SUCCESS 반환하고, 그렇지 않으면 Winerror.h에 정의된 0이 아닌 오류 코드를 반환합니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반 설명을 검색할 수 있습니다.

설명

fIgnoreHKCUTRUE로 설정되면 SHRegQueryUSValueHKEY_LOCAL_MACHINE 아래의 키에서 값을 반환합니다. FALSE로 설정하면 SHRegQueryUSValue는 먼저 HKEY_CURRENT_USER 아래의 키에서 값을 반환하려고 시도합니다. 그러나 HKEY_CURRENT_USER 키를 찾을 수 없는 경우 값은 HKEY_LOCAL_MACHINE 아래의 키에서 반환됩니다. 키가 없거나 오류가 발생하고 dwDefaultDataSize 가 0이 아니면 기본 데이터가 pvData 에 복사되고 ERROR_SUCCESS 반환됩니다. ERROR_SUCCESS 기본 데이터와 기본값이 아닌 데이터에 대해 를 반환하며 pvData에 복사되는 값을 구분할 방법이 없습니다. 기본 데이터 사용을 방지하려면 pvDefaultDataNULL 로 설정하고 dwDefaultDataSize 를 0으로 설정합니다.

단일 값만 읽어야 하는 경우 SHRegGetUSValue 는 키를 열고 값을 반환합니다. SHRegQueryUSValue를 사용하려면 먼저 SHRegOpenUSKey를 사용하여 키를 열어야 합니다. 그러나 키가 열리면 필요한 횟수만큼 SHRegQueryUSValue 를 사용할 수 있습니다. 동일한 키에서 둘 이상의 값을 검색해야 하는 경우 키가 한 번만 열리기 때문에 SHRegQueryUSValue 에 대한 여러 호출을 사용하는 것이 일반적으로 SHRegGetUSValue보다 더 효율적입니다.

참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shlwapi.h
라이브러리 Shlwapi.lib
DLL Shlwapi.dll(버전 4.71 이상)