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. Sie stellt auch die Größen der Eingabe- und Ausgabepuffer bereit.
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 mit informationen zu den entsprechenden Codeausführungen informiert.
Operations-Code Beschreibung MXDCOP _ GET _ FILENAME Gibt im lpszOutData-Parameter der ExtEscape-Funktion entweder den vollständigen Pfad der Ausgabedatei als auf null endende Zeichenfolge 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 einem XPS-Dokument ein Druckticket zu. MXDCOP _ PRINTTICKET _ – FESTE _ SEITE Ordnet einer XPS-Seite ein Druckticket zu. MXDCOP _ SET _ S0PAGE Sendet das XPS-Markup der aktuellen Seite an die Ausgabe. MXDCOP _ SET _ S0PAGE-RESSOURCE _ Sendet eine Ressource auf der Seite, z. B. ein Bild oder eine Schriftart, an die Ausgabe. MXDCOP _ SET _ XPSPASSTHRU _ MODE Versetzt den MXDC in einen Pass-Through-Zustand, sodass eine Anwendung XPS direkt in die Ausgabedatei schreiben kann, ohne dass der MXDC verarbeitet wird. Ein gesamtes Dokument oder sogar eine Dokumentsequenz kann auf diese Weise geschrieben werden.
Hinweise
Vor dem Aufrufen von MXDC _ ESCAPE _ sollten Anwendungen zunächst überprüfen, ob der Treiber MXDC ist, indem Sie ExtEscape mit dem GETTECHNOLOGY-Escape aufrufen. Wenn der Treiber das MXDC ist, gibt die Funktion die auf null endende Zeichenfolge http://schemas.microsoft.com/xps/2005/06 "" zurück.
Diese Struktur befindet sich immer am Anfang der Daten, die in ihrem 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.
- Ü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 an Arbeitsspeicher verweist. Die Größe des vollqualifizierten Dateipfads wird im lpszOutData-Parameter von ExtEscape zurückgegeben.
- 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:
- Der lpszInData-Parameter der ExtEscape-Funktion besteht aus der MXDC _ ESCAPE HEADER _ _ T-Struktur und einer MxdcPrintTicketPassthrough-Struktur, die zu einer MxdcPrintTicketEscape-Struktur verkettet ist.
- Der Aufruf von ExtEscape muss zwischen einem Aufruf von StartDoc und einem Aufruf von EndDocerfolgen.
Wenn opCode MXDCOP _ PRINTTICKET _ FIXED PAGE _ ist:
- Der lpszInData-Parameter der ExtEscape-Funktion besteht aus der MXDC _ ESCAPE HEADER _ _ T-Struktur und einer MxdcPrintTicketPassthrough-Struktur, die zu einer MxdcPrintTicketEscape-Struktur verkettet ist.
- Der Aufruf von ExtEscape muss zwischen einem Aufruf von StartPage und einem Aufruf von EndPageerfolgen.
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 EndPageerfolgen.
- Die aufrufende Anwendung ist für die Überprüfung des XML-Code 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 ist.
- Der Aufruf von ExtEscape muss zwischen einem Aufruf von StartPage und einem Aufruf von EndPageerfolgen. Zwischen den Aufrufen von StartPage und EndPage kann es jedoch mehrere solcher Aufrufe 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 StartDocerfolgen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows [Nur Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2008-Desktop-Apps] |
| Header |
|