Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WdfPdoRequestEject Methode informiert das Framework darüber, dass ein angegebenes Gerät von seiner Dockingstation ausgeworfen werden soll.
Syntax
VOID WdfPdoRequestEject(
[in] WDFDEVICE Device
);
Die Parameter
[in] Device
Ein Handle zu einem Framework-Geräteobjekt, das das physische Geräteobjekt des Geräts (PDO) darstellt.
Rückgabewert
Nichts
Bemerkungen
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Ein Bustreiber kann WdfPdoRequestEject oder WdfChildListRequestChildEject- aufrufen, um zu melden, dass der Treiber versucht hat, eines seiner aufgezählten untergeordneten Geräte von der Dockingstation des Geräts auszuwerfen. Beispielsweise kann der Treiber erkennen, dass ein Benutzer eine Auswerftaste gedrückt hat.
Wenn das Framework-Geräteobjekt für die PDO des Geräts verfügbar ist, kann der Treiber WdfPdoRequestEjectaufrufen. Wenn der Treiber dynamische Busenumeration verwendet und die Identifikationsbeschreibung des Geräts verfügbar ist, kann der Treiber WdfChildListRequestChildEjectaufrufen.
Weitere Informationen zu WdfPdoRequestEject und WdfChildListRequestChildEject-finden Sie unter Unterstützen von auswerfbaren Geräten.
Beispiele
Im folgenden Codebeispiel wird eine Liste untergeordneter Geräte durchsucht, um eine Liste zu finden, die einer angegebenen Seriennummer entspricht. Wenn das Beispiel das richtige untergeordnete Element findet, ruft es WdfPdoRequestEject- auf, um anzugeben, dass das untergeordnete Element ausgeworfen wird. Dieses Beispiel stammt aus dem Toaster Beispielbustreiber und vereinfacht.
WDFDEVICE hChild = NULL;
NTSTATUS status = STATUS_INVALID_PARAMETER;
PPDO_DEVICE_DATA pdoData;
WdfFdoLockStaticChildListForIteration(Device);
while ((hChild = WdfFdoRetrieveNextStaticChild(
Device,
hChild,
WdfRetrieveAddedChildren
)) != NULL) {
//
// Obtain device object context space, and check the
// stored serial number.
//
pdoData = PdoGetData(hChild);
if (SerialNo == pdoData->SerialNo) {
status = STATUS_SUCCESS;
WdfPdoRequestEject(hChild);
}
}
WdfFdoUnlockStaticChildListFromIteration(Device);
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | universell |
| Minimale KMDF-Version | 1.0 |
| Kopfzeile | wdfpdo.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
| IRQL | <= DISPATCH_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |