home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / TRANSACT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  25.9 KB  |  896 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  
  4.  
  5. /* File created by MIDL compiler version 3.01.75 */
  6. /* at Fri Nov 14 05:07:19 1997
  7.  */
  8. /* Compiler settings for transact.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  10.     error checks: none
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. #include "rpc.h"
  14. #include "rpcndr.h"
  15. #ifndef COM_NO_WINDOWS_H
  16. #include "windows.h"
  17. #include "ole2.h"
  18. #endif /*COM_NO_WINDOWS_H*/
  19.  
  20. #ifndef __transact_h__
  21. #define __transact_h__
  22.  
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif 
  26.  
  27. /* Forward Declarations */ 
  28.  
  29. #ifndef __ITransaction_FWD_DEFINED__
  30. #define __ITransaction_FWD_DEFINED__
  31. typedef interface ITransaction ITransaction;
  32. #endif     /* __ITransaction_FWD_DEFINED__ */
  33.  
  34.  
  35. #ifndef __ITransactionDispenser_FWD_DEFINED__
  36. #define __ITransactionDispenser_FWD_DEFINED__
  37. typedef interface ITransactionDispenser ITransactionDispenser;
  38. #endif     /* __ITransactionDispenser_FWD_DEFINED__ */
  39.  
  40.  
  41. #ifndef __ITransactionOptions_FWD_DEFINED__
  42. #define __ITransactionOptions_FWD_DEFINED__
  43. typedef interface ITransactionOptions ITransactionOptions;
  44. #endif     /* __ITransactionOptions_FWD_DEFINED__ */
  45.  
  46.  
  47. #ifndef __ITransactionOutcomeEvents_FWD_DEFINED__
  48. #define __ITransactionOutcomeEvents_FWD_DEFINED__
  49. typedef interface ITransactionOutcomeEvents ITransactionOutcomeEvents;
  50. #endif     /* __ITransactionOutcomeEvents_FWD_DEFINED__ */
  51.  
  52.  
  53. /* header files for imported files */
  54. #include "unknwn.h"
  55.  
  56. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  57. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  58.  
  59. /****************************************
  60.  * Generated header for interface: __MIDL_itf_transact_0000
  61.  * at Fri Nov 14 05:07:19 1997
  62.  * using MIDL 3.01.75
  63.  ****************************************/
  64. /* [local] */ 
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. #ifndef DECLSPEC_UUID
  73. #if _MSC_VER >= 1100
  74. #define DECLSPEC_UUID(x)    __declspec(uuid(x))
  75. #else
  76. #define DECLSPEC_UUID(x)
  77. #endif
  78. #endif
  79.  
  80.  
  81. extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_c_ifspec;
  82. extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_s_ifspec;
  83.  
  84. #ifndef __BasicTransactionTypes_INTERFACE_DEFINED__
  85. #define __BasicTransactionTypes_INTERFACE_DEFINED__
  86.  
  87. /****************************************
  88.  * Generated header for interface: BasicTransactionTypes
  89.  * at Fri Nov 14 05:07:19 1997
  90.  * using MIDL 3.01.75
  91.  ****************************************/
  92. /* [unique][local] */ 
  93.  
  94.  
  95. typedef struct  BOID
  96.     {
  97.     BYTE rgb[ 16 ];
  98.     }    BOID;
  99.  
  100. #define BOID_NULL (*((BOID*)(&IID_NULL)))
  101. #ifndef MAX_TRAN_DESC_DEFINED
  102. #define MAX_TRAN_DESC_DEFINED
  103. typedef 
  104. enum TX_MISC_CONSTANTS
  105.     {    MAX_TRAN_DESC    = 40
  106.     }    TX_MISC_CONSTANTS;
  107.  
  108. #endif
  109. typedef BOID XACTUOW;
  110.  
  111. typedef LONG ISOLEVEL;
  112.  
  113. typedef 
  114. enum ISOLATIONLEVEL
  115.     {    ISOLATIONLEVEL_UNSPECIFIED    = 0xffffffff,
  116.     ISOLATIONLEVEL_CHAOS    = 0x10,
  117.     ISOLATIONLEVEL_READUNCOMMITTED    = 0x100,
  118.     ISOLATIONLEVEL_BROWSE    = 0x100,
  119.     ISOLATIONLEVEL_CURSORSTABILITY    = 0x1000,
  120.     ISOLATIONLEVEL_READCOMMITTED    = 0x1000,
  121.     ISOLATIONLEVEL_REPEATABLEREAD    = 0x10000,
  122.     ISOLATIONLEVEL_SERIALIZABLE    = 0x100000,
  123.     ISOLATIONLEVEL_ISOLATED    = 0x100000
  124.     }    ISOLATIONLEVEL;
  125.  
  126. typedef struct  XACTTRANSINFO
  127.     {
  128.     XACTUOW uow;
  129.     ISOLEVEL isoLevel;
  130.     ULONG isoFlags;
  131.     DWORD grfTCSupported;
  132.     DWORD grfRMSupported;
  133.     DWORD grfTCSupportedRetaining;
  134.     DWORD grfRMSupportedRetaining;
  135.     }    XACTTRANSINFO;
  136.  
  137. typedef struct  XACTSTATS
  138.     {
  139.     ULONG cOpen;
  140.     ULONG cCommitting;
  141.     ULONG cCommitted;
  142.     ULONG cAborting;
  143.     ULONG cAborted;
  144.     ULONG cInDoubt;
  145.     ULONG cHeuristicDecision;
  146.     FILETIME timeTransactionsUp;
  147.     }    XACTSTATS;
  148.  
  149. typedef 
  150. enum ISOFLAG
  151.     {    ISOFLAG_RETAIN_COMMIT_DC    = 1,
  152.     ISOFLAG_RETAIN_COMMIT    = 2,
  153.     ISOFLAG_RETAIN_COMMIT_NO    = 3,
  154.     ISOFLAG_RETAIN_ABORT_DC    = 4,
  155.     ISOFLAG_RETAIN_ABORT    = 8,
  156.     ISOFLAG_RETAIN_ABORT_NO    = 12,
  157.     ISOFLAG_RETAIN_DONTCARE    = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC,
  158.     ISOFLAG_RETAIN_BOTH    = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,
  159.     ISOFLAG_RETAIN_NONE    = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,
  160.     ISOFLAG_OPTIMISTIC    = 16,
  161.     ISOFLAG_READONLY    = 32
  162.     }    ISOFLAG;
  163.  
  164. typedef 
  165. enum XACTTC
  166.     {    XACTTC_SYNC_PHASEONE    = 1,
  167.     XACTTC_SYNC_PHASETWO    = 2,
  168.     XACTTC_SYNC    = 2,
  169.     XACTTC_ASYNC_PHASEONE    = 4,
  170.     XACTTC_ASYNC    = 4
  171.     }    XACTTC;
  172.  
  173. typedef 
  174. enum XACTRM
  175.     {    XACTRM_OPTIMISTICLASTWINS    = 1,
  176.     XACTRM_NOREADONLYPREPARES    = 2
  177.     }    XACTRM;
  178.  
  179. typedef 
  180. enum XACTCONST
  181.     {    XACTCONST_TIMEOUTINFINITE    = 0
  182.     }    XACTCONST;
  183.  
  184. typedef 
  185. enum XACTHEURISTIC
  186.     {    XACTHEURISTIC_ABORT    = 1,
  187.     XACTHEURISTIC_COMMIT    = 2,
  188.     XACTHEURISTIC_DAMAGE    = 3,
  189.     XACTHEURISTIC_DANGER    = 4
  190.     }    XACTHEURISTIC;
  191.  
  192. typedef 
  193. enum XACTSTAT
  194.     {    XACTSTAT_NONE    = 0,
  195.     XACTSTAT_OPENNORMAL    = 0x1,
  196.     XACTSTAT_OPENREFUSED    = 0x2,
  197.     XACTSTAT_PREPARING    = 0x4,
  198.     XACTSTAT_PREPARED    = 0x8,
  199.     XACTSTAT_PREPARERETAINING    = 0x10,
  200.     XACTSTAT_PREPARERETAINED    = 0x20,
  201.     XACTSTAT_COMMITTING    = 0x40,
  202.     XACTSTAT_COMMITRETAINING    = 0x80,
  203.     XACTSTAT_ABORTING    = 0x100,
  204.     XACTSTAT_ABORTED    = 0x200,
  205.     XACTSTAT_COMMITTED    = 0x400,
  206.     XACTSTAT_HEURISTIC_ABORT    = 0x800,
  207.     XACTSTAT_HEURISTIC_COMMIT    = 0x1000,
  208.     XACTSTAT_HEURISTIC_DAMAGE    = 0x2000,
  209.     XACTSTAT_HEURISTIC_DANGER    = 0x4000,
  210.     XACTSTAT_FORCED_ABORT    = 0x8000,
  211.     XACTSTAT_FORCED_COMMIT    = 0x10000,
  212.     XACTSTAT_INDOUBT    = 0x20000,
  213.     XACTSTAT_CLOSED    = 0x40000,
  214.     XACTSTAT_OPEN    = 0x3,
  215.     XACTSTAT_NOTPREPARED    = 0x7ffc3,
  216.     XACTSTAT_ALL    = 0x7ffff
  217.     }    XACTSTAT;
  218.  
  219. typedef struct  XACTOPT
  220.     {
  221.     ULONG ulTimeout;
  222.     char szDescription[ 40 ];
  223.     }    XACTOPT;
  224.  
  225. typedef 
  226. enum XACT_E
  227.     {    XACT_E_FIRST    = 0x8004d000,
  228.     XACT_E_LAST    = 0x8004d01e,
  229.     XACT_S_FIRST    = 0x4d000,
  230.     XACT_S_LAST    = 0x4d009,
  231.     XACT_E_ALREADYOTHERSINGLEPHASE    = 0x8004d000,
  232.     XACT_E_CANTRETAIN    = 0x8004d001,
  233.     XACT_E_COMMITFAILED    = 0x8004d002,
  234.     XACT_E_COMMITPREVENTED    = 0x8004d003,
  235.     XACT_E_HEURISTICABORT    = 0x8004d004,
  236.     XACT_E_HEURISTICCOMMIT    = 0x8004d005,
  237.     XACT_E_HEURISTICDAMAGE    = 0x8004d006,
  238.     XACT_E_HEURISTICDANGER    = 0x8004d007,
  239.     XACT_E_ISOLATIONLEVEL    = 0x8004d008,
  240.     XACT_E_NOASYNC    = 0x8004d009,
  241.     XACT_E_NOENLIST    = 0x8004d00a,
  242.     XACT_E_NOISORETAIN    = 0x8004d00b,
  243.     XACT_E_NORESOURCE    = 0x8004d00c,
  244.     XACT_E_NOTCURRENT    = 0x8004d00d,
  245.     XACT_E_NOTRANSACTION    = 0x8004d00e,
  246.     XACT_E_NOTSUPPORTED    = 0x8004d00f,
  247.     XACT_E_UNKNOWNRMGRID    = 0x8004d010,
  248.     XACT_E_WRONGSTATE    = 0x8004d011,
  249.     XACT_E_WRONGUOW    = 0x8004d012,
  250.     XACT_E_XTIONEXISTS    = 0x8004d013,
  251.     XACT_E_NOIMPORTOBJECT    = 0x8004d014,
  252.     XACT_E_INVALIDCOOKIE    = 0x8004d015,
  253.     XACT_E_INDOUBT    = 0x8004d016,
  254.     XACT_E_NOTIMEOUT    = 0x8004d017,
  255.     XACT_E_ALREADYINPROGRESS    = 0x8004d018,
  256.     XACT_E_ABORTED    = 0x8004d019,
  257.     XACT_E_LOGFULL    = 0x8004d01a,
  258.     XACT_E_TMNOTAVAILABLE    = 0x8004d01b,
  259.     XACT_E_CONNECTION_DOWN    = 0x8004d01c,
  260.     XACT_E_CONNECTION_DENIED    = 0x8004d01d,
  261.     XACT_E_REENLISTTIMEOUT    = 0x8004d01e,
  262.     XACT_S_ASYNC    = 0x4d000,
  263.     XACT_S_DEFECT    = 0x4d001,
  264.     XACT_S_READONLY    = 0x4d002,
  265.     XACT_S_SOMENORETAIN    = 0x4d003,
  266.     XACT_S_OKINFORM    = 0x4d004,
  267.     XACT_S_MADECHANGESCONTENT    = 0x4d005,
  268.     XACT_S_MADECHANGESINFORM    = 0x4d006,
  269.     XACT_S_ALLNORETAIN    = 0x4d007,
  270.     XACT_S_ABORTING    = 0x4d008,
  271.     XACT_S_SINGLEPHASE    = 0x4d009
  272.     }    XACT_E;
  273.  
  274.  
  275.  
  276. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec;
  277. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec;
  278. #endif /* __BasicTransactionTypes_INTERFACE_DEFINED__ */
  279.  
  280. #ifndef __ITransaction_INTERFACE_DEFINED__
  281. #define __ITransaction_INTERFACE_DEFINED__
  282.  
  283. /****************************************
  284.  * Generated header for interface: ITransaction
  285.  * at Fri Nov 14 05:07:19 1997
  286.  * using MIDL 3.01.75
  287.  ****************************************/
  288. /* [unique][uuid][object] */ 
  289.  
  290.  
  291.  
  292. EXTERN_C const IID IID_ITransaction;
  293.  
  294. #if defined(__cplusplus) && !defined(CINTERFACE)
  295.     
  296.     interface DECLSPEC_UUID("0fb15084-af41-11ce-bd2b-204c4f4f5020")
  297.     ITransaction : public IUnknown
  298.     {
  299.     public:
  300.         virtual HRESULT STDMETHODCALLTYPE Commit( 
  301.             /* [in] */ BOOL fRetaining,
  302.             /* [in] */ DWORD grfTC,
  303.             /* [in] */ DWORD grfRM) = 0;
  304.         
  305.         virtual HRESULT STDMETHODCALLTYPE Abort( 
  306.             /* [in] */ BOID __RPC_FAR *pboidReason,
  307.             /* [in] */ BOOL fRetaining,
  308.             /* [in] */ BOOL fAsync) = 0;
  309.         
  310.         virtual HRESULT STDMETHODCALLTYPE GetTransactionInfo( 
  311.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo) = 0;
  312.         
  313.     };
  314.     
  315. #else     /* C style interface */
  316.  
  317.     typedef struct ITransactionVtbl
  318.     {
  319.         BEGIN_INTERFACE
  320.         
  321.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  322.             ITransaction __RPC_FAR * This,
  323.             /* [in] */ REFIID riid,
  324.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  325.         
  326.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  327.             ITransaction __RPC_FAR * This);
  328.         
  329.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  330.             ITransaction __RPC_FAR * This);
  331.         
  332.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  333.             ITransaction __RPC_FAR * This,
  334.             /* [in] */ BOOL fRetaining,
  335.             /* [in] */ DWORD grfTC,
  336.             /* [in] */ DWORD grfRM);
  337.         
  338.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  339.             ITransaction __RPC_FAR * This,
  340.             /* [in] */ BOID __RPC_FAR *pboidReason,
  341.             /* [in] */ BOOL fRetaining,
  342.             /* [in] */ BOOL fAsync);
  343.         
  344.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransactionInfo )( 
  345.             ITransaction __RPC_FAR * This,
  346.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo);
  347.         
  348.         END_INTERFACE
  349.     } ITransactionVtbl;
  350.  
  351.     interface ITransaction
  352.     {
  353.         CONST_VTBL struct ITransactionVtbl __RPC_FAR *lpVtbl;
  354.     };
  355.  
  356.     
  357.  
  358. #ifdef COBJMACROS
  359.  
  360.  
  361. #define ITransaction_QueryInterface(This,riid,ppvObject)    \
  362.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  363.  
  364. #define ITransaction_AddRef(This)    \
  365.     (This)->lpVtbl -> AddRef(This)
  366.  
  367. #define ITransaction_Release(This)    \
  368.     (This)->lpVtbl -> Release(This)
  369.  
  370.  
  371. #define ITransaction_Commit(This,fRetaining,grfTC,grfRM)    \
  372.     (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  373.  
  374. #define ITransaction_Abort(This,pboidReason,fRetaining,fAsync)    \
  375.     (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  376.  
  377. #define ITransaction_GetTransactionInfo(This,pinfo)    \
  378.     (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  379.  
  380. #endif /* COBJMACROS */
  381.  
  382.  
  383. #endif     /* C style interface */
  384.  
  385.  
  386.  
  387. HRESULT STDMETHODCALLTYPE ITransaction_Commit_Proxy( 
  388.     ITransaction __RPC_FAR * This,
  389.     /* [in] */ BOOL fRetaining,
  390.     /* [in] */ DWORD grfTC,
  391.     /* [in] */ DWORD grfRM);
  392.  
  393.  
  394. void __RPC_STUB ITransaction_Commit_Stub(
  395.     IRpcStubBuffer *This,
  396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  397.     PRPC_MESSAGE _pRpcMessage,
  398.     DWORD *_pdwStubPhase);
  399.  
  400.  
  401. HRESULT STDMETHODCALLTYPE ITransaction_Abort_Proxy( 
  402.     ITransaction __RPC_FAR * This,
  403.     /* [in] */ BOID __RPC_FAR *pboidReason,
  404.     /* [in] */ BOOL fRetaining,
  405.     /* [in] */ BOOL fAsync);
  406.  
  407.  
  408. void __RPC_STUB ITransaction_Abort_Stub(
  409.     IRpcStubBuffer *This,
  410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  411.     PRPC_MESSAGE _pRpcMessage,
  412.     DWORD *_pdwStubPhase);
  413.  
  414.  
  415. HRESULT STDMETHODCALLTYPE ITransaction_GetTransactionInfo_Proxy( 
  416.     ITransaction __RPC_FAR * This,
  417.     /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo);
  418.  
  419.  
  420. void __RPC_STUB ITransaction_GetTransactionInfo_Stub(
  421.     IRpcStubBuffer *This,
  422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  423.     PRPC_MESSAGE _pRpcMessage,
  424.     DWORD *_pdwStubPhase);
  425.  
  426.  
  427.  
  428. #endif     /* __ITransaction_INTERFACE_DEFINED__ */
  429.  
  430.  
  431. #ifndef __ITransactionDispenser_INTERFACE_DEFINED__
  432. #define __ITransactionDispenser_INTERFACE_DEFINED__
  433.  
  434. /****************************************
  435.  * Generated header for interface: ITransactionDispenser
  436.  * at Fri Nov 14 05:07:19 1997
  437.  * using MIDL 3.01.75
  438.  ****************************************/
  439. /* [unique][uuid][object] */ 
  440.  
  441.  
  442.  
  443. EXTERN_C const IID IID_ITransactionDispenser;
  444.  
  445. #if defined(__cplusplus) && !defined(CINTERFACE)
  446.     
  447.     interface DECLSPEC_UUID("3A6AD9E1-23B9-11cf-AD60-00AA00A74CCD")
  448.     ITransactionDispenser : public IUnknown
  449.     {
  450.     public:
  451.         virtual HRESULT STDMETHODCALLTYPE GetOptionsObject( 
  452.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  453.         
  454.         virtual HRESULT STDMETHODCALLTYPE BeginTransaction( 
  455.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  456.             /* [in] */ ISOLEVEL isoLevel,
  457.             /* [in] */ ULONG isoFlags,
  458.             /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  459.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction) = 0;
  460.         
  461.     };
  462.     
  463. #else     /* C style interface */
  464.  
  465.     typedef struct ITransactionDispenserVtbl
  466.     {
  467.         BEGIN_INTERFACE
  468.         
  469.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  470.             ITransactionDispenser __RPC_FAR * This,
  471.             /* [in] */ REFIID riid,
  472.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  473.         
  474.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  475.             ITransactionDispenser __RPC_FAR * This);
  476.         
  477.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  478.             ITransactionDispenser __RPC_FAR * This);
  479.         
  480.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptionsObject )( 
  481.             ITransactionDispenser __RPC_FAR * This,
  482.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  483.         
  484.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginTransaction )( 
  485.             ITransactionDispenser __RPC_FAR * This,
  486.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  487.             /* [in] */ ISOLEVEL isoLevel,
  488.             /* [in] */ ULONG isoFlags,
  489.             /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  490.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction);
  491.         
  492.         END_INTERFACE
  493.     } ITransactionDispenserVtbl;
  494.  
  495.     interface ITransactionDispenser
  496.     {
  497.         CONST_VTBL struct ITransactionDispenserVtbl __RPC_FAR *lpVtbl;
  498.     };
  499.  
  500.     
  501.  
  502. #ifdef COBJMACROS
  503.  
  504.  
  505. #define ITransactionDispenser_QueryInterface(This,riid,ppvObject)    \
  506.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  507.  
  508. #define ITransactionDispenser_AddRef(This)    \
  509.     (This)->lpVtbl -> AddRef(This)
  510.  
  511. #define ITransactionDispenser_Release(This)    \
  512.     (This)->lpVtbl -> Release(This)
  513.  
  514.  
  515. #define ITransactionDispenser_GetOptionsObject(This,ppOptions)    \
  516.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  517.  
  518. #define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction)    \
  519.     (This)->lpVtbl -> BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction)
  520.  
  521. #endif /* COBJMACROS */
  522.  
  523.  
  524. #endif     /* C style interface */
  525.  
  526.  
  527.  
  528. HRESULT STDMETHODCALLTYPE ITransactionDispenser_GetOptionsObject_Proxy( 
  529.     ITransactionDispenser __RPC_FAR * This,
  530.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  531.  
  532.  
  533. void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub(
  534.     IRpcStubBuffer *This,
  535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  536.     PRPC_MESSAGE _pRpcMessage,
  537.     DWORD *_pdwStubPhase);
  538.  
  539.  
  540. HRESULT STDMETHODCALLTYPE ITransactionDispenser_BeginTransaction_Proxy( 
  541.     ITransactionDispenser __RPC_FAR * This,
  542.     /* [in] */ IUnknown __RPC_FAR *punkOuter,
  543.     /* [in] */ ISOLEVEL isoLevel,
  544.     /* [in] */ ULONG isoFlags,
  545.     /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  546.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction);
  547.  
  548.  
  549. void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub(
  550.     IRpcStubBuffer *This,
  551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  552.     PRPC_MESSAGE _pRpcMessage,
  553.     DWORD *_pdwStubPhase);
  554.  
  555.  
  556.  
  557. #endif     /* __ITransactionDispenser_INTERFACE_DEFINED__ */
  558.  
  559.  
  560. #ifndef __ITransactionOptions_INTERFACE_DEFINED__
  561. #define __ITransactionOptions_INTERFACE_DEFINED__
  562.  
  563. /****************************************
  564.  * Generated header for interface: ITransactionOptions
  565.  * at Fri Nov 14 05:07:19 1997
  566.  * using MIDL 3.01.75
  567.  ****************************************/
  568. /* [unique][uuid][object] */ 
  569.  
  570.  
  571.  
  572. EXTERN_C const IID IID_ITransactionOptions;
  573.  
  574. #if defined(__cplusplus) && !defined(CINTERFACE)
  575.     
  576.     interface DECLSPEC_UUID("3A6AD9E0-23B9-11cf-AD60-00AA00A74CCD")
  577.     ITransactionOptions : public IUnknown
  578.     {
  579.     public:
  580.         virtual HRESULT STDMETHODCALLTYPE SetOptions( 
  581.             /* [in] */ XACTOPT __RPC_FAR *pOptions) = 0;
  582.         
  583.         virtual HRESULT STDMETHODCALLTYPE GetOptions( 
  584.             /* [out][in] */ XACTOPT __RPC_FAR *pOptions) = 0;
  585.         
  586.     };
  587.     
  588. #else     /* C style interface */
  589.  
  590.     typedef struct ITransactionOptionsVtbl
  591.     {
  592.         BEGIN_INTERFACE
  593.         
  594.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  595.             ITransactionOptions __RPC_FAR * This,
  596.             /* [in] */ REFIID riid,
  597.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  598.         
  599.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  600.             ITransactionOptions __RPC_FAR * This);
  601.         
  602.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  603.             ITransactionOptions __RPC_FAR * This);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOptions )( 
  606.             ITransactionOptions __RPC_FAR * This,
  607.             /* [in] */ XACTOPT __RPC_FAR *pOptions);
  608.         
  609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptions )( 
  610.             ITransactionOptions __RPC_FAR * This,
  611.             /* [out][in] */ XACTOPT __RPC_FAR *pOptions);
  612.         
  613.         END_INTERFACE
  614.     } ITransactionOptionsVtbl;
  615.  
  616.     interface ITransactionOptions
  617.     {
  618.         CONST_VTBL struct ITransactionOptionsVtbl __RPC_FAR *lpVtbl;
  619.     };
  620.  
  621.     
  622.  
  623. #ifdef COBJMACROS
  624.  
  625.  
  626. #define ITransactionOptions_QueryInterface(This,riid,ppvObject)    \
  627.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  628.  
  629. #define ITransactionOptions_AddRef(This)    \
  630.     (This)->lpVtbl -> AddRef(This)
  631.  
  632. #define ITransactionOptions_Release(This)    \
  633.     (This)->lpVtbl -> Release(This)
  634.  
  635.  
  636. #define ITransactionOptions_SetOptions(This,pOptions)    \
  637.     (This)->lpVtbl -> SetOptions(This,pOptions)
  638.  
  639. #define ITransactionOptions_GetOptions(This,pOptions)    \
  640.     (This)->lpVtbl -> GetOptions(This,pOptions)
  641.  
  642. #endif /* COBJMACROS */
  643.  
  644.  
  645. #endif     /* C style interface */
  646.  
  647.  
  648.  
  649. HRESULT STDMETHODCALLTYPE ITransactionOptions_SetOptions_Proxy( 
  650.     ITransactionOptions __RPC_FAR * This,
  651.     /* [in] */ XACTOPT __RPC_FAR *pOptions);
  652.  
  653.  
  654. void __RPC_STUB ITransactionOptions_SetOptions_Stub(
  655.     IRpcStubBuffer *This,
  656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  657.     PRPC_MESSAGE _pRpcMessage,
  658.     DWORD *_pdwStubPhase);
  659.  
  660.  
  661. HRESULT STDMETHODCALLTYPE ITransactionOptions_GetOptions_Proxy( 
  662.     ITransactionOptions __RPC_FAR * This,
  663.     /* [out][in] */ XACTOPT __RPC_FAR *pOptions);
  664.  
  665.  
  666. void __RPC_STUB ITransactionOptions_GetOptions_Stub(
  667.     IRpcStubBuffer *This,
  668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  669.     PRPC_MESSAGE _pRpcMessage,
  670.     DWORD *_pdwStubPhase);
  671.  
  672.  
  673.  
  674. #endif     /* __ITransactionOptions_INTERFACE_DEFINED__ */
  675.  
  676.  
  677. #ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  678. #define __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  679.  
  680. /****************************************
  681.  * Generated header for interface: ITransactionOutcomeEvents
  682.  * at Fri Nov 14 05:07:19 1997
  683.  * using MIDL 3.01.75
  684.  ****************************************/
  685. /* [unique][uuid][object] */ 
  686.  
  687.  
  688.  
  689. EXTERN_C const IID IID_ITransactionOutcomeEvents;
  690.  
  691. #if defined(__cplusplus) && !defined(CINTERFACE)
  692.     
  693.     interface DECLSPEC_UUID("3A6AD9E2-23B9-11cf-AD60-00AA00A74CCD")
  694.     ITransactionOutcomeEvents : public IUnknown
  695.     {
  696.     public:
  697.         virtual HRESULT STDMETHODCALLTYPE Committed( 
  698.             /* [in] */ BOOL fRetaining,
  699.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  700.             /* [in] */ HRESULT hr) = 0;
  701.         
  702.         virtual HRESULT STDMETHODCALLTYPE Aborted( 
  703.             /* [in] */ BOID __RPC_FAR *pboidReason,
  704.             /* [in] */ BOOL fRetaining,
  705.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  706.             /* [in] */ HRESULT hr) = 0;
  707.         
  708.         virtual HRESULT STDMETHODCALLTYPE HeuristicDecision( 
  709.             /* [in] */ DWORD dwDecision,
  710.             /* [in] */ BOID __RPC_FAR *pboidReason,
  711.             /* [in] */ HRESULT hr) = 0;
  712.         
  713.         virtual HRESULT STDMETHODCALLTYPE Indoubt( void) = 0;
  714.         
  715.     };
  716.     
  717. #else     /* C style interface */
  718.  
  719.     typedef struct ITransactionOutcomeEventsVtbl
  720.     {
  721.         BEGIN_INTERFACE
  722.         
  723.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  724.             ITransactionOutcomeEvents __RPC_FAR * This,
  725.             /* [in] */ REFIID riid,
  726.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  727.         
  728.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  729.             ITransactionOutcomeEvents __RPC_FAR * This);
  730.         
  731.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  732.             ITransactionOutcomeEvents __RPC_FAR * This);
  733.         
  734.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Committed )( 
  735.             ITransactionOutcomeEvents __RPC_FAR * This,
  736.             /* [in] */ BOOL fRetaining,
  737.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  738.             /* [in] */ HRESULT hr);
  739.         
  740.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Aborted )( 
  741.             ITransactionOutcomeEvents __RPC_FAR * This,
  742.             /* [in] */ BOID __RPC_FAR *pboidReason,
  743.             /* [in] */ BOOL fRetaining,
  744.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  745.             /* [in] */ HRESULT hr);
  746.         
  747.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HeuristicDecision )( 
  748.             ITransactionOutcomeEvents __RPC_FAR * This,
  749.             /* [in] */ DWORD dwDecision,
  750.             /* [in] */ BOID __RPC_FAR *pboidReason,
  751.             /* [in] */ HRESULT hr);
  752.         
  753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Indoubt )( 
  754.             ITransactionOutcomeEvents __RPC_FAR * This);
  755.         
  756.         END_INTERFACE
  757.     } ITransactionOutcomeEventsVtbl;
  758.  
  759.     interface ITransactionOutcomeEvents
  760.     {
  761.         CONST_VTBL struct ITransactionOutcomeEventsVtbl __RPC_FAR *lpVtbl;
  762.     };
  763.  
  764.     
  765.  
  766. #ifdef COBJMACROS
  767.  
  768.  
  769. #define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject)    \
  770.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  771.  
  772. #define ITransactionOutcomeEvents_AddRef(This)    \
  773.     (This)->lpVtbl -> AddRef(This)
  774.  
  775. #define ITransactionOutcomeEvents_Release(This)    \
  776.     (This)->lpVtbl -> Release(This)
  777.  
  778.  
  779. #define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr)    \
  780.     (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  781.  
  782. #define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr)    \
  783.     (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  784.  
  785. #define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr)    \
  786.     (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  787.  
  788. #define ITransactionOutcomeEvents_Indoubt(This)    \
  789.     (This)->lpVtbl -> Indoubt(This)
  790.  
  791. #endif /* COBJMACROS */
  792.  
  793.  
  794. #endif     /* C style interface */
  795.  
  796.  
  797.  
  798. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Committed_Proxy( 
  799.     ITransactionOutcomeEvents __RPC_FAR * This,
  800.     /* [in] */ BOOL fRetaining,
  801.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  802.     /* [in] */ HRESULT hr);
  803.  
  804.  
  805. void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub(
  806.     IRpcStubBuffer *This,
  807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  808.     PRPC_MESSAGE _pRpcMessage,
  809.     DWORD *_pdwStubPhase);
  810.  
  811.  
  812. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Aborted_Proxy( 
  813.     ITransactionOutcomeEvents __RPC_FAR * This,
  814.     /* [in] */ BOID __RPC_FAR *pboidReason,
  815.     /* [in] */ BOOL fRetaining,
  816.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  817.     /* [in] */ HRESULT hr);
  818.  
  819.  
  820. void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub(
  821.     IRpcStubBuffer *This,
  822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  823.     PRPC_MESSAGE _pRpcMessage,
  824.     DWORD *_pdwStubPhase);
  825.  
  826.  
  827. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_HeuristicDecision_Proxy( 
  828.     ITransactionOutcomeEvents __RPC_FAR * This,
  829.     /* [in] */ DWORD dwDecision,
  830.     /* [in] */ BOID __RPC_FAR *pboidReason,
  831.     /* [in] */ HRESULT hr);
  832.  
  833.  
  834. void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub(
  835.     IRpcStubBuffer *This,
  836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  837.     PRPC_MESSAGE _pRpcMessage,
  838.     DWORD *_pdwStubPhase);
  839.  
  840.  
  841. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Indoubt_Proxy( 
  842.     ITransactionOutcomeEvents __RPC_FAR * This);
  843.  
  844.  
  845. void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub(
  846.     IRpcStubBuffer *This,
  847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  848.     PRPC_MESSAGE _pRpcMessage,
  849.     DWORD *_pdwStubPhase);
  850.  
  851.  
  852.  
  853. #endif     /* __ITransactionOutcomeEvents_INTERFACE_DEFINED__ */
  854.  
  855.  
  856. /****************************************
  857.  * Generated header for interface: __MIDL_itf_transact_0010
  858.  * at Fri Nov 14 05:07:19 1997
  859.  * using MIDL 3.01.75
  860.  ****************************************/
  861. /* [local] */ 
  862.  
  863.  
  864.  
  865.  
  866. #if _MSC_VER < 1100 || !defined(__cplusplus)
  867.  
  868. DEFINE_GUID(IID_ITransaction,                0x0fb15084, 0xaf41, 0x11ce, 0xbd, 0x2b, 0x20, 0x4c, 0x4f, 0x4f, 0x50, 0x20);
  869. DEFINE_GUID(IID_ITransactionDispenser,        0x3A6AD9E1, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  870. DEFINE_GUID(IID_ITransactionOptions,            0x3A6AD9E0, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  871. DEFINE_GUID(IID_ITransactionOutcomeEvents,    0x3A6AD9E2, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  872.  
  873. #else
  874.  
  875. #define  IID_ITransaction                    __uuidof(ITransaction)
  876. #define  IID_ITransactionDispenser           __uuidof(ITransactionDispenser)
  877. #define  IID_ITransactionOptions             __uuidof(ITransactionOptions)
  878. #define  IID_ITransactionOutcomeEvents       __uuidof(ITransactionOutcomeEvents)
  879.  
  880. #endif
  881.  
  882.  
  883. extern RPC_IF_HANDLE __MIDL_itf_transact_0010_v0_0_c_ifspec;
  884. extern RPC_IF_HANDLE __MIDL_itf_transact_0010_v0_0_s_ifspec;
  885.  
  886. /* Additional Prototypes for ALL interfaces */
  887.  
  888. /* end of Additional Prototypes */
  889.  
  890. #ifdef __cplusplus
  891. }
  892. #endif
  893.  
  894. #endif
  895. #pragma option pop /*P_O_Pop*/
  896.