Funzione ZwQueryValueKey (wdm.h)

La routine ZwQueryValueKey restituisce una voce di valore per una chiave del Registro di sistema.

Sintassi

NTSYSAPI NTSTATUS ZwQueryValueKey(
  [in]            HANDLE                      KeyHandle,
  [in]            PUNICODE_STRING             ValueName,
  [in]            KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
  [out, optional] PVOID                       KeyValueInformation,
  [in]            ULONG                       Length,
  [out]           PULONG                      ResultLength
);

Parametri

[in] KeyHandle

Gestire la chiave da cui leggere le voci di valore. Questo handle viene creato da una chiamata riuscita a ZwCreateKey o ZwOpenKey.

[in] ValueName

Puntatore al nome della voce di valore per cui ottenere i dati.

[in] KeyValueInformationClass

Valore KEY_VALUE_INFORMATION_CLASS che determina il tipo di informazioni restituite nel buffer KeyValueInformation .

[out, optional] KeyValueInformation

Puntatore a un buffer allocato dal chiamante che riceve le informazioni richieste.

[in] Length

Specifica le dimensioni, in byte, del buffer KeyValueInformation .

[out] ResultLength

Puntatore a una variabile che riceve le dimensioni, in byte, delle informazioni sulla chiave. Se la routine ZwQueryValueKey restituisce STATUS_SUCCESS, i chiamanti possono usare il valore di questa variabile per determinare la quantità di dati restituiti. Se la routine restituisce STATUS_BUFFER_OVERFLOW o STATUS_BUFFER_TOO_SMALL, i chiamanti possono utilizzare il valore di questa variabile per determinare le dimensioni del buffer necessarie per contenere le informazioni sulla chiave.

Valore restituito

ZwQueryValueKey restituisce STATUS_SUCCESS in caso di esito positivo o il codice di errore appropriato in caso di errore. I valori possibili del codice di errore includono:

Codice restituito Descrizione
STATUS_OBJECT_NAME_NOT_FOUND
Il valore del Registro di sistema non è disponibile.
STATUS_BUFFER_OVERFLOW
Il buffer fornito è troppo piccolo e solo i dati parziali sono stati scritti nel buffer. *ResultLength è impostato sulle dimensioni minime necessarie per contenere le informazioni richieste.
STATUS_BUFFER_TOO_SMALL
Il buffer fornito è troppo piccolo e non sono stati scritti dati nel buffer. *ResultLength è impostato sulle dimensioni minime necessarie per contenere le informazioni richieste.
STATUS_INVALID_PARAMETER
Il parametro KeyInformationClass non è un valore KEY_VALUE_INFORMATION_CLASS valido.
Avviso Se specifichi KeyValueBasicInformation per KeyValueInformationClass, Windows 98 e Windows Me restituiscono STATUS_SUCCESS anche se la chiave o il nome del valore del Registro di sistema non esiste.
 

Commenti

KeyHandle passato a ZwQueryValueKey deve essere stato aperto con accesso KEY_QUERY_VALUE. A tale scopo, passare KEY_QUERY_VALUE, KEY_READ o KEY_ALL_ACCESS come parametro DesiredAccess a ZwCreateKey o ZwOpenKey.

Per altre informazioni sull'uso delle chiavi del Registro di sistema, vedere Uso del Registro di sistema in un driver.

Nota Se la chiamata a questa funzione si verifica in modalità utente, è necessario usare il nome "NtQueryValueKey" anziché "ZwQueryValueKey".
 
Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.

Requisiti

   
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlZwPassive(wdm), PowerIrpDDis(wdm), ZwRegistryCreate(storport), ZwRegistryCreate(storport), ZwRegistryCreate(wdm), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(wdm)

Vedi anche

KEY_VALUE_BASIC_INFORMATION

KEY_VALUE_FULL_INFORMATION

KEY_VALUE_INFORMATION_CLASS

KEY_VALUE_PARTIAL_INFORMATION

Uso delle versioni Nt e Zw delle routine native di Servizi di sistema

ZwCreateKey

ZwEnumerateValueKey

ZwOpenKey