I’ll be writing a storage adapter driver for a unified server fabric I/O
device. This will basically be a scsi miniport/port driver that communicates
to the actual hardware device via a WDM virtual bus interface.
I’m well aware of the issues of writing virtual storage adapter drivers, and
am trying to understand the current options. The most attractive option
seems like using the Microsoft iscsiprt wrapper driver, and have been told
on this list from Microsoft folks it’s essentially like storport, but
without the limitations. The other option seems to be using one of the
storage port toolkits, although have heard that getting a full port driver
through WHQL certification may be difficult at the point.
I’ve looked for all the parts to actually write a driver using iscsiprt and
did NOT find everything. I see the Longhorn driver kit has iscsiprt.lib for
of linking, but no iscsiprt.h to define the wrapper functions. I have
something called the iscsi driver kit, which only seemed to have some wmi
interfaces (which I believe are also in the ldk). The only way to actually
get iscsiport.sys seems to be by installing the Microsoft iscsi software
initiator. I haven’t seen any docs on iscsiprt anyplace, and looking at the
exports, do see some new functions compared to storport.
What I’d like to end up with is a WHQL signed storage driver that can
support booting. Supporting crash dumps would be desirable too, and can’t
tell if a storage driver can call other drivers (like for my fabric
hardware) for help to write crash data. There is also the little detail of
installing all this stuff on a clean system. My hardware will require a
couple drivers that implement a virtual bus interface on the fabric
hardware, and the as yet written virtual storage driver. If the only way to
legally use iscsiprt.sys is to run a gui mode Microsoft installer, that’s a
problem. This SEEMS exactly like the kind of driver described at previous
Microsoft driver conferences (like in November 2003).
Now that you know the context, the real question I have: is there a ddk kit
from Microsoft that I have yet to see that gives me all the parts I would
need to write an iscsiprt based storage driver? The product will run on W2K3
and ship before any new OS ships from Microsoft. I’ve suggest to engineering
management that a set of drivers for talking to the fabric hardware, and
interfacing with the Windows storage and networking stacks is probably a few
man years of work.
Thanks.
Jan