Condividi tramite


Metodo IRegistryKey::EnumerateValueKey (portcls.h)

Il EnumerateValueKey metodo restituisce informazioni su una voce del Registro di sistema contenente una chiave 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 sottochiave, 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 seguenti KEY_VALUE_INFORMATION_CLASS:

  • 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_INFORMATION o 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 KeyValueInformation , che il chiamante deve impostare in base all'oggetto KeyValueInformationClass specificato. Affinché la chiamata abbia esito positivo, il buffer deve essere almeno uguale ai 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 le dimensioni del buffer necessarie e restituisce STATUS_BUFFER_OVERFLOW.

Valore restituito

EnumerateValueKey restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo nella copia delle informazioni richieste nel buffer KeyValueInformation . Se le dimensioni del buffer specificate sono troppo piccole 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 mostra alcuni dei possibili codici di stato restituiti.

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL
Indica che il buffer specificato è troppo piccolo per ricevere informazioni.
STATUS_INVALID_PARAMETER
Indica che uno dei parametri passati al metodo non è valido.
STATUS_NO_MORE_ENTRIES
Indica che non sono disponibili più chiavi valore (il parametro Index è maggiore o uguale al numero di chiavi valore).

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione portcls.h (includere Portcls.h)
IRQL PASSIVE_LEVEL

Vedi anche

IRegistryKey

KEY_VALUE_BASIC_INFORMATION

KEY_VALUE_FULL_INFORMATION

KEY_VALUE_PARTIAL_INFORMATION

ZwEnumerateValueKey