Networking 如何获取映射网络驱动器上的文件的UNC路径

Networking 如何获取映射网络驱动器上的文件的UNC路径,networking,windows-shell,Networking,Windows Shell,.NET 4.0,这是一个shell扩展 选择文件时,我的上下文菜单处理程序会获取映射的驱动器路径,但我需要UNC路径,原因太长,无法解释。是否有方法从映射的驱动器获取UNC路径。或者,我可以枚举所有映射的驱动器及其映射对象,以便根据驱动器号查找此信息您可以使用wnetconnection()函数将映射的驱动器号转换为UNC路径 对不起,我不能帮助你.NET对不起(哪一个),但是在C++, LPCWSTR pszPath = L"M:\\"; // mapped drive if (GetDri

.NET 4.0,这是一个shell扩展

选择文件时,我的上下文菜单处理程序会获取映射的驱动器路径,但我需要UNC路径,原因太长,无法解释。是否有方法从映射的驱动器获取UNC路径。或者,我可以枚举所有映射的驱动器及其映射对象,以便根据驱动器号查找此信息

您可以使用
wnetconnection()
函数将映射的驱动器号转换为UNC路径

对不起,我不能帮助你.NET对不起(哪一个),但是在C++,

LPCWSTR pszPath = L"M:\\"; // mapped drive
if (GetDriveType(pszPath) == DRIVE_REMOTE)
{
    // WNetGetConnection needs drive letter WITHOUT trailing backslash
    wchar_t wchDrive[3] = { pszPath[0], pszPath[1], L'\0' };
    wchar_t wchUNC[MAX_PATH];
    DWORD dwLength = _countof(wchUNC);
    if (WNetGetConnection(wchDrive, wchUNC, &dwLength) == NO_ERROR)
    {
        // do something with wchUNC
    }
}