Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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
);
Die 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 dem 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 einen FDO anstelle eines PDO. |
|
Der Treiber konnte keinen Speicherplatz zuordnen, um die Geräte-ID-Zeichenfolge zu speichern. |
Die Methode kann auch andere NTSTATUS-Wertezurückgeben.
Bemerkungen
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 Device Identification Strings und How Setup Selects Drivers.
Der Treiber muss WdfPdoInitAssignDeviceID- aufrufen, bevor WdfDeviceCreateaufgerufen wird. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.
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 |
| 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) |