Bagikan melalui


Menyediakan Informasi Konteks CustomTimerDpc

Penunjuk DeferredContext yang diteruskan ke KeInitializeDpc menunjuk ke area konteks di mana rutinitas driver lain, dan rutinitas CustomTimerDpc itu sendiri, dapat mempertahankan status. Kernel melewati penunjuk DeferredContext di setiap panggilan ke rutinitas DPC.

Tidak seperti rutinitas IoTimer , CustomTimerDpc tidak memiliki asosiasi tertentu dengan objek perangkat yang dibuat driver. Namun, driver dapat mengaitkan rutinitas CustomTimerDpc dengan objek perangkat yang dibuat driver dengan menyertakan pointer ke objek perangkat di area konteksnya.

Area konteks harus berada dalam memori yang dialokasikan oleh pengemudi. Biasanya, area konteks ini berada dalam ekstensi perangkat, tetapi juga dapat berada di kumpulan yang tidak disebarkan. Jika driver menggunakan objek pengontrol, itu bisa berada di ekstensi pengontrol. Isi area konteks ditentukan driver.

Jika rutin CustomTimerDpc berbagi informasi konteks dengan ISR driver, rutinitas CustomTimerDpc harus menggunakan KeSynchronizeExecution untuk memanggil rutinitas SynchCritSection yang mengakses konteks bersama. Untuk informasi selengkapnya, lihat Menggunakan Bagian Penting.

Jika CustomTimerDpc berbagi informasi konteks dengan rutinitas driver non-ISR lainnya, area di DeferredContext harus dilindungi oleh kunci putar eksekutif. Untuk informasi selengkapnya, lihat Kunci Putar.