Thomas Weidenmueller wrote:
Robert Shearman wrote:
I have no problem with including ntstatus.h, even though it is not strictly necessary as it is just defines. However, I don't like the idea of including winternl.h as crypt32 (specifically high level things like certificate handling) shouldn't need to depend on low-level and undocumented structures, defines and function declarations. Can you tell me what errors you get without including winternl.h?
The problem is it can't find the type definition of NTSTATUS. It is defined in the PSDK in several places, but none of the files is included by winnt.h, windows.h or friends. Basically, it's defined in lmaccess.h, ntsecapi.h, subauth.h, wincred.h and winternl.h. I think latter makes most sense considering that ntsecapi.h mostly contains LSA stuff.
The same is true for wine; NTSTATUS isn't declared in any of the headers it includes and it isn't needed because it isn't used by the crypt32 code. I assume the problem is in the exception code, which should include any necessary headers itself or else contain the necessary typedefs. I'll send a patch for the snmp.h problem though.