Obtenir le chemin UNC d'un chemin d'accès local ou mappé chemin

En Delphi il y a une fonction ExpandUNCFileName qui prend un nom de fichier et le convertit en l'UNC équivalent. Il développe des lecteurs mappés et saute locale et déjà élargi endroits.

Échantillons

C:\Folder\Text.txt -> C:\Folder\Text.txt
L:\Folder\Sample.txt -> \\server\Folder1\Folder\Sample.txt Où L: est mappé sur \\serveur\Dossier1\
\\serveur\Dossier\Échantillon.odf -> \serveur\Dossier\Échantillon.odf

Est-il une façon simple de le faire en C# ou devrai-je utiliser l'api windows WNetGetConnection manuellement, puis cochez celles qui n'obtiennent pas mappé?

OriginalL'auteur Chris J | 2009-09-11