Type it yourself. Refer to MSDN, public descriptions, and publicly available headers, but don't copy/paste from any of them.--JuanOn Wed, May 1, 2013 at 3:56 AM, Daniel Jeli�ski <djelinski1@gmail.com> wrote: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 <julliard@winehq.org>
Daniel Jeli�ski <djelinski1@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
julliard@winehq.org