Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция обратного вызова 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 |