advapi32 redefines SECURITY_INFORMATION

Nikolay Sivov bunglehead at
Sat Feb 28 06:41:37 CST 2015

On 28.02.2015 13:33, Francois Gouget wrote:
> ---
> So svcctl.idl needs the SECURITY_INFORMATION definition and it's not
> available from any other idl file. This results in this type being
> defined twice when compiling dlls/advapi32/service.c: once in winnt.h
> and then again in dlls/advapi32/svcctl.h.
> We normally avoid this type of situation. An easy fix is to introduce
> the usual _XXX_DEFINED macro check but this seems to be a first in an
> idl file. Is there a better way?

I think I screwed up it a little, does it work if you place it inside 
#if 0, after this:

cpp_quote("#if 0 /* already defined in winsvc.h */")

I think we only need it for widl, and later advapi32 or services should 
include winnt.h in usual way.

More information about the wine-devel mailing list