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