MXDC_ESCAPE fonction
La fonction d’échappement d’imprimante MXDC_ESCAPE permet aux applications d’écrire des documents dans un fichier ou dans une imprimante au format XML Paper Specification (XPS) au moyen de Microsoft XPS Document Converter (MXDC).
Pour effectuer cette opération, appelez la fonction ExtEscape avec les paramètres suivants.
Syntaxe
int MXDC_ESCAPE(
hdc,
cbInput,
lpszInData,
cbOutput,
lpszOutData
);
Paramètres
-
Hdc
-
Handle pour le contexte du périphérique d’imprimante.
-
cbInput
-
Taille, en octets, des données pointées par le paramètre lpszInData .
-
lpszInData
-
Pointeur vers une mémoire tampon contenant les données d’entrée, qui sont toujours stockées dans l’une des structures suivantes.
- **MxdcEscapeHeader**
- **MxdcPrintTicketEscape**
- **MxdcS0PagePassthroughEscape**
- **MxdcS0PageResourceEscape**
Chacune de ces structures a un membre opcode qui spécifie ce que le MXDC est censé faire. Pour obtenir des remarques détaillées sur ces codes, consultez MxdcEscapeHeader.
Code d’opération (opcode) Action - MXDCOP_GET_FILENAME
Définit le paramètre lpszOutData de la fonction ExtEscape sur, soit le chemin d’accès complet du fichier de sortie sous la forme d’une chaîne terminée à zéro, soit la taille de cette chaîne. - MXDCOP_PRINTTICKET_FIXED_DOC_SEQ
Associe un ticket d’impression à une séquence de documents fixe XPS. - MXDCOP_PRINTTICKET_FIXED_DOC
Associe un ticket d’impression à un document XPS. - MXDCOP_PRINTTICKET_FIXED_PAGE
Associe un ticket d’impression à une page XPS. - MXDCOP_SET_S0PAGE
Envoie le balisage XPS de la page active à la sortie. - MXDCOP_SET_S0PAGE_RESOURCE
Envoie une ressource sur la page, telle qu’une image ou une police, à la sortie. - MXDCOP_SET_XPSPASSTHRU_MODE
Place le MXDC dans un état pass through, ce qui permet à une application d’écrire XPS directement dans le fichier de sortie sans aucun traitement par le MXDC. Un document entier ou même une séquence de documents peut être écrit de cette façon. -
cbOutput
-
Taille, en octets, des données pointées par le paramètre lpszOutData .
-
lpszOutData
-
Pointeur vers une mémoire tampon contenant les données de sortie.
Valeur retournée
Si la fonction réussit, la valeur de retour est supérieure à zéro. Si la fonction échoue ou n’est pas prise en charge, la valeur de retour est inférieure ou égale à zéro.
Notes
Cette sortie d’échappement est prise en charge par MXDC et XPSDrv, mais pas par GDI.
Pour déterminer si le pilote d’imprimante est le MXDC, appelez ExtEscape avec l’échappement GETTECHNOLOGY . Si le pilote est le MXDC, ExtEscape retourne la chaîne à terminaison zéro, «http://schemas.microsoft.com/xps/2005/06" ;. Assurez-vous que la mémoire tampon référencée par le paramètre lpszOutData est suffisamment grande pour contenir cette chaîne.
Pour déterminer si le pilote d’imprimante est le pilote Enregistreur de documents Microsoft XPS intégré à Windows, vérifiez que le pilote d’imprimante est le MXDC, puis déterminez si le nom du pilote d’imprimante est « Microsoft XPS Document Writer ».
Pour obtenir le nom du pilote d’imprimante, utilisez l’une des techniques suivantes.
- Appelez GetPrinterDriver avec la valeur du paramètre Level définie sur 1. Le nom du pilote d’imprimante est retourné dans le membre pName de la structure DRIVER_INFO_1 .
or
Appelez GetPrinter avec la valeur du paramètre Level définie sur 2. Le nom du pilote d’imprimante est retourné dans le membre pDriverName de la structure PRINTER_INFO_2 .
Le tableau suivant indique où trouver différents objets dans le fichier XPS différents types d’objets seront écrits.
Object | Emplacement dans le fichier de sortie |
---|---|
Page corrigée | /Documents/1/Pages/Esc%d.fpage |
Thumbnail | /Documents/1/Metadata |
Imprimer le ticket | /Documents/1/Metadata |
Police | /Documents/1/Resources/Fonts |
Image | /Documents/1/Resources/Images |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau uniquement] |
En-tête |
|