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


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