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:
- Is there much to be gained from going to WDF for a 1394 driver?
- Should I ignore the MS examples and port my almost working code from
scratch? - 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). - 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.