Bagikan melalui


Fungsi FltFsControlFile (fltkernel.h)

Rutinitas FltFsControlFile mengirimkan kode kontrol langsung ke sistem file tertentu atau driver filter sistem file, menyebabkan driver yang sesuai melakukan tindakan yang ditentukan.

Sintaks

NTSTATUS FLTAPI FltFsControlFile(
  [in]            PFLT_INSTANCE Instance,
  [in]            PFILE_OBJECT  FileObject,
  [in]            ULONG         FsControlCode,
  [in, optional]  PVOID         InputBuffer,
  [in]            ULONG         InputBufferLength,
  [out, optional] PVOID         OutputBuffer,
  [in]            ULONG         OutputBufferLength,
  [out, optional] PULONG        LengthReturned
);

Parameter

[in] Instance

Penunjuk instans buram untuk pemanggil. Parameter ini diperlukan dan tidak boleh NULL.

[in] FileObject

Penunjuk objek file untuk file atau direktori yang merupakan target permintaan ini. Parameter ini diperlukan dan tidak boleh NULL.

[in] FsControlCode

FSCTL_XXX yang menunjukkan operasi sistem file mana yang akan dilakukan. Nilai parameter ini menentukan format dan panjang inputBuffer dan OutputBuffer yang diperlukan, dan menentukan pasangan parameter berikut mana (InputBuffer dan InputBufferLength, OutputBuffer dan OutputBufferLength) yang diperlukan.

[in, optional] InputBuffer

Penunjuk ke buffer input yang dialokasikan pemanggil yang berisi informasi khusus perangkat untuk diberikan kepada driver target. Jika parameter FsControlCode menentukan operasi yang tidak memerlukan data input, parameter ini bersifat opsional dan dapat berupa NULL.

[in] InputBufferLength

Ukuran, dalam byte, dari buffer di InputBuffer. Nilai ini diabaikan jika InputBuffer ADALAH NULL.

[out, optional] OutputBuffer

Pointer ke buffer output yang dialokasikan penelepon tempat informasi dikembalikan dari driver target. Jika parameter FsControlCode menentukan operasi yang tidak memerlukan data output, parameter ini bersifat opsional dan dapat berupa NULL.

[in] OutputBufferLength

Ukuran, dalam byte, dari buffer di OutputBuffer. Nilai ini diabaikan jika OutputBufferADALAH NULL.

[out, optional] LengthReturned

Penunjuk ke variabel yang dialokasikan pemanggil yang menerima ukuran, dalam byte, dari informasi yang dikembalikan dalam buffer di OutputBuffer. Parameter ini bersifat opsional dan dapat berupa NULL.

Mengembalikan nilai

FltFsControlFile mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai.

Keterangan

Driver minifilter harus memanggil rutinitas ini alih-alih ZwFsControlFile.

Kode FSCTL berikut saat ini didokumenkan untuk driver mode kernel:

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FSCTL_SET_REPARSE_POINT

Untuk informasi selengkapnya tentang kode FSCTL_XXXX yang ditentukan sistem, lihat bagian Keterangan dari entri referensi untuk DeviceIoControl dalam dokumentasi Microsoft Windows SDK.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Lihat juga

FltDeviceIoControlFile

ZwFsControlFile