FSCTL_QUERY_FILE_LAYOUT kode kontrol
Kode kontrol FSCTL_QUERY_FILE_LAYOUT mengambil informasi tata letak file untuk volume sistem file. Hasil permintaan ini adalah kumpulan entri informasi tata letak file. Jenis entri yang dikembalikan dikontrol dengan mengatur bendera penyertaan dalam struktur QUERY_FILE_LAYOUT_INPUT . Anda dapat secara opsional memfilter hasil dengan memberikan sekumpulan jangkauan file untuk membatasi pemilihan informasi tata letak.
Untuk melakukan operasi ini, panggil FltFsControlFile atau ZwFsControlFile dengan parameter berikut.
Parameter
FileObject [in]: FltFsControlFile saja. Penunjuk objek file untuk volume sistem file. Parameter ini diperlukan dan tidak boleh NULL.
FileHandle [in]: ZwFsControlFile saja. Handel file untuk volume sistem file. Parameter ini diperlukan dan tidak boleh NULL.
FsControlCode [in]: Kode kontrol untuk operasi. Gunakan kode kontrol FSCTL_QUERY_FILE_LAYOUT untuk operasi ini.
InputBuffer [in]: Penunjuk ke struktur QUERY_FILE_LAYOUT_INPUT yang dialokasikan penelepon. Struktur ini berisi opsi pilihan. Jangkauan file opsional disertakan setelah QUERY_FILE_LAYOUT_INPUT.
InputBufferLength [in]: Ukuran, dalam byte, dari buffer yang diacu oleh parameter InputBuffer . Ukuran InputBuffer harus setidaknya sizeof(QUERY_FILE_LAYOUT_INPUT) + (sizeof(Filter) * (NumberOfPairs - 1)), saat NumberOfPairs> 0. Jika tidak, atur InputBufferLength = sizeof(QUERY_FILE_LAYOUT_INPUT).
OutputBuffer [out]: Penunjuk ke struktur QUERY_FILE_LAYOUT_OUTPUT yang dialokasikan pemanggil. Ini adalah header untuk entri tata letak file yang mengikuti dalam buffer ini.
OutputBufferLength [out]: Ukuran, dalam byte, dari buffer yang diacu oleh parameter OutputBuffer . Ukuran OutputBuffer harus cukup besar untuk memuat QUERY_FILE_LAYOUT_OUTPUT bersama dengan tata letak file dan struktur tata letak aliran yang dikembalikan.
Blok status
FltFsControlFile atau ZwFsControlFile mengembalikan nilai STATUS_SUCCESS atau NTSTATUS yang sesuai, seperti salah satu nilai berikut:
Kode | Makna |
---|---|
STATUS_INVALID_PARAMETER | Volume sistem file bukan volume pengguna terbuka, atau nilai panjang buffer salah, atau opsi kueri yang tidak valid diatur. |
STATUS_ACCESS_DENIED | Pemanggil tidak dapat mengakses volume sistem file. |
STATUS_INVALID_USER_BUFFER | Penunjuk untuk InputBuffer atau OutputBuffer tidak diratakan dengan benar. |
STATUS_BUFFER_TOO_SMALL | Nilai dalam OutputBufferLength menunjukkan bahwa OutputBuffer terlalu kecil untuk berisi setidaknya satu entri tata letak. |
STATUS_END_OF_FILE | Penunjuk untuk InputBuffer atau OutputBuffer tidak diratakan dengan benar. |
Keterangan
Untuk mengambil semua entri tata letak untuk volume, permintaan FSCTL_QUERY_FILE_LAYOUT dikeluarkan beberapa kali hingga STATUS_END_OF_FILE dikembalikan. Saat STATUS_SUCCESS dikembalikan, penelepon dapat terus mengirim permintaan FSCTL_QUERY_FILE_LAYOUT untuk entri tata letak yang tersisa.
Enumerasi entri tata letak dapat dimulai ulang kapan saja dengan menyertakan bendera QUERY_FILE_LAYOUT_RESTART di anggota BenderaQUERY_FILE_LAYOUT_INPUT. Selain itu, setelah FSCTL_QUERY_FILE_LAYOUT mengembalikan STATUS_END_OF_FILE, perlu untuk menyertakan bendera QUERY_FILE_LAYOUT_RESTART dalam permintaan FSCTL_QUERY_FILE_LAYOUT berikutnya untuk memulai enumerasi entri tata letak lain.
Kode ini tidak didukung oleh ReFS.
Persyaratan
Jenis persyaratan | Persyaratan |
---|---|
Klien minimum yang didukung | Pembaruan Windows 8.1 |
Header | Ntifs.h (termasuk Ntifs.h atau Fltkernel.h) |
Lihat juga
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