Поделиться через


структура COPY_INFORMATION (ntifs.h)

Структура COPY_INFORMATION сопоставляет вызовы чтения и записи с операцией копирования из NtCopyFileChunk.

Синтаксис

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

Члены

SourceFileObject

Исходный объект файла копии.

SourceFileOffset

Смещение файла исходного файла копии. Это значение можно сравнить со смещением файла назначения во время записи, чтобы убедиться, что копия завершена и верна.

Замечания

Операции чтения и записи копии содержат те же сведения в соответствующих расширениях IRP, поэтому корреляция может выполняться с помощью COPY_INFORMATION для всех операций записи , имеющих расширение IopCopyInformationType IRP.

Если операции чтения и записи коррелируются и копируемые данные проверяются, то записанный целевой файл можно считать полной и верной копией источника. Это означает, что доверие можно передать из исходного файла в место назначения.

Копии обычно выполняются в блоках. Чтобы проверить всю копию файла, выполните следующие действия.

  • Каждый блок (каждый вызов NtCopyFileChunk) должен иметь свою операцию записи, связанную с предыдущей операцией чтения.

  • Все фрагменты, скопированные вместе, должны охватывать весь диапазон файла.

Фильтр может проверить правильность скопированных данных с исходной информацией, предоставленной в расширении IRP записи следующим образом:

  • Убедитесь, что в SourceFileObjectпроизошло соответствующее чтение.
  • Убедитесь, что SourceFileOffset соответствует смещение файла операции записи.

Дополнительные сведения см. в копировании файлов в режиме ядра и обнаружении сценариев копирования файлов.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11, версия 22H2
заголовка ntifs.h

См. также

FltGetCopyInformationFromCallbackData

IoCheckFileObjectOpenedAsCopySource

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile