WdfDeviceInitSetReleaseHardwareOrderOnFailure-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceInitSetReleaseHardwareOrderOnFailure Methode gibt an, ob das Framework die EvtDeviceReleaseHardware Rückruffunktion unmittelbar nach Geräteausfall aufruft oder wartet, bis alle untergeordneten Geräte entfernt wurden.
Syntax
void WdfDeviceInitSetReleaseHardwareOrderOnFailure(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur.
[in] ReleaseHardwareOrderOnFailure
Ein WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE-typed-Enumerator, der angibt, wann das Framework die EvtDeviceReleaseHardware Rückruffunktion aufruft.
Rückgabewert
Nichts
Bemerkungen
In der Regel ruft das Framework die EvtDeviceReleaseHardware Rückruffunktion auf, nachdem sie die EvtDeviceReleaseHardware Funktion für alle untergeordneten Geräte aufgerufen hat, die der Treiber aufzählt.
Im Falle eines Ein- oder Ausschaltens eines Geräts kann das Framework jedoch die EvtDeviceReleaseHardware- des Treibers aufrufen, bevor es den EvtDeviceReleaseHardware- Funktionen für alle untergeordneten Geräte aufgerufen hat.
Um dieses Standardverhalten außer Kraft zu setzen, kann ein Treiber WdfDeviceInitSetReleaseHardwareOrderOnFailure- aufrufen, um anzugeben, dass das Framework auch in Gerätefehlerszenarien immer darauf warten sollte, seine EvtDeviceReleaseHardware-Funktion aufzurufen, bis es die EvtDeviceReleaseHardware- Funktionen der untergeordneten Geräte aufgerufen hat.
Beispielsweise könnte ein Bustreiber, der hardwarebasierten Zugriff im Namen seiner untergeordneten Geräte durchführt, diese Technik verwenden, um sicherzustellen, dass seine untergeordneten Geräte keinen Zugriff auf Hardware anfordern, nachdem das Framework die EvtDeviceReleaseHardware Rückruffunktion aufgerufen hat.
Wenn ein Treiber WdfDeviceInitSetReleaseHardwareOrderOnFailureaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.
Beispiele
Das folgende Codebeispiel zeigt, wie ein Bustreiber anfordern kann, dass das Framework auf den Aufruf seiner EvtDeviceReleaseHardware Rückruffunktion wartet, bis alle untergeordneten Geräte entfernt wurden.
WdfDeviceInitSetReleaseHardwareOrderOnFailure(
DeviceInit,
WdfReleaseHardwareOrderOnFailureAfterDescendants
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.11 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf) |