Freigeben über


WdfPdoInitAddHardwareID-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoInitAddHardwareID-Methode fügt der Liste der Hardware-IDs für ein untergeordnetes Gerät eine Hardware-ID hinzu.

Syntax

NTSTATUS WdfPdoInitAddHardwareID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING HardwareID
);

Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] HardwareID

Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine Hardware-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 einer PDO.
STATUS_INSUFFICIENT_RESOURCES
Der Treiber konnte keinen Speicherplatz zum Speichern der Hardware-ID-Zeichenfolge zuweisen.
 

Die -Methode gibt möglicherweise auch andere NTSTATUS-Werte zurück.

Hinweise

Der Treiber kann eine oder mehrere Hardware-IDs für ein Gerät hinzufügen. Sie sollten in der Reihenfolge von der besten Übereinstimmung bis zur schlechtesten Übereinstimmung hinzugefügt werden. Das Framework übermittelt die IDs in der Reihenfolge, in der sie hinzugefügt wurden, an den PnP-Manager. Weitere Informationen zu Hardware-IDs finden Sie unter Geräteidentifikationszeichenfolgen und Auswählen von Treibern durch Setup.

Der Treiber muss WdfPdoInitAddHardwareID 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 Hardware-ID gemeldet, die vom KbFiltr-Beispieltreiber verwendet wird.

#define  KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);

status = WdfPdoInitAddHardwareID(
                                 pDeviceInit,
                                 &hardwareId
                                 );

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfpdo.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung 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

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID