MXDC_ESCAPE_HEADER_T構造体
MXDC_ESCAPE_HEADER_T構造体は、nEscape パラメーターとして MXDC_ESCAPE を使用して ExtEscape を呼び出す操作コードを保持します。 また、入力バッファーと出力バッファーのサイズも提供します。
構文
typedef struct tagMxdcEscapeHeader {
ULONG cbInput;
ULONG cbOutput;
ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
メンバー
-
cbInput
-
ExtEscape 関数の lpszOutData パラメーターに渡される入力バッファーのサイズ。
-
cbOutput
-
出力バッファーのサイズ。 これは ExtEscape 関数の cbOutput パラメーターと同じ値です。
-
オペコード
-
MXDC に何をすべきかを示すコード定数。
操作コード 説明 MXDCOP_GET_FILENAME ExtEscape 関数の lpszOutData パラメーターで、出力ファイルの完全パスを 0 で終わる文字列として返すか、その文字列のサイズを返します。 「解説」を参照してください。 MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 印刷チケットを XPS 固定ドキュメント シーケンスに関連付けます。 MXDCOP_PRINTTICKET_FIXED_DOC 印刷チケットを XPS ドキュメントに関連付けます。 MXDCOP_PRINTTICKET_FIXED_PAGE 印刷チケットを XPS ページに関連付けます。 MXDCOP_SET_S0PAGE 現在のページの XPS マークアップを出力に送信します。 MXDCOP_SET_S0PAGE_RESOURCE ページ上のリソース (画像やフォントなど) を出力に送信します。 MXDCOP_SET_XPSPASSTHRU_MODE MXDC をパススルー状態にして、アプリケーションが MXDC による処理を行わずに XPS を出力ファイルに直接書き込むできるようにします。 この方法では、ドキュメント全体またはドキュメント シーケンスを記述できます。
解説
MXDC_ESCAPEを呼び出す前に、_applications最初に GETTECHNOLOGY エスケープを使用して ExtEscape を呼び出して、ドライバーが MXDC であることを確認する必要があります。 ドライバーが MXDC の場合、関数は 0 で終わる文字列 "; をhttp://schemas.microsoft.com/xps/2005/06"返します。
この構造体は、常に lpszInData パラメーターで ExtEscape 関数に渡されるデータの先頭にあります。
opCode がMXDCOP_GET_FILENAME場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体のみで構成されます。
-
ExtEscape を 2 回呼び出して、出力ファイル名を取得します。
- 最初に、ExtEscape の cbOutput パラメーターに 4 を渡します。 lpszOutData パラメーターを、割り当てられた 4 バイトのメモリを指す値に設定します。 完全修飾ファイル パスのサイズは、ExtEscape の lpszOutData パラメーターで返されます。
- 次に、関数をもう一度呼び出します。 今回は 、cbOutput と cbInput の 両方を 4+ DataSize に設定します。 完全修飾ファイル パスは MxdcGetFileNameData 構造体で返されます。
opCode がMXDCOP_PRINTTICKET_FIXED_DOC_SEQまたはMXDCOP_PRINTTICKET_FIXED_DOC場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体と MxdcPrintTicketPassthrough 構造体で構成され、MxdcPrintTicketEscape 構造体に連結されます。
- ExtEscape の呼び出しは、StartDoc の呼び出しと EndDoc の呼び出しの間に行われる必要があります。
opCode がMXDCOP_PRINTTICKET_FIXED_PAGE場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体と MxdcPrintTicketPassthrough 構造体で構成され、MxdcPrintTicketEscape 構造体に連結されます。
- ExtEscape の呼び出しは、StartPage の呼び出しと EndPage の呼び出しの間に発生する必要があります。
opCode がMXDCOP_SET_S0PAGE場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体と MxdcS0PageData 構造体を MxdcS0PagePassthroughEscape 構造体に連結して構成されます。
- ExtEscape の呼び出しは、StartPage の呼び出しと EndPage の呼び出しの間に発生する必要があります。
- 呼び出し元のアプリケーションは、XML の検証を担当します。
- MXDCOP_SET_S0PAGEで呼び出す前に、ページ上の各リソースの opCode として MXDCOP_SET_S0PAGE_RESOURCE を使用して ExtEscape を呼び出すと、ストリーミングの消費量がより効率的になります。
opCode がMXDCOP_SET_S0PAGE_RESOURCE場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体と MxdcXpsS0PageResource 構造体を MxdcS0PageResourceEscape 構造体に連結して構成されます。
- ExtEscape の呼び出しは、StartPage の呼び出しと EndPage の呼び出しの間に発生する必要がありますが、StartPage 呼び出しと EndPage 呼び出しの間には、このような呼び出しが複数存在する可能性があります。
- MXDCOP_SET_S0PAGEで呼び出す前に、ページ上の各リソースの opCode として MXDCOP_SET_S0PAGE_RESOURCE を使用して ExtEscape を呼び出すと、ストリーミングの消費量がより効率的になります。
opCode がMXDCOP_SET_XPSPASSTHRU_MODE場合:
- ExtEscape 関数の lpszInData パラメーターは、MXDC_ESCAPE_HEADER_T構造体のみで構成されます。
- この呼び出しは 、StartDoc の呼び出しの前に行う必要があります。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
|