windows - Hvornår skal du bruge \\. \ c: og hvornår skal du bruge c :?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvis det symbolske link, der er oprettet til enhed1, er \??device (kernel), skal det være \.device (brugerplads), når det er adgang til det, hvorfor?


Den symbolske for C: bør være \.c:, hvorfor \. kan udelades?

Bedste reference


Windows understøtter to former for filnavne. Der er filer, hvis navne følger Windows-navngivningskonventionen (: \) og dem der ikke 't (\ device \ harddisk0 \ partition5 ...). \\. \' Prefikset anvendes på filer, der ikke passer ind Windows navngivningskonventionen.


Internt understøtter Windows et objektnavneområde, hvis navne stammer fra det samme rodobjekt. Win32 API'en konverterer mellem Windows-navngivningskonventionen og den interne navngivningskonvention, når den kan.


Men hvis du har brug for at få adgang til en fil, hvis navn ikke overholder den interne navngivningskonvention, kan du bruge '\\. \' Præfikset til at omgå navnekonverteringslogikken.


Bemærk, at drevbogstaver ikke passer til Windows-navngivningskonventionen (de har ikke \ efter drevbogstavet), så du skal bruge formularen \\. \ For at åbne drevet.


Der er en masse stilladser for at gøre alt dette arbejde, du kan se meget af det med WinObj-værktøjet. Bemærk især det globale ?? \ namespace - bemærk den globale ?? \ C: symbolske link, der kortlægger C-drevet. [6]