//.------------------------------------------------------------------------- //. //. Microsoft Windows //. Copyright (C) Microsoft Corporation, 1995. //. //. File: transact.idl //. //. Contents: The basic transaction interfaces and types. //. //.-------------------------------------------------------------------------- /* File created by MIDL compiler version 2.00.0102 */ /* at Tue Nov 21 16:54:32 1995 */ //@@MIDL_FILE_HEADING( ) #include "rpc.h" #include "rpcndr.h" #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __transact_h__ #define __transact_h__ #ifdef __cplusplus extern "C"{ #endif /* Forward Declarations */ #ifndef __ITransaction_FWD_DEFINED__ #define __ITransaction_FWD_DEFINED__ typedef interface ITransaction ITransaction; #endif /* __ITransaction_FWD_DEFINED__ */ #ifndef __ITransactionDispenser_FWD_DEFINED__ #define __ITransactionDispenser_FWD_DEFINED__ typedef interface ITransactionDispenser ITransactionDispenser; #endif /* __ITransactionDispenser_FWD_DEFINED__ */ #ifndef __ITransactionOptions_FWD_DEFINED__ #define __ITransactionOptions_FWD_DEFINED__ typedef interface ITransactionOptions ITransactionOptions; #endif /* __ITransactionOptions_FWD_DEFINED__ */ #ifndef __ITransactionOutcomeEvents_FWD_DEFINED__ #define __ITransactionOutcomeEvents_FWD_DEFINED__ typedef interface ITransactionOutcomeEvents ITransactionOutcomeEvents; #endif /* __ITransactionOutcomeEvents_FWD_DEFINED__ */ #ifndef __ITransactionCompletionEvents_FWD_DEFINED__ #define __ITransactionCompletionEvents_FWD_DEFINED__ typedef interface ITransactionCompletionEvents ITransactionCompletionEvents; #endif /* __ITransactionCompletionEvents_FWD_DEFINED__ */ /* header files for imported files */ void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void __RPC_FAR * ); /**************************************** * Generated header for interface: __MIDL__intf_0000 * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [local] */ /* size is 0 */ /* size is 0 */ /* size is 0 */ /* size is 0 */ /* size is 0 */ extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec; #ifndef __BasicTransactionTypes_INTERFACE_DEFINED__ #define __BasicTransactionTypes_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: BasicTransactionTypes * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][local] */ /* size is 16 */ typedef struct BOID { BYTE rgb[ 16 ]; } BOID; #define BOID_NULL (*((BOID*)(&IID_NULL))) #define MAX_TRAN_DESC 40 // used by XACTOPT via midl - see transact.idl /* size is 16 */ typedef BOID XACTUOW; /* size is 4 */ typedef LONG ISOLEVEL; #if defined(_WIN32) /* size is 2 */ typedef enum ISOLATIONLEVEL { ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff, ISOLATIONLEVEL_CHAOS = 0x10, ISOLATIONLEVEL_READUNCOMMITTED = 0x100, ISOLATIONLEVEL_BROWSE = 0x100, ISOLATIONLEVEL_CURSORSTABILITY = 0x1000, ISOLATIONLEVEL_READCOMMITTED = 0x1000, ISOLATIONLEVEL_REPEATABLEREAD = 0x10000, ISOLATIONLEVEL_SERIALIZABLE = 0x100000, ISOLATIONLEVEL_ISOLATED = 0x100000 } ISOLATIONLEVEL; #else #define ISOLATIONLEVEL_UNSPECIFIED 0xFFFFFFFF #define ISOLATIONLEVEL_CHAOS 0x00000010 #define ISOLATIONLEVEL_READUNCOMMITTED 0x00000100 #define ISOLATIONLEVEL_BROWSE 0x00000100 #define ISOLATIONLEVEL_CURSORSTABILITY 0x00001000 #define ISOLATIONLEVEL_READCOMMITTED 0x00001000 #define ISOLATIONLEVEL_REPEATABLEREAD 0x00010000 #define ISOLATIONLEVEL_SERIALIZABLE 0x00100000 #define ISOLATIONLEVEL_ISOLATED 0x00100000 #endif /* size is 40 */ typedef struct XACTTRANSINFO { XACTUOW uow; ISOLEVEL isoLevel; ULONG isoFlags; DWORD grfTCSupported; DWORD grfRMSupported; DWORD grfTCSupportedRetaining; DWORD grfRMSupportedRetaining; } XACTTRANSINFO; /* size is 36 */ typedef struct XACTSTATS { ULONG cOpen; ULONG cCommitting; ULONG cCommitted; ULONG cAborting; ULONG cAborted; ULONG cInDoubt; ULONG cHeuristicDecision; FILETIME timeTransactionsUp; } XACTSTATS; /* size is 2 */ typedef enum ISOFLAG { ISOFLAG_RETAIN_COMMIT_DC = 1, ISOFLAG_RETAIN_COMMIT = 2, ISOFLAG_RETAIN_COMMIT_NO = 3, ISOFLAG_RETAIN_ABORT_DC = 4, ISOFLAG_RETAIN_ABORT = 8, ISOFLAG_RETAIN_ABORT_NO = 12, ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC, ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT, ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO, ISOFLAG_OPTIMISTIC = 16 } ISOFLAG; /* size is 2 */ typedef enum XACTTC { XACTTC_SYNC_PHASEONE = 1, XACTTC_SYNC_PHASETWO = 2, XACTTC_SYNC = 2, XACTTC_ASYNC_PHASEONE = 4 } XACTTC; /* size is 2 */ typedef enum XACTRM { XACTRM_OPTIMISTICLASTWINS = 1, XACTRM_NOREADONLYPREPARES = 2 } XACTRM; /* size is 2 */ typedef enum XACTCONST { XACTCONST_TIMEOUTINFINITE = 0 } XACTCONST; /* size is 2 */ typedef enum XACTHEURISTIC { XACTHEURISTIC_ABORT = 1, XACTHEURISTIC_COMMIT = 2, XACTHEURISTIC_DAMAGE = 3, XACTHEURISTIC_DANGER = 4 } XACTHEURISTIC; #if defined(_WIN32) /* size is 2 */ typedef enum XACTSTAT { XACTSTAT_NONE = 0, XACTSTAT_OPENNORMAL = 0x1, XACTSTAT_OPENREFUSED = 0x2, XACTSTAT_PREPARING = 0x4, XACTSTAT_PREPARED = 0x8, XACTSTAT_PREPARERETAINING = 0x10, XACTSTAT_PREPARERETAINED = 0x20, XACTSTAT_COMMITTING = 0x40, XACTSTAT_COMMITRETAINING = 0x80, XACTSTAT_ABORTING = 0x100, XACTSTAT_ABORTED = 0x200, XACTSTAT_COMMITTED = 0x400, XACTSTAT_HEURISTIC_ABORT = 0x800, XACTSTAT_HEURISTIC_COMMIT = 0x1000, XACTSTAT_HEURISTIC_DAMAGE = 0x2000, XACTSTAT_HEURISTIC_DANGER = 0x4000, XACTSTAT_FORCED_ABORT = 0x8000, XACTSTAT_FORCED_COMMIT = 0x10000, XACTSTAT_INDOUBT = 0x20000, XACTSTAT_CLOSED = 0x40000, XACTSTAT_OPEN = 0x3, XACTSTAT_NOTPREPARED = 0x7ffc3, XACTSTAT_ALL = 0x7ffff } XACTSTAT; #else #define XACTSTAT_NONE 0x00000000 #define XACTSTAT_OPENNORMAL 0x00000001 #define XACTSTAT_OPENREFUSED 0x00000002 #define XACTSTAT_PREPARING 0x00000004 #define XACTSTAT_PREPARED 0x00000008 #define XACTSTAT_PREPARERETAINING 0x00000010 #define XACTSTAT_PREPARERETAINED 0x00000020 #define XACTSTAT_COMMITTING 0x00000040 #define XACTSTAT_COMMITRETAINING 0x00000080 #define XACTSTAT_ABORTING 0x00000100 #define XACTSTAT_ABORTED 0x00000200 #define XACTSTAT_COMMITTED 0x00000400 #define XACTSTAT_HEURISTIC_ABORT 0x00000800 #define XACTSTAT_HEURISTIC_COMMIT 0x00001000 #define XACTSTAT_HEURISTIC_DAMAGE 0x00002000 #define XACTSTAT_HEURISTIC_DANGER 0x00004000 #define XACTSTAT_FORCED_ABORT 0x00008000 #define XACTSTAT_FORCED_COMMIT 0x00010000 #define XACTSTAT_INDOUBT 0x00020000 #define XACTSTAT_CLOSED 0x00040000 #define XACTSTAT_OPEN 0x00000003 #define XACTSTAT_NOTPREPARED 0x0007FFC3 #define XACTSTAT_ALL 0x0007FFFF #endif /* size is 44 */ typedef struct XACTOPT { ULONG ulTimeout; unsigned char szDescription[ 40 ]; } XACTOPT; extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec; extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec; #endif /* __BasicTransactionTypes_INTERFACE_DEFINED__ */ #ifndef __ITransaction_INTERFACE_DEFINED__ #define __ITransaction_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: ITransaction * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][uuid][object] */ EXTERN_C const IID IID_ITransaction; #if defined(__cplusplus) && !defined(CINTERFACE) interface ITransaction : public IUnknown { public: virtual HRESULT __stdcall Commit( /* [in] */ BOOL fRetaining, /* [in] */ DWORD grfTC, /* [in] */ DWORD grfRM) = 0; virtual HRESULT __stdcall Abort( /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ BOOL fAsync) = 0; virtual HRESULT __stdcall GetTransactionInfo( /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo) = 0; }; #else /* C style interface */ typedef struct ITransactionVtbl { HRESULT ( __stdcall __RPC_FAR *QueryInterface )( ITransaction __RPC_FAR * This, /* [in] */ REFIID riid, /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( __stdcall __RPC_FAR *AddRef )( ITransaction __RPC_FAR * This); ULONG ( __stdcall __RPC_FAR *Release )( ITransaction __RPC_FAR * This); HRESULT ( __stdcall __RPC_FAR *Commit )( ITransaction __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ DWORD grfTC, /* [in] */ DWORD grfRM); HRESULT ( __stdcall __RPC_FAR *Abort )( ITransaction __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ BOOL fAsync); HRESULT ( __stdcall __RPC_FAR *GetTransactionInfo )( ITransaction __RPC_FAR * This, /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo); } ITransactionVtbl; interface ITransaction { CONST_VTBL struct ITransactionVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define ITransaction_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define ITransaction_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define ITransaction_Release(This) \ (This)->lpVtbl -> Release(This) #define ITransaction_Commit(This,fRetaining,grfTC,grfRM) \ (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM) #define ITransaction_Abort(This,pboidReason,fRetaining,fAsync) \ (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync) #define ITransaction_GetTransactionInfo(This,pinfo) \ (This)->lpVtbl -> GetTransactionInfo(This,pinfo) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT __stdcall ITransaction_Commit_Proxy( ITransaction __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ DWORD grfTC, /* [in] */ DWORD grfRM); void __RPC_STUB ITransaction_Commit_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransaction_Abort_Proxy( ITransaction __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ BOOL fAsync); void __RPC_STUB ITransaction_Abort_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransaction_GetTransactionInfo_Proxy( ITransaction __RPC_FAR * This, /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo); void __RPC_STUB ITransaction_GetTransactionInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __ITransaction_INTERFACE_DEFINED__ */ #ifndef __ITransactionDispenser_INTERFACE_DEFINED__ #define __ITransactionDispenser_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: ITransactionDispenser * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][uuid][object] */ EXTERN_C const IID IID_ITransactionDispenser; #if defined(__cplusplus) && !defined(CINTERFACE) interface ITransactionDispenser : public IUnknown { public: virtual HRESULT __stdcall GetOptionsObject( /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0; virtual HRESULT __stdcall BeginTransaction( /* [in] */ IUnknown __RPC_FAR *punkOuter, /* [in] */ ISOLEVEL isoLevel, /* [in] */ ULONG isoFlags, /* [in] */ ITransactionOptions __RPC_FAR *pOptions, /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction) = 0; }; #else /* C style interface */ typedef struct ITransactionDispenserVtbl { HRESULT ( __stdcall __RPC_FAR *QueryInterface )( ITransactionDispenser __RPC_FAR * This, /* [in] */ REFIID riid, /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( __stdcall __RPC_FAR *AddRef )( ITransactionDispenser __RPC_FAR * This); ULONG ( __stdcall __RPC_FAR *Release )( ITransactionDispenser __RPC_FAR * This); HRESULT ( __stdcall __RPC_FAR *GetOptionsObject )( ITransactionDispenser __RPC_FAR * This, /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions); HRESULT ( __stdcall __RPC_FAR *BeginTransaction )( ITransactionDispenser __RPC_FAR * This, /* [in] */ IUnknown __RPC_FAR *punkOuter, /* [in] */ ISOLEVEL isoLevel, /* [in] */ ULONG isoFlags, /* [in] */ ITransactionOptions __RPC_FAR *pOptions, /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction); } ITransactionDispenserVtbl; interface ITransactionDispenser { CONST_VTBL struct ITransactionDispenserVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define ITransactionDispenser_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define ITransactionDispenser_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define ITransactionDispenser_Release(This) \ (This)->lpVtbl -> Release(This) #define ITransactionDispenser_GetOptionsObject(This,ppOptions) \ (This)->lpVtbl -> GetOptionsObject(This,ppOptions) #define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) \ (This)->lpVtbl -> BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT __stdcall ITransactionDispenser_GetOptionsObject_Proxy( ITransactionDispenser __RPC_FAR * This, /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions); void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionDispenser_BeginTransaction_Proxy( ITransactionDispenser __RPC_FAR * This, /* [in] */ IUnknown __RPC_FAR *punkOuter, /* [in] */ ISOLEVEL isoLevel, /* [in] */ ULONG isoFlags, /* [in] */ ITransactionOptions __RPC_FAR *pOptions, /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransaction); void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __ITransactionDispenser_INTERFACE_DEFINED__ */ #ifndef __ITransactionOptions_INTERFACE_DEFINED__ #define __ITransactionOptions_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: ITransactionOptions * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][uuid][object] */ EXTERN_C const IID IID_ITransactionOptions; #if defined(__cplusplus) && !defined(CINTERFACE) interface ITransactionOptions : public IUnknown { public: virtual HRESULT __stdcall SetOptions( /* [in] */ XACTOPT __RPC_FAR *pOptions) = 0; virtual HRESULT __stdcall GetOptions( /* [out][in] */ XACTOPT __RPC_FAR *pOptions) = 0; }; #else /* C style interface */ typedef struct ITransactionOptionsVtbl { HRESULT ( __stdcall __RPC_FAR *QueryInterface )( ITransactionOptions __RPC_FAR * This, /* [in] */ REFIID riid, /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( __stdcall __RPC_FAR *AddRef )( ITransactionOptions __RPC_FAR * This); ULONG ( __stdcall __RPC_FAR *Release )( ITransactionOptions __RPC_FAR * This); HRESULT ( __stdcall __RPC_FAR *SetOptions )( ITransactionOptions __RPC_FAR * This, /* [in] */ XACTOPT __RPC_FAR *pOptions); HRESULT ( __stdcall __RPC_FAR *GetOptions )( ITransactionOptions __RPC_FAR * This, /* [out][in] */ XACTOPT __RPC_FAR *pOptions); } ITransactionOptionsVtbl; interface ITransactionOptions { CONST_VTBL struct ITransactionOptionsVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define ITransactionOptions_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define ITransactionOptions_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define ITransactionOptions_Release(This) \ (This)->lpVtbl -> Release(This) #define ITransactionOptions_SetOptions(This,pOptions) \ (This)->lpVtbl -> SetOptions(This,pOptions) #define ITransactionOptions_GetOptions(This,pOptions) \ (This)->lpVtbl -> GetOptions(This,pOptions) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT __stdcall ITransactionOptions_SetOptions_Proxy( ITransactionOptions __RPC_FAR * This, /* [in] */ XACTOPT __RPC_FAR *pOptions); void __RPC_STUB ITransactionOptions_SetOptions_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionOptions_GetOptions_Proxy( ITransactionOptions __RPC_FAR * This, /* [out][in] */ XACTOPT __RPC_FAR *pOptions); void __RPC_STUB ITransactionOptions_GetOptions_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __ITransactionOptions_INTERFACE_DEFINED__ */ #ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__ #define __ITransactionOutcomeEvents_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: ITransactionOutcomeEvents * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][uuid][object] */ EXTERN_C const IID IID_ITransactionOutcomeEvents; #if defined(__cplusplus) && !defined(CINTERFACE) interface ITransactionOutcomeEvents : public IUnknown { public: virtual HRESULT __stdcall Committed( /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall Aborted( /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall HeuristicDecision( /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall Indoubt( void) = 0; }; #else /* C style interface */ typedef struct ITransactionOutcomeEventsVtbl { HRESULT ( __stdcall __RPC_FAR *QueryInterface )( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ REFIID riid, /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( __stdcall __RPC_FAR *AddRef )( ITransactionOutcomeEvents __RPC_FAR * This); ULONG ( __stdcall __RPC_FAR *Release )( ITransactionOutcomeEvents __RPC_FAR * This); HRESULT ( __stdcall __RPC_FAR *Committed )( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *Aborted )( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *HeuristicDecision )( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *Indoubt )( ITransactionOutcomeEvents __RPC_FAR * This); } ITransactionOutcomeEventsVtbl; interface ITransactionOutcomeEvents { CONST_VTBL struct ITransactionOutcomeEventsVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define ITransactionOutcomeEvents_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define ITransactionOutcomeEvents_Release(This) \ (This)->lpVtbl -> Release(This) #define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr) \ (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr) #define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) \ (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr) #define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr) \ (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr) #define ITransactionOutcomeEvents_Indoubt(This) \ (This)->lpVtbl -> Indoubt(This) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT __stdcall ITransactionOutcomeEvents_Committed_Proxy( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionOutcomeEvents_Aborted_Proxy( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionOutcomeEvents_HeuristicDecision_Proxy( ITransactionOutcomeEvents __RPC_FAR * This, /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionOutcomeEvents_Indoubt_Proxy( ITransactionOutcomeEvents __RPC_FAR * This); void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __ITransactionOutcomeEvents_INTERFACE_DEFINED__ */ #ifndef __ITransactionCompletionEvents_INTERFACE_DEFINED__ #define __ITransactionCompletionEvents_INTERFACE_DEFINED__ /**************************************** * Generated header for interface: ITransactionCompletionEvents * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [unique][uuid][object] */ EXTERN_C const IID IID_ITransactionCompletionEvents; #if defined(__cplusplus) && !defined(CINTERFACE) interface ITransactionCompletionEvents : public IUnknown { public: virtual HRESULT __stdcall Committed( /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall Aborted( /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall HeuristicDecision( /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr) = 0; virtual HRESULT __stdcall Indoubt( void) = 0; }; #else /* C style interface */ typedef struct ITransactionCompletionEventsVtbl { HRESULT ( __stdcall __RPC_FAR *QueryInterface )( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ REFIID riid, /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( __stdcall __RPC_FAR *AddRef )( ITransactionCompletionEvents __RPC_FAR * This); ULONG ( __stdcall __RPC_FAR *Release )( ITransactionCompletionEvents __RPC_FAR * This); HRESULT ( __stdcall __RPC_FAR *Committed )( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *Aborted )( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *HeuristicDecision )( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr); HRESULT ( __stdcall __RPC_FAR *Indoubt )( ITransactionCompletionEvents __RPC_FAR * This); } ITransactionCompletionEventsVtbl; interface ITransactionCompletionEvents { CONST_VTBL struct ITransactionCompletionEventsVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define ITransactionCompletionEvents_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define ITransactionCompletionEvents_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define ITransactionCompletionEvents_Release(This) \ (This)->lpVtbl -> Release(This) #define ITransactionCompletionEvents_Committed(This,fRetaining,pNewUOW,hr) \ (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr) #define ITransactionCompletionEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) \ (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr) #define ITransactionCompletionEvents_HeuristicDecision(This,dwDecision,pboidReason,hr) \ (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr) #define ITransactionCompletionEvents_Indoubt(This) \ (This)->lpVtbl -> Indoubt(This) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT __stdcall ITransactionCompletionEvents_Committed_Proxy( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionCompletionEvents_Committed_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionCompletionEvents_Aborted_Proxy( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ BOOL fRetaining, /* [in] */ XACTUOW __RPC_FAR *pNewUOW, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionCompletionEvents_Aborted_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionCompletionEvents_HeuristicDecision_Proxy( ITransactionCompletionEvents __RPC_FAR * This, /* [in] */ DWORD dwDecision, /* [in] */ BOID __RPC_FAR *pboidReason, /* [in] */ HRESULT hr); void __RPC_STUB ITransactionCompletionEvents_HeuristicDecision_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITransactionCompletionEvents_Indoubt_Proxy( ITransactionCompletionEvents __RPC_FAR * This); void __RPC_STUB ITransactionCompletionEvents_Indoubt_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __ITransactionCompletionEvents_INTERFACE_DEFINED__ */ /**************************************** * Generated header for interface: __MIDL__intf_0011 * at Tue Nov 21 16:54:32 1995 * using MIDL 2.00.0102 ****************************************/ /* [local] */ #define XACT_E_FIRST 0x8004D000 #define XACT_E_LAST 0x8004D01E #define XACT_S_FIRST 0x0004D000 #define XACT_S_LAST 0x0004D009 #define XACT_E_ABORTED 0x8004D019 #define XACT_E_ALREADYOTHERSINGLEPHASE 0x8004D000 #define XACT_E_ALREADYINPROGRESS 0x8004D018 #define XACT_E_CANTRETAIN 0x8004D001 #define XACT_E_COMMITFAILED 0x8004D002 #define XACT_E_COMMITPREVENTED 0x8004D003 #define XACT_E_CONNECTION_DENIED 0x8004D01D #define XACT_E_CONNECTION_DOWN 0x8004D01C #define XACT_E_HEURISTICABORT 0x8004D004 #define XACT_E_HEURISTICCOMMIT 0x8004D005 #define XACT_E_HEURISTICDAMAGE 0x8004D006 #define XACT_E_HEURISTICDANGER 0x8004D007 #define XACT_E_INDOUBT 0x8004D016 #define XACT_E_INVALIDCOOKIE 0x8004D015 #define XACT_E_ISOLATIONLEVEL 0x8004D008 #define XACT_E_LOGFULL 0x8004D01A #define XACT_E_NOASYNC 0x8004D009 #define XACT_E_NOENLIST 0x8004D00A #define XACT_E_NOIMPORTOBJECT 0x8004D014 #define XACT_E_NOISORETAIN 0x8004D00B #define XACT_E_NORESOURCE 0x8004D00C #define XACT_E_NOTCURRENT 0x8004D00D #define XACT_E_NOTIMEOUT 0x8004D017 #define XACT_E_NOTRANSACTION 0x8004D00E #define XACT_E_NOTSUPPORTED 0x8004D00F #define XACT_E_REENLISTTIMEOUT 0x8004D01E #define XACT_E_TMNOTAVAILABLE 0x8004D01B #define XACT_E_UNKNOWNRMGRID 0x8004D010 #define XACT_E_WRONGSTATE 0x8004D011 #define XACT_E_WRONGUOW 0x8004D012 #define XACT_E_XTIONEXISTS 0x8004D013 #define XACT_S_ABORTING 0x0004D008 #define XACT_S_ALLNORETAIN 0x0004D007 #define XACT_S_ASYNC 0x0004D000 #define XACT_S_DEFECT 0x0004D001 #define XACT_S_OKINFORM 0x0004D004 #define XACT_S_MADECHANGESCONTENT 0x0004D005 #define XACT_S_MADECHANGESINFORM 0x0004D006 #define XACT_S_READONLY 0x0004D002 #define XACT_S_SINGLEPHASE 0x0004D009 #define XACT_S_SOMENORETAIN 0x0004D003 extern RPC_IF_HANDLE __MIDL__intf_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL__intf_0011_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif /////////////////////////////////////////////////////////////////////// // // IID definitions for interfaces defined in this header file // #if !defined(_transact_iid_) && defined(INITGUID) #define _transact_iid_ const IID IID_ITransaction = {0x0fb15084,0xaf41,0x11ce,{0xbd,0x2b,0x20,0x4c,0x4f,0x4f,0x50,0x20}}; const IID IID_ITransactionDispenser = {0x3A6AD9E1,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}}; const IID IID_ITransactionOptions = {0x3A6AD9E0,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}}; const IID IID_ITransactionOutcomeEvents = {0x3A6AD9E2,0x23B9,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}}; const IID IID_ITransactionCompletionEvents = {0xB38D5220,0x23CE,0x11cf,{0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD}}; #endif ///////////////////////////////////////////////////////////////////////