PrintSystemDesiredAccess Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica os direitos de acesso diferentes (ou níveis de acesso) para objetos de impressão.
public enum class PrintSystemDesiredAccess
public enum PrintSystemDesiredAccess
type PrintSystemDesiredAccess =
Public Enum PrintSystemDesiredAccess
- Herança
Campos
AdministratePrinter | 983052 | O direito de executar todas as tarefas administrativas para a fila de impressão, inclusive o direito de pausar e retomar qualquer trabalho de impressão e o direito de excluir todos os trabalhos da fila. Esse nível de acesso também inclui todos os direitos sob UsePrinter. |
AdministrateServer | 983041 | O direito de executar todas as tarefas administrativas para o servidor de impressão. Esse nível de acesso não inclui direitos de AdministratePrinter para as filas de impressão hospedadas pelo servidor. |
EnumerateServer | 131074 | O direito de listar as filas no servidor de impressão. |
None | 0 | Sem acesso. |
UsePrinter | 131080 | O direito de adicionar trabalhos de impressão à fila e de excluir e enumerar os próprios trabalhos. |
Exemplos
O exemplo a seguir mostra como usar essa enumeração para instalar uma segunda impressora que difere em suas propriedades de uma impressora existente somente no local, porta e status compartilhados.
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()
Comentários
Os direitos de acesso disponíveis em cada nível de acesso variam de acordo com o seguinte:
Se o servidor de impressão é um computador ou um servidor de impressão dispositivo.
O sistema operacional usado.
As atualizações de segurança instaladas.
As políticas de segurança com suporte.
Por esse motivo, as descrições corretas de acesso na seção "Membros" são típicas dos direitos que corresponderão a cada nível de acesso, mas os níveis de acesso listados podem fornecer mais ou menos direitos em sistemas específicos.
Esses valores são usados principalmente como parâmetros para PrintServer construtores e PrintQueue . Os construtores gerarão exceções se você usar um valor que pode ser aplicado somente a outro tipo de objeto. Por exemplo, não passe AdministratePrinter para um PrintServer construtor.