Compartir a través de


Introducción a los proveedores de impresión parciales

Normalmente, un archivo DLL de proveedor parcial implementa versiones personalizadas de solo las funciones de proveedor que administran las colas de impresión y los trabajos de impresión. El proveedor parcial solo se ejecuta en el sistema cliente de impresión y depende del proveedor de impresión local para las operaciones de administración de controladores y para generar datos de impresora. Pueden existir varios proveedores parciales en un sistema cliente.

En Funciones definidas por proveedores de impresión, ciertas funciones se identifican como "obligatorias". Los proveedores de impresión parcial deben proporcionar todas las funciones necesarias. Por lo general, los proveedores de impresión parciales no implementan ninguna de las funciones opcionales.

Las funciones necesarias pertenecen a los siguientes grupos de funciones:

En el caso de los proveedores de impresión parciales, los puertos de impresora deben considerarse equivalentes a las colas de impresión. Para cualquier función que reciba una estructura PRINTER_INFO_2 , el miembro pPort de la estructura debe establecerse en el nombre de la cola de impresión. Por lo tanto, si el nombre de la cola de impresión es \\Server\Printer1, el nombre del puerto también debe ser \\Server\Printer1. La implementación del proveedor de impresión parcial de EnumPorts debe devolver un nombre de puerto \\Server\Printer1.

Como se describe en Introducción a los proveedores de impresión, la llamada de una aplicación a OpenPrinter hace que el enrutador del administrador de trabajos de impresión llame a cada proveedor de impresión hasta que uno de ellos reconozca la cola de impresión especificada y devuelva un identificador.

Es importante recordar que un proveedor de impresión parcial no reemplaza al proveedor local. Una vez creada una conexión de usuario a una impresora, cada llamada a una función de proveedor se enruta a través del proveedor local, que controla la propia llamada o la redirige a un proveedor parcial. Todas las llamadas a funciones de proveedor identificadas como "obligatorias" se vuelven a enrutar desde el proveedor local al proveedor parcial adecuado.

Los proveedores parciales no generan trabajos de impresión; dependen del proveedor local y de sus procesadores de impresión para crear datos RAW que se pueden enviar a una impresora. Cuando un procesador de impresión llama a la función StartDocPrinter del proveedor local (vea Imprimir un trabajo de impresión) y la cola de impresión es compatible con un proveedor parcial, el proveedor local llama a la función StartDocPrinter del proveedor parcial, proporcionando los datos RAW (como un archivo). Las funciones StartDocPrinter, WritePrinter y EndDocPrinter del proveedor parcial deben enviar los datos RAW a través de la red a la cola de impresión remota.