ExecutionManager component
The API is defined in the header files located in the directory sysroot-*-kos/include/component/execution_manager/
from the SDK.
The ExecutionManager component usage scenario is described in the article titled "Starting a process using the KasperskyOS API".
execution_manager_proxy.h interface
The API is defined in the header file sysroot-*-kos/include/component/execution_manager/kos_ipc/execution_manager_proxy.h
The interface contains the factory method CreateExecutionManager()
for getting the pointer to the instance of the IExecutionManager
interface that is required for working with the ExecutionManager component.
Usage example:
client.cpp
IExecutionManager interface
The API is defined in the header file sysroot-*-kos/include/component/execution_manager/i_execution_manager.h
The IExecutionManager
interface lets you access pointers to the following interfaces:
IApplicationController
– interface for starting and stopping processes.ISystemController
– interface for managing the system.
Usage example:
client.cpp
IApplicationController interface
The API is defined in the header file sysroot-*-kos/include/component/execution_manager/i_application_control.h
The IApplicationController
interface provides the following methods that let you change the state of a process:
StartEntity(
const std::filesystem::path& runPath,
const StartEntityInfo& info,
StartEntityResultInfo& resInfo
) – method for starting a process.RestartEntity(EntityId endId)
– method for restarting a previously started process.ShutdownEntity(EntityId entId)
– method for sending a termination signal to a process.StopEntity(EntityId entId)
– method for immediately stopping execution of a process.
The StartEntity()
method receives the path to the executable file that should be run and the structure containing the run parameters for the StartEntityInfo
process, and returns the structure containing the StartEntityResultInfo
process run results. All fields of the StartEntityInfo
structure are optional for initialization.
All other methods receive the EntityId
structure that identifies the started process.
Usage example:
client.cpp
ISystemController interface
The API is defined in the header file sysroot-*-kos/include/component/execution_manager/i_system_control.h
The ISystemController
interface provides the following method for system management:
StopAllEntities()
method stops all running processes, then terminates the ExecutionManager process, then sends a device shutdown request to the kernel.
Usage example:
client.cpp