If you are using Windows XP SP2, you should be able to do one block
transfers in either direction. Only READ / WRITE MULTIPLE (EXT) work
correctly for transfers of more than one block.
It's a limitation of the ATAPI driver. Please call Microsoft PSS and beg
them to fix it.
You are going to have to write your own driver, of some form or other. What
kind of driver you write depends on what functionality you want to have. If
you want to have a fully functional Windows storage stack, with some extra
hooks for testing thrown in, you will probably be able to do almost
everything you want to do with a SCSI miniport with some testing IOCTLs.
If you don't need it to actually be a storage device, it's a lot simpler to
write your own port driver that doesn't expose a disk interface to the OS,
then you only have to implement the testing functionality you need.
Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
As if I need to say it: Not speaking for Seagate.
E-mail address is pointed at a domain squatter. Use reply-to instead.