Fungsi ZwFsControlFile (ntifs.h)
Rutinitas ZwFsControlFile mengirimkan kode kontrol langsung ke sistem file atau driver filter sistem file tertentu, menyebabkan driver yang sesuai melakukan tindakan yang ditentukan.
Sintaksis
NTSYSAPI NTSTATUS ZwFsControlFile(
[in] HANDLE FileHandle,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] ULONG FsControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Parameter
[in] FileHandle
Menangani yang dikembalikan oleh ZwCreateFile
[in, optional] Event
Menangani peristiwa yang dibuat penelepon. Jika parameter ini disediakan, pemanggil akan dimasukkan ke dalam status tunggu hingga operasi yang diminta selesai dan peristiwa yang diberikan diatur ke status Sinyal. Parameter ini bersifat opsional dan dapat NULL. Ini harus
[in, optional] ApcRoutine
Alamat rutinITAS APC yang disediakan penelepon untuk dipanggil ketika operasi yang diminta selesai. Parameter ini bersifat opsional dan dapat NULL. Ini harus null jika ada objek penyelesaian I/O yang terkait dengan objek file.
[in, optional] ApcContext
Penunjuk ke area konteks yang ditentukan pemanggil. Nilai parameter ini digunakan sebagai konteks APC jika pemanggil menyediakan APC, atau digunakan sebagai konteks penyelesaian jika objek penyelesaian I/O telah dikaitkan dengan objek file. Ketika operasi selesai, konteks APC diteruskan ke APC, jika salah satu ditentukan, atau konteks penyelesaian disertakan sebagai bagian dari pesan penyelesaian yang diposting Manajer I/O ke objek penyelesaian I/O terkait.
Parameter ini bersifat opsional dan dapat NULL. Ini harus
[out] IoStatusBlock
Penunjuk ke struktur IO_STATUS_BLOCK yang menerima status penyelesaian akhir dan informasi tentang operasi. Untuk panggilan yang berhasil yang mengembalikan data, jumlah byte yang ditulis ke OutputBuffer
[in] FsControlCode
FSCTL_kode XXX yang menunjukkan operasi kontrol sistem file mana yang akan dilakukan. Nilai parameter ini menentukan format dan panjang yang diperlukan dari InputBuffer dan OutputBuffer, serta pasangan parameter mana yang diperlukan. Untuk informasi terperinci tentang kode FSCTL_
[in, optional] InputBuffer
Penunjuk ke buffer input yang dialokasikan pemanggil yang berisi informasi khusus perangkat yang akan diberikan kepada driver target. Jika FsControlCode menentukan operasi yang tidak memerlukan data input, pointer ini bersifat opsional dan dapat NULL.
[in] InputBufferLength
Ukuran, dalam byte, buffer di InputBuffer. Nilai ini diabaikan jika InputBuffer NULL.
[out, optional] OutputBuffer
Penunjuk ke buffer output yang dialokasikan pemanggil tempat informasi dikembalikan dari driver target. Jika FsControlCode menentukan operasi yang tidak menghasilkan data output, penunjuk ini bersifat opsional dan dapat NULL.
[in] OutputBufferLength
Ukuran, dalam byte, buffer di OutputBuffer. Nilai ini diabaikan jika OutputBufferNULL.
Mengembalikan nilai
ZwFsControlFile mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini:
Komentar
ZwFsControlFile memberikan tampilan yang konsisten dari data input dan output ke sistem dan driver mode kernel, sambil menyediakan aplikasi dan driver yang mendasar dengan metode tergantung driver untuk menentukan antarmuka komunikasi.
Jika penelepon membuka file untuk I/O asinkron (tanpa opsi FILE_SYNCHRONOUS_XXX buat/buka), peristiwa yang ditentukan, jika ada, akan diatur ke status yang disinyalir saat operasi kontrol perangkat selesai. Jika tidak, objek file yang ditentukan oleh FileHandle akan diatur ke status yang disinyalir. Jika ApcRoutine
Kode FSCTL berikut saat ini didokumenkan untuk driver mode kernel:
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
Untuk informasi selengkapnya tentang kode XXX FSCTL_
Untuk informasi selengkapnya tentang kode IOCTL_
Minifilter harus menggunakan
Penelepon
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 2000. |
Platform Target |
Universal |
Header |
ntifs.h (termasuk Ntifs.h) |
Pustaka |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (lihat bagian Keterangan) |
aturan kepatuhan DDI |
HwStorPortProhibitedDIs (storport), PowerIrpDDis(wdm) |
Lihat juga
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli