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.
--
Rob Shearman