Freigeben über


WdfDeviceSetFailed-Funktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WdfDeviceSetFailed Methode informiert das Framework darüber, dass der Treiber einen Hardware- oder Softwarefehler festgestellt hat, der einem angegebenen Gerät zugeordnet ist.

Syntax

void WdfDeviceSetFailed(
  [in] WDFDEVICE                Device,
  [in] WDF_DEVICE_FAILED_ACTION FailedAction
);

Parameter

[in] Device

Ein Handle zu einem Framework-Geräteobjekt.

[in] FailedAction

Ein WDF_DEVICE_FAILED_ACTION-typed-Enumerator, der angibt, ob das Framework versuchen soll, die Treiber des angegebenen Geräts neu zu laden.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Wenn ein Treiber auf einen nicht wiederherstellbaren Hardware- oder Softwarefehler stößt, muss er WdfDeviceSetFailed- aufrufen, damit das System die Treiber des Geräts entladen kann.

Ab UMDF Version 2.15 kann ein UMDF-Treiber anfordern, dass der zugrunde liegende Bustreiber sie erneut aufzählt, indem er WdfDeviceSetFailed- mit FailedAction- auf WdfDeviceFailedAttemptRestartfestgelegt ist. Der Bustreiber muss die GUID_REENUMERATE_SELF_INTERFACE_STANDARD Schnittstelle unterstützen.

Alternativ kann ein UMDF-Treiber FailedAction- auf WdfDeviceFailedNoRestart-festlegen.

Weitere Informationen zu WdfDeviceSetFailedfinden Sie unter Melden von Gerätefehlern.

Beispiele

Im folgenden Codebeispiel wird das Framework darüber informiert, dass ein Fehler aufgetreten ist. Wenn die Treiber des angegebenen Geräts andere Geräte nicht unterstützen, entlädt das Framework die Treiber und versucht dann, sie erneut zu laden.

WdfDeviceSetFailed(
                   device,
                   WdfDeviceFailedAttemptRestart
                   );

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)