It probably is, I downloaded it somewhere. Had to remove some stuff to get it to compile. I think saw some mail saying that headers aren't copyrighted.
Anyway. What's the correct approach here? I mean, I clearly shouldn't add anything, and removing stuff also doesn't look like the right idea. Well I could remove comments, but that's hardly innovative. What's the usual way to do it? 2013/5/1 Alexandre Julliard <julli...@winehq.org> > 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 >