2010-08-20 73 views
1

我有一個用於默認輸入數據目錄(X:\ Data; Y:\ Data; Z:\ Data)的可能路徑列表。所有可能的路徑都是映射的網絡驅動器。我可以使用GetDriveType(pathStr) == DRIVE_REMOTE進行檢查。爲了確定最好的一個,我通過選擇僅存在的路徑來縮小列表的範圍。有時列表中會有多條路徑,爲了確定最佳路徑,我想查找驅動器映射到的服務器的IP地址,以便將其與我自己的IP地址進行比較。例如,如果我將X:\映射到\\RemoteComputer\ShareName,如何從字符串X:\Data中找出RemoteComputer的名稱或IP地址? (我已經有能力從計算機名稱中找到IP地址)。如何在C++中查找映射網絡驅動器的IP地址?

回答

3

WNetGetUniversalName是一種可能性。

+0

謝謝!這正是我需要的。對於其他人找到這個答案,唯一的問題是它只接受帶反斜槓的路徑(沒有正斜槓),錯誤消息是87(查找錯誤代碼找到:ERROR_INVALID_PARAMETER)。它沒有告訴你哪個參數是無效的,並且沒有說出參數有什麼問題,但是改成反斜槓修正了它。 – Ben 2010-08-20 17:07:13

0

請記住,不是全部(但絕大多數)UNC路徑以計算機名稱開頭。有些人喜歡WebDav,是FQDN--其他人像TS遠程(即\ tsclient \ c)根本不是機器,只是RDBSS能夠識別的一個標記。

相關問題