Freigeben über


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)

Siehe auch

EvtDeviceReleaseHardware

WDFDEVICE_INIT

WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE