¿Cómo descubrir mediante programación las unidades de red asignadas en el sistema y los nombres de sus servidores?

Estoy intentando averiguar cómo programar (estoy usando C #) mediante programación el nombre (o i.p.) de los servidores en los que mi estación de trabajo tiene mapas actuales. En otras palabras, en algún punto del Explorador de Windows asigné una unidad de red a una letra de unidad (o usé "net use w:" para asignarla). Sé cómo obtener las unidades de red en el sistema:

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

Pero la clase DriveInfo no tiene propiedades que me indiquen a qué servidor y carpeta compartida está asociada la unidad asignada. ¿Hay algún otro lugar que debería estar buscando?

Respuestas a la pregunta(7)

Su respuesta a la pregunta