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

指向刷新失败的文件的 section 对象的指针。

[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_INSUFFICIENT_RESOURCES)时返回STATUS_SUCCESS。

注解

除非调用包含相应的 Flag,否则 FsRtlLogCcFlushError 例程使用 IoRaiseInformationalHardError 向用户显示对话框(包括特定错误和 FileName),并使用 IoWriteErrorLogEntry 记录错误。

如果整个 FileName 无法容纳在日志缓冲区中,则例程会将省略号插入文件名中。

如果缓存中仍有已修改的页面,则错误不是致命错误。 例程返回给调用方,而不记录错误或显示对话框。

如果错误严重,则例程会将处理器控制块中丢失的延迟写入计数器递增 (PRCB) 。 此计数器可用于排查丢失延迟写入错误。

要求

要求
最低受支持的客户端 Windows Vista
目标平台 通用
标头 ntifs.h (包括 FltKernel.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

CcFlushCache

IoRaiseInformationalHardError

IoWriteErrorLogEntry