CeCreateProcess (RAPI) (Windows CE 5.0)

Send Feedback

CeCreateProcess is a remote application programming interface (RAPI), which enables an application running on a desktop computer to make function calls on a Windows CE–based device. This function is used to run a new program. It creates a new process and its primary thread. The new process executes the specified executable file.

BOOL CeCreateProcess(  LPCWSTR lpApplicationName,  LPCWSTR lpCommandLine,  LPSECURITY_ATTRIBUTES lpProcessAttributes,  LPSECURITY_ATTRIBUTES lpThreadAttributes,  BOOL bInheritHandles,  DWORD dwCreationFlags,  LPVOID lpEnvironment,  LPWSTR lpCurrentDirectory,  LPSTARTUPINFO lpStartupInfo,  LPPROCESS_INFORMATION lpProcessInformation);

Parameters

  • lpApplicationName
    [in] Long pointer to a null-terminated string that specifies the module to execute. The string can specify the full path and file name of the module to execute, or it can specify a partial name. In the case of a partial name, the function uses the current drive and current directory to complete the specification. The lpApplicationName parameter must be non-NULL, and must include the module name.
  • lpCommandLine
    [in] Long pointer to a null-terminated string that specifies the command line to execute. The lpCommandLine parameter can be NULL. In that case, the function uses the string pointed to by lpApplicationName as the command line. If lpCommandLine is non-NULL, lpApplicationName specifies the module to execute, and lpCommandLine specifies the command line. C runtime processes can use the argc and argv arguments. If lpApplicationName does not contain an extension, .EXE is assumed. If the filename ends in a period (.) with no extension, or if the filename contains a path, .EXE is not appended.

Note   If the filename does not contain a directory path, Windows searches for the executable file in the following sequence:

Windows CE Version 1st 2nd 3rd 4th
Windows CE versions back to 2.10 The windows (\windows) directory The root (\) directory of the device An OEM-dependent directory The OEM-defined shell (\ceshell) directory (Platform Builder users only)
Windows CE versions 4.2 and later The windows (\windows) directory The root (\) directory of the device An OEM-dependent directory, which includes the Windows CE Debug shell directory (for Platform Builder users only)  
Windows CE versions between 1.0 and 2.01 The root of the PC Card, if it exists The windows (\windows) directory The root (\ ) directory of the device  
  • lpProcessAttributes
    [in] Not supported; set to NULL.

  • lpThreadAttributes
    [in] Not supported; set to NULL.

  • bInheritHandles
    [in] Not supported; set to FALSE.

  • dwCreationFlags
    [in] Specifies additional flags that control the priority class and the creation of the process. For Windows CE 1.0 and later, specify either 0 or the following flag.

    Value Description
    CREATE_SUSPENDED The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.

    For Windows CE 2.0 and later, you can specify one of the following flags in addition to those in previous editions.

    Value Description
    DEBUG_PROCESS If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. Child processes of the new process are also debugged. The system notifies the debugger of all debug events that occur in the process being debugged.

    If you create a process with this flag set, only the calling thread — the thread that called CreateProcess — can call the WaitForDebugEvent function.

    DEBUG_ONLY_THIS_PROCESS If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. No child processes of the new process are debugged. The system notifies the debugger of all debug events that occur in the process being debugged.

    For Windows CE versions 3.0 and later, you can specify one of the following flags in addition to those in previous editions.

    Value Description
    CREATE_NEW_CONSOLE If this flag is set, then the new process has a new console, instead of inheriting the parent's console.
  • lpEnvironment
    [in] Not supported; set to NULL.

  • lpCurrentDirectory
    [in] Not supported; set to NULL.

  • lpStartupInfo
    [in] Not supported; set to NULL.

  • lpProcessInformation
    [out] Long pointer to a PROCESS_INFORMATION structure that receives identification information about the new process.

Return Values

Nonzero indicates success. Zero indicates failure. To determine if a function failed because of RAPI errors, call CeRapiGetError. To determine if a function failed because of non-RAPI errors, call CeGetLastError.

Remarks

When writing applications for Windows CE 1.0 and 1.01, use the PegCreateProcess function.

Requirements

OS Versions: Windows CE 2.0 and later.
Header: Rapi.h.
Link Library: Rapi.lib.

See Also

RAPI Functions | CeGetLastError | CeRapiGetError | CreateProcess | ResumeThread | WaitForDebugEvent | PROCESS_INFORMATION

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.