Windowx 2000/XP Function Drivers

Hi Folks,

I am possibly going to be writing a function driver that implements SBP2
over Microsoft 1394 Stack -

I am going to be talking to a PTP device over SBP2, and have a couple
solutions I am considering, one of which is using SCSI Pass-through
(sbp2port.sys) requests to send/recv PTP Commands over SBP2. There are a
couple problems with this solution:

  1. PTP requires the support of unsolicited events from the SBP2
    protocol to transmit PTP Events to the host at any given time. To accomplish
    this via this solution will require writing a Filter driver that sits
    between sbp2port.sys and the Firewire stack. The sbp2port.sys is
    undocumented and could change across windows versions
  2. The PTP Specification for transport over SBP2 requires much more
    direct SBP2 control that a SCSI pass-through would provide

As an alternative, I am considering writing my own SBP2 Function driver

I have heard rumblings from people who have written 1394 driver for windows,
that there are some issues/bugs with the current Microsoft Stack that would
cause some serious headaches for a function driver writer. I have also heard
rumors that Microsoft is in the process of rewriting a new stack, which is
much better.

Any suggestions/comments on the best way for me to proceed. Has anyone
written a 1394 function driver for Windows and can share what some of the
issues/work abounds are for dealing with the Microsoft Stack.