MXDC _ ESCAPE-Funktion

Die MXDC ESCAPE-Drucker-Escapefunktion _ ermöglicht Anwendungen das Schreiben von Dokumenten in eine Datei oder in einen Drucker im XPS-Format (XML Paper Specification) mithilfe des Microsoft XPS Document Converter (MXDC).

Rufen Sie zum Ausführen dieses Vorgangs die ExtEscape-Funktion mit den folgenden Parametern auf.

Syntax

int MXDC_ESCAPE(
    hdc,
    cbInput,
    lpszInData,
    cbOutput,
    lpszOutData
);

Parameter

Hdc

Ein Handle für den Druckergerätekontext.

cbInput

Die Größe der Daten, auf die der lpszInData-Parameter zeigt, in Bytes.

lpszInData

Ein Zeiger auf einen Puffer, der die Eingabedaten enthält, die immer in einer der folgenden Strukturen gespeichert sind.

**MxdcEscapeHeader**
**MxdcPrintTicketEscape**
**MxdcS0PagePassthroughEscape**
**MxdcS0PageResourceEscape**

Jede dieser Strukturen verfügt über einen Opcodemember, der angibt, was der MXDC tun soll. Ausführliche Hinweise zu diesen Codes finden Sie unter MxdcEscapeHeader.

Betriebscode (opcode) Aktion
MXDCOP _ GET _ FILENAME
Legt den lpszOutData-Parameter der ExtEscape-Funktion auf fest, entweder den vollständigen Pfad der Ausgabedatei als auf null endende Zeichenfolge oder andernfalls die Größe dieser Zeichenfolge.
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.

cbOutput

Die Größe der Daten in Bytes, auf die der lpszOutData-Parameter zeigt.

lpszOutData

Ein Zeiger auf einen Puffer, der die Ausgabedaten enthält.

Rückgabewert

Wenn die Funktion erfolgreich ausgeführt wird, ist der Rückgabewert größer als 0 (null). Wenn die Funktion fehlschlägt oder nicht unterstützt wird, ist der Rückgabewert kleiner oder gleich 0 (null).

Hinweise

Dieses Escape wird von MXDC und XPSDrv unterstützt, jedoch nicht von GDI.

Um zu ermitteln, ob der Druckertreiber das MXDC ist, rufen Sie ExtEscape mit dem GETTECHNOLOGY-Escape auf. Wenn es sich bei dem Treiber um den MXDC handelt, gibt ExtEscape die auf Null endende Zeichenfolge " http://schemas.microsoft.com/xps/2005/06 " " zurück. Stellen Sie sicher, dass der Puffer, auf den der lpszOutData-Parameter verweist, groß genug ist, um diese Zeichenfolge aufzunehmen.

Um zu ermitteln, ob der Druckertreiber der Windows im Lieferumfang enthaltenen Microsoft XPS Document Writer-Treiber ist, vergewissern Sie sich, dass der Druckertreiber das MXDC ist, und bestimmen Sie dann, ob der Name des Druckertreibers "Microsoft XPS Document Writer" lautet.

Verwenden Sie eine der folgenden Verfahren, um den Namen des Druckertreibers abzurufen.

Rufen Sie GetPrinterDriver auf, wobei der Level-Parameterwert auf 1 festgelegt ist. Der Name des Druckertreibers wird im pName-Member der DRIVER INFO _ _ 1-Struktur zurückgegeben.
oder
Rufen Sie GetPrinter auf, wobei der Level-Parameterwert auf 2 festgelegt ist. Der Druckertreibername wird im pDriverName-Member der PRINTER INFO _ _ 2-Struktur zurückgegeben.

Die folgende Tabelle zeigt, wo verschiedene Objekte in der XPS-Datei zu finden sind. Verschiedene Objekttypen werden geschrieben.

Object Speicherort in der Ausgabedatei
Seite "Behoben" /Documents/1/Pages/Esc%d.fpage
Miniaturansicht /Documents/1/Metadata
Drucken eines Tickets /Documents/1/Metadata
Schriftart /Documents/1/Resources/Fonts
Image /Documents/1/Resources/Images

Anforderungen

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

Weitere Informationen

Drucken

Escapefunktionen für Drucker

ExtEscape