2010-08-23 14 views
10

Was ich weiß, istWas bedeuten "\. ", " ?? ", \? ", \"?

\\.\ 

Es wird verwendet, wenn wir ein Gerät symbolischen Link im User-Modus öffnen

\??\ 

Es wird verwendet, wenn wir ein Gerät im Kernel-Modus öffnen

\\?\ 

langer Dateiname

\\  

UNC-Pfad.

Aber ich möchte mehr Details wissen.
Konnten Sie mehr über diese Präfixe erklären.

Antwort

12

http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#paths

Offenbar ist \?? eine Kurzform für \Global?? nach this article:

In NT-Namenskonvention, \ Globale ?? kann auch aufgerufen werden ?? um den Zugang zu verkürzen.

+0

_Das gilt nur für die neuesten Versionen von Windows (MSDN bezieht sich meistens auf die neuesten Versionen). '\ ??' war in der Vergangenheit ein Symlink zu '\ DosDevices' und wie es behandelt wurde, hing zu einem nicht geringen Teil davon ab, ob Terminal-Dienste verfügbar waren oder nicht. Mit XP waren Terminal-Dienste auch bei Consumer-Windows immer an Bord, also hat sich das etwas geändert. – 0xC0000022L

+0

@ 0xC0000022L, tatsächlich ist es nicht wahr, dass es nur eine kurze Form von "\ Global ??" ist, sonst würden lokale Anmeldesitzung DOS-Geräte nicht funktionieren. "\ ??" ist das virtuelle "DosDevices" -Verzeichnis des Objektmanagers. Zuerst überprüft der Objektmanager die lokalen Geräte, die in "\ Sessions \ 0 \ DosDevices \\ [Logon_AuthenticationId]" definiert sind, bevor er "\ Global ??" überprüft. Außerdem gibt es einen "globalen" symbolischen Link im lokalen Verzeichnis, um sicherzustellen, dass ein globales Gerät, z. "\\? \ Global \ Z: \ Pfad". Heutzutage ist der klassische Eintrag "\ DosDevices" ein symbolischer Link zu "\ ??". – eryksun

+0

@eryksun: Für Anfänger habe ich die Aussage in der Antwort qualifiziert ('\\ GLOBAL ??' existierte nicht einmal in älteren Windows-Versionen). Die Art und Weise, wie der Objektmanager Objekte überprüft, ist für den Benutzer jedoch transparent. Also, während ich nicht den Anspruch geltend gemacht habe, dass du falsch liegst, halte ich das für alle praktischen Zwecke für den Benutzer-Modus-Programmierer die Aussage ist ausreichend detailliert und so wahr wie es geht, ohne eine ganze Dose Würmer zu öffnen. – 0xC0000022L