Compartir a través de


Compatibilidad del administrador de trabajos de impresión para servicios de directorio de impresoras

La compatibilidad del administrador de trabajos de impresión para Servicios de directorio consta de:

  • Publicación de colas de impresión

  • Mantenimiento de tres claves del Registro

  • Permitir el acceso a las claves del Registro mantenidas por el administrador de colas

  • Devolver el estado de publicación de una cola de impresión

Publicación de colas de impresión

La función SetPrinter permite a los autores de llamadas publicar, cancelar la publicación o actualizar un objeto de cola de impresión. Para estos fines, se debe llamar a la función SetPrinter con una estructura de entrada de PRINTER_INFO_7.

Un objeto de cola de impresión solo se puede publicar si está asociado al objeto de equipo que describe el servidor de impresión al que está conectado el usuario. La capacidad de un usuario para publicar una cola de impresión viene determinada por sus derechos de acceso, tal como se incluye en el contexto de seguridad del cliente del usuario. Puede publicar una cola de impresión si tiene el permiso Administrar impresoras en la cola de impresión.

Mantenimiento de tres claves del Registro

Tres claves del Registro contienen copias de toda la información publicada en el objeto de cola de impresión. Se hace referencia a las tres claves mediante los siguientes identificadores, definidos en winspool.h:

Clave Definición
SPLDS_DRIVER_KEY Para almacenar información específica del controlador, que puede proporcionar el administrador de colas o el controlador.
SPLDS_SPOOLER_KEY Para almacenar información específica del administrador de colas proporcionada por spooler.
SPLDS_USER_KEY Para almacenar información específica del usuario proporcionada por la aplicación.

El administrador de colas usa SPLDS_DRIVER_KEY para almacenar las funcionalidades del controlador que se pueden obtener mediante una llamada a la función DeviceCapabilities . El controlador es responsable de almacenar las funcionalidades del controlador que el administrador de colas no puede obtener, como se describe en Compatibilidad del controlador de impresora con servicios de directorio de impresora. Los valores almacenados en estas claves deben identificarse mediante constantes con prefijo SPLDS_, definidas en winspool.h.

El administrador de colas realiza un seguimiento de los valores de estas claves que se han modificado desde la última vez que se actualizó el objeto de cola de impresión. Cada vez que el administrador de colas publica o actualiza el objeto de cola de impresión, copia todos los valores modificados en el objeto .

Permitir el acceso a las claves del Registro mantenidas por el administrador de colas

El administrador de colas permite a los controladores de impresora acceder a las tres claves del Registro mantenidas por el administrador de colas mediante una llamada a las funciones SetPrinterDataEx, GetPrinterDataEx y EnumPrinterDataEx . La función SetPrinterDataEx establece valores en las claves, mientras que GetPrinterDataEx y EnumPrinterDataEx devuelven los valores actuales. Los controladores no deben establecer valores en la clave SPLDS_SPOOLER_KEY. Los autores de llamadas de estas funciones no especifican una ruta de acceso completa del Registro; las funciones determinan automáticamente la ruta de acceso a las entradas del Registro de la cola de impresión especificadas.

Devolver el estado de publicación de una cola de impresión

La función GetPrinter permite a los autores de llamadas determinar si una cola de impresión está publicada actualmente. Para ello, se debe llamar a la función GetPrinter con una estructura de entrada de PRINTER_INFO_7. La función devuelve el estado de publicación de la cola de impresión (publicado o no publicado) y el identificador de objeto.