From af002fcad0f7dee90de0ecbae7c4d31eb33afdbd Mon Sep 17 00:00:00 2001 From: Elias Batek Date: Sun, 26 Jan 2025 00:32:28 +0100 Subject: [PATCH] Port ntdef macros `NT_INFORMATION`, `NT_WARNING` and `NT_ERROR` (#20782) --- druntime/src/core/sys/windows/ntdef.d | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/druntime/src/core/sys/windows/ntdef.d b/druntime/src/core/sys/windows/ntdef.d index 1d1e213e7e..160443312b 100644 --- a/druntime/src/core/sys/windows/ntdef.d +++ b/druntime/src/core/sys/windows/ntdef.d @@ -33,7 +33,12 @@ void InitializeObjectAttributes(OBJECT_ATTRIBUTES* p, UNICODE_STRING* n, } } -pragma(inline, true) bool NT_SUCCESS(NTSTATUS x) @safe pure nothrow @nogc { return x >= 0; } +pragma(inline, true) @safe pure nothrow @nogc { + bool NT_SUCCESS(NTSTATUS Status) { return Status >= 0; } + bool NT_INFORMATION(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 1; } + bool NT_WARNING(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 2; } + bool NT_ERROR(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 3; } +} /* In MinGW, NTSTATUS, UNICODE_STRING, STRING and their associated pointer * type aliases are defined in ntdef.h, ntsecapi.h and subauth.h, each of