What does a leading "\??\" on a windows path mean? [duplicate]
When using GetModuleFileNameEx to query the image p开发者_高级运维ath of a running process, some processes have an image path that starts with "\??\". For example, while most processes start "C:\WINDOWS", some processes start "\??\C:\WINDOWS".
What does the leading \??\ mean on a windows path?
It's a Unicode extended-length pathname - see Naming Files, Paths, and Namespaces in MSDN (the "Maximum Path Length Limitation" section).
(By the way, do you mean \\?\
rather than \??\
?)
2 question marks in front of drive letter, ie \??\c: means it is running in Kernal mode. (in the PICK or Multivalue OS, we would call this level "monitor mode" where an instruction can address memory directly or perform disk IO.) Kernal mode is better explained on this post: What do "\\.\", "\??\", "\\?\", "\\" mean? which was pointed to by symbolhound dot com
Another way of putting it; user mode runs out of workspace for a user/window while kernal mode uses memory space common to everyone meaning you might halt the machine instead of aborting just one Windows window/tab.
I leave it to you to search (engine) kernel mode
精彩评论