共用方式為


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 函式的 ResourceListResourceIndex 參數所指定。

要求

要求 價值
目標平臺 普遍
標頭 portcls.h (包括 Portcls.h)
IRQL 請參閱一節。

另請參閱

IInterruptSync

KeSynchronizeExecution

PcNewInterruptSync