Win32 API 日本語リファレンス
ホームStorage.Xps › IXpsOMPackageTarget

IXpsOMPackageTarget

COM
IID219a9db0-4959-47d0-8034-b1ce84f41a4d継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

StartXpsPrintJob1 関数によって作成された印刷ジョブで使用できる IXpsOMPackageWriter を作成するためのメソッドを提供します。

解説(Remarks)

IXpsOMPackageWriter インターフェイスは、アプリケーションのデータをユーザーに表示される順序で書き込みます。

IXpsOMPackageTarget インターフェイスのインスタンスを作成するには、StartXpsPrintJob1 関数を呼び出します。

ドキュメントをプリンターに書き込むために使用する IXpsOMPackageWriter インターフェイスを作成するには、このインターフェイスの CreateXpsOMPackageWriter メソッドを呼び出します。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CreateXpsOMPackageWriter(IOpcPartUri* documentSequencePartName, IXpsOMPrintTicketResource* documentSequencePrintTicket, IOpcPartUri* discardControlPartName, IXpsOMPackageWriter** packageWriter)

StartXpsPrintJob1 関数が作成した印刷ジョブで使用する IXpsOMPackageWriter インターフェイスを作成します。

documentSequencePartNameIOpcPartUri*in新しいファイル内のドキュメントシーケンスのパート名を格納する IOpcPartUri インターフェイスです。
documentSequencePrintTicketIXpsOMPrintTicketResource*in新しいファイルに割り当てるパッケージレベルの印刷チケットを格納する IXpsOMPrintTicketResource インターフェイスです。パッケージレベルの印刷チケットがない場合は、このパラメーターに NULL を設定します。
discardControlPartNameIOpcPartUri*in破棄制御パート (discard control part) の名前を格納する IOpcPartUri インターフェイスです。破棄制御パートがない場合は、このパラメーターに NULL を設定します。
packageWriterIXpsOMPackageWriter**outこのメソッドが作成した新しい IXpsOMPackageWriter インターフェイスへのポインターです。

戻り値

このメソッドは HRESULT を返します。返される可能性のある値には、次の表に示すものが含まれます (ただし、これらに限定されません)。この表に記載されていない XPS ドキュメント API の戻り値については、「XPS Document Errors」を参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
packageWriterNULL です。
XPS_E_NO_CUSTOM_OBJECTS
documentSequencePrintTicket が、認識されるインターフェイス実装を指していません。XPS ドキュメント API インターフェイスの独自実装はサポートされていません。

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、「Packaging Errors」を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 指定が可能。