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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «<source lang=cpp> std::uint32_t __stdcall DomainEntryPoint(const void* pRequest, uint32_t cbRequest, void* pOut, uint32_t* pcbOut); </source>»)
 
(Точки входа в control.dll давно уже имеют другие имена)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
<source lang=cpp>
{{function begin|std::uint32_t __stdcall DomainEntryPoint(const void* pRequest, uint32_t cbRequest, void* pOut, uint32_t* pcbOut);|Точка входа в подсистему предметной области, реализующая обработку запросов со стороны [[подсистема управления|подсистемы управления]].}}
std::uint32_t __stdcall DomainEntryPoint(const void* pRequest, uint32_t cbRequest, void* pOut, uint32_t* pcbOut);
{{function_paramlist begin}}
</source>
{{function_paramlist add | pRequest| Входной буфер, содержащий четырехбайтовый целочисленный идентификатор запроса и набор параметров запроса.}}
{{function_paramlist_add | cbRequest | Байтовый размер запроса с параметрами, т.е. размер буфера <code>pRequest</code>, выраженный как 32-битовое беззнаковое целое.}}
{{function_paramlist_add | pOut | Адрес буфера, через который функция возвращает сформированный ответ на запрос. Размер буфера на входе задается входным значением <code>*pcbOut</code>. Фактический байтовый размер ответа задается выходным значением <code>*pcbOut</code>.}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции [[ControlSystemGetErrorDescription]]. См. также [http://www.chusov.org/doxygen/group___error_handling.html doxygen].}}
{{function details|Функция обрабатывает следующие запросы: {{DomainRequests}}}}
{{function end}}

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

std::uint32_t __stdcall DomainEntryPoint(const void* pRequest, uint32_t cbRequest, void* pOut, uint32_t* pcbOut);

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

Параметры
pRequest Входной буфер, содержащий четырехбайтовый целочисленный идентификатор запроса и набор параметров запроса.
cbRequest Байтовый размер запроса с параметрами, т.е. размер буфера pRequest, выраженный как 32-битовое беззнаковое целое.
pOut Адрес буфера, через который функция возвращает сформированный ответ на запрос. Размер буфера на входе задается входным значением *pcbOut. Фактический байтовый размер ответа задается выходным значением *pcbOut.
Возвращаемое значение:
32-битовый беззнаковый код ошибки. В случае успешного вызова, возвращается нулевое значение. Код ошибки можно преобразовать в текстовое описание с помощью функции ControlSystemGetErrorDescription. См. также doxygen.
Функция обрабатывает следующие запросы:
Символическое имя Целочисленное значение Действие
DomainStartSimulation 0 запуск моделирования
DomainGetProcessStatus 1 получение идентификатора состояния процесса моделирования
DomainGetSimulationResultsSize 2 получение размера результатов моделирования
DomainGetSimulationResults 3 получение результатов моделирования
DomainCloseSimulation 4 закрытие процесса моделирования и освобождение соответствующих ресурсов в предметной области; если запущен процесс моделирования, то его остановка.