Freigeben über


MXDC_ESCAPE_HEADER_T Struktur

Die MXDC_ESCAPE_HEADER_T-Struktur enthält den Vorgangscode für einen Aufruf von ExtEscape mit MXDC_ESCAPE als nEscape-Parameter . Außerdem werden die Größen der Eingabe- und Ausgabepuffer bereitgestellt.

Syntax

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

Member

cbInput

Die Größe des Eingabepuffers, der an den lpszOutData-Parameter der ExtEscape-Funktion übergeben wird.

cbOutput

Die Größe des Ausgabepuffers. Dies ist der gleiche Wert wie der cbOutput-Parameter der ExtEscape-Funktion .

Opcode

Die Codekonstante, die MXDC angibt, was zu tun ist.

Vorgangscode BESCHREIBUNG
MXDCOP_GET_FILENAME Gibt im lpszOutData-Parameter der ExtEscape-Funktion entweder den vollständigen Pfad der Ausgabedatei als Zeichenfolge mit Null oder die Größe dieser Zeichenfolge zurück. Siehe Hinweise.
MXDCOP_PRINTTICKET_FIXED_DOC_SEQ Ordnet ein Druckticket einer festen XPS-Dokumentsequenz zu.
MXDCOP_PRINTTICKET_FIXED_DOC Ordnet ein Druckticket einem XPS-Dokument zu.
MXDCOP_PRINTTICKET_FIXED_PAGE Ordnet ein Druckticket einer XPS-Seite zu.
MXDCOP_SET_S0PAGE Sendet das XPS-Markup der aktuellen Seite an die Ausgabe.
MXDCOP_SET_S0PAGE_RESOURCE Sendet eine Ressource auf der Seite, z. B. ein Bild oder eine Schriftart, an die Ausgabe.
MXDCOP_SET_XPSPASSTHRU_MODE Versetzt das MXDC in einen Passthrough-Zustand, sodass eine Anwendung XPS direkt in die Ausgabedatei schreiben kann, ohne dass das MXDC verarbeitet wird. Auf diese Weise kann ein gesamtes Dokument oder sogar eine Dokumentsequenz geschrieben werden.

Bemerkungen

Bevor Sie MXDC_ESCAPE aufrufen, sollten _applications zuerst überprüfen, ob der Treiber MXDC ist, indem Sie ExtEscape mit dem GETTECHNOLOGY-Escape aufrufen. Wenn der Treiber der MXDC ist, gibt die Funktion die 0-0-endende Zeichenfolge "http://schemas.microsoft.com/xps/2005/06"" zurück.

Diese Struktur befindet sich immer am Anfang der Daten, die im lpszInData-Parameter an die ExtEscape-Funktion übergeben werden.

Wenn opCode MXDCOP_GET_FILENAME ist:

  • Der lpszInData-Parameter der ExtEscape-Funktion besteht nur aus der MXDC_ESCAPE_HEADER_T-Struktur .
  • Rufen Sie den Ausgabedateinamen ab, indem Sie ExtEscape zweimal aufrufen.
    1. Übergeben Sie beim ersten Mal 4 an den cbOutput-Parameter von ExtEscape. Legen Sie den lpszOutData-Parameter so fest, dass er auf alle zugeordneten 4 Bytes Arbeitsspeicher verweist. Die Größe des vollqualifizierten Dateipfads wird im lpszOutData-Parameter von ExtEscape zurückgegeben.
    2. Rufen Sie dann die Funktion erneut auf. Legen Sie dieses Mal sowohl cbOutput als auch cbInput auf 4+ DataSize fest. Der vollqualifizierte Dateipfad wird in einer MxdcGetFileNameData-Struktur zurückgegeben.

Wenn opCode MXDCOP_PRINTTICKET_FIXED_DOC_SEQ oder MXDCOP_PRINTTICKET_FIXED_DOC ist:

Wenn opCode MXDCOP_PRINTTICKET_FIXED_PAGE ist:

Wenn opCode MXDCOP_SET_S0PAGE ist:

  • Der lpszInData-Parameter der ExtEscape-Funktion besteht aus der MXDC_ESCAPE_HEADER_T-Struktur und einer MxdcS0PageData-Struktur , die in eine MxdcS0PagePassthroughEscape-Struktur verkettet ist.
  • Der Aufruf von ExtEscape muss zwischen einem Aufruf von StartPage und einem Aufruf von EndPage erfolgen.
  • Die aufrufende Anwendung ist für die Überprüfung des XML-Codes verantwortlich.
  • Die Streamingnutzung ist effizienter, wenn Sie ExtEscape mit MXDCOP_SET_S0PAGE_RESOURCE als opCode für jede Ressource auf der Seite aufrufen, bevor Sie sie mit MXDCOP_SET_S0PAGE aufrufen.

Wenn opCode MXDCOP_SET_S0PAGE_RESOURCE ist:

  • Der lpszInData-Parameter der ExtEscape-Funktion besteht aus der MXDC_ESCAPE_HEADER_T-Struktur und einer MxdcXpsS0PageResource-Struktur , die in eine MxdcS0PageResourceEscape-Struktur verkettet sind.
  • Der Aufruf von ExtEscape muss zwischen einem Aufruf von StartPage und einem Aufruf von EndPage erfolgen, es kann jedoch mehrere solche Aufrufe zwischen den Aufrufen von StartPage und EndPage geben.
  • Die Streamingnutzung ist effizienter, wenn Sie ExtEscape mit MXDCOP_SET_S0PAGE_RESOURCE als opCode für jede Ressource auf der Seite aufrufen, bevor Sie sie mit MXDCOP_SET_S0PAGE aufrufen.

Wenn opCode MXDCOP_SET_XPSPASSTHRU_MODE ist:

  • Der lpszInData-Parameter der ExtEscape-Funktion besteht nur aus der MXDC_ESCAPE_HEADER_T-Struktur .
  • Dieser Aufruf muss vor dem Aufruf von StartDoc erfolgen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Mxdc.h

Siehe auch

Drucken

Drucken von Spooler-API-Strukturen

Escapefunktionen des GDI-Druckers

ExtEscape

MXDC_ESCAPE