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

Lihat juga

FILE_ALLOCATED_RANGE_BUFFER

FltFsControlFile

ZwFsControlFile