Partager via


Méthode IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode (prcomoem.h)

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

Syntaxe

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Paramètres

[in] pPrintTicket

Pointeur vers le ticket d’impression d’entrée.

[in] cbDevmode

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

[in, out] pDevmode

Pointeur vers la structure DEVMODEW d’entrée. Lorsque IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode retourne, la structure DEVMODEW privée du plug-in contient les informations obtenues à partir du ticket d’impression.

[in] cbDrvPrivateSize

Taille, en octets, de la structure DEVMODEW privée du plug-in.

[in] pPrivateDevmode

Pointeur vers la structure DEVMODEW privée du plug-in.

Valeur retournée

IPrintOemPrintTicketProvider ::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 IPrintOemPrintTicketProvider ::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 apportées au ticket d’impression lors de la conversion précédente d’une structure DEVMODEW en ticket d’impression. Si, lors 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 qui convient au pilote principal, c’est-à-dire le format dans lequel le pilote principal avait précédemment placé la fonctionnalité dans le ticket d’impression fourni au plug-in dans le IPrintOemPrintTicketProvider :: Méthode ConvertDevModeToPrintTicket . Cette restauration est nécessaire pour que le pilote principal puisse reconnaître la 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 à DEVMODEW .

Avant que le système ne convertise un ticket d’impression en structure DEVMODEW , il charge d’abord la structure DEVMODEW par défaut. Le système appelle ensuite la méthode IPrintOemPrintTicketProvider ::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 remplir ces paramètres 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 qui sont présentes peuvent ne pas contenir toutes les instances de propriété notées que le fournisseur remplit normalement. Si le fournisseur apporte des modifications aux paramètres qui sont 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 la méthode IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode . 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
Plateforme cible Desktop (Expérience utilisateur)
En-tête prcomoem.h (inclure Prcomoem.h)

Voir aussi

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider ::ConvertDevModeToPrintTicket