Metodo IRegistryKey::EnumerateKey (portcls.h)
Il metodo EnumerateKey
restituisce informazioni sulle sottochiavi della chiave aperta.
Sintassi
NTSTATUS EnumerateKey(
[in] ULONG Index,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parametri
[in] Index
Specifica l'indice della sottochiave. Questo parametro identifica la sottochiave per cui vengono richieste le informazioni sulla chiave. Se la chiave contiene n sottochiavi, gli indici validi sono compresi tra 0 e n-1. Se l'indice supera questo intervallo, il metodo restituisce STATUS_NO_MORE_ENTRIES.
[in] KeyInformationClass
Specifica il tipo di informazioni da restituire nel buffer. Impostare questo parametro su uno dei valori di enumerazione KEY_INFORMATION_CLASS seguenti:
- KeyBasicInformation
- KeyFullInformation
- KeyNodeInformation
[out] KeyInformation
Puntatore al buffer delle informazioni sulla chiave. Questo parametro punta a un buffer allocato dal chiamante in cui il metodo scrive i dati richiesti. Il buffer contiene una struttura di tipo KEY_BASIC_INFORMATION, KEY_FULL_INFORMATIONo KEY_NODE_INFORMATION, a seconda del valore di KeyInformationClass. La struttura è seguita da una stringa di caratteri Unicode la cui dimensione dipende dal tipo di informazioni richieste sulla chiave.
[in] Length
Specifica le dimensioni in byte del buffer KeyInformation, che il chiamante deve impostare in base al KeyInformationClass specificato. Affinché la chiamata abbia esito positivo, il buffer deve essere almeno grande quanto i dati scritti dal metodo nel buffer.
[out] ResultLength
Puntatore di output per la lunghezza dei dati risultanti. Questo parametro punta a una variabile ULONG allocata dal chiamante in cui il metodo scrive un conteggio specificando il numero di byte effettivamente scritti nel buffer KeyInformation. Se la lunghezza del buffer specificata è troppo piccola per contenere le informazioni, il metodo restituisce invece la dimensione del buffer richiesta e restituisce STATUS_BUFFER_OVERFLOW.
Valore restituito
EnumerateKey
restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo nel recupero delle informazioni richieste nel buffer KeyInformation. Se la dimensione del buffer specificata è troppo piccola per ricevere tutte le informazioni disponibili, il metodo restituisce STATUS_BUFFER_OVERFLOW. In caso contrario, il metodo restituisce un codice di errore appropriato. La tabella seguente illustra alcuni dei possibili codici di stato restituiti.
Codice restituito | Descrizione |
---|---|
|
Indica che il buffer specificato è troppo piccolo per ricevere informazioni. |
|
Indica che non sono disponibili più sottochiavi (l'indice della sottochiave è maggiore o uguale al numero di sottochiavi). |
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |