Freigeben über


WdfPdoInitAddDeviceText-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

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

Syntax

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

Die 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 dem ausgelagerten Pool zuordnen.

[in] DeviceLocation

Ein Zeiger auf eine UNICODE_STRING Struktur, die eine Beschreibung der Position im Bus enthält, an der das übergeordnete Gerät das untergeordnete Gerät gefunden hat. Der Treiber kann den Puffer der Zeichenfolge aus dem 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 einen FDO anstelle eines PDO.
STATUS_INSUFFICIENT_RESOURCES
Der Treiber konnte keinen Speicherplatz zuordnen, um die Zeichenfolgen zu speichern.
 

Die Methode kann auch andere NTSTATUS-Wertezurückgeben.

Bemerkungen

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 angegebenen Text sollte dem Benutzer helfen, das Gerät zu identifizieren. Der PnP-Manager zeigt manchmal den Text an, während versucht wird, 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 der Text vom System angezeigt wird, 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 WdfPdoInitSetDefaultLocaleaufgerufen wird.

Der Treiber muss WdfPdoInitAddDeviceText- aufrufen, bevor WdfDeviceCreateaufgerufen wird. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.

Beispiele

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

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
Minimale KMDF-Version 1.0
Kopfzeile wdfpdo.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
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)

Siehe auch

WdfPdoInitSetDefaultLocale