ControlSystemEntryPoint: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
{{NavBar|{{Control system hierarchy}} \ entry_point}}
{{function begin|std::uint32_t entry_point(std::uint32_t nFunctionId, const void* pPackedInputParams, std::uint32_t cbPackedInputParams,  
{{function begin|std::uint32_t entry_point(std::uint32_t nFunctionId, const void* pPackedInputParams, std::uint32_t cbPackedInputParams,  
void** pPackedOutputParams, std::uint32_t* pcbPackedOutputParams);|Точка входа в управляющую подсистему со стороны [[Веб-сервер | веб-сервера]].}}
void** pPackedOutputParams, std::uint32_t* pcbPackedOutputParams);|Точка входа в управляющую подсистему со стороны [[Веб-сервер | веб-сервера]].}}

Версия 22:34, 30 декабря 2015

Шаблон:Control system hierarchy \ entry_point
std::uint32_t entry_point(std::uint32_t nFunctionId, const void* pPackedInputParams, std::uint32_t cbPackedInputParams, 
	void** pPackedOutputParams, std::uint32_t* pcbPackedOutputParams);

Точка входа в управляющую подсистему со стороны веб-сервера.

Параметры
nFunctionIdИдентификатор клиентского запроса, который может принимать одно из следующих значений:
Символическое имя Целочисленное значение Действие
CreateModelId 0 создание новой модели
CreateObjectId 1 создание нового элемента модели
UploadModelId 2 загрузка модели со стороны пользователя.
StartSimulationId 3 запуск физического моделирования в предметной области
GetProcessStatusId 4 получение сведений о состоянии процесса моделирования
GetSimulationResultsId 5 получение результатов моделирования
StopSimulationId 6 досрочная остановка процесса моделирования (не реализовано)
CloseSimulationId 7 закрытие моделирования и освобождение соответствующих ресурсов на сервере; если запущен процесс моделирования, то его остановка.
pPackedInputParamsВходной буфер, содержащий параметры запроса в соответствии со значением nFunctionId.
cbPackedInputParamsБайтовый размер параметров запроса, т.е. размер буфера pPackedInputParams, выраженный как 32-битовое беззнаковое целое.
pPackedOutputParamsВыходной указатель, который инициализируется адресом буфера с ответом управляющей подсистемы. Если ответ имеется, буфер выделяется управляющей подсистемой и должен освобождаться веб-сервером через вызов функции FreeData. Если же ответ отсутствует, на выходе указатель pPackedOutputParams и целое, на которое указывает параметр pcbPackedOutputParams, принимают нулевое значение. В случае ошибки, т.е. если функция возвращает ненулевое значение, буфер не возвращается, значения *pPackedOutputParams и pcbPackedOutputParams, не определены, и память не нужно освобождать.
pcbPackedOutputParamsуказатель на 32-битовое беззнаковое целое, который на выходе принимает размер ответа сервера, если ответ имеется. Если ответ отсутствует, указателю присваивается значение 0.
Возвращаемое значение:
32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции GetErrorDescription. См. также doxygen.