Función PTMergeAndValidatePrintTicket (prntvpt.h)
Combina dos vales de impresión y devuelve un vale de impresión válido y viable.
Sintaxis
HRESULT PTMergeAndValidatePrintTicket(
[in] HPTPROVIDER hProvider,
[in] IStream *pBaseTicket,
[in] IStream *pDeltaTicket,
[in] EPrintTicketScope scope,
IStream *pResultTicket,
[out] BSTR *pbstrErrorMessage
);
Parámetros
[in] hProvider
Identificador de un proveedor de vales de impresión abierto. Este identificador lo devuelve la función PTOpenProvider o PTOpenProviderEx .
[in] pBaseTicket
Puntero a un vale de impresión. La posición de búsqueda de la secuencia debe estar al principio del contenido del vale de impresión.
[in] pDeltaTicket
Puntero a un vale de impresión. La posición de búsqueda de la secuencia debe estar al principio del contenido del vale de impresión. NULL se puede pasar a este parámetro. Vea la sección Comentarios.
[in] scope
Valor que especifica si el ámbito de pDeltaTicket y pResultTicket es una sola página, un documento completo o todos los documentos del trabajo de impresión. Vea la sección Comentarios.
pResultTicket
Puntero a la secuencia donde se escribirá el vale combinado viable. La posición de búsqueda estará al final del vale de impresión. Vea la sección Comentarios.
[out] pbstrErrorMessage
Puntero a una cadena que especifica qué, si hay algo, no es válido sobre pBaseTicket o pDeltaTicket. Si ambos son válidos, es NULL. Los problemas de viabilidad no se notifican en pbstrErrorMessage.
Valor devuelto
Si la operación se realiza correctamente sin ningún conflicto entre la configuración del vale combinado y las funcionalidades de la impresora, hrESULT se S_PT_NO_CONFLICT.
Si la operación se realiza correctamente, pero el vale combinado tuvo que cambiarse en una o varias configuraciones porque solicitó la funcionalidad que la impresora no admite, hrESULT se S_PT_CONFLICT_RESOLVED. Vea la sección Comentarios.
Si hProvider se abrió en un subproceso diferente, HRESULT se E_INVALIDARG.
Si pBaseTicket no es válido, HRESULT se E_PRINTTICKET_FORMAT.
Si pDeltaTicket no es válido, HRESULT se E_DELTA_PRINTTICKET_FORMAT.
De lo contrario, se devuelve algún otro código de error en HRESULT. Para obtener más información sobre los códigos de error COM, vea Control de errores.
Comentarios
Esta función se valida de dos maneras: primero valida ambos vales de entrada en el marco de esquema de impresión, notificando errores en pbstrErrorMessage. A continuación, comprueba la viabilidad del vale de impresión combinado con el controlador de impresora. Si la funcionalidad de solicitudes de vale combinadas que la impresora no admite, se reemplazan las configuraciones no viables y el controlador de impresora determina qué configuración de sustitución se va a usar. Normalmente, el controlador de impresora usa la configuración predeterminada del vale de impresión del usuario. Si el controlador de impresora no usa el mismo vale de impresión al que pBaseTicket apunta como origen para los valores sustitutos, es posible que pResultTicket sea diferente en algunos valores de configuración de los dos vales de impresión de entrada.
Normalmente, pBaseTicket contiene una gama completa de configuraciones de trabajo, documento y página. Normalmente, el valor predeterminado del usuario o el vale de impresión predeterminado del dispositivo se usa para pBaseTicket.
Si pDeltaTicket es NULL, el método valida pBaseTicket, comprueba su viabilidad y la devuelve, posiblemente modificada, en la secuencia a la que apunta pResultTicket.
Se omiten los valores de pDeltaTicket que están fuera del ámbito . Por ejemplo, si el ámbito es solo una sola página, se omiten la configuración de todo el trabajo y la configuración de todo el documento. El ámbito del trabajo incluye el ámbito de documento y el ámbito de página. El ámbito del documento incluye el ámbito de página.
La configuración que está fuera del ámbito no se incluye en pResultTicket.
Cuando la función devuelve un valor, la posición de búsqueda de pResultTicket se encuentra al final del contenido del vale de impresión. El autor de la llamada es responsable de restablecer la posición de búsqueda antes de leer los datos.
Si pbstrErrorMessage no es NULL cuando la función devuelve, el autor de la llamada debe liberar la cadena con SysFreeString.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | prntvpt.h |
Library | Prntvpt.lib |
Archivo DLL | Prntvpt.dll |
Consulte también
Funciones de la API del administrador de trabajos de impresión