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

ITransaction

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

メソッド 3

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

vtbl 3 HRESULT Commit(BOOL fRetaining, DWORD grfTC, DWORD grfRM)
fRetainingBOOLinコミット後もトランザクションオブジェクトを保持して再利用するかどうかを指定する。通常は FALSE を指定する。
grfTCDWORDinコミットの完了タイミングを制御する XACTTC フラグを指定する。
grfRMDWORDinリソースマネージャ向けに予約されたフラグである。通常は 0 を指定する。
vtbl 4 HRESULT Abort(BOID* pboidReason, BOOL fRetaining, BOOL fAsync)
pboidReasonBOID*in中止理由を示す BOID へのポインタである。理由を指定しない場合は NULL を渡せる。
fRetainingBOOLin中止後もトランザクションオブジェクトを保持して再利用するかどうかを指定する。通常は FALSE を指定する。
fAsyncBOOLin中止処理を非同期で行うかどうかを指定する。
vtbl 5 HRESULT GetTransactionInfo(XACTTRANSINFO* pinfo)
pinfoXACTTRANSINFO*outトランザクションの情報を格納する XACTTRANSINFO 構造体を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_ITransaction "{0FB15084-AF41-11CE-BD2B-204C4F4F5020}"
#usecom global ITransaction IID_ITransaction "{}"
#comfunc global ITransaction_Commit              3 int,int,int
#comfunc global ITransaction_Abort               4 var,int,int
#comfunc global ITransaction_GetTransactionInfo  5 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。