windows: Set UMDF_USING_NTSTATUS globally, include ntstatus.h

Andres Freund <andres@anarazel.de>

Commit: b8d8a4593a3a2daa5e16e4a3634d9284fe14667f
Author: Andres Freund <andres@anarazel.de>
Date: 2022-09-29T04:59:15Z
Releases: 16.0
windows: Set UMDF_USING_NTSTATUS globally, include ntstatus.h

We'd like to use precompiled headers on windows to reduce compile times. Right
now we rely on defining UMDF_USING_NTSTATUS before including postgres.h in a few
select places - which doesn't work with precompiled headers.  Instead define
it globally.

When UMDF_USING_NTSTATUS is defined we need to explicitly include ntstatus.h,
winternl.h to get a comparable set of symbols. Right now these includes would
be required in a number of non-platform-specific .c files - to avoid that,
include them in win32_port.h. Based on my measurements that doesn't increase
compile times measurably.

Reviewed-by: Thomas Munro <thomas.munro@gmail.com>
Discussion: https://postgr.es/m/20220927011951.j3h4o7n6bhf7dwau@awork3.anarazel.de

Files

PathChange+/−
src/include/port/win32ntdll.h modified +0 −6
src/include/port/win32_port.h modified +9 −0
src/port/open.c modified +0 −2
src/port/win32fdatasync.c modified +0 −2
src/port/win32ntdll.c modified +0 −2
src/port/win32stat.c modified +0 −2

Discussion