Compartir a través de


Función PTGetPrintCapabilities (prntvpt.h)

Recupera las funcionalidades de la impresora con formato de conformidad con el esquema de impresión XML.

Sintaxis

HRESULT PTGetPrintCapabilities(
  [in]  HPTPROVIDER hProvider,
  [in]  IStream     *pPrintTicket,
        IStream     *pCapabilities,
  [out] BSTR        *pbstrErrorMessage
);

Parámetros

[in] hProvider

Identificador de un proveedor abierto cuyas funcionalidades de impresión se van a recuperar. Este identificador lo devuelve la función PTOpenProvider o PTOpenProviderEx .

[in] pPrintTicket

Puntero a una secuencia con su posición de búsqueda al principio del contenido del vale de impresión. Este parámetro puede ser NULL.

pCapabilities

Puntero a la secuencia donde se escribirán las funcionalidades de impresión, empezando por la posición de búsqueda actual.

[out] pbstrErrorMessage

Puntero a una cadena que especifica qué, si hay algo, no es válido sobre pPrintTicket. Si es válido, este valor es NULL.

Valor devuelto

Si la operación se realiza correctamente, se S_OK el valor devuelto.

Si hProvider se abrió en un subproceso diferente, HRESULT se E_INVALIDARG.

Si pPrintTicket no es compatible con el esquema de impresión , HRESULT se E_PRINTTICKET_FORMAT.

Si pCapabilities no es compatible con el esquema de impresión , HRESULT se E_PRINTCAPABILITIES_FORMAT.

Si hProvider se abrió en un subproceso diferente, HRESULT se E_INVALIDARG.

De lo contrario, se devuelve 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

Nota Se trata de una función de bloqueo o sincrónica que podría no devolverse inmediatamente. La rapidez con la que esta función devuelve depende de factores en tiempo de ejecución, como el estado de red, la configuración del servidor de impresión y la implementación del controlador de impresora, factores que son difíciles de predecir al escribir una aplicación. Llamar a esta función desde un subproceso que administra la interacción con la interfaz de usuario podría hacer que la aplicación parezca que no responde.
 
hProvider debe ser un identificador que se abrió en el mismo subproceso que el subproceso en el que se usa para esta función.

El controlador de impresora usa valores pPrintTicket (cuando el valor no es NULL) para crear configuraciones cuando el controlador genera funcionalidades de impresora que varían en función de la configuración actual.

Cuando la función devuelve, la posición de búsqueda de pPrintTicket se encuentra al final del contenido del vale de impresión y la posición de búsqueda de pCapabilities está al final de la secuencia. Si el autor de la llamada usa un flujo de memoria para pCapabilities, como un flujo creado por CreateStreamOnHGlobal , 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

Esquema de impresión

Funciones de la API del administrador de trabajos de impresión

Impresión