ホーム › Graphics.Direct2D › ID2D1PrintControl
ID2D1PrintControl
COM公式ドキュメント
ID2D1CommandList に格納された Direct2D プリミティブを固定ページ表現に変換します。その後、印刷サブシステムがそのプリミティブを利用します。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT AddPage(ID2D1CommandList* commandList, D2D_SIZE_F pageSize, IStream* pagePrintTicketStream, ULONGLONG* tag1, ULONGLONG* tag2)
渡されたコマンド リスト内の Direct2D プリミティブを、印刷サブシステムで使用するための固定ページ表現に変換します。
| commandList | ID2D1CommandList* | in | 描画操作を格納しているコマンド リストです。 |
| pageSize | D2D_SIZE_F | in | 追加するページのサイズを DIP 単位(1 インチ == 96 DIP)で指定します。印刷ドライバーがこのパラメーターに応答しない場合は、代わりに pagePrintTicketStream を使用できます。 |
| pagePrintTicketStream | IStream* | inoptional | 印刷チケット ストリームです。これを使用して、現在のページのプロパティ(たとえば用紙サイズや向きなど)を変更できます。 |
| tag1 | ULONGLONG* | outoptional | 後続の描画操作に対する 1 番目のラベルを格納します。このパラメーターは初期化されずに渡されます。NULL を指定した場合、このパラメーターには値は取得されません。 |
| tag2 | ULONGLONG* | outoptional | 後続の描画操作に対する 2 番目のラベルを格納します。このパラメーターは初期化されずに渡されます。NULL を指定した場合、このパラメーターには値は取得されません。 |
戻り値
Type: HRESULT
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| HRESULT | 説明 |
|---|---|
| S_OK | エラーは発生しませんでした。 |
| E_OUTOFMEMORY | Direct2D が呼び出しを完了するのに十分なメモリを割り当てられませんでした。 |
| E_INVALIDARG | 戻り値を返す関数に無効なパラメーターが渡されました。 |
| D2DERR_PRINT_JOB_CLOSED | 印刷ジョブは既に終了しています。 |
vtbl 4 HRESULT Close()
残りのすべてのリソースを印刷サブシステムに渡し、その後、現在の印刷ジョブをクリーンアップして閉じます。
戻り値
Type: HRESULT
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| HRESULT | 説明 |
|---|---|
| S_OK | エラーは発生しませんでした。 |
| E_OUTOFMEMORY | Direct2D が呼び出しを完了するのに十分なメモリを割り当てられませんでした。 |
| E_INVALIDARG | 戻り値を返す関数に無効なパラメーターが渡されました。 |
| D2DERR_PRINT_JOB_CLOSED | 印刷ジョブは既に終了しています。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID2D1PrintControl "{2C1D867D-C290-41C8-AE7E-34A98702E9A5}" #usecom global ID2D1PrintControl IID_ID2D1PrintControl "{}" #comfunc global ID2D1PrintControl_AddPage 3 sptr,int,sptr,var,var #comfunc global ID2D1PrintControl_Close 4 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID2D1PrintControl "{2C1D867D-C290-41C8-AE7E-34A98702E9A5}" #usecom global ID2D1PrintControl IID_ID2D1PrintControl "{}" #comfunc global ID2D1PrintControl_AddPage 3 sptr,int,sptr,sptr,sptr #comfunc global ID2D1PrintControl_Close 4 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。