MXDC_ESCAPE関数

MXDC_ESCAPE プリンター エスケープ関数を使用すると、アプリケーションは、Microsoft XPS ドキュメント コンバーター (MXDC) を使用して、XML Paper Specification (XPS) 形式のファイルまたはプリンターにドキュメントを書き込みます。

この操作を実行するには、次のパラメーターを指定して ExtEscape 関数を呼び出します。

構文

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

パラメーター

hdc

プリンター デバイス コンテキストへのハンドル。

cbInput

lpszInData パラメーターが指すデータのサイズ (バイト単位)。

lpszInData

入力データを含むバッファーへのポインター。常に次のいずれかの構造体に格納されます。

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

これらの各構造体には、MXDC の実行を指定するオペコード メンバーがあります。 これらのコードの詳細については、「MxdcEscapeHeader」を参照してください。

操作コード (オペコード) アクション
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 を出力ファイルに直接書き込むできるようにします。 この方法では、ドキュメント全体またはドキュメント シーケンスを記述できます。

cbOutput

lpszOutData パラメーターが指すデータのサイズ (バイト単位)。

lpszOutData

出力データを含むバッファーへのポインター。

戻り値

関数が成功した場合、戻り値は 0 より大きくなります。 関数が失敗するか、サポートされていない場合、戻り値は 0 以下になります。

解説

このエスケープは MXDC と XPSDrv でサポートされていますが、GDI ではサポートされていません。

プリンター ドライバーが MXDC であるかどうかを確認するには、GETTECHNOLOGY エスケープを使用して ExtEscape を呼び出します。 ドライバーが MXDC の場合、 ExtEscape は 0 で終わる文字列 "http://schemas.microsoft.com/xps/2005/06"" を返します。 lpszOutData パラメーターによって参照されるバッファーがこの文字列を保持するのに十分な大きさであることを確認してください。

プリンター ドライバーが Windows のインボックス Microsoft XPS ドキュメント ライター ドライバーかどうかを確認するには、プリンター ドライバーが MXDC であることを確認し、プリンター ドライバーの名前が "Microsoft XPS ドキュメント ライター" かどうかを確認します。

プリンター ドライバー名を取得するには、次のいずれかの方法を使用します。

Level パラメーターの値を 1 に設定して GetPrinterDriver を呼び出します。 プリンター ドライバー名は、DRIVER_INFO_1構造体の pName メンバーで返されます。
または
Level パラメーター値を 2 に設定して GetPrinter を呼び出します。 プリンター ドライバー名は、PRINTER_INFO_2構造体の pDriverName メンバーで返されます。

次の表は、XPS ファイル内のさまざまなオブジェクトを検索する場所を示しています。さまざまな種類のオブジェクトが書き込まれます。

Object 出力ファイル内の場所
固定ページ /Documents/1/Pages/Esc%d.fpage
サムネイル /Documents/1/Metadata
印刷チケット /Documents/1/Metadata
フォント /Documents/1/Resources/Fonts
Image /Documents/1/Resources/Images

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
ヘッダー
Mxdc.h

関連項目

印刷

プリンターのエスケープ関数

ExtEscape