Funzione RegQueryInfoKeyA (winreg.h)
Recupera informazioni sulla chiave del Registro di sistema specificata.
Sintassi
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
);
Parametri
[in] hKey
Handle per una chiave del Registro di sistema aperta. La chiave deve essere stata aperta con il diritto di accesso KEY_QUERY_VALUE. Per altre informazioni, vedere Sicurezza e diritti di accesso delle chiavi del Registro di sistema.
Questo handle viene restituito dalla funzione RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx o RegOpenKeyTransacted . Può anche essere una delle chiavi predefinite seguenti:
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS
[out, optional] lpClass
Puntatore a un buffer che riceve la classe definita dall'utente della chiave. Questo parametro può essere NULL.
[in, out, optional] lpcchClass
Puntatore a una variabile che specifica le dimensioni del buffer a cui punta il parametro lpClass , in caratteri.
Le dimensioni devono includere il carattere Null di terminazione. Quando la funzione viene restituita, questa variabile contiene le dimensioni della stringa di classe archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente grande, la funzione restituisce ERROR_MORE_DATA e la variabile contiene le dimensioni della stringa, in caratteri, senza contare il carattere null di terminazione.
Se lpClass è NULL, lpcClass può essere NULL.
Se il parametro lpClass è un indirizzo valido, ma il parametro lpcClassnon è, ad esempio NULL, la funzione restituisce ERROR_INVALID_PARAMETER.
lpReserved
Questo parametro è riservato e deve essere NULL.
[out, optional] lpcSubKeys
Puntatore a una variabile che riceve il numero di sottochiavi contenuti nella chiave specificata. Questo parametro può essere NULL.
[out, optional] lpcbMaxSubKeyLen
Puntatore a una variabile che riceve le dimensioni della sottochiave della chiave con il nome più lungo, in caratteri ANSI, senza includere il carattere Null di terminazione. Questo parametro può essere NULL.
[out, optional] lpcbMaxClassLen
Puntatore a una variabile che riceve le dimensioni della stringa più lunga che specifica una classe di sottochiave, in caratteri ANSI. Il conteggio restituito non include il carattere Null di terminazione. Questo parametro può essere NULL.
[out, optional] lpcValues
Puntatore a una variabile che riceve il numero di valori associati alla chiave. Questo parametro può essere NULL.
[out, optional] lpcbMaxValueNameLen
Puntatore a una variabile che riceve le dimensioni del nome del valore più lungo della chiave, in caratteri ANSI. Le dimensioni non includono il carattere Null di terminazione. Questo parametro può essere NULL.
[out, optional] lpcbMaxValueLen
Puntatore a una variabile che riceve le dimensioni del componente dati più lungo tra i valori della chiave, in byte. Questo parametro può essere NULL.
[out, optional] lpcbSecurityDescriptor
Puntatore a una variabile che riceve le dimensioni del descrittore di sicurezza della chiave, in byte. Questo parametro può essere NULL.
[out, optional] lpftLastWriteTime
Puntatore a una struttura FILETIME che riceve l'ora dell'ultima scrittura. Questo parametro può essere NULL.
La funzione imposta i membri della struttura FILETIME per indicare l'ultima volta in cui viene modificata la chiave o una delle relative voci di valore.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema.
Se il buffer lpClass è troppo piccolo per ricevere il nome della classe, la funzione restituisce ERROR_MORE_DATA.
Commenti
Nota
Nelle versioni legacy di Windows, questa API viene esposta anche da kernel32.dll.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winreg.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |