Как я знаю, mapeada настойчивая ли единица?

У меня есть функция в C#, что читает единицы mapeadas в системе и показывает список сетевых единиц. Для этого я использую ManagementObjectSearcher с консультацией, которая мне возвращает логические единицы mapeadas.

Я смотрел различные свойства и не нахожу ни одной, что он показывал бы, если эта единица настойчивая или не (что-то, что, кажется, доступно да, если это онлайн единица). Какое-то свойство существует, чтобы видеть настойчивость единицы mapeada? Если нет: как было бы возможно подтверждать?

Код, который у меня есть, оказывается так (упрощенным):

using System;
using System.Collections.Generic;
using System.Management;

class MappedDrive
{
    public char Letra { get; }
    public string Ruta { get; }
    public bool Persistente { get; }

    public MappedDrive(char Letra, string Ruta, bool Persistente)
    {
        this.Letra = Letra;
        this.Ruta = Ruta;
        this.Persistente = Persistente;
    }

    // devuelve una lista de las unidades mapeadas en el sistema
    public static List<MappedDrive> getUnidadesMapeadas()
    {
        List<MappedDrive> unidades = new List<MappedDrive>();

        ManagementObjectSearcher buscador = new ManagementObjectSearcher("select * from Win32_MappedLogicalDisk");
        foreach (ManagementObject unidad in buscador.Get())
        {
            unidades.Add(
                    new MappedDrive(
                        unidad["Name"].ToString()[0],
                        unidad["ProviderName"].ToString(),
                        true // <--- Esto es lo que no sé cómo leer
                    )
                );
        }

        return unidades;
    }

    static void Main(string[] args)
    {
        List<MappedDrive> du = getUnidadesMapeadas();

        foreach (MappedDrive unidad in du)
        {
            Console.WriteLine("{0}: mapeada a {1} (persistente: {2})", unidad.Letra, unidad.Ruta, unidad.Persistente);
        }
    }
}
7
задан 02.05.2017, 17:10
0 ответов