From: Thomas Faber Date: Sun, 12 Jul 2015 08:53:40 +0000 (+0000) Subject: [NTDLL_APITEST] X-Git-Tag: ReactOS-0.4.0~1608 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=39d42581f4dfdff8241ff54786960125f7d349c7 [NTDLL_APITEST] - Add some tests for NtQuerySystemInformation with invalid info class svn path=/trunk/; revision=68391 --- diff --git a/rostests/apitests/ntdll/SystemInfo.c b/rostests/apitests/ntdll/SystemInfo.c index c096fbf4293..d432488ca30 100644 --- a/rostests/apitests/ntdll/SystemInfo.c +++ b/rostests/apitests/ntdll/SystemInfo.c @@ -271,6 +271,42 @@ Test_TimeAdjustment(void) START_TEST(NtSystemInformation) { + NTSTATUS Status; + ULONG ReturnLength; + + Status = NtQuerySystemInformation(9999, NULL, 0, NULL); + ok(Status == STATUS_INVALID_INFO_CLASS, "NtQuerySystemInformation returned %lx\n", Status); + + Status = NtQuerySystemInformation(9999, NULL, 0, (PVOID)1); + ok(Status == STATUS_ACCESS_VIOLATION || + ntv6(Status == STATUS_INVALID_INFO_CLASS), "NtQuerySystemInformation returned %lx\n", Status); + + ReturnLength = 0x55555555; + Status = NtQuerySystemInformation(9999, NULL, 0, &ReturnLength); + ok(Status == STATUS_INVALID_INFO_CLASS, "NtQuerySystemInformation returned %lx\n", Status); + ok(ReturnLength == 0 || + ntv6(ReturnLength == 0x55555555), "ReturnLength = %lu\n", ReturnLength); + + ReturnLength = 0x55555555; + Status = NtQuerySystemInformation(9999, NULL, 1, &ReturnLength); + ok(Status == STATUS_ACCESS_VIOLATION || + ntv6(Status == STATUS_INVALID_INFO_CLASS), "NtQuerySystemInformation returned %lx\n", Status); + ok(ReturnLength == 0x55555555, "ReturnLength = %lu\n", ReturnLength); + + ReturnLength = 0x55555555; + Status = NtQuerySystemInformation(9999, (PVOID)1, 1, &ReturnLength); + ok(Status == STATUS_DATATYPE_MISALIGNMENT || + ntv6(Status == STATUS_INVALID_INFO_CLASS), "NtQuerySystemInformation returned %lx\n", Status); + ok(ReturnLength == 0x55555555, "ReturnLength = %lu\n", ReturnLength); + + Status = NtQuerySystemInformation(9999, NULL, 1, (PVOID)1); + ok(Status == STATUS_ACCESS_VIOLATION || + ntv6(Status == STATUS_INVALID_INFO_CLASS), "NtQuerySystemInformation returned %lx\n", Status); + + Status = NtQuerySystemInformation(9999, (PVOID)1, 1, (PVOID)1); + ok(Status == STATUS_DATATYPE_MISALIGNMENT || + ntv6(Status == STATUS_INVALID_INFO_CLASS), "NtQuerySystemInformation returned %lx\n", Status); + Test_Flags(); Test_TimeAdjustment(); }