Patches 1 and 2 in this series look fine.
I have a series of patches similar to this one in my dsound multichannel branch. This patch seems to do too much at once.
When I did this cleanup, I split it up into four patches: 1) Allocate the device format in the Device struct 2) Load the default format from the IAC, not hard-coded in dsound 3) Put SetFormat() calls into their own WFX that we don't really care about 4) Always use WAVE_FORMAT_EXTENSIBLE for the device format
Much more bisect-able that way. I've attached a tarball here. It's not submission-quality yet (I haven't reviewed it lately; it might not even work), but it should show you what I had in mind for this kind of cleanup.
I can bump those up in priority, but I don't think this blocks patches 4-6 in this series anyway.
Andrew