PrintSystemDesiredAccess Wyliczenie

Definicja

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

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

Pola

AdministratePrinter 983052

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

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.

EnumerateServer 131074

Po prawej stronie, aby wyświetlić listę kolejek na serwerze wydruku.

None 0

Brak dostępu.

UsePrinter 131080

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

Przykłady

W poniższym przykładzie pokazano, jak za pomocą tej wyliczenia zainstalować drugą drukarkę, która różni się właściwościami od 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 określonych systemach.

Te wartości są używane głównie jako parametry i PrintServer PrintQueue konstruktory. 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