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

IXpsOMDocumentStructureResource

COM
IID85febc8a-6b63-48a9-af07-7064e4ecff30継承元IXpsOMResource自前メソッド開始 vtbl5

メソッド 3

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

vtbl 5 HRESULT GetOwner(IXpsOMDocument** owner)
ownerIXpsOMDocument**outこのリソースを所有する親ドキュメントへのポインタを受け取る。
vtbl 6 HRESULT GetStream(IStream** stream)
streamIStream**outドキュメント構造データを読み取るためのストリームへのポインタを受け取る。
vtbl 7 HRESULT SetContent(IStream* sourceStream, IOpcPartUri* partName)
sourceStreamIStream*inドキュメント構造データの供給元となるソースストリームを指定する。
partNameIOpcPartUri*inリソースのパート名を表す OPC パート URI を指定する。

HSP用 COM定義

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

#define global IID_IXpsOMDocumentStructureResource "{85FEBC8A-6B63-48A9-AF07-7064E4ECFF30}"
#usecom global IXpsOMDocumentStructureResource IID_IXpsOMDocumentStructureResource "{}"
#comfunc global IXpsOMDocumentStructureResource_GetOwner    5 sptr
#comfunc global IXpsOMDocumentStructureResource_GetStream   6 sptr
#comfunc global IXpsOMDocumentStructureResource_SetContent  7 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。