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


структура 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). Чтобы задать любое из этих значений, необходимо указать дескриптор DASD тома в поле VolumeHandle. Может быть сочетанием следующих значений:

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

VolumeHandle

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

HandleInfo

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

Флаг Значение
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