Condividi tramite


Funzione OREnumKey

Enumera le sottochiavi della chiave del Registro di sistema aperta specificata in un hive del Registro di sistema offline. La funzione recupera informazioni su una sottochiave ogni volta che viene chiamata.

Sintassi

DWORD OREnumKey(
  _In_        ORHKEY    Handle,
  _In_        DWORD     dwIndex,
  _Out_       PWSTR     lpName,
  _Inout_     PDWORD    lpcName,
  _Out_opt_   PWSTR     lpClass,
  _Inout_opt_ PDWORD    lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime
);

Parametri

Handle [in]

Handle per una chiave del Registro di sistema aperta in un hive del Registro di sistema offline.

dwIndex [in]

Indice della sottochiave da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione e quindi incrementato per le chiamate successive.

Poiché le sottochiavi non sono ordinate, qualsiasi nuova sottochiave avrà un indice arbitrario. Ciò significa che la funzione può restituire sottochiavi in qualsiasi ordine.

lpName [out]

Puntatore a un buffer che riceve il nome della sottochiave, incluso il carattere null terminante. La funzione copia solo il nome della sottochiave, non la gerarchia di chiavi completa, nel buffer. Se la funzione ha esito negativo, nessuna informazione viene copiata in questo buffer.

Per altre informazioni, vedere Limiti delle dimensioni degli elementi del Registro di sistema.

lpcName [in, out]

Puntatore a una variabile che specifica le dimensioni del buffer specificato dal parametro lpName , in WCHARs. Questa dimensione deve includere il carattere Null terminante. Se la funzione ha esito positivo, la variabile puntata da lpcName contiene il numero di caratteri archiviati nel buffer, non incluso il carattere Null terminante.

lpClass [out, facoltativo]

Puntatore a un buffer che riceve la stringa di classe terminata null della sottochiave enumerata. Questo parametro può essere NULL.

lpcClass [in, out, facoltativo]

Puntatore a una variabile che specifica le dimensioni del buffer specificato dal parametro lpClass , in WCHARs. Le dimensioni devono includere il carattere Null terminante. Se la funzione ha esito positivo, lpcClass contiene il numero di caratteri archiviati nel buffer, non incluso il carattere null terminante. Questo parametro può essere NULL solo se lpClass è NULL.

lpftLastWriteTime [out, facoltativo]

Puntatore alla struttura FILETIME che riceve il momento in cui è stata scritta l'ultima sottochiave enumerata. Questo parametro può essere NULL.

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 diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore. I codici di errore possibili includono quanto segue:

  • Se il buffer lpName è troppo piccolo per ricevere il nome della chiave, la funzione restituisce ERROR_MORE_DATA.
  • Se non sono disponibili più sottochiavi, la funzione restituisce ERROR_NO_MORE_ITEMS.

Commenti

Per enumerare le sottochiave, un'applicazione deve inizialmente chiamare la funzione OREnumKey con il parametro dwIndex impostato su zero. L'applicazione deve quindi incrementare il parametro dwIndex e chiamare OREnumKey fino a quando non sono presenti più sottochiavi (ovvero la funzione restituisce ERROR_NO_MORE_ITEMS).

L'applicazione può anche impostare dwIndex sull'indice dell'ultima sottochiave nella prima chiamata alla funzione e decrerere l'indice finché non viene enumerata la sottochiave con l'indice 0. Per recuperare l'indice dell'ultima sottochiave, usare la funzione ORQueryInfoKey .

Anche se un'applicazione usa la funzione OREnumKey , non deve effettuare chiamate a qualsiasi funzione del Registro di sistema offline che potrebbe modificare la chiave da enumerare.

Requisiti

Requisito Valore
Componente ridistribuibile
Libreria del Registro di sistema offline di Windows versione 1.0 o successiva
Intestazione
Offreg.h
DLL
Offreg.dll

Vedi anche

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey