Freigeben über


WdfStringCreate-Funktion (wdfstring.h)

[Gilt für KMDF und UMDF]

Die WdfStringCreate-Methode erstellt ein Framework-Zeichenfolgenobjekt und weist optional dem Objekt eine angegebene Unicode-Zeichenfolge zu.

Syntax

NTSTATUS WdfStringCreate(
  [in, optional] PCUNICODE_STRING       UnicodeString,
  [in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
  [out]          WDFSTRING              *String
);

Parameter

[in, optional] UnicodeString

Ein Zeiger auf eine UNICODE_STRING Struktur, die eine Unicode-Zeichenfolgenkonstante enthält. Das Framework kopiert die Zeichenfolge in das neue Framework-Zeichenfolgenobjekt. Dieser Zeiger ist optional und kann NULL-sein.

[in, optional] StringAttributes

Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES Struktur, die vom Treiber bereitgestellte Attribute für das neue Zeichenfolgenobjekt enthält. Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.

[out] String

Ein Zeiger auf eine Position, die ein Handle für das neue Zeichenfolgenobjekt empfängt.

Rückgabewert

WdfStringCreate 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

WdfStringCreate wurde bei IRQL = PASSIVE_LEVEL nicht aufgerufen.

STATUS_INVALID_PARAMETER
Es wurde ein ungültiger Parameter angegeben.
STATUS_INSUFFICIENT_RESOURCES
Ein Zeichenfolgenobjekt konnte nicht zugeordnet werden.
 

Eine Liste mit anderen Rückgabewerten, die die WdfStringCreate--Methode möglicherweise zurückgeben kann, finden Sie unter Framework-Objekterstellungsfehler.

Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.

Bemerkungen

Das übergeordnete Standardobjekt für Framework-Zeichenfolgenobjekte ist das Framework-Treiberobjekt des Treibers. Sofern die Zeichenfolge jedoch dem Treiber zugeordnet ist, sollte der Treiber das ParentObject Element der WDF_OBJECT_ATTRIBUTES Struktur auf ein Objekt festlegen, das den Bereich der Zeichenfolge darstellt. In der Regel sind Zeichenfolgen gerätespezifisch und das übergeordnete Objekt sollte ein Framework-Geräteobjekt sein.

Wenn Ihr Treiber EvtCleanupCallback oder EvtDestroyCallback- Rückruffunktionen für das Framework-Zeichenfolgenobjekt bereitstellt, beachten Sie, dass das Framework diese Rückruffunktionen bei IRQL = PASSIVE_LEVEL aufruft.

Weitere Informationen zu Framework-Zeichenfolgenobjekten finden Sie unter Verwenden von Zeichenfolgenobjekten.

Beispiele

Im folgenden Codebeispiel wird eine WDF_OBJECT_ATTRIBUTES Struktur initialisiert und anschließend ein Framework-Zeichenfolgenobjekt erstellt.

NTSTATUS  status;
WDFSTRING  stringHandle = NULL;
WDF_OBJECT_ATTRIBUTES  attributes;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pDeviceContext->Device;
status = WdfStringCreate(
                         NULL,
                         &attributes,
                         &stringHandle
                         );
if (!NT_SUCCESS(status)){
    return status;
}

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfstring.h (include Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

UNICODE_STRING

WDF_OBJECT_ATTRIBUTES

WdfStringGetUnicodeString-