Condividi tramite


Funzione RegQueryInfoKeyW (winreg.h)

Recupera informazioni sulla chiave del Registro di sistema specificata.

Sintassi

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    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 delle chiavi del Registro di sistema e diritti di accesso.

Questo handle viene restituito dal RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExo funzione 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 di terminazione null. Quando la funzione termina, questa variabile contiene le dimensioni della stringa di classe archiviata nel buffer. Il conteggio restituito non include il carattere di terminazione null. 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 di terminazione null.

Se lpClass è NULL, lpcClass può essere NULL.

Se il parametro lpClass è un indirizzo valido, ma il parametro lpcClass non è, 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 Unicode, senza includere il carattere di terminazione null. 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 Unicode. Il conteggio restituito non include il carattere di terminazione null. 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 di valore più lungo della chiave, in caratteri Unicode. Le dimensioni non includono il carattere di terminazione null. 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 è 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.

Osservazioni

Nota

L'intestazione winreg.h definisce RegQueryInfoKey come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winreg.h (include Windows.h)
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

funzioni del Registro di sistema

Panoramica del Registro di sistema