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