class axl::sys::win::Service

#include <axl_sys_win_Service.h>

class Service: public axl::sl::Handle
{
public:
    // methods

    bool
    start(
        const wchar_t* argv[],
        size_t argc
        );

    bool
    start();

    bool
    stop();

    bool
    control(
        dword_t code,
        SERVICE_STATUS* serviceStatus
        );

    bool
    remove();

    bool
    setServiceType(dword_t serviceType);

    bool
    setStartType(dword_t startType);

    bool
    setErrorControl(dword_t errorControl);

    bool
    setDescription(const sl::StringRef_w& description);

    bool
    queryServiceStatus(SERVICE_STATUS* serviceStatus);

    bool
    changeServiceConfig(
        dword_t serviceType,
        dword_t startType,
        dword_t errorControl,
        const sl::StringRef_w& binaryFilePath = NULL,
        const sl::StringRef_w& loadOrderGroup = NULL,
        dword_t* tagId = NULL,
        const sl::StringRef_w& dependencies = NULL,
        const sl::StringRef_w& serviceStartName = NULL,
        const sl::StringRef_w& password = NULL,
        const sl::StringRef_w& displayName = NULL
        );

    bool
    changeServiceConfig2(
        dword_t infoLevel,
        const void* info
        );
};

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();