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

ITransactionEnlistmentAsync

COM
IID0fb15081-af41-11ce-bd2b-204c4f4f5020継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT PrepareRequestDone(HRESULT hr, IMoniker* pmk, BOID* pboidReason)
hrHRESULTin準備フェーズの処理結果を示す HRESULT を渡す。成功時は S_OK、準備不可の場合はエラーコードを指定する。
pmkIMoniker*inリソースマネージャーのリカバリ用モニカ(IMoniker)へのポインタである。要求された場合に渡し、不要な場合は NULL を指定できる。
pboidReasonBOID*in準備に失敗した場合の理由を示す BOID へのポインタである。成功時は通常 NULL を指定する。
vtbl 4 HRESULT CommitRequestDone(HRESULT hr)
hrHRESULTinコミットフェーズの処理結果を示す HRESULT を渡す。成功時は S_OK を指定する。
vtbl 5 HRESULT AbortRequestDone(HRESULT hr)
hrHRESULTin中止処理の結果を示す HRESULT を渡す。成功時は S_OK を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_ITransactionEnlistmentAsync "{0FB15081-AF41-11CE-BD2B-204C4F4F5020}"
#usecom global ITransactionEnlistmentAsync IID_ITransactionEnlistmentAsync "{}"
#comfunc global ITransactionEnlistmentAsync_PrepareRequestDone  3 int,sptr,var
#comfunc global ITransactionEnlistmentAsync_CommitRequestDone   4 int
#comfunc global ITransactionEnlistmentAsync_AbortRequestDone    5 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。