Metodo IVSSUser.RemoveProjectRights

Rimuove i diritti ProjectRights assegnati all'utente per un progetto specifico.

Spazio dei nomi: Microsoft.VisualStudio.SourceSafe.Interop
Assembly: Microsoft.VisualStudio.SourceSafe.Interop (in microsoft.visualstudio.sourcesafe.interop.dll)

void RemoveProjectRights (
	[InAttribute] string Project
)
void RemoveProjectRights (
	/** @attribute InAttribute() */ String Project
)
function RemoveProjectRights (
	Project : String
)

Parametri

Project

Una stringa che rappresenta il percorso di un progetto in Visual SourceSafe per il quale vengono rimossi i diritti.

[IDL]

HRESULT RemoveProjectRights([in] BSTR Project);

Quando si rimuovono i diritti ProjectRights di un utente, il progetto eredita i diritti ProjectRights dal relativo progetto principale.

Solo l'utente Admin può chiamare il metodo RemoveProjectRights. Se un utente diverso da Admin tenta di chiamare il metodo RemoveProjectRights, verrà generato un errore di run-time.

Nell'esempio riportato di seguito viene illustrato come utilizzare la proprietà RemoveProjectRights per rimuovere i diritti di un utente per il progetto, $/A.


using System;
using Microsoft.VisualStudio.SourceSafe.Interop;

public class VSSUserTest
{
    private static string GetUsername()
    {
        Console.Write("Enter Username: ");
        return Console.ReadLine();
    }

    private static string GetPassword()
    {
        Console.Write("Enter Password: ");
        return Console.ReadLine();
    }

    public static void Main()
    {
        VSSDatabase vssDatabase = new VSSDatabase();
        // Only SourceSafe Admin can access ProjectRights
        Console.WriteLine("Admin login");
        vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini", 
                         GetUsername(),  GetPassword());
        // Get User:
        IVSSUser vssUser = vssDatabase.get_User("Guest");
        vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_READ);
        Console.WriteLine("Project Rights          :   " + 
                          (VSSRights)vssUser.get_ProjectRights("$/A"));
        vssUser.RemoveProjectRights("$/A");
        // '$/A' inherits Project Rights of '$/'
        Console.WriteLine("Project Rights          :   " + 
                          (VSSRights)vssUser.get_ProjectRights("$/A"));
        vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_ALL);
        Console.WriteLine("Project Rights          :   " + 
                          (VSSRights)vssUser.get_ProjectRights("$/A"));
        // Enable ReadOnly rights        
        vssUser.ReadOnly = true;
        Console.WriteLine("Read Only               :   " + vssUser.ReadOnly);
        vssUser.ReadOnly = false;
        Console.WriteLine("Read Only               :   " + vssUser.ReadOnly);

        Console.WriteLine("\n\n\nEnum of VSSRights:");
        Console.WriteLine("VSSRights.VSSRIGHTS_READ      = " + 
                          (int)VSSRights.VSSRIGHTS_READ);
        Console.WriteLine("VSSRights.VSSRIGHTS_CHKUPD    = " + 
                          (int)VSSRights.VSSRIGHTS_CHKUPD);
        Console.WriteLine("VSSRights.VSSRIGHTS_ADDRENREM = " + 
                          (int)VSSRights.VSSRIGHTS_ADDRENREM);
        Console.WriteLine("VSSRights.VSSRIGHTS_DESTROY   = " + 
                          (int)VSSRights.VSSRIGHTS_DESTROY);
        Console.WriteLine("VSSRights.VSSRIGHTS_ALL       = " + 
                          (int)VSSRights.VSSRIGHTS_ALL);
        Console.WriteLine("VSSRights.VSSRIGHTS_INHERITED = " + 
                          (int)VSSRights.VSSRIGHTS_INHERITED);
        Console.WriteLine("\n\n");
    }
}

Output:

Admin login
Enter Username: 
Enter Password: 
Project Rights          :   VSSRIGHTS_READ
Project Rights          :   31 (VSSRIGHTS_ALL + VSSRIGHTS_INHERITED)
Project Rights          :   VSSRIGHTS_ALL
Read Only               :   True
Read Only               :   False

Enum of VSSRights:
VSSRights.VSSRIGHTS_READ      = 1
VSSRights.VSSRIGHTS_CHKUPD    = 2
VSSRights.VSSRIGHTS_ADDRENREM = 4
VSSRights.VSSRIGHTS_DESTROY   = 8
VSSRights.VSSRIGHTS_ALL       = 15
VSSRights.VSSRIGHTS_INHERITED = 16
Mostra: