WdfPdoAddEjectionRelationsPhysicalDevice-Funktion (wdfpdo.h)
[Gilt nur für KMDF]
Die WdfPdoAddEjectionRelationsPhysicalDevice-Methode gibt an, dass ein angegebenes Gerät ausgeworfen wird, wenn ein anderes angegebenes Gerät ausgeworfen wird.
Syntax
NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
[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 die Methode STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Ein Eingabeparameter ist NULL. |
|
Fehler bei der Speicherzuweisung. |
Die Methode kann auch andere NTSTATUS-Werte zurückgeben.
Eine Systemfehlerprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Der PhysicalDevice-Parameter verweist auf ein PDO eines Geräts, das ausgeworfen wird, wenn das von Device identifizierte Gerät ausgeworfen wird. In der Regel werden beide Geräte vom aufrufenden Treiber gesteuert. Melden Sie die untergeordneten Geräte von Device nicht, da der PnP-Manager beim Auswerfen eines übergeordneten Geräts auch die untergeordneten Geräte des Geräts ausgibt.
Weitere Informationen finden Sie unter Unterstützung auswerfbarer Geräte.
Beispiele
Im folgenden Codebeispiel wird ein Gerät hinzugefügt, das die pPhysicalDeviceObject-Struktur darstellt, der Liste der Geräte, die ausgeworfen werden, wenn das Gerät, das das Gerät angibt, ausgeworfen wird.
PDEVICE_OBJECT pPhysicalDeviceObject;
NTSTATUS status;
...
status = WdfPdoAddEjectionRelationsPhysicalDevice(
device,
pPhysicalDeviceObject
);
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 | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |