PrintSystemDesiredAccess Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica os diferentes direitos de acesso (ou níveis de acesso) para imprimir objetos.
public enum class PrintSystemDesiredAccess
public enum PrintSystemDesiredAccess
type PrintSystemDesiredAccess =
Public Enum PrintSystemDesiredAccess
- Herança
Campos
| Name | Valor | Description |
|---|---|---|
| None | 0 | Sem acesso. |
| EnumerateServer | 131074 | O direito de listar as filas no servidor de impressão. |
| UsePrinter | 131080 | O direito de adicionar trabalhos de impressão à fila e de apagar e enumerar os próprios trabalhos. |
| AdministrateServer | 983041 | O direito de realizar todas as tarefas administrativas do servidor de impressão. Este nível de acesso não inclui AdministratePrinter direitos para as filas de impressão alojadas pelo servidor. |
| AdministratePrinter | 983052 | O direito de realizar todas as tarefas administrativas da fila de impressão, incluindo o direito de pausar e retomar qualquer trabalho de impressão; e o direito de eliminar todos os trabalhos da fila. Este nível de acesso inclui também todos os direitos ao abrigo UsePrinterde . |
Exemplos
O exemplo seguinte mostra como usar esta enumeração para instalar uma segunda impressora que difere nas suas propriedades de uma impressora existente apenas na localização, porta e estado partilhado.
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()
Observações
Os direitos de acesso disponíveis em cada nível de acesso variam de acordo com o seguinte:
Quer o servidor de impressão seja um computador ou um aparelho de servidor de impressão.
O sistema operativo que é utilizado.
As atualizações de segurança que são instaladas.
As políticas de segurança que são suportadas.
Por esta razão, as descrições dos direitos de acesso na secçã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.
Estes valores são usados principalmente como parâmetros para PrintServer e PrintQueue construtores. Os construtores lançam exceções se usares um valor que só se pode aplicar a outro tipo de objeto. Por exemplo, não passe o AdministratePrinter a um PrintServer construtor.