Fungsi IoIsOperationSynchronous (ntifs.h)
Rutinitas IoIsOperationSynchronous menentukan apakah IRP tertentu mewakili permintaan I/O sinkron atau asinkron.
Sintaks
BOOLEAN IoIsOperationSynchronous(
[in] PIRP Irp
);
Parameter
[in] Irp
Arahkan ke IRP untuk operasi.
Nilai kembali
IoIsOperationSynchronous mengembalikan TRUE jika operasi sinkron, jika tidak FALSE.
Keterangan
IoIsOperationSynchronous menentukan apakah IRP tertentu meminta operasi I/O sinkron atau asinkron, sesuai dengan kondisi berikut:
Jika IRP meminta I/O halaman asinkron, operasinya tidak sinkron, bahkan jika salah satu kondisi lainnya benar.
Jika IRP meminta I/O halaman sinkron, operasinya sinkron.
Jika objek file dibuka untuk I/O sinkron, operasinya sinkron.
Jika bendera IRP_SYNCHRONOUS_API diatur dalam IRP, operasi tersebut sinkron. Bendera ini diatur untuk operasi, seperti ZwQueryInformationFile dan ZwSetInformationFile, yang selalu sinkron, bahkan ketika dilakukan pada objek file yang dibuka untuk I/O asinkron.
Jika tidak ada kondisi di atas yang benar, operasinya tidak sinkron.
IoIsOperationSynchronous juga mengembalikan TRUE jika IRP berisi permintaan IOCTL atau FSCTL dengan kode kontrol sistem I/O atau file yang ditentukan dengan METHOD_BUFFERED, bahkan jika objek file dibuka untuk I/O asinkron. Permintaan seperti itu kemungkinan akan dibuat sinkron oleh sistem file, tetapi ini belum tentu benar dalam semua kasus.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Tingkat apa pun |