Język

PrintSystemDesiredAccess Wyliczenie

Definicja

Określa różne prawa dostępu (lub poziomy dostępu) do drukowania obiektów.

public enum class PrintSystemDesiredAccess
public enum PrintSystemDesiredAccess
type PrintSystemDesiredAccess = 
Public Enum PrintSystemDesiredAccess
Dziedziczenie
PrintSystemDesiredAccess

Pola

Nazwa Wartość Opis
None 0

Brak dostępu.

EnumerateServer 131074

Prawo do wyświetlania listy kolejek na serwerze wydruku.

UsePrinter 131080

Prawo do dodawania zadań drukowania do kolejki oraz usuwania i wyliczania własnych zadań.

AdministrateServer 983041

Prawo do wykonywania wszystkich zadań administracyjnych dla serwera wydruku. Ten poziom dostępu nie obejmuje AdministratePrinter praw do kolejek wydruku hostowanych przez serwer.

AdministratePrinter 983052

Prawo do wykonywania wszystkich zadań administracyjnych dla kolejki wydruku, w tym prawo do wstrzymania i wznowienia dowolnego zadania drukowania; oraz prawo do usuwania wszystkich zadań z kolejki. Ten poziom dostępu obejmuje również wszystkie prawa w obszarze UsePrinter.

Przykłady

W poniższym przykładzie pokazano, jak użyć tej wyliczenia, aby zainstalować drugą drukarkę, która różni się od właściwości istniejącej drukarki tylko w lokalizacji, porcie i stanie udostępnionym.

LocalPrintServer myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue sourcePrintQueue = myLocalPrintServer.DefaultPrintQueue;
PrintPropertyDictionary myPrintProperties = sourcePrintQueue.PropertiesCollection;

// Share the new printer using Remove/Add methods
PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);
myPrintProperties.Remove("IsShared");
myPrintProperties.Add("IsShared", shared);

// Give the new printer its share name using SetProperty method
PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name +"\"");
myPrintProperties.SetProperty("ShareName", theShareName);

// Specify the physical location of the new printer using Remove/Add methods
PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");
myPrintProperties.Remove("Location");
myPrintProperties.Add("Location", theLocation);

// Specify the port for the new printer
String[] port = new String[] { "COM1:" };

// Install the new printer on the local print server
PrintQueue clonedPrinter = myLocalPrintServer.InstallPrintQueue("My clone of " + sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties);
myLocalPrintServer.Commit();

// Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName);
Console.WriteLine("Press Return to continue ...");
Console.ReadLine();
Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Remove("IsShared")
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Remove("Location")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }


' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)
myLocalPrintServer.Commit()

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")
Console.ReadLine()

Uwagi

Prawa dostępu dostępne na każdym poziomie dostępu różnią się w zależności od następujących:

  • Niezależnie od tego, czy serwer wydruku jest komputerem, czy urządzeniem serwera wydruku.

  • Używany system operacyjny.

  • Zainstalowane aktualizacje zabezpieczeń.

  • Obsługiwane zasady zabezpieczeń.

Z tego powodu opisy praw dostępu w sekcji "Członkowie" są typowe dla praw odpowiadających każdemu poziomowi dostępu, ale wymienione poziomy dostępu mogą zapewniać więcej lub mniej praw w poszczególnych systemach.

Te wartości są używane głównie jako parametry dla PrintServer konstruktorów i PrintQueue . Konstruktory będą zgłaszać wyjątki, jeśli używasz wartości, która może być stosowana tylko do innego rodzaju obiektu. Na przykład nie przekazuj elementu AdministratePrinter do konstruktora PrintServer .

Dotyczy