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 Frameworkzeichenfolgenobjekt zu.

Syntax

NTSTATUS WdfRegistryQueryString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] WDFSTRING        String
);

Parameter

[in] Key

Ein Handle für ein 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 für ein Frameworkzeichenfolgenobjekt. 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
STATUS_INVALID_DEVICE_REQUEST

WdfRegistryQueryString wurde bei IRQL = PASSIVE_LEVEL nicht aufgerufen.

STATUS_INVALID_PARAMETER
Ein ungültiger Parameter wurde angegeben.
STATUS_INSUFFICIENT_RESOURCES
Es war nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen.
STATUS_ACCESS_DENIED
Der Treiber hat den Registrierungsschlüssel nicht mit KEY_QUERY_VALUE, KEY_READ oder KEY_ALL_ACCESS Zugriff geöffnet.
STATUS_OBJECT_TYPE_MISMATCH
Der Datentyp des Registrierungswerts, den der ValueName-Parameter angegeben hat, wurde nicht REG_SZ.
STATUS_OBJECT_NAME_NOT_FOUND
Der Registrierungswert war nicht verfügbar.
STATUS_RESOURCE_DATA_NOT_FOUND
Der Registrierungswert ist unter dem angegebenen Schlüssel vorhanden, ist aber leer.
 

Eine Liste mit anderen Rückgabewerten, die von der WdfRegistryQueryString-Methode möglicherweise zurückgegeben werden, finden Sie unter Fehler beim Erstellen von Frameworkobjekten.

Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

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-Treibern.

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 Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfregistry.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

UNICODE_STRING

WdfRegistryQueryMemory

WdfRegistryQueryMultiString

WdfRegistryQueryULong

WdfRegistryQueryUnicodeString

WdfRegistryQueryValue

WdfStringCreate

WdfStringGetUnicodeString