People are confused about which header file to use. I'm not surprised, because I used to be confused about this too. The answer: Use WDM.H unless there's a specific function or feature in NTDDK.H that you need. This is true, even if you don't give a damn about compatibility with Win9x or WinMe.
WDM.H is the newer, "forward moving", header file. NTDDK.H is saddled with the cruft of operating system versions long past. You should expect WDM.H to be eventually updated to the point where it contains the definitions for all currently supported device driver interfaces. Further, I'd guess that this means that NTDDK.H will eventually be relegated to "legacy" status.