Issues with WDFKD and Windows 8 (with workaround)

We wasted a few hours chasing this one down today, so just wanted to put
this out there and save everyone else the hassle…

On or around 11/30, a bad version of wdf01000.pdb made its way onto the
public symbol server (timestamp 11/30/2012 6:23AM). The effect of this is
that the extensions exported from wdfkd.dll will not function properly. For
example, here’s some output from !wdfdevice using the bad PDB:

***************************************
1: kd> !wdfdevice 0x5d73c908

Dumping WDFDEVICE 0x5d73c908

WDM PDEVICE_OBJECTs: self acac4320, attached a2840298, pdo a2840298

Filter WDFDEVICE

Pnp state: 0 ( WdfDevStatePnpInvalid )
Power state: 0x8a000000 (No matching name)
Power Pol state: 0 ( WdfDevStatePwrPolInvalid )

Device is NOT the power policy owner for the stack
No pended pnp, power, wait-wake irps
***************************************

We reported the issue to the KMDF team and they quickly diagnosed the issue,
provided a workaround, and are working on getting it resolved. If you happen
to stumble upon this issue in the meantime, the workaround is to download
the RTM symbol packs and use the KMDF PDBs provided therein:

http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx

We have confirmed that this resolves the issue for us on both x86 and x64
versions of the O/S.

-scott
OSR