Bagikan melalui


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)

Lihat juga

EvtDeviceReleaseHardware

WDFDEVICE_INIT

WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE