Share via


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 參數所指定。

規格需求

需求
目標平台 Universal
標頭 portcls.h (包括 Portcls.h)
IRQL 請參閱一節。

另請參閱

IInterruptSync

KeSynchronizeExecution

PcNewInterruptSync