struktur ATOMIC_CREATE_ECP_CONTEXT (ntifs.h)
Struktur ATOMIC_CREATE_ECP_CONTEXT berisi konteks parameter buat ekstra (ECP) yang memungkinkan operasi tambahan dilakukan pada file secara atomik selama pembuatan.
Sintaks
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;
Anggota
Size
Ukuran struktur konteks ini, dalam byte.
InFlags
Bendera yang menunjukkan operasi tambahan yang diminta untuk dilakukan dengan operasi buat.
Nilai | Makna |
---|---|
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED | Meminta agar bendera jarang diatur pada file. |
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED | Meminta agar titik pemisahan ulang diatur pada file. |
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED | Meminta agar ukuran file diatur pada file. Ini juga menyiratkan |
bahwa alokasi pada disk akan terjadi untuk mendukung ukuran file yang diminta. | |
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED | Meminta agar panjang data yang valid diatur pada file. Ini juga menyiratkan bahwa ukuran file diatur ke setidaknya panjang data yang valid yang diminta. CATATAN: ini dianggap sebagai operasi istimewa jika berpotensi |
mengekspos data yang tidak diinisialisasi. | |
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK | Gunakan bendera ini sebagai masker untuk menentukan nilai bendera InFlags lainnya. |
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT | Menunjukkan bahwa sistem file harus melakukan operasi pembuatan meskipun beberapa operasi tambahan yang diminta tidak dapat |
dilakukan atau tidak didukung oleh sistem file. Pemanggil dapat memeriksa OutFlags untuk melihat operasi mana yang dilakukan. Jika bendera ini tidak ditentukan, sistem file harus gagal membuat operasi jika tidak berhasil melakukan semua operasi tambahan yang diminta. |
OutFlags
Bendera yang menunjukkan operasi tambahan aktual yang dilakukan dengan operasi pembuatan yang berhasil.
Nilai | Makna |
---|---|
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET | Menunjukkan bahwa bendera jarang diatur pada file. |
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET | Menunjukkan bahwa titik pemilah ulang diatur pada file. |
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET | Menunjukkan bahwa ukuran file diatur pada file, dan alokasi pada disk terjadi untuk mendukung ukuran file yang diminta. |
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET | Menunjukkan bahwa panjang data yang valid diatur pada file, dan bahwa ukuran file diatur ke setidaknya panjang data yang valid yang diminta. |
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK | Gunakan nilai bendera ini sebagai masker untuk menentukan operasi tambahan yang dilakukan dengan operasi buat. |
ReparseBufferLength
Panjang anggota ReparseBuffer . Nilai ini tidak boleh melebihi MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16K).
ReparseBuffer
Nilai opsional yang menunjukkan jenis buffer yang digunakan dalam operasi buat. Nilai yang mungkin REPARSE_DATA_BUFFER atau REPARSE_GUID_DATA_BUFFER.
FileSize
Nilai opsional yang digunakan dengan ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED untuk menunjukkan ukuran file yang diminta untuk diatur pada file.
ValidDataLength
Nilai opsional yang digunakan dengan ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED untuk menunjukkan panjang data valid yang diminta untuk diatur pada file.
FileTimestamps
Arahkan ke struktur FILE_TIMESTAMPS opsional yang berisi instans terakhir yang direkam dari tindakan tertentu pada file.
FileAttributes
Menentukan atribut file.
UsnSourceInfo
Menentukan bendera info sumber Update Sequence Number (USN) opsional.
Usn
Menentukan Nomor Urutan Pembaruan (USN). Nilai ini diisi di akhir GUID_ECP_ATOMIC_CREATE .
SuppressFileAttributeInheritanceMask
Masker yang menunjukkan atribut file yang aturan pewarisan normalnya harus ditekan.
InOpFlags
ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx bendera.
OutOpFlags
ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx bendera.
InGenFlags
ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx bendera.
OutGenFlags
ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx bendera.
CaseSensitiveFlagsMask
Menunjukkan bendera FILE_CS_FLAG_xxx mana yang ditentukan; sistem file harus memilih nilai default untuk bendera lain.
InCaseSensitiveFlags
Masukkan bendera sensitif huruf besar/kecil pada file. Bahkan jika tidak ada BEST_EFFORT yang ditentukan, sistem file dapat mengabaikan beberapa InCaseSensitiveFlags. Perilaku ini mirip dengan FileCaseSensitiveInformation sehingga penelepon dapat memeriksa OutCaseSensitiveFlags untuk mengetahui bendera yang ditetapkan. Jika bendera tidak didukung pada beberapa file atau direktori, BEST_EFFORT akan berlaku.
OutCaseSensitiveFlags
Anggota ini mengembalikan bendera sensitif huruf besar/kecil pada file, meskipun tidak ada InCaseSensitiveFlags yang ditentukan.
Keterangan
Nilai GUID_ECP_ATOMIC_CREATE** yang ditentukan sistem digunakan dengan struktur konteks ECP ini saat memanggil rutinitas dukungan terkait ECP seperti FltAllocateExtraCreateParameter dan FsRtlRemoveExtraCreateParameter.
Lihat Pengantar parameter pembuatan ekstra untuk informasi selengkapnya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, version 1607 |
Server minimum yang didukung | Server Windows 2016 |
Header | ntifs.h |