OSRLogoOSRLogoOSRLogo x Seminar Ad

Everything Windows Driver Development

GoToHomePage xLoginx

    Thu, 14 Mar 2019     118020 members


  Online Dump Analyzer
OSR Dev Blog
The NT Insider
The Basics
File Systems
ListServer / Forum
  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

DefineDosDevice Functionality Changes in Windows XP®

A number of developers are discovering a change to the naming scheme in Windows XP®. The Win32 API function DefineDosDevice has changed its behavior in Windows XP from the behavior present in earlier versions of Windows 2000® and Windows NT®. These are documented in the platform SDK, but essentially device names are associated with a process using an authentication ID that is associated with the given logon session. Thus, for each process there are two namespaces - one local namespace that is private to the process and one global namespace that is shared with all processes. If there are conflicts, names in the local namespace will override names in the global name space. Developers who rely upon naming semantics need to be aware of this new naming scheme and review the Platform SDK documentation in this area. Also, using the WinOBJ utility to view the namespace on a Windows XP system will show the substantial changes to the namespace.

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

"Error here"
"one local namespace that is private to the process" appears to be incorrect.

The local namespace is private to the logged in user, not to the process. The rest of the processes running under the same user account will see those mapping as well.

Tested on Win10 Pro x64.

29-Mar-17, Kosta Gontarenko

Post Your Comments.
Print this article.
Email this article.
bottom nav links