PSHED_PI_WRITE_ERROR_RECORD回呼函式 (ntddk.h)
PSHED 外掛程式的 WriteErrorRecord 回呼函式會將錯誤記錄寫入系統的持續數據記憶體。
語法
PSHED_PI_WRITE_ERROR_RECORD PshedPiWriteErrorRecord;
NTSTATUS PshedPiWriteErrorRecord(
[in, out, optional] PVOID PluginContext,
[in] ULONG Flags,
[in] ULONG RecordLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
參數
[in, out, optional] PluginContext
當 PSHED 外掛程式呼叫 PshedRegisterPlugin 函式,以向 PSHED 註冊本身時,WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的內容成員中指定的內容區域指標。
[in] Flags
影響寫入作業之旗標的位 OR 組合。 可能的旗標為:
WHEA_WRITE_FLAG_DUMMY
寫入作業是虛擬寫入作業。 不會將數據寫入系統的永續性數據記憶體。
[in] RecordLength
ErrorRecord 參數所指向之錯誤記錄的大小,以位元組為單位。
[in] ErrorRecord
WHEA_ERROR_RECORD 結構的指標,描述寫入系統永續性數據記憶體的錯誤記錄。
傳回值
PSHED 外掛程式的 WriteErrorRecord 回呼函式會傳回下列其中一個 NTSTATUS 程式代碼:
傳回碼 | Description |
---|---|
STATUS_SUCCESS | 錯誤記錄已成功寫入系統的永續性數據記憶體。 |
STATUS_UNSUCCESSFUL | 發生錯誤。 |
備註
參與錯誤記錄持續性的 PSHED 外掛程式會設定 Callbacks.WriteErrorRecord, 回呼.ReadErrorRecord 和 Callbacks.ClearErrorRecordWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的成員,以指向其 WriteErrorRecord、ReadErrorRecord 和 ClearErrorRecord 回呼函式,當插件呼叫 PshedRegisterPlugin 函式以向 PSHED 註冊本身。 PSHED 外掛程式也必須在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 FunctionalAreaMask 成員中設定 PshedFAErrorRecordPersistence 旗標。
每當發生嚴重或無法復原的錯誤狀況時,Windows 核心會呼叫 PSHED,將錯誤記錄寫入系統的持續性數據記憶體,以便在系統重新啟動時保留錯誤記錄。 如果 PSHED 外掛程式已註冊以參與錯誤記錄持續性,PSHED 會呼叫 PSHED 外掛程式的 WriteErrorRecord 回呼函式來執行寫入作業。 用來將錯誤記錄寫入系統永續性數據記憶體的機制是平臺特定的機制。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | ntddk.h (包含 Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |