다음을 통해 공유


OREnumValue 함수

오프라인 레지스트리 하이브에서 지정된 열린 레지스트리 키의 값을 열거합니다. 함수는 함수가 호출될 때마다 지정된 키 아래에 있는 하나의 값에 대한 정보를 검색합니다.

구문

DWORD OREnumValue(
  _In_        ORHKEY Handle,
  _In_        DWORD  dwIndex,
  _Out_       PWSTR  lpValueName,
  _Inout_     PDWORD lpcValueName,
  _Out_opt_   PDWORD lpType,
  _Out_opt_   PBYTE  lpData,
  _Inout_opt_ PDWORD lpcbData
);

매개 변수

핸들 [in]

오프라인 레지스트리 하이브에서 열린 레지스트리 키에 대한 핸들입니다.

dwIndex [in]

검색할 값의 인덱스입니다. 이 매개 변수는 함수에 대한 첫 번째 호출에 대해 0이어야 하며 후속 호출에 대해 증가해야 합니다.

값은 순서가 지정되지 않으므로 새 값에는 임의 인덱스가 있습니다. 즉, 함수는 임의의 순서로 값을 반환할 수 있습니다.

lpValueName [out]

값의 이름을 null로 종료된 문자열로 수신하는 버퍼에 대한 포인터입니다. 이 버퍼는 종료 null 문자를 포함할 만큼 충분히 커야 합니다.

자세한 내용은 레지스트리 요소 크기 제한을 참조하세요.

lpcValueName [in, out]

lpValueName 매개 변수가 가리키는 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 변수는 종료 null 문자를 포함하지 않고 버퍼에 저장된 문자 수를 받습니다.

lpType [out, optional]

지정된 값에 저장된 데이터 형식을 나타내는 코드를 수신하는 변수에 대한 포인터입니다. 가능한 형식 코드 목록은 레지스트리 값 형식을 참조하세요. 형식 코드가 필요하지 않은 경우 lpType 매개 변수는 NULL 일 수 있습니다.

lpData [out, optional]

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

lpDataNULL이고 lpcbDataNULL이 아닌 경우 함수는 lpcbData가 가리키는 변수에 데이터 크기를 바이트 단위로 저장합니다. 이렇게 하면 애플리케이션이 데이터에 대한 버퍼를 할당하는 가장 좋은 방법을 결정할 수 있습니다.

lpcbData [in, out, optional]

lpData 매개 변수가 가리키는 버퍼의 크기를 바이트 단위로 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 변수는 버퍼에 저장된 바이트 수를 받습니다.

이 매개 변수는 lpDataNULL인 경우에만 NULL일 수 있습니다.

데이터에 REG_SZ, REG_MULTI_SZ 또는 REG_EXPAND_SZ 형식이 있는 경우 이 크기에는 종료되는 null 문자 또는 문자가 포함됩니다. 자세한 내용은 설명 부분을 참조하세요.

lpData로 지정된 버퍼가 데이터를 저장할 만큼 크지 않은 경우 함수는 ERROR_MORE_DATA 반환하고 lpcbData가 가리키는 변수에 필요한 버퍼 크기를 저장합니다. 이 경우 lpData 의 내용은 정의되지 않습니다.

반환 값

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

함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.

lpData 버퍼가 너무 작아서 값을 받지 못하면 함수는 ERROR_MORE_DATA 반환합니다.

설명

값을 열거하려면 애플리케이션이 처음에 dwIndex 매개 변수가 0으로 설정된 OREnumValue 함수를 호출해야 합니다. 그런 다음, 애플리케이션은 dwIndex 를 증가시키고 값이 더 이상 없을 때까지 OREnumValue 함수를 호출해야 합니다(함수가 ERROR_NO_MORE_ITEMS 반환될 때까지).

또한 애플리케이션은 함수에 대한 첫 번째 호출에서 마지막 값의 인덱 스로 dwIndex 를 설정하고 인덱스 0이 있는 값이 열거될 때까지 인덱스를 감소할 수 있습니다. 마지막 값의 인덱스 검색하려면 ORQueryInfoKey 함수를 사용합니다.

OREnumValue를 사용하는 동안 애플리케이션은 쿼리 중인 키를 변경할 수 있는 오프라인 레지스트리 함수를 호출해서는 안 됩니다.

데이터에 REG_SZ, REG_MULTI_SZ 또는 REG_EXPAND_SZ 형식이 있는 경우 문자열이 적절한 null 종료 문자와 함께 저장되지 않았을 수 있습니다. 따라서 함수가 ERROR_SUCCESS 반환하더라도 애플리케이션은 문자열을 사용하기 전에 문자열이 올바르게 종료되었는지 확인해야 합니다. 그렇지 않으면 버퍼를 덮어쓸 수 있습니다. (REG_MULTI_SZ 문자열에는 두 개의 null 종결 문자가 있어야 합니다.)

이름 및 데이터 버퍼의 최대 크기를 확인하려면 ORQueryInfoKey 함수를 사용합니다.

요구 사항

요구 사항
재배포 가능 파일
Windows 오프라인 레지스트리 라이브러리 버전 1.0 이상
헤더
Offreg.h
DLL
Offreg.dll

추가 정보

ORCreateKey

OREnumKey

OROpenKey

ORQueryInfoKey