Program Listing for File process.h#

Return to documentation for file (interfaces\process.h)

#ifndef __IDL_GENERATED__PROCESS_H__20251008_120503_561__
#define __IDL_GENERATED__PROCESS_H__20251008_120503_561__

#ifdef _MSC_VER
// Prevent bogus warnings about uninitialized members during static code analysis.
#pragma warning(push)
#pragma warning(disable : 26495)
#endif

// Provide fixed width integer types.
#include <cstdint>

#include "core.h"

namespace sdv
{
    namespace process
    {
        typedef uint32_t TProcessID;

        /*local*/ interface IProcessLifetimeCallback
        {
            static constexpr ::sdv::interface_id _id = 0x035E80AB6E3258FD;

            virtual void ProcessTerminated(/*in*/ TProcessID tProcessID, /*in*/ int64_t iRetValue) = 0;
        };

        /*local*/ interface IProcessLifetime
        {
            static constexpr ::sdv::interface_id _id = 0x3872CE0C82A56919;

            virtual uint32_t RegisterMonitor(/*in*/ TProcessID tProcessID, /*in*/ IInterfaceAccess* pMonitor) = 0;

            virtual void UnregisterMonitor(/*in*/ uint32_t uiCookie) = 0;

            virtual bool WaitForTerminate(/*in*/ TProcessID tProcessID, /*in*/ uint32_t uiWaitMs) = 0;
        };

        enum class EProcessRights : uint32_t
        {
            default_rights = 0,

            parent_rights = 10,

            reduced_rights = 20,
        };

        /*local*/ interface IProcessControl
        {
            static constexpr ::sdv::interface_id _id = 0x8B3DBE60232F8394;

            virtual TProcessID Execute(/*in*/ const sdv::u8string& ssModule, /*in*/ const sdv::sequence<sdv::u8string>& seqArgs, /*in*/ EProcessRights eRights) = 0;

            virtual bool Terminate(/*in*/ TProcessID tProcessID) = 0;
        };

        /*local*/ interface IProcessInfo
        {
            static constexpr ::sdv::interface_id _id = 0x7764DDB9C0AC97F0;

            virtual TProcessID GetProcessID() const = 0;
        };
    }
}

#ifdef _MSC_VER
#pragma warning(pop)
#endif

#endif // !defined(__IDL_GENERATED__PROCESS_H__20251008_120503_564__)