ホーム › System.DistributedTransactionCoordinator › IDtcLuRecoveryInitiatedByLuWork
IDtcLuRecoveryInitiatedByLuWork
COMメソッド 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)
| lRecoverySeqNum | INT | in | 対象のリカバリシーケンス番号を指定する。 |
| Xln | DTCLUXLN | in | 相手側からの交換ログ名を表す DTCLUXLN 値を指定する。 |
| pRemoteLogName | BYTE* | inout | 相手側のログ名を格納したバッファへのポインタである。 |
| cbRemoteLogName | DWORD | in | pRemoteLogName が指すログ名のバイト数を指定する。 |
| pOurLogName | BYTE* | inout | 自側のログ名を格納したバッファへのポインタである。 |
| cbOurLogName | DWORD | in | pOurLogName が指すログ名のバイト数を指定する。 |
| dwProtocol | DWORD | in | 使用するプロトコル識別子を指定する。 |
| pResponse | DTCLUXLNRESPONSE* | inout | 相手側 XLN に対する応答を受け取る DTCLUXLNRESPONSE へのポインタである。 |
| pcbOurLogName | DWORD* | inout | 自側ログ名を格納するために必要なバイト数を受け取るポインタである。 |
| pXln | DTCLUXLN* | inout | 自側の交換ログ名(XLN)情報を受け取る DTCLUXLN へのポインタである。 |
| pOurLogName | BYTE* | inout | 自側ログ名を受け取るバッファへのポインタである。 |
| pdwProtocol | DWORD* | inout | 使用するプロトコル識別子を受け取るポインタである。 |
vtbl 6 HRESULT HandleConfirmationOfOurXln(DTCLUXLNCONFIRMATION Confirmation)
| Confirmation | DTCLUXLNCONFIRMATION | in | 自側 XLN に対する確認結果を表す DTCLUXLNCONFIRMATION 値を指定する。 |
vtbl 7 HRESULT HandleTheirCompareStates(BYTE* pRemoteTransId, DWORD cbRemoteTransId, DTCLUCOMPARESTATE CompareState, DTCLUCOMPARESTATESRESPONSE* pResponse, DTCLUCOMPARESTATE* pCompareState)
| pRemoteTransId | BYTE* | inout | 相手側のトランザクション ID を格納したバッファへのポインタである。 |
| cbRemoteTransId | DWORD | in | pRemoteTransId が指すトランザクション ID のバイト数を指定する。 |
| CompareState | DTCLUCOMPARESTATE | in | 相手側から提示された比較状態を表す DTCLUCOMPARESTATE 値を指定する。 |
| pResponse | DTCLUCOMPARESTATESRESPONSE* | inout | 状態比較に対する応答を受け取る DTCLUCOMPARESTATESRESPONSE へのポインタである。 |
| pCompareState | DTCLUCOMPARESTATE* | inout | 自側の比較状態を受け取る DTCLUCOMPARESTATE へのポインタである。 |
vtbl 8 HRESULT HandleConfirmationOfOurCompareStates(DTCLUCOMPARESTATESCONFIRMATION Confirmation)
| Confirmation | DTCLUCOMPARESTATESCONFIRMATION | in | 自側の状態比較に対する確認結果を表す DTCLUCOMPARESTATESCONFIRMATION 値を指定する。 |
vtbl 9 HRESULT HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error)
| Error | DTCLUCOMPARESTATESERROR | in | 自側の状態比較処理で発生したエラーを表す 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 方式にも切替可。#define global IID_IDtcLuRecoveryInitiatedByLuWork "{AC2B8AD1-D6F0-11D0-B386-00A0C9083365}" #usecom global IDtcLuRecoveryInitiatedByLuWork IID_IDtcLuRecoveryInitiatedByLuWork "{}" #comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln 3 int,int,sptr,int,sptr,int,int,sptr #comfunc global IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize 4 sptr #comfunc global IDtcLuRecoveryInitiatedByLuWork_GetOurXln 5 sptr,sptr,sptr #comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln 6 int #comfunc global IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates 7 sptr,int,int,sptr,sptr #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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。