Freigeben über


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

Weitere Informationen

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID