次の方法で共有


PshedSynchronizeExecution 関数 (ntddk.h)

PshedSynchronizeExecution 関数は、特定の関数の実行をエラー ソースのハードウェア エラー処理と同期します。

構文

NTPSHEDAPI BOOLEAN PshedSynchronizeExecution(
  [in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in] PKSYNCHRONIZE_ROUTINE         SynchronizeRoutine,
  [in] PVOID                         SynchronizeContext
);

パラメーター

[in] ErrorSource

エラー ソースを記述する WHEA_ERROR_SOURCE_DESCRIPTOR 構造体へのポインター。

[in] SynchronizeRoutine

ErrorSource パラメーターによって記述されたエラー ソースのハードウェア エラー処理と同期される、呼び出し元が指定した関数へのポインター。 SynchronizeRoutine 関数は、次のように宣言されています。

BOOLEAN
SynchronizeRoutine(
    _In_ PVOID  SynchronizeContext
    );

SynchronizeContext

SynchronizeContext パラメーターで PshedSynchronizeExecution 関数に渡されるコンテキスト値。

[in] SynchronizeContext

SynchronizeRoutine パラメーターによって指される関数に渡される呼び出し元が指定したコンテキスト領域へのポインター。

戻り値

PshedSynchronizeExecution は、SynchronizeRoutine パラメーターによって指される関数によって返される値を返します。

備考

PSHED プラグインは、PshedSynchronizeExecution 関数を呼び出して、特定の関数の実行をエラー ソースのハードウェア エラー処理と同期します。 これは、PSHED プラグインが、通常のハードウェア エラー処理フローの外部で実行されるコードと、通常のハードウェア エラー処理フローの一部として実行されるコードの間でリソースを共有する場合に必要です。 ハードウェア エラーの処理の詳細については、「エラー処理 を参照してください。

この関数が呼び出されると、次の処理が行われます。

  1. IRQL は、エラー ソースの低レベルハードウェア エラー ハンドラー (LLHEH) が実行される IRQL に対して発生します。

  2. SynchronizeContext パラメーターで指定されたコンテキスト領域へのアクセスは、関連付けられたスピン ロックを取得することによって LLHEH と同期されます。

  3. SynchronizeRoutine パラメーターで指定された関数が呼び出されます。

PshedSynchronizeExecution 関数の呼び出し元は、IRQL <= DIRQL で実行されている必要があります。つまり、エラー ソースの LLHEH が実行される IRQL 以下である必要があります。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
ライブラリ Pshed.lib
DLL Pshed.dll
IRQL IRQL <= DIRQL

関連項目

WHEA_ERROR_SOURCE_DESCRIPTOR