16 #define TICKSPERMINUTE 600000000 134 ULONG CurrentIncrement;
212 return CurrentIncrement;
237 DPRINT1(
"RtlQueryTimeZoneInformation() failed (Status 0x%08lx)\n",
Status);
253 DPRINT1(
"RtlCutoverTimeToSystemTime() for StandardDate failed!\n");
263 DPRINT1(
"RtlCutoverTimeToSystemTime() for DaylightDate failed!\n");
270 if ((CurrentBootTime->QuadPart >= DaylightTime.
QuadPart) &&
271 (CurrentBootTime->QuadPart < StandardTime.
QuadPart))
273 DPRINT(
"Daylight time!\n");
279 DPRINT(
"Standard time!\n");
286 if ((CurrentBootTime->QuadPart >= StandardTime.
QuadPart) &&
287 (CurrentBootTime->QuadPart < DaylightTime.
QuadPart))
289 DPRINT(
"Standard time!\n");
295 DPRINT(
"Daylight time!\n");
320 }
while (CurrentTime.
u.HighPart !=
SharedUserData->SystemTime.High2Time);
337 DPRINT(
"ExpSetTimeZoneInformation() called\n");
340 DPRINT(
"Old time zone standard bias: %d minutes\n",
342 DPRINT(
"New time zone bias: %d minutes\n", TimeZoneInformation->
Bias);
343 DPRINT(
"New time zone standard bias: %d minutes\n",
369 DPRINT(
"New time zone bias: %I64d minutes\n",
379 DPRINT(
"ExpSetTimeZoneInformation() done\n");
424 NewSystemTime = *SystemTime;
430 DPRINT1(
"NtSetSystemTime: Caller requires the " 431 "SeSystemtimePrivilege privilege!\n");
450 *PreviousTime = OldSystemTime;
619 *CurrentResolution = NewResolution;
630 *CurrentResolution = NewResolution;
#define ProbeForWriteUlong(Ptr)
#define KeQuerySystemTime(t)
#define STATUS_PRIVILEGE_NOT_HELD
VOID NTAPI ExReleaseTimeRefreshLock(VOID)
const LUID SeSystemtimePrivilege
VOID NTAPI RtlTimeToTimeFields(IN PLARGE_INTEGER Time, OUT PTIME_FIELDS TimeFields)
BOOLEAN NTAPI HalQueryRealTimeClock(IN PTIME_FIELDS Time)
#define TIME_ZONE_ID_UNKNOWN
VOID NTAPI KeRevertToUserAffinityThread(VOID)
_In_ WDFDPC _In_ BOOLEAN Wait
ULONG ExpTimerResolutionCount
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
ULONG ExpKernelResolutionCount
ULONG NTAPI ExSetTimerResolution(IN ULONG DesiredTime, IN BOOLEAN SetResolution)
VOID NTAPI KeSetSystemAffinityThread(IN KAFFINITY Affinity)
NTSTATUS NTAPI NtQueryTimerResolution(OUT PULONG MinimumResolution, OUT PULONG MaximumResolution, OUT PULONG ActualResolution)
BOOLEAN NTAPI ExAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
LARGE_INTEGER ExpTimeZoneBias
#define PsGetCurrentProcess
NTSTATUS NTAPI NtSetSystemTime(IN PLARGE_INTEGER SystemTime, OUT PLARGE_INTEGER PreviousTime OPTIONAL)
_In_ KPROCESSOR_MODE PreviousMode
#define TIME_ZONE_ID_STANDARD
#define NT_SUCCESS(StatCode)
#define EXCEPTION_EXECUTE_HANDLER
BOOLEAN NTAPI ExAcquireTimeRefreshLock(IN BOOLEAN Wait)
#define ProbeForReadLargeInteger(Ptr)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
struct _LARGE_INTEGER::@2249 u
#define KeEnterCriticalRegion()
VOID NTAPI ExUpdateSystemTimeFromCmos(IN BOOLEAN UpdateInterruptTime, IN ULONG MaxSepInSeconds)
ULONG ExpLastTimeZoneBias
_In_ BOOLEAN SetResolution
#define KeLeaveCriticalRegion()
LONG NTAPI ExSystemExceptionFilter(VOID)
RTL_TIME_ZONE_INFORMATION ExpTimeZoneInfo
BOOLEAN NTAPI ExRefreshTimeZoneInformation(IN PLARGE_INTEGER CurrentBootTime)
NTSTATUS ExpSetTimeZoneInformation(PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
BOOLEAN NTAPI RtlTimeFieldsToTime(IN PTIME_FIELDS TimeFields, OUT PLARGE_INTEGER Time)
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSTATUS NTAPI NtSetTimerResolution(IN ULONG DesiredResolution, IN BOOLEAN SetResolution, OUT PULONG CurrentResolution)
ULONG ExpTickCountMultiplier
ERESOURCE ExpTimeRefreshLock
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
#define RtlCopyMemory(Destination, Source, Length)
#define _SEH2_EXCEPT(...)
#define _SEH2_GetExceptionCode()
#define _SEH2_YIELD(__stmt)
VOID NTAPI KeSetSystemTime(IN PLARGE_INTEGER NewSystemTime, OUT PLARGE_INTEGER OldSystemTime, IN BOOLEAN FixInterruptTime, IN PLARGE_INTEGER HalTime)
#define STATUS_TIMER_RESOLUTION_NOT_SET
static PTIME_FIELDS TimeFields
#define TIME_ZONE_ID_DAYLIGHT
VOID NTAPI ExLocalTimeToSystemTime(PLARGE_INTEGER LocalTime, PLARGE_INTEGER SystemTime)
ULONG NTAPI HalSetTimeIncrement(IN ULONG Increment)
#define ProbeForWriteLargeInteger(Ptr)
VOID NTAPI ExSystemTimeToLocalTime(PLARGE_INTEGER SystemTime, PLARGE_INTEGER LocalTime)
BOOLEAN NTAPI HalSetRealTimeClock(IN PTIME_FIELDS Time)
NTSYSAPI NTSTATUS NTAPI RtlQueryTimeZoneInformation(_Out_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
BOOLEAN NTAPI RtlCutoverTimeToSystemTime(IN PTIME_FIELDS CutoverTimeFields, OUT PLARGE_INTEGER SystemTime, IN PLARGE_INTEGER CurrentTime, IN BOOLEAN ThisYearsCutoverOnly)
PULONG MinorVersion OPTIONAL