WdfRegistryQueryString-Funktion (wdfregistry.h)
[Gilt für KMDF und UMDF]
Die WdfRegistryQueryString--Methode ruft die Zeichenfolgendaten ab, die derzeit einem angegebenen Registrierungszeichenfolgenwert zugewiesen sind, und weist die Zeichenfolge einem angegebenen Framework-Zeichenfolgenobjekt zu.
Syntax
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Parameter
[in] Key
Ein Handle zu einem Registrierungsschlüsselobjekt, das einen geöffneten Registrierungsschlüssel darstellt.
[in] ValueName
Ein Zeiger auf eine UNICODE_STRING Struktur, die einen Namen für den Registrierungswert enthält.
[in] String
Ein Handle zu einem Framework-Zeichenfolgenobjekt. Das Framework weist diesem Objekt die Zeichenfolgendaten des Registrierungswerts zu.
Rückgabewert
WdfRegistryQueryString gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
WdfRegistryQueryString- wurde bei IRQL = PASSIVE_LEVEL nicht aufgerufen. |
|
Es wurde ein ungültiger Parameter angegeben. |
|
Zum Abschließen des Vorgangs war nicht genügend Arbeitsspeicher vorhanden. |
|
Der Treiber hat den Registrierungsschlüssel nicht mit KEY_QUERY_VALUE, KEY_READ oder KEY_ALL_ACCESS Zugriff geöffnet. |
|
Der Datentyp des Registrierungswerts, den der angegebene parameter ValueName wurde nicht REG_SZ. |
|
Der Registrierungswert war nicht verfügbar. |
|
Der Registrierungswert ist unter dem angegebenen Schlüssel vorhanden, ist jedoch leer. |
Eine Liste mit anderen Rückgabewerten, die die WdfRegistryQueryString- Methode möglicherweise zurückgeben kann, finden Sie unter Framework-Objekterstellungsfehler.
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Um eine Zeichenfolge aus einem Zeichenfolgenobjekt abzurufen, kann Ihr Treiber WdfStringGetUnicodeString-aufrufen.
Weitere Informationen zu Registrierungsschlüsselobjekten finden Sie unter Verwenden der Registrierung in Framework-Based Drivers.
Beispiele
Im folgenden Codebeispiel wird ein Zeichenfolgenobjekt erstellt, Zeichenfolgendaten aus einem Registrierungsschlüssel abgerufen und die Zeichenfolgendaten aus dem Zeichenfolgenobjekt abgerufen.
UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfRegistryQueryString(
Key,
&valueName,
string
);
if (NT_SUCCESS(status)) {
WdfStringGetUnicodeString(
string,
&str
);
}
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfregistry.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |