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

IDtcLuRecoveryInitiatedByLuWork

COM
IIDac2b8ad1-d6f0-11d0-b386-00a0c9083365継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

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

vtbl 3 HRESULT HandleTheirXln(INT lRecoverySeqNum, DTCLUXLN Xln, BYTE* pRemoteLogName, DWORD cbRemoteLogName, BYTE* pOurLogName, DWORD cbOurLogName, DWORD dwProtocol, DTCLUXLNRESPONSE* pResponse)
lRecoverySeqNumINTin対象のリカバリシーケンス番号を指定する。
XlnDTCLUXLNin相手側からの交換ログ名を表す DTCLUXLN 値を指定する。
pRemoteLogNameBYTE*inout相手側のログ名を格納したバッファへのポインタである。
cbRemoteLogNameDWORDinpRemoteLogName が指すログ名のバイト数を指定する。
pOurLogNameBYTE*inout自側のログ名を格納したバッファへのポインタである。
cbOurLogNameDWORDinpOurLogName が指すログ名のバイト数を指定する。
dwProtocolDWORDin使用するプロトコル識別子を指定する。
pResponseDTCLUXLNRESPONSE*inout相手側 XLN に対する応答を受け取る DTCLUXLNRESPONSE へのポインタである。
vtbl 4 HRESULT GetOurLogNameSize(DWORD* pcbOurLogName)
pcbOurLogNameDWORD*inout自側ログ名を格納するために必要なバイト数を受け取るポインタである。
vtbl 5 HRESULT GetOurXln(DTCLUXLN* pXln, BYTE* pOurLogName, DWORD* pdwProtocol)
pXlnDTCLUXLN*inout自側の交換ログ名(XLN)情報を受け取る DTCLUXLN へのポインタである。
pOurLogNameBYTE*inout自側ログ名を受け取るバッファへのポインタである。
pdwProtocolDWORD*inout使用するプロトコル識別子を受け取るポインタである。
vtbl 6 HRESULT HandleConfirmationOfOurXln(DTCLUXLNCONFIRMATION Confirmation)
ConfirmationDTCLUXLNCONFIRMATIONin自側 XLN に対する確認結果を表す DTCLUXLNCONFIRMATION 値を指定する。
vtbl 7 HRESULT HandleTheirCompareStates(BYTE* pRemoteTransId, DWORD cbRemoteTransId, DTCLUCOMPARESTATE CompareState, DTCLUCOMPARESTATESRESPONSE* pResponse, DTCLUCOMPARESTATE* pCompareState)
pRemoteTransIdBYTE*inout相手側のトランザクション ID を格納したバッファへのポインタである。
cbRemoteTransIdDWORDinpRemoteTransId が指すトランザクション ID のバイト数を指定する。
CompareStateDTCLUCOMPARESTATEin相手側から提示された比較状態を表す DTCLUCOMPARESTATE 値を指定する。
pResponseDTCLUCOMPARESTATESRESPONSE*inout状態比較に対する応答を受け取る DTCLUCOMPARESTATESRESPONSE へのポインタである。
pCompareStateDTCLUCOMPARESTATE*inout自側の比較状態を受け取る DTCLUCOMPARESTATE へのポインタである。
vtbl 8 HRESULT HandleConfirmationOfOurCompareStates(DTCLUCOMPARESTATESCONFIRMATION Confirmation)
ConfirmationDTCLUCOMPARESTATESCONFIRMATIONin自側の状態比較に対する確認結果を表す DTCLUCOMPARESTATESCONFIRMATION 値を指定する。
vtbl 9 HRESULT HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error)
ErrorDTCLUCOMPARESTATESERRORin自側の状態比較処理で発生したエラーを表す DTCLUCOMPARESTATESERROR 値を指定する。
vtbl 10 HRESULT ConversationLost()

HSP用 COM定義

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

出力引数:
#define global IID_IDtcLuRecoveryInitiatedByLuWork "{AC2B8AD1-D6F0-11D0-B386-00A0C9083365}"
#usecom global IDtcLuRecoveryInitiatedByLuWork IID_IDtcLuRecoveryInitiatedByLuWork "{}"
#comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln                        3 int,int,var,int,var,int,int,var
#comfunc global IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize                     4 var
#comfunc global IDtcLuRecoveryInitiatedByLuWork_GetOurXln                             5 var,var,var
#comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln            6 int
#comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates              7 var,int,int,var,var
#comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates  8 int
#comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates       9 int
#comfunc global IDtcLuRecoveryInitiatedByLuWork_ConversationLost                      10
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。