In .NET, wie erhält man das Ziel eines symbolischen Links (oder Reparse Point)?

8

In .NET kann ich feststellen, ob eine Datei eine symbolische Verbindung ist, indem ich System.IO.File.GetAttributes () aufrufe und nach dem ReparsePoint-Bit suche. so:

%Vor%

Wie kann ich in diesem Fall das Ziel der symbolischen Verbindung erreichen?

ps: Ich weiß, wie man eine symbolische Verbindung erstellt . Es erfordert P / Invoke:

%Vor%     
Cheeso 20.02.2010, 13:59
quelle

3 Antworten

7

Sie müssen DeviceIoControl () verwenden und den Steuercode FSCTL_GET_REPARSE_POINT senden. Die Details zu P / Invoke und API-Nutzung sind recht grob, aber Googles wirklich gut .

    
Hans Passant 20.02.2010, 14:27
quelle
9

Basierend auf der Antwort, die GetFinalPathNameByHandle erwähnt, ist hier der C # -Code, der dies tut (da alle anderen Antworten nur Zeiger waren):

Verwendung

%Vor%

Code:

%Vor%     
Knaģis 02.11.2015 21:41
quelle
4

Öffnen Sie die Datei und übergeben Sie den Handle an GetFinalPathNameByHandle .

    
Mark Brackett 20.02.2010 14:27
quelle

Tags und Links