Correctly importing uuid

Anton Romanov theli.ua at gmail.com
Fri Feb 16 10:59:38 CST 2018


> In such cases we need to use the second way. Note that uuids are usually
> defined using DEFINE_GUID in headers, see guiddef.h for the macro. It
> expands to |extern const GUID| unless DEFINE_GUID is defined. If it's
> defined, full declaration is included. In wmp_main.c we include initguid.h,
> which defines DEFINE_GUID macro. It means that we will have uuids declared
> for all headers included in wmp_main.c.
>
> Wouldn't it be possible to include public headers that have GUIDs from
> uuid.lib, then include initguid.h, and then include headers that define WMP
> guids (or define the WMP GUIDs manually)? That should import guids that work
> with uuid.lib from there and define the rest.
>
> Of course the beauty of a half-way approach is always questionable, so not
> sure if that's better than just using DEFINE_GUID for everything.
>
>
> Sure, that would work as well. The downside is that then we depend on
> includes hierarchy - if we ever need to change includes in headers, we need
> to take that into account in non-intuitive places. It's not a big deal, so I
> think the solution is fine.
So, I'm still confused - what do I need to include to have GUID_NULL
without linking to uuid and without declaring it myself?

Thanks,
Anton.



More information about the wine-devel mailing list