IInterruptSync::CallSynchronizedRoutine 方法 (portcls.h)
CallSynchronizedRoutine
方法會呼叫的例程不是中斷服務例程 (ISR),但其執行必須與 ISR 同步。
語法
NTSTATUS CallSynchronizedRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext
);
參數
[in] Routine
要呼叫之例程的指標。 此例程會執行物件ISR的獨佔,以及透過物件同步處理的其他所有例程。 即使在多處理器計算機上,由指定物件同步處理的例程也不會同時執行。 此參數是 PINTERRUPTSYNCROUTINE 類型的函式指標(請參閱 IInterruptSync)。
[in] DynamicContext
要傳遞至例程的內容值。
傳回值
如果呼叫成功,CallSynchronizedRoutine
會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。
言論
執行任何已註冊的ISR一定會被按住,直到呼叫傳遞至 CallSynchronizedRoutine
的例程已完成為止。
CallSynchronizedRoutine
呼叫端必須在小於或等於與同步處理對象相關聯之中斷層級的 IRQL 上執行。 此中斷是由 PcNewInterruptSync 函式的 ResourceList 和 ResourceIndex 參數所指定。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | portcls.h (包括 Portcls.h) |
IRQL | 請參閱一節。 |