WdfPdoInitAssignDeviceID-Funktion (wdfpdo.h)
[Gilt nur für KMDF]
Die WdfPdoInitAssignDeviceID-Methode aktualisiert die Geräte-ID für ein untergeordnetes Gerät.
Syntax
NTSTATUS WdfPdoInitAssignDeviceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING DeviceID
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .
[in] DeviceID
Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine Geräte-ID-Zeichenfolge enthält. Der Treiber kann den Puffer der Zeichenfolge aus einem ausgelagerten Pool zuordnen.
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 Geräte-ID-Zeichenfolge zuweisen. |
Die Methode kann auch andere NTSTATUS-Werte zurückgeben.
Hinweise
Eine Geräte-ID ist in der Regel das erste Element in der Liste der Hardware-IDs, die ein Gerät meldet. Weitere Informationen zu Geräte-IDs und Hardware-IDs finden Sie unter Geräteidentifikationszeichenfolgen und Auswählen von Treibern durch Setup.
Der Treiber muss WdfPdoInitAssignDeviceID aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
Beispiele
Im folgenden Codebeispiel wird eine Geräte-ID gemeldet, die vom KbFiltr-Beispieltreiber verwendet wird.
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);
status = WdfPdoInitAssignDeviceID(
pDeviceInit,
&deviceId
);
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) |