Partager via


MXDC_ESCAPE_HEADER_T structure

La structure MXDC_ESCAPE_HEADER_T contient le code d’opération d’un appel à ExtEscape avec MXDC_ESCAPE comme paramètre nEscape . Il fournit également les tailles des mémoires tampons d’entrée et de sortie.

Syntaxe

typedef struct tagMxdcEscapeHeader {
  ULONG cbInput;
  ULONG cbOutput;
  ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;

Membres

cbInput

Taille de la mémoire tampon d’entrée qui sera passée au paramètre lpszOutData de la fonction ExtEscape .

cbOutput

Taille de la mémoire tampon de sortie. Il s’agit de la même valeur que le paramètre cbOutput de la fonction ExtEscape .

Opcode

Constante de code qui indique à MXDC ce qu’il faut faire.

Code d’opérations Description
MXDCOP_GET_FILENAME Retourne, dans le paramètre lpszOutData de la fonction ExtEscape , 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. Consultez la section Notes.
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.

Notes

Avant d’appeler MXDC_ESCAPE,_applications devez d’abord vérifier que le pilote est MXDC en appelant ExtEscape avec l’échappement GETTECHNOLOGY . Si le pilote est le MXDC, la fonction retourne la chaîne à terminaison zéro « http://schemas.microsoft.com/xps/2005/06".

Cette structure se trouve toujours au début des données passées à la fonction ExtEscape dans son paramètre lpszInData .

Lorsque opCode est MXDCOP_GET_FILENAME :

  • Le paramètre lpszInData de la fonction ExtEscape se compose uniquement de la structure MXDC_ESCAPE_HEADER_T .
  • Obtenez le nom de fichier de sortie en appelant ExtEscape deux fois.
    1. La première fois, passez 4 au paramètre cbOutputd’ExtEscape. Définissez le paramètre lpszOutData pour qu’il pointe vers les 4 octets de mémoire alloués. La taille du chemin d’accès complet au fichier est retournée dans le paramètre lpszOutDatad’ExtEscape.
    2. Ensuite, appelez à nouveau la fonction. Cette fois, définissez cbOutput et cbInput sur 4+ DataSize. Le chemin d’accès complet au fichier est retourné dans une structure MxdcGetFileNameData .

Lorsque opCode est MXDCOP_PRINTTICKET_FIXED_DOC_SEQ ou MXDCOP_PRINTTICKET_FIXED_DOC :

Lorsque opCode est MXDCOP_PRINTTICKET_FIXED_PAGE :

Lorsque opCode est MXDCOP_SET_S0PAGE :

  • Le paramètre lpszInData de la fonction ExtEscape se compose de la structure MXDC_ESCAPE_HEADER_T et d’une structure MxdcS0PageData concaténée en une structure MxdcS0PagePassthroughEscape .
  • L’appel à ExtEscape doit se produire entre un appel à StartPage et un appel à EndPage.
  • L’application appelante est chargée de valider le code XML.
  • La consommation de streaming est plus efficace si vous appelez ExtEscape avec MXDCOP_SET_S0PAGE_RESOURCE en tant que opCode pour chaque ressource de la page avant de l’appeler avec MXDCOP_SET_S0PAGE.

Lorsque opCode est MXDCOP_SET_S0PAGE_RESOURCE :

  • Le paramètre lpszInData de la fonction ExtEscape se compose de la structure MXDC_ESCAPE_HEADER_T et d’une structure MxdcXpsS0PageResource concaténée dans une structure MxdcS0PageResourceEscape .
  • L’appel à ExtEscape doit se produire entre un appel à StartPage et un appel à EndPage, mais il peut y avoir plusieurs appels de ce type entre les appels StartPage et EndPage .
  • La consommation de streaming est plus efficace si vous appelez ExtEscape avec MXDCOP_SET_S0PAGE_RESOURCE en tant que opCode pour chaque ressource de la page avant de l’appeler avec MXDCOP_SET_S0PAGE.

Lorsque opCode est MXDCOP_SET_XPSPASSTHRU_MODE :

  • Le paramètre lpszInData de la fonction ExtEscape se compose uniquement de la structure MXDC_ESCAPE_HEADER_T .
  • Cet appel doit se produire avant l’appel à StartDoc.

Spécifications

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
Mxdc.h

Voir aussi

Impression

Imprimer les structures de l’API spouleur

Fonctions d’échappement de l’imprimante GDI

ExtEscape

MXDC_ESCAPE