|
|
//.-------------------------------------------------------------------------
//.
//. 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
///////////////////////////////////////////////////////////////////////
|