Compartir a través de


Modificar una página de hoja de propiedades de Driver-Supplied

Importante

Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte la guía de diseño de aplicaciones de soporte técnico de impresión.

Un complemento de interfaz de usuario puede modificar páginas de hoja de propiedades proporcionadas por Unidrv o Pscript5 mediante la implementación del método IPrintOemUI::CommonUIProp y una función de devolución de llamada.

El complemento de interfaz de usuario usa el método IPrintOemUI::CommonUIProp para especificar un conjunto de elementos de opción que CPSUI puede agregar, quitar o reemplazar en la página Configuración del dispositivo de la hoja de propiedades de la impresora o en las páginas Diseño, Papel/Calidad y Avanzada de la hoja de propiedades del documento.

La función de devolución de llamada, de tipo OEMCUIPCALLBACK, se usa para procesar las modificaciones del usuario en los elementos de opción personalizados.

Agregar elementos de opción

El complemento de interfaz de usuario debe describir nuevos elementos de opción colocándolos en una matriz de estructuras OPTITEM proporcionadas por el controlador. El archivo DLL de la interfaz de impresora del controlador llama al método IPrintOemUI::CommonUIProp del complemento de interfaz de usuario dos veces. La primera vez que se llama al método , debe devolver el número de estructuras OPTITEM necesarias. El controlador asigna espacio para una matriz OPTITEM y describe la matriz en una estructura OEMCUIPPARAM . El controlador llama de nuevo a IPrintOemUI::CommonUIProp , proporcionando la dirección de la estructura OEMCUIPPARAM, por lo que el método puede cargar las estructuras OPTITEM con descripciones de opciones.

Quitar elementos de opción

Para quitar una opción de una página de hoja de propiedades proporcionada por Unidrv o Pscript5, el método IPrintOemUI::CommonUIProp del complemento de interfaz de usuario puede atravesar la matriz de estructuras OPTITEM a las que apunta la estructura OEMCUIPPARAM . Para cada opción que quiera quitar de la hoja de propiedades, puede establecer la marca OPTIF_HIDE de la estructura OPTITEM. (Tenga en cuenta que esto no quita realmente la opción; oculta la opción del usuario para que el usuario no pueda cambiar su valor predeterminado).

Reemplazar elementos de opción

Para reemplazar una opción en una página de hoja de propiedades proporcionada por Unidrv o Pscript, debe seguir las instrucciones que se muestran en la sección Quitar elementos de opción anteriores para quitar el elemento de opción existente y, a continuación, seguir las instrucciones de la sección Agregar elementos de opción anteriores para crear un nuevo elemento de opción para reemplazar el anterior.

Control de modificaciones en valores de opción personalizados

Para procesar las modificaciones del usuario en los elementos de opción personalizados, debe proporcionar al menos una función de devolución de llamada. Puede especificar una sola función de devolución de llamada que controle las opciones de la hoja de propiedades del documento y la hoja de propiedades de la impresora, o puede especificar una función independiente para cada una. Estas devoluciones de llamada son de tipo OEMCUIPCALLBACK.

Para especificar una función de devolución de llamada, coloque su dirección en una estructura OEMCUIPPARAM . El complemento de interfaz de usuario recibe la dirección de esta estructura como entrada para su método IPrintOemUI::CommonUIProp .

Cuando un usuario abre la hoja de propiedades de la impresora o la hoja de propiedades del documento y modifica las opciones, CPSUI llama al archivo DLL de la interfaz de impresora del controlador de impresora. Este archivo DLL procesa los valores de opción contenidos en sus propias estructuras OPTITEM . A continuación, para cada complemento de interfaz de usuario, el archivo DLL de interfaz de impresora llama a la función de devolución de llamada con tipo OEMCUIPCALLBACK especificada anteriormente por IPrintOemUI::CommonUIProp.