EVT_WDF_TIMER fungsi panggilan balik (wdftimer.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtTimerFunc dipanggil ketika periode waktu yang ditentukan telah berlalu.

Sintaks

EVT_WDF_TIMER EvtWdfTimer;

void EvtWdfTimer(
  [in] WDFTIMER Timer
)
{...}

Parameter

[in] Timer

Handel ke objek pengatur waktu kerangka kerja yang diperoleh dari panggilan sebelumnya ke WdfTimerCreate.

Nilai kembali

Tidak ada

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtTimerFunc dan menentukan periode waktu yang harus berlalu sebelum kerangka kerja memanggil fungsi ini, driver Anda harus memanggil WdfTimerCreate.

Dalam versi KMDF sebelum versi 1.9, kerangka kerja mengimplementasikan fungsi panggilan balik EvtTimerFunc sebagai panggilan prosedur yang ditangguhkan (DPC). Oleh karena itu, ketika periode waktu berlalu, sistem menambahkan panggilan ke fungsi panggilan balik EvtTimerFunc ke antrean DPC. Sistem memanggil fungsi panggilan balik EvtTimerFunc di IRQL = DISPATCH_LEVEL ketika mencapai bagian depan antrean dan CPU yang berjalan di IRQL < DISPATCH_LEVEL tersedia.

Di KMDF versi 1.9 dan yang lebih baru, secara default kerangka kerja mengimplementasikan fungsi panggilan balik EvtTimerFunc sebagai DPC. Atau, jika driver mengatur tingkat eksekusi objek timer ke WdfExecutionLevelPassive, kerangka kerja memanggil fungsi panggilan balik EvtTimerFunc dari item kerja di IRQL = PASSIVE_LEVEL.

Catatan

Jika fungsi panggilan balik EvtTimerFunc yang berjalan di PASSIVE_LEVEL memanggil WdfObjectDelete, hal ini mengalihkan kebuntuan. Sebagai gantinya, tunggu induk menghapus timer secara otomatis saat perangkat dihapus - atau, jika Anda perlu menghapus lebih awal, jadwalkan item kerja dari panggilan balik timer untuk menghapus timer.

Mulai dari UMDF versi 2.0, fungsi panggilan balik EvtTimerFunc driver UMDF selalu berjalan pada PASSIVE_LEVEL.

Untuk informasi selengkapnya tentang objek timer kerangka kerja, lihat Menggunakan Timer.

Persyaratan

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

Lihat juga

WdfTimerCreate