SHRegQueryUSValueW 함수(shlwapi.h)
사용자별 하위 트리(HKEY_CURRENT_USER 또는 HKEY_LOCAL_MACHINE)에서 열린 레지스트리 하위 키와 연결된 지정된 이름의 형식 및 데이터를 검색합니다.
구문
LSTATUS SHRegQueryUSValueW(
[in] HUSKEY hUSKey,
[in, optional] LPCWSTR 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로 설정하면 SHRegQueryUSValue는 HKEY_CURRENT_USER 무시하고 HKEY_LOCAL_MACHINE 아래의 키에서 값을 반환합니다.
[in, optional] pvDefaultData
형식: LPVOID*
기본 데이터에 대한 포인터입니다.
[in, optional] dwDefaultDataSize
형식:DWORD
기본 데이터의 길이(바이트)입니다.
반환 값
형식: LSTATUS
성공하면 ERROR_SUCCESS 반환하거나, 그렇지 않으면 Winerror.h에 정의된 0이 아닌 오류 코드를 반환합니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 검색할 수 있습니다.
설명
fIgnoreHKCU가 TRUE로 설정되면 SHRegQueryUSValue는 HKEY_LOCAL_MACHINE 아래의 키에서 값을 반환합니다. FALSE로 설정하면 SHRegQueryUSValue는 먼저 HKEY_CURRENT_USER 아래의 키에서 값을 반환하려고 시도합니다. 그러나 HKEY_CURRENT_USER 키를 찾을 수 없는 경우 값은 HKEY_LOCAL_MACHINE 아래의 키에서 반환됩니다. 키가 없거나 오류가 발생하고 dwDefaultDataSize 가 0이 아닌 경우 기본 데이터가 pvData 에 복사되고 ERROR_SUCCESS 반환됩니다. ERROR_SUCCESS 기본 데이터와 기본 데이터가 아닌 데이터에 대해 를 반환하며 pvData에 복사되는 값을 구분하는 방법은 없습니다. 기본 데이터 사용을 방지하려면 pvDefaultData 를 NULL 로 설정하고 dwDefaultDataSize 를 0으로 설정합니다.
단일 값만 읽어야 하는 경우 SHRegGetUSValue 는 키를 열고 값을 반환합니다. SHRegQueryUSValue를 사용하려면 먼저 SHRegOpenUSKey를 사용하여 키를 열어야 합니다. 그러나 키가 열리면 SHRegQueryUSValue 를 필요한 횟수만큼 사용할 수 있습니다. 동일한 키에서 둘 이상의 값을 검색해야 하는 경우 키가 한 번만 열리기 때문에 SHRegQueryUSValue 에 대한 여러 호출을 사용하는 것이 일반적으로 SHRegGetUSValue보다 더 효율적입니다.
참고
shlwapi.h 헤더는 SHRegQueryUSValue를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional, Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
라이브러리 | Shlwapi.lib |
DLL | Shlwapi.dll(버전 4.71 이상) |