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

Vedi anche

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

Regqueryvalueex

Funzioni del Registro di sistema

Panoramica del Registro di sistema