Share via


Méthode IPrintTicketProvider2 ::ConvertPrintTicketToDevMode (prdrvcom.h)

La méthode IPrintTicketProvider2 ::ConvertPrintTicketToDevMode convertit un ticket d’impression en structure DEVMODEW .

Syntaxe

HRESULT ConvertPrintTicketToDevMode(
  [in]  IN IXMLDOMDocument2 *pPrintTicket,
  [in]  IN ULONG            cbDevmodeIn,
  [in]  IN PDEVMODE         pDevmodeIn,
  [out] OUT ULONG           *pcbDevmodeOut,
  [out] OUT PDEVMODE        *ppDevmodeOut
);

Paramètres

[in] pPrintTicket

Pointeur vers le ticket d’impression d’entrée. IPrintTicketProvider2 ::ConvertPrintTicketToDevMode convertit les paramètres du ticket d’impression d’entrée en champs de la structure DEVMODEW .

[in] cbDevmodeIn

Taille, en octets, de la structure DEVMODEW d’entrée. Cette taille inclut les sections publiques et privées de la structure DEVMODEW .

[in] pDevmodeIn

Pointeur vers la structure DEVMODEW d’entrée, qui contient les paramètres par défaut. La structure DEVMODEW peut être la structure DEVMODEW par défaut de la file d’attente d’impression, ou il peut s’agir de la structure DEVMODEW par défaut de l’utilisateur. Étant donné que ce paramètre peut représenter la structure DEVMODEW par défaut de l’utilisateur, le fournisseur de plug-in OEM doit valider les données de cette structure. Une structure DEVMODEW par défaut utilisateur peut ne pas être valide pour un pilote spécifique, par exemple, lorsque le pilote de la file d’attente d’impression change ou est mis à niveau.

[out] pcbDevmodeOut

Pointeur vers une variable qui contient la taille, en octets, de la structure DEVMODEW de sortie.

[out] ppDevmodeOut

Pointeur vers une variable qui contient l’adresse de la structure DEVMODEW de sortie. Lorsque IPrintTicketProvider2 ::ConvertPrintTicketToDevMode est retourné avec succès, les membres de la structure DEVMODEW de sortie sont réinitialisés pour refléter les paramètres du ticket d’impression. Pour plus d'informations, consultez la section Notes qui suit.

Valeur retournée

IPrintTicketProvider2 ::ConvertPrintTicketToDevMode doit retourner S_OK si l’opération réussit. Sinon, cette méthode doit retourner un code d’erreur COM standard.

Remarques

Le pilote principal appelle la méthode IPrintTicketProvider2 ::ConvertPrintTicketToDevMode avant d’effectuer sa partie de la conversion d’un ticket d’impression en structure DEVMODEW . Dans l’appel à cette méthode, le pilote principal transmet un ticket d’impression d’entrée entièrement rempli et une structure DEVMODEW définie sur les valeurs par défaut. Dans la conversion, le plug-in doit annuler toutes les modifications qu’il a apportées au ticket d’impression lors de la conversion précédente, d’une structure DEVMODEW à un ticket d’impression. Si, au cours de cette conversion précédente, le plug-in a déplacé une fonctionnalité d’un espace de noms privé vers l’espace de noms public, le plug-in doit restaurer la fonctionnalité dans l’espace de noms privé dans un format adapté au pilote principal, c’est-à-dire au format dans lequel le pilote principal avait précédemment placé la fonctionnalité dans le ticket d’impression fourni au plug-in dans IPrintOemPrintTicketProvider :: Méthode ConvertDevModeToPrintTicket . Cette restauration est nécessaire pour que le pilote principal puisse reconnaître une fonctionnalité dans le ticket d’impression et refléter ses paramètres dans la partie privée de la structure DEVMODEW du pilote principal pendant que le pilote principal effectue sa partie de la conversion du ticket d’impression vers DEVMODEW .

Avant que le système ne reconvertit un ticket d’impression en structure DEVMODEW , il charge d’abord le DEVMODEW par défaut. Le système appelle ensuite la méthode IPrintTicketProvider2 ::BindPrinter du fournisseur. Cette méthode doit ensuite lire tous les paramètres qu’elle a pris en charge à partir du ticket d’impression et les placer dans la structure DEVMODEW . Notez que toutes les fonctionnalités ne sont pas nécessairement représentées, et que souvent, les instances d’option présentes peuvent ne pas contenir toutes les instances de propriété notées que le fournisseur remplirait normalement. Si le fournisseur apporte des modifications aux paramètres qui ont été renseignés par le système lors de la conversion du ticket d’impression en DEVMODEW, le fournisseur doit effectuer l’inverse de cette modification dans cette méthode. Une fois le fournisseur retourné, le système remplace tous les paramètres DEVMODEW publics qui sont représentés dans le ticket d’impression, mais qui ne sont pas explicitement désactivés par le fournisseur.

Configuration requise

Condition requise Valeur
En-tête prdrvcom.h (inclure Prdrvcom.h)

Voir aussi

IPrintTicketProvider2

IPrintTicketProvider2 ::ConvertDevModeToPrintTicket