I said I would post a message by EOW with the BE changes for Win7. Well, I’ve just finished going through the very long list of change notification for the Windows Build Environment (of which, the WDK BE is a subset). Most of them have no applicability to the WDK BE. The following is the list of things that MIGHT affect WDK users. Many of them won’t because they are undocumented in the WDK - but since they are in makefile.new (aka makefile.def) I thought someone might have self-discovered them. Some of them may be totally irrelevant - sorry.
I left off the TARGETPATH removal change - we are trying to get that back, plus it is already well know by this group.
- Now supports NTDDI_Version = NTDDI_WIN7
- Windows 7 OS major.minor version string is 6.1
- BINPLACE_PLACEFILE is deprecated, should use TARGET_DESTINATION instead
- NTTARGETFILES should be replaced by NTTARGETFILE0, NTTARGETFILE1, or NTTARGETFILE2, as appropriate
- MISCFILES is not recommended ? expect it to be deprecated.
- You can no longer publish files from a directory where TARGETTYPE=PROGRAM
- LINKLIBS - Don’t add any new LINKLIBS arguments. LINKLIBS now behaves exactly like TARGETLIBS. LINKLIBS may someday be deprecated. Use TARGETLIBS for standard arguments to the linker. If the project needs to export symbols from the linked libraries, then look into using DLLDEF_OBJECTS and TARGETLIBS.
Other interesting item I discovered:
Spinlock and InStackQueuedSpinlock deadlock not earlier detected - Win7 Fix in Driver Verifier may capture spinlock usage errors that were not previously caught. The discovery of these errors may cause breaks in code which had gone previously undetected. (It’s hard for me to determine whether this change made it into the Win7 beta or not…)