Ignore:
Timestamp:
Dec 19, 1999, 8:54:32 PM (26 years ago)
Author:
sandervl
Message:

FindResourceExA/W implemented, CreateProcessW bugfix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/wprocess.cpp

    r2096 r2144  
    1 /* $Id: wprocess.cpp,v 1.60 1999-12-17 16:56:30 sandervl Exp $ */
     1/* $Id: wprocess.cpp,v 1.61 1999-12-19 19:54:32 sandervl Exp $ */
    22
    33/*
     
    744744//******************************************************************************
    745745//******************************************************************************
    746 BOOL WIN32API CreateProcessW(LPCWSTR arg1, LPWSTR arg2,
    747                              PSECURITY_ATTRIBUTES arg3,
    748                              PSECURITY_ATTRIBUTES arg4,
    749                              BOOL arg5, DWORD arg6, PVOID arg7,
    750                              LPCWSTR arg8, LPSTARTUPINFOW arg9,
    751                              LPPROCESS_INFORMATION  arg10)
     746BOOL WIN32API CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine,
     747                             PSECURITY_ATTRIBUTES lpProcessAttributes,
     748                             PSECURITY_ATTRIBUTES lpThreadAttributes,
     749                             BOOL bInheritHandles, DWORD dwCreationFlags,
     750                             LPVOID lpEnvironment,
     751                             LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo,
     752                             LPPROCESS_INFORMATION lpProcessInfo)
    752753{
    753754 BOOL rc;
    754  char *astring1, *astring2, *astring3;
    755 
    756     dprintf(("KERNEL32:  OS2CreateProcessW DOESN't WORK"));
    757     astring1 = UnicodeToAsciiString((LPWSTR)arg1);
    758     astring2 = UnicodeToAsciiString(arg2);
    759     astring3 = UnicodeToAsciiString((LPWSTR)arg8);
    760     rc = CreateProcessA(astring1, astring2, arg3, arg4, arg5, arg6, arg7,
    761                            astring3, (LPSTARTUPINFOA)arg9, arg10);
    762     FreeAsciiString(astring3);
    763     FreeAsciiString(astring2);
    764     FreeAsciiString(astring1);
     755 char *astring1 = 0, *astring2 = 0, *astring3 = 0;
     756
     757    dprintf(("KERNEL32: CreateProcessW"));
     758    if(lpApplicationName)
     759        astring1 = UnicodeToAsciiString((LPWSTR)lpApplicationName);
     760    if(lpCommandLine)
     761        astring2 = UnicodeToAsciiString(lpCommandLine);
     762    if(lpCurrentDirectory)
     763        astring3 = UnicodeToAsciiString((LPWSTR)lpCurrentDirectory);
     764    rc = CreateProcessA(astring1, astring2, lpProcessAttributes, lpThreadAttributes,
     765                        bInheritHandles, dwCreationFlags, lpEnvironment,
     766                        astring3, (LPSTARTUPINFOA)lpStartupInfo,
     767                        lpProcessInfo);
     768    if(astring3)        FreeAsciiString(astring3);
     769    if(astring2)        FreeAsciiString(astring2);
     770    if(astring1)        FreeAsciiString(astring1);
    765771    return(rc);
    766772}
Note: See TracChangeset for help on using the changeset viewer.