驅動程式會將其 SynchCritSection 例程用於兩個基本用途之一:
如同ISR,SynchCritSection 例程必須儘快執行,只執行設定裝置快取器或更新內容數據的必要動作,再傳回。
由於 KeSynchronizeExecution 會持有裝置驅動程式的中斷自旋鎖,在 SynchCritSection 例程執行時,驅動程式的 ISR 無法執行,必須等到 SynchCritSection 例程歸還控制權。
對於任何接收的 IRP,裝置驅動程式應該在其分派例程的 IRQL PASSIVE_LEVEL執行盡可能多的 I/O 處理(或可能 裝置專用線程),或在其 StartIo 例程和 DPC 例程中的 IRQL DISPATCH_LEVEL。
若要瞭解有關如何同步重要區段的詳細資訊,請參閱範例 使用自旋鎖。