Fungsi FsRtlKernelFsControlFile (ntifs.h)
Fungsi FsRtlKernelFsControlFile membangun IRP FSCTL_XXX eksplisit, mengirimkannya ke tumpukan, secara sinkron menunggunya selesai, dan mengembalikan hasilnya. Fungsi ini memungkinkan pemanggil untuk menyelesaikan tindakan ini oleh FileObject alih-alih menangani.
Sintaks
NTSTATUS FsRtlKernelFsControlFile(
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[out] ULONG OutputBufferLength,
[out] PULONG RetOutputBufferSize
);
Parameter
[in] FileObject
Arahkan ke FILE_OBJECT untuk mengirim operasi.
[in] FsControlCode
FSCTL_XXX kode yang menunjukkan operasi kontrol sistem file mana yang akan dilakukan. Nilai parameter ini menentukan format dan panjang inputBuffer dan OutputBuffer yang diperlukan, serta pasangan parameter berikut mana yang diperlukan. Untuk informasi terperinci tentang kode FSCTL_XXX yang ditentukan sistem, lihat bagian "Keterangan" dari entri referensi untuk DeviceIoControl dalam dokumentasi Microsoft Windows SDK.
[in] InputBuffer
Penunjuk ke buffer input yang dialokasikan pemanggil yang berisi informasi khusus perangkat untuk diberikan kepada driver target. Jika FsControlCode menentukan operasi yang tidak memerlukan data input, penunjuk ini bersifat opsional dan dapat berupa NULL. Perhatikan bahwa buffer ini mungkin dimodifikasi saat kembali dan pemanggil harus beradaptasi dengan ini. Ini karena buffer ini mungkin digunakan untuk menyimpan data output.
[in] InputBufferLength
Panjang InputBuffer dalam byte.
[out] OutputBuffer
Pointer ke buffer output yang dialokasikan penelepon tempat informasi dikembalikan dari driver target. Jika FsControlCode menentukan operasi yang tidak menghasilkan data output, penunjuk ini bersifat opsional dan dapat berupa NULL.
[out] OutputBufferLength
Panjang OutputBuffer dalam byte.
[out] RetOutputBufferSize
Menerima jumlah byte yang benar-benar ditulis (dikembalikan) dalam buffer output.
Nilai kembali
FsRtlKernelFsControlFile mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini.
Nilai | Makna |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Kegagalan alokasi kumpulan terjadi. |
STATUS_INVALID_PARAMETER | Parameter yang tidak valid disediakan (misalnya, FileObject yang tidak valid). |
Keterangan
FsRtlKernelFsControlFile menetapkan kode minor IRP_MN_KERNEL_CALL yang memungkinkannya melakukan operasi tanpa memerlukan pengelolaan hak istimewa volume untuk operasi tertentu.
Fungsi ini mengasumsikan bahwa semua buffer yang diteruskan ke dalamnya adalah buffer mode kernel.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntifs.h |