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


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

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

Синтаксис

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

Указатель на область контекста, указанную в элементе ContextWHEA_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, которое внедряет ошибку.

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

Функция обратного вызова InjectError подключаемого модуля PSHED возвращает один из следующих кодов 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 вызывает функцию обратного вызова InjectError подключаемого модуля PSHED для выполнения операции внедрения ошибок.

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

Требования

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

См. также раздел

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET