Bagikan melalui


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

Lihat juga

ZwFsControlFile