Win32 API 日本語リファレンス
ホームGraphics.Direct2D › ID2D1PrintControl

ID2D1PrintControl

COM
IID2c1d867d-c290-41c8-ae7e-34a98702e9a5継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

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 プリミティブを、印刷サブシステムで使用するための固定ページ表現に変換します。

commandListID2D1CommandList*in描画操作を格納しているコマンド リストです。
pageSizeD2D_SIZE_Fin追加するページのサイズを DIP 単位(1 インチ == 96 DIP)で指定します。印刷ドライバーがこのパラメーターに応答しない場合は、代わりに pagePrintTicketStream を使用できます。
pagePrintTicketStreamIStream*inoptional印刷チケット ストリームです。これを使用して、現在のページのプロパティ(たとえば用紙サイズや向きなど)を変更できます。
tag1ULONGLONG*outoptional後続の描画操作に対する 1 番目のラベルを格納します。このパラメーターは初期化されずに渡されます。NULL を指定した場合、このパラメーターには値は取得されません。
tag2ULONGLONG*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)

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 指定が可能。