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
);
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 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 einer PDO. |
|
Der Treiber konnte keinen Speicherplatz zum Speichern der kompatiblen ID-Zeichenfolge zuweisen. |
Die -Methode gibt möglicherweise auch andere NTSTATUS-Werte zurück.
Hinweise
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 übermittelt die IDs in der Reihenfolge, in der sie hinzugefügt wurden, an den PnP-Manager. Weitere Informationen zu kompatiblen IDs finden Sie unter Geräteidentifikationszeichenfolgen und Auswählen von Treibern durch Setup.
Der Treiber muss WdfPdoInitAddCompatibleID aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
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 |
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) |