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 |
---|---|
|
Der Treiber initialisiert eine FDO anstelle eines PDO. |
|
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) |