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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
м (Андрей Чусов переименовал страницу Entry point в ControlSystemEntryPoint: Точки входа в control.dll давно уже имеют другие имена)
(Точки входа в control.dll давно уже имеют другие имена)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{DISPLAYTITLE:entry_point}}
{{NavBar|{{Системная иерархия:Подсистема управления}} \ ControlSystemEntryPoint}}
{{NavBar|{{Системная иерархия:Подсистема управления}} \ entry_point}}


{{function begin|std::uint32_t entry_point(std::uint32_t nFunctionId, const void* pPackedInputParams, std::uint32_t cbPackedInputParams,  
{{function begin|CAMaaS::return_code_t ControlSystemEntryPoint(
void** pPackedOutputParams, std::uint32_t* pcbPackedOutputParams);|Точка входа в управляющую подсистему со стороны [[Веб-сервер | веб-сервера]].}}
  std::uint32_t nFunctionId, const void* pPackedInputParams, std::uint32_t cbPackedInputParams,  
  void** pPackedOutputParams, std::uint32_t* pcbPackedOutputParams);|Точка входа в управляющую подсистему со стороны [[Веб-сервер | веб-сервера]].}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|nFunctionId|Идентификатор клиентского запроса, который может принимать одно из следующих значений: {{Control Message Table}}}}
{{function_paramlist add|nFunctionId|Идентификатор клиентского запроса, который может принимать одно из следующих значений: {{Control Message Table}}}}
{{function_paramlist add|pPackedInputParams|Входной буфер, содержащий параметры запроса в соответствии со значением <code>nFunctionId</code>.|paramdir=[in]}}
{{function_paramlist add|pPackedInputParams|Входной буфер, содержащий параметры запроса в соответствии со значением <code>nFunctionId</code>.|paramdir=[in]}}
{{function_paramlist_add|cbPackedInputParams|Байтовый размер параметров запроса, т.е. размер буфера <code>pPackedInputParams</code>, выраженный как 32-битовое беззнаковое целое.}}
{{function_paramlist_add|cbPackedInputParams|Байтовый размер параметров запроса, т.е. размер буфера <code>pPackedInputParams</code>, выраженный как 32-битовое беззнаковое целое.}}
{{function_paramlist_add|pPackedOutputParams|Выходной указатель, который инициализируется адресом буфера с ответом управляющей подсистемы. Если ответ имеется, буфер выделяется управляющей подсистемой и должен освобождаться веб-сервером через вызов функции [[FreeData]]. Если же ответ отсутствует, на выходе указатель <code>pPackedOutputParams</code> и целое, на которое указывает параметр <code>pcbPackedOutputParams</code>, принимают нулевое значение.  
{{function_paramlist_add|pPackedOutputParams|Выходной указатель, который инициализируется адресом буфера с ответом управляющей подсистемы. Если ответ имеется, буфер выделяется управляющей подсистемой и должен освобождаться веб-сервером через вызов функции [[ControlSystemFreeData]]. Если же ответ отсутствует, на выходе указатель <code>pPackedOutputParams</code> и целое, на которое указывает параметр <code>pcbPackedOutputParams</code>, принимают нулевое значение.  


В случае ошибки, т.е. если функция возвращает ненулевое значение, буфер не возвращается, значения <code>*pPackedOutputParams</code> и <code>pcbPackedOutputParams</code>, не определены, и память не нужно освобождать.|paramdir=[out]}}
В случае ошибки, т.е. если функция возвращает ненулевое значение, буфер не возвращается, значения <code>*pPackedOutputParams</code> и <code>pcbPackedOutputParams</code>, не определены, и память не нужно освобождать.|paramdir=[out]}}
{{function_paramlist_add|pcbPackedOutputParams|указатель на 32-битовое беззнаковое целое, который на выходе принимает размер ответа сервера, если ответ имеется. Если ответ отсутствует, указателю присваивается значение 0.|paramdir=[out]}}
{{function_paramlist_add|pcbPackedOutputParams|указатель на 32-битовое беззнаковое целое, который на выходе принимает размер ответа сервера, если ответ имеется. Если ответ отсутствует, указателю присваивается значение 0.|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции [[GetErrorDescription]]. См. также [http://www.chusov.org/doxygen/group___error_handling.html doxygen].}}
{{function_return_value|32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции [[ControlSystemGetErrorDescription]]. См. также [http://www.chusov.org/doxygen/group___error_handling.html doxygen].}}

Текущая версия на 18:47, 4 июня 2019

Компоненты на верхнем уровне \ Подсистема управления \ ControlSystemEntryPoint
CAMaaS::return_code_t ControlSystemEntryPoint(
  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 закрытие моделирования и освобождение соответствующих ресурсов на сервере; если запущен процесс моделирования, то его остановка.
[in]pPackedInputParamsВходной буфер, содержащий параметры запроса в соответствии со значением nFunctionId.
cbPackedInputParamsБайтовый размер параметров запроса, т.е. размер буфера pPackedInputParams, выраженный как 32-битовое беззнаковое целое.
[out]pPackedOutputParamsВыходной указатель, который инициализируется адресом буфера с ответом управляющей подсистемы. Если ответ имеется, буфер выделяется управляющей подсистемой и должен освобождаться веб-сервером через вызов функции ControlSystemFreeData. Если же ответ отсутствует, на выходе указатель pPackedOutputParams и целое, на которое указывает параметр pcbPackedOutputParams, принимают нулевое значение. В случае ошибки, т.е. если функция возвращает ненулевое значение, буфер не возвращается, значения *pPackedOutputParams и pcbPackedOutputParams, не определены, и память не нужно освобождать.
[out]pcbPackedOutputParamsуказатель на 32-битовое беззнаковое целое, который на выходе принимает размер ответа сервера, если ответ имеется. Если ответ отсутствует, указателю присваивается значение 0.
Возвращаемое значение:
32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции ControlSystemGetErrorDescription. См. также doxygen.