PTConvertPrintTicketToDevMode, fonction (prntvpt.h)
Convertit un ticket d’impression en structure DEVMODE .
Syntaxe
HRESULT PTConvertPrintTicketToDevMode(
[in] HPTPROVIDER hProvider,
[in] IStream *pPrintTicket,
EDefaultDevmodeType baseDevmodeType,
[in] EPrintTicketScope scope,
[out] ULONG *pcbDevmode,
[out] PDEVMODE *ppDevmode,
[out] BSTR *pbstrErrorMessage
);
Paramètres
[in] hProvider
Handle pour un fournisseur de ticket d’impression ouvert. Ce handle est retourné par la fonction PTOpenProvider ou PTOpenProviderEx .
[in] pPrintTicket
Pointeur vers un IStream avec sa position de recherche au début du ticket d’impression.
baseDevmodeType
Valeur indiquant si le DEVMODE par défaut de l’utilisateur ou le DEVMODE par défaut de la file d’attente d’impression est utilisé pour fournir des valeurs au DEVMODE de sortie lorsque pPrintTicket ne spécifie pas tous les paramètres possibles pour un DEVMODE.
[in] scope
Valeur qui spécifie l’étendue de pPrintTicket. Cette valeur peut spécifier une page unique, un document entier ou tous les documents du travail d’impression. Les paramètres de pPrintTicket qui se trouvent en dehors de l’étendue spécifiée sont ignorés. Consultez la section Notes.
[out] pcbDevmode
Pointeur vers la taille du DEVMODE en octets.
[out] ppDevmode
Pointeur vers le DEVMODE nouvellement créé.
[out] pbstrErrorMessage
Pointeur vers une chaîne qui spécifie ce qui, le cas échéant, n’est pas valide à propos de pPrintTicket. S’il est valide, cette valeur est NULL.
Valeur retournée
Si l’opération réussit, la valeur de retour est S_OK.
Si hProvider a été ouvert dans un autre thread, hrESULT est E_INVALIDARG.
Si pPrintTicket n’est pas valide, HRESULT est E_PRINTTICKET_FORMAT.
Sinon, un autre code d’erreur est retourné dans HRESULT. Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs.
Remarques
Si baseDevmodeType est kUserDefaultDevmode, mais que la valeur par défaut de l’utilisateur n’est pas disponible, la valeur par défaut de l’appareil est utilisée.
Le DEVMODE retourné peut être incohérent en interne ou en conflit avec les paramètres de l’imprimante matérielle, même si chaque paramètre qu’il contient est viable individuellement. Par exemple, si l’imprimante prend en charge un duplexeur facultatif, mais que le pPrintTicket appelle le duplexing, le DEVMODE retourné appelle également pour le duplexing, même si le duplexeur n’est pas installé. Utilisez DocumentProperties pour corriger le DEVMODE retourné.
La mémoire tampon dans le ppDevmode retourné doit être libérée avec PTReleaseMemory.
Les valeurs de pPrintTicket qui se trouvent en dehors de l’étendue sont ignorées. Par exemple, si l’étendue n’est qu’une seule page, les paramètres à l’échelle du travail et les paramètres à l’échelle du document sont ignorés. L’étendue du travail inclut l’étendue du document et l’étendue de la page. L’étendue du document inclut l’étendue de la page.
Si pbstrErrorMessage n’est pas NULL lorsque la fonction est retournée, l’appelant doit libérer la chaîne avec SysFreeString.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | prntvpt.h |
Bibliothèque | Prntvpt.lib |
DLL | Prntvpt.dll |