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 문자를 계산하지 않고 문자열의 크기를 문자 단위로 포함합니다.
lpClass가 NULL인 경우 lpcClass는 NULL일 수 있습니다.
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 |