Index: apitests/ntdll/SystemInfo.c =================================================================== --- apitests/ntdll/SystemInfo.c (revision 62724) +++ apitests/ntdll/SystemInfo.c (working copy) @@ -26,9 +26,28 @@ tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, 0); + CloseHandle(hToken); } +void +ResetPrivilege() +{ + HANDLE hToken; + TOKEN_PRIVILEGES tkp; + OpenProcessToken(GetCurrentProcess(), + TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, + &hToken); + + LookupPrivilegeValue(NULL, SE_SYSTEMTIME_NAME, &tkp.Privileges[0].Luid); + + tkp.PrivilegeCount = 1; + tkp.Privileges[0].Attributes = 0; + + AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, 0); + CloseHandle(hToken); +} + void Test_TimeAdjustment(void) { @@ -48,6 +67,8 @@ sizeof(TimeInfoOrg), &ReturnLength); + ResetPrivilege(); + /* Test without privilege */ Status = NtSetSystemInformation(SystemTimeAdjustmentInformation, &SetTimeInfo,