WdfPdoInitAddDeviceText-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoInitAddDeviceText-Methode fügt einem Gerät eine Gerätebeschreibung und einen Gerätestandort für ein angegebenes Gebietsschema hinzu.

Syntax

NTSTATUS WdfPdoInitAddDeviceText(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceDescription,
  [in] PCUNICODE_STRING DeviceLocation,
  [in] LCID             LocaleId
);

Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] DeviceDescription

Ein Zeiger auf eine UNICODE_STRING Struktur, die eine Gerätebeschreibung enthält, die für das angegebene Gebietsschema formatiert ist. Der Treiber kann den Puffer der Zeichenfolge aus einem ausgelagerten Pool zuordnen.

[in] DeviceLocation

Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine Beschreibung des Speicherorts auf dem Bus enthält, an dem das übergeordnete Gerät das untergeordnete Gerät gefunden hat. Der Treiber kann den Puffer der Zeichenfolge aus einem ausgelagerten Pool zuordnen.

[in] LocaleId

Ein Gebietsschemabezeichner (Locale Identifier, LCID), der das Gebietsschema der Unicode-Zeichenfolgen darstellt. Weitere Informationen finden Sie unter Gebietsschemabezeichner.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Methode STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_DEVICE_REQUEST
Der Treiber initialisiert eine FDO anstelle eines PDO.
STATUS_INSUFFICIENT_RESOURCES
Der Treiber konnte keinen Speicherplatz zum Speichern der Zeichenfolgen zuweisen.
 

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

Hinweise

Das Framework speichert den angegebenen Gerätetext und übergibt ihn als Reaktion auf eine IRP_MN_QUERY_DEVICE_TEXT Anforderung an den PnP-Manager . Der von Ihnen bereitgestellte Text sollte dem Benutzer helfen, das Gerät zu identifizieren. Der PnP-Manager zeigt manchmal den Text an, während er versucht, zusätzliche Treiber für das Gerät zu installieren.

Sie können WdfPdoInitAddDeviceText mehrmals aufrufen und Gerätetext für mehrere Gebietsschemas hinzufügen. Wenn das System den Text anzeigt, wählt es den Text aus, der dem aktuellen Gebietsschema entspricht, sofern verfügbar. Andernfalls wird die Zeichenfolge für das Standardgebietsschema verwendet. Der Treiber kann das Standardgebietsschema des Treibers angeben, indem er WdfPdoInitSetDefaultLocale aufruft.

Der Treiber muss WdfPdoInitAddDeviceText aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.

Beispiele

Im folgenden Codebeispiel werden Unicode-Zeichenfolgen für den Standort und die Beschreibung eines Geräts bereitgestellt. Die Beschreibung enthält eine instance Zahl. Ein vollständiges Beispiel, das WdfPdoInitAddDeviceText verwendet, finden Sie im KbFiltr-Beispieltreiber .

DECLARE_CONST_UNICODE_STRING(deviceLocation,L"Keyboard Filter\0" );
DECLARE_UNICODE_STRING_SIZE(buffer, MAX_ID_LEN);

status = RtlUnicodeStringPrintf(
                                &buffer,
                                L"Keyboard_Filter_%02d",
                                InstanceNo
                                );
if (!NT_SUCCESS(status)) {
    goto Cleanup;
}
status = WdfPdoInitAddDeviceText(
                                 pDeviceInit,
                                 &buffer,
                                 &deviceLocation,
                                 0x409
                                 );
if (!NT_SUCCESS(status)) {
    goto Cleanup;
}

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfpdo.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Weitere Informationen

WdfPdoInitSetDefaultLocale