共用方式為


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 會引發至 IRQL,而低階硬體錯誤處理程式會針對錯誤來源執行 (LLHEH) 。

  2. SynchronizeContext 參數所指定的內容區域存取會透過取得相關聯的微調鎖定,與 LLHEH 同步處理。

  3. 呼叫 SynchronizeRoutine 參數中指定的函式。

PshedSynchronizeExecution 函式的呼叫端必須在 IRQL <= DIRQL 上執行,也就是小於或等於錯誤來源的 LLHEH 執行所在的 IRQL。

規格需求

需求
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 Pshed.lib
Dll Pshed.dll
IRQL IRQL <= DIRQL

另請參閱

WHEA_ERROR_SOURCE_DESCRIPTOR