Fungsi IoInitializeTimer (wdm.h)
Rutinitas IoInitializeTimer menyiapkan rutinitas IoTimer yang disediakan driver yang terkait dengan objek perangkat tertentu.
Sintaks
NTSTATUS IoInitializeTimer(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIO_TIMER_ROUTINE TimerRoutine,
[in, optional] __drv_aliasesMem PVOID Context
);
Parameter
[in] DeviceObject
Pointer ke objek perangkat yang mewakili perangkat tempat operasi I/O dapat kehabisan waktu.
[in] TimerRoutine
Arahkan ke rutinitas IoTimer yang disediakan driver.
[in, optional] Context
Arahkan ke konteks yang ditentukan driver yang rutinitas IoTimer-nya akan dipanggil.
Nilai kembali
IoInitializeTimer mengembalikan STATUS_SUCCESS jika rutinitas IoTimer disiapkan.
Keterangan
IoInitializeTimer harus dipanggil hanya sekali per objek perangkat.
Rutinitas IoTimer driver dipanggil sekali per detik setelah driver mengaktifkan timer dengan memanggil IoStartTimer. Driver dapat menonaktifkan timer dengan memanggil IoStopTimer dan dapat mengaktifkannya kembali dengan IoStartTimer.
Rutinitas IoTimer driver dipanggil di IRQL = DISPATCH_LEVEL dan oleh karena itu tidak boleh berisi kode yang dapat dipaginasi.
Ketika timer berjalan, manajer I/O memanggil rutinitas IoTimer yang disediakan driver sekali per detik. Driver yang rutinitas waktu habis harus dipanggil pada interval variabel atau pada interval granularitas yang lebih halus dapat mengatur rutinitas CustomTimerDpc dan menggunakan rutinitas Timer KeXxx.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |