функция обратного вызова PSHED_PI_INJECT_ERROR (ntddk.h)

Функция обратного вызова PSHED InError внедряет ошибку в аппаратную платформу.

Синтаксис

PSHED_PI_INJECT_ERROR PshedPiInjectError;

NTSTATUS PshedPiInjectError(
  [in, out, optional] PVOID PluginContext,
  [in]                ULONGLONG ErrorType,
  [in]                ULONGLONG Parameter1,
  [in]                ULONGLONG Parameter2,
  [in]                ULONGLONG Parameter3,
  [in]                ULONGLONG Parameter4
)
{...}

Параметры

[in, out, optional] PluginContext

Указатель на область контекста, указанную в элементе WHEA_PSHED_PLUGIN_REGISTRATION_PACKET контекста контексте, когда подключаемый модуль PSHED вызывает функцию PshedRegisterPlugin для регистрации в PSHED.

[in] ErrorType

Тип ошибки, который необходимо внедрить в аппаратную платформу. Возможные значения:

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

Исправленная ошибка процессора.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

Неуправляемая ошибка процессора, неуправляемая.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

Неустранимая ошибка неустранимого процессора.

INJECT_ERRTYPE_MEMORY_CORRECTABLE

Исправленная ошибка памяти.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

Неуправляемая ошибка памяти, неуправляемая.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

Неустранимая ошибка неустранимой памяти.

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

Исправленная ошибка PCI Express.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

Неуправляемая ошибка PCI Express, неуправляемая.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

Неустранимая неустранимая ошибка PCI Express.

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

Исправленная ошибка платформы.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

Неуправляемая ошибка платформы, неуправляемая.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLEFATAL

Незаменяемая неустранимая ошибка платформы.

[in] Parameter1

Универсальный параметр, содержащий дополнительные данные, передаваемые приложением управления WHEA, которое внедряет ошибку.

[in] Parameter2

Универсальный параметр, содержащий дополнительные данные, передаваемые приложением управления WHEA, которое внедряет ошибку.

[in] Parameter3

Универсальный параметр, содержащий дополнительные данные, передаваемые приложением управления WHEA, которое внедряет ошибку.

[in] Parameter4

Универсальный параметр, содержащий дополнительные данные, передаваемые приложением управления WHEA, которое внедряет ошибку.

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

Функция обратного вызова PSHED InjectErr or возвращает один из следующих кодов NTSTATUS:

Возвращаемый код Описание
STATUS_SUCCESS Ошибка была успешно внедрена в аппаратную платформу.
STATUS_UNSUCCESSFUL Произошла ошибка. Для внедренных ошибок, которые являются неустранимыми или невосстановленными, эта функция обратного вызова может не вернуться, прежде чем операционная система создает проверку ошибки в ответ на условие ошибки.

Замечания

Подключаемый модуль PSHED, который участвует в внедрении ошибок, задает callbacks.GetInjectionCapabilities и Callbacks.InjectError члены структуры WHEA_PSHED_PLUGIN_REGISTRATION_PACKET, чтобы указать на нее Функции обратного вызова GetInjectionCapabilities и InjectError, когда подключаемый модуль вызывает функцию PshedRegisterPlugin для регистрации в PSHED. Подключаемый модуль PSHED также должен задать флаг PSHedFAErrorInjection в элементе FunctionalAreaMask структуры WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.

Когда приложение управления WHEA отправляет запрос на внедрение аппаратной ошибки, ядро Windows вызывает PSHED, чтобы внедрить ошибку на аппаратную платформу. Если подключаемый модуль PSHED зарегистрирован для участия в внедрении ошибок, PSHED вызывает подключаемый модуль PSHED InjectError функцию обратного вызова для выполнения операции внедрения ошибок.

Приложение управления WHEA, которое внедряет ошибку, может передавать дополнительные данные об ошибках в функцию обратного вызова подключаемых модулей PSHED, обратного вызова с помощью параметров Parameter1 через Параметр4. Например, в системах на основе Itanium некоторые операции внедрения ошибок требуют сопровождающего адреса. В этой ситуации приложение управления WHEA может передать адрес в функцию обратного вызова подключаемого модуля PSHED с помощью одной из этих параметров.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в Windows Server 2008, Windows Vista с пакетом обновления 1 (SP1) и более поздних версиях Windows.
целевая платформа Настольный
заголовка ntddk.h (include Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

См. также

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET