Поделиться через


Функция 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

Значение контекста, переданное в параметре SyncContext SyncContext функции PshedSynchronizeExecution.

[in] SynchronizeContext

Указатель на область контекста, предоставляемую вызывающим объектом, которая передается функции, на которую указывает параметр SynchronizeRoutine.

Возвращаемое значение

PshedSynchronizeExecution возвращает значение, возвращаемое функцией, на которую указывает параметр SyncRoutine.

Замечания

Подключаемый модуль PSHED вызывает функцию PshedSynchronizeExecut ion, чтобы синхронизировать выполнение данной функции с аппаратной обработкой ошибок для источника ошибок. Это необходимо всякий раз, когда подключаемый модуль PSHED использует ресурсы между кодом, выполняющимся вне обычного потока обработки ошибок оборудования и кода, который выполняется в рамках обычного потока обработки ошибок оборудования. Дополнительные сведения об обработке аппаратных ошибок см. в обработки ошибок.

При вызове этой функции происходит следующее:

  1. IRQL вызывается к IRQL, с помощью которого выполняется обработчик ошибок низкого уровня (LLHEH) источника ошибок.

  2. Доступ к области контекста, указанной параметром синхронизации SynchronizeContext, синхронизируется с LLHEH путем получения связанной блокировки спина.

  3. Вызывается функция, указанная в параметре СинхронизацииRoutine.

Вызывающие функции PshedSynchronizeExecut ion должны выполняться в IRQL <= DIRQL, то есть меньше или равно irQL, при котором выполняется LLHEH для источника ошибок.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntddk.h (include Ntddk.h)
библиотеки Pshed.lib
DLL Pshed.dll
IRQL IRQL <= DIRQL

См. также

WHEA_ERROR_SOURCE_DESCRIPTOR