FLT_PARAMETERS untuk serikat IRP_MJ_DIRECTORY_CONTROL
Komponen union yang digunakan ketika bidang MajorFunction dari struktur FLT_IO_PARAMETER_BLOCK untuk operasi IRP_MJ_DIRECTORY_CONTROL.
Sintaks
typedef union _FLT_PARAMETERS {
... ;
union {
struct {
ULONG Length;
PUNICODE_STRING FileName;
FILE_INFORMATION_CLASS FileInformationClass;
ULONG POINTER_ALIGNMENT FileIndex;
PVOID DirectoryBuffer;
PMDL MdlAddress;
} QueryDirectory;
struct {
ULONG Length;
ULONG POINTER_ALIGNMENT CompletionFilter;
ULONG Spare1;
ULONG POINTER_ALIGNMENT Spare2;
PVOID DirectoryBuffer;
PMDL MdlAddress;
} NotifyDirectory;
} DirectoryControl;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Anggota
DirectoryControl: Struktur yang berisi anggota berikut.
QueryDirectory: Komponen gabungan yang digunakan untuk operasi IRP_MN_QUERY_DIRECTORY.
Panjang: Panjang, dalam byte, dari buffer yang dirujuk anggota QueryDirectory.DirectoryBuffer .
FileName: Pointer ke struktur UNICODE_STRING yang berisi nama file dalam direktori yang ditentukan.
FileInformationClass: Menentukan salah satu nilai yang dijelaskan di bawah ini.
Nilai Makna FileBothDirectoryInformation Mengembalikan struktur FILE_BOTH_DIR_INFORMATION untuk setiap file. FileDirectoryInformation Mengembalikan struktur FILE_DIRECTORY_INFORMATION untuk setiap file. FileFullDirectoryInformation Mengembalikan struktur FILE_FULL_DIR_INFORMATION untuk setiap file. FileIdBothDirectoryInformation Mengembalikan struktur FILE_ID_BOTH_DIR_INFORMATION untuk setiap file. FileIdFullDirectoryInformation Mengembalikan struktur FILE_ID_FULL_DIR_INFORMATION untuk setiap file. FileNamesInformation Mengembalikan struktur FILE_NAMES_INFORMATION untuk setiap file. FileObjectIdInformation Mengembalikan struktur FILE_OBJECTID_INFORMATION untuk setiap file. FileReparsePointInformation Mengembalikan struktur FILE_REPARSE_POINT_INFORMATION tunggal untuk direktori. FileIndex: Indeks file tempat pemindaian direktori dimulai. Diabaikan jika bendera SL_INDEX_SPECIFIED tidak diatur. Parameter ini tidak dapat ditentukan dalam fungsi Win32 atau rutinitas dukungan mode kernel. Saat ini hanya digunakan oleh mesin DOS virtual NT (NTVDM), yang hanya ada pada sistem operasi berbasis NT 32-bit. Perhatikan bahwa indeks file 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.
DirectoryBuffer: Penunjuk ke buffer output yang disediakan penelepon yang menerima informasi yang diminta tentang konten direktori. Anggota ini bersifat opsional dan dapat berupa NULL jika MDL disediakan di QueryDirectory.MdlAddress. Lihat Keterangan.
MdlAddress: Alamat daftar deskriptor memori (MDL) yang menjelaskan buffer yang ditunjuk oleh anggota QueryDirectory.DirectoryBuffer . Anggota ini bersifat opsional dan dapat berupa NULL jika buffer disediakan di QueryDirectory.DirectoryBuffer. Lihat Keterangan.
NotifyDirectory: Komponen union yang digunakan untuk operasi IRP_MN_NOTIFY_CHANGE_DIRECTORY.
Panjang: Panjang, dalam byte, dari buffer yang dituju oleh anggota NotifyDirectory.DirectoryBuffer .
CompletionFilter: Bitmask bendera yang menentukan jenis perubahan pada file atau direktori yang akan menyebabkan RUNP dalam daftar pemberitahuan selesai. Nilai bendera yang mungkin dijelaskan berikut ini.
Bendera Makna FILE_NOTIFY_CHANGE_FILE_NAME File telah ditambahkan, dihapus, atau diganti namanya dalam direktori ini. FILE_NOTIFY_CHANGE_DIR_NAME Subdirektori telah dibuat, dihapus, atau diganti namanya. FILE_NOTIFY_CHANGE_NAME Nama direktori ini telah berubah. FILE_NOTIFY_CHANGE_ATTRIBUTES Nilai atribut file ini, seperti waktu akses terakhir, telah berubah. FILE_NOTIFY_CHANGE_SIZE Ukuran file ini telah berubah. FILE_NOTIFY_CHANGE_LAST_WRITE Waktu modifikasi terakhir file ini telah berubah. FILE_NOTIFY_CHANGE_LAST_ACCESS Waktu akses terakhir file ini telah berubah. FILE_NOTIFY_CHANGE_CREATION Waktu pembuatan file ini telah berubah. FILE_NOTIFY_CHANGE_EA Atribut yang diperluas file ini telah dimodifikasi. FILE_NOTIFY_CHANGE_SECURITY Informasi keamanan file ini telah berubah. FILE_NOTIFY_CHANGE_STREAM_NAME Aliran file telah ditambahkan, dihapus, atau diganti namanya dalam direktori ini. FILE_NOTIFY_CHANGE_STREAM_SIZE Ukuran aliran file ini telah berubah. FILE_NOTIFY_CHANGE_STREAM_WRITE Data aliran file ini telah berubah. Spare1: Saat ini tidak digunakan.
Spare2: Saat ini tidak digunakan.
DirectoryBuffer: Penunjuk ke buffer output yang disediakan penelepon yang menerima informasi yang diminta tentang konten direktori. Anggota ini bersifat opsional dan dapat berupa NULL jika MDL disediakan di NotifyDirectory.MdlAddress. Lihat Keterangan.
MdlAddress: Alamat MDL yang menjelaskan buffer yang dituju oleh anggota NotifyDirectory.DirectoryBuffer . Anggota ini bersifat opsional dan dapat berupa NULL jika buffer disediakan di NotifyDirectory.DirectoryBuffer. Lihat Keterangan.
Keterangan
Struktur FLT_PARAMETERS untuk operasi IRP_MJ_DIRECTORY_CONTROL berisi parameter untuk operasi informasi kontrol direktori berbasis IRP yang diwakili oleh struktur data panggilan balik (FLT_CALLBACK_DATA). Ini terkandung dalam struktur FLT_IO_PARAMETER_BLOCK.
Jika buffer DirectoryBuffer dan MdlAddress disediakan, disarankan agar minifilter menggunakan MDL. Memori yang diarahkan DirectoryBuffer valid ketika merupakan alamat mode pengguna yang diakses dalam konteks proses panggilan, atau jika itu adalah alamat mode kernel.
Jika minifilter mengubah nilai MdlAddress, maka setelah panggilan balik operasi pasca operasinya, Filter Manager akan membebaskan MDL yang saat ini disimpan di MdlAddress dan memulihkan nilai MdlAddress sebelumnya.
IRP_MJ_DIRECTORY_CONTROL adalah operasi berbasis IRP.
Persyaratan
Jenis persyaratan | Persyaratan |
---|---|
Header | Fltkernel.h (termasuk Fltkernel.h) |
Lihat juga
FILE_REPARSE_POINT_INFORMATION
FltNotifyFilterChangeDirectory
FsRtlNotifyFilterChangeDirectory
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk