Implementation of CreateProcess32W.
This commit is contained in:
parent
7401463528
commit
d0fc60ad05
|
@ -700,6 +700,8 @@ BOOL32 WINAPI CreateProcess32A( LPCSTR lpApplicationName, LPSTR lpCommandLine,
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* CreateProcess32W (KERNEL32.172)
|
* CreateProcess32W (KERNEL32.172)
|
||||||
|
* NOTES
|
||||||
|
* lpReserved is not converted
|
||||||
*/
|
*/
|
||||||
BOOL32 WINAPI CreateProcess32W( LPCWSTR lpApplicationName, LPWSTR lpCommandLine,
|
BOOL32 WINAPI CreateProcess32W( LPCWSTR lpApplicationName, LPWSTR lpCommandLine,
|
||||||
LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
||||||
|
@ -708,13 +710,34 @@ BOOL32 WINAPI CreateProcess32W( LPCWSTR lpApplicationName, LPWSTR lpCommandLine,
|
||||||
LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory,
|
LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory,
|
||||||
LPSTARTUPINFO32W lpStartupInfo,
|
LPSTARTUPINFO32W lpStartupInfo,
|
||||||
LPPROCESS_INFORMATION lpProcessInfo )
|
LPPROCESS_INFORMATION lpProcessInfo )
|
||||||
{
|
{ BOOL32 ret;
|
||||||
FIXME(win32, "(%s,%s,...): stub\n", debugstr_w(lpApplicationName),
|
STARTUPINFO32A StartupInfoA;
|
||||||
debugstr_w(lpCommandLine));
|
|
||||||
|
|
||||||
/* make from lcc uses system as fallback if CreateProcess returns
|
LPSTR lpApplicationNameA = HEAP_strdupWtoA (GetProcessHeap(),0,lpApplicationName);
|
||||||
FALSE, so return false */
|
LPSTR lpCommandLineA = HEAP_strdupWtoA (GetProcessHeap(),0,lpCommandLine);
|
||||||
return FALSE;
|
LPSTR lpCurrentDirectoryA = HEAP_strdupWtoA (GetProcessHeap(),0,lpCurrentDirectory);
|
||||||
|
|
||||||
|
memcpy (&StartupInfoA, lpStartupInfo, sizeof(STARTUPINFO32A));
|
||||||
|
StartupInfoA.lpDesktop = HEAP_strdupWtoA (GetProcessHeap(),0,lpStartupInfo->lpDesktop);
|
||||||
|
StartupInfoA.lpTitle = HEAP_strdupWtoA (GetProcessHeap(),0,lpStartupInfo->lpTitle);
|
||||||
|
|
||||||
|
TRACE(win32, "(%s,%s,...)\n", debugstr_w(lpApplicationName), debugstr_w(lpCommandLine));
|
||||||
|
|
||||||
|
if (lpStartupInfo->lpReserved)
|
||||||
|
FIXME(win32,"StartupInfo.lpReserved is used, please report (%s)\n", debugstr_w(lpStartupInfo->lpReserved));
|
||||||
|
|
||||||
|
ret = CreateProcess32A( lpApplicationNameA, lpCommandLineA,
|
||||||
|
lpProcessAttributes, lpThreadAttributes,
|
||||||
|
bInheritHandles, dwCreationFlags,
|
||||||
|
lpEnvironment, lpCurrentDirectoryA,
|
||||||
|
&StartupInfoA, lpProcessInfo );
|
||||||
|
|
||||||
|
HeapFree( GetProcessHeap(), 0, lpCurrentDirectoryA );
|
||||||
|
HeapFree( GetProcessHeap(), 0, lpCommandLineA );
|
||||||
|
HeapFree( GetProcessHeap(), 0, StartupInfoA.lpDesktop );
|
||||||
|
HeapFree( GetProcessHeap(), 0, StartupInfoA.lpTitle );
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue