2015-02-17 16 views
5

Musiałem komuś pomóc usunąć folder, który miał dziwne znaki w nim, który spowodował ścieżka do ponownego interepeted jako inną ścieżkę:Jaka jest nazwa konstruktu "\? " W oknach?

c:\test.  -> c:\test 

Zajęło mi trochę czasu, aby przypomnieć \\?\ konstrukt, odkąd nie mam pojęcia, jak to się nazywa i jak go szukać. Raz ja zapamiętałem, choć było to łatwe:

\\?\c:\test. -> c:\test. 

Jaka jest nazwa tego konstruktu, że mogę (i inni) go szukać?

+1

To jest macierzysta ścieżka. Nie żeby to ci pomogło, nikt nie wie, jak się nazywa. Po prostu zadaj pytanie. –

+0

Myślę, że widziałem to jako * symboliczny link prefiks *, ale nie mogę teraz znaleźć odniesienia. –

+3

Ja nazywam to _podwójnym ukośnikiem-slash-i-question-mark-thing_. Ludzie, którzy wiedzą, że mnie rozumieją. – rodrigo

Odpowiedz

1

Nie sądzę, że ma to oficjalne imię w powszechnym użyciu, więc wątpię, aby uzyskać jak najwięcej w przypadku jakichkolwiek wyszukiwań. Jest to opisane tutaj: https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247.aspx#maxpath

API Windows ma wiele funkcji, które również mają wersje Unicode, aby umożliwić ścieżkę rozszerzonym długości do maksymalnej łącznej długości drogi 32,767 znaków. Ten typ ścieżki składa się z komponentów oddzielonych przez ukośniki odwrotne, każdy do wartości zwróconej w parametrze lpMaximumComponentLength funkcji GetVolumeInformation (ta wartość jest zwykle 255 znaków). Aby określić ścieżkę o dużej długości, użyj prefiksu "\\? \". Na przykład "\\? \ D: \ bardzo długa ścieżka".

Do tego użytku może być nazywany prefiksem ścieżki o przedłużonej długości . Jednak prefiks służy innym celom, w szczególności tłumiącemu kanoniczną ścieżkę trybu użytkownika, cel, z którego korzystałeś.

Jak wynika z komentarzy do tej odpowiedzi, istnieje wiele różnych opinii na temat najbardziej odpowiedniej nazwy. Myślę, że wszyscy możemy się zgodzić, że nie ma jednej oficjalnej nazwy tego imienia!

+0

Interesujące. W najlepszym wypadku możesz nazwać go pewną różnorodnością przestrzeni nazw (jak w przestrzeni nazw \\. \ Device), ale to wystarczy. –

+1

Również, wow SO nie lubi ukośników w postach lub komentarzach ... –

+0

Jeśli wywołasz 'ntdll! RtlDosPathNameToNtPathName_U', przetłumaczony" UNICODE_STRING "użyje przedrostka' \ ?? "dla urządzeń DOS, więc nazywam go Prefiks Win32 DOS Device. Zauważ, że jeśli masz dostęp do linku '\\? \ GlobalRoot', to' \\? \ 'Faktycznie otwiera całą natywną przestrzeń nazw, łącznie z katalogiem' \ Sesje'. – eryksun

Powiązane problemy