- direct I/O, buffered I/O
- Posted by Raj on August 13th, 2003
(1) When we are initialising DeviceObject flags, should we choose only
one of three I/O options. What if I ORed them?
DeviceObject->Flags |= deviceExtension->StackDeviceObject->Flags &
(DO_BUFFERED_IO | DO_DIRECT_IO );
(2) Some IOCTLs I use buffered I/O and some I use Direct I/O. They are
working fine.
What is the purpose of initialising in DeviceObject? We are anyway
pointing in IOCTL.
Thanks.
- Posted by Maxim S. Shatskih on August 13th, 2003
Ha-ha-ha. Dunno, but I'm sure nothing good will result.
This governs reads and writes, IOCTLs are governed by IOCTL code bits.
--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com
- Posted by Calvin Guan on August 14th, 2003
You are copying whatever buffering bit from lower driver, aren't you?
I think the lower driver wouldn't have both bits set.
Each IOCTL code has fields to tell IO manager what buffering method it's
using.
These bits in DevObject tell IO manager what buffering method is used for
IRP_MJ_READ and IRP_MJ_WRITE.
Calvin