Port ntdef macros NT_INFORMATION, NT_WARNING and NT_ERROR (#20782)

This commit is contained in:
Elias Batek 2025-01-26 00:32:28 +01:00 committed by GitHub
parent 0ce59518ed
commit af002fcad0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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 /* In MinGW, NTSTATUS, UNICODE_STRING, STRING and their associated pointer
* type aliases are defined in ntdef.h, ntsecapi.h and subauth.h, each of * type aliases are defined in ntdef.h, ntsecapi.h and subauth.h, each of