SHRegGetValueA 함수(shlwapi.h)
[SHRegGetValue 운영 체제 또는 제품의 후속 버전에서 변경되거나 사용할 수 없습니다. 그 자리에 RegGetValue 사용합니다.]
레지스트리 값을 검색합니다.
통사론
LSTATUS SHRegGetValueA(
[in] HKEY hkey,
[in] LPCSTR pszSubKey,
[in] LPCSTR pszValue,
[in] SRRF srrfFlags,
[in, out] DWORD *pdwType,
[out] void *pvData,
[in, out] DWORD *pcbData
);
매개 변수
[in] hkey
형식: HKEY
현재 열려 있는 키 또는 다음 미리 정의된 값에 대한 핸들입니다.
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
[in] pszSubKey
형식: LPCTSTR
hkey 하위 키에서 값을 검색할 상대 경로를 지정하는 null종료 문자열에 대한 포인터입니다. 이 매개 변수는 NULL 또는 빈 문자열을
[in] pszValue
형식: LPCTSTR
값의 이름을 포함하는 null종료된 문자열에 대한 포인터입니다. 이 매개 변수는 NULL 또는 빈 문자열을
[in] srrfFlags
형식: SRRF
검색할 데이터를 제한하는 하나 이상의 SRRF 플래그입니다. 하나 이상의 형식 제한(SRRF_RT) 값을 지정해야 합니다.
[in, out] pdwType
형식: LPDWORD
검색된 값에 저장된 데이터 형식을 수신하는 DWORD 대한 포인터입니다. 기본값을 사용하는 경우 pdwType 입력
[out] pvData
형식: LPVOID
값의 데이터를 받는 버퍼에 대한 포인터입니다. 이 매개 변수는 데이터가 필요하지 않은 경우 NULL
[in, out] pcbData
형식: LPDWORD
항목에서 pvData
pvData | 반환 값 | pcbData |
---|---|---|
NULL |
ERROR_SUCCESS | 레지스트리 데이터를 저장할 수 있는 크기(바이트)입니다. 이것은 정확한 크기가 아니라 충분한 크기로 보장됩니다. |
비-NULL | ERROR_SUCCESS | pvData기록된 정확한 바이트 수입니다. |
비-NULL | ERROR_MORE_DATA | 전체 데이터를 보유하는 데 필요한 바이트 크기입니다. 이것은 정확한 크기가 아니라 충분한 크기로 보장됩니다. |
반환 값
형식: LSTATUS
성공하면 ERROR_SUCCESS 반환하거나, 그렇지 않으면 Winerror.h에 정의된 0이 아닌 오류 코드를 반환합니다. FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 FormatMessage 함수를 사용하여 오류에 대한 일반적인 설명을 검색할 수 있습니다.
발언
SHRegGetValue 데이터 형식 검사, 부팅 모드 검사, REG_EXPAND_SZ 데이터의 자동 확장 및 보장된 null-REG_SZ, REG_EXPAND_SZ 및 REG_MULTI_SZ 데이터의 종료를 제공합니다.
hkey 식별된 키는 보안 액세스를 KEY_QUERY_VALUE 열어야 합니다.
데이터 형식이 REG_SZ, REG_EXPAND_SZ 또는 REG_MULTI_SZ 경우 반환된 데이터는 문자열의 null-termination를 포함하거나 고려합니다. 예를 들어
SRRF_NOEXPAND 플래그를 설정하지 않으면 반환되기 전에 REG_EXPAND_SZ 형식의 문자열 데이터가 자동으로 확장됩니다. 확장된 문자열의 형식은 pdwType REG_SZ 보고되고, pcbData 매개 변수는 확장된 문자열에 대해 작성된 바이트 수를 가리키고, pvData 가리키는 버퍼는 확장된 버전의 문자열을 보유합니다.
성능 정보
데이터 형식이 REG_EXPAND_SZ SRRF_NOEXPAND 플래그가 설정되지 않은 경우 레지스트리에서 데이터를 읽거나 다시 읽을 수 있는 추가 호출 가능성이 있습니다. 다음 조건으로 인해 추가 호출이 발생합니다.
pvData NULLpcbData NULL않습니다. 데이터가 검색되지는 않지만 문자열을 가져오기 위해 레지스트리를 읽고 해당 문자열을 확장하여 데이터 버퍼의 필요한 크기를 결정해야 합니다. pvData NULL않지만 데이터를 보관하기에는 너무 작습니다. 전체 문자열을 가져오기 위해 데이터를 다시 읽고, 문자열이 확장되고, 필요한 총 크기가 결정됩니다.
메모
shlwapi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SHRegGetValue를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS XP SP2 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
라이브러리 | Shlwapi.lib |
DLL | Shlwapi.dll(버전 6.0 이상) |