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

Структура MARK_HANDLE_INFO передается в качестве входного буфера во время запроса кода элемента управления FSCTL_MARK_HANDLE .

Синтаксис

typedef struct _MARK_HANDLE_INFO {
  union {
    ULONG UsnSourceInfo;
    ULONG CopyNumber;
  } DUMMYUNIONNAME;
  ULONG  UsnSourceInfo;
  HANDLE VolumeHandle;
  ULONG  HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;

Члены

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

См. usnSourceInfo ниже.

DUMMYUNIONNAME.CopyNumber

Определяет, какую копию файла следует считать при чтении из файла, который находится на избыточном носителе.

UsnSourceInfo

Необязательные флаги сведений об источнике последовательности обновления (USN). Чтобы задать любое из этих значений, в поле VolumeHandle должен быть указан дескриптор DASD тома. Может быть сочетанием следующих значений:

Flag Значение
USN_SOURCE_DATA_MANAGEMENT Служба не изменяет внешнее представление какой-либо части файла. Типичный случай — это перемещение данных во внешнее хранилище и из нее.
USN_SOURCE_AUXILIARY_DATA Служба не изменяет внешнее представление файла в отношении приложения, создавшего этот файл. Можно использовать для добавления частных потоков данных в файл.
USN_SOURCE_REPLICATION_MANAGEMENT Служба изменяет файл в соответствии с содержимым того же файла, который существует в другом элементе набора реплика.
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT Репликация выполняется в клиентских системах из облака или серверов. Для задания этого значения не требуется дескриптор тома

VolumeHandle

Дескриптор тома для этой операции.

HandleInfo

Содержит флаги для идентификации запроса. Это поле может иметь одно из следующих значений:

Flag Значение
MARK_HANDLE_PROTECT_CLUSTERS Не допускайте дефрагментацию (FSCTL_MOVE_FILE), пока дескриптор не будет закрыт.
MARK_HANDLE_TXF_SYSTEM_LOG Этот поток используется в качестве журнала Txf для диспетчера ресурсов на томе. Должен вызываться в ядре с помощью IRP_MN_KERNEL_CALL. Доступно, начиная с Windows Vista.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG Этот компонент больше не использует этот объект в качестве файла журнала TxF. Доступно, начиная с Windows Vista.
MARK_HANDLE_REALTIME Поддерживается только файловой системой UDFS. Помечает устройство для потоковой передачи видео в реальном времени. Доступно начиная с Windows 7.
MARK_HANDLE_NOT_REALTIME Поддерживается только файловой системой UDFS. Помечает устройство, чтобы больше не выполнять потоковую передачу видео в реальном времени. Доступно начиная с Windows 7.
MARK_HANDLE_CLOUD_SYNC Устаревшие; не используйте этот флаг.
MARK_HANDLE_READ_COPY Данные должны считываться из указанной копии данных. Поддерживается только для дисковые пространства избыточных томов. Доступно начиная с Windows 8.
MARK_HANDLE_NOT_READ_COPY Данные больше не считываются из определенной копии. Поддерживается только для дисковые пространства избыточных томов. Доступно начиная с Windows 8.
MARK_HANDLE_FILTER_METADATA Зарезервировано только для внутреннего использования майкрософт.
MARK_HANDLE_RETURN_PURGE_FAILURE При перемешивлении сопоставленных и кэшированных операций ввода-вывода памяти с некэшированные операции ввода-вывода и не кэшированных операций ввода-вывода, система пытается очистить сопоставления памяти для диапазона не кэшированных операций ввода-вывода. Если эти очистки завершаются сбоем, система обычно не возвращает вызывающей объекту ошибку, что может привести к повреждению состояния. Этот флаг указывает системе возвращать ошибки очистки для заданного дескриптора, чтобы приложение лучше справилось с этой ситуацией. Доступно начиная с Windows 8.1.
MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION Отключает функцию сжатия службы репликации файлов (FRS) для заданного файла. Доступно начиная с Windows 10 версии 1507.
MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO Указывает NTFS задать заданное значение UsnSourceInfo при записи по страницам в Журнал USN. Обычно это не выполнялось при записи на разбиение по страницам, так как вы не знали, какой поток внес заданные изменения. Это переопределение. Это работает только в том случае, если объект FileObject, за который удерживается диспетчер памяти, имеет это состояние, связанное с ним. Доступно начиная с Windows 10 версии 1507.
MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES Сообщает системе, что запись в этом файле запрещена. Если кто-то пытается открыть файл для доступа на запись, операция завершается сбоем с STATUS_ACCESS_DENIED. Если запись отображается, операция завершается сбоем с STATUS_MARKED_TO_DISALLOW_WRITES. Доступно начиная с Windows 10 версии 1507.
MARK_HANDLE_ENABLE_CPU_CACHE Зарезервировано только для внутреннего использования майкрософт.
MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH Обычно при первой операции чтения и записи с дескриптором тома (открытие DASD) файловая система сбрасывает том. В некоторых сценариях это может иметь последствия для производительности. Если этот флаг установлен для дескриптора тома, он будет подавлять эту очистку при первом вводе-выводе. Доступно начиная с Windows 11.

Комментарии

MARK_HANDLE_INFO содержит сведения, используемые для пометки указанного файла или каталога, а также запись журнала изменений с порядком обновления (USN) с данными об изменениях.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Верхняя часть ntifs.h

См. также раздел

FSCTL_MARK_HANDLE