FSCTL_QUERY_ALLOCATED_RANGES IOCTL (ntifs.h)
FSCTL_QUERY_ALLOCATED_RANGES meminta pemindaian file atau aliran alternatif mencari rentang byte yang dapat berisi data bukan nol, lalu mengembalikan informasi pada rentang tersebut. Hanya file jarang yang dapat memiliki rentang nol yang diketahui oleh sistem operasi. Untuk file lain, buffer output hanya akan berisi satu rentang yang berisi titik awal dan panjang yang diminta.
Kode utama
FSCTL_QUERY_ALLOCATED_RANGES
Buffer input
Penunjuk ke struktur FILE_ALLOCATED_RANGE_BUFFER yang menunjukkan rentang yang akan dikueri untuk alokasi.
Panjang buffer input
Ukuran struktur FILE_ALLOCATED_RANGE_BUFFER yang dirujuk InputBuffer , dalam byte.
Buffer output
Penunjuk ke array nol atau lebih FILE_ALLOCATED_RANGE_BUFFER elemen data tempat hasil kueri dikembalikan. Lihat di bawah ini untuk informasi selengkapnya.
Panjang buffer output
Ukuran buffer yang dirujuk OutputBuffer , dalam byte.
Buffer Input/Output
n/a
Panjang buffer Input/Output
n/a
Blok status
Dicadangkan untuk penggunaan sistem.
Keterangan
Untuk melakukan operasi ini, panggil FltFsControlFile atau ZwFsControlFile dengan parameter berikut.
Parameter | Deskripsi |
---|---|
Instans | [in] Hanya untuk FltFsControlFile . Penunjuk instans buram untuk pemanggil. Parameter ini diperlukan dan tidak boleh NULL. |
FileObject | [in] Hanya untuk FltFsControlFile . Penunjuk objek file untuk file atau direktori yang merupakan target permintaan ini. Parameter ini diperlukan dan tidak boleh NULL. |
FileHandle | [in] Hanya untuk ZwFsControlFile . Handel file dari file atau direktori yang merupakan target permintaan ini. Parameter ini diperlukan dan tidak boleh NULL. |
IoStatusBlock | [out] Hanya untuk ZwFsControlFile . Arahkan ke struktur IO_STATUS_BLOCK yang berisi status akhir permintaan. |
FsControlCode | [in] Atur ke FSCTL_QUERY_ALLOCATED_RANGES. |
InputBuffer | [in] Penunjuk ke struktur FILE_ALLOCATED_RANGE_BUFFER yang menunjukkan rentang yang akan dikueri untuk alokasi. |
InputBufferLength | [in] Ukuran buffer yang dirujuk InputBuffer , dalam byte. |
OutputBuffer | [out] Penunjuk ke array nol atau lebih FILE_ALLOCATED_RANGE_BUFFER elemen data tempat hasil kueri dikembalikan. Lihat di bawah ini untuk informasi selengkapnya. |
OutputBufferLength | [out] Ukuran buffer yang dirujuk OutputBuffer , dalam byte. |
PanjangReturned | [out] Penunjuk ke variabel yang dialokasikan pemanggil yang menerima ukuran dalam byte informasi yang dikembalikan dalam buffer di OutputBuffer. |
FSCTL_QUERY_ALLOCATED_RANGES mengembalikan array nol atau lebih FILE_ALLOCATED_RANGE_BUFFER elemen data dalam buffer yang ditunjuk oleh OutputBuffer . Jumlah elemen FILE_ALLOCATED_RANGE_BUFFER yang dikembalikan dihitung dengan membalik nilai yang dikembalikan dalam LengthReturned oleh sizeof(FILE_ALLOCATED_RANGE_BUFFER)
. Rentang yang dikembalikan harus bersinggungan dengan rentang yang ditentukan dalam InputBuffer. Nol FILE_ALLOCATED_RANGE_BUFFER elemen data dikembalikan ketika file tidak memiliki rentang yang dialokasikan.
Mengembalikan nilai
FSCTL_QUERY_ALLOCATED_RANGES mengembalikan STATUS_SUCCESS setelah berhasil diselesaikan; jika tidak, kode kesalahan akan dikembalikan. Kode kesalahan umum mengikuti.
Kode kesalahan | Makna |
---|---|
STATUS_INVALID_PARAMETER | Parameter tidak valid. Misalnya: handel bukan ke file; ukuran InputBuffer kurang dari ukuran struktur FILE_ALLOCATED_RANGE_BUFFER ; FileOffset kurang dari nol; Panjangnya kurang dari nol; atau FileOffset plus Length lebih besar dari 0x7FFFFFFFFFFFFFFF. |
STATUS_INVALID_USER_BUFFER | Buffer input atau buffer output tidak selaras dengan batas 4-byte. |
STATUS_BUFFER_TOO_SMALL | Buffer output terlalu kecil untuk berisi struktur FILE_ALLOCATED_RANGE_BUFFER . |
STATUS_BUFFER_OVERFLOW | Buffer output terlalu kecil untuk berisi jumlah struktur FILE_ALLOCATED_RANGE_BUFFER yang diperlukan. |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 |
Header | ntifs.h |