TxDtc.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:169k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifdef COBJMACROS
  2. #define ITransactionTransmitterFactory_QueryInterface(This,riid,ppvObject)
  3.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4. #define ITransactionTransmitterFactory_AddRef(This)
  5.     (This)->lpVtbl -> AddRef(This)
  6. #define ITransactionTransmitterFactory_Release(This)
  7.     (This)->lpVtbl -> Release(This)
  8. #define ITransactionTransmitterFactory_Create(This,ppTransmitter)
  9.     (This)->lpVtbl -> Create(This,ppTransmitter)
  10. #endif /* COBJMACROS */
  11. #endif  /* C style interface */
  12. HRESULT STDMETHODCALLTYPE ITransactionTransmitterFactory_Create_Proxy( 
  13.     ITransactionTransmitterFactory * This,
  14.     /* [out] */ ITransactionTransmitter **ppTransmitter);
  15. void __RPC_STUB ITransactionTransmitterFactory_Create_Stub(
  16.     IRpcStubBuffer *This,
  17.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18.     PRPC_MESSAGE _pRpcMessage,
  19.     DWORD *_pdwStubPhase);
  20. #endif  /* __ITransactionTransmitterFactory_INTERFACE_DEFINED__ */
  21. #ifndef __ITransactionReceiver_INTERFACE_DEFINED__
  22. #define __ITransactionReceiver_INTERFACE_DEFINED__
  23. /* interface ITransactionReceiver */
  24. /* [unique][object][uuid] */ 
  25. EXTERN_C const IID IID_ITransactionReceiver;
  26. #if defined(__cplusplus) && !defined(CINTERFACE)
  27.     
  28.     MIDL_INTERFACE("59313E03-B36C-11cf-A539-00AA006887C3")
  29.     ITransactionReceiver : public IUnknown
  30.     {
  31.     public:
  32.         virtual HRESULT STDMETHODCALLTYPE UnmarshalPropagationToken( 
  33.             /* [in] */ ULONG cbToken,
  34.             /* [size_is][in] */ byte *rgbToken,
  35.             /* [out] */ ITransaction **ppTransaction) = 0;
  36.         
  37.         virtual HRESULT STDMETHODCALLTYPE GetReturnTokenSize( 
  38.             /* [out] */ ULONG *pcbReturnToken) = 0;
  39.         
  40.         virtual HRESULT STDMETHODCALLTYPE MarshalReturnToken( 
  41.             /* [in] */ ULONG cbReturnToken,
  42.             /* [size_is][out] */ byte *rgbReturnToken,
  43.             /* [out] */ ULONG *pcbUsed) = 0;
  44.         
  45.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  46.         
  47.     };
  48.     
  49. #else  /* C style interface */
  50.     typedef struct ITransactionReceiverVtbl
  51.     {
  52.         BEGIN_INTERFACE
  53.         
  54.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  55.             ITransactionReceiver * This,
  56.             /* [in] */ REFIID riid,
  57.             /* [iid_is][out] */ void **ppvObject);
  58.         
  59.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  60.             ITransactionReceiver * This);
  61.         
  62.         ULONG ( STDMETHODCALLTYPE *Release )( 
  63.             ITransactionReceiver * This);
  64.         
  65.         HRESULT ( STDMETHODCALLTYPE *UnmarshalPropagationToken )( 
  66.             ITransactionReceiver * This,
  67.             /* [in] */ ULONG cbToken,
  68.             /* [size_is][in] */ byte *rgbToken,
  69.             /* [out] */ ITransaction **ppTransaction);
  70.         
  71.         HRESULT ( STDMETHODCALLTYPE *GetReturnTokenSize )( 
  72.             ITransactionReceiver * This,
  73.             /* [out] */ ULONG *pcbReturnToken);
  74.         
  75.         HRESULT ( STDMETHODCALLTYPE *MarshalReturnToken )( 
  76.             ITransactionReceiver * This,
  77.             /* [in] */ ULONG cbReturnToken,
  78.             /* [size_is][out] */ byte *rgbReturnToken,
  79.             /* [out] */ ULONG *pcbUsed);
  80.         
  81.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  82.             ITransactionReceiver * This);
  83.         
  84.         END_INTERFACE
  85.     } ITransactionReceiverVtbl;
  86.     interface ITransactionReceiver
  87.     {
  88.         CONST_VTBL struct ITransactionReceiverVtbl *lpVtbl;
  89.     };
  90.     
  91. #ifdef COBJMACROS
  92. #define ITransactionReceiver_QueryInterface(This,riid,ppvObject)
  93.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  94. #define ITransactionReceiver_AddRef(This)
  95.     (This)->lpVtbl -> AddRef(This)
  96. #define ITransactionReceiver_Release(This)
  97.     (This)->lpVtbl -> Release(This)
  98. #define ITransactionReceiver_UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction)
  99.     (This)->lpVtbl -> UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction)
  100. #define ITransactionReceiver_GetReturnTokenSize(This,pcbReturnToken)
  101.     (This)->lpVtbl -> GetReturnTokenSize(This,pcbReturnToken)
  102. #define ITransactionReceiver_MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed)
  103.     (This)->lpVtbl -> MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed)
  104. #define ITransactionReceiver_Reset(This)
  105.     (This)->lpVtbl -> Reset(This)
  106. #endif /* COBJMACROS */
  107. #endif  /* C style interface */
  108. HRESULT STDMETHODCALLTYPE ITransactionReceiver_UnmarshalPropagationToken_Proxy( 
  109.     ITransactionReceiver * This,
  110.     /* [in] */ ULONG cbToken,
  111.     /* [size_is][in] */ byte *rgbToken,
  112.     /* [out] */ ITransaction **ppTransaction);
  113. void __RPC_STUB ITransactionReceiver_UnmarshalPropagationToken_Stub(
  114.     IRpcStubBuffer *This,
  115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  116.     PRPC_MESSAGE _pRpcMessage,
  117.     DWORD *_pdwStubPhase);
  118. HRESULT STDMETHODCALLTYPE ITransactionReceiver_GetReturnTokenSize_Proxy( 
  119.     ITransactionReceiver * This,
  120.     /* [out] */ ULONG *pcbReturnToken);
  121. void __RPC_STUB ITransactionReceiver_GetReturnTokenSize_Stub(
  122.     IRpcStubBuffer *This,
  123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  124.     PRPC_MESSAGE _pRpcMessage,
  125.     DWORD *_pdwStubPhase);
  126. HRESULT STDMETHODCALLTYPE ITransactionReceiver_MarshalReturnToken_Proxy( 
  127.     ITransactionReceiver * This,
  128.     /* [in] */ ULONG cbReturnToken,
  129.     /* [size_is][out] */ byte *rgbReturnToken,
  130.     /* [out] */ ULONG *pcbUsed);
  131. void __RPC_STUB ITransactionReceiver_MarshalReturnToken_Stub(
  132.     IRpcStubBuffer *This,
  133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  134.     PRPC_MESSAGE _pRpcMessage,
  135.     DWORD *_pdwStubPhase);
  136. HRESULT STDMETHODCALLTYPE ITransactionReceiver_Reset_Proxy( 
  137.     ITransactionReceiver * This);
  138. void __RPC_STUB ITransactionReceiver_Reset_Stub(
  139.     IRpcStubBuffer *This,
  140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  141.     PRPC_MESSAGE _pRpcMessage,
  142.     DWORD *_pdwStubPhase);
  143. #endif  /* __ITransactionReceiver_INTERFACE_DEFINED__ */
  144. #ifndef __ITransactionReceiverFactory_INTERFACE_DEFINED__
  145. #define __ITransactionReceiverFactory_INTERFACE_DEFINED__
  146. /* interface ITransactionReceiverFactory */
  147. /* [unique][object][uuid] */ 
  148. EXTERN_C const IID IID_ITransactionReceiverFactory;
  149. #if defined(__cplusplus) && !defined(CINTERFACE)
  150.     
  151.     MIDL_INTERFACE("59313E02-B36C-11cf-A539-00AA006887C3")
  152.     ITransactionReceiverFactory : public IUnknown
  153.     {
  154.     public:
  155.         virtual HRESULT STDMETHODCALLTYPE Create( 
  156.             /* [out] */ ITransactionReceiver **ppReceiver) = 0;
  157.         
  158.     };
  159.     
  160. #else  /* C style interface */
  161.     typedef struct ITransactionReceiverFactoryVtbl
  162.     {
  163.         BEGIN_INTERFACE
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  166.             ITransactionReceiverFactory * This,
  167.             /* [in] */ REFIID riid,
  168.             /* [iid_is][out] */ void **ppvObject);
  169.         
  170.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  171.             ITransactionReceiverFactory * This);
  172.         
  173.         ULONG ( STDMETHODCALLTYPE *Release )( 
  174.             ITransactionReceiverFactory * This);
  175.         
  176.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  177.             ITransactionReceiverFactory * This,
  178.             /* [out] */ ITransactionReceiver **ppReceiver);
  179.         
  180.         END_INTERFACE
  181.     } ITransactionReceiverFactoryVtbl;
  182.     interface ITransactionReceiverFactory
  183.     {
  184.         CONST_VTBL struct ITransactionReceiverFactoryVtbl *lpVtbl;
  185.     };
  186.     
  187. #ifdef COBJMACROS
  188. #define ITransactionReceiverFactory_QueryInterface(This,riid,ppvObject)
  189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  190. #define ITransactionReceiverFactory_AddRef(This)
  191.     (This)->lpVtbl -> AddRef(This)
  192. #define ITransactionReceiverFactory_Release(This)
  193.     (This)->lpVtbl -> Release(This)
  194. #define ITransactionReceiverFactory_Create(This,ppReceiver)
  195.     (This)->lpVtbl -> Create(This,ppReceiver)
  196. #endif /* COBJMACROS */
  197. #endif  /* C style interface */
  198. HRESULT STDMETHODCALLTYPE ITransactionReceiverFactory_Create_Proxy( 
  199.     ITransactionReceiverFactory * This,
  200.     /* [out] */ ITransactionReceiver **ppReceiver);
  201. void __RPC_STUB ITransactionReceiverFactory_Create_Stub(
  202.     IRpcStubBuffer *This,
  203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  204.     PRPC_MESSAGE _pRpcMessage,
  205.     DWORD *_pdwStubPhase);
  206. #endif  /* __ITransactionReceiverFactory_INTERFACE_DEFINED__ */
  207. /* interface __MIDL_itf_txdtc_0132 */
  208. /* [local] */ 
  209. typedef struct _ProxyConfigParams
  210.     {
  211.     WORD wcThreadsMax;
  212.     }  PROXY_CONFIG_PARAMS;
  213. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0132_v0_0_c_ifspec;
  214. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0132_v0_0_s_ifspec;
  215. #ifndef __IDtcLuConfigure_INTERFACE_DEFINED__
  216. #define __IDtcLuConfigure_INTERFACE_DEFINED__
  217. /* interface IDtcLuConfigure */
  218. /* [uuid][unique][object] */ 
  219. EXTERN_C const IID IID_IDtcLuConfigure;
  220. #if defined(__cplusplus) && !defined(CINTERFACE)
  221.     
  222.     MIDL_INTERFACE("4131E760-1AEA-11d0-944B-00A0C905416E")
  223.     IDtcLuConfigure : public IUnknown
  224.     {
  225.     public:
  226.         virtual HRESULT STDMETHODCALLTYPE Add( 
  227.             /* [size_is][in] */ byte *pucLuPair,
  228.             /* [in] */ DWORD cbLuPair) = 0;
  229.         
  230.         virtual HRESULT STDMETHODCALLTYPE Delete( 
  231.             /* [size_is][in] */ byte *pucLuPair,
  232.             /* [in] */ DWORD cbLuPair) = 0;
  233.         
  234.     };
  235.     
  236. #else  /* C style interface */
  237.     typedef struct IDtcLuConfigureVtbl
  238.     {
  239.         BEGIN_INTERFACE
  240.         
  241.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  242.             IDtcLuConfigure * This,
  243.             /* [in] */ REFIID riid,
  244.             /* [iid_is][out] */ void **ppvObject);
  245.         
  246.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  247.             IDtcLuConfigure * This);
  248.         
  249.         ULONG ( STDMETHODCALLTYPE *Release )( 
  250.             IDtcLuConfigure * This);
  251.         
  252.         HRESULT ( STDMETHODCALLTYPE *Add )( 
  253.             IDtcLuConfigure * This,
  254.             /* [size_is][in] */ byte *pucLuPair,
  255.             /* [in] */ DWORD cbLuPair);
  256.         
  257.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  258.             IDtcLuConfigure * This,
  259.             /* [size_is][in] */ byte *pucLuPair,
  260.             /* [in] */ DWORD cbLuPair);
  261.         
  262.         END_INTERFACE
  263.     } IDtcLuConfigureVtbl;
  264.     interface IDtcLuConfigure
  265.     {
  266.         CONST_VTBL struct IDtcLuConfigureVtbl *lpVtbl;
  267.     };
  268.     
  269. #ifdef COBJMACROS
  270. #define IDtcLuConfigure_QueryInterface(This,riid,ppvObject)
  271.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  272. #define IDtcLuConfigure_AddRef(This)
  273.     (This)->lpVtbl -> AddRef(This)
  274. #define IDtcLuConfigure_Release(This)
  275.     (This)->lpVtbl -> Release(This)
  276. #define IDtcLuConfigure_Add(This,pucLuPair,cbLuPair)
  277.     (This)->lpVtbl -> Add(This,pucLuPair,cbLuPair)
  278. #define IDtcLuConfigure_Delete(This,pucLuPair,cbLuPair)
  279.     (This)->lpVtbl -> Delete(This,pucLuPair,cbLuPair)
  280. #endif /* COBJMACROS */
  281. #endif  /* C style interface */
  282. HRESULT STDMETHODCALLTYPE IDtcLuConfigure_Add_Proxy( 
  283.     IDtcLuConfigure * This,
  284.     /* [size_is][in] */ byte *pucLuPair,
  285.     /* [in] */ DWORD cbLuPair);
  286. void __RPC_STUB IDtcLuConfigure_Add_Stub(
  287.     IRpcStubBuffer *This,
  288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  289.     PRPC_MESSAGE _pRpcMessage,
  290.     DWORD *_pdwStubPhase);
  291. HRESULT STDMETHODCALLTYPE IDtcLuConfigure_Delete_Proxy( 
  292.     IDtcLuConfigure * This,
  293.     /* [size_is][in] */ byte *pucLuPair,
  294.     /* [in] */ DWORD cbLuPair);
  295. void __RPC_STUB IDtcLuConfigure_Delete_Stub(
  296.     IRpcStubBuffer *This,
  297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  298.     PRPC_MESSAGE _pRpcMessage,
  299.     DWORD *_pdwStubPhase);
  300. #endif  /* __IDtcLuConfigure_INTERFACE_DEFINED__ */
  301. #ifndef __IDtcLuRecovery_INTERFACE_DEFINED__
  302. #define __IDtcLuRecovery_INTERFACE_DEFINED__
  303. /* interface IDtcLuRecovery */
  304. /* [uuid][unique][object] */ 
  305. EXTERN_C const IID IID_IDtcLuRecovery;
  306. #if defined(__cplusplus) && !defined(CINTERFACE)
  307.     
  308.     MIDL_INTERFACE("AC2B8AD2-D6F0-11d0-B386-00A0C9083365")
  309.     IDtcLuRecovery : public IUnknown
  310.     {
  311.     public:
  312.     };
  313.     
  314. #else  /* C style interface */
  315.     typedef struct IDtcLuRecoveryVtbl
  316.     {
  317.         BEGIN_INTERFACE
  318.         
  319.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  320.             IDtcLuRecovery * This,
  321.             /* [in] */ REFIID riid,
  322.             /* [iid_is][out] */ void **ppvObject);
  323.         
  324.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  325.             IDtcLuRecovery * This);
  326.         
  327.         ULONG ( STDMETHODCALLTYPE *Release )( 
  328.             IDtcLuRecovery * This);
  329.         
  330.         END_INTERFACE
  331.     } IDtcLuRecoveryVtbl;
  332.     interface IDtcLuRecovery
  333.     {
  334.         CONST_VTBL struct IDtcLuRecoveryVtbl *lpVtbl;
  335.     };
  336.     
  337. #ifdef COBJMACROS
  338. #define IDtcLuRecovery_QueryInterface(This,riid,ppvObject)
  339.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  340. #define IDtcLuRecovery_AddRef(This)
  341.     (This)->lpVtbl -> AddRef(This)
  342. #define IDtcLuRecovery_Release(This)
  343.     (This)->lpVtbl -> Release(This)
  344. #endif /* COBJMACROS */
  345. #endif  /* C style interface */
  346. #endif  /* __IDtcLuRecovery_INTERFACE_DEFINED__ */
  347. #ifndef __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
  348. #define __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
  349. /* interface IDtcLuRecoveryFactory */
  350. /* [uuid][unique][object] */ 
  351. EXTERN_C const IID IID_IDtcLuRecoveryFactory;
  352. #if defined(__cplusplus) && !defined(CINTERFACE)
  353.     
  354.     MIDL_INTERFACE("4131E762-1AEA-11d0-944B-00A0C905416E")
  355.     IDtcLuRecoveryFactory : public IUnknown
  356.     {
  357.     public:
  358.         virtual HRESULT STDMETHODCALLTYPE Create( 
  359.             /* [size_is][in] */ byte *pucLuPair,
  360.             /* [in] */ DWORD cbLuPair,
  361.             /* [out] */ IDtcLuRecovery **ppRecovery) = 0;
  362.         
  363.     };
  364.     
  365. #else  /* C style interface */
  366.     typedef struct IDtcLuRecoveryFactoryVtbl
  367.     {
  368.         BEGIN_INTERFACE
  369.         
  370.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  371.             IDtcLuRecoveryFactory * This,
  372.             /* [in] */ REFIID riid,
  373.             /* [iid_is][out] */ void **ppvObject);
  374.         
  375.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  376.             IDtcLuRecoveryFactory * This);
  377.         
  378.         ULONG ( STDMETHODCALLTYPE *Release )( 
  379.             IDtcLuRecoveryFactory * This);
  380.         
  381.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  382.             IDtcLuRecoveryFactory * This,
  383.             /* [size_is][in] */ byte *pucLuPair,
  384.             /* [in] */ DWORD cbLuPair,
  385.             /* [out] */ IDtcLuRecovery **ppRecovery);
  386.         
  387.         END_INTERFACE
  388.     } IDtcLuRecoveryFactoryVtbl;
  389.     interface IDtcLuRecoveryFactory
  390.     {
  391.         CONST_VTBL struct IDtcLuRecoveryFactoryVtbl *lpVtbl;
  392.     };
  393.     
  394. #ifdef COBJMACROS
  395. #define IDtcLuRecoveryFactory_QueryInterface(This,riid,ppvObject)
  396.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  397. #define IDtcLuRecoveryFactory_AddRef(This)
  398.     (This)->lpVtbl -> AddRef(This)
  399. #define IDtcLuRecoveryFactory_Release(This)
  400.     (This)->lpVtbl -> Release(This)
  401. #define IDtcLuRecoveryFactory_Create(This,pucLuPair,cbLuPair,ppRecovery)
  402.     (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,ppRecovery)
  403. #endif /* COBJMACROS */
  404. #endif  /* C style interface */
  405. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryFactory_Create_Proxy( 
  406.     IDtcLuRecoveryFactory * This,
  407.     /* [size_is][in] */ byte *pucLuPair,
  408.     /* [in] */ DWORD cbLuPair,
  409.     /* [out] */ IDtcLuRecovery **ppRecovery);
  410. void __RPC_STUB IDtcLuRecoveryFactory_Create_Stub(
  411.     IRpcStubBuffer *This,
  412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  413.     PRPC_MESSAGE _pRpcMessage,
  414.     DWORD *_pdwStubPhase);
  415. #endif  /* __IDtcLuRecoveryFactory_INTERFACE_DEFINED__ */
  416. /* interface __MIDL_itf_txdtc_0135 */
  417. /* [local] */ 
  418. typedef 
  419. enum _DtcLu_LocalRecovery_Work
  420.     { DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1,
  421. DTCINITIATEDRECOVERYWORK_TRANS = DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS + 1,
  422. DTCINITIATEDRECOVERYWORK_TMDOWN = DTCINITIATEDRECOVERYWORK_TRANS + 1
  423.     }  DTCINITIATEDRECOVERYWORK;
  424. typedef 
  425. enum _DtcLu_Xln
  426.     { DTCLUXLN_COLD = 1,
  427. DTCLUXLN_WARM = DTCLUXLN_COLD + 1
  428.     }  DTCLUXLN;
  429. typedef 
  430. enum _DtcLu_Xln_Confirmation
  431.     { DTCLUXLNCONFIRMATION_CONFIRM = 1,
  432. DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH = DTCLUXLNCONFIRMATION_CONFIRM + 1,
  433. DTCLUXLNCONFIRMATION_COLDWARMMISMATCH = DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH + 1,
  434. DTCLUXLNCONFIRMATION_OBSOLETE = DTCLUXLNCONFIRMATION_COLDWARMMISMATCH + 1
  435.     }  DTCLUXLNCONFIRMATION;
  436. typedef 
  437. enum _DtcLu_Xln_Response
  438.     { DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1,
  439. DTCLUXLNRESPONSE_OK_SENDCONFIRMATION = DTCLUXLNRESPONSE_OK_SENDOURXLNBACK + 1,
  440. DTCLUXLNRESPONSE_LOGNAMEMISMATCH = DTCLUXLNRESPONSE_OK_SENDCONFIRMATION + 1,
  441. DTCLUXLNRESPONSE_COLDWARMMISMATCH = DTCLUXLNRESPONSE_LOGNAMEMISMATCH + 1
  442.     }  DTCLUXLNRESPONSE;
  443. typedef 
  444. enum _DtcLu_Xln_Error
  445.     { DTCLUXLNERROR_PROTOCOL = 1,
  446. DTCLUXLNERROR_LOGNAMEMISMATCH = DTCLUXLNERROR_PROTOCOL + 1,
  447. DTCLUXLNERROR_COLDWARMMISMATCH = DTCLUXLNERROR_LOGNAMEMISMATCH + 1
  448.     }  DTCLUXLNERROR;
  449. typedef 
  450. enum _DtcLu_CompareState
  451.     { DTCLUCOMPARESTATE_COMMITTED = 1,
  452. DTCLUCOMPARESTATE_HEURISTICCOMMITTED = DTCLUCOMPARESTATE_COMMITTED + 1,
  453. DTCLUCOMPARESTATE_HEURISTICMIXED = DTCLUCOMPARESTATE_HEURISTICCOMMITTED + 1,
  454. DTCLUCOMPARESTATE_HEURISTICRESET = DTCLUCOMPARESTATE_HEURISTICMIXED + 1,
  455. DTCLUCOMPARESTATE_INDOUBT = DTCLUCOMPARESTATE_HEURISTICRESET + 1,
  456. DTCLUCOMPARESTATE_RESET = DTCLUCOMPARESTATE_INDOUBT + 1
  457.     }  DTCLUCOMPARESTATE;
  458. typedef 
  459. enum _DtcLu_CompareStates_Confirmation
  460.     { DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1,
  461. DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL = DTCLUCOMPARESTATESCONFIRMATION_CONFIRM + 1
  462.     }  DTCLUCOMPARESTATESCONFIRMATION;
  463. typedef 
  464. enum _DtcLu_CompareStates_Error
  465.     { DTCLUCOMPARESTATESERROR_PROTOCOL = 1
  466.     }  DTCLUCOMPARESTATESERROR;
  467. typedef 
  468. enum _DtcLu_CompareStates_Response
  469.     { DTCLUCOMPARESTATESRESPONSE_OK = 1,
  470. DTCLUCOMPARESTATESRESPONSE_PROTOCOL = DTCLUCOMPARESTATESRESPONSE_OK + 1
  471.     }  DTCLUCOMPARESTATESRESPONSE;
  472. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0135_v0_0_c_ifspec;
  473. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0135_v0_0_s_ifspec;
  474. #ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
  475. #define __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
  476. /* interface IDtcLuRecoveryInitiatedByDtcTransWork */
  477. /* [local][uuid][unique][object] */ 
  478. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcTransWork;
  479. #if defined(__cplusplus) && !defined(CINTERFACE)
  480.     
  481.     MIDL_INTERFACE("4131E765-1AEA-11d0-944B-00A0C905416E")
  482.     IDtcLuRecoveryInitiatedByDtcTransWork : public IUnknown
  483.     {
  484.     public:
  485.         virtual HRESULT STDMETHODCALLTYPE GetLogNameSizes( 
  486.             /* [out] */ DWORD *pcbOurLogName,
  487.             /* [out] */ DWORD *pcbRemoteLogName) = 0;
  488.         
  489.         virtual HRESULT STDMETHODCALLTYPE GetOurXln( 
  490.             /* [out] */ DTCLUXLN *pXln,
  491.             /* [out][in] */ unsigned char *pOurLogName,
  492.             /* [out][in] */ unsigned char *pRemoteLogName,
  493.             /* [out] */ DWORD *pdwProtocol) = 0;
  494.         
  495.         virtual HRESULT STDMETHODCALLTYPE HandleConfirmationFromOurXln( 
  496.             /* [in] */ DTCLUXLNCONFIRMATION Confirmation) = 0;
  497.         
  498.         virtual HRESULT STDMETHODCALLTYPE HandleTheirXlnResponse( 
  499.             /* [in] */ DTCLUXLN Xln,
  500.             /* [in] */ unsigned char *pRemoteLogName,
  501.             /* [in] */ DWORD cbRemoteLogName,
  502.             /* [in] */ DWORD dwProtocol,
  503.             /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation) = 0;
  504.         
  505.         virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurXln( 
  506.             /* [in] */ DTCLUXLNERROR Error) = 0;
  507.         
  508.         virtual HRESULT STDMETHODCALLTYPE CheckForCompareStates( 
  509.             /* [out] */ BOOL *fCompareStates) = 0;
  510.         
  511.         virtual HRESULT STDMETHODCALLTYPE GetOurTransIdSize( 
  512.             /* [out][in] */ DWORD *pcbOurTransId) = 0;
  513.         
  514.         virtual HRESULT STDMETHODCALLTYPE GetOurCompareStates( 
  515.             /* [out][in] */ unsigned char *pOurTransId,
  516.             /* [out] */ DTCLUCOMPARESTATE *pCompareState) = 0;
  517.         
  518.         virtual HRESULT STDMETHODCALLTYPE HandleTheirCompareStatesResponse( 
  519.             /* [in] */ DTCLUCOMPARESTATE CompareState,
  520.             /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation) = 0;
  521.         
  522.         virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurCompareStates( 
  523.             /* [in] */ DTCLUCOMPARESTATESERROR Error) = 0;
  524.         
  525.         virtual HRESULT STDMETHODCALLTYPE ConversationLost( void) = 0;
  526.         
  527.         virtual HRESULT STDMETHODCALLTYPE GetRecoverySeqNum( 
  528.             /* [out] */ LONG *plRecoverySeqNum) = 0;
  529.         
  530.         virtual HRESULT STDMETHODCALLTYPE ObsoleteRecoverySeqNum( 
  531.             /* [in] */ LONG lNewRecoverySeqNum) = 0;
  532.         
  533.     };
  534.     
  535. #else  /* C style interface */
  536.     typedef struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl
  537.     {
  538.         BEGIN_INTERFACE
  539.         
  540.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  541.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  542.             /* [in] */ REFIID riid,
  543.             /* [iid_is][out] */ void **ppvObject);
  544.         
  545.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  546.             IDtcLuRecoveryInitiatedByDtcTransWork * This);
  547.         
  548.         ULONG ( STDMETHODCALLTYPE *Release )( 
  549.             IDtcLuRecoveryInitiatedByDtcTransWork * This);
  550.         
  551.         HRESULT ( STDMETHODCALLTYPE *GetLogNameSizes )( 
  552.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  553.             /* [out] */ DWORD *pcbOurLogName,
  554.             /* [out] */ DWORD *pcbRemoteLogName);
  555.         
  556.         HRESULT ( STDMETHODCALLTYPE *GetOurXln )( 
  557.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  558.             /* [out] */ DTCLUXLN *pXln,
  559.             /* [out][in] */ unsigned char *pOurLogName,
  560.             /* [out][in] */ unsigned char *pRemoteLogName,
  561.             /* [out] */ DWORD *pdwProtocol);
  562.         
  563.         HRESULT ( STDMETHODCALLTYPE *HandleConfirmationFromOurXln )( 
  564.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  565.             /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  566.         
  567.         HRESULT ( STDMETHODCALLTYPE *HandleTheirXlnResponse )( 
  568.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  569.             /* [in] */ DTCLUXLN Xln,
  570.             /* [in] */ unsigned char *pRemoteLogName,
  571.             /* [in] */ DWORD cbRemoteLogName,
  572.             /* [in] */ DWORD dwProtocol,
  573.             /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation);
  574.         
  575.         HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurXln )( 
  576.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  577.             /* [in] */ DTCLUXLNERROR Error);
  578.         
  579.         HRESULT ( STDMETHODCALLTYPE *CheckForCompareStates )( 
  580.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  581.             /* [out] */ BOOL *fCompareStates);
  582.         
  583.         HRESULT ( STDMETHODCALLTYPE *GetOurTransIdSize )( 
  584.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  585.             /* [out][in] */ DWORD *pcbOurTransId);
  586.         
  587.         HRESULT ( STDMETHODCALLTYPE *GetOurCompareStates )( 
  588.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  589.             /* [out][in] */ unsigned char *pOurTransId,
  590.             /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  591.         
  592.         HRESULT ( STDMETHODCALLTYPE *HandleTheirCompareStatesResponse )( 
  593.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  594.             /* [in] */ DTCLUCOMPARESTATE CompareState,
  595.             /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
  596.         
  597.         HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurCompareStates )( 
  598.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  599.             /* [in] */ DTCLUCOMPARESTATESERROR Error);
  600.         
  601.         HRESULT ( STDMETHODCALLTYPE *ConversationLost )( 
  602.             IDtcLuRecoveryInitiatedByDtcTransWork * This);
  603.         
  604.         HRESULT ( STDMETHODCALLTYPE *GetRecoverySeqNum )( 
  605.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  606.             /* [out] */ LONG *plRecoverySeqNum);
  607.         
  608.         HRESULT ( STDMETHODCALLTYPE *ObsoleteRecoverySeqNum )( 
  609.             IDtcLuRecoveryInitiatedByDtcTransWork * This,
  610.             /* [in] */ LONG lNewRecoverySeqNum);
  611.         
  612.         END_INTERFACE
  613.     } IDtcLuRecoveryInitiatedByDtcTransWorkVtbl;
  614.     interface IDtcLuRecoveryInitiatedByDtcTransWork
  615.     {
  616.         CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl *lpVtbl;
  617.     };
  618.     
  619. #ifdef COBJMACROS
  620. #define IDtcLuRecoveryInitiatedByDtcTransWork_QueryInterface(This,riid,ppvObject)
  621.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  622. #define IDtcLuRecoveryInitiatedByDtcTransWork_AddRef(This)
  623.     (This)->lpVtbl -> AddRef(This)
  624. #define IDtcLuRecoveryInitiatedByDtcTransWork_Release(This)
  625.     (This)->lpVtbl -> Release(This)
  626. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName)
  627.     (This)->lpVtbl -> GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName)
  628. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol)
  629.     (This)->lpVtbl -> GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol)
  630. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln(This,Confirmation)
  631.     (This)->lpVtbl -> HandleConfirmationFromOurXln(This,Confirmation)
  632. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation)
  633.     (This)->lpVtbl -> HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation)
  634. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln(This,Error)
  635.     (This)->lpVtbl -> HandleErrorFromOurXln(This,Error)
  636. #define IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates(This,fCompareStates)
  637.     (This)->lpVtbl -> CheckForCompareStates(This,fCompareStates)
  638. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize(This,pcbOurTransId)
  639.     (This)->lpVtbl -> GetOurTransIdSize(This,pcbOurTransId)
  640. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates(This,pOurTransId,pCompareState)
  641.     (This)->lpVtbl -> GetOurCompareStates(This,pOurTransId,pCompareState)
  642. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse(This,CompareState,pConfirmation)
  643.     (This)->lpVtbl -> HandleTheirCompareStatesResponse(This,CompareState,pConfirmation)
  644. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates(This,Error)
  645.     (This)->lpVtbl -> HandleErrorFromOurCompareStates(This,Error)
  646. #define IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost(This)
  647.     (This)->lpVtbl -> ConversationLost(This)
  648. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum(This,plRecoverySeqNum)
  649.     (This)->lpVtbl -> GetRecoverySeqNum(This,plRecoverySeqNum)
  650. #define IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum)
  651.     (This)->lpVtbl -> ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum)
  652. #endif /* COBJMACROS */
  653. #endif  /* C style interface */
  654. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Proxy( 
  655.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  656.     /* [out] */ DWORD *pcbOurLogName,
  657.     /* [out] */ DWORD *pcbRemoteLogName);
  658. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Stub(
  659.     IRpcStubBuffer *This,
  660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  661.     PRPC_MESSAGE _pRpcMessage,
  662.     DWORD *_pdwStubPhase);
  663. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Proxy( 
  664.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  665.     /* [out] */ DTCLUXLN *pXln,
  666.     /* [out][in] */ unsigned char *pOurLogName,
  667.     /* [out][in] */ unsigned char *pRemoteLogName,
  668.     /* [out] */ DWORD *pdwProtocol);
  669. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Stub(
  670.     IRpcStubBuffer *This,
  671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  672.     PRPC_MESSAGE _pRpcMessage,
  673.     DWORD *_pdwStubPhase);
  674. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Proxy( 
  675.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  676.     /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  677. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Stub(
  678.     IRpcStubBuffer *This,
  679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  680.     PRPC_MESSAGE _pRpcMessage,
  681.     DWORD *_pdwStubPhase);
  682. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Proxy( 
  683.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  684.     /* [in] */ DTCLUXLN Xln,
  685.     /* [in] */ unsigned char *pRemoteLogName,
  686.     /* [in] */ DWORD cbRemoteLogName,
  687.     /* [in] */ DWORD dwProtocol,
  688.     /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation);
  689. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Stub(
  690.     IRpcStubBuffer *This,
  691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  692.     PRPC_MESSAGE _pRpcMessage,
  693.     DWORD *_pdwStubPhase);
  694. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Proxy( 
  695.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  696.     /* [in] */ DTCLUXLNERROR Error);
  697. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Stub(
  698.     IRpcStubBuffer *This,
  699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  700.     PRPC_MESSAGE _pRpcMessage,
  701.     DWORD *_pdwStubPhase);
  702. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Proxy( 
  703.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  704.     /* [out] */ BOOL *fCompareStates);
  705. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Stub(
  706.     IRpcStubBuffer *This,
  707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  708.     PRPC_MESSAGE _pRpcMessage,
  709.     DWORD *_pdwStubPhase);
  710. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Proxy( 
  711.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  712.     /* [out][in] */ DWORD *pcbOurTransId);
  713. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Stub(
  714.     IRpcStubBuffer *This,
  715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  716.     PRPC_MESSAGE _pRpcMessage,
  717.     DWORD *_pdwStubPhase);
  718. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Proxy( 
  719.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  720.     /* [out][in] */ unsigned char *pOurTransId,
  721.     /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  722. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Stub(
  723.     IRpcStubBuffer *This,
  724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  725.     PRPC_MESSAGE _pRpcMessage,
  726.     DWORD *_pdwStubPhase);
  727. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Proxy( 
  728.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  729.     /* [in] */ DTCLUCOMPARESTATE CompareState,
  730.     /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
  731. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Stub(
  732.     IRpcStubBuffer *This,
  733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  734.     PRPC_MESSAGE _pRpcMessage,
  735.     DWORD *_pdwStubPhase);
  736. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Proxy( 
  737.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  738.     /* [in] */ DTCLUCOMPARESTATESERROR Error);
  739. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Stub(
  740.     IRpcStubBuffer *This,
  741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  742.     PRPC_MESSAGE _pRpcMessage,
  743.     DWORD *_pdwStubPhase);
  744. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Proxy( 
  745.     IDtcLuRecoveryInitiatedByDtcTransWork * This);
  746. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Stub(
  747.     IRpcStubBuffer *This,
  748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  749.     PRPC_MESSAGE _pRpcMessage,
  750.     DWORD *_pdwStubPhase);
  751. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Proxy( 
  752.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  753.     /* [out] */ LONG *plRecoverySeqNum);
  754. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Proxy( 
  760.     IDtcLuRecoveryInitiatedByDtcTransWork * This,
  761.     /* [in] */ LONG lNewRecoverySeqNum);
  762. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Stub(
  763.     IRpcStubBuffer *This,
  764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  765.     PRPC_MESSAGE _pRpcMessage,
  766.     DWORD *_pdwStubPhase);
  767. #endif  /* __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__ */
  768. #ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
  769. #define __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
  770. /* interface IDtcLuRecoveryInitiatedByDtcStatusWork */
  771. /* [uuid][unique][object] */ 
  772. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcStatusWork;
  773. #if defined(__cplusplus) && !defined(CINTERFACE)
  774.     
  775.     MIDL_INTERFACE("4131E766-1AEA-11d0-944B-00A0C905416E")
  776.     IDtcLuRecoveryInitiatedByDtcStatusWork : public IUnknown
  777.     {
  778.     public:
  779.         virtual HRESULT STDMETHODCALLTYPE HandleCheckLuStatus( 
  780.             /* [in] */ LONG lRecoverySeqNum) = 0;
  781.         
  782.     };
  783.     
  784. #else  /* C style interface */
  785.     typedef struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl
  786.     {
  787.         BEGIN_INTERFACE
  788.         
  789.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  790.             IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  791.             /* [in] */ REFIID riid,
  792.             /* [iid_is][out] */ void **ppvObject);
  793.         
  794.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  795.             IDtcLuRecoveryInitiatedByDtcStatusWork * This);
  796.         
  797.         ULONG ( STDMETHODCALLTYPE *Release )( 
  798.             IDtcLuRecoveryInitiatedByDtcStatusWork * This);
  799.         
  800.         HRESULT ( STDMETHODCALLTYPE *HandleCheckLuStatus )( 
  801.             IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  802.             /* [in] */ LONG lRecoverySeqNum);
  803.         
  804.         END_INTERFACE
  805.     } IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl;
  806.     interface IDtcLuRecoveryInitiatedByDtcStatusWork
  807.     {
  808.         CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl *lpVtbl;
  809.     };
  810.     
  811. #ifdef COBJMACROS
  812. #define IDtcLuRecoveryInitiatedByDtcStatusWork_QueryInterface(This,riid,ppvObject)
  813.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  814. #define IDtcLuRecoveryInitiatedByDtcStatusWork_AddRef(This)
  815.     (This)->lpVtbl -> AddRef(This)
  816. #define IDtcLuRecoveryInitiatedByDtcStatusWork_Release(This)
  817.     (This)->lpVtbl -> Release(This)
  818. #define IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus(This,lRecoverySeqNum)
  819.     (This)->lpVtbl -> HandleCheckLuStatus(This,lRecoverySeqNum)
  820. #endif /* COBJMACROS */
  821. #endif  /* C style interface */
  822. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Proxy( 
  823.     IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  824.     /* [in] */ LONG lRecoverySeqNum);
  825. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Stub(
  826.     IRpcStubBuffer *This,
  827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  828.     PRPC_MESSAGE _pRpcMessage,
  829.     DWORD *_pdwStubPhase);
  830. #endif  /* __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__ */
  831. #ifndef __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
  832. #define __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
  833. /* interface IDtcLuRecoveryInitiatedByDtc */
  834. /* [local][uuid][unique][object] */ 
  835. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtc;
  836. #if defined(__cplusplus) && !defined(CINTERFACE)
  837.     
  838.     MIDL_INTERFACE("4131E764-1AEA-11d0-944B-00A0C905416E")
  839.     IDtcLuRecoveryInitiatedByDtc : public IUnknown
  840.     {
  841.     public:
  842.         virtual HRESULT STDMETHODCALLTYPE GetWork( 
  843.             /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  844.             /* [out][in] */ void **ppv) = 0;
  845.         
  846.     };
  847.     
  848. #else  /* C style interface */
  849.     typedef struct IDtcLuRecoveryInitiatedByDtcVtbl
  850.     {
  851.         BEGIN_INTERFACE
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  854.             IDtcLuRecoveryInitiatedByDtc * This,
  855.             /* [in] */ REFIID riid,
  856.             /* [iid_is][out] */ void **ppvObject);
  857.         
  858.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  859.             IDtcLuRecoveryInitiatedByDtc * This);
  860.         
  861.         ULONG ( STDMETHODCALLTYPE *Release )( 
  862.             IDtcLuRecoveryInitiatedByDtc * This);
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE *GetWork )( 
  865.             IDtcLuRecoveryInitiatedByDtc * This,
  866.             /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  867.             /* [out][in] */ void **ppv);
  868.         
  869.         END_INTERFACE
  870.     } IDtcLuRecoveryInitiatedByDtcVtbl;
  871.     interface IDtcLuRecoveryInitiatedByDtc
  872.     {
  873.         CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcVtbl *lpVtbl;
  874.     };
  875.     
  876. #ifdef COBJMACROS
  877. #define IDtcLuRecoveryInitiatedByDtc_QueryInterface(This,riid,ppvObject)
  878.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  879. #define IDtcLuRecoveryInitiatedByDtc_AddRef(This)
  880.     (This)->lpVtbl -> AddRef(This)
  881. #define IDtcLuRecoveryInitiatedByDtc_Release(This)
  882.     (This)->lpVtbl -> Release(This)
  883. #define IDtcLuRecoveryInitiatedByDtc_GetWork(This,pWork,ppv)
  884.     (This)->lpVtbl -> GetWork(This,pWork,ppv)
  885. #endif /* COBJMACROS */
  886. #endif  /* C style interface */
  887. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtc_GetWork_Proxy( 
  888.     IDtcLuRecoveryInitiatedByDtc * This,
  889.     /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  890.     /* [out][in] */ void **ppv);
  891. void __RPC_STUB IDtcLuRecoveryInitiatedByDtc_GetWork_Stub(
  892.     IRpcStubBuffer *This,
  893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  894.     PRPC_MESSAGE _pRpcMessage,
  895.     DWORD *_pdwStubPhase);
  896. #endif  /* __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__ */
  897. #ifndef __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
  898. #define __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
  899. /* interface IDtcLuRecoveryInitiatedByLuWork */
  900. /* [local][uuid][unique][object] */ 
  901. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLuWork;
  902. #if defined(__cplusplus) && !defined(CINTERFACE)
  903.     
  904.     MIDL_INTERFACE("AC2B8AD1-D6F0-11d0-B386-00A0C9083365")
  905.     IDtcLuRecoveryInitiatedByLuWork : public IUnknown
  906.     {
  907.     public:
  908.         virtual HRESULT STDMETHODCALLTYPE HandleTheirXln( 
  909.             /* [in] */ LONG lRecoverySeqNum,
  910.             /* [in] */ DTCLUXLN Xln,
  911.             /* [in] */ unsigned char *pRemoteLogName,
  912.             /* [in] */ DWORD cbRemoteLogName,
  913.             /* [in] */ unsigned char *pOurLogName,
  914.             /* [in] */ DWORD cbOurLogName,
  915.             /* [in] */ DWORD dwProtocol,
  916.             /* [out] */ DTCLUXLNRESPONSE *pResponse) = 0;
  917.         
  918.         virtual HRESULT STDMETHODCALLTYPE GetOurLogNameSize( 
  919.             /* [out][in] */ DWORD *pcbOurLogName) = 0;
  920.         
  921.         virtual HRESULT STDMETHODCALLTYPE GetOurXln( 
  922.             /* [out] */ DTCLUXLN *pXln,
  923.             /* [out][in] */ unsigned char *pOurLogName,
  924.             /* [out] */ DWORD *pdwProtocol) = 0;
  925.         
  926.         virtual HRESULT STDMETHODCALLTYPE HandleConfirmationOfOurXln( 
  927.             /* [in] */ DTCLUXLNCONFIRMATION Confirmation) = 0;
  928.         
  929.         virtual HRESULT STDMETHODCALLTYPE HandleTheirCompareStates( 
  930.             /* [out][in] */ unsigned char *pRemoteTransId,
  931.             /* [in] */ DWORD cbRemoteTransId,
  932.             /* [in] */ DTCLUCOMPARESTATE CompareState,
  933.             /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  934.             /* [out] */ DTCLUCOMPARESTATE *pCompareState) = 0;
  935.         
  936.         virtual HRESULT STDMETHODCALLTYPE HandleConfirmationOfOurCompareStates( 
  937.             /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation) = 0;
  938.         
  939.         virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurCompareStates( 
  940.             /* [in] */ DTCLUCOMPARESTATESERROR Error) = 0;
  941.         
  942.         virtual HRESULT STDMETHODCALLTYPE ConversationLost( void) = 0;
  943.         
  944.     };
  945.     
  946. #else  /* C style interface */
  947.     typedef struct IDtcLuRecoveryInitiatedByLuWorkVtbl
  948.     {
  949.         BEGIN_INTERFACE
  950.         
  951.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  952.             IDtcLuRecoveryInitiatedByLuWork * This,
  953.             /* [in] */ REFIID riid,
  954.             /* [iid_is][out] */ void **ppvObject);
  955.         
  956.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  957.             IDtcLuRecoveryInitiatedByLuWork * This);
  958.         
  959.         ULONG ( STDMETHODCALLTYPE *Release )( 
  960.             IDtcLuRecoveryInitiatedByLuWork * This);
  961.         
  962.         HRESULT ( STDMETHODCALLTYPE *HandleTheirXln )( 
  963.             IDtcLuRecoveryInitiatedByLuWork * This,
  964.             /* [in] */ LONG lRecoverySeqNum,
  965.             /* [in] */ DTCLUXLN Xln,
  966.             /* [in] */ unsigned char *pRemoteLogName,
  967.             /* [in] */ DWORD cbRemoteLogName,
  968.             /* [in] */ unsigned char *pOurLogName,
  969.             /* [in] */ DWORD cbOurLogName,
  970.             /* [in] */ DWORD dwProtocol,
  971.             /* [out] */ DTCLUXLNRESPONSE *pResponse);
  972.         
  973.         HRESULT ( STDMETHODCALLTYPE *GetOurLogNameSize )( 
  974.             IDtcLuRecoveryInitiatedByLuWork * This,
  975.             /* [out][in] */ DWORD *pcbOurLogName);
  976.         
  977.         HRESULT ( STDMETHODCALLTYPE *GetOurXln )( 
  978.             IDtcLuRecoveryInitiatedByLuWork * This,
  979.             /* [out] */ DTCLUXLN *pXln,
  980.             /* [out][in] */ unsigned char *pOurLogName,
  981.             /* [out] */ DWORD *pdwProtocol);
  982.         
  983.         HRESULT ( STDMETHODCALLTYPE *HandleConfirmationOfOurXln )( 
  984.             IDtcLuRecoveryInitiatedByLuWork * This,
  985.             /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  986.         
  987.         HRESULT ( STDMETHODCALLTYPE *HandleTheirCompareStates )( 
  988.             IDtcLuRecoveryInitiatedByLuWork * This,
  989.             /* [out][in] */ unsigned char *pRemoteTransId,
  990.             /* [in] */ DWORD cbRemoteTransId,
  991.             /* [in] */ DTCLUCOMPARESTATE CompareState,
  992.             /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  993.             /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  994.         
  995.         HRESULT ( STDMETHODCALLTYPE *HandleConfirmationOfOurCompareStates )( 
  996.             IDtcLuRecoveryInitiatedByLuWork * This,
  997.             /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation);
  998.         
  999.         HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurCompareStates )( 
  1000.             IDtcLuRecoveryInitiatedByLuWork * This,
  1001.             /* [in] */ DTCLUCOMPARESTATESERROR Error);
  1002.         
  1003.         HRESULT ( STDMETHODCALLTYPE *ConversationLost )( 
  1004.             IDtcLuRecoveryInitiatedByLuWork * This);
  1005.         
  1006.         END_INTERFACE
  1007.     } IDtcLuRecoveryInitiatedByLuWorkVtbl;
  1008.     interface IDtcLuRecoveryInitiatedByLuWork
  1009.     {
  1010.         CONST_VTBL struct IDtcLuRecoveryInitiatedByLuWorkVtbl *lpVtbl;
  1011.     };
  1012.     
  1013. #ifdef COBJMACROS
  1014. #define IDtcLuRecoveryInitiatedByLuWork_QueryInterface(This,riid,ppvObject)
  1015.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1016. #define IDtcLuRecoveryInitiatedByLuWork_AddRef(This)
  1017.     (This)->lpVtbl -> AddRef(This)
  1018. #define IDtcLuRecoveryInitiatedByLuWork_Release(This)
  1019.     (This)->lpVtbl -> Release(This)
  1020. #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse)
  1021.     (This)->lpVtbl -> HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse)
  1022. #define IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize(This,pcbOurLogName)
  1023.     (This)->lpVtbl -> GetOurLogNameSize(This,pcbOurLogName)
  1024. #define IDtcLuRecoveryInitiatedByLuWork_GetOurXln(This,pXln,pOurLogName,pdwProtocol)
  1025.     (This)->lpVtbl -> GetOurXln(This,pXln,pOurLogName,pdwProtocol)
  1026. #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln(This,Confirmation)
  1027.     (This)->lpVtbl -> HandleConfirmationOfOurXln(This,Confirmation)
  1028. #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState)
  1029.     (This)->lpVtbl -> HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState)
  1030. #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates(This,Confirmation)
  1031.     (This)->lpVtbl -> HandleConfirmationOfOurCompareStates(This,Confirmation)
  1032. #define IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates(This,Error)
  1033.     (This)->lpVtbl -> HandleErrorFromOurCompareStates(This,Error)
  1034. #define IDtcLuRecoveryInitiatedByLuWork_ConversationLost(This)
  1035.     (This)->lpVtbl -> ConversationLost(This)
  1036. #endif /* COBJMACROS */
  1037. #endif  /* C style interface */
  1038. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Proxy( 
  1039.     IDtcLuRecoveryInitiatedByLuWork * This,
  1040.     /* [in] */ LONG lRecoverySeqNum,
  1041.     /* [in] */ DTCLUXLN Xln,
  1042.     /* [in] */ unsigned char *pRemoteLogName,
  1043.     /* [in] */ DWORD cbRemoteLogName,
  1044.     /* [in] */ unsigned char *pOurLogName,
  1045.     /* [in] */ DWORD cbOurLogName,
  1046.     /* [in] */ DWORD dwProtocol,
  1047.     /* [out] */ DTCLUXLNRESPONSE *pResponse);
  1048. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Stub(
  1049.     IRpcStubBuffer *This,
  1050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1051.     PRPC_MESSAGE _pRpcMessage,
  1052.     DWORD *_pdwStubPhase);
  1053. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Proxy( 
  1054.     IDtcLuRecoveryInitiatedByLuWork * This,
  1055.     /* [out][in] */ DWORD *pcbOurLogName);
  1056. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Stub(
  1057.     IRpcStubBuffer *This,
  1058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1059.     PRPC_MESSAGE _pRpcMessage,
  1060.     DWORD *_pdwStubPhase);
  1061. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Proxy( 
  1062.     IDtcLuRecoveryInitiatedByLuWork * This,
  1063.     /* [out] */ DTCLUXLN *pXln,
  1064.     /* [out][in] */ unsigned char *pOurLogName,
  1065.     /* [out] */ DWORD *pdwProtocol);
  1066. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Stub(
  1067.     IRpcStubBuffer *This,
  1068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1069.     PRPC_MESSAGE _pRpcMessage,
  1070.     DWORD *_pdwStubPhase);
  1071. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Proxy( 
  1072.     IDtcLuRecoveryInitiatedByLuWork * This,
  1073.     /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  1074. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Proxy( 
  1080.     IDtcLuRecoveryInitiatedByLuWork * This,
  1081.     /* [out][in] */ unsigned char *pRemoteTransId,
  1082.     /* [in] */ DWORD cbRemoteTransId,
  1083.     /* [in] */ DTCLUCOMPARESTATE CompareState,
  1084.     /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  1085.     /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  1086. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Proxy( 
  1092.     IDtcLuRecoveryInitiatedByLuWork * This,
  1093.     /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation);
  1094. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Stub(
  1095.     IRpcStubBuffer *This,
  1096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1097.     PRPC_MESSAGE _pRpcMessage,
  1098.     DWORD *_pdwStubPhase);
  1099. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Proxy( 
  1100.     IDtcLuRecoveryInitiatedByLuWork * This,
  1101.     /* [in] */ DTCLUCOMPARESTATESERROR Error);
  1102. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Stub(
  1103.     IRpcStubBuffer *This,
  1104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1105.     PRPC_MESSAGE _pRpcMessage,
  1106.     DWORD *_pdwStubPhase);
  1107. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Proxy( 
  1108.     IDtcLuRecoveryInitiatedByLuWork * This);
  1109. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Stub(
  1110.     IRpcStubBuffer *This,
  1111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1112.     PRPC_MESSAGE _pRpcMessage,
  1113.     DWORD *_pdwStubPhase);
  1114. #endif  /* __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__ */
  1115. #ifndef __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
  1116. #define __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
  1117. /* interface IDtcLuRecoveryInitiatedByLu */
  1118. /* [uuid][unique][object] */ 
  1119. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLu;
  1120. #if defined(__cplusplus) && !defined(CINTERFACE)
  1121.     
  1122.     MIDL_INTERFACE("4131E768-1AEA-11d0-944B-00A0C905416E")
  1123.     IDtcLuRecoveryInitiatedByLu : public IUnknown
  1124.     {
  1125.     public:
  1126.         virtual HRESULT STDMETHODCALLTYPE GetObjectToHandleWorkFromLu( 
  1127.             /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork) = 0;
  1128.         
  1129.     };
  1130.     
  1131. #else  /* C style interface */
  1132.     typedef struct IDtcLuRecoveryInitiatedByLuVtbl
  1133.     {
  1134.         BEGIN_INTERFACE
  1135.         
  1136.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1137.             IDtcLuRecoveryInitiatedByLu * This,
  1138.             /* [in] */ REFIID riid,
  1139.             /* [iid_is][out] */ void **ppvObject);
  1140.         
  1141.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1142.             IDtcLuRecoveryInitiatedByLu * This);
  1143.         
  1144.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1145.             IDtcLuRecoveryInitiatedByLu * This);
  1146.         
  1147.         HRESULT ( STDMETHODCALLTYPE *GetObjectToHandleWorkFromLu )( 
  1148.             IDtcLuRecoveryInitiatedByLu * This,
  1149.             /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork);
  1150.         
  1151.         END_INTERFACE
  1152.     } IDtcLuRecoveryInitiatedByLuVtbl;
  1153.     interface IDtcLuRecoveryInitiatedByLu
  1154.     {
  1155.         CONST_VTBL struct IDtcLuRecoveryInitiatedByLuVtbl *lpVtbl;
  1156.     };
  1157.     
  1158. #ifdef COBJMACROS
  1159. #define IDtcLuRecoveryInitiatedByLu_QueryInterface(This,riid,ppvObject)
  1160.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1161. #define IDtcLuRecoveryInitiatedByLu_AddRef(This)
  1162.     (This)->lpVtbl -> AddRef(This)
  1163. #define IDtcLuRecoveryInitiatedByLu_Release(This)
  1164.     (This)->lpVtbl -> Release(This)
  1165. #define IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu(This,ppWork)
  1166.     (This)->lpVtbl -> GetObjectToHandleWorkFromLu(This,ppWork)
  1167. #endif /* COBJMACROS */
  1168. #endif  /* C style interface */
  1169. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Proxy( 
  1170.     IDtcLuRecoveryInitiatedByLu * This,
  1171.     /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork);
  1172. void __RPC_STUB IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Stub(
  1173.     IRpcStubBuffer *This,
  1174.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1175.     PRPC_MESSAGE _pRpcMessage,
  1176.     DWORD *_pdwStubPhase);
  1177. #endif  /* __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__ */
  1178. #ifndef __IDtcLuRmEnlistment_INTERFACE_DEFINED__
  1179. #define __IDtcLuRmEnlistment_INTERFACE_DEFINED__
  1180. /* interface IDtcLuRmEnlistment */
  1181. /* [uuid][unique][object] */ 
  1182. EXTERN_C const IID IID_IDtcLuRmEnlistment;
  1183. #if defined(__cplusplus) && !defined(CINTERFACE)
  1184.     
  1185.     MIDL_INTERFACE("4131E769-1AEA-11d0-944B-00A0C905416E")
  1186.     IDtcLuRmEnlistment : public IUnknown
  1187.     {
  1188.     public:
  1189.         virtual HRESULT STDMETHODCALLTYPE Unplug( 
  1190.             /* [in] */ BOOL fConversationLost) = 0;
  1191.         
  1192.         virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  1193.         
  1194.         virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  1195.         
  1196.         virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  1197.         
  1198.         virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  1199.         
  1200.         virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  1201.         
  1202.     };
  1203.     
  1204. #else  /* C style interface */
  1205.     typedef struct IDtcLuRmEnlistmentVtbl
  1206.     {
  1207.         BEGIN_INTERFACE
  1208.         
  1209.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1210.             IDtcLuRmEnlistment * This,
  1211.             /* [in] */ REFIID riid,
  1212.             /* [iid_is][out] */ void **ppvObject);
  1213.         
  1214.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1215.             IDtcLuRmEnlistment * This);
  1216.         
  1217.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1218.             IDtcLuRmEnlistment * This);
  1219.         
  1220.         HRESULT ( STDMETHODCALLTYPE *Unplug )( 
  1221.             IDtcLuRmEnlistment * This,
  1222.             /* [in] */ BOOL fConversationLost);
  1223.         
  1224.         HRESULT ( STDMETHODCALLTYPE *BackedOut )( 
  1225.             IDtcLuRmEnlistment * This);
  1226.         
  1227.         HRESULT ( STDMETHODCALLTYPE *BackOut )( 
  1228.             IDtcLuRmEnlistment * This);
  1229.         
  1230.         HRESULT ( STDMETHODCALLTYPE *Committed )( 
  1231.             IDtcLuRmEnlistment * This);
  1232.         
  1233.         HRESULT ( STDMETHODCALLTYPE *Forget )( 
  1234.             IDtcLuRmEnlistment * This);
  1235.         
  1236.         HRESULT ( STDMETHODCALLTYPE *RequestCommit )( 
  1237.             IDtcLuRmEnlistment * This);
  1238.         
  1239.         END_INTERFACE
  1240.     } IDtcLuRmEnlistmentVtbl;
  1241.     interface IDtcLuRmEnlistment
  1242.     {
  1243.         CONST_VTBL struct IDtcLuRmEnlistmentVtbl *lpVtbl;
  1244.     };
  1245.     
  1246. #ifdef COBJMACROS
  1247. #define IDtcLuRmEnlistment_QueryInterface(This,riid,ppvObject)
  1248.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1249. #define IDtcLuRmEnlistment_AddRef(This)
  1250.     (This)->lpVtbl -> AddRef(This)
  1251. #define IDtcLuRmEnlistment_Release(This)
  1252.     (This)->lpVtbl -> Release(This)
  1253. #define IDtcLuRmEnlistment_Unplug(This,fConversationLost)
  1254.     (This)->lpVtbl -> Unplug(This,fConversationLost)
  1255. #define IDtcLuRmEnlistment_BackedOut(This)
  1256.     (This)->lpVtbl -> BackedOut(This)
  1257. #define IDtcLuRmEnlistment_BackOut(This)
  1258.     (This)->lpVtbl -> BackOut(This)
  1259. #define IDtcLuRmEnlistment_Committed(This)
  1260.     (This)->lpVtbl -> Committed(This)
  1261. #define IDtcLuRmEnlistment_Forget(This)
  1262.     (This)->lpVtbl -> Forget(This)
  1263. #define IDtcLuRmEnlistment_RequestCommit(This)
  1264.     (This)->lpVtbl -> RequestCommit(This)
  1265. #endif /* COBJMACROS */
  1266. #endif  /* C style interface */
  1267. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Unplug_Proxy( 
  1268.     IDtcLuRmEnlistment * This,
  1269.     /* [in] */ BOOL fConversationLost);
  1270. void __RPC_STUB IDtcLuRmEnlistment_Unplug_Stub(
  1271.     IRpcStubBuffer *This,
  1272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1273.     PRPC_MESSAGE _pRpcMessage,
  1274.     DWORD *_pdwStubPhase);
  1275. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_BackedOut_Proxy( 
  1276.     IDtcLuRmEnlistment * This);
  1277. void __RPC_STUB IDtcLuRmEnlistment_BackedOut_Stub(
  1278.     IRpcStubBuffer *This,
  1279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1280.     PRPC_MESSAGE _pRpcMessage,
  1281.     DWORD *_pdwStubPhase);
  1282. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_BackOut_Proxy( 
  1283.     IDtcLuRmEnlistment * This);
  1284. void __RPC_STUB IDtcLuRmEnlistment_BackOut_Stub(
  1285.     IRpcStubBuffer *This,
  1286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1287.     PRPC_MESSAGE _pRpcMessage,
  1288.     DWORD *_pdwStubPhase);
  1289. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Committed_Proxy( 
  1290.     IDtcLuRmEnlistment * This);
  1291. void __RPC_STUB IDtcLuRmEnlistment_Committed_Stub(
  1292.     IRpcStubBuffer *This,
  1293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1294.     PRPC_MESSAGE _pRpcMessage,
  1295.     DWORD *_pdwStubPhase);
  1296. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Forget_Proxy( 
  1297.     IDtcLuRmEnlistment * This);
  1298. void __RPC_STUB IDtcLuRmEnlistment_Forget_Stub(
  1299.     IRpcStubBuffer *This,
  1300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1301.     PRPC_MESSAGE _pRpcMessage,
  1302.     DWORD *_pdwStubPhase);
  1303. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_RequestCommit_Proxy( 
  1304.     IDtcLuRmEnlistment * This);
  1305. void __RPC_STUB IDtcLuRmEnlistment_RequestCommit_Stub(
  1306.     IRpcStubBuffer *This,
  1307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1308.     PRPC_MESSAGE _pRpcMessage,
  1309.     DWORD *_pdwStubPhase);
  1310. #endif  /* __IDtcLuRmEnlistment_INTERFACE_DEFINED__ */
  1311. #ifndef __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
  1312. #define __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
  1313. /* interface IDtcLuRmEnlistmentSink */
  1314. /* [uuid][unique][object] */ 
  1315. EXTERN_C const IID IID_IDtcLuRmEnlistmentSink;
  1316. #if defined(__cplusplus) && !defined(CINTERFACE)
  1317.     
  1318.     MIDL_INTERFACE("4131E770-1AEA-11d0-944B-00A0C905416E")
  1319.     IDtcLuRmEnlistmentSink : public IUnknown
  1320.     {
  1321.     public:
  1322.         virtual HRESULT STDMETHODCALLTYPE AckUnplug( void) = 0;
  1323.         
  1324.         virtual HRESULT STDMETHODCALLTYPE TmDown( void) = 0;
  1325.         
  1326.         virtual HRESULT STDMETHODCALLTYPE SessionLost( void) = 0;
  1327.         
  1328.         virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  1329.         
  1330.         virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  1331.         
  1332.         virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  1333.         
  1334.         virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  1335.         
  1336.         virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
  1337.         
  1338.         virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  1339.         
  1340.     };
  1341.     
  1342. #else  /* C style interface */
  1343.     typedef struct IDtcLuRmEnlistmentSinkVtbl
  1344.     {
  1345.         BEGIN_INTERFACE
  1346.         
  1347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1348.             IDtcLuRmEnlistmentSink * This,
  1349.             /* [in] */ REFIID riid,
  1350.             /* [iid_is][out] */ void **ppvObject);
  1351.         
  1352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1353.             IDtcLuRmEnlistmentSink * This);
  1354.         
  1355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1356.             IDtcLuRmEnlistmentSink * This);
  1357.         
  1358.         HRESULT ( STDMETHODCALLTYPE *AckUnplug )( 
  1359.             IDtcLuRmEnlistmentSink * This);
  1360.         
  1361.         HRESULT ( STDMETHODCALLTYPE *TmDown )( 
  1362.             IDtcLuRmEnlistmentSink * This);
  1363.         
  1364.         HRESULT ( STDMETHODCALLTYPE *SessionLost )( 
  1365.             IDtcLuRmEnlistmentSink * This);
  1366.         
  1367.         HRESULT ( STDMETHODCALLTYPE *BackedOut )( 
  1368.             IDtcLuRmEnlistmentSink * This);
  1369.         
  1370.         HRESULT ( STDMETHODCALLTYPE *BackOut )( 
  1371.             IDtcLuRmEnlistmentSink * This);
  1372.         
  1373.         HRESULT ( STDMETHODCALLTYPE *Committed )( 
  1374.             IDtcLuRmEnlistmentSink * This);
  1375.         
  1376.         HRESULT ( STDMETHODCALLTYPE *Forget )( 
  1377.             IDtcLuRmEnlistmentSink * This);
  1378.         
  1379.         HRESULT ( STDMETHODCALLTYPE *Prepare )( 
  1380.             IDtcLuRmEnlistmentSink * This);
  1381.         
  1382.         HRESULT ( STDMETHODCALLTYPE *RequestCommit )( 
  1383.             IDtcLuRmEnlistmentSink * This);
  1384.         
  1385.         END_INTERFACE
  1386.     } IDtcLuRmEnlistmentSinkVtbl;
  1387.     interface IDtcLuRmEnlistmentSink
  1388.     {
  1389.         CONST_VTBL struct IDtcLuRmEnlistmentSinkVtbl *lpVtbl;
  1390.     };
  1391.     
  1392. #ifdef COBJMACROS
  1393. #define IDtcLuRmEnlistmentSink_QueryInterface(This,riid,ppvObject)
  1394.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1395. #define IDtcLuRmEnlistmentSink_AddRef(This)
  1396.     (This)->lpVtbl -> AddRef(This)
  1397. #define IDtcLuRmEnlistmentSink_Release(This)
  1398.     (This)->lpVtbl -> Release(This)
  1399. #define IDtcLuRmEnlistmentSink_AckUnplug(This)
  1400.     (This)->lpVtbl -> AckUnplug(This)
  1401. #define IDtcLuRmEnlistmentSink_TmDown(This)
  1402.     (This)->lpVtbl -> TmDown(This)
  1403. #define IDtcLuRmEnlistmentSink_SessionLost(This)
  1404.     (This)->lpVtbl -> SessionLost(This)
  1405. #define IDtcLuRmEnlistmentSink_BackedOut(This)
  1406.     (This)->lpVtbl -> BackedOut(This)
  1407. #define IDtcLuRmEnlistmentSink_BackOut(This)
  1408.     (This)->lpVtbl -> BackOut(This)
  1409. #define IDtcLuRmEnlistmentSink_Committed(This)
  1410.     (This)->lpVtbl -> Committed(This)
  1411. #define IDtcLuRmEnlistmentSink_Forget(This)
  1412.     (This)->lpVtbl -> Forget(This)
  1413. #define IDtcLuRmEnlistmentSink_Prepare(This)
  1414.     (This)->lpVtbl -> Prepare(This)
  1415. #define IDtcLuRmEnlistmentSink_RequestCommit(This)
  1416.     (This)->lpVtbl -> RequestCommit(This)
  1417. #endif /* COBJMACROS */
  1418. #endif  /* C style interface */
  1419. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_AckUnplug_Proxy( 
  1420.     IDtcLuRmEnlistmentSink * This);
  1421. void __RPC_STUB IDtcLuRmEnlistmentSink_AckUnplug_Stub(
  1422.     IRpcStubBuffer *This,
  1423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1424.     PRPC_MESSAGE _pRpcMessage,
  1425.     DWORD *_pdwStubPhase);
  1426. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_TmDown_Proxy( 
  1427.     IDtcLuRmEnlistmentSink * This);
  1428. void __RPC_STUB IDtcLuRmEnlistmentSink_TmDown_Stub(
  1429.     IRpcStubBuffer *This,
  1430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1431.     PRPC_MESSAGE _pRpcMessage,
  1432.     DWORD *_pdwStubPhase);
  1433. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_SessionLost_Proxy( 
  1434.     IDtcLuRmEnlistmentSink * This);
  1435. void __RPC_STUB IDtcLuRmEnlistmentSink_SessionLost_Stub(
  1436.     IRpcStubBuffer *This,
  1437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1438.     PRPC_MESSAGE _pRpcMessage,
  1439.     DWORD *_pdwStubPhase);
  1440. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_BackedOut_Proxy( 
  1441.     IDtcLuRmEnlistmentSink * This);
  1442. void __RPC_STUB IDtcLuRmEnlistmentSink_BackedOut_Stub(
  1443.     IRpcStubBuffer *This,
  1444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1445.     PRPC_MESSAGE _pRpcMessage,
  1446.     DWORD *_pdwStubPhase);
  1447. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_BackOut_Proxy( 
  1448.     IDtcLuRmEnlistmentSink * This);
  1449. void __RPC_STUB IDtcLuRmEnlistmentSink_BackOut_Stub(
  1450.     IRpcStubBuffer *This,
  1451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1452.     PRPC_MESSAGE _pRpcMessage,
  1453.     DWORD *_pdwStubPhase);
  1454. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Committed_Proxy( 
  1455.     IDtcLuRmEnlistmentSink * This);
  1456. void __RPC_STUB IDtcLuRmEnlistmentSink_Committed_Stub(
  1457.     IRpcStubBuffer *This,
  1458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1459.     PRPC_MESSAGE _pRpcMessage,
  1460.     DWORD *_pdwStubPhase);
  1461. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Forget_Proxy( 
  1462.     IDtcLuRmEnlistmentSink * This);
  1463. void __RPC_STUB IDtcLuRmEnlistmentSink_Forget_Stub(
  1464.     IRpcStubBuffer *This,
  1465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1466.     PRPC_MESSAGE _pRpcMessage,
  1467.     DWORD *_pdwStubPhase);
  1468. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Prepare_Proxy( 
  1469.     IDtcLuRmEnlistmentSink * This);
  1470. void __RPC_STUB IDtcLuRmEnlistmentSink_Prepare_Stub(
  1471.     IRpcStubBuffer *This,
  1472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1473.     PRPC_MESSAGE _pRpcMessage,
  1474.     DWORD *_pdwStubPhase);
  1475. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_RequestCommit_Proxy( 
  1476.     IDtcLuRmEnlistmentSink * This);
  1477. void __RPC_STUB IDtcLuRmEnlistmentSink_RequestCommit_Stub(
  1478.     IRpcStubBuffer *This,
  1479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1480.     PRPC_MESSAGE _pRpcMessage,
  1481.     DWORD *_pdwStubPhase);
  1482. #endif  /* __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__ */
  1483. #ifndef __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
  1484. #define __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
  1485. /* interface IDtcLuRmEnlistmentFactory */
  1486. /* [local][uuid][unique][object] */ 
  1487. EXTERN_C const IID IID_IDtcLuRmEnlistmentFactory;
  1488. #if defined(__cplusplus) && !defined(CINTERFACE)
  1489.     
  1490.     MIDL_INTERFACE("4131E771-1AEA-11d0-944B-00A0C905416E")
  1491.     IDtcLuRmEnlistmentFactory : public IUnknown
  1492.     {
  1493.     public:
  1494.         virtual HRESULT STDMETHODCALLTYPE Create( 
  1495.             /* [in] */ unsigned char *pucLuPair,
  1496.             /* [in] */ DWORD cbLuPair,
  1497.             /* [in] */ ITransaction *pITransaction,
  1498.             /* [in] */ unsigned char *pTransId,
  1499.             /* [in] */ DWORD cbTransId,
  1500.             /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  1501.             /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment) = 0;
  1502.         
  1503.     };
  1504.     
  1505. #else  /* C style interface */
  1506.     typedef struct IDtcLuRmEnlistmentFactoryVtbl
  1507.     {
  1508.         BEGIN_INTERFACE
  1509.         
  1510.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1511.             IDtcLuRmEnlistmentFactory * This,
  1512.             /* [in] */ REFIID riid,
  1513.             /* [iid_is][out] */ void **ppvObject);
  1514.         
  1515.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1516.             IDtcLuRmEnlistmentFactory * This);
  1517.         
  1518.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1519.             IDtcLuRmEnlistmentFactory * This);
  1520.         
  1521.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1522.             IDtcLuRmEnlistmentFactory * This,
  1523.             /* [in] */ unsigned char *pucLuPair,
  1524.             /* [in] */ DWORD cbLuPair,
  1525.             /* [in] */ ITransaction *pITransaction,
  1526.             /* [in] */ unsigned char *pTransId,
  1527.             /* [in] */ DWORD cbTransId,
  1528.             /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  1529.             /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment);
  1530.         
  1531.         END_INTERFACE
  1532.     } IDtcLuRmEnlistmentFactoryVtbl;
  1533.     interface IDtcLuRmEnlistmentFactory
  1534.     {
  1535.         CONST_VTBL struct IDtcLuRmEnlistmentFactoryVtbl *lpVtbl;
  1536.     };
  1537.     
  1538. #ifdef COBJMACROS
  1539. #define IDtcLuRmEnlistmentFactory_QueryInterface(This,riid,ppvObject)
  1540.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1541. #define IDtcLuRmEnlistmentFactory_AddRef(This)
  1542.     (This)->lpVtbl -> AddRef(This)
  1543. #define IDtcLuRmEnlistmentFactory_Release(This)
  1544.     (This)->lpVtbl -> Release(This)
  1545. #define IDtcLuRmEnlistmentFactory_Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment)
  1546.     (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment)
  1547. #endif /* COBJMACROS */
  1548. #endif  /* C style interface */
  1549. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentFactory_Create_Proxy( 
  1550.     IDtcLuRmEnlistmentFactory * This,
  1551.     /* [in] */ unsigned char *pucLuPair,
  1552.     /* [in] */ DWORD cbLuPair,
  1553.     /* [in] */ ITransaction *pITransaction,
  1554.     /* [in] */ unsigned char *pTransId,
  1555.     /* [in] */ DWORD cbTransId,
  1556.     /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  1557.     /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment);
  1558. void __RPC_STUB IDtcLuRmEnlistmentFactory_Create_Stub(
  1559.     IRpcStubBuffer *This,
  1560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1561.     PRPC_MESSAGE _pRpcMessage,
  1562.     DWORD *_pdwStubPhase);
  1563. #endif  /* __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__ */
  1564. #ifndef __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
  1565. #define __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
  1566. /* interface IDtcLuSubordinateDtc */
  1567. /* [uuid][unique][object] */ 
  1568. EXTERN_C const IID IID_IDtcLuSubordinateDtc;
  1569. #if defined(__cplusplus) && !defined(CINTERFACE)
  1570.     
  1571.     MIDL_INTERFACE("4131E773-1AEA-11d0-944B-00A0C905416E")
  1572.     IDtcLuSubordinateDtc : public IUnknown
  1573.     {
  1574.     public:
  1575.         virtual HRESULT STDMETHODCALLTYPE Unplug( 
  1576.             /* [in] */ BOOL fConversationLost) = 0;
  1577.         
  1578.         virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  1579.         
  1580.         virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  1581.         
  1582.         virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  1583.         
  1584.         virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  1585.         
  1586.         virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
  1587.         
  1588.         virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  1589.         
  1590.     };
  1591.     
  1592. #else  /* C style interface */
  1593.     typedef struct IDtcLuSubordinateDtcVtbl
  1594.     {
  1595.         BEGIN_INTERFACE
  1596.         
  1597.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1598.             IDtcLuSubordinateDtc * This,
  1599.             /* [in] */ REFIID riid,
  1600.             /* [iid_is][out] */ void **ppvObject);
  1601.         
  1602.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1603.             IDtcLuSubordinateDtc * This);
  1604.         
  1605.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1606.             IDtcLuSubordinateDtc * This);
  1607.         
  1608.         HRESULT ( STDMETHODCALLTYPE *Unplug )( 
  1609.             IDtcLuSubordinateDtc * This,
  1610.             /* [in] */ BOOL fConversationLost);
  1611.         
  1612.         HRESULT ( STDMETHODCALLTYPE *BackedOut )( 
  1613.             IDtcLuSubordinateDtc * This);
  1614.         
  1615.         HRESULT ( STDMETHODCALLTYPE *BackOut )( 
  1616.             IDtcLuSubordinateDtc * This);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE *Committed )( 
  1619.             IDtcLuSubordinateDtc * This);
  1620.         
  1621.         HRESULT ( STDMETHODCALLTYPE *Forget )( 
  1622.             IDtcLuSubordinateDtc * This);
  1623.         
  1624.         HRESULT ( STDMETHODCALLTYPE *Prepare )( 
  1625.             IDtcLuSubordinateDtc * This);
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE *RequestCommit )( 
  1628.             IDtcLuSubordinateDtc * This);
  1629.         
  1630.         END_INTERFACE
  1631.     } IDtcLuSubordinateDtcVtbl;
  1632.     interface IDtcLuSubordinateDtc
  1633.     {
  1634.         CONST_VTBL struct IDtcLuSubordinateDtcVtbl *lpVtbl;
  1635.     };
  1636.     
  1637. #ifdef COBJMACROS
  1638. #define IDtcLuSubordinateDtc_QueryInterface(This,riid,ppvObject)
  1639.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1640. #define IDtcLuSubordinateDtc_AddRef(This)
  1641.     (This)->lpVtbl -> AddRef(This)
  1642. #define IDtcLuSubordinateDtc_Release(This)
  1643.     (This)->lpVtbl -> Release(This)
  1644. #define IDtcLuSubordinateDtc_Unplug(This,fConversationLost)
  1645.     (This)->lpVtbl -> Unplug(This,fConversationLost)
  1646. #define IDtcLuSubordinateDtc_BackedOut(This)
  1647.     (This)->lpVtbl -> BackedOut(This)
  1648. #define IDtcLuSubordinateDtc_BackOut(This)
  1649.     (This)->lpVtbl -> BackOut(This)
  1650. #define IDtcLuSubordinateDtc_Committed(This)
  1651.     (This)->lpVtbl -> Committed(This)
  1652. #define IDtcLuSubordinateDtc_Forget(This)
  1653.     (This)->lpVtbl -> Forget(This)
  1654. #define IDtcLuSubordinateDtc_Prepare(This)
  1655.     (This)->lpVtbl -> Prepare(This)
  1656. #define IDtcLuSubordinateDtc_RequestCommit(This)
  1657.     (This)->lpVtbl -> RequestCommit(This)
  1658. #endif /* COBJMACROS */
  1659. #endif  /* C style interface */
  1660. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Unplug_Proxy( 
  1661.     IDtcLuSubordinateDtc * This,
  1662.     /* [in] */ BOOL fConversationLost);
  1663. void __RPC_STUB IDtcLuSubordinateDtc_Unplug_Stub(
  1664.     IRpcStubBuffer *This,
  1665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1666.     PRPC_MESSAGE _pRpcMessage,
  1667.     DWORD *_pdwStubPhase);
  1668. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_BackedOut_Proxy( 
  1669.     IDtcLuSubordinateDtc * This);
  1670. void __RPC_STUB IDtcLuSubordinateDtc_BackedOut_Stub(
  1671.     IRpcStubBuffer *This,
  1672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1673.     PRPC_MESSAGE _pRpcMessage,
  1674.     DWORD *_pdwStubPhase);
  1675. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_BackOut_Proxy( 
  1676.     IDtcLuSubordinateDtc * This);
  1677. void __RPC_STUB IDtcLuSubordinateDtc_BackOut_Stub(
  1678.     IRpcStubBuffer *This,
  1679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1680.     PRPC_MESSAGE _pRpcMessage,
  1681.     DWORD *_pdwStubPhase);
  1682. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Committed_Proxy( 
  1683.     IDtcLuSubordinateDtc * This);
  1684. void __RPC_STUB IDtcLuSubordinateDtc_Committed_Stub(
  1685.     IRpcStubBuffer *This,
  1686.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1687.     PRPC_MESSAGE _pRpcMessage,
  1688.     DWORD *_pdwStubPhase);
  1689. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Forget_Proxy( 
  1690.     IDtcLuSubordinateDtc * This);
  1691. void __RPC_STUB IDtcLuSubordinateDtc_Forget_Stub(
  1692.     IRpcStubBuffer *This,
  1693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1694.     PRPC_MESSAGE _pRpcMessage,
  1695.     DWORD *_pdwStubPhase);
  1696. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Prepare_Proxy( 
  1697.     IDtcLuSubordinateDtc * This);
  1698. void __RPC_STUB IDtcLuSubordinateDtc_Prepare_Stub(
  1699.     IRpcStubBuffer *This,
  1700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1701.     PRPC_MESSAGE _pRpcMessage,
  1702.     DWORD *_pdwStubPhase);
  1703. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_RequestCommit_Proxy( 
  1704.     IDtcLuSubordinateDtc * This);
  1705. void __RPC_STUB IDtcLuSubordinateDtc_RequestCommit_Stub(
  1706.     IRpcStubBuffer *This,
  1707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1708.     PRPC_MESSAGE _pRpcMessage,
  1709.     DWORD *_pdwStubPhase);
  1710. #endif  /* __IDtcLuSubordinateDtc_INTERFACE_DEFINED__ */
  1711. #ifndef __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
  1712. #define __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
  1713. /* interface IDtcLuSubordinateDtcSink */
  1714. /* [local][uuid][unique][object] */ 
  1715. EXTERN_C const IID IID_IDtcLuSubordinateDtcSink;
  1716. #if defined(__cplusplus) && !defined(CINTERFACE)
  1717.     
  1718.     MIDL_INTERFACE("4131E774-1AEA-11d0-944B-00A0C905416E")
  1719.     IDtcLuSubordinateDtcSink : public IUnknown
  1720.     {
  1721.     public:
  1722.         virtual HRESULT STDMETHODCALLTYPE AckUnplug( void) = 0;
  1723.         
  1724.         virtual HRESULT STDMETHODCALLTYPE TmDown( void) = 0;
  1725.         
  1726.         virtual HRESULT STDMETHODCALLTYPE SessionLost( void) = 0;
  1727.         
  1728.         virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  1729.         
  1730.         virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  1731.         
  1732.         virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  1733.         
  1734.         virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  1735.         
  1736.         virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  1737.         
  1738.     };
  1739.     
  1740. #else  /* C style interface */
  1741.     typedef struct IDtcLuSubordinateDtcSinkVtbl
  1742.     {
  1743.         BEGIN_INTERFACE
  1744.         
  1745.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1746.             IDtcLuSubordinateDtcSink * This,
  1747.             /* [in] */ REFIID riid,
  1748.             /* [iid_is][out] */ void **ppvObject);
  1749.         
  1750.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1751.             IDtcLuSubordinateDtcSink * This);
  1752.         
  1753.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1754.             IDtcLuSubordinateDtcSink * This);
  1755.         
  1756.         HRESULT ( STDMETHODCALLTYPE *AckUnplug )( 
  1757.             IDtcLuSubordinateDtcSink * This);
  1758.         
  1759.         HRESULT ( STDMETHODCALLTYPE *TmDown )( 
  1760.             IDtcLuSubordinateDtcSink * This);
  1761.         
  1762.         HRESULT ( STDMETHODCALLTYPE *SessionLost )( 
  1763.             IDtcLuSubordinateDtcSink * This);
  1764.         
  1765.         HRESULT ( STDMETHODCALLTYPE *BackedOut )( 
  1766.             IDtcLuSubordinateDtcSink * This);
  1767.         
  1768.         HRESULT ( STDMETHODCALLTYPE *BackOut )( 
  1769.             IDtcLuSubordinateDtcSink * This);
  1770.         
  1771.         HRESULT ( STDMETHODCALLTYPE *Committed )( 
  1772.             IDtcLuSubordinateDtcSink * This);
  1773.         
  1774.         HRESULT ( STDMETHODCALLTYPE *Forget )( 
  1775.             IDtcLuSubordinateDtcSink * This);
  1776.         
  1777.         HRESULT ( STDMETHODCALLTYPE *RequestCommit )( 
  1778.             IDtcLuSubordinateDtcSink * This);
  1779.         
  1780.         END_INTERFACE
  1781.     } IDtcLuSubordinateDtcSinkVtbl;
  1782.     interface IDtcLuSubordinateDtcSink
  1783.     {
  1784.         CONST_VTBL struct IDtcLuSubordinateDtcSinkVtbl *lpVtbl;
  1785.     };
  1786.     
  1787. #ifdef COBJMACROS
  1788. #define IDtcLuSubordinateDtcSink_QueryInterface(This,riid,ppvObject)
  1789.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1790. #define IDtcLuSubordinateDtcSink_AddRef(This)
  1791.     (This)->lpVtbl -> AddRef(This)
  1792. #define IDtcLuSubordinateDtcSink_Release(This)
  1793.     (This)->lpVtbl -> Release(This)
  1794. #define IDtcLuSubordinateDtcSink_AckUnplug(This)
  1795.     (This)->lpVtbl -> AckUnplug(This)
  1796. #define IDtcLuSubordinateDtcSink_TmDown(This)
  1797.     (This)->lpVtbl -> TmDown(This)
  1798. #define IDtcLuSubordinateDtcSink_SessionLost(This)
  1799.     (This)->lpVtbl -> SessionLost(This)
  1800. #define IDtcLuSubordinateDtcSink_BackedOut(This)
  1801.     (This)->lpVtbl -> BackedOut(This)
  1802. #define IDtcLuSubordinateDtcSink_BackOut(This)
  1803.     (This)->lpVtbl -> BackOut(This)
  1804. #define IDtcLuSubordinateDtcSink_Committed(This)
  1805.     (This)->lpVtbl -> Committed(This)
  1806. #define IDtcLuSubordinateDtcSink_Forget(This)
  1807.     (This)->lpVtbl -> Forget(This)
  1808. #define IDtcLuSubordinateDtcSink_RequestCommit(This)
  1809.     (This)->lpVtbl -> RequestCommit(This)
  1810. #endif /* COBJMACROS */
  1811. #endif  /* C style interface */
  1812. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_AckUnplug_Proxy( 
  1813.     IDtcLuSubordinateDtcSink * This);
  1814. void __RPC_STUB IDtcLuSubordinateDtcSink_AckUnplug_Stub(
  1815.     IRpcStubBuffer *This,
  1816.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1817.     PRPC_MESSAGE _pRpcMessage,
  1818.     DWORD *_pdwStubPhase);
  1819. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_TmDown_Proxy( 
  1820.     IDtcLuSubordinateDtcSink * This);
  1821. void __RPC_STUB IDtcLuSubordinateDtcSink_TmDown_Stub(
  1822.     IRpcStubBuffer *This,
  1823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1824.     PRPC_MESSAGE _pRpcMessage,
  1825.     DWORD *_pdwStubPhase);
  1826. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_SessionLost_Proxy( 
  1827.     IDtcLuSubordinateDtcSink * This);
  1828. void __RPC_STUB IDtcLuSubordinateDtcSink_SessionLost_Stub(
  1829.     IRpcStubBuffer *This,
  1830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1831.     PRPC_MESSAGE _pRpcMessage,
  1832.     DWORD *_pdwStubPhase);
  1833. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_BackedOut_Proxy( 
  1834.     IDtcLuSubordinateDtcSink * This);
  1835. void __RPC_STUB IDtcLuSubordinateDtcSink_BackedOut_Stub(
  1836.     IRpcStubBuffer *This,
  1837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1838.     PRPC_MESSAGE _pRpcMessage,
  1839.     DWORD *_pdwStubPhase);
  1840. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_BackOut_Proxy( 
  1841.     IDtcLuSubordinateDtcSink * This);
  1842. void __RPC_STUB IDtcLuSubordinateDtcSink_BackOut_Stub(
  1843.     IRpcStubBuffer *This,
  1844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1845.     PRPC_MESSAGE _pRpcMessage,
  1846.     DWORD *_pdwStubPhase);
  1847. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_Committed_Proxy( 
  1848.     IDtcLuSubordinateDtcSink * This);
  1849. void __RPC_STUB IDtcLuSubordinateDtcSink_Committed_Stub(
  1850.     IRpcStubBuffer *This,
  1851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1852.     PRPC_MESSAGE _pRpcMessage,
  1853.     DWORD *_pdwStubPhase);
  1854. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_Forget_Proxy( 
  1855.     IDtcLuSubordinateDtcSink * This);
  1856. void __RPC_STUB IDtcLuSubordinateDtcSink_Forget_Stub(
  1857.     IRpcStubBuffer *This,
  1858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1859.     PRPC_MESSAGE _pRpcMessage,
  1860.     DWORD *_pdwStubPhase);
  1861. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_RequestCommit_Proxy( 
  1862.     IDtcLuSubordinateDtcSink * This);
  1863. void __RPC_STUB IDtcLuSubordinateDtcSink_RequestCommit_Stub(
  1864.     IRpcStubBuffer *This,
  1865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1866.     PRPC_MESSAGE _pRpcMessage,
  1867.     DWORD *_pdwStubPhase);
  1868. #endif  /* __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__ */
  1869. #ifndef __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
  1870. #define __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
  1871. /* interface IDtcLuSubordinateDtcFactory */
  1872. /* [local][uuid][unique][object] */ 
  1873. EXTERN_C const IID IID_IDtcLuSubordinateDtcFactory;
  1874. #if defined(__cplusplus) && !defined(CINTERFACE)
  1875.     
  1876.     MIDL_INTERFACE("4131E775-1AEA-11d0-944B-00A0C905416E")
  1877.     IDtcLuSubordinateDtcFactory : public IUnknown
  1878.     {
  1879.     public:
  1880.         virtual HRESULT STDMETHODCALLTYPE Create( 
  1881.             /* [in] */ unsigned char *pucLuPair,
  1882.             /* [in] */ DWORD cbLuPair,
  1883.             /* [in] */ IUnknown *punkTransactionOuter,
  1884.             /* [in] */ ISOLEVEL isoLevel,
  1885.             /* [in] */ ULONG isoFlags,
  1886.             /* [in] */ ITransactionOptions *pOptions,
  1887.             /* [out] */ ITransaction **ppTransaction,
  1888.             /* [in] */ unsigned char *pTransId,
  1889.             /* [in] */ DWORD cbTransId,
  1890.             /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  1891.             /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc) = 0;
  1892.         
  1893.     };
  1894.     
  1895. #else  /* C style interface */
  1896.     typedef struct IDtcLuSubordinateDtcFactoryVtbl
  1897.     {
  1898.         BEGIN_INTERFACE
  1899.         
  1900.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1901.             IDtcLuSubordinateDtcFactory * This,
  1902.             /* [in] */ REFIID riid,
  1903.             /* [iid_is][out] */ void **ppvObject);
  1904.         
  1905.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1906.             IDtcLuSubordinateDtcFactory * This);
  1907.         
  1908.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1909.             IDtcLuSubordinateDtcFactory * This);
  1910.         
  1911.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1912.             IDtcLuSubordinateDtcFactory * This,
  1913.             /* [in] */ unsigned char *pucLuPair,
  1914.             /* [in] */ DWORD cbLuPair,
  1915.             /* [in] */ IUnknown *punkTransactionOuter,
  1916.             /* [in] */ ISOLEVEL isoLevel,
  1917.             /* [in] */ ULONG isoFlags,
  1918.             /* [in] */ ITransactionOptions *pOptions,
  1919.             /* [out] */ ITransaction **ppTransaction,
  1920.             /* [in] */ unsigned char *pTransId,
  1921.             /* [in] */ DWORD cbTransId,
  1922.             /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  1923.             /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc);
  1924.         
  1925.         END_INTERFACE
  1926.     } IDtcLuSubordinateDtcFactoryVtbl;
  1927.     interface IDtcLuSubordinateDtcFactory
  1928.     {
  1929.         CONST_VTBL struct IDtcLuSubordinateDtcFactoryVtbl *lpVtbl;
  1930.     };
  1931.     
  1932. #ifdef COBJMACROS
  1933. #define IDtcLuSubordinateDtcFactory_QueryInterface(This,riid,ppvObject)
  1934.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1935. #define IDtcLuSubordinateDtcFactory_AddRef(This)
  1936.     (This)->lpVtbl -> AddRef(This)
  1937. #define IDtcLuSubordinateDtcFactory_Release(This)
  1938.     (This)->lpVtbl -> Release(This)
  1939. #define IDtcLuSubordinateDtcFactory_Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc)
  1940.     (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc)
  1941. #endif /* COBJMACROS */
  1942. #endif  /* C style interface */
  1943. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcFactory_Create_Proxy( 
  1944.     IDtcLuSubordinateDtcFactory * This,
  1945.     /* [in] */ unsigned char *pucLuPair,
  1946.     /* [in] */ DWORD cbLuPair,
  1947.     /* [in] */ IUnknown *punkTransactionOuter,
  1948.     /* [in] */ ISOLEVEL isoLevel,
  1949.     /* [in] */ ULONG isoFlags,
  1950.     /* [in] */ ITransactionOptions *pOptions,
  1951.     /* [out] */ ITransaction **ppTransaction,
  1952.     /* [in] */ unsigned char *pTransId,
  1953.     /* [in] */ DWORD cbTransId,
  1954.     /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  1955.     /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc);
  1956. void __RPC_STUB IDtcLuSubordinateDtcFactory_Create_Stub(
  1957.     IRpcStubBuffer *This,
  1958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1959.     PRPC_MESSAGE _pRpcMessage,
  1960.     DWORD *_pdwStubPhase);
  1961. #endif  /* __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__ */
  1962. /* interface __MIDL_itf_txdtc_0146 */
  1963. /* [local] */ 
  1964. #if _MSC_VER < 1100 || !defined(__cplusplus)
  1965. DEFINE_GUID(IID_IXATransLookup, 0xF3B1F131, 0xEEDA, 0x11ce, 0xAE, 0xD4, 0x00, 0xAA, 0x00, 0x51, 0xE2, 0xC4);
  1966. DEFINE_GUID(IID_IResourceManagerSink, 0x0D563181, 0xDEFB, 0x11ce, 0xAE, 0xD1, 0x00, 0xAA, 0x00, 0x51, 0xE2, 0xC4);
  1967. DEFINE_GUID(IID_IResourceManager, 0x3741d21, 0x87eb, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  1968. DEFINE_GUID(IID_IResourceManager2, 0xd136c69a, 0xf749, 0x11d1, 0x8f, 0x47, 0x0, 0xc0, 0x4f, 0x8e, 0xe5, 0x7d);
  1969. DEFINE_GUID(IID_ILastResourceManager, 0x4d964ad4, 0x5b33, 0x11d3, 0x8a, 0x91, 0x00, 0xc0, 0x4f, 0x79, 0xeb, 0x6d);
  1970. DEFINE_GUID(IID_IXAConfig, 0xC8A6E3A1, 0x9A8C, 0x11cf, 0xA3, 0x08, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1971. DEFINE_GUID(IID_IRMHelper, 0xE793F6D1, 0xF53D, 0x11cf, 0xA6, 0x0D, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1972. DEFINE_GUID(IID_IXAObtainRMInfo, 0xE793F6D2, 0xF53D, 0x11cf, 0xA6, 0x0D, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1973. DEFINE_GUID(IID_IXAResourceManager, 0x4131E751, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1974. DEFINE_GUID(IID_IXAResourceManagerFactory, 0x4131E750, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1975. DEFINE_GUID(IID_IXATransaction, 0x4131E752, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1976. DEFINE_GUID(IID_IResourceManagerFactory, 0x13741d20, 0x87eb, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  1977. DEFINE_GUID(IID_IResourceManagerFactory2, 0x6b369c21, 0xfbd2, 0x11d1, 0x8f, 0x47, 0x0, 0xc0, 0x4f, 0x8e, 0xe5, 0x7d);
  1978. DEFINE_GUID(IID_IPrepareInfo, 0x80c7bfd0, 0x87ee, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  1979. DEFINE_GUID(IID_IPrepareInfo2, 0x5FAB2547, 0x9779, 0x11d1, 0xB8, 0x86, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A);
  1980. DEFINE_GUID(IID_IGetDispenser, 0xc23cc370, 0x87ef, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  1981. DEFINE_GUID(IID_ITransactionVoterNotifyAsync2, 0x5433376b, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  1982. DEFINE_GUID(IID_ITransactionVoterBallotAsync2, 0x5433376c, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  1983. DEFINE_GUID(IID_ITransactionVoterFactory2, 0x5433376a, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  1984. DEFINE_GUID(IID_ITransactionPhase0EnlistmentAsync, 0x82DC88E1, 0xA954, 0x11d1, 0x8F, 0x88, 0x00, 0x60, 0x08, 0x95, 0xE7, 0xD5);
  1985. DEFINE_GUID(IID_ITransactionPhase0NotifyAsync, 0xEF081809, 0x0C76, 0x11d2, 0x87, 0xA6, 0x00, 0xC0, 0x4F, 0x99, 0x0F, 0x34);
  1986. DEFINE_GUID(IID_ITransactionPhase0Factory, 0x82DC88E0, 0xA954, 0x11d1, 0x8F, 0x88, 0x00, 0x60, 0x08, 0x95, 0xE7, 0xD5);
  1987. DEFINE_GUID(IID_ITransactionTransmitter, 0x59313E01, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  1988. DEFINE_GUID(IID_ITransactionTransmitterFactory, 0x59313E00, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  1989. DEFINE_GUID(IID_ITransactionReceiver, 0x59313E03, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  1990. DEFINE_GUID(IID_ITransactionReceiverFactory, 0x59313E02, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  1991. DEFINE_GUID(IID_IDtcLuConfigure, 0x4131E760, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1992. DEFINE_GUID(IID_IDtcLuRecovery, 0xac2b8ad2, 0xd6f0, 0x11d0, 0xb3, 0x86, 0x0, 0xa0, 0xc9, 0x8, 0x33, 0x65);
  1993. DEFINE_GUID(IID_IDtcLuRecoveryFactory, 0x4131E762, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1994. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcTransWork, 0x4131E765, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1995. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcStatusWork, 0x4131E766, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1996. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtc, 0x4131E764, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1997. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLuWork, 0xac2b8ad1, 0xd6f0, 0x11d0, 0xb3, 0x86, 0x0, 0xa0, 0xc9, 0x8, 0x33, 0x65);
  1998. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLu, 0x4131E768, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  1999. DEFINE_GUID(IID_IDtcLuRmEnlistment, 0x4131E769, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2000. DEFINE_GUID(IID_IDtcLuRmEnlistmentSink, 0x4131E770, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2001. DEFINE_GUID(IID_IDtcLuRmEnlistmentFactory, 0x4131E771, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2002. DEFINE_GUID(IID_IDtcLuSubordinateDtc, 0x4131E773, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2003. DEFINE_GUID(IID_IDtcLuSubordinateDtcSink, 0x4131E774, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2004. DEFINE_GUID(IID_IDtcLuSubordinateDtcFactory, 0x4131E775, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  2005. #else
  2006. #define  IID_IXATransLookup __uuidof(IXATransLookup)
  2007. #define  IID_IResourceManagerSink __uuidof(IResourceManagerSink)
  2008. #define  IID_IResourceManager __uuidof(IResourceManager)
  2009. #define  IID_IResourceManager2 __uuidof(IResourceManager2)
  2010. #define  IID_ILastResourceManager __uuidof(ILastResourceManager)
  2011. #define  IID_IXAConfig __uuidof(IXAConfig)
  2012. #define  IID_IRMHelper __uuidof(IRMHelper)
  2013. #define  IID_IXAObtainRMInfo __uuidof(IXAObtainRMInfo)
  2014. #define  IID_IXAResourceManager __uuidof(IXAResourceManager)
  2015. #define  IID_IXAResourceManagerFactory __uuidof(IXAResourceManagerFactory)
  2016. #define  IID_IXATransaction                   __uuidof(IXATransaction)
  2017. #define  IID_IResourceManagerFactory          __uuidof(IResourceManagerFactory)
  2018. #define  IID_IResourceManagerFactory2          __uuidof(IResourceManagerFactory2)
  2019. #define  IID_IPrepareInfo                     __uuidof(IPrepareInfo)
  2020. #define  IID_IPrepareInfo2                           __uuidof(IPrepareInfo2)
  2021. #define  IID_IGetDispenser __uuidof(IGetDispenser)
  2022. #define  IID_ITransactionVoterNotifyAsync2     __uuidof(ITransactionVoterNotifyAsync2)
  2023. #define  IID_ITransactionVoterBallotAsync2 __uuidof(ITransactionVoterBallotAsync2)
  2024. #define  IID_ITransactionVoterFactory2 __uuidof(ITransactionVoterFactory2)
  2025. #define  IID_ITransactionPhase0EnlistmentAsync __uuidof(ITransactionPhase0EnlistmentAsync)
  2026. #define  IID_ITransactionPhase0NotifyAsync __uuidof(ITransactionPhase0NotifyAsync)
  2027. #define  IID_ITransactionPhase0Factory __uuidof(ITransactionPhase0Factory)
  2028. #define  IID_ITransactionTransmitter __uuidof(ITransactionTransmitter)
  2029. #define  IID_ITransactionTransmitterFactory __uuidof(ITransactionTransmitterFactory)
  2030. #define  IID_ITransactionReceiver __uuidof(ITransactionReceiver)
  2031. #define  IID_ITransactionReceiverFactory __uuidof(ITransactionReceiverFactory)
  2032. #define  IID_IDtcLuConfigure __uuidof(IDtcLuConfigure)
  2033. #define  IID_IDtcLuRecovery __uuidof(IDtcLuRecovery)
  2034. #define  IID_IDtcLuRecoveryFactory __uuidof(IDtcLuRecoveryFactory)
  2035. #define  IID_IDtcLuRecoveryInitiatedByDtcTransWork   __uuidof(IDtcLuRecoveryInitiatedByDtcTransWork)
  2036. #define  IID_IDtcLuRecoveryInitiatedByDtcStatusWork  __uuidof(IDtcLuRecoveryInitiatedByDtcStatusWork)
  2037. #define  IID_IDtcLuRecoveryInitiatedByDtc __uuidof(IDtcLuRecoveryInitiatedByDtc)
  2038. #define  IID_IDtcLuRecoveryInitiatedByLuWork __uuidof(IDtcLuRecoveryInitiatedByLuWork)
  2039. #define  IID_IDtcLuRecoveryInitiatedByLu     __uuidof(IDtcLuRecoveryInitiatedByLu)
  2040. #define  IID_IDtcLuRmEnlistment     __uuidof(IDtcLuRmEnlistment)
  2041. #define  IID_IDtcLuRmEnlistmentSink __uuidof(IDtcLuRmEnlistmentSink)
  2042. #define  IID_IDtcLuRmEnlistmentFactory __uuidof(IDtcLuRmEnlistmentFactory)
  2043. #define  IID_IDtcLuSubordinateDtc     __uuidof(IDtcLuSubordinateDtc)
  2044. #define  IID_IDtcLuSubordinateDtcSink __uuidof(IDtcLuSubordinateDtcSink)
  2045. #define  IID_IDtcLuSubordinateDtcFactory __uuidof(IDtcLuSubordinateDtcFactory)
  2046. #endif
  2047. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0146_v0_0_c_ifspec;
  2048. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0146_v0_0_s_ifspec;
  2049. /* Additional Prototypes for ALL interfaces */
  2050. /* end of Additional Prototypes */
  2051. #ifdef __cplusplus
  2052. }
  2053. #endif
  2054. #endif