Bagikan melalui


EVT_WDF_INTERRUPT_ENABLE fungsi panggilan balik (wdfinterrupt.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtInterruptEnable driver memungkinkan gangguan perangkat keras tertentu.

Sintaks

EVT_WDF_INTERRUPT_ENABLE EvtWdfInterruptEnable;

NTSTATUS EvtWdfInterruptEnable(
  [in] WDFINTERRUPT Interrupt,
  [in] WDFDEVICE AssociatedDevice
)
{...}

Parameter

[in] Interrupt

Handel ke objek interupsi kerangka kerja.

[in] AssociatedDevice

Handel ke objek perangkat kerangka kerja yang diteruskan driver ke WdfInterruptCreate.

Nilai kembali

Fungsi panggilan balik EvtInterruptEnable harus mengembalikan STATUS_SUCCESS atau nilai status lain yang NT_SUCCESS(status) sama dengan TRUE jika fungsi tidak mengalami kesalahan. Jika tidak, fungsi ini harus mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE.

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtInterruptEnable , driver Anda harus menempatkan alamat fungsi panggilan balik dalam struktur WDF_INTERRUPT_CONFIG sebelum memanggil WdfInterruptCreate.

Kerangka kerja memanggil fungsi panggilan balik EvtInterruptEnable driver setiap kali perangkat memasuki status berfungsi (D0). Selain itu, driver dapat menyebabkan kerangka kerja memanggil fungsi panggilan balik EvtInterruptEnable dengan memanggil WdfInterruptEnable. Perhatikan bahwa sebagian besar driver berbasis kerangka kerja tidak boleh memanggil WdfInterruptEnable, karena kerangka kerja memanggil fungsi panggilan balik EvtInterruptEnable driver setiap kali perangkat memasuki status berfungsi (D0).

Sebelum memanggil fungsi panggilan balik EvtInterruptEnable , kerangka kerja menaikkan IRQL prosesor ke DIRQL perangkat dan memperoleh kunci spin yang ditentukan driver dalam struktur WDF_INTERRUPT_CONFIG objek interupsi.

Dimulai dengan KMDF versi 1.11, driver Anda dapat memberikan penanganan gangguan tingkat pasif. Jika driver telah meminta penanganan gangguan tingkat pasif, maka sebelum memanggil fungsi EvtInterruptEnable di IRQL = PASSIVE_LEVEL, kerangka kerja memperoleh kunci gangguan tingkat pasif yang dikonfigurasi driver dalam struktur WDF_INTERRUPT_CONFIG objek interupsi.

Setelah fungsi panggilan balik EvtInterruptEnable kembali, kerangka kerja memanggil fungsi panggilan balik peristiwa EvtDeviceD0EntryPostInterruptsEnabled driver di IRQL = PASSIVE_LEVEL.

Anda tidak boleh berasumsi bahwa perangkat akan menggunakan sumber daya interupsi yang sama setiap kali kerangka kerja memanggil fungsi panggilan balik EvtInterruptEnable driver Anda. Terkadang manajer PnP mendistribusikan ulang sumber daya sistem, dan mungkin menetapkan sumber daya interupsi baru ke perangkat Anda. Driver dapat memanggil WdfInterruptGetInfo untuk menentukan sumber daya interupsi perangkat.

Untuk informasi selengkapnya tentang menangani gangguan dalam driver berbasis kerangka kerja, lihat Menangani Gangguan Perangkat Keras.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfinterrupt.h (termasuk Wdf.h)
IRQL (Lihat bagian Keterangan.)

Lihat juga

EvtDeviceD0EntryPostInterruptsEnabled

EvtInterruptDisable

WDF_INTERRUPT_CONFIG

WdfInterruptCreate

WdfInterruptEnable

WdfInterruptGetInfo