Feedback

VB - Original UNC Pfad eines Netzlaufwerkes ermitteln

Veröffentlicht von am 01.09.2008
(1 Bewertungen)
Die nachfolgende Klasse ermittelt den UNC Namen eins gemounteten Netzlaufwerkes. (Ddanke an Volker für die Deklaration)
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

Public Class clsUnc


    Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, ByRef cbRemoteName As Integer) As Integer

    Friend Shared Function fnGetUncPath(ByVal strDriveLetter As String) As String
        Dim intRet As Integer
        Dim strRet As String = ""
        Dim Length As Integer = 260
        Dim strTemp As String = New String(" ", Length)

        intRet = WNetGetConnection(strDriveLetter.Substring(0, 1) & ":", strTemp, Length)
        strRet = strTemp.Substring(0, strTemp.IndexOf(Chr(0)))
        Return strRet
    End Function
End Class

1 Kommentare zum Snippet

Keks1911 schrieb am 21.06.2010:
Prinzipiell nicht schlecht, nur folgendes:
1. UNC-Pfade können länger als 260 Zeichen sein.
2. Die ERROR_MORE_DATA-Situation muss separat behandelt werden: in Length steht nach dem Aufruf die tatsächliche Länge des Pfads und sollte demnach an den Benutzer weitergegeben werden.
3. Die Methode WNetGetConnection wirft insgesamt 7 Exceptions, von denen keine einzige behandelt wird.
4. Ein einzelnes Zeichen (strDriveLetter) sollte als Char akzeptiert werden, nicht als String.
 

Logge dich ein, um hier zu kommentieren!