Server zu ausgewähltem Netzlaufwerk ermitteln?

Hallo,

ich versuche in meiner C# Applikation den Server von Netzlaufwerken zu ermitteln.

Wenn ich ein Netzlaufwerk verbinde muss ich eine Netzwerkfreigabe, bzw. einen Host angeben. Im Explorer sieht man nur noch den Laufwerkbuchstaben (und eine Bezeichnung).

Ich möchte in C# zu einem verbundenem Netzlaufwerk den Host, bzw. die Freigabe ermitteln.

Ich hoffe es kann mir jemand helfen.

Vielen Dank

Hi!
Ich fürchte, mit reinem C# kommst Du an diese Info nicht ran.
Du kannst aber per P/Invoke z.B. WNetGetConnection (http://msdn2.microsoft.com/en-us/library/aa385453.aspx) aufrufen, um die Angaben zu einem Netzlaufwerk abzufragen.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

So ermittelt man Freigaben für gemappte Laufwerke
Vielen Dank für die Antwort.

Ich hab mir das angeschaut und umgesetzt. Funktioniert wunderbar. Nochmals danke für die Anregung. Für alle die sich auch für die direkte Implentierung interessieren, hier ein Beispiel:

__________________________________________________________________

using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;

namespace WindowsApplication1
{
class DetermieServerForDrive
{

[DllImport(„Mpr.dll“, CharSet = CharSet.Auto)]
public static extern int WNetGetConnection(
[MarshalAs(UnmanagedType.LPTStr)]
string localName,
[MarshalAs(UnmanagedType.LPTStr)]
StringBuilder remoteName,
ref int length);

public static void Main(string[] args)
{
try
{
int length=255;
StringBuilder result=new StringBuilder(length);
Console.WriteLine(WNetGetConnection(@„x:“,result,ref length));

Console.WriteLine(result);

}
catch (Exception e)
{
Console.Write(e);
Thread.Sleep(20000);
}
} // Main()
} // class
}