[管道名稱]必須具有 以下形式:
\\.\pipe\pipename
名稱的pipename部分可以 包括比一個 反斜槓以外的任何字符,包括數字和 特殊字符。整個管道 名稱字符串最長可以有256個字符。管道名稱不是 區分大小寫。
但有很多例子,我已經看到命名管道名稱與反斜槓在他們。例如,SQL Server的標準管道名稱是\\.\pipe\sql\query
。
從SysInternals運行PipeList顯示我的機器上有很多管道,其中名稱包含反斜槓。
那麼,一個管道名稱中是否可以有反斜槓?
我問,因爲我是在製作有多個管道服務,像這樣的名字:
\\.\pipe\MyApp
\\.\pipe\MyApp\0
\\.\pipe\MyApp\1
\\.\pipe\MyApp\2
第一管被創造後,創造了其他管材會失敗,Windows錯誤123(ERROR_INVALID_NAME)。如果我跳過創建第一個管道,其他所有其他名稱中帶有反斜槓的字符都可以正常工作。
看起來,管道是像文件系統一樣的層次結構,並且如果具有特定名稱的管道,則該名稱不能再用作其他管道的「文件夾」或容器。
當試圖找出這個問題時,我遇到了MSDN文章,現在質疑我是否應該使用反斜槓。
有什麼建議嗎?