Freigeben über


WdfPdoInitAddCompatibleID-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoInitAddCompatibleID Methode fügt der Liste der kompatiblen IDs für ein untergeordnetes Gerät eine kompatible ID hinzu.

Syntax

NTSTATUS WdfPdoInitAddCompatibleID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING CompatibleID
);

Die Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT Struktur.

[in] CompatibleID

Ein Zeiger auf eine UNICODE_STRING Struktur, die eine kompatible 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
STATUS_INVALID_DEVICE_REQUEST
Der Treiber initialisiert einen FDO anstelle eines PDO.
STATUS_INSUFFICIENT_RESOURCES
Der Treiber konnte keinen Speicherplatz zuordnen, um die kompatible ID-Zeichenfolge zu speichern.
 

Die Methode kann auch andere NTSTATUS-Wertezurückgeben.

Bemerkungen

Der Treiber kann eine oder mehrere kompatible IDs für ein Gerät hinzufügen. Sie sollten in der Reihenfolge hinzugefügt werden, von der besten Übereinstimmung bis zur schlechtesten Übereinstimmung. Das Framework liefert die IDs in der Reihenfolge, in der sie hinzugefügt wurden, an den PnP-Manager. Weitere Informationen zu kompatiblen IDs finden Sie unter Device Identification Strings und How Setup Selects Drivers.

Der Treiber muss WdfPdoInitAddCompatibleID- aufrufen, bevor WdfDeviceCreateaufgerufen wird. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.

Beispiele

Im folgenden Codebeispiel wird ein kompatibler ID-Wert gemeldet, den der Toaster Beispieltreiber verwendet.

DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");

status = WdfPdoInitAddCompatibleID(
                                   DeviceInit,
                                   &compatId
                                   );

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)

Siehe auch

WdfPdoInitAddHardwareID-

WdfPdoInitAssignDeviceID-

WdfPdoInitAssignInstanceID-