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.
- 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.
- 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:
- Parameter lpszInData dari fungsi ExtEscape terdiri dari struktur MXDC_ESCAPE_HEADER_T dan struktur MxdcPrintTicketPassthrough yang digabungkan ke dalam struktur MxdcPrintTicketEscape .
- Panggilan ke ExtEscape harus terjadi antara panggilan ke StartDoc dan panggilan ke EndDoc.
Ketika opCode MXDCOP_PRINTTICKET_FIXED_PAGE:
- Parameter lpszInData dari fungsi ExtEscape terdiri dari struktur MXDC_ESCAPE_HEADER_T dan struktur MxdcPrintTicketPassthrough yang digabungkan ke dalam struktur MxdcPrintTicketEscape .
- Panggilan ke ExtEscape harus terjadi antara panggilan ke StartPage dan panggilan ke EndPage.
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 |
|