Memberikan Informasi Konteks IoTimer
Penunjuk Konteks yang diteruskan ke IoInitializeTimer mengidentifikasi area konteks di mana rutinitas driver lain, dan rutinitas IoTimer itu sendiri, dapat mempertahankan status tentang operasi berwaktu. Manajer I/O meneruskan penunjuk Konteks setiap kali memanggil rutinitas IoTimer .
Karena rutinitas IoTimer dijalankan di IRQL = DISPATCH_LEVEL, area konteksnya harus berada di memori ruang sistem yang tinggal. Sebagian besar driver yang memiliki rutinitas IoTimer menggunakan ekstensi perangkat objek perangkat terkait sebagai area yang dapat diakses Konteks, tetapi konteksnya dapat berada dalam ekstensi pengontrol jika driver menggunakan objek pengontrol atau di kumpulan yang tidak dialokasikan oleh driver.
Ikuti panduan ini untuk area konteks rutin IoTimer:
Jika rutinitas IoTimer berbagi area konteksnya dengan ISR driver, IoTimer harus menggunakan KeSynchronizeExecution untuk memanggil rutinitas SynchCritSection yang mengakses area konteks dengan cara yang aman multiprosesor. Untuk informasi selengkapnya, lihat Menggunakan Bagian Penting.
Jika rutinitas IoTimer tidak berbagi area konteksnya dengan ISR, tetapi membagikannya dengan rutinitas driver lain, driver harus melindungi area konteks bersama dengan kunci putaran eksekutif yang diinisialisasi, untuk mengakses informasi konteks dengan cara yang aman multiprosesor. Untuk informasi selengkapnya, lihat Kunci Putar.