IXpsOMPackageTarget
COM公式ドキュメント
StartXpsPrintJob1 関数によって作成された印刷ジョブで使用できる IXpsOMPackageWriter を作成するためのメソッドを提供します。
解説(Remarks)
IXpsOMPackageWriter インターフェイスは、アプリケーションのデータをユーザーに表示される順序で書き込みます。
IXpsOMPackageTarget インターフェイスのインスタンスを作成するには、StartXpsPrintJob1 関数を呼び出します。
ドキュメントをプリンターに書き込むために使用する IXpsOMPackageWriter インターフェイスを作成するには、このインターフェイスの CreateXpsOMPackageWriter メソッドを呼び出します。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
StartXpsPrintJob1 関数が作成した印刷ジョブで使用する IXpsOMPackageWriter インターフェイスを作成します。
| documentSequencePartName | IOpcPartUri* | in | 新しいファイル内のドキュメントシーケンスのパート名を格納する IOpcPartUri インターフェイスです。 |
| documentSequencePrintTicket | IXpsOMPrintTicketResource* | in | 新しいファイルに割り当てるパッケージレベルの印刷チケットを格納する IXpsOMPrintTicketResource インターフェイスです。パッケージレベルの印刷チケットがない場合は、このパラメーターに NULL を設定します。 |
| discardControlPartName | IOpcPartUri* | in | 破棄制御パート (discard control part) の名前を格納する IOpcPartUri インターフェイスです。破棄制御パートがない場合は、このパラメーターに NULL を設定します。 |
| packageWriter | IXpsOMPackageWriter** | out | このメソッドが作成した新しい IXpsOMPackageWriter インターフェイスへのポインターです。 |
戻り値
このメソッドは HRESULT を返します。返される可能性のある値には、次の表に示すものが含まれます (ただし、これらに限定されません)。この表に記載されていない XPS ドキュメント API の戻り値については、「XPS Document Errors」を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| packageWriter が NULL です。 | |
| documentSequencePrintTicket が、認識されるインターフェイス実装を指していません。XPS ドキュメント API インターフェイスの独自実装はサポートされていません。 |
このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、「Packaging Errors」を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IXpsOMPackageTarget "{219A9DB0-4959-47D0-8034-B1CE84F41A4D}"
#usecom global IXpsOMPackageTarget IID_IXpsOMPackageTarget "{}"
#comfunc global IXpsOMPackageTarget_CreateXpsOMPackageWriter 3 sptr,sptr,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。