WDF porting questions for 1394

Hi - I’m considering porting my preliminary 1394 device driver to WDF as it
seems my main problems with the WDM version is with race conditions
associated with surprise removal etc, and I understand this is MUCH easier
in WDF.

However having read the 1394 examples in the WDF package I see that a few
critical areas I’m worried about are still labelled in the example code with
scary comments in the reference examples like:“TODO: There are known bugs in
this code path” and “the following will not work if the memory has already
been freed”. Naturally I’m concerned if MS can’t make the examples work
properly!

So can anyone comment on these questions:

  1. Is there much to be gained from going to WDF for a 1394 driver?
  2. Should I ignore the MS examples and port my almost working code from
    scratch?
  3. In order to handle the buffer processing callbacks in 1394 isochronous
    code where it is necessary to detach, process and reattach buffers, what is
    the recommended WDF way to do this: should each be queued for a DPC or is
    this too slow? Is it safe to just call down asynchronously at each step and
    let the completion routine move on to the next step just like in plain WDM?
    (the examples are silent on callback handling).
  4. Is the WDF RC1 still the recommended framework to use? I see there is a
    more recent offering on the download site…

Thanks for any comments here.

>>4. Is the WDF RC1 still the recommended framework to use? I see there is a
more recent offering on the download site…<<

The RC1 kit is still the recommended one to use for WDF-KMDF, and you can expect that it will be until the Vista release.