структура MARK_HANDLE_INFO32 (winioctl.h)

Содержит сведения, используемые для пометки указанного файла или каталога, а также запись журнала изменений с порядком обновления (USN) с данными об изменениях. Он определяется только для 64-разрядного кода и существует для интерпретации MARK_HANDLE_INFO структур, отправленных 32-разрядным кодом. Он используется в коде элемента управления IOCTL FSCTL_MARK_HANDLE .

Синтаксис

typedef struct _MARK_HANDLE_INFO32 {
  union {
    DWORD UsnSourceInfo;
    DWORD CopyNumber;
  } DUMMYUNIONNAME;
  DWORD  UsnSourceInfo;
  UINT32 VolumeHandle;
  DWORD  HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;

Члены

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

DUMMYUNIONNAME.CopyNumber

UsnSourceInfo

Тип внесенных изменений.

Операция не изменяет файл или каталог извне с точки зрения созданного приложения.

Когда поток записывает новую запись USN, флаги исходной информации в предыдущей записи продолжают присутствовать только в том случае, если поток также устанавливает эти флаги. Таким образом, структура исходной информации позволяет приложениям фильтровать записи USN, которые задаются только известным источником, например антивирусным фильтром.

Определены следующие значения.

Значение Значение
USN_SOURCE_DATA_MANAGEMENT
0x00000001
Операция предоставляет сведения об изменении файла или каталога, внесенного операционной системой.

Обычно используется, когда удаленное хранилище перемещает данные из внешнего хранилища в локальное. Удаленное хранилище — это программное обеспечение для управления иерархическими хранилищами. Такой переход обычно как минимум добавляет флаг USN_REASON_DATA_OVERWRITE в запись USN. Однако данные не изменились с точки зрения пользователя. Заметив USN_SOURCE_DATA_MANAGEMENT в элементе SourceInfoструктуры USN_RECORD , в которой хранится запись, можно определить, что хотя операция записи выполняется с элементом, данные не изменились.

USN_SOURCE_AUXILIARY_DATA
0x00000002
Операция добавляет поток частных данных в файл или каталог.

Примером может быть детектор вирусов, добавляющий сведения о контрольной сумме. Когда детектор вирусов изменяет элемент, система создает записи USN. USN_SOURCE_AUXILIARY_DATA указывает, что изменения не изменили данные приложения.

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
Операция создает или обновляет содержимое реплицированного файла.

Например, служба репликации файлов устанавливает этот флаг при создании или обновлении файла в реплицированном каталоге.

VolumeHandle

Дескриптор тома, на котором находится файл или каталог. Дополнительные сведения о получении дескриптора тома см. в разделе Примечания.

Этот дескриптор необходим для проверки привилегий для этой операции.

Вызывающий объект должен иметь привилегию SE_MANAGE_VOLUME_NAME . Дополнительные сведения см. в разделе Привилегии.

HandleInfo

Флаг, указывающий дополнительные сведения о файле или каталоге, определяемом значением дескриптора в элементе VolumeHandle .

Значение Значение
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
Файл помечается как не удается дефрагментировать до закрытия дескриптора.
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
Файл помечается как не удается дефрагментировать до закрытия дескриптора.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
Файл помечается как не удается дефрагментировать до закрытия дескриптора.
MARK_HANDLE_REALTIME
0x00000020
Файл помечается для чтения в режиме реального времени независимо от фактического типа файла. Файлы, помеченные этим флагом, должны быть открыты для небуферированных операций ввода-вывода.
MARK_HANDLE_NOT_REALTIME
0x00000040
Файл, ранее помеченный для чтения в режиме реального времени с помощью флага MARK_HANDLE_REALTIME , может быть снят с помощью этого флага, удаляя поведение в режиме реального времени. Файлы, помеченные этим флагом, должны быть открыты для небуферированных операций ввода-вывода.

Требования

   
Минимальная версия клиента Windows 8 (только 64-разрядная версия) [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть winioctl.h (включая Windows.h)