10
我知道什麼是「\。」,「 ?? 」,「\?」,「\」是什麼意思?
\\.\
,當我們在用戶模式下打開設備的符號鏈接,用來
\??\
,當我們在內核模式下打開設備,用來
\\?\
長文件名
\\
UNC路徑。
但我想知道更多的細節。
你能更詳細地解釋這些前綴嗎?
我知道什麼是「\。」,「 ?? 」,「\?」,「\」是什麼意思?
\\.\
,當我們在用戶模式下打開設備的符號鏈接,用來
\??\
,當我們在內核模式下打開設備,用來
\\?\
長文件名
\\
UNC路徑。
但我想知道更多的細節。
你能更詳細地解釋這些前綴嗎?
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#paths
顯然,\??
是根據\Global??
到this article短形式:
在NT命名約定,\全球?? 也可以叫\ \以縮短訪問權限。
_That_只適用於Windows的最新版本(無論如何MSDN主要參考最新版本)。 '\ ??'在過去一直是'\ DosDevices'的符號鏈接,它的處理方式取決於終端服務是否可用。使用XP終端服務時,即使在消費者的Windows上也是如此,所以這就是當它發生改變時。 – 0xC0000022L 2016-06-15 07:15:19
@ 0xC0000022L,實際上它不是真的,它只是一個簡短形式的「\ Global ??」,否則本地登錄會話DOS設備將無法工作。 「\ ??」是對象管理器的虛擬「DosDevices」目錄。首先,對象管理器在檢查「\ Global ??」之前檢查「\ Sessions \ 0 \ DosDevices \\ [Logon_AuthenticationId]」中定義的本地設備。此外,本地目錄中還有一個「全局」符號鏈接,用於確保創建或訪問全局設備,例如「\\。\全球\ Z:?:\路徑」。如今,經典的「\ DosDevices」條目是「\ ??」的符號鏈接。 – eryksun 2017-09-08 01:35:41
@eryksun:對於初學者,我在回答中聲明瞭語句('\\ GLOBAL ??'甚至不存在於較舊的Windows版本中)。然而,對象管理器檢查內容的方式對用戶來說是透明的。所以,儘管我沒有提出你認爲我錯了的觀點,但我認爲,對於用戶模式程序員的所有實際目的而言,聲明是足夠詳細的,並且是真實的,因爲它沒有打開整箱蠕蟲。 – 0xC0000022L 2017-09-08 12:16:31