Dear Ladies and Gentlemen!
Recently, I started playing around with Compuware DriverStudio and found a
nice example of a virtual SCSI device - vscsi. The virtual device presents
itself to the system like a “real” SCSI hard disk, it is then claimed by
disk.sys.
I have modified and extended the example so it works like a virtual hard
disk dumping all data into a file.
It works quite fine despite one thing: the virtual disk receive all IRPs
(PnP, I/O, Close) except IRP_MJ_CREATE.
The bus device receives IRP_MJ_CREATE, however.
And yes, I have cleared the DO_DEVICE_INITIALIZING flag.
The disk device is derived from KPhysicalDevice (and from KPnpDevice). These
classes isolate quite well from the FDO/PDO stuff, so I assume that my FDO
does not receive IRP_MJ_CREATE.
Did anyone experience the same thing?
Any clues appreciated.
Sincerely yours,
Alexander Platonov