Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1092 lines
30 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for transact.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __transact_h__
  27. #define __transact_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ITransaction_FWD_DEFINED__
  33. #define __ITransaction_FWD_DEFINED__
  34. typedef interface ITransaction ITransaction;
  35. #endif /* __ITransaction_FWD_DEFINED__ */
  36. #ifndef __ITransactionCloner_FWD_DEFINED__
  37. #define __ITransactionCloner_FWD_DEFINED__
  38. typedef interface ITransactionCloner ITransactionCloner;
  39. #endif /* __ITransactionCloner_FWD_DEFINED__ */
  40. #ifndef __ITransaction2_FWD_DEFINED__
  41. #define __ITransaction2_FWD_DEFINED__
  42. typedef interface ITransaction2 ITransaction2;
  43. #endif /* __ITransaction2_FWD_DEFINED__ */
  44. #ifndef __ITransactionDispenser_FWD_DEFINED__
  45. #define __ITransactionDispenser_FWD_DEFINED__
  46. typedef interface ITransactionDispenser ITransactionDispenser;
  47. #endif /* __ITransactionDispenser_FWD_DEFINED__ */
  48. #ifndef __ITransactionOptions_FWD_DEFINED__
  49. #define __ITransactionOptions_FWD_DEFINED__
  50. typedef interface ITransactionOptions ITransactionOptions;
  51. #endif /* __ITransactionOptions_FWD_DEFINED__ */
  52. #ifndef __ITransactionOutcomeEvents_FWD_DEFINED__
  53. #define __ITransactionOutcomeEvents_FWD_DEFINED__
  54. typedef interface ITransactionOutcomeEvents ITransactionOutcomeEvents;
  55. #endif /* __ITransactionOutcomeEvents_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "unknwn.h"
  58. #ifdef __cplusplus
  59. extern "C"{
  60. #endif
  61. void * __RPC_USER MIDL_user_allocate(size_t);
  62. void __RPC_USER MIDL_user_free( void * );
  63. /* interface __MIDL_itf_transact_0000 */
  64. /* [local] */
  65. #include "winerror.h"
  66. #ifndef DECLSPEC_UUID
  67. #if (_MSC_VER >= 1100) && defined (__cplusplus)
  68. #define DECLSPEC_UUID(x) __declspec(uuid(x))
  69. #else
  70. #define DECLSPEC_UUID(x)
  71. #endif
  72. #endif
  73. extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_c_ifspec;
  74. extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_s_ifspec;
  75. #ifndef __BasicTransactionTypes_INTERFACE_DEFINED__
  76. #define __BasicTransactionTypes_INTERFACE_DEFINED__
  77. /* interface BasicTransactionTypes */
  78. /* [unique][local] */
  79. typedef struct BOID
  80. {
  81. byte rgb[ 16 ];
  82. } BOID;
  83. #define BOID_NULL (*((BOID*)(&IID_NULL)))
  84. #ifndef MAX_TRAN_DESC_DEFINED
  85. #define MAX_TRAN_DESC_DEFINED
  86. typedef
  87. enum TX_MISC_CONSTANTS
  88. { MAX_TRAN_DESC = 40
  89. } TX_MISC_CONSTANTS;
  90. #endif
  91. typedef BOID XACTUOW;
  92. typedef LONG ISOLEVEL;
  93. typedef
  94. enum ISOLATIONLEVEL
  95. { ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff,
  96. ISOLATIONLEVEL_CHAOS = 0x10,
  97. ISOLATIONLEVEL_READUNCOMMITTED = 0x100,
  98. ISOLATIONLEVEL_BROWSE = 0x100,
  99. ISOLATIONLEVEL_CURSORSTABILITY = 0x1000,
  100. ISOLATIONLEVEL_READCOMMITTED = 0x1000,
  101. ISOLATIONLEVEL_REPEATABLEREAD = 0x10000,
  102. ISOLATIONLEVEL_SERIALIZABLE = 0x100000,
  103. ISOLATIONLEVEL_ISOLATED = 0x100000
  104. } ISOLATIONLEVEL;
  105. typedef struct XACTTRANSINFO
  106. {
  107. XACTUOW uow;
  108. ISOLEVEL isoLevel;
  109. ULONG isoFlags;
  110. DWORD grfTCSupported;
  111. DWORD grfRMSupported;
  112. DWORD grfTCSupportedRetaining;
  113. DWORD grfRMSupportedRetaining;
  114. } XACTTRANSINFO;
  115. typedef struct XACTSTATS
  116. {
  117. ULONG cOpen;
  118. ULONG cCommitting;
  119. ULONG cCommitted;
  120. ULONG cAborting;
  121. ULONG cAborted;
  122. ULONG cInDoubt;
  123. ULONG cHeuristicDecision;
  124. FILETIME timeTransactionsUp;
  125. } XACTSTATS;
  126. typedef
  127. enum ISOFLAG
  128. { ISOFLAG_RETAIN_COMMIT_DC = 1,
  129. ISOFLAG_RETAIN_COMMIT = 2,
  130. ISOFLAG_RETAIN_COMMIT_NO = 3,
  131. ISOFLAG_RETAIN_ABORT_DC = 4,
  132. ISOFLAG_RETAIN_ABORT = 8,
  133. ISOFLAG_RETAIN_ABORT_NO = 12,
  134. ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC,
  135. ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,
  136. ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,
  137. ISOFLAG_OPTIMISTIC = 16,
  138. ISOFLAG_READONLY = 32
  139. } ISOFLAG;
  140. typedef
  141. enum XACTTC
  142. { XACTTC_NONE = 0,
  143. XACTTC_SYNC_PHASEONE = 1,
  144. XACTTC_SYNC_PHASETWO = 2,
  145. XACTTC_SYNC = 2,
  146. XACTTC_ASYNC_PHASEONE = 4,
  147. XACTTC_ASYNC = 4
  148. } XACTTC;
  149. typedef
  150. enum XACTRM
  151. { XACTRM_OPTIMISTICLASTWINS = 1,
  152. XACTRM_NOREADONLYPREPARES = 2
  153. } XACTRM;
  154. typedef
  155. enum XACTCONST
  156. { XACTCONST_TIMEOUTINFINITE = 0
  157. } XACTCONST;
  158. typedef
  159. enum XACTHEURISTIC
  160. { XACTHEURISTIC_ABORT = 1,
  161. XACTHEURISTIC_COMMIT = 2,
  162. XACTHEURISTIC_DAMAGE = 3,
  163. XACTHEURISTIC_DANGER = 4
  164. } XACTHEURISTIC;
  165. typedef
  166. enum XACTSTAT
  167. { XACTSTAT_NONE = 0,
  168. XACTSTAT_OPENNORMAL = 0x1,
  169. XACTSTAT_OPENREFUSED = 0x2,
  170. XACTSTAT_PREPARING = 0x4,
  171. XACTSTAT_PREPARED = 0x8,
  172. XACTSTAT_PREPARERETAINING = 0x10,
  173. XACTSTAT_PREPARERETAINED = 0x20,
  174. XACTSTAT_COMMITTING = 0x40,
  175. XACTSTAT_COMMITRETAINING = 0x80,
  176. XACTSTAT_ABORTING = 0x100,
  177. XACTSTAT_ABORTED = 0x200,
  178. XACTSTAT_COMMITTED = 0x400,
  179. XACTSTAT_HEURISTIC_ABORT = 0x800,
  180. XACTSTAT_HEURISTIC_COMMIT = 0x1000,
  181. XACTSTAT_HEURISTIC_DAMAGE = 0x2000,
  182. XACTSTAT_HEURISTIC_DANGER = 0x4000,
  183. XACTSTAT_FORCED_ABORT = 0x8000,
  184. XACTSTAT_FORCED_COMMIT = 0x10000,
  185. XACTSTAT_INDOUBT = 0x20000,
  186. XACTSTAT_CLOSED = 0x40000,
  187. XACTSTAT_OPEN = 0x3,
  188. XACTSTAT_NOTPREPARED = 0x7ffc3,
  189. XACTSTAT_ALL = 0x7ffff
  190. } XACTSTAT;
  191. typedef struct XACTOPT
  192. {
  193. ULONG ulTimeout;
  194. char szDescription[ 40 ];
  195. } XACTOPT;
  196. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec;
  197. extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec;
  198. #endif /* __BasicTransactionTypes_INTERFACE_DEFINED__ */
  199. #ifndef __ITransaction_INTERFACE_DEFINED__
  200. #define __ITransaction_INTERFACE_DEFINED__
  201. /* interface ITransaction */
  202. /* [unique][uuid][object] */
  203. EXTERN_C const IID IID_ITransaction;
  204. #if defined(__cplusplus) && !defined(CINTERFACE)
  205. MIDL_INTERFACE("0fb15084-af41-11ce-bd2b-204c4f4f5020")
  206. ITransaction : public IUnknown
  207. {
  208. public:
  209. virtual HRESULT STDMETHODCALLTYPE Commit(
  210. /* [in] */ BOOL fRetaining,
  211. /* [in] */ DWORD grfTC,
  212. /* [in] */ DWORD grfRM) = 0;
  213. virtual HRESULT STDMETHODCALLTYPE Abort(
  214. /* [unique][in] */ BOID *pboidReason,
  215. /* [in] */ BOOL fRetaining,
  216. /* [in] */ BOOL fAsync) = 0;
  217. virtual HRESULT STDMETHODCALLTYPE GetTransactionInfo(
  218. /* [out] */ XACTTRANSINFO *pinfo) = 0;
  219. };
  220. #else /* C style interface */
  221. typedef struct ITransactionVtbl
  222. {
  223. BEGIN_INTERFACE
  224. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  225. ITransaction * This,
  226. /* [in] */ REFIID riid,
  227. /* [iid_is][out] */ void **ppvObject);
  228. ULONG ( STDMETHODCALLTYPE *AddRef )(
  229. ITransaction * This);
  230. ULONG ( STDMETHODCALLTYPE *Release )(
  231. ITransaction * This);
  232. HRESULT ( STDMETHODCALLTYPE *Commit )(
  233. ITransaction * This,
  234. /* [in] */ BOOL fRetaining,
  235. /* [in] */ DWORD grfTC,
  236. /* [in] */ DWORD grfRM);
  237. HRESULT ( STDMETHODCALLTYPE *Abort )(
  238. ITransaction * This,
  239. /* [unique][in] */ BOID *pboidReason,
  240. /* [in] */ BOOL fRetaining,
  241. /* [in] */ BOOL fAsync);
  242. HRESULT ( STDMETHODCALLTYPE *GetTransactionInfo )(
  243. ITransaction * This,
  244. /* [out] */ XACTTRANSINFO *pinfo);
  245. END_INTERFACE
  246. } ITransactionVtbl;
  247. interface ITransaction
  248. {
  249. CONST_VTBL struct ITransactionVtbl *lpVtbl;
  250. };
  251. #ifdef COBJMACROS
  252. #define ITransaction_QueryInterface(This,riid,ppvObject) \
  253. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  254. #define ITransaction_AddRef(This) \
  255. (This)->lpVtbl -> AddRef(This)
  256. #define ITransaction_Release(This) \
  257. (This)->lpVtbl -> Release(This)
  258. #define ITransaction_Commit(This,fRetaining,grfTC,grfRM) \
  259. (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  260. #define ITransaction_Abort(This,pboidReason,fRetaining,fAsync) \
  261. (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  262. #define ITransaction_GetTransactionInfo(This,pinfo) \
  263. (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  264. #endif /* COBJMACROS */
  265. #endif /* C style interface */
  266. HRESULT STDMETHODCALLTYPE ITransaction_Commit_Proxy(
  267. ITransaction * This,
  268. /* [in] */ BOOL fRetaining,
  269. /* [in] */ DWORD grfTC,
  270. /* [in] */ DWORD grfRM);
  271. void __RPC_STUB ITransaction_Commit_Stub(
  272. IRpcStubBuffer *This,
  273. IRpcChannelBuffer *_pRpcChannelBuffer,
  274. PRPC_MESSAGE _pRpcMessage,
  275. DWORD *_pdwStubPhase);
  276. HRESULT STDMETHODCALLTYPE ITransaction_Abort_Proxy(
  277. ITransaction * This,
  278. /* [unique][in] */ BOID *pboidReason,
  279. /* [in] */ BOOL fRetaining,
  280. /* [in] */ BOOL fAsync);
  281. void __RPC_STUB ITransaction_Abort_Stub(
  282. IRpcStubBuffer *This,
  283. IRpcChannelBuffer *_pRpcChannelBuffer,
  284. PRPC_MESSAGE _pRpcMessage,
  285. DWORD *_pdwStubPhase);
  286. HRESULT STDMETHODCALLTYPE ITransaction_GetTransactionInfo_Proxy(
  287. ITransaction * This,
  288. /* [out] */ XACTTRANSINFO *pinfo);
  289. void __RPC_STUB ITransaction_GetTransactionInfo_Stub(
  290. IRpcStubBuffer *This,
  291. IRpcChannelBuffer *_pRpcChannelBuffer,
  292. PRPC_MESSAGE _pRpcMessage,
  293. DWORD *_pdwStubPhase);
  294. #endif /* __ITransaction_INTERFACE_DEFINED__ */
  295. #ifndef __ITransactionCloner_INTERFACE_DEFINED__
  296. #define __ITransactionCloner_INTERFACE_DEFINED__
  297. /* interface ITransactionCloner */
  298. /* [unique][uuid][object] */
  299. EXTERN_C const IID IID_ITransactionCloner;
  300. #if defined(__cplusplus) && !defined(CINTERFACE)
  301. MIDL_INTERFACE("02656950-2152-11d0-944C-00A0C905416E")
  302. ITransactionCloner : public ITransaction
  303. {
  304. public:
  305. virtual HRESULT STDMETHODCALLTYPE CloneWithCommitDisabled(
  306. /* [out] */ ITransaction **ppITransaction) = 0;
  307. };
  308. #else /* C style interface */
  309. typedef struct ITransactionClonerVtbl
  310. {
  311. BEGIN_INTERFACE
  312. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  313. ITransactionCloner * This,
  314. /* [in] */ REFIID riid,
  315. /* [iid_is][out] */ void **ppvObject);
  316. ULONG ( STDMETHODCALLTYPE *AddRef )(
  317. ITransactionCloner * This);
  318. ULONG ( STDMETHODCALLTYPE *Release )(
  319. ITransactionCloner * This);
  320. HRESULT ( STDMETHODCALLTYPE *Commit )(
  321. ITransactionCloner * This,
  322. /* [in] */ BOOL fRetaining,
  323. /* [in] */ DWORD grfTC,
  324. /* [in] */ DWORD grfRM);
  325. HRESULT ( STDMETHODCALLTYPE *Abort )(
  326. ITransactionCloner * This,
  327. /* [unique][in] */ BOID *pboidReason,
  328. /* [in] */ BOOL fRetaining,
  329. /* [in] */ BOOL fAsync);
  330. HRESULT ( STDMETHODCALLTYPE *GetTransactionInfo )(
  331. ITransactionCloner * This,
  332. /* [out] */ XACTTRANSINFO *pinfo);
  333. HRESULT ( STDMETHODCALLTYPE *CloneWithCommitDisabled )(
  334. ITransactionCloner * This,
  335. /* [out] */ ITransaction **ppITransaction);
  336. END_INTERFACE
  337. } ITransactionClonerVtbl;
  338. interface ITransactionCloner
  339. {
  340. CONST_VTBL struct ITransactionClonerVtbl *lpVtbl;
  341. };
  342. #ifdef COBJMACROS
  343. #define ITransactionCloner_QueryInterface(This,riid,ppvObject) \
  344. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  345. #define ITransactionCloner_AddRef(This) \
  346. (This)->lpVtbl -> AddRef(This)
  347. #define ITransactionCloner_Release(This) \
  348. (This)->lpVtbl -> Release(This)
  349. #define ITransactionCloner_Commit(This,fRetaining,grfTC,grfRM) \
  350. (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  351. #define ITransactionCloner_Abort(This,pboidReason,fRetaining,fAsync) \
  352. (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  353. #define ITransactionCloner_GetTransactionInfo(This,pinfo) \
  354. (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  355. #define ITransactionCloner_CloneWithCommitDisabled(This,ppITransaction) \
  356. (This)->lpVtbl -> CloneWithCommitDisabled(This,ppITransaction)
  357. #endif /* COBJMACROS */
  358. #endif /* C style interface */
  359. HRESULT STDMETHODCALLTYPE ITransactionCloner_CloneWithCommitDisabled_Proxy(
  360. ITransactionCloner * This,
  361. /* [out] */ ITransaction **ppITransaction);
  362. void __RPC_STUB ITransactionCloner_CloneWithCommitDisabled_Stub(
  363. IRpcStubBuffer *This,
  364. IRpcChannelBuffer *_pRpcChannelBuffer,
  365. PRPC_MESSAGE _pRpcMessage,
  366. DWORD *_pdwStubPhase);
  367. #endif /* __ITransactionCloner_INTERFACE_DEFINED__ */
  368. #ifndef __ITransaction2_INTERFACE_DEFINED__
  369. #define __ITransaction2_INTERFACE_DEFINED__
  370. /* interface ITransaction2 */
  371. /* [unique][uuid][object] */
  372. EXTERN_C const IID IID_ITransaction2;
  373. #if defined(__cplusplus) && !defined(CINTERFACE)
  374. MIDL_INTERFACE("34021548-0065-11d3-bac1-00c04f797be2")
  375. ITransaction2 : public ITransactionCloner
  376. {
  377. public:
  378. virtual HRESULT STDMETHODCALLTYPE GetTransactionInfo2(
  379. /* [out] */ XACTTRANSINFO *pinfo) = 0;
  380. };
  381. #else /* C style interface */
  382. typedef struct ITransaction2Vtbl
  383. {
  384. BEGIN_INTERFACE
  385. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  386. ITransaction2 * This,
  387. /* [in] */ REFIID riid,
  388. /* [iid_is][out] */ void **ppvObject);
  389. ULONG ( STDMETHODCALLTYPE *AddRef )(
  390. ITransaction2 * This);
  391. ULONG ( STDMETHODCALLTYPE *Release )(
  392. ITransaction2 * This);
  393. HRESULT ( STDMETHODCALLTYPE *Commit )(
  394. ITransaction2 * This,
  395. /* [in] */ BOOL fRetaining,
  396. /* [in] */ DWORD grfTC,
  397. /* [in] */ DWORD grfRM);
  398. HRESULT ( STDMETHODCALLTYPE *Abort )(
  399. ITransaction2 * This,
  400. /* [unique][in] */ BOID *pboidReason,
  401. /* [in] */ BOOL fRetaining,
  402. /* [in] */ BOOL fAsync);
  403. HRESULT ( STDMETHODCALLTYPE *GetTransactionInfo )(
  404. ITransaction2 * This,
  405. /* [out] */ XACTTRANSINFO *pinfo);
  406. HRESULT ( STDMETHODCALLTYPE *CloneWithCommitDisabled )(
  407. ITransaction2 * This,
  408. /* [out] */ ITransaction **ppITransaction);
  409. HRESULT ( STDMETHODCALLTYPE *GetTransactionInfo2 )(
  410. ITransaction2 * This,
  411. /* [out] */ XACTTRANSINFO *pinfo);
  412. END_INTERFACE
  413. } ITransaction2Vtbl;
  414. interface ITransaction2
  415. {
  416. CONST_VTBL struct ITransaction2Vtbl *lpVtbl;
  417. };
  418. #ifdef COBJMACROS
  419. #define ITransaction2_QueryInterface(This,riid,ppvObject) \
  420. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  421. #define ITransaction2_AddRef(This) \
  422. (This)->lpVtbl -> AddRef(This)
  423. #define ITransaction2_Release(This) \
  424. (This)->lpVtbl -> Release(This)
  425. #define ITransaction2_Commit(This,fRetaining,grfTC,grfRM) \
  426. (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  427. #define ITransaction2_Abort(This,pboidReason,fRetaining,fAsync) \
  428. (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  429. #define ITransaction2_GetTransactionInfo(This,pinfo) \
  430. (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  431. #define ITransaction2_CloneWithCommitDisabled(This,ppITransaction) \
  432. (This)->lpVtbl -> CloneWithCommitDisabled(This,ppITransaction)
  433. #define ITransaction2_GetTransactionInfo2(This,pinfo) \
  434. (This)->lpVtbl -> GetTransactionInfo2(This,pinfo)
  435. #endif /* COBJMACROS */
  436. #endif /* C style interface */
  437. HRESULT STDMETHODCALLTYPE ITransaction2_GetTransactionInfo2_Proxy(
  438. ITransaction2 * This,
  439. /* [out] */ XACTTRANSINFO *pinfo);
  440. void __RPC_STUB ITransaction2_GetTransactionInfo2_Stub(
  441. IRpcStubBuffer *This,
  442. IRpcChannelBuffer *_pRpcChannelBuffer,
  443. PRPC_MESSAGE _pRpcMessage,
  444. DWORD *_pdwStubPhase);
  445. #endif /* __ITransaction2_INTERFACE_DEFINED__ */
  446. #ifndef __ITransactionDispenser_INTERFACE_DEFINED__
  447. #define __ITransactionDispenser_INTERFACE_DEFINED__
  448. /* interface ITransactionDispenser */
  449. /* [unique][uuid][object] */
  450. EXTERN_C const IID IID_ITransactionDispenser;
  451. #if defined(__cplusplus) && !defined(CINTERFACE)
  452. MIDL_INTERFACE("3A6AD9E1-23B9-11cf-AD60-00AA00A74CCD")
  453. ITransactionDispenser : public IUnknown
  454. {
  455. public:
  456. virtual HRESULT STDMETHODCALLTYPE GetOptionsObject(
  457. /* [out] */ ITransactionOptions **ppOptions) = 0;
  458. virtual HRESULT STDMETHODCALLTYPE BeginTransaction(
  459. /* [unique][in] */ IUnknown *punkOuter,
  460. /* [in] */ ISOLEVEL isoLevel,
  461. /* [in] */ ULONG isoFlags,
  462. /* [unique][in] */ ITransactionOptions *pOptions,
  463. /* [out] */ ITransaction **ppTransaction) = 0;
  464. };
  465. #else /* C style interface */
  466. typedef struct ITransactionDispenserVtbl
  467. {
  468. BEGIN_INTERFACE
  469. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  470. ITransactionDispenser * This,
  471. /* [in] */ REFIID riid,
  472. /* [iid_is][out] */ void **ppvObject);
  473. ULONG ( STDMETHODCALLTYPE *AddRef )(
  474. ITransactionDispenser * This);
  475. ULONG ( STDMETHODCALLTYPE *Release )(
  476. ITransactionDispenser * This);
  477. HRESULT ( STDMETHODCALLTYPE *GetOptionsObject )(
  478. ITransactionDispenser * This,
  479. /* [out] */ ITransactionOptions **ppOptions);
  480. HRESULT ( STDMETHODCALLTYPE *BeginTransaction )(
  481. ITransactionDispenser * This,
  482. /* [unique][in] */ IUnknown *punkOuter,
  483. /* [in] */ ISOLEVEL isoLevel,
  484. /* [in] */ ULONG isoFlags,
  485. /* [unique][in] */ ITransactionOptions *pOptions,
  486. /* [out] */ ITransaction **ppTransaction);
  487. END_INTERFACE
  488. } ITransactionDispenserVtbl;
  489. interface ITransactionDispenser
  490. {
  491. CONST_VTBL struct ITransactionDispenserVtbl *lpVtbl;
  492. };
  493. #ifdef COBJMACROS
  494. #define ITransactionDispenser_QueryInterface(This,riid,ppvObject) \
  495. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  496. #define ITransactionDispenser_AddRef(This) \
  497. (This)->lpVtbl -> AddRef(This)
  498. #define ITransactionDispenser_Release(This) \
  499. (This)->lpVtbl -> Release(This)
  500. #define ITransactionDispenser_GetOptionsObject(This,ppOptions) \
  501. (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  502. #define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) \
  503. (This)->lpVtbl -> BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction)
  504. #endif /* COBJMACROS */
  505. #endif /* C style interface */
  506. HRESULT STDMETHODCALLTYPE ITransactionDispenser_GetOptionsObject_Proxy(
  507. ITransactionDispenser * This,
  508. /* [out] */ ITransactionOptions **ppOptions);
  509. void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub(
  510. IRpcStubBuffer *This,
  511. IRpcChannelBuffer *_pRpcChannelBuffer,
  512. PRPC_MESSAGE _pRpcMessage,
  513. DWORD *_pdwStubPhase);
  514. HRESULT STDMETHODCALLTYPE ITransactionDispenser_BeginTransaction_Proxy(
  515. ITransactionDispenser * This,
  516. /* [unique][in] */ IUnknown *punkOuter,
  517. /* [in] */ ISOLEVEL isoLevel,
  518. /* [in] */ ULONG isoFlags,
  519. /* [unique][in] */ ITransactionOptions *pOptions,
  520. /* [out] */ ITransaction **ppTransaction);
  521. void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub(
  522. IRpcStubBuffer *This,
  523. IRpcChannelBuffer *_pRpcChannelBuffer,
  524. PRPC_MESSAGE _pRpcMessage,
  525. DWORD *_pdwStubPhase);
  526. #endif /* __ITransactionDispenser_INTERFACE_DEFINED__ */
  527. #ifndef __ITransactionOptions_INTERFACE_DEFINED__
  528. #define __ITransactionOptions_INTERFACE_DEFINED__
  529. /* interface ITransactionOptions */
  530. /* [unique][uuid][object] */
  531. EXTERN_C const IID IID_ITransactionOptions;
  532. #if defined(__cplusplus) && !defined(CINTERFACE)
  533. MIDL_INTERFACE("3A6AD9E0-23B9-11cf-AD60-00AA00A74CCD")
  534. ITransactionOptions : public IUnknown
  535. {
  536. public:
  537. virtual HRESULT STDMETHODCALLTYPE SetOptions(
  538. /* [in] */ XACTOPT *pOptions) = 0;
  539. virtual HRESULT STDMETHODCALLTYPE GetOptions(
  540. /* [out][in] */ XACTOPT *pOptions) = 0;
  541. };
  542. #else /* C style interface */
  543. typedef struct ITransactionOptionsVtbl
  544. {
  545. BEGIN_INTERFACE
  546. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  547. ITransactionOptions * This,
  548. /* [in] */ REFIID riid,
  549. /* [iid_is][out] */ void **ppvObject);
  550. ULONG ( STDMETHODCALLTYPE *AddRef )(
  551. ITransactionOptions * This);
  552. ULONG ( STDMETHODCALLTYPE *Release )(
  553. ITransactionOptions * This);
  554. HRESULT ( STDMETHODCALLTYPE *SetOptions )(
  555. ITransactionOptions * This,
  556. /* [in] */ XACTOPT *pOptions);
  557. HRESULT ( STDMETHODCALLTYPE *GetOptions )(
  558. ITransactionOptions * This,
  559. /* [out][in] */ XACTOPT *pOptions);
  560. END_INTERFACE
  561. } ITransactionOptionsVtbl;
  562. interface ITransactionOptions
  563. {
  564. CONST_VTBL struct ITransactionOptionsVtbl *lpVtbl;
  565. };
  566. #ifdef COBJMACROS
  567. #define ITransactionOptions_QueryInterface(This,riid,ppvObject) \
  568. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  569. #define ITransactionOptions_AddRef(This) \
  570. (This)->lpVtbl -> AddRef(This)
  571. #define ITransactionOptions_Release(This) \
  572. (This)->lpVtbl -> Release(This)
  573. #define ITransactionOptions_SetOptions(This,pOptions) \
  574. (This)->lpVtbl -> SetOptions(This,pOptions)
  575. #define ITransactionOptions_GetOptions(This,pOptions) \
  576. (This)->lpVtbl -> GetOptions(This,pOptions)
  577. #endif /* COBJMACROS */
  578. #endif /* C style interface */
  579. HRESULT STDMETHODCALLTYPE ITransactionOptions_SetOptions_Proxy(
  580. ITransactionOptions * This,
  581. /* [in] */ XACTOPT *pOptions);
  582. void __RPC_STUB ITransactionOptions_SetOptions_Stub(
  583. IRpcStubBuffer *This,
  584. IRpcChannelBuffer *_pRpcChannelBuffer,
  585. PRPC_MESSAGE _pRpcMessage,
  586. DWORD *_pdwStubPhase);
  587. HRESULT STDMETHODCALLTYPE ITransactionOptions_GetOptions_Proxy(
  588. ITransactionOptions * This,
  589. /* [out][in] */ XACTOPT *pOptions);
  590. void __RPC_STUB ITransactionOptions_GetOptions_Stub(
  591. IRpcStubBuffer *This,
  592. IRpcChannelBuffer *_pRpcChannelBuffer,
  593. PRPC_MESSAGE _pRpcMessage,
  594. DWORD *_pdwStubPhase);
  595. #endif /* __ITransactionOptions_INTERFACE_DEFINED__ */
  596. #ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  597. #define __ITransactionOutcomeEvents_INTERFACE_DEFINED__
  598. /* interface ITransactionOutcomeEvents */
  599. /* [unique][uuid][object] */
  600. EXTERN_C const IID IID_ITransactionOutcomeEvents;
  601. #if defined(__cplusplus) && !defined(CINTERFACE)
  602. MIDL_INTERFACE("3A6AD9E2-23B9-11cf-AD60-00AA00A74CCD")
  603. ITransactionOutcomeEvents : public IUnknown
  604. {
  605. public:
  606. virtual HRESULT STDMETHODCALLTYPE Committed(
  607. /* [in] */ BOOL fRetaining,
  608. /* [unique][in] */ XACTUOW *pNewUOW,
  609. /* [in] */ HRESULT hr) = 0;
  610. virtual HRESULT STDMETHODCALLTYPE Aborted(
  611. /* [unique][in] */ BOID *pboidReason,
  612. /* [in] */ BOOL fRetaining,
  613. /* [unique][in] */ XACTUOW *pNewUOW,
  614. /* [in] */ HRESULT hr) = 0;
  615. virtual HRESULT STDMETHODCALLTYPE HeuristicDecision(
  616. /* [in] */ DWORD dwDecision,
  617. /* [unique][in] */ BOID *pboidReason,
  618. /* [in] */ HRESULT hr) = 0;
  619. virtual HRESULT STDMETHODCALLTYPE Indoubt( void) = 0;
  620. };
  621. #else /* C style interface */
  622. typedef struct ITransactionOutcomeEventsVtbl
  623. {
  624. BEGIN_INTERFACE
  625. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  626. ITransactionOutcomeEvents * This,
  627. /* [in] */ REFIID riid,
  628. /* [iid_is][out] */ void **ppvObject);
  629. ULONG ( STDMETHODCALLTYPE *AddRef )(
  630. ITransactionOutcomeEvents * This);
  631. ULONG ( STDMETHODCALLTYPE *Release )(
  632. ITransactionOutcomeEvents * This);
  633. HRESULT ( STDMETHODCALLTYPE *Committed )(
  634. ITransactionOutcomeEvents * This,
  635. /* [in] */ BOOL fRetaining,
  636. /* [unique][in] */ XACTUOW *pNewUOW,
  637. /* [in] */ HRESULT hr);
  638. HRESULT ( STDMETHODCALLTYPE *Aborted )(
  639. ITransactionOutcomeEvents * This,
  640. /* [unique][in] */ BOID *pboidReason,
  641. /* [in] */ BOOL fRetaining,
  642. /* [unique][in] */ XACTUOW *pNewUOW,
  643. /* [in] */ HRESULT hr);
  644. HRESULT ( STDMETHODCALLTYPE *HeuristicDecision )(
  645. ITransactionOutcomeEvents * This,
  646. /* [in] */ DWORD dwDecision,
  647. /* [unique][in] */ BOID *pboidReason,
  648. /* [in] */ HRESULT hr);
  649. HRESULT ( STDMETHODCALLTYPE *Indoubt )(
  650. ITransactionOutcomeEvents * This);
  651. END_INTERFACE
  652. } ITransactionOutcomeEventsVtbl;
  653. interface ITransactionOutcomeEvents
  654. {
  655. CONST_VTBL struct ITransactionOutcomeEventsVtbl *lpVtbl;
  656. };
  657. #ifdef COBJMACROS
  658. #define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject) \
  659. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  660. #define ITransactionOutcomeEvents_AddRef(This) \
  661. (This)->lpVtbl -> AddRef(This)
  662. #define ITransactionOutcomeEvents_Release(This) \
  663. (This)->lpVtbl -> Release(This)
  664. #define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr) \
  665. (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  666. #define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) \
  667. (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  668. #define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr) \
  669. (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  670. #define ITransactionOutcomeEvents_Indoubt(This) \
  671. (This)->lpVtbl -> Indoubt(This)
  672. #endif /* COBJMACROS */
  673. #endif /* C style interface */
  674. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Committed_Proxy(
  675. ITransactionOutcomeEvents * This,
  676. /* [in] */ BOOL fRetaining,
  677. /* [unique][in] */ XACTUOW *pNewUOW,
  678. /* [in] */ HRESULT hr);
  679. void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub(
  680. IRpcStubBuffer *This,
  681. IRpcChannelBuffer *_pRpcChannelBuffer,
  682. PRPC_MESSAGE _pRpcMessage,
  683. DWORD *_pdwStubPhase);
  684. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Aborted_Proxy(
  685. ITransactionOutcomeEvents * This,
  686. /* [unique][in] */ BOID *pboidReason,
  687. /* [in] */ BOOL fRetaining,
  688. /* [unique][in] */ XACTUOW *pNewUOW,
  689. /* [in] */ HRESULT hr);
  690. void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub(
  691. IRpcStubBuffer *This,
  692. IRpcChannelBuffer *_pRpcChannelBuffer,
  693. PRPC_MESSAGE _pRpcMessage,
  694. DWORD *_pdwStubPhase);
  695. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_HeuristicDecision_Proxy(
  696. ITransactionOutcomeEvents * This,
  697. /* [in] */ DWORD dwDecision,
  698. /* [unique][in] */ BOID *pboidReason,
  699. /* [in] */ HRESULT hr);
  700. void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub(
  701. IRpcStubBuffer *This,
  702. IRpcChannelBuffer *_pRpcChannelBuffer,
  703. PRPC_MESSAGE _pRpcMessage,
  704. DWORD *_pdwStubPhase);
  705. HRESULT STDMETHODCALLTYPE ITransactionOutcomeEvents_Indoubt_Proxy(
  706. ITransactionOutcomeEvents * This);
  707. void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub(
  708. IRpcStubBuffer *This,
  709. IRpcChannelBuffer *_pRpcChannelBuffer,
  710. PRPC_MESSAGE _pRpcMessage,
  711. DWORD *_pdwStubPhase);
  712. #endif /* __ITransactionOutcomeEvents_INTERFACE_DEFINED__ */
  713. /* interface __MIDL_itf_transact_0015 */
  714. /* [local] */
  715. #if _MSC_VER < 1100 || !defined(__cplusplus)
  716. DEFINE_GUID(IID_ITransaction, 0x0fb15084, 0xaf41, 0x11ce, 0xbd, 0x2b, 0x20, 0x4c, 0x4f, 0x4f, 0x50, 0x20);
  717. DEFINE_GUID(IID_ITransactionCloner, 0x02656950, 0x2152, 0x11d0, 0x94, 0x4C, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  718. DEFINE_GUID(IID_ITransaction2, 0x34021548, 0x0065, 0x11d3, 0xba, 0xc1, 0x00, 0xc0, 0x4f, 0x79, 0x7b, 0xe2);
  719. DEFINE_GUID(IID_ITransactionDispenser, 0x3A6AD9E1, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  720. DEFINE_GUID(IID_ITransactionOptions, 0x3A6AD9E0, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  721. DEFINE_GUID(IID_ITransactionOutcomeEvents, 0x3A6AD9E2, 0x23B9, 0x11cf, 0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD);
  722. #else // #if _MSC_VER < 1100 || !defined(__cplusplus)
  723. #define IID_ITransaction __uuidof(ITransaction)
  724. #define IID_ITransactionCloner __uuidof(ITransactionCloner)
  725. #define IID_ITransaction2 __uuidof(ITransaction2)
  726. #define IID_ITransactionDispenser __uuidof(ITransactionDispenser)
  727. #define IID_ITransactionOptions __uuidof(ITransactionOptions)
  728. #define IID_ITransactionOutcomeEvents __uuidof(ITransactionOutcomeEvents)
  729. #endif // #if _MSC_VER < 1100 || !defined(__cplusplus)
  730. extern RPC_IF_HANDLE __MIDL_itf_transact_0015_v0_0_c_ifspec;
  731. extern RPC_IF_HANDLE __MIDL_itf_transact_0015_v0_0_s_ifspec;
  732. /* Additional Prototypes for ALL interfaces */
  733. /* end of Additional Prototypes */
  734. #ifdef __cplusplus
  735. }
  736. #endif
  737. #endif