ZwQueryValueKey-Funktion (wdm.h)

Die ZwQueryValueKey-Routine gibt einen Werteintrag für einen Registrierungsschlüssel zurück.

Syntax

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
);

Parameter

[in] KeyHandle

Behandeln Sie den Schlüssel zum Lesen von Werteinträgen aus. Dieser Handle wird von einem erfolgreichen Aufruf von ZwCreateKey oder ZwOpenKey erstellt.

[in] ValueName

Zeiger auf den Namen des Werteintrags, um Daten abzurufen.

[in] KeyValueInformationClass

Ein KEY_VALUE_INFORMATION_CLASS Wert, der den Typ der im KeyValueInformation-Puffer zurückgegebenen Informationen bestimmt.

[out, optional] KeyValueInformation

Zeiger auf einen vom Anrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt.

[in] Length

Gibt die Größe des KeyValueInformation-Puffers in Bytes an.

[out] ResultLength

Zeiger auf eine Variable, die die Größe in Bytes der Schlüsselinformationen empfängt. Wenn die ZwQueryValueKey-Routine STATUS_SUCCESS zurückgibt, können Aufrufer den Wert dieser Variable verwenden, um die Menge der zurückgegebenen Daten zu ermitteln. Wenn die Routine STATUS_BUFFER_OVERFLOW oder STATUS_BUFFER_TOO_SMALL zurückgibt, können Aufrufer den Wert dieser Variable verwenden, um die Größe des Puffers zu ermitteln, der zum Halten der Schlüsselinformationen erforderlich ist.

Rückgabewert

ZwQueryValueKey gibt STATUS_SUCCESS auf Erfolg oder den entsprechenden Fehlercode für Fehler zurück. Mögliche Fehlercodewerte umfassen:

Rückgabecode Beschreibung
STATUS_OBJECT_NAME_NOT_FOUND
Der Registrierungswert war nicht verfügbar.
STATUS_BUFFER_OVERFLOW
Der bereitgestellte Puffer ist zu klein, und nur Teildaten wurden in den Puffer geschrieben. *ResultLength ist auf die Mindestgröße festgelegt, die erforderlich ist, um die angeforderten Informationen zu halten.
STATUS_BUFFER_TOO_SMALL
Der bereitgestellte Puffer ist zu klein, und es wurden keine Daten in den Puffer geschrieben. *ResultLength ist auf die Mindestgröße festgelegt, die erforderlich ist, um die angeforderten Informationen zu halten.
STATUS_INVALID_PARAMETER
Der KeyInformationClass-Parameter ist kein gültiger KEY_VALUE_INFORMATION_CLASS Wert.
Warnung Wenn Sie KeyValueBasicInformation für KeyValueInformationClass angeben, geben Windows 98 und Windows Me STATUS_SUCCESS zurück, auch wenn der Registrierungsschlüssel oder der Wertname nicht vorhanden ist.
 

Hinweise

Der an ZwQueryValueKey übergebene KeyHandle muss mit KEY_QUERY_VALUE Zugriff geöffnet sein. Dies erfolgt durch übergeben KEY_QUERY_VALUE, KEY_READ oder KEY_ALL_ACCESS als Parameter "DesiredAccess " an ZwCreateKey oder ZwOpenKey.

Weitere Informationen zum Arbeiten mit Registrierungsschlüsseln finden Sie unter Verwenden der Registrierung in einem Treiber.

Hinweis Wenn der Aufruf dieser Funktion im Benutzermodus auftritt, sollten Sie den Namen "NtQueryValueKey" anstelle von "ZwQueryValueKey" verwenden.
 
Für Aufrufe von Kernelmodustreibern können sich die Nt Xxx- und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und Zw Xxx-Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.

Requirements (Anforderungen)

   
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (enthalten Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlZwPassive(wdm), PowerIrpDDis(wdm), ZwRegistryCreate(storport),ZwRegistryCreate(storport), ZwRegistryCreate( wdm), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen( wdm)

Weitere Informationen

KEY_VALUE_BASIC_INFORMATION

KEY_VALUE_FULL_INFORMATION

KEY_VALUE_INFORMATION_CLASS

KEY_VALUE_PARTIAL_INFORMATION

Verwenden von Nt- und Zw-Versionen der Systemdienste-Routinen

ZwCreateKey

ZwEnumerateValueKey

ZwOpenKey