134 L"SYSTEM\\CurrentControlSet\\Services\\W32Time\\TimeProviders\\NtpClient",
147 L"SpecialPollInterval",
169 DWORD cbName =
sizeof(szData);
171 DPRINT(
"Entered SetTime.\n");
174 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers",
186 cbName =
sizeof(szData);
192 DPRINT(
"Time Server is '%S'.\n", szData);
195 if (cbName == 0 || szData[0] ==
'\0')
197 DPRINT(
"The time NTP server couldn't be found, the string is empty!\n");
220 DPRINT(
"Stopping W32Time Service\n");
288 DPRINT(
"W32Time Service failed to set clock.\n");
290 DPRINT(
"W32Time Service successfully set clock.\n");
316 DPRINT(
"Stopped W32Time Service\n");
353 DPRINT(
"W32TimeSyncNow failed and clock not set.\n");
357 DPRINT(
"W32TimeSyncNow succeeded and clock set.\n");
BOOL WINAPI LookupPrivilegeValueW(LPCWSTR lpSystemName, LPCWSTR lpPrivilegeName, PLUID lpLuid)
VOID WINAPI W32TmServiceMain(DWORD argc, LPWSTR *argv)
BOOL WINAPI SetSystemTime(IN CONST SYSTEMTIME *lpSystemTime)
#define UNREFERENCED_PARAMETER(P)
#define SERVICE_ACCEPT_STOP
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
static HANDLE ULONG_PTR dwData
SERVICE_STATUS ServiceStatus
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
#define SERVICE_START_PENDING
DWORD dwServiceSpecificExitCode
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR lpServiceName, LPHANDLER_FUNCTION lpHandlerProc)
#define DLL_PROCESS_ATTACH
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
static IN DWORD IN LPVOID lpvReserved
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus)
SERVICE_STATUS_HANDLE hStatus
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define SE_PRIVILEGE_ENABLED
DWORD WINAPI W32TimeSyncNow(LPCWSTR cmdline, UINT blocking, UINT flags)
static WCHAR ServiceName[]
#define SE_SYSTEMTIME_NAME
VOID WINAPI ControlHandler(DWORD request)
static DWORD UpdateSystemTime(ULONG ulTime)
#define DLL_PROCESS_DETACH
static SERVICE_STATUS_HANDLE(WINAPI *pRegisterServiceCtrlHandlerExA)(LPCSTR
#define SERVICE_ACCEPT_SHUTDOWN
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
BOOL SystemSetTime(LPSYSTEMTIME lpSystemTime)
#define GetCurrentProcess()
BOOL WINAPI AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength)
#define ERROR_INVALID_DATA
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
ULONG GetServerTime(LPWSTR lpAddress)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
static DWORD GetIntervalSetting(VOID)
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
#define SERVICE_CONTROL_STOP
#define ERROR_GEN_FAILURE
#define TOKEN_ADJUST_PRIVILEGES
#define SERVICE_STOP_PENDING
#define RegCloseKey(hKey)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define SERVICE_CONTROL_SHUTDOWN
#define HKEY_LOCAL_MACHINE