class axl::sys::win::Process

#include <axl_sys_win_Process.h>

class Process: public axl::sys::win::WaitableHandle
{
public:
    // methods

    bool
    create(
        const sl::StringRef_w& appName,
        const sl::StringRef_w& cmdLine,
        const SECURITY_ATTRIBUTES* processAttr,
        const SECURITY_ATTRIBUTES* threadAttr,
        bool inheritHandles,
        dword_t flags,
        const void* environment,
        const sl::StringRef_w& currentDir,
        const STARTUPINFOW* startupInfo,
        handle_t* threadHandle
        );

    bool
    create(
        const sl::StringRef_w& cmdLine,
        bool inheritHandles,
        dword_t flags,
        const STARTUPINFOW* startupInfo
        );

    dword_t
    getProcessId();

    bool
    getExitCode(dword_t* exitCode);

    bool
    terminate(uint_t exitCode);
};

Inherited Members

public:
    // typedefs

    typedef T H;

    // methods

    operator T() const;

    T
    operator->() const;

    const Handle&
    operator=(T h);

    bool
    isOpen() const;

    void
    close();

    void
    attach(T h);

    T
    detach();

    T*
    p();

    static
    T
    getInvalidHandle();

    WaitResult
    wait(
        uint_t timeout = -1,
        bool isAlertable = false
        );

    static
    WaitResult
    multiWait(
        HANDLE* waitArray,
        dword_t count,
        bool doWaitAll = false,
        uint_t timeout = -1,
        bool isAlertable = false
        );