struktur FILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION (ntifs.h)
Struktur FILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION digunakan untuk mengkueri informasi nomor referensi file 64-bit dan 128-bit untuk file dalam direktori.
Sintaks
typedef struct _FILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
ULONG ReparsePointTag;
LARGE_INTEGER FileId;
FILE_ID_128 FileId128;
CCHAR ShortNameLength;
WCHAR ShortName[12];
WCHAR FileName[1];
} FILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION, *PFILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION;
Anggota
NextEntryOffset
Offset byte dari entri FILE_ID_64_EXTD_BOTH_DIR_INFORMATION berikutnya, jika beberapa entri ada dalam buffer. Anggota ini nol jika tidak ada entri lain yang mengikuti yang satu ini.
FileIndex
Offset byte file dalam direktori induk. Anggota ini tidak terdefinisi untuk sistem file, seperti NTFS, di mana posisi file dalam direktori induk tidak diperbaiki dan dapat diubah kapan saja untuk mempertahankan urutan pengurutan.
CreationTime
Waktu ketika file dibuat.
LastAccessTime
Terakhir kali file diakses.
LastWriteTime
Terakhir kali informasi ditulis ke file.
ChangeTime
Terakhir kali file diubah.
EndOfFile
Posisi akhir file baru absolut sebagai offset byte dari awal file. EndOfFile menentukan offset byte ke akhir file. Karena nilai ini berbasis nol, nilai ini sebenarnya mengacu pada byte gratis pertama dalam file. Dengan kata lain, EndOfFile adalah offset ke byte segera setelah byte terakhir yang valid dalam file.
AllocationSize
Ukuran alokasi file, dalam byte. Biasanya, nilai ini adalah kelipatan sektor atau ukuran kluster dari perangkat fisik yang mendasar.
FileAttributes
Atribut file, yang dapat berupa kombinasi yang valid dari berikut ini:
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_COMPRESSED
FileNameLength
Menentukan panjang string nama file.
EaSize
Panjang gabungan, dalam byte, dari atribut yang diperluas (EA) untuk file.
ReparsePointTag
Nilai tag untuk titik pemilah ulang.
FileId
Nomor referensi file 64-bit untuk file tersebut. Angka ini dihasilkan dan ditetapkan ke file oleh sistem file.
FileId128
Nomor referensi file 128-bit untuk file tersebut. Angka ini dihasilkan dan ditetapkan ke file oleh sistem file.
ShortNameLength
Menentukan panjang string nama file pendek.
ShortName[12]
String Unicode yang berisi nama pendek (8.3) untuk file.
FileName[1]
Menentukan karakter pertama string nama file. Ini diikuti dalam memori oleh sisa string.
Keterangan
Informasi ini dapat dikueri dengan salah satu cara berikut:
Panggil ZwQueryDirectoryFile, meneruskan FileIdAllExtdBothDirectoryInformation sebagai nilai FileInformationClass dan meneruskan buffer yang dialokasikan pemanggil, FILE_ID_ALL_EXTD_BOTH_DIR_INFORMATION-terstruktur sebagai nilai FileInformation.
Buat IRP dengan kode fungsi utama IRP_MJ_DIRECTORY_CONTROL dan kode fungsi kecil IRP_MN_QUERY_DIRECTORY.
Tidak diperlukan hak akses khusus untuk mengkueri informasi ini.
Nomor referensi file, juga disebut ID file, dijamin unik hanya dalam sistem file statis. Mereka tidak dijamin unik dari waktu ke waktu, karena sistem file bebas untuk menggunakannya kembali. Mereka juga tidak dijamin akan tetap konstan. Misalnya, sistem file FAT menghasilkan nomor referensi file untuk file dari offset byte rekaman entri direktori file (DIRENT) pada disk. Defragmentasi dapat mengubah offset byte ini. Dengan demikian nomor referensi file FAT dapat berubah dari waktu ke waktu.
Semua tanggal dan waktu dalam format waktu sistem absolut. Waktu sistem absolut adalah jumlah interval 100-nanodetik sejak awal tahun 1601.
Struktur ini harus diselaraskan pada batas LONGLONG (8-byte). Jika buffer berisi dua atau beberapa struktur ini, nilai NextEntryOffset di setiap entri, kecuali yang terakhir, jatuh pada batas 8-byte.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11, versi 23H2 |
Header | ntifs.h |