struktur FILE_DIRECTORY_INFORMATION (ntifs.h)

Struktur FILE_DIRECTORY_INFORMATION digunakan untuk mengkueri informasi terperinci untuk file dalam direktori.

Sintaks

typedef struct _FILE_DIRECTORY_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;
  WCHAR         FileName[1];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;

Anggota

NextEntryOffset

Offset byte dari entri FILE_DIRECTORY_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_ARCHIVE
  • FILE_ATTRIBUTE_COMPRESSED
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_TEMPORARY

FileNameLength

Menentukan panjang string nama 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 FileDirectoryInformation sebagai nilai FileInformationClass dan meneruskan buffer yang dialokasikan pemanggil, FILE_DIRECTORY_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.

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
Header ntifs.h (termasuk Ntifs.h, Fltkernel.h)

Lihat juga

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile