次の方法で共有


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 パラメーターによって指定されました。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL 「解説」を参照してください。

こちらもご覧ください

IInterruptSync

KeSynchronizeExecution

PcNewInterruptSync