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) |