RegistryPermission.GetPathList(RegistryPermissionAccess) Metoda

Definicja

Pobiera ścieżki dla wszystkich zmiennych rejestru z określoną wartością RegistryPermissionAccess.

C#
public string GetPathList(System.Security.Permissions.RegistryPermissionAccess access);

Parametry

access
RegistryPermissionAccess

RegistryPermissionAccess Jedna z wartości reprezentujących pojedynczy typ dostępu do zmiennej rejestru.

Zwraca

Lista zmiennych rejestru (rozdzielonych średnikami) o określonej wartości RegistryPermissionAccess.

Wyjątki

accessnie jest prawidłową wartością .RegistryPermissionAccess

-lub-

access to AllAccess, który reprezentuje więcej niż jeden typ dostępu do zmiennej rejestru lub NoAccess, który nie reprezentuje żadnego typu dostępu do zmiennej rejestru.

Przykłady

Poniższy przykład kodu przedstawia użycie GetPathList metody .

C#
// AddPathList adds access for the specified registry variables to the existing state of the permission.
// SetPathList sets new access for the specified registry variable names to the existing state of the permission.
// GetPathList gets paths for all registry variables with the specified RegistryPermissionAccess.
private static bool SetGetPathListDemo()
{
    try
    {
        Console.WriteLine("********************************************************\n");
        RegistryPermission readPerm1;
        Console.WriteLine("Creating RegistryPermission with AllAccess rights for 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0'");
        readPerm1 = new RegistryPermission(RegistryPermissionAccess.AllAccess, "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
        Console.WriteLine("Adding 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION' to the write access list, "
            + "and \n 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0' "
            + "to the read access list.");
        readPerm1.AddPathList(RegistryPermissionAccess.Write, "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION");
        readPerm1.AddPathList(RegistryPermissionAccess.Read,
            "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0");
        Console.WriteLine("Read access list before SetPathList = " +
            readPerm1.GetPathList(RegistryPermissionAccess.Read));
        Console.WriteLine("Setting read access rights to \n'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0'");
        readPerm1.SetPathList(RegistryPermissionAccess.Read,
            "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
        Console.WriteLine("Read access list after SetPathList = \n" +
            readPerm1.GetPathList(RegistryPermissionAccess.Read));
        Console.WriteLine("Write access = \n" +
            readPerm1.GetPathList(RegistryPermissionAccess.Write));
        Console.WriteLine("Write access Registry variables = \n" +
            readPerm1.GetPathList(RegistryPermissionAccess.AllAccess));
    }
    catch (ArgumentException e)
    {
        // RegistryPermissionAccess.AllAccess can not be used as a parameter for GetPathList.
        Console.WriteLine("An ArgumentException occurred as a result of using AllAccess. "
            + "AllAccess cannot be used as a parameter in GetPathList because it represents more than one "
            + "type of registry variable access : \n" + e);
    }

    return true;
}

Uwagi

Użyj tej metody, aby uzyskać stan bieżącego uprawnienia. Tę metodę należy wywołać oddzielnie dla każdego typu dostępu.

Uwaga

Parametr access jest ograniczony do wartości , RegistryPermissionAccessktóre reprezentują pojedyncze typy dostępu do zmiennej rejestru. Te wartości to Read, Writei Create. Dopuszczalne wartości access nie obejmują NoAccess i AllAccess, które nie reprezentują pojedynczych typów dostępu do zmiennej rejestru.

Dotyczy

Produkt Wersje
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10