Fungsi WdfDeviceInitSetReleaseHardwareOrderOnFailure (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfDeviceInitSetReleaseHardwareOrderOnFailure menentukan apakah kerangka kerja memanggil fungsi panggilan balik EvtDeviceReleaseHardware driver segera setelah kegagalan perangkat, atau menunggu hingga semua perangkat anak dihapus.
Sintaks
void WdfDeviceInitSetReleaseHardwareOrderOnFailure(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
);
Parameter
[in] DeviceInit
Penunjuk ke struktur WDFDEVICE_INIT .
[in] ReleaseHardwareOrderOnFailure
Enumerator jenis WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE yang menentukan kapan kerangka kerja memanggil fungsi panggilan balik EvtDeviceReleaseHardware driver.
Nilai kembali
Tidak ada
Keterangan
Biasanya, kerangka kerja memanggil fungsi panggilan balik EvtDeviceReleaseHardware driver setelah memanggil fungsi EvtDeviceReleaseHardware untuk semua perangkat anak yang dijumlahkan driver.
Namun, jika terjadi kegagalan daya atau matikan perangkat, kerangka kerja mungkin memanggil EvtDeviceReleaseHardware driver sebelum memanggil fungsi EvtDeviceReleaseHardware untuk semua perangkat anak.
Untuk mengambil alih perilaku default ini, driver dapat memanggil WdfDeviceInitSetReleaseHardwareOrderOnFailure untuk menentukan bahwa, bahkan dalam skenario kegagalan perangkat, kerangka kerja harus selalu menunggu untuk memanggil fungsi EvtDeviceReleaseHardware sampai telah memanggil fungsi EvtDeviceReleaseHardware dari perangkat anak.
Misalnya, driver bus yang melakukan akses perangkat keras atas nama perangkat anaknya dapat menggunakan teknik ini untuk memastikan bahwa perangkat anaknya tidak meminta akses ke perangkat keras setelah kerangka kerja memanggil fungsi panggilan balik EvtDeviceReleaseHardware driver bus.
Jika driver memanggil WdfDeviceInitSetReleaseHardwareOrderOnFailure, driver harus melakukannya sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.
Contoh
Contoh kode berikut menunjukkan bagaimana driver bus dapat meminta agar kerangka kerja menunggu untuk memanggil fungsi panggilan balik EvtDeviceReleaseHardware hingga semua perangkat turunannya telah dihapus.
WdfDeviceInitSetReleaseHardwareOrderOnFailure(
DeviceInit,
WdfReleaseHardwareOrderOnFailureAfterDescendants
);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1.11 |
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) |