274 ERR(
"WL: ImpersonateLoggedOnUser() failed with error %lu\n",
GetLastError());
282 ERR(
"WL: RegOpenCurrentUser error %lu\n", rc);
287 L"Control Panel\\Desktop",
293 ERR(
"WL: RegOpenKeyEx error %lu\n", rc);
301 (
LPBYTE)szApplicationName,
306 ERR(
"WL: RegQueryValueEx error %lu\n", rc);
312 ERR(
"WL: Buffer size is NULL!\n");
318 if (
wcslen(szApplicationName) == 0)
320 ERR(
"WL: Application Name length is zero!\n");
324 wsprintfW(szCommandLine,
L"%s /s", szApplicationName);
325 TRACE(
"WL: Executing %S\n", szCommandLine);
344 &ProcessInformation);
347 ERR(
"WL: Unable to start %S, error %lu\n", szApplicationName,
GetLastError());
359 HandleArray[0] = ProcessInformation.
hProcess;
360 HandleArray[1] = Session->hUserActivity;
368 SetEvent(Session->hEndOfScreenSaver);
386 #ifndef USE_GETLASTINPUTINFO int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
#define WLX_SAS_TYPE_SCRNSVR_ACTIVITY
BOOL WINAPI RevertToSelf(VOID)
struct _STARTUPINFOW STARTUPINFOW
DWORD WINAPI GetTickCount(VOID)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
DWORD WINAPI WaitForMultipleObjects(IN DWORD nCount, IN CONST HANDLE *lpHandles, IN BOOL bWaitAll, IN DWORD dwMilliseconds)
LONG WINAPI RegCloseKey(HKEY hKey)
BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken)
#define ERROR_FILE_NOT_FOUND
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
BOOL WINAPI SystemParametersInfoW(_In_ UINT, _In_ UINT, _Inout_opt_ PVOID, _In_ UINT)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define InterlockedExchange
VOID CallNotificationDlls(PWLSESSION pSession, NOTIFICATION_TYPE Type)
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
#define STARTF_SCREENSAVER
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
LONG WINAPI RegOpenCurrentUser(IN REGSAM samDesired, OUT PHKEY phkResult)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
char * cleanup(char *str)
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)