структура 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
Необязательное значение, указывающее тип буфера, используемого в операции создания. Возможные значения : 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 |