Bagikan melalui


struktur MXDC_ESCAPE_HEADER_T

Struktur MXDC_ESCAPE_HEADER_T memegang kode operasi untuk panggilan ke ExtEscape dengan MXDC_ESCAPE sebagai parameter nEscape . Ini juga menyediakan ukuran buffer input dan output.

Sintaks

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

Anggota

cbInput

Ukuran buffer input yang akan diteruskan ke parameter lpszOutData dari fungsi ExtEscape .

cbOutput

Ukuran buffer output. Ini adalah nilai yang sama dengan parameter cbOutput dari fungsi ExtEscape .

Opcode

Konstanta kode yang memberi tahu MXDC apa yang harus dilakukan.

Kode operasi Deskripsi
MXDCOP_GET_FILENAME Mengembalikan, dalam parameter lpszOutData dari fungsi ExtEscape , baik jalur lengkap file output sebagai string yang dihentikan nol atau ukuran string tersebut. Lihat Keterangan.
MXDCOP_PRINTTICKET_FIXED_DOC_SEQ Mengaitkan tiket cetak dengan urutan dokumen tetap XPS.
MXDCOP_PRINTTICKET_FIXED_DOC Mengaitkan tiket cetak dengan dokumen XPS.
MXDCOP_PRINTTICKET_FIXED_PAGE Mengaitkan tiket cetak dengan halaman XPS.
MXDCOP_SET_S0PAGE Mengirim markup XPS dari halaman saat ini ke output.
MXDCOP_SET_S0PAGE_RESOURCE Mengirim sumber daya di halaman, seperti gambar atau font, ke output.
MXDCOP_SET_XPSPASSTHRU_MODE Menempatkan MXDC ke dalam status pass-through, memungkinkan aplikasi untuk menulis XPS langsung ke file output tanpa pemrosesan apa pun oleh MXDC. Seluruh dokumen atau bahkan urutan dokumen dapat ditulis dengan cara ini.

Keterangan

Sebelum memanggil MXDC_ESCAPE, _applications harus terlebih dahulu memverifikasi bahwa driver adalah MXDC dengan memanggil ExtEscape dengan escape GETTECHNOLOGY . Jika driver adalah MXDC, fungsi mengembalikan string yang dihentikan nol "http://schemas.microsoft.com/xps/2005/06".

Struktur ini selalu berada di awal data yang diteruskan ke fungsi ExtEscape dalam parameter lpszInData-nya .

Ketika opCode MXDCOP_GET_FILENAME:

  • Parameter lpszInData dari fungsi ExtEscape hanya terdiri dari struktur MXDC_ESCAPE_HEADER_T .
  • Dapatkan nama file output dengan memanggil ExtEscape dua kali.
    1. Pertama kali, teruskan 4 ke parameter cbOutputextEscape. Atur parameter lpszOutData untuk menunjuk ke memori 4 byte yang dialokasikan. Ukuran jalur file yang sepenuhnya memenuhi syarat akan dikembalikan dalam parameter lpszOutDataextEscape.
    2. Kemudian panggil fungsi lagi. Kali ini atur cbOutput dan cbInput ke 4+ DataSize. Jalur file yang sepenuhnya memenuhi syarat akan dikembalikan dalam struktur MxdcGetFileNameData .

Saat opCode MXDCOP_PRINTTICKET_FIXED_DOC_SEQ atau MXDCOP_PRINTTICKET_FIXED_DOC:

Ketika opCode MXDCOP_PRINTTICKET_FIXED_PAGE:

Saat opCode MXDCOP_SET_S0PAGE:

  • Parameter lpszInData dari fungsi ExtEscape terdiri dari struktur MXDC_ESCAPE_HEADER_T dan struktur MxdcS0PageData yang digabungkan ke dalam struktur MxdcS0PagePassthroughEscape .
  • Panggilan ke ExtEscape harus terjadi antara panggilan ke StartPage dan panggilan ke EndPage.
  • Aplikasi panggilan bertanggung jawab untuk memvalidasi XML.
  • Konsumsi streaming lebih efisien jika Anda memanggil ExtEscape dengan MXDCOP_SET_S0PAGE_RESOURCE sebagai opCode untuk setiap sumber daya di halaman sebelum Anda memanggilnya dengan MXDCOP_SET_S0PAGE.

Ketika opCode MXDCOP_SET_S0PAGE_RESOURCE:

  • Parameter lpszInData dari fungsi ExtEscape terdiri dari struktur MXDC_ESCAPE_HEADER_T dan struktur MxdcXpsS0PageResource yang digabungkan ke dalam struktur MxdcS0PageResourceEscape .
  • Panggilan ke ExtEscape harus terjadi antara panggilan ke StartPage dan panggilan ke EndPage, tetapi mungkin ada beberapa panggilan seperti itu antara panggilan StartPage dan EndPage .
  • Konsumsi streaming lebih efisien jika Anda memanggil ExtEscape dengan MXDCOP_SET_S0PAGE_RESOURCE sebagai opCode untuk setiap sumber daya di halaman sebelum Anda memanggilnya dengan MXDCOP_SET_S0PAGE.

Saat opCode MXDCOP_SET_XPSPASSTHRU_MODE:

  • Parameter lpszInData dari fungsi ExtEscape hanya terdiri dari struktur MXDC_ESCAPE_HEADER_T .
  • Panggilan ini harus terjadi sebelum panggilan ke StartDoc.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Mxdc.h

Lihat juga

Pencetakan

Cetak Struktur API Spooler

Fungsi Escape Printer GDI

ExtEscape

MXDC_ESCAPE