Robert Shearman wrote:
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.
Actually, the problem is that the STATUS_* codes are defined inconsistently. In the PSDK some are defined in two places:
winnt.h: #define STATUS_ACCESS_VIOLATION ((DWORD )0xC0000005L)
ntstatus.h: #define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L)
As you can see using ntstatus.h assumes that NTSTATUS is defined (most likely by including winternl.h). So it looks like including winnt.h would be a better solution and in fact ntstatus.h can't be included without winternl.h.
- Thomas