13#define WIN32_NO_STATUS
23#define MAX_PASSWORD_LENGTH 64
59 for (
p = pInput; *
p;
p++)
91 DWORD dwCreateFlags = 0;
103 ZeroMemory(&StartupInfo,
sizeof(StartupInfo));
104 ZeroMemory(&ProcessInfo,
sizeof(ProcessInfo));
109 if (*pszArg ==
L'-' || *pszArg ==
L'/')
118 else if (
_wcsicmp(pszArg,
L"profile") == 0)
122 else if (
_wcsicmp(pszArg,
L"netonly") == 0)
126 else if (
_wcsicmp(pszArg,
L"noprofile") == 0)
142 if (pszUserName ==
NULL)
153 if (pszDomain ==
NULL)
169 if (pszUserName ==
NULL)
179 if (pszDomain ==
NULL)
192 if (pszUserName ==
NULL)
199 wcscpy(pszUserName, pszArg);
212 if (pszCommandLine ==
NULL)
215 if (pszCommandLine ==
NULL)
222 wcscpy(pszCommandLine, pszArg);
229 if ((bProfile && bNoProfile) ||
230 (bProfile && bNetOnly))
238 if (pszCommandLine ==
NULL || pszUserName ==
NULL)
249 dwLogonFlags &= ~LOGON_WITH_PROFILE;
254 dwLogonFlags &= ~LOGON_WITH_PROFILE;
257 if (pszDomain ==
NULL)
261 if (pszDomain ==
NULL)
275 if (pszCurrentDirectory ==
NULL)
287 if (pszPassword ==
NULL)
330 if (pszCurrentDirectory)
#define IDS_INTERNAL_ERROR
HANDLE WINAPI GetStdHandle(IN DWORD nStdHandle)
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
void ConPuts(FILE *fp, LPCWSTR psz)
#define ConInitStdStreams()
void ConPrintf(FILE *fp, LPCWSTR psz,...)
void ConResPrintf(FILE *fp, UINT nID,...)
void ConResPuts(FILE *fp, UINT nID)
BOOL WINAPI CreateProcessWithLogonW(_In_ LPCWSTR lpUsername, _In_opt_ LPCWSTR lpDomain, _In_ LPCWSTR lpPassword, _In_ DWORD dwLogonFlags, _In_opt_ LPCWSTR lpApplicationName, _Inout_opt_ LPWSTR lpCommandLine, _In_ DWORD dwCreationFlags, _In_opt_ LPVOID lpEnvironment, _In_opt_ LPCWSTR lpCurrentDirectory, _In_ LPSTARTUPINFOW lpStartupInfo, _Out_ LPPROCESS_INFORMATION lpProcessInformation)
#define ReadFile(a, b, c, d, e)
#define HeapFree(x, y, z)
#define MultiByteToWideChar
static DWORD DWORD * dwLength
BOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle, LPDWORD lpMode)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleMode(HANDLE hConsoleHandle, DWORD dwMode)
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleCP(void)
LPWSTR WINAPI DECLSPEC_HOTPATCH GetEnvironmentStringsW(void)
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl _wcsnicmp(const wchar_t *, const wchar_t *, size_t)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
LPCWSTR LPCWSTR LPCWSTR pszEnvironment
#define MAX_PASSWORD_LENGTH
static VOID ConInString(_In_ PWSTR pInput, _In_ DWORD dwLength)
#define LOGON_WITH_PROFILE
DWORD WINAPI GetLastError(void)
#define CREATE_UNICODE_ENVIRONMENT
#define LOGON_NETCREDENTIALS_ONLY
#define GetCurrentDirectory
#define MAX_COMPUTERNAME_LENGTH
#define ENABLE_LINE_INPUT