Share via


RegQueryMultipleValuesW 함수(winreg.h)

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

구문

LSTATUS RegQueryMultipleValuesW(
  [in]                HKEY     hKey,
  [out]               PVALENTW val_list,
  [in]                DWORD    num_vals,
  [out, optional]     LPWSTR   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

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

lpValueBufNULL인 경우 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을 방지하기 위해 함수에서 반환된 집계 데이터는 1메가바이트를 초과할 수 없습니다.

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

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

참고

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

요구 사항

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

추가 정보

레지스트리 함수

레지스트리 개요

VALENT