1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 475 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error This stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __transact_h__ 23 #define __transact_h__ 24 25 #ifndef __ITransaction_FWD_DEFINED__ 26 #define __ITransaction_FWD_DEFINED__ 27 typedef struct ITransaction ITransaction; 28 #endif 29 30 #ifndef __ITransactionCloner_FWD_DEFINED__ 31 #define __ITransactionCloner_FWD_DEFINED__ 32 typedef struct ITransactionCloner ITransactionCloner; 33 #endif 34 35 #ifndef __ITransaction2_FWD_DEFINED__ 36 #define __ITransaction2_FWD_DEFINED__ 37 typedef struct ITransaction2 ITransaction2; 38 #endif 39 40 #ifndef __ITransactionDispenser_FWD_DEFINED__ 41 #define __ITransactionDispenser_FWD_DEFINED__ 42 typedef struct ITransactionDispenser ITransactionDispenser; 43 #endif 44 45 #ifndef __ITransactionOptions_FWD_DEFINED__ 46 #define __ITransactionOptions_FWD_DEFINED__ 47 typedef struct ITransactionOptions ITransactionOptions; 48 #endif 49 50 #ifndef __ITransactionOutcomeEvents_FWD_DEFINED__ 51 #define __ITransactionOutcomeEvents_FWD_DEFINED__ 52 typedef struct ITransactionOutcomeEvents ITransactionOutcomeEvents; 53 #endif 54 55 #ifndef __ITmNodeName_FWD_DEFINED__ 56 #define __ITmNodeName_FWD_DEFINED__ 57 typedef struct ITmNodeName ITmNodeName; 58 #endif 59 60 #include "unknwn.h" 61 62 #ifdef __cplusplus 63 extern "C" { 64 #endif 65 66 #ifndef __MIDL_user_allocate_free_DEFINED__ 67 #define __MIDL_user_allocate_free_DEFINED__ 68 void *__RPC_API MIDL_user_allocate(size_t); 69 void __RPC_API MIDL_user_free(void *); 70 #endif 71 72 #include "winerror.h" 73 74 extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_c_ifspec; 75 extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_s_ifspec; 76 77 #ifndef __BasicTransactionTypes_INTERFACE_DEFINED__ 78 #define __BasicTransactionTypes_INTERFACE_DEFINED__ 79 80 typedef struct BOID { 81 byte rgb[16 ]; 82 } BOID; 83 84 #define BOID_NULL (*((BOID*)(&IID_NULL))) 85 #ifndef MAX_TRAN_DESC_DEFINED 86 #define MAX_TRAN_DESC_DEFINED 87 typedef enum TX_MISC_CONSTANTS { 88 MAX_TRAN_DESC = 40 89 } TX_MISC_CONSTANTS; 90 #endif 91 typedef BOID XACTUOW; 92 typedef LONG ISOLEVEL; 93 94 typedef enum ISOLATIONLEVEL { 95 ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff,ISOLATIONLEVEL_CHAOS = 0x10,ISOLATIONLEVEL_READUNCOMMITTED = 0x100,ISOLATIONLEVEL_BROWSE = 0x100, 96 ISOLATIONLEVEL_CURSORSTABILITY = 0x1000,ISOLATIONLEVEL_READCOMMITTED = 0x1000,ISOLATIONLEVEL_REPEATABLEREAD = 0x10000, 97 ISOLATIONLEVEL_SERIALIZABLE = 0x100000,ISOLATIONLEVEL_ISOLATED = 0x100000 98 } ISOLATIONLEVEL; 99 100 typedef struct XACTTRANSINFO { 101 XACTUOW uow; 102 ISOLEVEL isoLevel; 103 ULONG isoFlags; 104 DWORD grfTCSupported; 105 DWORD grfRMSupported; 106 DWORD grfTCSupportedRetaining; 107 DWORD grfRMSupportedRetaining; 108 } XACTTRANSINFO; 109 110 typedef struct XACTSTATS { 111 ULONG cOpen; 112 ULONG cCommitting; 113 ULONG cCommitted; 114 ULONG cAborting; 115 ULONG cAborted; 116 ULONG cInDoubt; 117 ULONG cHeuristicDecision; 118 FILETIME timeTransactionsUp; 119 } XACTSTATS; 120 121 typedef enum ISOFLAG { 122 ISOFLAG_RETAIN_COMMIT_DC = 1,ISOFLAG_RETAIN_COMMIT = 2,ISOFLAG_RETAIN_COMMIT_NO = 3,ISOFLAG_RETAIN_ABORT_DC = 4,ISOFLAG_RETAIN_ABORT = 8, 123 ISOFLAG_RETAIN_ABORT_NO = 12,ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC, 124 ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,ISOFLAG_OPTIMISTIC = 16,ISOFLAG_READONLY = 32 125 } ISOFLAG; 126 127 typedef enum XACTTC { 128 XACTTC_NONE = 0,XACTTC_SYNC_PHASEONE = 1,XACTTC_SYNC_PHASETWO = 2,XACTTC_SYNC = 2,XACTTC_ASYNC_PHASEONE = 4,XACTTC_ASYNC = 4 129 } XACTTC; 130 131 typedef enum XACTRM { 132 XACTRM_OPTIMISTICLASTWINS = 1,XACTRM_NOREADONLYPREPARES = 2 133 } XACTRM; 134 135 typedef enum XACTCONST { 136 XACTCONST_TIMEOUTINFINITE = 0 137 } XACTCONST; 138 139 typedef enum XACTHEURISTIC { 140 XACTHEURISTIC_ABORT = 1,XACTHEURISTIC_COMMIT = 2,XACTHEURISTIC_DAMAGE = 3,XACTHEURISTIC_DANGER = 4 141 } XACTHEURISTIC; 142 143 typedef enum XACTSTAT { 144 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 145 } XACTSTAT; 146 147 typedef struct XACTOPT { 148 ULONG ulTimeout; 149 char szDescription[40 ]; 150 } XACTOPT; 151 152 extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec; 153 extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec; 154 #endif 155 156 #ifndef __ITransaction_INTERFACE_DEFINED__ 157 #define __ITransaction_INTERFACE_DEFINED__ 158 EXTERN_C const IID IID_ITransaction; 159 #if defined(__cplusplus) && !defined(CINTERFACE) 160 struct ITransaction : public IUnknown { 161 public: 162 virtual HRESULT WINAPI Commit(WINBOOL fRetaining,DWORD grfTC,DWORD grfRM) = 0; 163 virtual HRESULT WINAPI Abort(BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync) = 0; 164 virtual HRESULT WINAPI GetTransactionInfo(XACTTRANSINFO *pinfo) = 0; 165 }; 166 #else 167 typedef struct ITransactionVtbl { 168 BEGIN_INTERFACE 169 HRESULT (WINAPI *QueryInterface)(ITransaction *This,REFIID riid,void **ppvObject); 170 ULONG (WINAPI *AddRef)(ITransaction *This); 171 ULONG (WINAPI *Release)(ITransaction *This); 172 HRESULT (WINAPI *Commit)(ITransaction *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); 173 HRESULT (WINAPI *Abort)(ITransaction *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); 174 HRESULT (WINAPI *GetTransactionInfo)(ITransaction *This,XACTTRANSINFO *pinfo); 175 END_INTERFACE 176 } ITransactionVtbl; 177 struct ITransaction { 178 CONST_VTBL struct ITransactionVtbl *lpVtbl; 179 }; 180 #ifdef COBJMACROS 181 #define ITransaction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 182 #define ITransaction_AddRef(This) (This)->lpVtbl->AddRef(This) 183 #define ITransaction_Release(This) (This)->lpVtbl->Release(This) 184 #define ITransaction_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) 185 #define ITransaction_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) 186 #define ITransaction_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) 187 #endif 188 #endif 189 HRESULT WINAPI ITransaction_Commit_Proxy(ITransaction *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); 190 void __RPC_STUB ITransaction_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 191 HRESULT WINAPI ITransaction_Abort_Proxy(ITransaction *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); 192 void __RPC_STUB ITransaction_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 193 HRESULT WINAPI ITransaction_GetTransactionInfo_Proxy(ITransaction *This,XACTTRANSINFO *pinfo); 194 void __RPC_STUB ITransaction_GetTransactionInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 195 #endif 196 197 #ifndef __ITransactionCloner_INTERFACE_DEFINED__ 198 #define __ITransactionCloner_INTERFACE_DEFINED__ 199 EXTERN_C const IID IID_ITransactionCloner; 200 #if defined(__cplusplus) && !defined(CINTERFACE) 201 struct ITransactionCloner : public ITransaction { 202 public: 203 virtual HRESULT WINAPI CloneWithCommitDisabled(ITransaction **ppITransaction) = 0; 204 }; 205 #else 206 typedef struct ITransactionClonerVtbl { 207 BEGIN_INTERFACE 208 HRESULT (WINAPI *QueryInterface)(ITransactionCloner *This,REFIID riid,void **ppvObject); 209 ULONG (WINAPI *AddRef)(ITransactionCloner *This); 210 ULONG (WINAPI *Release)(ITransactionCloner *This); 211 HRESULT (WINAPI *Commit)(ITransactionCloner *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); 212 HRESULT (WINAPI *Abort)(ITransactionCloner *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); 213 HRESULT (WINAPI *GetTransactionInfo)(ITransactionCloner *This,XACTTRANSINFO *pinfo); 214 HRESULT (WINAPI *CloneWithCommitDisabled)(ITransactionCloner *This,ITransaction **ppITransaction); 215 END_INTERFACE 216 } ITransactionClonerVtbl; 217 struct ITransactionCloner { 218 CONST_VTBL struct ITransactionClonerVtbl *lpVtbl; 219 }; 220 #ifdef COBJMACROS 221 #define ITransactionCloner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 222 #define ITransactionCloner_AddRef(This) (This)->lpVtbl->AddRef(This) 223 #define ITransactionCloner_Release(This) (This)->lpVtbl->Release(This) 224 #define ITransactionCloner_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) 225 #define ITransactionCloner_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) 226 #define ITransactionCloner_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) 227 #define ITransactionCloner_CloneWithCommitDisabled(This,ppITransaction) (This)->lpVtbl->CloneWithCommitDisabled(This,ppITransaction) 228 #endif 229 #endif 230 HRESULT WINAPI ITransactionCloner_CloneWithCommitDisabled_Proxy(ITransactionCloner *This,ITransaction **ppITransaction); 231 void __RPC_STUB ITransactionCloner_CloneWithCommitDisabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 232 #endif 233 234 #ifndef __ITransaction2_INTERFACE_DEFINED__ 235 #define __ITransaction2_INTERFACE_DEFINED__ 236 EXTERN_C const IID IID_ITransaction2; 237 #if defined(__cplusplus) && !defined(CINTERFACE) 238 struct ITransaction2 : public ITransactionCloner { 239 public: 240 virtual HRESULT WINAPI GetTransactionInfo2(XACTTRANSINFO *pinfo) = 0; 241 }; 242 #else 243 typedef struct ITransaction2Vtbl { 244 BEGIN_INTERFACE 245 HRESULT (WINAPI *QueryInterface)(ITransaction2 *This,REFIID riid,void **ppvObject); 246 ULONG (WINAPI *AddRef)(ITransaction2 *This); 247 ULONG (WINAPI *Release)(ITransaction2 *This); 248 HRESULT (WINAPI *Commit)(ITransaction2 *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); 249 HRESULT (WINAPI *Abort)(ITransaction2 *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); 250 HRESULT (WINAPI *GetTransactionInfo)(ITransaction2 *This,XACTTRANSINFO *pinfo); 251 HRESULT (WINAPI *CloneWithCommitDisabled)(ITransaction2 *This,ITransaction **ppITransaction); 252 HRESULT (WINAPI *GetTransactionInfo2)(ITransaction2 *This,XACTTRANSINFO *pinfo); 253 END_INTERFACE 254 } ITransaction2Vtbl; 255 struct ITransaction2 { 256 CONST_VTBL struct ITransaction2Vtbl *lpVtbl; 257 }; 258 #ifdef COBJMACROS 259 #define ITransaction2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 260 #define ITransaction2_AddRef(This) (This)->lpVtbl->AddRef(This) 261 #define ITransaction2_Release(This) (This)->lpVtbl->Release(This) 262 #define ITransaction2_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) 263 #define ITransaction2_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) 264 #define ITransaction2_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) 265 #define ITransaction2_CloneWithCommitDisabled(This,ppITransaction) (This)->lpVtbl->CloneWithCommitDisabled(This,ppITransaction) 266 #define ITransaction2_GetTransactionInfo2(This,pinfo) (This)->lpVtbl->GetTransactionInfo2(This,pinfo) 267 #endif 268 #endif 269 HRESULT WINAPI ITransaction2_GetTransactionInfo2_Proxy(ITransaction2 *This,XACTTRANSINFO *pinfo); 270 void __RPC_STUB ITransaction2_GetTransactionInfo2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 271 #endif 272 273 #ifndef __ITransactionDispenser_INTERFACE_DEFINED__ 274 #define __ITransactionDispenser_INTERFACE_DEFINED__ 275 EXTERN_C const IID IID_ITransactionDispenser; 276 #if defined(__cplusplus) && !defined(CINTERFACE) 277 struct ITransactionDispenser : public IUnknown { 278 public: 279 virtual HRESULT WINAPI GetOptionsObject(ITransactionOptions **ppOptions) = 0; 280 virtual HRESULT WINAPI BeginTransaction(IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction) = 0; 281 }; 282 #else 283 typedef struct ITransactionDispenserVtbl { 284 BEGIN_INTERFACE 285 HRESULT (WINAPI *QueryInterface)(ITransactionDispenser *This,REFIID riid,void **ppvObject); 286 ULONG (WINAPI *AddRef)(ITransactionDispenser *This); 287 ULONG (WINAPI *Release)(ITransactionDispenser *This); 288 HRESULT (WINAPI *GetOptionsObject)(ITransactionDispenser *This,ITransactionOptions **ppOptions); 289 HRESULT (WINAPI *BeginTransaction)(ITransactionDispenser *This,IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction); 290 END_INTERFACE 291 } ITransactionDispenserVtbl; 292 struct ITransactionDispenser { 293 CONST_VTBL struct ITransactionDispenserVtbl *lpVtbl; 294 }; 295 #ifdef COBJMACROS 296 #define ITransactionDispenser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 297 #define ITransactionDispenser_AddRef(This) (This)->lpVtbl->AddRef(This) 298 #define ITransactionDispenser_Release(This) (This)->lpVtbl->Release(This) 299 #define ITransactionDispenser_GetOptionsObject(This,ppOptions) (This)->lpVtbl->GetOptionsObject(This,ppOptions) 300 #define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) (This)->lpVtbl->BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) 301 #endif 302 #endif 303 HRESULT WINAPI ITransactionDispenser_GetOptionsObject_Proxy(ITransactionDispenser *This,ITransactionOptions **ppOptions); 304 void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 305 HRESULT WINAPI ITransactionDispenser_BeginTransaction_Proxy(ITransactionDispenser *This,IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction); 306 void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 307 #endif 308 309 #ifndef __ITransactionOptions_INTERFACE_DEFINED__ 310 #define __ITransactionOptions_INTERFACE_DEFINED__ 311 EXTERN_C const IID IID_ITransactionOptions; 312 #if defined(__cplusplus) && !defined(CINTERFACE) 313 struct ITransactionOptions : public IUnknown { 314 public: 315 virtual HRESULT WINAPI SetOptions(XACTOPT *pOptions) = 0; 316 virtual HRESULT WINAPI GetOptions(XACTOPT *pOptions) = 0; 317 }; 318 #else 319 typedef struct ITransactionOptionsVtbl { 320 BEGIN_INTERFACE 321 HRESULT (WINAPI *QueryInterface)(ITransactionOptions *This,REFIID riid,void **ppvObject); 322 ULONG (WINAPI *AddRef)(ITransactionOptions *This); 323 ULONG (WINAPI *Release)(ITransactionOptions *This); 324 HRESULT (WINAPI *SetOptions)(ITransactionOptions *This,XACTOPT *pOptions); 325 HRESULT (WINAPI *GetOptions)(ITransactionOptions *This,XACTOPT *pOptions); 326 END_INTERFACE 327 } ITransactionOptionsVtbl; 328 struct ITransactionOptions { 329 CONST_VTBL struct ITransactionOptionsVtbl *lpVtbl; 330 }; 331 #ifdef COBJMACROS 332 #define ITransactionOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 333 #define ITransactionOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 334 #define ITransactionOptions_Release(This) (This)->lpVtbl->Release(This) 335 #define ITransactionOptions_SetOptions(This,pOptions) (This)->lpVtbl->SetOptions(This,pOptions) 336 #define ITransactionOptions_GetOptions(This,pOptions) (This)->lpVtbl->GetOptions(This,pOptions) 337 #endif 338 #endif 339 HRESULT WINAPI ITransactionOptions_SetOptions_Proxy(ITransactionOptions *This,XACTOPT *pOptions); 340 void __RPC_STUB ITransactionOptions_SetOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 341 HRESULT WINAPI ITransactionOptions_GetOptions_Proxy(ITransactionOptions *This,XACTOPT *pOptions); 342 void __RPC_STUB ITransactionOptions_GetOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 343 #endif 344 345 #ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__ 346 #define __ITransactionOutcomeEvents_INTERFACE_DEFINED__ 347 EXTERN_C const IID IID_ITransactionOutcomeEvents; 348 #if defined(__cplusplus) && !defined(CINTERFACE) 349 struct ITransactionOutcomeEvents : public IUnknown { 350 public: 351 virtual HRESULT WINAPI Committed(WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr) = 0; 352 virtual HRESULT WINAPI Aborted(BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr) = 0; 353 virtual HRESULT WINAPI HeuristicDecision(DWORD dwDecision,BOID *pboidReason,HRESULT hr) = 0; 354 virtual HRESULT WINAPI Indoubt(void) = 0; 355 }; 356 #else 357 typedef struct ITransactionOutcomeEventsVtbl { 358 BEGIN_INTERFACE 359 HRESULT (WINAPI *QueryInterface)(ITransactionOutcomeEvents *This,REFIID riid,void **ppvObject); 360 ULONG (WINAPI *AddRef)(ITransactionOutcomeEvents *This); 361 ULONG (WINAPI *Release)(ITransactionOutcomeEvents *This); 362 HRESULT (WINAPI *Committed)(ITransactionOutcomeEvents *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); 363 HRESULT (WINAPI *Aborted)(ITransactionOutcomeEvents *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); 364 HRESULT (WINAPI *HeuristicDecision)(ITransactionOutcomeEvents *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr); 365 HRESULT (WINAPI *Indoubt)(ITransactionOutcomeEvents *This); 366 END_INTERFACE 367 } ITransactionOutcomeEventsVtbl; 368 struct ITransactionOutcomeEvents { 369 CONST_VTBL struct ITransactionOutcomeEventsVtbl *lpVtbl; 370 }; 371 #ifdef COBJMACROS 372 #define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 373 #define ITransactionOutcomeEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 374 #define ITransactionOutcomeEvents_Release(This) (This)->lpVtbl->Release(This) 375 #define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr) (This)->lpVtbl->Committed(This,fRetaining,pNewUOW,hr) 376 #define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) (This)->lpVtbl->Aborted(This,pboidReason,fRetaining,pNewUOW,hr) 377 #define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr) (This)->lpVtbl->HeuristicDecision(This,dwDecision,pboidReason,hr) 378 #define ITransactionOutcomeEvents_Indoubt(This) (This)->lpVtbl->Indoubt(This) 379 #endif 380 #endif 381 HRESULT WINAPI ITransactionOutcomeEvents_Committed_Proxy(ITransactionOutcomeEvents *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); 382 void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 383 HRESULT WINAPI ITransactionOutcomeEvents_Aborted_Proxy(ITransactionOutcomeEvents *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); 384 void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 385 HRESULT WINAPI ITransactionOutcomeEvents_HeuristicDecision_Proxy(ITransactionOutcomeEvents *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr); 386 void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 387 HRESULT WINAPI ITransactionOutcomeEvents_Indoubt_Proxy(ITransactionOutcomeEvents *This); 388 void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 389 #endif 390 391 #ifndef __ITmNodeName_INTERFACE_DEFINED__ 392 #define __ITmNodeName_INTERFACE_DEFINED__ 393 EXTERN_C const IID IID_ITmNodeName; 394 #if defined(__cplusplus) && !defined(CINTERFACE) 395 struct ITmNodeName : public IUnknown { 396 public: 397 virtual HRESULT WINAPI GetNodeNameSize(ULONG *pcbNodeNameSize) = 0; 398 virtual HRESULT WINAPI GetNodeName(ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer) = 0; 399 }; 400 #else 401 typedef struct ITmNodeNameVtbl { 402 BEGIN_INTERFACE 403 HRESULT (WINAPI *QueryInterface)(ITmNodeName *This,REFIID riid,void **ppvObject); 404 ULONG (WINAPI *AddRef)(ITmNodeName *This); 405 ULONG (WINAPI *Release)(ITmNodeName *This); 406 HRESULT (WINAPI *GetNodeNameSize)(ITmNodeName *This,ULONG *pcbNodeNameSize); 407 HRESULT (WINAPI *GetNodeName)(ITmNodeName *This,ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer); 408 END_INTERFACE 409 } ITmNodeNameVtbl; 410 struct ITmNodeName { 411 CONST_VTBL struct ITmNodeNameVtbl *lpVtbl; 412 }; 413 #ifdef COBJMACROS 414 #define ITmNodeName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 415 #define ITmNodeName_AddRef(This) (This)->lpVtbl->AddRef(This) 416 #define ITmNodeName_Release(This) (This)->lpVtbl->Release(This) 417 #define ITmNodeName_GetNodeNameSize(This,pcbNodeNameSize) (This)->lpVtbl->GetNodeNameSize(This,pcbNodeNameSize) 418 #define ITmNodeName_GetNodeName(This,cbNodeNameBufferSize,pNodeNameBuffer) (This)->lpVtbl->GetNodeName(This,cbNodeNameBufferSize,pNodeNameBuffer) 419 #endif 420 #endif 421 HRESULT WINAPI ITmNodeName_GetNodeNameSize_Proxy(ITmNodeName *This,ULONG *pcbNodeNameSize); 422 void __RPC_STUB ITmNodeName_GetNodeNameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 423 HRESULT WINAPI ITmNodeName_GetNodeName_Proxy(ITmNodeName *This,ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer); 424 void __RPC_STUB ITmNodeName_GetNodeName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 425 #endif 426 427 DEFINE_GUID(IID_ITransaction,0x0fb15084,0xaf41,0x11ce,0xbd,0x2b,0x20,0x4c,0x4f,0x4f,0x50,0x20); 428 DEFINE_GUID(IID_ITransactionCloner,0x02656950,0x2152,0x11d0,0x94,0x4C,0x00,0xA0,0xC9,0x05,0x41,0x6E); 429 DEFINE_GUID(IID_ITransaction2,0x34021548,0x0065,0x11d3,0xba,0xc1,0x00,0xc0,0x4f,0x79,0x7b,0xe2); 430 DEFINE_GUID(IID_ITransactionDispenser,0x3A6AD9E1,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); 431 DEFINE_GUID(IID_ITransactionOptions,0x3A6AD9E0,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); 432 DEFINE_GUID(IID_ITransactionOutcomeEvents,0x3A6AD9E2,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); 433 DEFINE_GUID(IID_ITmNodeName,0x30274F88,0x6EE4,0x474e,0x9B,0x95,0x78,0x07,0xBC,0x9E,0xF8,0xCF); 434 435 extern RPC_IF_HANDLE __MIDL_itf_transact_0016_v0_0_c_ifspec; 436 extern RPC_IF_HANDLE __MIDL_itf_transact_0016_v0_0_s_ifspec; 437 438 #ifdef __cplusplus 439 } 440 #endif 441 #endif 442