Win32 API 日本語リファレンス
ホームSystem.ComponentServices › ITransactionResourcePool

ITransactionResourcePool

COM
IIDc5feb7c1-346a-11d1-b1cc-00aa00ba3258継承元IUnknown自前メソッド開始 vtbl3

メソッド 2

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

vtbl 3 HRESULT PutResource(IObjPool* pPool, IUnknown* pUnk)
pPoolIObjPool*inリソースを格納する対象のオブジェクトプールを表す IObjPool インターフェイスへのポインタである。
pUnkIUnknown*inトランザクションリソースプールに格納するリソースの IUnknown へのポインタである。
vtbl 4 HRESULT GetResource(IObjPool* pPool, IUnknown** ppUnk)
pPoolIObjPool*inリソースを取得する対象のオブジェクトプールを表す IObjPool インターフェイスへのポインタである。
ppUnkIUnknown**outプールから取得したリソースの IUnknown を受け取るポインタのポインタである。

HSP用 COM定義

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

#define global IID_ITransactionResourcePool "{C5FEB7C1-346A-11D1-B1CC-00AA00BA3258}"
#usecom global ITransactionResourcePool IID_ITransactionResourcePool "{}"
#comfunc global ITransactionResourcePool_PutResource  3 sptr,sptr
#comfunc global ITransactionResourcePool_GetResource  4 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。