функция обратного вызова PSHED_PI_FINALIZE_ERROR_RECORD (ntddk.h)
Функция обратного вызова PSHED FinalizeErrorRecord добавляет дополнительные разделы записей ошибок в запись об ошибке, которая более полно описывает условие ошибки.
Синтаксис
PSHED_PI_FINALIZE_ERROR_RECORD PshedPiFinalizeErrorRecord;
NTSTATUS PshedPiFinalizeErrorRecord(
[in, out, optional] PVOID PluginContext,
[in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
[in] ULONG BufferLength,
[in, out] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
Параметры
[in, out, optional] PluginContext
Указатель на область контекста, указанную в элементе WHEA_PSHED_PLUGIN_REGISTRATION_PACKET контекста контексте, когда подключаемый модуль PSHED вызывает функцию PshedRegisterPlugin для регистрации в PSHED.
[in] ErrorSource
Указатель на структуру WHEA_ERROR_SOURCE_DESCRIPTOR, описывающую источник ошибок, сообщающий об ошибке оборудования.
[in] BufferLength
Размер буфера в байтах, на который указывает параметр ErrorRecord.
[in, out] ErrorRecord
Указатель на структуру WHEA_ERROR_RECORD, описывающую запись об ошибке, обновляемую с дополнительными разделами записей ошибок.
Возвращаемое значение
Функция обратного вызова PSHED FinalizeErrorRecord возвращает один из следующих кодов NTSTATUS:
Возвращаемый код | Описание |
---|---|
STATUS_SUCCESS | Запись об ошибке была успешно обновлена с любыми дополнительными разделами записей об ошибках. |
STATUS_BUFFER_TOO_SMALL | Размер буфера, на который указывает параметр ErrorRecord, указанный параметром BufferLength, слишком мал, чтобы содержать запись об ошибке, если она обновляется с дополнительными разделами записей ошибок. |
STATUS_NOT_SUPPORTED | Подключаемый модуль PSHED не поддерживает указанный источник ошибок. |
STATUS_UNSUCCESSFUL | Произошла ошибка. |
Замечания
Подключаемый модуль PSHED, который участвует в получении сведений об ошибках, задает Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecordи Callbacks.ClearErrorStatus членов структуры WHEA_PSHED_PLUGIN_REGISTRATION_PACKET наведите указатель на его RetrieveErrorInfo, FinalizeErrorRecordи Функции обратного вызова ClearErrorStatus при вызове функции обратного вызова PshedRegisterPlugin для регистрации в PSHED. Подключаемый модуль PSHED также должен задать флаг PshedFAErrorInfoRetrie val в элементе FunctionalAreaMask структуры WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
Ядро Windows вызывает PSHED, чтобы добавить дополнительные разделы записи об ошибках в запись ошибки. Если подключаемый модуль PSHED зарегистрирован для участия в получении сведений об ошибках, PSHED вызывает подключаемый модуль PSHED в функции обратного вызова FinalizeErrorRecord, чтобы подключаемый модуль PSHED может добавить дополнительные разделы записей ошибок в запись об ошибке, которая более полно описывает условие ошибки.
Подключаемый модуль PSHED должен гарантировать, что он не добавляет дополнительные разделы записи об ошибках за пределами записи об ошибке. Объем памяти, выделенной ядром Windows для буфера, содержащего определенную запись ошибок, вычисляется из MaxRawDataLength и MaxSectionsPerRecord членов структуры WHEA_ERROR_SOURCE_DESCRIPTOR, описывающей источник ошибок, сообщающий об ошибке оборудования. Если подключаемый модуль PSHED требует дополнительного буферного пространства для хранения дополнительных разделов записей ошибок, которые он добавляет в запись ошибок, он должен участвовать в обнаружении источника ошибок и увеличить значение в MaxSectionsPerRecord член структуры WHEA_ERROR_SOURCE_DESCRIPTOR для каждого источника ошибок в соответствии с учетом любых дополнительных разделов записей ошибок.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | ntddk.h (include Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |