다음을 통해 공유


RegQueryInfoKeyA 함수(winreg.h)

지정된 레지스트리 키에 대한 정보를 검색합니다.

구문

LSTATUS RegQueryInfoKeyA(
  [in]                HKEY      hKey,
  [out, optional]     LPSTR     lpClass,
  [in, out, optional] LPDWORD   lpcchClass,
                      LPDWORD   lpReserved,
  [out, optional]     LPDWORD   lpcSubKeys,
  [out, optional]     LPDWORD   lpcbMaxSubKeyLen,
  [out, optional]     LPDWORD   lpcbMaxClassLen,
  [out, optional]     LPDWORD   lpcValues,
  [out, optional]     LPDWORD   lpcbMaxValueNameLen,
  [out, optional]     LPDWORD   lpcbMaxValueLen,
  [out, optional]     LPDWORD   lpcbSecurityDescriptor,
  [out, optional]     PFILETIME lpftLastWriteTime
);

매개 변수

[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, optional] lpClass

키의 사용자 정의 클래스를 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in, out, optional] lpcchClass

lpClass 매개 변수가 가리키는 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다.

크기에는 종료 null 문자가 포함되어야 합니다. 함수가 반환되면 이 변수는 버퍼에 저장된 클래스 문자열의 크기를 포함합니다. 반환된 개수에는 종료 null 문자가 포함되지 않습니다. 버퍼가 충분히 크지 않으면 함수는 ERROR_MORE_DATA 반환하고 변수는 종료 null 문자를 계산하지 않고 문자열의 크기를 문자 단위로 포함합니다.

lpClassNULL인 경우 lpcClassNULL일 수 있습니다.

lpClass 매개 변수가 유효한 주소이지만 lpcClass 매개 변수가 NULL이 아닌 경우 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpReserved

이 매개 변수는 예약되어 있으며 NULL이어야 합니다.

[out, optional] lpcSubKeys

지정된 키에 포함된 하위 키 수를 수신하는 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcbMaxSubKeyLen

종료 null 문자를 포함하지 않고 ANSI 문자에서 가장 긴 이름의 키 하위 키 크기를 수신하는 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcbMaxClassLen

ANSI 문자로 하위 키 클래스를 지정하는 가장 긴 문자열의 크기를 받는 변수에 대한 포인터입니다. 반환된 개수에는 종료 null 문자가 포함되지 않습니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcValues

키와 연결된 값 수를 수신하는 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcbMaxValueNameLen

키의 가장 긴 값 이름(ANSI 문자)의 크기를 받는 변수에 대한 포인터입니다. 크기는 종료 null 문자를 포함하지 않습니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcbMaxValueLen

키 값 중 가장 긴 데이터 구성 요소의 크기를 바이트 단위로 받는 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpcbSecurityDescriptor

키의 보안 설명자 크기를 바이트 단위로 받는 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[out, optional] lpftLastWriteTime

마지막 쓰기 시간을 수신하는 FILETIME 구조체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

함수는 FILETIME 구조체의 멤버를 설정하여 키 또는 해당 값 항목이 마지막으로 수정된 시간을 나타냅니다.

반환 값

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

함수가 실패하면 반환 값은 시스템 오류 코드입니다.

lpClass 버퍼가 너무 작아서 클래스 이름을 받을 수 없다면 함수는 ERROR_MORE_DATA 반환합니다.

설명

참고

레거시 버전의 Windows에서도 이 API는 kernel32.dll 의해 노출됩니다.

요구 사항

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

추가 정보

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

레지스트리 함수

레지스트리 개요