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

IXpsOMObjectFactory1

COM
IID0a91b617-d612-4181-bf7c-be5824e9cc8f継承元IXpsOMObjectFactory自前メソッド開始 vtbl40

メソッド 12

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

vtbl 40 HRESULT GetDocumentTypeFromFile(LPWSTR filename, XPS_DOCUMENT_TYPE* documentType)
filenameLPWSTRinドキュメント種別を判定する XPS ファイルのパスを指定する。
documentTypeXPS_DOCUMENT_TYPE*out判定されたドキュメント種別を受け取る XPS_DOCUMENT_TYPE へのポインタである。
vtbl 41 HRESULT GetDocumentTypeFromStream(IStream* xpsDocumentStream, XPS_DOCUMENT_TYPE* documentType)
xpsDocumentStreamIStream*inドキュメント種別を判定する XPS ドキュメントのストリームを指定する。
documentTypeXPS_DOCUMENT_TYPE*out判定されたドキュメント種別を受け取る XPS_DOCUMENT_TYPE へのポインタである。
vtbl 42 HRESULT ConvertHDPhotoToJpegXR(IXpsOMImageResource* imageResource)
imageResourceIXpsOMImageResource*inHD Photo 形式から JPEG XR 形式へ変換する対象の画像リソースを指定する。
vtbl 43 HRESULT ConvertJpegXRToHDPhoto(IXpsOMImageResource* imageResource)
imageResourceIXpsOMImageResource*inJPEG 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)
fileNameLPWSTRin出力先となるパッケージファイルのパスを指定する。
securityAttributesSECURITY_ATTRIBUTES*inファイル作成時のセキュリティ属性を指定する SECURITY_ATTRIBUTES へのポインタである。既定でよければ NULL を指定する。
flagsAndAttributesDWORDinファイル作成時のフラグおよび属性を指定する。
optimizeMarkupSizeBOOLinマークアップサイズを最適化するかどうかを指定する BOOL である。
interleavingXPS_INTERLEAVINGinパッケージのインターリーブ方式を示す XPS_INTERLEAVING を指定する。
documentSequencePartNameIOpcPartUri*inドキュメントシーケンスのパート名を表す IOpcPartUri を指定する。
corePropertiesIXpsOMCoreProperties*inパッケージのコアプロパティを指定する。不要なら NULL を指定する。
packageThumbnailIXpsOMImageResource*inパッケージのサムネイル画像リソースを指定する。不要なら NULL を指定する。
documentSequencePrintTicketIXpsOMPrintTicketResource*inドキュメントシーケンスレベルの印刷チケットリソースを指定する。不要なら NULL を指定する。
discardControlPartNameIOpcPartUri*in破棄制御パートのパート名を表す IOpcPartUri を指定する。不要なら NULL を指定する。
documentTypeXPS_DOCUMENT_TYPEin作成するパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。
packageWriterIXpsOMPackageWriter**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)
outputStreamISequentialStream*in出力先となるシーケンシャルストリームを指定する。
optimizeMarkupSizeBOOLinマークアップサイズを最適化するかどうかを指定する BOOL である。
interleavingXPS_INTERLEAVINGinパッケージのインターリーブ方式を示す XPS_INTERLEAVING を指定する。
documentSequencePartNameIOpcPartUri*inドキュメントシーケンスのパート名を表す IOpcPartUri を指定する。
corePropertiesIXpsOMCoreProperties*inパッケージのコアプロパティを指定する。不要なら NULL を指定する。
packageThumbnailIXpsOMImageResource*inパッケージのサムネイル画像リソースを指定する。不要なら NULL を指定する。
documentSequencePrintTicketIXpsOMPrintTicketResource*inドキュメントシーケンスレベルの印刷チケットリソースを指定する。不要なら NULL を指定する。
discardControlPartNameIOpcPartUri*in破棄制御パートのパート名を表す IOpcPartUri を指定する。不要なら NULL を指定する。
documentTypeXPS_DOCUMENT_TYPEin作成するパッケージのドキュメント種別を示す XPS_DOCUMENT_TYPE を指定する。
packageWriterIXpsOMPackageWriter**out作成されたパッケージライター IXpsOMPackageWriter を受け取るポインタである。
vtbl 46 HRESULT CreatePackage1(IXpsOMPackage1** package)
packageIXpsOMPackage1**out新規作成された空の XPS パッケージ IXpsOMPackage1 を受け取るポインタである。
vtbl 47 HRESULT CreatePackageFromStream1(IStream* stream, BOOL reuseObjects, IXpsOMPackage1** package)
streamIStream*in読み込む XPS パッケージのストリームを指定する。
reuseObjectsBOOLin同一オブジェクトを再利用するかどうかを指定する BOOL である。
packageIXpsOMPackage1**outストリームから読み込まれた XPS パッケージ IXpsOMPackage1 を受け取るポインタである。
vtbl 48 HRESULT CreatePackageFromFile1(LPWSTR filename, BOOL reuseObjects, IXpsOMPackage1** package)
filenameLPWSTRin読み込む XPS パッケージファイルのパスを指定する。
reuseObjectsBOOLin同一オブジェクトを再利用するかどうかを指定する BOOL である。
packageIXpsOMPackage1**outファイルから読み込まれた XPS パッケージ IXpsOMPackage1 を受け取るポインタである。
vtbl 49 HRESULT CreatePage1(XPS_SIZE* pageDimensions, LPWSTR language, IOpcPartUri* partUri, IXpsOMPage1** page)
pageDimensionsXPS_SIZE*in作成するページのサイズを示す XPS_SIZE へのポインタである。
languageLPWSTRinページの言語を示す言語タグ文字列を指定する。
partUriIOpcPartUri*in作成するページのパート URI を表す IOpcPartUri を指定する。
pageIXpsOMPage1**out新規作成されたページ IXpsOMPage1 を受け取るポインタである。
vtbl 50 HRESULT CreatePageFromStream1(IStream* pageMarkupStream, IOpcPartUri* partUri, IXpsOMPartResources* resources, BOOL reuseObjects, IXpsOMPage1** page)
pageMarkupStreamIStream*inページのマークアップを含むストリームを指定する。
partUriIOpcPartUri*in作成するページのパート URI を表す IOpcPartUri を指定する。
resourcesIXpsOMPartResources*inページが参照するパートリソースを指定する。
reuseObjectsBOOLin同一オブジェクトを再利用するかどうかを指定する BOOL である。
pageIXpsOMPage1**outストリームから作成されたページ IXpsOMPage1 を受け取るポインタである。
vtbl 51 HRESULT CreateRemoteDictionaryResourceFromStream1(IStream* dictionaryMarkupStream, IOpcPartUri* partUri, IXpsOMPartResources* resources, IXpsOMRemoteDictionaryResource** dictionaryResource)
dictionaryMarkupStreamIStream*inリモートディクショナリのマークアップを含むストリームを指定する。
partUriIOpcPartUri*in作成するディクショナリリソースのパート URI を表す IOpcPartUri を指定する。
resourcesIXpsOMPartResources*inディクショナリが参照するパートリソースを指定する。
dictionaryResourceIXpsOMRemoteDictionaryResource**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 指定が可能。