2015-02-17 19 views
5

Birisi yolu farklı bir yol olarak yeniden interepeted edilmesine neden olduğunu o garip karakterler vardı bir klasörü silmek yardımcı olmak zorunda: Bu \\?\ yapısını hatırlamak biraz zaman aldıPencerelerde "\? " Yapısının adı nedir?

c:\test.  -> c:\test 

, günümüze dek Ne aradığına ya da nasıl arayacağına dair hiçbir fikriniz yok. Ben (ve diğerleri) bunun için arama yapması,

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

bu yapının adı nedir: hatırladım kere olsa, çok kolay oldu?

+1

Yerli yol adı olduğunu. Bunun size yardımcı olacağı değil, başka birinin ne aradığını bilmiyor. Sadece soruyu sor. –

+0

Ben bir * sembolik bağlantı önek * olarak ifade görmüştüm ama şu anda bir başvuru bulamıyor. –

+3

Ben _double-arka yırtmaç-ve-soru işareti-thing_ diyoruz. Bunu bilen insanlar beni anlıyor. – rodrigo

cevap

1

Ben yaygın kullanımda resmi adı olan sanmıyorum, bu yüzden herhangi bir aramalarda çok uzak alırsınız şüpheliyim. Burada anlatılan: https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247.aspx#maxpath

Windows API ayrıca 32.767 karakter maksimum toplam yol uzunluğu için uzatılmış uzunlukta kısmına izin vermek Unicode sürümleri birçok fonksiyona sahiptir. yolun Bu tür ters eğik ayrılmış bileşenden oluşmaktadır GetVolumeInformation fonksiyonunun lpMaximumComponentLength parametresinde döndürülen değeri (bu değer genel olarak 255 karakter) 'ye kadar her. Uzatılmış bir yol belirtmek için "\\? \" Önekini kullanın. Örneğin, "\\? \ D: \ çok uzun yol". o uzatılmış uzunlukta yol öneki denilebilir bu kullanım için

. Bununla birlikte, önek, özellikle kullanıcı modu yolu kanonikleştirmesini, diğer bir deyişle kendinizi kandırmak amacıyla başka amaçlara hizmet eder.

bu cevaba yorumlardan görebileceğiniz gibi, en uygun ismine çeşitli görüşlerin çok sayıda bulunmaktadır. Sanırım hepimiz bu şey için resmi olarak kullanılan tek bir ismin olmadığı konusunda hemfikir olabiliriz!

+0

İlginç. En iyi ihtimalle, çeşitli ad alanı (\\. \ Device namespace'de olduğu gibi) diyebilirsiniz, ancak bu yeterince iyi. –

+1

Ayrıca vay SO sen ntdll! RtlDosPathNameToNtPathName_U', tercüme 'UNICODE_STRING' DOS cihazlar için' \ ?? 'yerli önek kullanacak' ararsanız ... –

+0

Yayınlarda veya yorumlarda ters eğik çizgi gibi, bu yüzden aramıyor Win32 DOS Aygıtı öneki. Not Eğer '\\? \ GlobalRoot' bağlantıya erişimi varsa, o zaman' \\? \ 'Aslında' \ Sessions' dizinine dahil olmak üzere tüm yerli ad, açılır. – eryksun