IPrintDocumentPackageTarget
COM公式ドキュメント
サポートされているパッケージターゲットの種類を列挙し、指定した型 ID のターゲットを作成できるようにします。IPrintDocumentPackageTarget は、パッケージ印刷の進行状況の追跡とキャンセルもサポートします。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
サポートされているターゲットの種類を列挙します。
| targetCount | DWORD* | out | サポートされているターゲットの種類の数。 |
| targetTypes | GUID** | out | サポートされているターゲットの種類の配列。GUID の配列です。 |
戻り値
GetPackageTargetTypes メソッドが正常に完了した場合は S_OK を返します。それ以外の場合は、該当する HRESULT エラーコードを返します。
解説(Remarks)
マルチフォーマットドライバーの場合、targetTypes 配列で最初に返される GUID は、そのドライバーが優先する XPS 形式です。
特定のドキュメントパッケージターゲットへのポインターを取得します。これにより、クライアントは指定したターゲットの種類でドキュメントを追加できます。クライアントはこのメソッドを複数回呼び出すことができますが、常に同じターゲット ID を使用する必要があります。
| guidTargetType | GUID* | in | GetPackageTargetTypes から取得したターゲットの種類の GUID。 |
| riid | GUID* | in | 要求するインターフェイスの識別子。 |
| ppvTarget | void** | out | 要求されたドキュメントターゲットインターフェイス。返されるポインターは IXpsDocumentPackageTarget インターフェイスへのポインターです。 |
戻り値
GetPackageTarget メソッドが正常に完了した場合は S_OK を返します。それ以外の場合は、該当する HRESULT エラーコードを返します。
現在の印刷ジョブをキャンセルします。
戻り値
Cancel メソッドが正常に完了した場合は S_OK を返します。それ以外の場合は、該当する HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IPrintDocumentPackageTarget "{1B8EFEC4-3019-4C27-964E-367202156906}" #usecom global IPrintDocumentPackageTarget IID_IPrintDocumentPackageTarget "{4842669E-9947-46EA-8BA2-D8CCE432C2CA}" #comfunc global IPrintDocumentPackageTarget_GetPackageTargetTypes 3 var,var #comfunc global IPrintDocumentPackageTarget_GetPackageTarget 4 var,var,sptr #comfunc global IPrintDocumentPackageTarget_Cancel 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IPrintDocumentPackageTarget "{1B8EFEC4-3019-4C27-964E-367202156906}" #usecom global IPrintDocumentPackageTarget IID_IPrintDocumentPackageTarget "{4842669E-9947-46EA-8BA2-D8CCE432C2CA}" #comfunc global IPrintDocumentPackageTarget_GetPackageTargetTypes 3 sptr,sptr #comfunc global IPrintDocumentPackageTarget_GetPackageTarget 4 sptr,sptr,sptr #comfunc global IPrintDocumentPackageTarget_Cancel 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。