Suggestions:
- when ms puts ntgdi.h into the sdk, we could also put ntuser.h there.
- if we want to stay 100% compatible with sdk headers, we can add a
define, like
#ifdef USE_NON_SDK
// put non sdk compatible but still windows compatible definitions here
#endif
If we are compatible why do we need this? All SDK headers should be
compatible and I have pointed this out. When NDK/DDK (WDK) or PSDK
(SDK) changes are made the developer should have access to these and
compare the changes to verify them as correct. I have made changes to
the NDK with some Rtl functions and I had to make logical choices and
assumptions. Since those Rtl functions are unknown and the research
was from Wine, I did go through the steps of verifying and cross
referencing them before I moved them into NDK.
SDK and WDK are open to the public and there is nothing preventing
that developer from referencing them for research and standards.
Well I'm not sure if I got you right, so I just try to make my thinking
more clear: