Como descobrir programaticamente unidades de rede mapeadas no sistema e seus nomes de servidor?

Eu estou tentando descobrir como programaticamente (estou usando c #) determinar o nome (ou i.p.) de servidores para o qual minha estação de trabalho tem mapas atuais. Em outras palavras, em algum momento no Windows Explorer eu mapeei uma unidade de rede para uma letra de unidade (ou usei "net use w:" para mapeá-la). Eu sei como obter as unidades de rede no sistema:

DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
    if (d.IsReady && d.DriveType == DriveType.Network)
    {
    }
}

Mas a classe DriveInfo não tem propriedades que me digam a qual servidor e pasta compartilhada a unidade mapeada está associada. Tem algum outro lugar que eu deveria estar procurando?

questionAnswers(7)

yourAnswerToTheQuestion