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