структура 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