다음을 통해 공유


RegQueryMultipleValuesA 함수(winreg.h)

열린 레지스트리 키와 연결된 값 이름 목록에 대한 형식 및 데이터를 검색합니다.

통사론

LSTATUS RegQueryMultipleValuesA(
  [in]                HKEY     hKey,
  [out]               PVALENTA val_list,
  [in]                DWORD    num_vals,
  [out, optional]     LPSTR    lpValueBuf,
  [in, out, optional] LPDWORD  ldwTotsize
);

매개 변수

[in] hKey

열린 레지스트리 키에 대한 핸들입니다. 키는 KEY_QUERY_VALUE 액세스 권한으로 열렸어야 합니다. 자세한 내용은 다음을 참조하세요.

레지스트리 키 보안 및 액세스 권한.

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

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS

[out] val_list

다음 배열에 대한 포인터

하나 이상의 값 항목을 설명하는 VALENT 구조체를 . 입력에서 각 구조체의 ve_valuename 멤버는 검색할 값의 이름에 대한 포인터를 포함해야 합니다. 지정된 값이 지정된 키에 없으면 함수가 실패합니다.

함수가 성공하면 배열의 각 요소에 지정된 값에 대한 정보가 포함됩니다.

[in] num_vals

val_list 배열의 요소 수입니다.

[out, optional] lpValueBuf

버퍼에 대한 포인터입니다. 함수가 성공하면 버퍼는 각 값에 대한 데이터를 받습니다.

lpValueBuf NULL경우 ldwTotsize 매개 변수가 가리키는 값은 0이어야 합니다. 이 경우 함수는 ERROR_MORE_DATA 반환하고 ldwTotsize 버퍼의 필요한 크기(바이트)를 받습니다.

[in, out, optional] ldwTotsize

lpValueBuf 매개 변수가 가리키는 버퍼의 크기를 바이트 단위로 지정하는 변수에 대한 포인터입니다. 함수가 성공하면 ldwTotsize 버퍼에 복사된 바이트 수를 받습니다. 버퍼가 너무 작기 때문에 함수가 실패하면 ldwTotsize 필요한 크기(바이트)를 받습니다.

반환 값

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

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

반환 코드 묘사
ERROR_CANTREAD

RegQueryMultipleValues 동적 키 공급자를 인스턴스화하거나 액세스할 수 없습니다.

ERROR_MORE_DATA
lpValueBuf 가리키는 버퍼가 너무 작습니다. 이 경우 ldwTotsize 필요한 버퍼 크기를 받습니다.
ERROR_TRANSFER_TOO_LONG
요청된 데이터의 총 크기(val_list 배열의 크기 + ldwTotSize)는 시스템 제한인 1메가바이트보다 큽니다.

발언

RegQueryMultipleValues 함수를 사용하면 애플리케이션이 정적 또는 동적 키의 하나 이상의 값을 쿼리할 수 있습니다. 대상 키가 정적 키인 경우 시스템은 모든 값을 원자성 방식으로 제공합니다. 과도한 serialization을 방지하기 위해 함수에서 반환된 집계 데이터는 1MB를 초과할 수 없습니다.

대상 키가 동적 키인 경우 해당 공급자는 원자성 방식으로 모든 값을 제공해야 합니다. 즉, 공급자가 결과 버퍼를 동기적으로 채워서 과도한 serialization을 방지하면서 버퍼의 모든 값에 대한 일관된 보기를 제공해야 합니다. 공급자는 이 함수를 원자성으로 호출하는 동안 최대 1MB의 총 출력 데이터를 제공할 수 있습니다.

RegQueryMultipleValues 원격으로 지원됩니다. 즉, 함수에 전달된 hKey 매개 변수는 원격 컴퓨터를 참조할 수 있습니다.

메모

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

요구 사항

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

참고 항목

레지스트리 함수

레지스트리 개요

VALENT