COPY_INFORMATION结构 (ntifs.h)

COPY_INFORMATION 结构关联从 NtCopyFileChunk对复制作的读取和写入调用。

语法

typedef struct _COPY_INFORMATION {
  PFILE_OBJECT SourceFileObject;
  LONGLONG     SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;

成员

SourceFileObject

副本的源文件对象。

SourceFileOffset

副本源文件的文件偏移量。 此值可以与写入期间目标的文件偏移量进行比较,以确保副本完整且忠实。

言论

副本的读取和写入作在其各自的 IRP 扩展中包含相同的信息,因此,对于具有 IopCopyInformationType IRP 扩展的所有写入,可以使用 COPY_INFORMATION 实现关联。

如果读取和写入作相关且复制的数据已验证,则可以将写入的目标文件视为源的完整忠实副本。 这意味着可以将信任从源文件传递到目标。

副本通常以区块形式发生。 验证整个文件副本:

  • 每个区块(每次调用 NtCopyFileChunk)都必须具有与上一个读取作相关的写入作。

  • 一起复制的所有区块都应涵盖文件的全部范围。

筛选器可以使用写入的 IRP 扩展中提供的源信息验证复制数据的正确性,如下所示:

  • 验证 SourceFileObject上是否发生了匹配的读取。
  • 验证 SourceFileOffset 是否与写入作的文件偏移量匹配。

有关详细信息,请参阅 内核模式文件复制和检测复制文件方案

要求

要求 价值
最低支持的客户端 Windows 11 版本 22H2
标头 ntifs.h

另请参阅

FltGetCopyInformationFromCallbackData

IoCheckFileObjectOpenedAsCopySource

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile