12#include <seclogon_s.h>
81 TRACE(
"CurrentDirectory: '%S'\n",
pRequest->CurrentDirectory);
90 if (hTargetProcessHandle ==
NULL)
93 WARN(
"OpenProcess() failed with Error %lu\n", dwError);
109 WARN(
"LogonUser() failed with Error %lu\n", dwError);
116 ProfileInfo.
dwSize =
sizeof(ProfileInfo);
124 WARN(
"LoadUserProfile() failed with Error %lu\n", dwError);
130 ZeroMemory(&StartupInfo,
sizeof(StartupInfo));
131 StartupInfo.
cb =
sizeof(StartupInfo);
136 ZeroMemory(&ProcessInfo,
sizeof(ProcessInfo));
153 WARN(
"CreateProcessAsUser() failed with Error %lu\n", dwError);
158 if (pResponse !=
NULL)
162 hTargetProcessHandle,
170 hTargetProcessHandle,
177 pResponse->dwThreadId = ProcessInfo.
dwThreadId;
181 if (hTargetProcessHandle)
196 if (pResponse !=
NULL)
197 pResponse->dwError = dwError;
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
PSVCHOST_GLOBAL_DATA lpServiceGlobals
DWORD StartRpcServer(VOID)
DWORD StopRpcServer(VOID)
VOID __stdcall SeclCreateProcessWithLogonW(_In_ handle_t hBinding, _In_ SECL_REQUEST *pRequest, _Out_ SECL_RESPONSE *pResponse)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessAsUserW(_In_opt_ HANDLE hToken, _In_opt_ LPCWSTR lpApplicationName, _Inout_opt_ LPWSTR lpCommandLine, _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_ BOOL bInheritHandles, _In_ DWORD dwCreationFlags, _In_opt_ LPVOID lpEnvironment, _In_opt_ LPCWSTR lpCurrentDirectory, _In_ LPSTARTUPINFOW lpStartupInfo, _Out_ LPPROCESS_INFORMATION lpProcessInformation)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
BOOL WINAPI LoadUserProfileW(_In_ HANDLE hToken, _Inout_ LPPROFILEINFOW lpProfileInfo)
BOOL WINAPI UnloadUserProfile(_In_ HANDLE hToken, _In_ HANDLE hProfile)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
#define PROCESS_DUP_HANDLE
#define midl_user_allocate
PSTOP_RPC_SERVER StopRpcServer
PSTART_RPC_SERVER StartRpcServer
#define LOGON_WITH_PROFILE
DWORD WINAPI GetLastError(void)
#define LOGON32_LOGON_INTERACTIVE
#define LOGON32_PROVIDER_DEFAULT
#define DUPLICATE_SAME_ACCESS