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

另请参阅

CcFlushCache

IoRaiseInformationalHardError

IoWriteErrorLogEntry