2010-01-28 93 views
1

步驟是: 我一直在使用UAC運行一個服務程序,使用函數WNetAddConnection2映射網絡驅動器,然後它成功。我在Vista上訪問網絡驅動器時遇到問題

我運行了另一個具有管理員權限的程序(以管理員身份運行)調用函數GetFileAttribute獲取網絡驅動器的屬性,但返回0xffffffff,錯誤代碼爲3(未找到特殊路徑)。

我也嘗試過在網絡驅動器上創建文件,但仍然失敗。

你能幫我解決這個問題嗎?

非常感謝。

回答

2

在NT中,「網絡驅動器」是從MS-DOS文件系統名稱空間到UNC路徑的符號鏈接。這些符號鏈接在每個登錄會話中保持不變。這也意味着管理員擁有自己的一組符號鏈接。

解決方案是在需要訪問特定UNC網絡路徑的每個登錄會話中調用WNetAddConnection2作爲驅動器號。

這是記錄在the MSDN page

在Windows Server 2003和Windows XP, 的WNET功能創建和與 登錄會話,因爲相關的MS-DOS 設備命名空間中刪除 網絡驅動器號MS-DOS設備 由AuthenticationID(與登錄會話相關聯的 本地唯一標識符或LUID, )標識。此 可能會影響應用程序,它們調用一個WNet的功能創建一個 網絡驅動器號,在一個用戶 登錄下,但查詢現有網絡驅動器號 登錄不同用戶 。

相關問題