WdfDeviceAddRemovalRelationsPhysicalDevice-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceAddRemovalRelationsPhysicalDevice-Methode gibt an, dass ein angegebenes Gerät entfernt werden muss, wenn ein anderes angegebenes Gerät entfernt wird.
Syntax
NTSTATUS WdfDeviceAddRemovalRelationsPhysicalDevice(
[in] WDFDEVICE Device,
[in] PDEVICE_OBJECT PhysicalDevice
);
Parameter
[in] Device
Ein Handle für ein Framework-Geräteobjekt.
[in] PhysicalDevice
Ein Zeiger auf eine vom Aufrufer bereitgestellte DEVICE_OBJECT Struktur, die ein physisches Geräteobjekt (PDO) darstellt.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt WdfDeviceAddRemovalRelationsPhysicalDevice STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
PhysicalDevice ist NULL. |
|
Fehler bei der Speicherzuweisung. |
Die -Methode gibt möglicherweise andere NTSTATUS-Werte zurück.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Der Parameter PhysicalDevice verweist auf ein PDO eines Geräts, dessen Treiber entfernt werden müssen, wenn die Treiber für Device entfernt werden. In der Regel werden beide Geräte vom aufrufenden Treiber gesteuert. Melden Sie die untergeordneten Geräte des in Device angegebenen Geräteobjekts nicht, denn wenn der Plug & Play-Manager ein übergeordnetes Gerät entfernt, werden auch die untergeordneten Geräte des Geräts entfernt.
Ihr Treiber kann WdfDeviceAddRemovalRelationsPhysicalDevice mehrmals aufrufen, um der Liste der Geräte, die beim Entfernen des Geräts entfernt werden müssen, mehrere Geräte hinzuzufügen. Die Reihenfolge, in der die angegebenen Geräte entfernt werden, ist nicht definiert.
Beispiele
Im folgenden Codebeispiel wird das Gerät, das pPdo identifiziert, der Liste der Geräte hinzugefügt, die entfernt werden müssen, wenn das vom Gerät angegebenen Gerät entfernt wird.
status = WdfDeviceAddRemovalRelationsPhysicalDevice(
device,
pPdo
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |