ホーム › Storage.Xps › IXpsOMObjectFactory1
IXpsOMObjectFactory1
COMメソッド 12
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 40 HRESULT GetDocumentTypeFromFile(LPWSTR filename, XPS_DOCUMENT_TYPE* documentType)
| filename | LPWSTR | in | ドキュメント種別を判定する XPS ファイルのパスを指定する。 |
| documentType | XPS_DOCUMENT_TYPE* | out | 判定されたドキュメント種別を受け取る XPS_DOCUMENT_TYPE へのポインタである。 |
vtbl 41 HRESULT GetDocumentTypeFromStream(IStream* xpsDocumentStream, XPS_DOCUMENT_TYPE* documentType)
| xpsDocumentStream | IStream* | in | ドキュメント種別を判定する XPS ドキュメントのストリームを指定する。 |
| documentType | XPS_DOCUMENT_TYPE* | out | 判定されたドキュメント種別を受け取る XPS_DOCUMENT_TYPE へのポインタである。 |
vtbl 42 HRESULT ConvertHDPhotoToJpegXR(IXpsOMImageResource* imageResource)
| imageResource | IXpsOMImageResource* | in | HD Photo 形式から JPEG XR 形式へ変換する対象の画像リソースを指定する。 |
vtbl 43 HRESULT ConvertJpegXRToHDPhoto(IXpsOMImageResource* imageResource)
| imageResource | IXpsOMImageResource* | in | JPEG XR 形式から HD Photo 形式へ変換する対象の画像リソースを指定する。 |
vtbl 44 HRESULT CreatePackageWriterOnFile1(LPWSTR fileName, SECURITY_ATTRIBUTES* securityAttributes, DWORD flagsAndAttributes, BOOL optimizeMarkupSize, XPS_INTERLEAVING interleaving, IOpcPartUri* documentSequencePartName, IXpsOMCoreProperties* coreProperties, IXpsOMImageResource* packageThumbnail, IXpsOMPrintTicketResource* documentSequencePrintTicket, IOpcPartUri* discardControlPartName, XPS_DOCUMENT_TYPE documentType, IXpsOMPackageWriter** packageWriter)
| fileName | LPWSTR | in | 出力先となるパッケージファイルのパスを指定する。 |
| securityAttributes | SECURITY_ATTRIBUTES* | in | ファイル作成時のセキュリティ属性を指定する SECURITY_ATTRIBUTES へのポインタである。既定でよければ NULL を指定する。 |
| flagsAndAttributes | DWORD | in | ファイル作成時のフラグおよび属性を指定する。 |
| optimizeMarkupSize | BOOL | in | マークアップサイズを最適化するかどうかを指定する BOOL である。 |
| interleaving | XPS_INTERLEAVING | in | パッケージのインターリーブ方式を示す XPS_INTERLEAVING を指定する。 |
| documentSequencePartName | IOpcPartUri* | in | ドキュメントシーケンスのパート名を表す IOpcPartUri を指定する。 |
| coreProperties | IXpsOMCoreProperties* | in | パッケージのコアプロパティを指定する。不要なら NULL を指定する。 |
| packageThumbnail | IXpsOMImageResource* | in | パッケージのサムネイル画像リソースを指定する。不要なら NULL を指定する。 |
| documentSequencePrintTicket | IXpsOMPrintTicketResource* | in | ドキュメントシーケンスレベルの印刷チケットリソースを指定する。不要なら NULL を指定する。 |
| discardControlPartName | IOpcPartUri* | in | 破棄制御パートのパート名を表す IOpcPartUri を指定する。不要なら NULL を指定する。 |
| documentType | XPS_DOCUMENT_TYPE | in | 作成するパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。 |
| packageWriter | IXpsOMPackageWriter** | out | 作成されたパッケージライター IXpsOMPackageWriter を受け取るポインタである。 |
vtbl 45 HRESULT CreatePackageWriterOnStream1(ISequentialStream* outputStream, BOOL optimizeMarkupSize, XPS_INTERLEAVING interleaving, IOpcPartUri* documentSequencePartName, IXpsOMCoreProperties* coreProperties, IXpsOMImageResource* packageThumbnail, IXpsOMPrintTicketResource* documentSequencePrintTicket, IOpcPartUri* discardControlPartName, XPS_DOCUMENT_TYPE documentType, IXpsOMPackageWriter** packageWriter)
| outputStream | ISequentialStream* | in | 出力先となるシーケンシャルストリームを指定する。 |
| optimizeMarkupSize | BOOL | in | マークアップサイズを最適化するかどうかを指定する BOOL である。 |
| interleaving | XPS_INTERLEAVING | in | パッケージのインターリーブ方式を示す XPS_INTERLEAVING を指定する。 |
| documentSequencePartName | IOpcPartUri* | in | ドキュメントシーケンスのパート名を表す IOpcPartUri を指定する。 |
| coreProperties | IXpsOMCoreProperties* | in | パッケージのコアプロパティを指定する。不要なら NULL を指定する。 |
| packageThumbnail | IXpsOMImageResource* | in | パッケージのサムネイル画像リソースを指定する。不要なら NULL を指定する。 |
| documentSequencePrintTicket | IXpsOMPrintTicketResource* | in | ドキュメントシーケンスレベルの印刷チケットリソースを指定する。不要なら NULL を指定する。 |
| discardControlPartName | IOpcPartUri* | in | 破棄制御パートのパート名を表す IOpcPartUri を指定する。不要なら NULL を指定する。 |
| documentType | XPS_DOCUMENT_TYPE | in | 作成するパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。 |
| packageWriter | IXpsOMPackageWriter** | out | 作成されたパッケージライター IXpsOMPackageWriter を受け取るポインタである。 |
vtbl 46 HRESULT CreatePackage1(IXpsOMPackage1** package)
| package | IXpsOMPackage1** | out | 新規作成された空の XPS パッケージ IXpsOMPackage1 を受け取るポインタである。 |
vtbl 47 HRESULT CreatePackageFromStream1(IStream* stream, BOOL reuseObjects, IXpsOMPackage1** package)
| stream | IStream* | in | 読み込む XPS パッケージのストリームを指定する。 |
| reuseObjects | BOOL | in | 同一オブジェクトを再利用するかどうかを指定する BOOL である。 |
| package | IXpsOMPackage1** | out | ストリームから読み込まれた XPS パッケージ IXpsOMPackage1 を受け取るポインタである。 |
vtbl 48 HRESULT CreatePackageFromFile1(LPWSTR filename, BOOL reuseObjects, IXpsOMPackage1** package)
| filename | LPWSTR | in | 読み込む XPS パッケージファイルのパスを指定する。 |
| reuseObjects | BOOL | in | 同一オブジェクトを再利用するかどうかを指定する BOOL である。 |
| package | IXpsOMPackage1** | out | ファイルから読み込まれた XPS パッケージ IXpsOMPackage1 を受け取るポインタである。 |
vtbl 49 HRESULT CreatePage1(XPS_SIZE* pageDimensions, LPWSTR language, IOpcPartUri* partUri, IXpsOMPage1** page)
| pageDimensions | XPS_SIZE* | in | 作成するページのサイズを示す XPS_SIZE へのポインタである。 |
| language | LPWSTR | in | ページの言語を示す言語タグ文字列を指定する。 |
| partUri | IOpcPartUri* | in | 作成するページのパート URI を表す IOpcPartUri を指定する。 |
| page | IXpsOMPage1** | out | 新規作成されたページ IXpsOMPage1 を受け取るポインタである。 |
vtbl 50 HRESULT CreatePageFromStream1(IStream* pageMarkupStream, IOpcPartUri* partUri, IXpsOMPartResources* resources, BOOL reuseObjects, IXpsOMPage1** page)
| pageMarkupStream | IStream* | in | ページのマークアップを含むストリームを指定する。 |
| partUri | IOpcPartUri* | in | 作成するページのパート URI を表す IOpcPartUri を指定する。 |
| resources | IXpsOMPartResources* | in | ページが参照するパートリソースを指定する。 |
| reuseObjects | BOOL | in | 同一オブジェクトを再利用するかどうかを指定する BOOL である。 |
| page | IXpsOMPage1** | out | ストリームから作成されたページ IXpsOMPage1 を受け取るポインタである。 |
vtbl 51 HRESULT CreateRemoteDictionaryResourceFromStream1(IStream* dictionaryMarkupStream, IOpcPartUri* partUri, IXpsOMPartResources* resources, IXpsOMRemoteDictionaryResource** dictionaryResource)
| dictionaryMarkupStream | IStream* | in | リモートディクショナリのマークアップを含むストリームを指定する。 |
| partUri | IOpcPartUri* | in | 作成するディクショナリリソースのパート URI を表す IOpcPartUri を指定する。 |
| resources | IXpsOMPartResources* | in | ディクショナリが参照するパートリソースを指定する。 |
| dictionaryResource | IXpsOMRemoteDictionaryResource** | out | 作成されたリモートディクショナリリソース IXpsOMRemoteDictionaryResource を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXpsOMObjectFactory1 "{0A91B617-D612-4181-BF7C-BE5824E9CC8F}" #usecom global IXpsOMObjectFactory1 IID_IXpsOMObjectFactory1 "{E974D26D-3D9B-4D47-88CC-3872F2DC3585}" #comfunc global IXpsOMObjectFactory1_GetDocumentTypeFromFile 40 wstr,var #comfunc global IXpsOMObjectFactory1_GetDocumentTypeFromStream 41 sptr,var #comfunc global IXpsOMObjectFactory1_ConvertHDPhotoToJpegXR 42 sptr #comfunc global IXpsOMObjectFactory1_ConvertJpegXRToHDPhoto 43 sptr #comfunc global IXpsOMObjectFactory1_CreatePackageWriterOnFile1 44 wstr,var,int,int,int,sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackageWriterOnStream1 45 sptr,int,int,sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackage1 46 sptr #comfunc global IXpsOMObjectFactory1_CreatePackageFromStream1 47 sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackageFromFile1 48 wstr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePage1 49 var,wstr,sptr,sptr #comfunc global IXpsOMObjectFactory1_CreatePageFromStream1 50 sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream1 51 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXpsOMObjectFactory1 "{0A91B617-D612-4181-BF7C-BE5824E9CC8F}" #usecom global IXpsOMObjectFactory1 IID_IXpsOMObjectFactory1 "{E974D26D-3D9B-4D47-88CC-3872F2DC3585}" #comfunc global IXpsOMObjectFactory1_GetDocumentTypeFromFile 40 wstr,sptr #comfunc global IXpsOMObjectFactory1_GetDocumentTypeFromStream 41 sptr,sptr #comfunc global IXpsOMObjectFactory1_ConvertHDPhotoToJpegXR 42 sptr #comfunc global IXpsOMObjectFactory1_ConvertJpegXRToHDPhoto 43 sptr #comfunc global IXpsOMObjectFactory1_CreatePackageWriterOnFile1 44 wstr,sptr,int,int,int,sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackageWriterOnStream1 45 sptr,int,int,sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackage1 46 sptr #comfunc global IXpsOMObjectFactory1_CreatePackageFromStream1 47 sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePackageFromFile1 48 wstr,int,sptr #comfunc global IXpsOMObjectFactory1_CreatePage1 49 sptr,wstr,sptr,sptr #comfunc global IXpsOMObjectFactory1_CreatePageFromStream1 50 sptr,sptr,sptr,int,sptr #comfunc global IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream1 51 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。