[2/4] include: added transact.idl (resend)

Daniel Jeliński djelinski1 at gmail.com
Wed May 1 13:21:46 CDT 2013


Can I use mingw headers instead?
I see that we already have some of these (mprerror.h, fltdefs.h, several
more in msvcrt directory), and they have the header I need (
http://sourceforge.net/apps/trac/mingw-w64/browser/experimental/headers_additions_test/include/transact.h
).


2013/5/1 Juan Lang <juan.lang at gmail.com>

> Type it yourself. Refer to MSDN, public descriptions, and publicly
> available headers, but don't copy/paste from any of them.
> --Juan
>
>
> On Wed, May 1, 2013 at 3:56 AM, Daniel Jeliński <djelinski1 at 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 at winehq.org>
>>
>>> Daniel Jeliński <djelinski1 at 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 at winehq.org
>>>
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20130501/74d3b6fc/attachment.html>


More information about the wine-devel mailing list