Daniel Jeliński <djelins...@gmail.com> writes: > +import "unknwn.idl"; > + > +interface ITransaction; > +interface ITransactionDispenser; > +interface ITransactionOptions; > +interface ITransactionOutcomeEvents; > +interface ITransactionCompletionEvents; > + > +/*========================================================================== > + * Transaction related types > + > *==========================================================================*/ > + > +[local,pointer_default(unique)] > +interface BasicTransactionTypes > + { > + > + typedef struct BOID { > + byte rgb[16]; > + } BOID; > + > + cpp_quote("#define BOID_NULL (*((BOID*)(&IID_NULL)))") > + > + /* change the following two line together */ > + cpp_quote("#ifndef MAX_TRAN_DESC_DEFINED") /* conflicts with > uimsg.h. This is temporary work around */ > + cpp_quote("#define MAX_TRAN_DESC_DEFINED") > + typedef enum TX_MISC_CONSTANTS > + { > + MAX_TRAN_DESC = 40 > + } TX_MISC_CONSTANTS; > + cpp_quote("#endif") > + > + /* Unit Of Work. */ > + > + typedef BOID XACTUOW; > + > + /* Data type for isolation level values. */ > + > + typedef LONG ISOLEVEL; > + > + /* Constants that specifiy isolation level of a transaction. */ > + > + typedef enum ISOLATIONLEVEL { > + ISOLATIONLEVEL_UNSPECIFIED = 0xFFFFFFFF, > + ISOLATIONLEVEL_CHAOS = 0x00000010, > + ISOLATIONLEVEL_READUNCOMMITTED = 0x00000100, > + ISOLATIONLEVEL_BROWSE = 0x00000100, /* Synonym for > _READUNCOMITTED */ > + ISOLATIONLEVEL_CURSORSTABILITY = 0x00001000, > + ISOLATIONLEVEL_READCOMMITTED = 0x00001000, /* Synonym for > _CURSORSTABILITY */ > + ISOLATIONLEVEL_REPEATABLEREAD = 0x00010000, > + ISOLATIONLEVEL_SERIALIZABLE = 0x00100000, > + ISOLATIONLEVEL_ISOLATED = 0x00100000, /* Synonym for > _SERIALIZABLE */ > + } ISOLATIONLEVEL; > + > + /* Transaction information structure, used in ITransaction */ > + > + typedef struct XACTTRANSINFO { > + XACTUOW uow; /* The current unit of work > */ > + ISOLEVEL isoLevel; /* The isolation level for > the current UOW */ > + ULONG isoFlags; /* Values from ISOFLAG > enumeration */ > + DWORD grfTCSupported; /* Flags indicating > capabilities */ > + DWORD grfRMSupported; /* ... of this > transaction wrt */ > + DWORD grfTCSupportedRetaining; /* ... parameters to > Commit */ > + DWORD grfRMSupportedRetaining; /* ... */ > + } XACTTRANSINFO; > + > + typedef struct XACTSTATS { > + ULONG cOpen; /* The number of currently extant > transactions. */ > + ULONG cCommitting; /* The number of transactions which > are proceding towards committing. */ > + ULONG cCommitted; /* The number of transactions that > are have been committed. */ > + ULONG cAborting; /* The number of transactions which > are in the process of aborting. */ > + ULONG cAborted; /* The number of transactions that > are have been aborted. */ > + ULONG cInDoubt; /* The number of transactions which > are presently in doubt. */ > + ULONG cHeuristicDecision; /* The number of transactions that > have completed by heuristic decision. */ > + FILETIME timeTransactionsUp; /* The amount of time that this > transaction service has been up. */ > + } XACTSTATS;
This is clearly a straight copy of the SDK header. You can't do that. -- Alexandre Julliard julli...@winehq.org