struktur FILE_NOTIFY_FULL_INFORMATION (ntifs.h)

Struktur FILE_NOTIFY_FULL_INFORMATION dikembalikan sebagai respons terhadap permintaan IRP_MJ_DIRECTORY_CONTROL dengan kode fungsi minor IRP_MN_NOTIFY_CHANGE_DIRECTORY saat DIRECTORY_NOTIFY_INFORMATION_CLASS adalah DirectoryNotifyFullInformation.

Sintaks

typedef struct _FILE_NOTIFY_FULL_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         Action;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastModificationTime;
  LARGE_INTEGER LastChangeTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER AllocatedLength;
  LARGE_INTEGER FileSize;
  ULONG         FileAttributes;
  union {
    ULONG ReparsePointTag;
    ULONG EaSize;
  } DUMMYUNIONNAME;
  LARGE_INTEGER FileId;
  LARGE_INTEGER ParentFileId;
  USHORT        FileNameLength;
  UCHAR         FileNameFlags;
  UCHAR         Reserved;
  WCHAR         FileName[1];
} FILE_NOTIFY_FULL_INFORMATION, *PFILE_NOTIFY_FULL_INFORMATION;

Anggota

NextEntryOffset

Jumlah byte yang harus dilewati untuk masuk ke rekaman berikutnya. Nilai nol menunjukkan bahwa ini adalah rekaman terakhir.

Action

Jenis perubahan yang telah terjadi. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
FILE_ACTION_ADDED (0x00000001) File ditambahkan ke direktori.
FILE_ACTION_REMOVED (0x00000002) File telah dihapus dari direktori.
FILE_ACTION_MODIFIED (0x00000003) Direktori dimodifikasi. Ini bisa menjadi perubahan dalam stempel waktu atau atribut.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Direktori diganti namanya dan ini adalah nama lama.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Direktori diganti namanya dan ini adalah nama baru.

CreationTime

Tanggal dan waktu ketika direktori atau file dibuat dan ditambahkan ke sistem file.

LastModificationTime

Tanggal dan waktu konten direktori atau file terakhir diubah dalam sistem file.

LastChangeTime

Tanggal dan waktu metadata atau konten direktori atau file terakhir diubah dalam sistem file.

LastAccessTime

Tanggal dan waktu direktori atau file terakhir diakses dalam sistem file.

AllocatedLength

Ukuran file yang dialokasikan, dalam byte.

FileSize

Ukuran baru direktori atau file dalam byte, atau ukuran lama jika ukurannya tidak berubah.

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

DUMMYUNIONNAME

DUMMYUNIONNAME.ReparsePointTag

Tag pengidentifikasi dari titik pemisahan ulang untuk direktori atau file.

DUMMYUNIONNAME.EaSize

Panjang gabungan atribut yang diperluas (EA) untuk file, dalam byte.

FileId

Pengidentifikasi direktori atau file. Angka ini dihasilkan dan ditetapkan ke file oleh sistem file.

ParentFileId

Pengidentifikasi direktori induk file.

FileNameLength

Ukuran bagian nama file rekaman, dalam byte. Nilai ini tidak menyertakan karakter null yang mengakhiri.

FileNameFlags

Bendera yang menentukan jenis nama file apa yang dikembalikan, jika diketahui. Jika tidak ada bendera berikut yang diatur, jenis nama file tidak diketahui. Jika kedua bendera berikut diatur, nama file bertindak sebagai nama panjang dan nama pendek (nama NTFS dan nama DOS) dari pasangan nama panjang/pendek.

Bendera Nilai
FILE_NAME_NTFS (0x01) Nama file adalah nama panjang (nama NTFS) dari pasangan nama panjang/pendek.
FILE_NAME_DOS (0x02) Nama file adalah nama pendek (nama DOS) dari pasangan nama panjang/pendek.

Reserved

Dicadangkan untuk penggunaan sistem.

FileName[1]

Bidang panjang variabel yang berisi nama file relatif terhadap handel direktori. Nama file dalam format karakter Unicode dan tidak dihentikan null.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11, versi 22H2
Header ntifs.h

Lihat juga

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx