Bagikan melalui


Fungsi WdfDeviceSetFailed (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfDeviceSetFailed menginformasikan kerangka kerja bahwa driver mengalami kesalahan perangkat keras atau perangkat lunak yang terkait dengan perangkat tertentu.

Sintaks

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

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

[in] FailedAction

Enumerator berjenis WDF_DEVICE_FAILED_ACTION yang menunjukkan apakah kerangka kerja harus mencoba memuat ulang driver perangkat yang ditentukan.

Nilai kembali

Tidak ada

Keterangan

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Jika driver mengalami kesalahan perangkat keras atau perangkat lunak yang tidak dapat dipulihkan, driver harus memanggil WdfDeviceSetFailed sehingga sistem dapat membongkar driver perangkat.

Mulai dari UMDF versi 2.15, driver UMDF dapat meminta agar driver bus yang mendasar menghitung ulang dengan memanggil WdfDeviceSetFailed dengan FailedAction diatur ke WdfDeviceFailedAttemptRestart. Pengemudi bus harus mendukung antarmuka GUID_REENUMERATE_SELF_INTERFACE_STANDARD .

Atau, driver UMDF dapat mengatur FailedAction ke WdfDeviceFailedNoRestart.

Untuk informasi selengkapnya tentang WdfDeviceSetFailed, lihat Melaporkan Kegagalan Perangkat.

Contoh

Contoh kode berikut menginformasikan kerangka kerja bahwa kegagalan telah terjadi. Jika driver perangkat yang ditentukan tidak mendukung perangkat lain, kerangka kerja akan membongkar driver dan kemudian mencoba memuat ulang.

WdfDeviceSetFailed(
                   device,
                   WdfDeviceFailedAttemptRestart
                   );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)