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

Структура ATOMIC_CREATE_ECP_CONTEXT содержит дополнительный контекст параметра создания (ECP), который позволяет выполнять дополнительные операции с файлом атомарным образом во время создания.

Синтаксис

typedef struct _ATOMIC_CREATE_ECP_CONTEXT {
  USHORT               Size;
  USHORT               InFlags;
  USHORT               OutFlags;
  USHORT               ReparseBufferLength;
  PREPARSE_DATA_BUFFER ReparseBuffer;
  LONGLONG             FileSize;
  LONGLONG             ValidDataLength;
  PFILE_TIMESTAMPS     FileTimestamps;
  ULONG                FileAttributes;
  ULONG                UsnSourceInfo;
  USN                  Usn;
  ULONG                SuppressFileAttributeInheritanceMask;
  ULONG                InOpFlags;
  ULONG                OutOpFlags;
  ULONG                InGenFlags;
  ULONG                OutGenFlags;
  ULONG                CaseSensitiveFlagsMask;
  ULONG                InCaseSensitiveFlags;
  ULONG                OutCaseSensitiveFlags;
} ATOMIC_CREATE_ECP_CONTEXT, *PATOMIC_CREATE_ECP_CONTEXT;

Члены

Size

Размер этой структуры контекста в байтах.

InFlags

Флаги, указывающие запрошенные дополнительные операции, выполняемые с помощью операции создания.

Значение Значение
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED Запрашивает, чтобы в файле был установлен разреженный флаг.
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED Запрашивает, чтобы в файле была задана точка повторного анализов.
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED Запрашивает, чтобы размер файла был задан для файла. Это также подразумевает
что выделение на диске будет выполняться для поддержки запрошенного размера файла.
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED Запрашивает, чтобы в файле была задана допустимая длина данных. Это также означает, что размер файла должен быть установлен как минимум на запрошенную допустимую длину данных. ПРИМЕЧАНИЕ. Это считается привилегированной операцией, если она потенциально может
предоставляют неинициализированные данные.
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK Используйте этот флаг в качестве маски для указания других значений флага InFlags .
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT Указывает, что файловая система должна выполнить операцию создания, даже если некоторые из запрошенных дополнительных операций не могут быть
выполняется или не поддерживается файловой системой. Вызывающий объект может проверка OutFlags, чтобы узнать, какие операции были выполнены. Если этот флаг не указан, файловая система должна завершить операцию создания, если она не может успешно выполнить все запрошенные дополнительные операции.

OutFlags

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

Значение Значение
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET Указывает, что для файла был установлен разреженный флаг.
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET Указывает, что для файла была задана точка повторного аналитики.
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET Указывает, что размер файла был задан для файла и что выделение на диске было выполнено для поддержки запрошенного размера файла.
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET Указывает, что для файла была задана допустимая длина данных, а для размера файла задана по крайней мере запрошенная допустимая длина данных.
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK Используйте это значение флага в качестве маски для определения дополнительных операций, выполненных с помощью операции создания.

ReparseBufferLength

Длина элемента ReparseBuffer . Это значение не может превышать MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16 КБ).

ReparseBuffer

Необязательное значение, указывающее тип буфера, используемого в операции создания. Возможные значения : REPARSE_DATA_BUFFER или REPARSE_GUID_DATA_BUFFER.

FileSize

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

ValidDataLength

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

FileTimestamps

Указатель на необязательную структуру FILE_TIMESTAMPS , которая содержит последний записанный экземпляр определенных действий в файле.

FileAttributes

Указывает атрибуты файла.

UsnSourceInfo

Указывает необязательные флаги сведений об источнике номера обновления (USN).

Usn

Указывает порядковый номер обновления (USN). Это значение заполняется в конце GUID_ECP_ATOMIC_CREATE .

SuppressFileAttributeInheritanceMask

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

InOpFlags

флаги ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx.

OutOpFlags

флаги ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx.

InGenFlags

флаги ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx.

OutGenFlags

флаги ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx.

CaseSensitiveFlagsMask

Указывает, какие флаги FILE_CS_FLAG_xxx указаны; Файловые системы должны выбирать значения по умолчанию для других флагов.

InCaseSensitiveFlags

Флаги с учетом регистра ввода в файле. Даже если BEST_EFFORT не указан, файловые системы могут игнорировать некоторые из значений InCaseSensitiveFlags. Поведение похоже на FileCaseSensitiveInformation, поэтому вызывающие пользователи могут проверить OutCaseSensitiveFlags , чтобы узнать установленные флаги. Если флаг не поддерживается в каком-либо файле или каталоге, BEST_EFFORT вступит в силу.

OutCaseSensitiveFlags

Этот элемент возвращает флаги файла с учетом регистра, даже если не указаны файлы InCaseSensitiveFlags .

Комментарии

Системное значение GUID_ECP_ATOMIC_CREATE** используется с этой структурой контекста ECP при вызове связанных с ECP процедур поддержки, таких как FltAllocateExtraCreateParameter и FsRtlRemoveExtraCreateParameter.

Дополнительные сведения см. в статье Общие сведения о дополнительных параметрах создания .

Требования

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