FSCTL_OFFLOAD_READ kode kontrol
Kode kontrol FSCTL_OFFLOAD_READ memulai pembacaan offload untuk blok data dalam sistem penyimpanan yang mendukung offload baca primitif.
Untuk melakukan operasi ini, panggil FltFsControlFile atau ZwFsControlFile dengan parameter berikut.
Parameter
Instance [in]: FltFsControlFile saja. Penunjuk instans buram untuk pemanggil. Parameter ini diperlukan dan tidak boleh NULL.
FileObject [in]: FltFsControlFile saja. Objek penunjuk file yang menentukan file yang akan dibaca. Parameter ini diperlukan dan tidak boleh NULL.
FileHandle [in]: ZwFsControlFile saja. Handel file dari file yang akan dibaca. Parameter ini diperlukan dan tidak boleh NULL.
FsControlCode [in]: Kode kontrol untuk operasi. Gunakan FSCTL_OFFLOAD_READ untuk operasi ini.
InputBuffer [in]: Penunjuk ke struktur FSCTL_OFFLOAD_READ_INPUT , yang berisi ukuran dan offset blok data untuk dibaca.
InputBufferLength [in]: Ukuran, dalam byte, dari buffer yang ditujukkan oleh InputBuffer. Nilai ini adalah sizeof(FSCTL_OFFLOAD_READ_INPUT).
OutputBuffer [out]: Penunjuk ke struktur FSCTL_OFFLOAD_READ_OUTPUT , yang menerima hasil operasi baca offload.
OutputBufferLength [out]: Ukuran, dalam byte, dari buffer yang diacu oleh parameter OutputBuffer . Nilai ini harus setidaknya sizeof(FSCTL_OFFLOAD_READ_OUTPUT).
Blok status
FltFsControlFile atau ZwFsControlFile mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, fungsi yang sesuai mungkin mengembalikan salah satu nilai NTSTATUS berikut.
Kode | Makna |
---|---|
STATUS_INVALID_DEVICE_REQUEST | Handel yang ditentukan bukan handel file yang valid |
STATUS_INVALID_PARAMETER | Parameter tidak valid. Lihat Keterangan. |
STATUS_VOLUME_DISMOUNTED | Volume sistem file dilepas. |
STATUS_NOT_SUPPORTED | Operasi baca offload tidak didukung pada volume ini. |
STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED | Tipe file yang diminta tidak didukung. Operasi offload tidak didukung pada jenis file ini: File yang ditransaksikan (TxF); File non-pengguna; File terkompresi; File terenkripsi; File jarang; File Metatdata NTFS. |
STATUS_FILE_DELETED | Aliran data untuk file ini tidak valid. |
STATUS_FILE_CLOSED | Handel file ditutup. |
STATUS_INVALID_HANDLE | Handel file yang ditentukan tidak valid. |
STATUS_FILE_LOCK_CONFLICT | Akses baca tidak cukup karena status penguncian file saat ini. |
STATUS_END_OF_FILE | Anggota FileOffsetdari FSCTL_OFFLOAD_READ_INPUT dimulai setelah end-of-file (EOF). |
STATUS_DISMOUNTED_VOLUME | Pembacaan offload tidak dapat terjadi pada volume yang dilepas. |
STATUS_INSUFFICIENT_RESOUCES | Sumber daya yang tidak mencukup tersedia untuk menyelesaikan permintaan. |
STATUS_BUFFER_TOO_SMALL | OutputBufferLength terlalu kecil bagi OutputBuffer untuk menerima struktur FSCTL_OFFLOAD_READ_OUTPUT . |
Keterangan
Baca offload hanya tersedia untuk file normal. Lihat deskripsi untuk STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED untuk daftar jenis file yang tidak didukung.
Dimungkinkan untuk membaca untuk memulai di luar Valid Data Length (VDL), tetapi tidak di luar EOF.
Saat STATUS_INVALID_PARAMETER dikembalikan, kesalahan bisa menjadi salah satu parameter yang tidak valid berikut:
- Ukuran file kurang dari PAGE_SIZE.
- InputBufferLength<
sizeof(FSCTL_OFFLOAD_READ_INPUT)
. - Satu atau beberapa anggota FSCTL_OFFLOAD_READ_INPUT ini salah:
- FileOffset bukan kelipatan dari ukuran sektor logis volume.
- CopyLength bukan kelipatan ukuran sektor logis volume.
- Ukuran bukan ukuran struktur FSCTL_OFFLOAD_READ_INPUT .
- FileOffset + CopyLength>MAXULONGLONG.
Persyaratan
Jenis persyaratan | Persyaratan |
---|---|
Klien minimum yang didukung | Windows 8 |
Header | Ntifs.h (termasuk Ntifs.h atau Fltkernel.h) |