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

IXpsOMPackage1

COM
IID95a9435e-12bb-461b-8e7f-c6adb04cd96a継承元IXpsOMPackage自前メソッド開始 vtbl13

メソッド 3

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

vtbl 13 HRESULT GetDocumentType(XPS_DOCUMENT_TYPE* documentType)
documentTypeXPS_DOCUMENT_TYPE*outパッケージのドキュメント種別を受け取る XPS_DOCUMENT_TYPE へのポインタである。
vtbl 14 HRESULT WriteToFile1(LPWSTR fileName, SECURITY_ATTRIBUTES* securityAttributes, DWORD flagsAndAttributes, BOOL optimizeMarkupSize, XPS_DOCUMENT_TYPE documentType)
fileNameLPWSTRinパッケージを書き出す出力先ファイルのパスを指定する。
securityAttributesSECURITY_ATTRIBUTES*inファイル作成時のセキュリティ属性を指定する SECURITY_ATTRIBUTES へのポインタである。既定でよければ NULL を指定する。
flagsAndAttributesDWORDinファイル作成時のフラグおよび属性を指定する。
optimizeMarkupSizeBOOLinマークアップサイズを最適化するかどうかを指定する BOOL である。
documentTypeXPS_DOCUMENT_TYPEin書き出すパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。
vtbl 15 HRESULT WriteToStream1(ISequentialStream* outputStream, BOOL optimizeMarkupSize, XPS_DOCUMENT_TYPE documentType)
outputStreamISequentialStream*inパッケージを書き出す出力先シーケンシャルストリームを指定する。
optimizeMarkupSizeBOOLinマークアップサイズを最適化するかどうかを指定する BOOL である。
documentTypeXPS_DOCUMENT_TYPEin書き出すパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IXpsOMPackage1 "{95A9435E-12BB-461B-8E7F-C6ADB04CD96A}"
#usecom global IXpsOMPackage1 IID_IXpsOMPackage1 "{}"
#comfunc global IXpsOMPackage1_GetDocumentType  13 var
#comfunc global IXpsOMPackage1_WriteToFile1     14 wstr,var,int,int,int
#comfunc global IXpsOMPackage1_WriteToStream1   15 sptr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。