Metodo IRegistryKey::EnumerateValueKey (portcls.h)
Il metodo EnumerateValueKey
restituisce informazioni su una voce del Registro di sistema contenente una chiave del valore.
Sintassi
NTSTATUS EnumerateValueKey(
[in] ULONG Index,
[in] KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
[out] PVOID KeyValueInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parametri
[in] Index
Specifica l'indice della sottochiave. Questo parametro identifica la sottochiave il cui valore è richiesto. 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] KeyValueInformationClass
Specifica il tipo di informazioni da restituire nel buffer. Impostare questo parametro su uno dei valori di enumerazione KEY_VALUE_INFORMATION_CLASS seguenti:
- KeyValueBasicInformation
-
KeyValueFullInformation
-
KeyValuePartialInformation
[out] KeyValueInformation
Puntatore di output per il valore della 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_VALUE_BASIC_INFORMATION, KEY_VALUE_FULL_INFORMATIONo KEY_VALUE_PARTIAL_INFORMATION, a seconda del valore di KeyValueInformationClass. La struttura è seguita da dati aggiuntivi le cui dimensioni dipendono dal tipo di dati del valore della chiave.
[in] Length
Dimensioni in byte del buffer di KeyValueInformation, che il chiamante deve impostare in base all'KeyValueInformationClass. 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 KeyValueInformation. 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
EnumerateValueKey
restituisce STATUS_SUCCESS se la chiamata è riuscita a copiare le informazioni richieste nel buffer KeyValueInformation. 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 uno dei parametri passati al metodo non è valido. |
|
Indica che non sono disponibili più chiavi di valore (il parametro index è maggiore o uguale al numero di chiavi valore). |
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |