Techwiki:Behavior Differences

From ReactOS Wiki
Jump to: navigation, search

DOS prefixes

In Windows 2003 some of the image paths of processes retrieved with GetModuleFileNameExW —mainly coming from early start— come prepended with \??\.

Quoting from Windows Internals (Page 147 in 4th edition):

Windows subsystem DLLs prefix names passed by Windows applications that reference objects in \DosDevices with \?? (for example, C:\Windows becomes \??\C:\Windows).

An incomplete list of well known but strange system process paths in Windows 2003 is listed below:

Process Process path
CSRSS \??\C:\WINDOWS\system32\csrss.exe
SMSS \SystemRoot\System32\smss.exe
Winlogon \??\C:\WINDOWS\system32\winlogon.exe

Long path overrides that allow 32768 characters to be used by the internal API (Unicode, or Wide char) are "\\?\", they should not be confused with a DOS path: "\??\".