Build Environment Changes for Win7

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.

  1. Now supports NTDDI_Version = NTDDI_WIN7
  2. Windows 7 OS major.minor version string is 6.1
  3. BINPLACE_PLACEFILE is deprecated, should use TARGET_DESTINATION instead
  4. NTTARGETFILES should be replaced by NTTARGETFILE0, NTTARGETFILE1, or NTTARGETFILE2, as appropriate
  5. MISCFILES is not recommended ? expect it to be deprecated.
  6. You can no longer publish files from a directory where TARGETTYPE=PROGRAM
  7. 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…)

***YAY!!***

Thanks, Jennifer. This is EXACTLY what the community needs: A comprehensive list.

The list looks nice and simple, but I know you had to wade through PILES of changes to pull it together. I know we all appreciate your effort. Seriously.

Cool note about Driver Verifier, too. Potential deadlocks due to different uses of KSPIN_LOCK are a real problem (I know, because CUV used to find this error). I’m glad to see Verifier being expanded to handle these.

Peter
OSR

+1

Indeed.

Thanks, Jennifer.

mm

xxxxx@osr.com wrote:

***YAY!!***

Thanks, Jennifer. This is EXACTLY what the community needs: A comprehensive list.

The list looks nice and simple, but I know you had to wade through PILES of changes to pull it together. I know we all appreciate your effort. Seriously.

Cool note about Driver Verifier, too. Potential deadlocks due to different uses of KSPIN_LOCK are a real problem (I know, because CUV used to find this error). I’m glad to see Verifier being expanded to handle these.

Peter
OSR