提供IoTimer內容資訊
傳遞至 IoInitializeTimer 的內容指標會識別其他驅動程式例程和 IoTimer 例程本身可以維護有關計時作業的狀態的內容區域。 每當 I/O 管理員呼叫 IoTimer 例程時,就會傳遞 Context 指標。
由於 IoTimer 例程是在 IRQL = DISPATCH_LEVEL 執行,因此其內容區域必須位於常駐的系統空間記憶體中。 大部分具有 IoTimer 例程的驅動程式都會使用 相關聯裝置對象的裝置延伸 模組做為 內容可存取的區域,但如果驅動程式使用 控制器對象 或驅動程式所配置的非分頁集區,內容可以改為位於控制器擴充功能中。
請遵循下列 IoTimer 例程內容區域的指導方針:
如果 IoTimer 例程與驅動程式的 ISR 共用其內容區域,則必須使用 KeSynchronizeExecution 呼叫 SynchCritSection 例程,以多重處理器安全的方式存取內容區域。 如需詳細資訊,請參閱 使用重要章節。
如果IoTimer例程不會與ISR共用其內容區域,但會與另一個驅動程式例程共用,則驅動程式必須使用初始化的執行微調鎖定來保護共用內容區域,才能以多處理器安全的方式存取內容資訊。 如需詳細資訊,請參閱 微調鎖定。