FsRtlLogCcFlushError 函数 (ntifs.h)
FsRtlLogCcFlushError 例程记录丢失的延迟写入错误并向用户显示对话框。
语法
NTSTATUS FsRtlLogCcFlushError(
[in] PUNICODE_STRING FileName,
[in] PDEVICE_OBJECT DeviceObject,
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in] NTSTATUS FlushError,
[in] ULONG Flags
);
参数
[in] FileName
无法刷新的文件的名称。
[in] DeviceObject
指向此日志条目应针对的设备对象的指针。
[in] SectionObjectPointer
指向刷新失败的文件的节对象的指针。
[in] FlushError
调用 CcFlushCache返回的错误。
[in] Flags
值为 0 或以下标志的一个或多个按位组合:
旗 | 意义 |
---|---|
FSRTL_CC_FLUSH_ERROR_FLAG_NO_HARD_ERROR | 禁止向用户显示信息对话框。 |
FSRTL_CC_FLUSH_ERROR_FLAG_NO_LOG_ENTRY | 禁止生成系统错误日志条目。 |
返回值
FsRtlLogCcFlushError 例程返回成功或其他 NTSTATUS 值STATUS_SUCCESS,例如STATUS_INSUFFICIENT_RESOURCES。
言论
除非调用包括适当的 标志,否则 FsRtlLogCcFlushError 例程使用 IoRaiseInformationalHardError 向用户显示对话框,包括特定错误和 FileName,并使用 IoWriteErrorLogEntry 记录错误。
如果整个 FileName 不能容纳在日志缓冲区中,则例程会将省略号插入文件名。
如果缓存仍具有已修改的页面,则错误不是致命的。 例程返回给调用方,而不记录错误或显示对话框。
如果错误是致命的,则例程会递增处理器控制块(PRCB)中丢失的延迟写入计数器。 此计数器可用于排查丢失的延迟写入错误。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
目标平台 | 普遍 |
标头 | ntifs.h (包括 FltKernel.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |