home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / msmqocm.cab / transact.h < prev    next >
C/C++ Source or Header  |  1997-10-06  |  34KB  |  1,109 lines

  1. //.-------------------------------------------------------------------------
  2. //.
  3. //.  Microsoft Windows
  4. //.  Copyright (C) Microsoft Corporation, 1995.
  5. //.
  6. //.  File: transact.idl
  7. //.
  8. //.  Contents: The basic transaction interfaces and types.
  9. //.
  10. //.--------------------------------------------------------------------------
  11.  
  12.  
  13. /* File created by MIDL compiler version 2.00.0102 */
  14. /* at Fri May 10 01:04:33 1996
  15.  */
  16. //@@MIDL_FILE_HEADING(  )
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef COM_NO_WINDOWS_H
  20. #include "windows.h"
  21. #include "ole2.h"
  22. #endif /*COM_NO_WINDOWS_H*/
  23.  
  24. #ifndef __transact_h__
  25. #define __transact_h__
  26.  
  27. #ifdef __cplusplus
  28. extern "C"{
  29. #endif 
  30.  
  31. /* Forward Declarations */ 
  32.  
  33. #ifndef __ITransaction_FWD_DEFINED__
  34. #define __ITransaction_FWD_DEFINED__
  35. typedef interface ITransaction ITransaction;
  36. #endif     /* __ITransaction_FWD_DEFINED__ */
  37.  
  38.  
  39. #ifndef __ITransactionDispenser_FWD_DEFINED__
  40. #define __ITransactionDispenser_FWD_DEFINED__
  41. typedef interface ITransactionDispenser ITransactionDispenser;
  42. #endif     /* __ITransactionDispenser_FWD_DEFINED__ */
  43.  
  44.  
  45. #ifndef __ITransactionOptions_FWD_DEFINED__
  46. #define __ITransactionOptions_FWD_DEFINED__
  47. typedef interface ITransactionOptions ITransactionOptions;
  48. #endif     /* __ITransactionOptions_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __ITransactionOutcomeEvents_FWD_DEFINED__
  52. #define __ITransactionOutcomeEvents_FWD_DEFINED__
  53. typedef interface ITransactionOutcomeEvents ITransactionOutcomeEvents;
  54. #endif     /* __ITransactionOutcomeEvents_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __ITransactionCompletionEvents_FWD_DEFINED__
  58. #define __ITransactionCompletionEvents_FWD_DEFINED__
  59. typedef interface ITransactionCompletionEvents ITransactionCompletionEvents;
  60. #endif     /* __ITransactionCompletionEvents_FWD_DEFINED__ */
  61.  
  62.  
  63. /* header files for imported files */
  64.  
  65. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  66. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  67.  
  68. /****************************************
  69.  * Generated header for interface: __MIDL__intf_0000
  70.  * at Fri May 10 01:04:33 1996
  71.  * using MIDL 2.00.0102
  72.  ****************************************/
  73. /* [local] */ 
  74.  
  75.  
  76.             /* size is 0 */
  77.  
  78.             /* size is 0 */
  79.  
  80.             /* size is 0 */
  81.  
  82.             /* size is 0 */
  83.  
  84.             /* size is 0 */
  85.  
  86.  
  87.  
  88. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  89. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  90.  
  91. #ifndef __BasicTransactionTypes_INTERFACE_DEFINED__
  92. #define __BasicTransactionTypes_INTERFACE_DEFINED__
  93.  
  94. /****************************************
  95.  * Generated header for interface: BasicTransactionTypes
  96.  * at Fri May 10 01:04:33 1996
  97.  * using MIDL 2.00.0102
  98.  ****************************************/
  99. /* [unique][local] */ 
  100.  
  101.  
  102.             /* size is 16 */
  103. typedef struct  BOID
  104.     {
  105.     BYTE rgb[ 16 ];
  106.     }    BOID;
  107.  
  108. #define BOID_NULL (*((BOID*)(&IID_NULL)))
  109.  
  110. #define MAX_TRAN_DESC 40        // used by XACTOPT via midl - see transact.idl 
  111.             /* size is 16 */
  112. typedef BOID XACTUOW;
  113.  
  114.             /* size is 4 */
  115. typedef LONG ISOLEVEL;
  116.  
  117. #if defined(_WIN32)
  118.             /* size is 2 */
  119. typedef 
  120. enum ISOLATIONLEVEL
  121.     {    ISOLATIONLEVEL_UNSPECIFIED    = 0xffffffff,
  122.     ISOLATIONLEVEL_CHAOS    = 0x10,
  123.     ISOLATIONLEVEL_READUNCOMMITTED    = 0x100,
  124.     ISOLATIONLEVEL_BROWSE    = 0x100,
  125.     ISOLATIONLEVEL_CURSORSTABILITY    = 0x1000,
  126.     ISOLATIONLEVEL_READCOMMITTED    = 0x1000,
  127.     ISOLATIONLEVEL_REPEATABLEREAD    = 0x10000,
  128.     ISOLATIONLEVEL_SERIALIZABLE    = 0x100000,
  129.     ISOLATIONLEVEL_ISOLATED    = 0x100000
  130.     }    ISOLATIONLEVEL;
  131.  
  132. #else
  133. #define ISOLATIONLEVEL_UNSPECIFIED      0xFFFFFFFF
  134. #define ISOLATIONLEVEL_CHAOS            0x00000010
  135. #define ISOLATIONLEVEL_READUNCOMMITTED  0x00000100
  136. #define ISOLATIONLEVEL_BROWSE           0x00000100
  137. #define ISOLATIONLEVEL_CURSORSTABILITY  0x00001000
  138. #define ISOLATIONLEVEL_READCOMMITTED    0x00001000
  139. #define ISOLATIONLEVEL_REPEATABLEREAD   0x00010000
  140. #define ISOLATIONLEVEL_SERIALIZABLE     0x00100000
  141. #define ISOLATIONLEVEL_ISOLATED         0x00100000
  142. #endif
  143.             /* size is 40 */
  144. typedef struct  XACTTRANSINFO
  145.     {
  146.     XACTUOW uow;
  147.     ISOLEVEL isoLevel;
  148.     ULONG isoFlags;
  149.     DWORD grfTCSupported;
  150.     DWORD grfRMSupported;
  151.     DWORD grfTCSupportedRetaining;
  152.     DWORD grfRMSupportedRetaining;
  153.     }    XACTTRANSINFO;
  154.  
  155.             /* size is 36 */
  156. typedef struct  XACTSTATS
  157.     {
  158.     ULONG cOpen;
  159.     ULONG cCommitting;
  160.     ULONG cCommitted;
  161.     ULONG cAborting;
  162.     ULONG cAborted;
  163.     ULONG cInDoubt;
  164.     ULONG cHeuristicDecision;
  165.     FILETIME timeTransactionsUp;
  166.     }    XACTSTATS;
  167.  
  168.             /* size is 2 */
  169. typedef 
  170. enum ISOFLAG
  171.     {    ISOFLAG_RETAIN_COMMIT_DC    = 1,
  172.     ISOFLAG_RETAIN_COMMIT    = 2,
  173.     ISOFLAG_RETAIN_COMMIT_NO    = 3,
  174.     ISOFLAG_RETAIN_ABORT_DC    = 4,
  175.     ISOFLAG_RETAIN_ABORT    = 8,
  176.     ISOFLAG_RETAIN_ABORT_NO    = 12,
  177.     ISOFLAG_RETAIN_DONTCARE    = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC,
  178.     ISOFLAG_RETAIN_BOTH    = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,
  179.     ISOFLAG_RETAIN_NONE    = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,
  180.     ISOFLAG_OPTIMISTIC    = 16,
  181.     ISOFLAG_READONLY    = 32
  182.     }    ISOFLAG;
  183.  
  184.             /* size is 2 */
  185. typedef 
  186. enum XACTTC
  187.     {    XACTTC_SYNC_PHASEONE    = 1,
  188.     XACTTC_SYNC_PHASETWO    = 2,
  189.     XACTTC_SYNC    = 2,
  190.     XACTTC_ASYNC_PHASEONE    = 4,
  191.     XACTTC_ASYNC    = 4
  192.     }    XACTTC;
  193.  
  194.             /* size is 2 */
  195. typedef 
  196. enum XACTRM
  197.     {    XACTRM_OPTIMISTICLASTWINS    = 1,
  198.     XACTRM_NOREADONLYPREPARES    = 2
  199.     }    XACTRM;
  200.  
  201.             /* size is 2 */
  202. typedef 
  203. enum XACTCONST
  204.     {    XACTCONST_TIMEOUTINFINITE    = 0
  205.     }    XACTCONST;
  206.  
  207.             /* size is 2 */
  208. typedef 
  209. enum XACTHEURISTIC
  210.     {    XACTHEURISTIC_ABORT    = 1,
  211.     XACTHEURISTIC_COMMIT    = 2,
  212.     XACTHEURISTIC_DAMAGE    = 3,
  213.     XACTHEURISTIC_DANGER    = 4
  214.     }    XACTHEURISTIC;
  215.  
  216. #if defined(_WIN32)
  217.             /* size is 2 */
  218. typedef 
  219. enum XACTSTAT
  220.     {    XACTSTAT_NONE    = 0,
  221.     XACTSTAT_OPENNORMAL    = 0x1,
  222.     XACTSTAT_OPENREFUSED    = 0x2,
  223.     XACTSTAT_PREPARING    = 0x4,
  224.     XACTSTAT_PREPARED    = 0x8,
  225.     XACTSTAT_PREPARERETAINING    = 0x10,
  226.     XACTSTAT_PREPARERETAINED    = 0x20,
  227.     XACTSTAT_COMMITTING    = 0x40,
  228.     XACTSTAT_COMMITRETAINING    = 0x80,
  229.     XACTSTAT_ABORTING    = 0x100,
  230.     XACTSTAT_ABORTED    = 0x200,
  231.     XACTSTAT_COMMITTED    = 0x400,
  232.     XACTSTAT_HEURISTIC_ABORT    = 0x800,
  233.     XACTSTAT_HEURISTIC_COMMIT    = 0x1000,
  234.     XACTSTAT_HEURISTIC_DAMAGE    = 0x2000,
  235.     XACTSTAT_HEURISTIC_DANGER    = 0x4000,
  236.     XACTSTAT_FORCED_ABORT    = 0x8000,
  237.     XACTSTAT_FORCED_COMMIT    = 0x10000,
  238.     XACTSTAT_INDOUBT    = 0x20000,
  239.     XACTSTAT_CLOSED    = 0x40000,
  240.     XACTSTAT_OPEN    = 0x3,
  241.     XACTSTAT_NOTPREPARED    = 0x7ffc3,
  242.     XACTSTAT_ALL    = 0x7ffff
  243.     }    XACTSTAT;
  244.  
  245. #else
  246. #define XACTSTAT_NONE               0x00000000
  247. #define XACTSTAT_OPENNORMAL         0x00000001
  248. #define XACTSTAT_OPENREFUSED        0x00000002
  249. #define XACTSTAT_PREPARING          0x00000004
  250. #define XACTSTAT_PREPARED           0x00000008
  251. #define XACTSTAT_PREPARERETAINING   0x00000010
  252. #define XACTSTAT_PREPARERETAINED    0x00000020
  253. #define XACTSTAT_COMMITTING         0x00000040
  254. #define XACTSTAT_COMMITRETAINING    0x00000080
  255. #define XACTSTAT_ABORTING           0x00000100
  256. #define XACTSTAT_ABORTED            0x00000200
  257. #define XACTSTAT_COMMITTED          0x00000400
  258. #define XACTSTAT_HEURISTIC_ABORT    0x00000800
  259. #define XACTSTAT_HEURISTIC_COMMIT   0x00001000
  260. #define XACTSTAT_HEURISTIC_DAMAGE   0x00002000
  261. #define XACTSTAT_HEURISTIC_DANGER   0x00004000
  262. #define XACTSTAT_FORCED_ABORT       0x00008000
  263. #define XACTSTAT_FORCED_COMMIT      0x00010000
  264. #define XACTSTAT_INDOUBT            0x00020000
  265. #define XACTSTAT_CLOSED             0x00040000
  266. #define XACTSTAT_OPEN               0x00000003
  267. #define XACTSTAT_NOTPREPARED        0x0007FFC3
  268. #define XACTSTAT_ALL                0x0007FFFF
  269. #endif
  270.             /* size is 44 */
  271. typedef struct  XACTOPT
  272.     {
  273.     ULONG ulTimeout;
  274.     unsigned char szDescription[ 40 ];
  275.     }    XACTOPT;
  276.  
  277.  
  278.  
  279. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec;
  280. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec;
  281. #endif /* __BasicTransactionTypes_INTERFACE_DEFINED__ */
  282.  
  283. #ifndef __ITransaction_INTERFACE_DEFINED__
  284. #define __ITransaction_INTERFACE_DEFINED__
  285.  
  286. /****************************************
  287.  * Generated header for interface: ITransaction
  288.  * at Fri May 10 01:04:33 1996
  289.  * using MIDL 2.00.0102
  290.  ****************************************/
  291. /* [unique][uuid][object] */ 
  292.  
  293.  
  294.  
  295. EXTERN_C const IID IID_ITransaction;
  296.  
  297. #if defined(__cplusplus) && !defined(CINTERFACE)
  298.     
  299.     interface ITransaction : public IUnknown
  300.     {
  301.     public:
  302.         virtual HRESULT __stdcall Commit( 
  303.             /* [in] */ BOOL fRetaining,
  304.             /* [in] */ DWORD grfTC,
  305.             /* [in] */ DWORD grfRM) = 0;
  306.         
  307.         virtual HRESULT __stdcall Abort( 
  308.             /* [in] */ BOID __RPC_FAR *pboidReason,
  309.             /* [in] */ BOOL fRetaining,
  310.             /* [in] */ BOOL fAsync) = 0;
  311.         
  312.         virtual HRESULT __stdcall GetTransactionInfo( 
  313.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo) = 0;
  314.         
  315.     };
  316.     
  317. #else     /* C style interface */
  318.  
  319.     typedef struct ITransactionVtbl
  320.     {
  321.         
  322.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  323.             ITransaction __RPC_FAR * This,
  324.             /* [in] */ REFIID riid,
  325.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  326.         
  327.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  328.             ITransaction __RPC_FAR * This);
  329.         
  330.         ULONG ( __stdcall __RPC_FAR *Release )( 
  331.             ITransaction __RPC_FAR * This);
  332.         
  333.         HRESULT ( __stdcall __RPC_FAR *Commit )( 
  334.             ITransaction __RPC_FAR * This,
  335.             /* [in] */ BOOL fRetaining,
  336.             /* [in] */ DWORD grfTC,
  337.             /* [in] */ DWORD grfRM);
  338.         
  339.         HRESULT ( __stdcall __RPC_FAR *Abort )( 
  340.             ITransaction __RPC_FAR * This,
  341.             /* [in] */ BOID __RPC_FAR *pboidReason,
  342.             /* [in] */ BOOL fRetaining,
  343.             /* [in] */ BOOL fAsync);
  344.         
  345.         HRESULT ( __stdcall __RPC_FAR *GetTransactionInfo )( 
  346.             ITransaction __RPC_FAR * This,
  347.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo);
  348.         
  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 __stdcall 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 __stdcall 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 __stdcall 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 May 10 01:04:33 1996
  437.  * using MIDL 2.00.0102
  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 ITransactionDispenser : public IUnknown
  448.     {
  449.     public:
  450.         virtual HRESULT __stdcall GetOptionsObject( 
  451.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  452.         
  453.         virtual HRESULT __stdcall BeginTransaction( 
  454.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  455.             /* [in] */ ISOLEVEL isoLevel,
  456.             /* [in] */ ULONG isoFlags,
  457.             /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  458.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction) = 0;
  459.         
  460.     };
  461.     
  462. #else     /* C style interface */
  463.  
  464.     typedef struct ITransactionDispenserVtbl
  465.     {
  466.         
  467.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  468.             ITransactionDispenser __RPC_FAR * This,
  469.             /* [in] */ REFIID riid,
  470.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  471.         
  472.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  473.             ITransactionDispenser __RPC_FAR * This);
  474.         
  475.         ULONG ( __stdcall __RPC_FAR *Release )( 
  476.             ITransactionDispenser __RPC_FAR * This);
  477.         
  478.         HRESULT ( __stdcall __RPC_FAR *GetOptionsObject )( 
  479.             ITransactionDispenser __RPC_FAR * This,
  480.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  481.         
  482.         HRESULT ( __stdcall __RPC_FAR *BeginTransaction )( 
  483.             ITransactionDispenser __RPC_FAR * This,
  484.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  485.             /* [in] */ ISOLEVEL isoLevel,
  486.             /* [in] */ ULONG isoFlags,
  487.             /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  488.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction);
  489.         
  490.     } ITransactionDispenserVtbl;
  491.  
  492.     interface ITransactionDispenser
  493.     {
  494.         CONST_VTBL struct ITransactionDispenserVtbl __RPC_FAR *lpVtbl;
  495.     };
  496.  
  497.     
  498.  
  499. #ifdef COBJMACROS
  500.  
  501.  
  502. #define ITransactionDispenser_QueryInterface(This,riid,ppvObject)    \
  503.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  504.  
  505. #define ITransactionDispenser_AddRef(This)    \
  506.     (This)->lpVtbl -> AddRef(This)
  507.  
  508. #define ITransactionDispenser_Release(This)    \
  509.     (This)->lpVtbl -> Release(This)
  510.  
  511.  
  512. #define ITransactionDispenser_GetOptionsObject(This,ppOptions)    \
  513.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  514.  
  515. #define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction)    \
  516.     (This)->lpVtbl -> BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction)
  517.  
  518. #endif /* COBJMACROS */
  519.  
  520.  
  521. #endif     /* C style interface */
  522.  
  523.  
  524.  
  525. HRESULT __stdcall ITransactionDispenser_GetOptionsObject_Proxy( 
  526.     ITransactionDispenser __RPC_FAR * This,
  527.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  528.  
  529.  
  530. void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub(
  531.     IRpcStubBuffer *This,
  532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  533.     PRPC_MESSAGE _pRpcMessage,
  534.     DWORD *_pdwStubPhase);
  535.  
  536.  
  537. HRESULT __stdcall ITransactionDispenser_BeginTransaction_Proxy( 
  538.     ITransactionDispenser __RPC_FAR * This,
  539.     /* [in] */ IUnknown __RPC_FAR *punkOuter,
  540.     /* [in] */ ISOLEVEL isoLevel,
  541.     /* [in] */ ULONG isoFlags,
  542.     /* [in] */ ITransactionOptions __RPC_FAR *pOptions,
  543.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction);
  544.  
  545.  
  546. void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub(
  547.     IRpcStubBuffer *This,
  548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  549.     PRPC_MESSAGE _pRpcMessage,
  550.     DWORD *_pdwStubPhase);
  551.  
  552.  
  553.  
  554. #endif     /* __ITransactionDispenser_INTERFACE_DEFINED__ */
  555.  
  556.  
  557. #ifndef __ITransactionOptions_INTERFACE_DEFINED__
  558. #define __ITransactionOptions_INTERFACE_DEFINED__
  559.  
  560. /****************************************
  561.  * Generated header for interface: ITransactionOptions
  562.  * at Fri May 10 01:04:33 1996
  563.  * using MIDL 2.00.0102
  564.  ****************************************/
  565. /* [unique][uuid][object] */ 
  566.  
  567.  
  568.  
  569. EXTERN_C const IID IID_ITransactionOptions;
  570.  
  571. #if defined(__cplusplus) && !defined(CINTERFACE)
  572.     
  573.     interface ITransactionOptions : public IUnknown
  574.     {
  575.     public:
  576.         virtual HRESULT __stdcall SetOptions( 
  577.             /* [in] */ XACTOPT __RPC_FAR *pOptions) = 0;
  578.         
  579.         virtual HRESULT __stdcall GetOptions( 
  580.             /* [out][in] */ XACTOPT __RPC_FAR *pOptions) = 0;
  581.         
  582.     };
  583.     
  584. #else     /* C style interface */
  585.  
  586.     typedef struct ITransactionOptionsVtbl
  587.     {
  588.         
  589.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  590.             ITransactionOptions __RPC_FAR * This,
  591.             /* [in] */ REFIID riid,
  592.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  593.         
  594.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  595.             ITransactionOptions __RPC_FAR * This);
  596.         
  597.         ULONG ( __stdcall __RPC_FAR *Release )( 
  598.             ITransactionOptions __RPC_FAR * This);
  599.         
  600.         HRESULT ( __stdcall __RPC_FAR *SetOptions )( 
  601.             ITransactionOptions __RPC_FAR * This,
  602.             /* [in] */ XACTOPT __RPC_FAR *pOptions);
  603.         
  604.         HRESULT ( __stdcall __RPC_FAR *GetOptions )( 
  605.             ITransactionOptions __RPC_FAR * This,
  606.             /* [out][in] */ XACTOPT __RPC_FAR *pOptions);
  607.         
  608.     } ITransactionOptionsVtbl;
  609.  
  610.     interface ITransactionOptions
  611.     {
  612.         CONST_VTBL struct ITransactionOptionsVtbl __RPC_FAR *lpVtbl;
  613.     };
  614.  
  615.     
  616.  
  617. #ifdef COBJMACROS
  618.  
  619.  
  620. #define ITransactionOptions_QueryInterface(This,riid,ppvObject)    \
  621.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  622.  
  623. #define ITransactionOptions_AddRef(This)    \
  624.     (This)->lpVtbl -> AddRef(This)
  625.  
  626. #define ITransactionOptions_Release(This)    \
  627.     (This)->lpVtbl -> Release(This)
  628.  
  629.  
  630. #define ITransactionOptions_SetOptions(This,pOptions)    \
  631.     (This)->lpVtbl -> SetOptions(This,pOptions)
  632.  
  633. #define ITransactionOptions_GetOptions(This,pOptions)    \
  634.     (This)->lpVtbl -> GetOptions(This,pOptions)
  635.  
  636. #endif /* COBJMACROS */
  637.  
  638.  
  639. #endif     /* C style interface */
  640.  
  641.  
  642.  
  643. HRESULT __stdcall ITransactionOptions_SetOptions_Proxy( 
  644.     ITransactionOptions __RPC_FAR * This,
  645.     /* [in] */ XACTOPT __RPC_FAR *pOptions);
  646.  
  647.  
  648. void __RPC_STUB ITransactionOptions_SetOptions_Stub(
  649.     IRpcStubBuffer *This,
  650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  651.     PRPC_MESSAGE _pRpcMessage,
  652.     DWORD *_pdwStubPhase);
  653.  
  654.  
  655. HRESULT __stdcall ITransactionOptions_GetOptions_Proxy( 
  656.     ITransactionOptions __RPC_FAR * This,
  657.     /* [out][in] */ XACTOPT __RPC_FAR *pOptions);
  658.  
  659.  
  660. void __RPC_STUB ITransactionOptions_GetOptions_Stub(
  661.     IRpcStubBuffer *This,
  662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  663.     PRPC_MESSAGE _pRpcMessage,
  664.     DWORD *_pdwStubPhase);
  665.  
  666.  
  667.  
  668. #endif     /* __ITransactionOptions_INTERFACE_DEFINED__ */
  669.  
  670.  
  671. #ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  672. #define __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  673.  
  674. /****************************************
  675.  * Generated header for interface: ITransactionOutcomeEvents
  676.  * at Fri May 10 01:04:33 1996
  677.  * using MIDL 2.00.0102
  678.  ****************************************/
  679. /* [unique][uuid][object] */ 
  680.  
  681.  
  682.  
  683. EXTERN_C const IID IID_ITransactionOutcomeEvents;
  684.  
  685. #if defined(__cplusplus) && !defined(CINTERFACE)
  686.     
  687.     interface ITransactionOutcomeEvents : public IUnknown
  688.     {
  689.     public:
  690.         virtual HRESULT __stdcall Committed( 
  691.             /* [in] */ BOOL fRetaining,
  692.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  693.             /* [in] */ HRESULT hr) = 0;
  694.         
  695.         virtual HRESULT __stdcall Aborted( 
  696.             /* [in] */ BOID __RPC_FAR *pboidReason,
  697.             /* [in] */ BOOL fRetaining,
  698.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  699.             /* [in] */ HRESULT hr) = 0;
  700.         
  701.         virtual HRESULT __stdcall HeuristicDecision( 
  702.             /* [in] */ DWORD dwDecision,
  703.             /* [in] */ BOID __RPC_FAR *pboidReason,
  704.             /* [in] */ HRESULT hr) = 0;
  705.         
  706.         virtual HRESULT __stdcall Indoubt( void) = 0;
  707.         
  708.     };
  709.     
  710. #else     /* C style interface */
  711.  
  712.     typedef struct ITransactionOutcomeEventsVtbl
  713.     {
  714.         
  715.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  716.             ITransactionOutcomeEvents __RPC_FAR * This,
  717.             /* [in] */ REFIID riid,
  718.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  719.         
  720.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  721.             ITransactionOutcomeEvents __RPC_FAR * This);
  722.         
  723.         ULONG ( __stdcall __RPC_FAR *Release )( 
  724.             ITransactionOutcomeEvents __RPC_FAR * This);
  725.         
  726.         HRESULT ( __stdcall __RPC_FAR *Committed )( 
  727.             ITransactionOutcomeEvents __RPC_FAR * This,
  728.             /* [in] */ BOOL fRetaining,
  729.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  730.             /* [in] */ HRESULT hr);
  731.         
  732.         HRESULT ( __stdcall __RPC_FAR *Aborted )( 
  733.             ITransactionOutcomeEvents __RPC_FAR * This,
  734.             /* [in] */ BOID __RPC_FAR *pboidReason,
  735.             /* [in] */ BOOL fRetaining,
  736.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  737.             /* [in] */ HRESULT hr);
  738.         
  739.         HRESULT ( __stdcall __RPC_FAR *HeuristicDecision )( 
  740.             ITransactionOutcomeEvents __RPC_FAR * This,
  741.             /* [in] */ DWORD dwDecision,
  742.             /* [in] */ BOID __RPC_FAR *pboidReason,
  743.             /* [in] */ HRESULT hr);
  744.         
  745.         HRESULT ( __stdcall __RPC_FAR *Indoubt )( 
  746.             ITransactionOutcomeEvents __RPC_FAR * This);
  747.         
  748.     } ITransactionOutcomeEventsVtbl;
  749.  
  750.     interface ITransactionOutcomeEvents
  751.     {
  752.         CONST_VTBL struct ITransactionOutcomeEventsVtbl __RPC_FAR *lpVtbl;
  753.     };
  754.  
  755.     
  756.  
  757. #ifdef COBJMACROS
  758.  
  759.  
  760. #define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject)    \
  761.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  762.  
  763. #define ITransactionOutcomeEvents_AddRef(This)    \
  764.     (This)->lpVtbl -> AddRef(This)
  765.  
  766. #define ITransactionOutcomeEvents_Release(This)    \
  767.     (This)->lpVtbl -> Release(This)
  768.  
  769.  
  770. #define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr)    \
  771.     (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  772.  
  773. #define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr)    \
  774.     (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  775.  
  776. #define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr)    \
  777.     (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  778.  
  779. #define ITransactionOutcomeEvents_Indoubt(This)    \
  780.     (This)->lpVtbl -> Indoubt(This)
  781.  
  782. #endif /* COBJMACROS */
  783.  
  784.  
  785. #endif     /* C style interface */
  786.  
  787.  
  788.  
  789. HRESULT __stdcall ITransactionOutcomeEvents_Committed_Proxy( 
  790.     ITransactionOutcomeEvents __RPC_FAR * This,
  791.     /* [in] */ BOOL fRetaining,
  792.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  793.     /* [in] */ HRESULT hr);
  794.  
  795.  
  796. void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub(
  797.     IRpcStubBuffer *This,
  798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  799.     PRPC_MESSAGE _pRpcMessage,
  800.     DWORD *_pdwStubPhase);
  801.  
  802.  
  803. HRESULT __stdcall ITransactionOutcomeEvents_Aborted_Proxy( 
  804.     ITransactionOutcomeEvents __RPC_FAR * This,
  805.     /* [in] */ BOID __RPC_FAR *pboidReason,
  806.     /* [in] */ BOOL fRetaining,
  807.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  808.     /* [in] */ HRESULT hr);
  809.  
  810.  
  811. void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub(
  812.     IRpcStubBuffer *This,
  813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  814.     PRPC_MESSAGE _pRpcMessage,
  815.     DWORD *_pdwStubPhase);
  816.  
  817.  
  818. HRESULT __stdcall ITransactionOutcomeEvents_HeuristicDecision_Proxy( 
  819.     ITransactionOutcomeEvents __RPC_FAR * This,
  820.     /* [in] */ DWORD dwDecision,
  821.     /* [in] */ BOID __RPC_FAR *pboidReason,
  822.     /* [in] */ HRESULT hr);
  823.  
  824.  
  825. void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub(
  826.     IRpcStubBuffer *This,
  827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  828.     PRPC_MESSAGE _pRpcMessage,
  829.     DWORD *_pdwStubPhase);
  830.  
  831.  
  832. HRESULT __stdcall ITransactionOutcomeEvents_Indoubt_Proxy( 
  833.     ITransactionOutcomeEvents __RPC_FAR * This);
  834.  
  835.  
  836. void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub(
  837.     IRpcStubBuffer *This,
  838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  839.     PRPC_MESSAGE _pRpcMessage,
  840.     DWORD *_pdwStubPhase);
  841.  
  842.  
  843.  
  844. #endif     /* __ITransactionOutcomeEvents_INTERFACE_DEFINED__ */
  845.  
  846.  
  847. #ifndef __ITransactionCompletionEvents_INTERFACE_DEFINED__
  848. #define __ITransactionCompletionEvents_INTERFACE_DEFINED__
  849.  
  850. /****************************************
  851.  * Generated header for interface: ITransactionCompletionEvents
  852.  * at Fri May 10 01:04:33 1996
  853.  * using MIDL 2.00.0102
  854.  ****************************************/
  855. /* [unique][uuid][object] */ 
  856.  
  857.  
  858.  
  859. EXTERN_C const IID IID_ITransactionCompletionEvents;
  860.  
  861. #if defined(__cplusplus) && !defined(CINTERFACE)
  862.     
  863.     interface ITransactionCompletionEvents : public IUnknown
  864.     {
  865.     public:
  866.         virtual HRESULT __stdcall Committed( 
  867.             /* [in] */ BOOL fRetaining,
  868.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  869.             /* [in] */ HRESULT hr) = 0;
  870.         
  871.         virtual HRESULT __stdcall Aborted( 
  872.             /* [in] */ BOID __RPC_FAR *pboidReason,
  873.             /* [in] */ BOOL fRetaining,
  874.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  875.             /* [in] */ HRESULT hr) = 0;
  876.         
  877.         virtual HRESULT __stdcall HeuristicDecision( 
  878.             /* [in] */ DWORD dwDecision,
  879.             /* [in] */ BOID __RPC_FAR *pboidReason,
  880.             /* [in] */ HRESULT hr) = 0;
  881.         
  882.         virtual HRESULT __stdcall Indoubt( void) = 0;
  883.         
  884.     };
  885.     
  886. #else     /* C style interface */
  887.  
  888.     typedef struct ITransactionCompletionEventsVtbl
  889.     {
  890.         
  891.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  892.             ITransactionCompletionEvents __RPC_FAR * This,
  893.             /* [in] */ REFIID riid,
  894.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  895.         
  896.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  897.             ITransactionCompletionEvents __RPC_FAR * This);
  898.         
  899.         ULONG ( __stdcall __RPC_FAR *Release )( 
  900.             ITransactionCompletionEvents __RPC_FAR * This);
  901.         
  902.         HRESULT ( __stdcall __RPC_FAR *Committed )( 
  903.             ITransactionCompletionEvents __RPC_FAR * This,
  904.             /* [in] */ BOOL fRetaining,
  905.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  906.             /* [in] */ HRESULT hr);
  907.         
  908.         HRESULT ( __stdcall __RPC_FAR *Aborted )( 
  909.             ITransactionCompletionEvents __RPC_FAR * This,
  910.             /* [in] */ BOID __RPC_FAR *pboidReason,
  911.             /* [in] */ BOOL fRetaining,
  912.             /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  913.             /* [in] */ HRESULT hr);
  914.         
  915.         HRESULT ( __stdcall __RPC_FAR *HeuristicDecision )( 
  916.             ITransactionCompletionEvents __RPC_FAR * This,
  917.             /* [in] */ DWORD dwDecision,
  918.             /* [in] */ BOID __RPC_FAR *pboidReason,
  919.             /* [in] */ HRESULT hr);
  920.         
  921.         HRESULT ( __stdcall __RPC_FAR *Indoubt )( 
  922.             ITransactionCompletionEvents __RPC_FAR * This);
  923.         
  924.     } ITransactionCompletionEventsVtbl;
  925.  
  926.     interface ITransactionCompletionEvents
  927.     {
  928.         CONST_VTBL struct ITransactionCompletionEventsVtbl __RPC_FAR *lpVtbl;
  929.     };
  930.  
  931.     
  932.  
  933. #ifdef COBJMACROS
  934.  
  935.  
  936. #define ITransactionCompletionEvents_QueryInterface(This,riid,ppvObject)    \
  937.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  938.  
  939. #define ITransactionCompletionEvents_AddRef(This)    \
  940.     (This)->lpVtbl -> AddRef(This)
  941.  
  942. #define ITransactionCompletionEvents_Release(This)    \
  943.     (This)->lpVtbl -> Release(This)
  944.  
  945.  
  946. #define ITransactionCompletionEvents_Committed(This,fRetaining,pNewUOW,hr)    \
  947.     (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  948.  
  949. #define ITransactionCompletionEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr)    \
  950.     (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  951.  
  952. #define ITransactionCompletionEvents_HeuristicDecision(This,dwDecision,pboidReason,hr)    \
  953.     (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  954.  
  955. #define ITransactionCompletionEvents_Indoubt(This)    \
  956.     (This)->lpVtbl -> Indoubt(This)
  957.  
  958. #endif /* COBJMACROS */
  959.  
  960.  
  961. #endif     /* C style interface */
  962.  
  963.  
  964.  
  965. HRESULT __stdcall ITransactionCompletionEvents_Committed_Proxy( 
  966.     ITransactionCompletionEvents __RPC_FAR * This,
  967.     /* [in] */ BOOL fRetaining,
  968.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  969.     /* [in] */ HRESULT hr);
  970.  
  971.  
  972. void __RPC_STUB ITransactionCompletionEvents_Committed_Stub(
  973.     IRpcStubBuffer *This,
  974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  975.     PRPC_MESSAGE _pRpcMessage,
  976.     DWORD *_pdwStubPhase);
  977.  
  978.  
  979. HRESULT __stdcall ITransactionCompletionEvents_Aborted_Proxy( 
  980.     ITransactionCompletionEvents __RPC_FAR * This,
  981.     /* [in] */ BOID __RPC_FAR *pboidReason,
  982.     /* [in] */ BOOL fRetaining,
  983.     /* [in] */ XACTUOW __RPC_FAR *pNewUOW,
  984.     /* [in] */ HRESULT hr);
  985.  
  986.  
  987. void __RPC_STUB ITransactionCompletionEvents_Aborted_Stub(
  988.     IRpcStubBuffer *This,
  989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  990.     PRPC_MESSAGE _pRpcMessage,
  991.     DWORD *_pdwStubPhase);
  992.  
  993.  
  994. HRESULT __stdcall ITransactionCompletionEvents_HeuristicDecision_Proxy( 
  995.     ITransactionCompletionEvents __RPC_FAR * This,
  996.     /* [in] */ DWORD dwDecision,
  997.     /* [in] */ BOID __RPC_FAR *pboidReason,
  998.     /* [in] */ HRESULT hr);
  999.  
  1000.  
  1001. void __RPC_STUB ITransactionCompletionEvents_HeuristicDecision_Stub(
  1002.     IRpcStubBuffer *This,
  1003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1004.     PRPC_MESSAGE _pRpcMessage,
  1005.     DWORD *_pdwStubPhase);
  1006.  
  1007.  
  1008. HRESULT __stdcall ITransactionCompletionEvents_Indoubt_Proxy( 
  1009.     ITransactionCompletionEvents __RPC_FAR * This);
  1010.  
  1011.  
  1012. void __RPC_STUB ITransactionCompletionEvents_Indoubt_Stub(
  1013.     IRpcStubBuffer *This,
  1014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1015.     PRPC_MESSAGE _pRpcMessage,
  1016.     DWORD *_pdwStubPhase);
  1017.  
  1018.  
  1019.  
  1020. #endif     /* __ITransactionCompletionEvents_INTERFACE_DEFINED__ */
  1021.  
  1022.  
  1023. /****************************************
  1024.  * Generated header for interface: __MIDL__intf_0011
  1025.  * at Fri May 10 01:04:33 1996
  1026.  * using MIDL 2.00.0102
  1027.  ****************************************/
  1028. /* [local] */ 
  1029.  
  1030.  
  1031. #define XACT_E_FIRST                        0x8004D000
  1032. #define XACT_E_LAST                        0x8004D01E
  1033. #define XACT_S_FIRST                        0x0004D000
  1034. #define XACT_S_LAST                        0x0004D009
  1035.  
  1036. #define XACT_E_ALREADYOTHERSINGLEPHASE    0x8004D000
  1037. #define XACT_E_CANTRETAIN                0x8004D001
  1038. #define XACT_E_COMMITFAILED                0x8004D002
  1039. #define XACT_E_COMMITPREVENTED            0x8004D003
  1040. #define XACT_E_HEURISTICABORT            0x8004D004
  1041. #define XACT_E_HEURISTICCOMMIT            0x8004D005
  1042. #define XACT_E_HEURISTICDAMAGE            0x8004D006
  1043. #define XACT_E_HEURISTICDANGER            0x8004D007
  1044. #define XACT_E_ISOLATIONLEVEL            0x8004D008
  1045. #define XACT_E_NOASYNC                    0x8004D009
  1046. #define XACT_E_NOENLIST                    0x8004D00A
  1047. #define XACT_E_NOISORETAIN                0x8004D00B
  1048. #define XACT_E_NORESOURCE                0x8004D00C
  1049. #define XACT_E_NOTCURRENT                0x8004D00D
  1050. #define XACT_E_NOTRANSACTION                0x8004D00E
  1051. #define XACT_E_NOTSUPPORTED                0x8004D00F
  1052. #define XACT_E_UNKNOWNRMGRID                0x8004D010
  1053. #define XACT_E_WRONGSTATE                0x8004D011
  1054. #define XACT_E_WRONGUOW                    0x8004D012
  1055. #define XACT_E_XTIONEXISTS                0x8004D013
  1056. #define XACT_E_NOIMPORTOBJECT            0x8004D014
  1057. #define XACT_E_INVALIDCOOKIE                0x8004D015
  1058. #define XACT_E_INDOUBT                    0x8004D016
  1059. #define XACT_E_NOTIMEOUT                    0x8004D017
  1060. #define XACT_E_ALREADYINPROGRESS            0x8004D018
  1061. #define XACT_E_ABORTED                    0x8004D019
  1062. #define XACT_E_LOGFULL                    0x8004D01A
  1063. #define XACT_E_TMNOTAVAILABLE            0x8004D01B
  1064. #define XACT_E_CONNECTION_DOWN            0x8004D01C
  1065. #define XACT_E_CONNECTION_DENIED            0x8004D01D
  1066. #define XACT_E_REENLISTTIMEOUT            0x8004D01E
  1067.  
  1068. #define XACT_S_ASYNC                    0x0004D000
  1069. #define XACT_S_DEFECT                   0x0004D001
  1070. #define XACT_S_READONLY                 0x0004D002
  1071. #define XACT_S_SOMENORETAIN             0x0004D003
  1072. #define XACT_S_OKINFORM                 0x0004D004
  1073. #define XACT_S_MADECHANGESCONTENT       0x0004D005
  1074. #define XACT_S_MADECHANGESINFORM        0x0004D006
  1075. #define XACT_S_ALLNORETAIN              0x0004D007
  1076. #define XACT_S_ABORTING                 0x0004D008
  1077. #define XACT_S_SINGLEPHASE              0x0004D009
  1078.  
  1079.  
  1080. extern RPC_IF_HANDLE __MIDL__intf_0011_v0_0_c_ifspec;
  1081. extern RPC_IF_HANDLE __MIDL__intf_0011_v0_0_s_ifspec;
  1082.  
  1083. /* Additional Prototypes for ALL interfaces */
  1084.  
  1085. /* end of Additional Prototypes */
  1086.  
  1087. #ifdef __cplusplus
  1088. }
  1089. #endif
  1090.  
  1091. #endif
  1092.  
  1093. ///////////////////////////////////////////////////////////////////////
  1094. //
  1095. // IID definitions for interfaces defined in this header file
  1096. //
  1097.  
  1098. #if !defined(_transact_iid_) && defined(INITGUID)
  1099. #define      _transact_iid_
  1100. const IID IID_ITransaction = {0x0fb15084,0xaf41,0x11ce,{0xbd,0x2b,0x20,0x4c,0x4f,0x4f,0x50,0x20}};
  1101. const IID IID_ITransactionDispenser = {0x3A6AD9E1,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}};
  1102. const IID IID_ITransactionOptions = {0x3A6AD9E0,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}};
  1103. const IID IID_ITransactionOutcomeEvents = {0x3A6AD9E2,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}};
  1104. const IID IID_ITransactionCompletionEvents = {0xB38D5220,0x23CE,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}};
  1105. #endif
  1106.  
  1107. ///////////////////////////////////////////////////////////////////////
  1108.  
  1109.