public static String ConvertMappedFileNameToDosFileName(String mappedFileName)
{
const int bufLen = 260;
var fileName = String.Empty;
for (var driveLetter = 'A'; driveLetter <= 'Z'; driveLetter++)
{
var drive = driveLetter + ":";
var buffer = new StringBuilder(bufLen);
if (Kernel32Interop.QueryDosDevice(drive, buffer, buffer.Capacity) == 0)
{
continue;
}
var devicePath = buffer.ToString();
if (mappedFileName.StartsWith(devicePath))
{
fileName = (drive + mappedFileName.Substring(devicePath.Length));
break;
}
}
return fileName;
}