ホーム › System.DistributedTransactionCoordinator › IDtcLuRecoveryInitiatedByDtcTransWork
IDtcLuRecoveryInitiatedByDtcTransWork
COMメソッド 13
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pcbOurLogName | DWORD* | inout | 自側ログ名を格納するために必要なバイト数を受け取るポインタである。 |
| pcbRemoteLogName | DWORD* | inout | リモートログ名を格納するために必要なバイト数を受け取るポインタである。 |
vtbl 4 HRESULT GetOurXln(DTCLUXLN* pXln, BYTE* pOurLogName, BYTE* pRemoteLogName, DWORD* pdwProtocol)
| pXln | DTCLUXLN* | inout | 自側の交換ログ名(XLN)情報を受け取る DTCLUXLN 構造体へのポインタである。 |
| pOurLogName | BYTE* | inout | 自側ログ名を受け取るバッファへのポインタである。 |
| pRemoteLogName | BYTE* | inout | リモートログ名を受け取るバッファへのポインタである。 |
| pdwProtocol | DWORD* | inout | 使用するプロトコル識別子を受け取るポインタである。 |
vtbl 5 HRESULT HandleConfirmationFromOurXln(DTCLUXLNCONFIRMATION Confirmation)
| Confirmation | DTCLUXLNCONFIRMATION | in | 自側 XLN に対する確認結果を表す DTCLUXLNCONFIRMATION 値を指定する。 |
vtbl 6 HRESULT HandleTheirXlnResponse(DTCLUXLN Xln, BYTE* pRemoteLogName, DWORD cbRemoteLogName, DWORD dwProtocol, DTCLUXLNCONFIRMATION* pConfirmation)
| Xln | DTCLUXLN | in | 相手側からの交換ログ名応答を表す DTCLUXLN 値を指定する。 |
| pRemoteLogName | BYTE* | inout | 相手側のログ名を格納したバッファへのポインタである。 |
| cbRemoteLogName | DWORD | in | pRemoteLogName が指すログ名のバイト数を指定する。 |
| dwProtocol | DWORD | in | 使用するプロトコル識別子を指定する。 |
| pConfirmation | DTCLUXLNCONFIRMATION* | inout | 応答処理の結果として返す確認結果を受け取る DTCLUXLNCONFIRMATION へのポインタである。 |
vtbl 7 HRESULT HandleErrorFromOurXln(DTCLUXLNERROR Error)
| Error | DTCLUXLNERROR | in | 自側 XLN で発生したエラーを表す DTCLUXLNERROR 値を指定する。 |
| fCompareStates | BOOL* | inout | 状態比較(Compare States)処理が必要かどうかを受け取る BOOL へのポインタである。 |
| pcbOurTransId | DWORD* | inout | 自側トランザクション ID を格納するために必要なバイト数を受け取るポインタである。 |
vtbl 10 HRESULT GetOurCompareStates(BYTE* pOurTransId, DTCLUCOMPARESTATE* pCompareState)
| pOurTransId | BYTE* | inout | 自側トランザクション ID を受け取るバッファへのポインタである。 |
| pCompareState | DTCLUCOMPARESTATE* | inout | 自側の比較状態を受け取る DTCLUCOMPARESTATE へのポインタである。 |
vtbl 11 HRESULT HandleTheirCompareStatesResponse(DTCLUCOMPARESTATE CompareState, DTCLUCOMPARESTATESCONFIRMATION* pConfirmation)
| CompareState | DTCLUCOMPARESTATE | in | 相手側から返された比較状態を表す DTCLUCOMPARESTATE 値を指定する。 |
| pConfirmation | DTCLUCOMPARESTATESCONFIRMATION* | inout | 比較状態応答に対する確認結果を受け取る DTCLUCOMPARESTATESCONFIRMATION へのポインタである。 |
vtbl 12 HRESULT HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error)
| Error | DTCLUCOMPARESTATESERROR | in | 自側の状態比較処理で発生したエラーを表す DTCLUCOMPARESTATESERROR 値を指定する。 |
vtbl 13 HRESULT ConversationLost()
| plRecoverySeqNum | INT* | inout | 現在のリカバリシーケンス番号を受け取るポインタである。 |
| lNewRecoverySeqNum | INT | in | 旧シーケンス番号を無効化するために設定する新しいリカバリシーケンス番号を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDtcLuRecoveryInitiatedByDtcTransWork "{4131E765-1AEA-11D0-944B-00A0C905416E}" #usecom global IDtcLuRecoveryInitiatedByDtcTransWork IID_IDtcLuRecoveryInitiatedByDtcTransWork "{}" #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes 3 var,var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln 4 var,var,var,var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln 5 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse 6 int,var,int,int,var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln 7 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates 8 var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize 9 var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates 10 var,var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse 11 int,var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates 12 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost 13 #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum 14 var #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum 15 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDtcLuRecoveryInitiatedByDtcTransWork "{4131E765-1AEA-11D0-944B-00A0C905416E}" #usecom global IDtcLuRecoveryInitiatedByDtcTransWork IID_IDtcLuRecoveryInitiatedByDtcTransWork "{}" #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes 3 sptr,sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln 4 sptr,sptr,sptr,sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln 5 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse 6 int,sptr,int,int,sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln 7 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates 8 sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize 9 sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates 10 sptr,sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse 11 int,sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates 12 int #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost 13 #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum 14 sptr #comfunc global IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum 15 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。