NTSTATUS values in ntstatus.h and winnt.h

Ge van Geldorp gvg at reactos.org
Sun Nov 20 15:33:55 CST 2005


The PSDK defines some NTSTATUS values in both ntstatus.h and in winnt.h,
guarded by "#ifndef WIN32_NO_STATUS". Unfortunately, the definitions in the
PSDK are not equivalent. In ntstatus.h:

#define STATUS_xxx ((NTSTATUS) 0x........)

In winnt.h:

#define STATUS_xxx ((DWORD) 0x........)

The Wine headers don't cast the literal to NTSTATUS resp DWORD. This means
it is ok to #include both winnt.h and ntstatus.h without #defining
WIN32_NO_STATUS using the Wine headers, but it is not ok to do so using PSDK
(or, in my case, ReactOS) headers. Would a patch adding the appropriate
casts in ntstatus.h/winnt.h and then fixing the resulting problems in Wine
by #defining WIN32_NO_STATUS where appropriate (an example is
dlls/netapi32/wksta.c) be acceptable?

Gé van Geldorp.




More information about the wine-devel mailing list