16#define TICKSPERMINUTE 600000000
49 DPRINT(
"ExpGetTimeZoneId\n");
55 DPRINT1(
"RtlQueryTimeZoneInformation failed (Status 0x%08lx)\n",
Status);
71 DPRINT1(
"RtlCutoverTimeToSystemTime for StandardDate failed\n");
81 DPRINT1(
"RtlCutoverTimeToSystemTime for DaylightDate failed\n");
107 DPRINT(
"Standard time\n");
113 DPRINT(
"Daylight time\n");
228 ULONG CurrentIncrement;
306 return CurrentIncrement;
325 DPRINT(
"ExRefreshTimeZoneInformation\n");
331 DPRINT1(
"ExpGetTimeZoneId failed\n");
363 LARGE_INTEGER LocalTime, SystemTime, OldTime, NewTimeZoneBias;
369 DPRINT(
"ExpSetTimeZoneInformation called\n");
375 DPRINT1(
"RtlQueryTimeZoneInformation failed (Status 0x%08lx)\n",
Status);
385 LocalTimeNow = SystemTime;
394 DPRINT1(
"ExpGetTimeZoneId failed\n");
402 DPRINT(
"Old time zone standard bias: %d minutes\n",
404 DPRINT(
"New time zone bias: %d minutes\n", TimeZoneInformation->
Bias);
405 DPRINT(
"New time zone standard bias: %d minutes\n",
432 DPRINT(
"New time zone bias: %I64d minutes\n",
443 DPRINT(
"ExpSetTimeZoneInformation done\n");
468 ULONG TimeZoneIdSave;
499 NewSystemTime = *SystemTime;
505 DPRINT1(
"NtSetSystemTime: Caller requires the "
506 "SeSystemtimePrivilege privilege!\n");
526 *PreviousTime = OldSystemTime;
540 DPRINT1(
"RtlQueryTimeZoneInformation failed (Status 0x%08lx)\n",
Status);
550 DPRINT(
"Daylight Time and Standard Time are switching\n");
716 *CurrentResolution = NewResolution;
727 *CurrentResolution = NewResolution;
#define STATUS_PRIVILEGE_NOT_HELD
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
BOOLEAN RtlTimeToTimeFields(IN PLARGE_INTEGER Time, IN PTIME_FIELDS TimeFields)
BOOLEAN RtlTimeFieldsToTime(IN PTIME_FIELDS TimeFields, IN PLARGE_INTEGER Time)
#define ExLocalTimeToSystemTime(LocTime, SysTime)
#define KeQuerySystemTime(t)
#define ExAcquireResourceExclusiveLite(res, wait)
#define ExSystemTimeToLocalTime(SysTime, LocTime)
#define ExGetPreviousMode
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
ULONG NTAPI HalSetTimeIncrement(IN ULONG Increment)
LONG NTAPI ExSystemExceptionFilter(VOID)
#define EXCEPTION_EXECUTE_HANDLER
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
static PTIME_FIELDS TimeFields
NTSYSAPI NTSTATUS NTAPI RtlQueryTimeZoneInformation(_Out_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
NTSYSAPI BOOLEAN NTAPI RtlCutoverTimeToSystemTime(_In_ PTIME_FIELDS CutoverTimeFields, _Out_ PLARGE_INTEGER SystemTime, _In_ PLARGE_INTEGER CurrentTime, _In_ BOOLEAN ThisYearsCutoverOnly)
#define TIME_ZONE_ID_UNKNOWN
#define TIME_ZONE_ID_STANDARD
#define TIME_ZONE_ID_DAYLIGHT
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
LARGE_INTEGER ExpTimeZoneBias
RTL_TIME_ZONE_INFORMATION ExpTimeZoneInfo
ULONG NTAPI ExSetTimerResolution(IN ULONG DesiredTime, IN BOOLEAN SetResolution)
NTSTATUS NTAPI NtQueryTimerResolution(OUT PULONG MinimumResolution, OUT PULONG MaximumResolution, OUT PULONG ActualResolution)
VOID NTAPI ExUpdateSystemTimeFromCmos(IN BOOLEAN UpdateInterruptTime, IN ULONG MaxSepInSeconds)
ERESOURCE ExpTimeRefreshLock
NTSTATUS NTAPI NtSetTimerResolution(IN ULONG DesiredResolution, IN BOOLEAN SetResolution, OUT PULONG CurrentResolution)
static BOOLEAN ExpGetTimeZoneId(_In_ PLARGE_INTEGER TimeNow, _Out_ PULONG TimeZoneId, _Out_ PLARGE_INTEGER NewTimeZoneBias)
ULONG ExpTickCountMultiplier
ULONG ExpLastTimeZoneBias
ULONG ExpTimerResolutionCount
VOID NTAPI ExReleaseTimeRefreshLock(VOID)
ULONG ExpKernelResolutionCount
NTSTATUS ExpSetTimeZoneInformation(PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
BOOLEAN NTAPI ExAcquireTimeRefreshLock(IN BOOLEAN Wait)
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
NTSTATUS NTAPI NtSetSystemTime(IN PLARGE_INTEGER SystemTime, OUT PLARGE_INTEGER PreviousTime OPTIONAL)
BOOLEAN NTAPI ExRefreshTimeZoneInformation(IN PLARGE_INTEGER CurrentBootTime)
VOID NTAPI KeSetSystemTime(IN PLARGE_INTEGER NewSystemTime, OUT PLARGE_INTEGER OldSystemTime, IN BOOLEAN FixInterruptTime, IN PLARGE_INTEGER HalTime)
const LUID SeSystemtimePrivilege
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
#define STATUS_TIMER_RESOLUTION_NOT_SET
VOID NTAPI PoNotifySystemTimeSet(VOID)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
BOOLEAN NTAPI HalQueryRealTimeClock(IN PTIME_FIELDS Time)
BOOLEAN NTAPI HalSetRealTimeClock(IN PTIME_FIELDS Time)
#define ProbeForWriteLargeInteger(Ptr)
#define ProbeForWriteUlong(Ptr)
#define ProbeForReadLargeInteger(Ptr)
PULONG MinorVersion OPTIONAL
VOID NTAPI KeSetSystemAffinityThread(IN KAFFINITY Affinity)
VOID NTAPI KeRevertToUserAffinityThread(VOID)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_UNSUCCESSFUL
struct _LARGE_INTEGER::@2304 u
_In_ WDFDPC _In_ BOOLEAN Wait
_In_ BOOLEAN SetResolution
#define PsGetCurrentProcess
_In_ KPROCESSOR_MODE PreviousMode