PrintSystemDesiredAccess Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los distintos derechos de acceso (o niveles de acceso) para imprimir objetos.
public enum class PrintSystemDesiredAccess
public enum PrintSystemDesiredAccess
type PrintSystemDesiredAccess =
Public Enum PrintSystemDesiredAccess
- Herencia
Campos
AdministratePrinter | 983052 | Derecho a realizar todas las tareas administrativas de la cola de impresión, incluido el derecho a poner en pausa y reanudar cualquier trabajo de impresión, así como el derecho a eliminar todos los trabajos de la cola. Este nivel de acceso también incluye todos los derechos de UsePrinter. |
AdministrateServer | 983041 | Derecho a realizar todas las tareas administrativas del servidor de impresión. Este nivel de acceso no incluye los derechos de AdministratePrinter para las colas de impresión hospedadas en el servidor. |
EnumerateServer | 131074 | Derecho a hacer una lista de las colas del servidor de impresión. |
None | 0 | Sin acceso. |
UsePrinter | 131080 | Derecho a agregar trabajos de impresión a la cola y a eliminar y enumerar los trabajos propios. |
Ejemplos
En el ejemplo siguiente se muestra cómo usar esta enumeración para instalar una segunda impresora que difiere en sus propiedades de una impresora existente solo en la ubicación, el puerto y el estado compartido.
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()
Comentarios
Los derechos de acceso que están disponibles en cada nivel de acceso varían según lo siguiente:
Si el servidor de impresión es un equipo o un dispositivo de servidor de impresión.
Sistema operativo que se usa.
Actualizaciones de seguridad instaladas.
Las directivas de seguridad que se admiten.
Por este motivo, las descripciones de los derechos de acceso de la sección "Miembros" son típicas de los derechos que se corresponden con cada nivel de acceso, pero los niveles de acceso enumerados pueden proporcionar más o menos derechos en determinados sistemas.
Estos valores se usan principalmente como parámetros para PrintServer los constructores y PrintQueue . Los constructores producirán excepciones si usa un valor que solo se puede aplicar a otro tipo de objeto. Por ejemplo, no pase AdministratePrinter a un PrintServer constructor.