OSRLogoOSRLogoOSRLogo x Seminar Ad

Everything Windows Driver Development

GoToHomePage xLoginx

    Mon, 16 Jul 2018     117471 members


  Online Dump Analyzer
OSR Dev Blog
The NT Insider
ListServer / Forum
Driver Jobs
  Express Links
  · The NT Insider Digital Edition - May-June 2016 Now Available!
  · Windows 8.1 Update: VS Express Now Supported
  · HCK Client install on Windows N versions
  · There's a WDFSTRING?
  · When CAN You Call WdfIoQueueP...ously

Don't Define NT_UP

Using the Windows XP DDK (or, really, ANY time you build a driver) make sure you do not to define NT_UP.

NT_UP is defined when the uniprocessor build of the o/s is created, and turns on various short-cuts that can be used when it is known that only a single CPU is present.

Due to conditionals in ntddk.h and wdm.h, a driver that's built with NT_UP defined will not work correctly on an MP system. The symptoms that are exhibited can be rather subtle: For example, calls to KeGetCurrentProcessorNumber() can return the wrong processor number.

NOT defining the symbol produces a driver that works on BOTH uni- and multi- processor systems. So, there's really no reason a driver should ever define this symbol -- EVEN when that driver is targetted to work solely to a uniprocessor system.


Related Articles
Just Checking - Installing a Partially Checked Build
Taming the Beast - The Windows 2000 Build Environment
Build Tricks: Checked and Free Revisited
Save the Environment! - Integrating Build and Developer Studio
If You Build It - Visual Studio and Build Revisited
Building Within Visual Studio (IDE)
New Build Definitions?
Definition of DDKBUILDENV Changed in Windows XP®
Definition of “CPU” Environment Variable Changed

User Comments
Rate this article and give us feedback. Do you find anything missing? Share your opinion with the community!
Post Your Comment

Post Your Comments.
Print this article.
Email this article.

Kernel Debugging & Crash Analysis

Manchester, NH
30 July - 3 Aug 2018

Developing Filter Manager Minifilters

Manchester, NH
20-24 August 2018

Writing WDF Drivers I: Core Concepts

Santa Clara/San Jose, CA
10-14 Sept 2018

Writing WDF Drivers II: Advanced Implementation Techniques

Manchester, NH
16-19 October 2018


Need to develop a Windows file system solution?

We've got a kit for that.

Need Windows internals or kernel driver expertise?

Bring us your most challenging project - we can help!

System hangs/crashes?

We've got a special diagnostic team that's standing by.

Visit the OSR Corporate Web site for more information about how OSR can help!

bottom nav links