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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
Строка 2: Строка 2:


{{function begin|domain_response_code_t FormResponse(return_code_t nReturnCode, _In_opt_z_count_(cbErrorDescription) const char* pErrorDescription,  
{{function begin|domain_response_code_t FormResponse(return_code_t nReturnCode, _In_opt_z_count_(cbErrorDescription) const char* pErrorDescription,  
size_type cbErrorDescription) const; /*1*/
size_type cbErrorDescription) const;|{{IControlSystemDomainSide::FormResponse brief}}}}
domain_response_code_t FormResponse(return_code_t nReturnCode, _In_opt_z_ const char* pszErrorDescription) const; /*2*/
domain_response_code_t FormResponse(return_code_t nReturnCode) const; /*3*/
domain_response_code_t FormResponse() const; /*4*/|{{IControlSystemDomainSide::FormResponse brief}}
# Устанавливает код ответа вместе с текстовым описанием заданной длины.
# Устанавливает код ответа вместе с текстовым описанием, заданным C-строкой.
# Устанавливает код ответа без текстового описания. Аналогично <source lang='cpp' inline>FormatResponse(nReturnCode, nullptr);</source>.
# Устанавливает код ответа по умолчанию без текстового описания. Аналогично <source lang='cpp' inline>FormatResponse(0, nullptr);</source>.
}}
{{function paramlist begin}}
{{function paramlist begin}}
{{function paramlist add|nReturnCode|32-битовый код ошибки в формате [https://www.chusov.org/doxygen/group___error_handling.html chsvlib]. Коды, для которых <source lang='cpp' inline>_ChsvCode_Facility(nReturnCode) == FACILITY_CHUSOV_GENERAL</source> будут анализироваться подсистемой управления. Код, установленный в 0 (<source lang='cpp' inline>CHSVERROR_SUCCESS</source>) является кодом по умолчанию (перегрузка 4), сидетельствующим о норамльном завершении операции. Коды с установленным старшим битом (т.е. коды, для которых выполняется предикат <tt>[https://www.chusov.org/doxygen/group___error_handling.html#gae60c94999cd6df043f2905279b9b167e _ChsvSucceeded](nReturnCode)</tt>) также свидетельствуют об успешности операции, но при этом устанавливаются специальные сведения о пространстве (см. [https://www.chusov.org/doxygen/group___error_handling.html#ga4d8ccd3a95cb7ea54790b719d06c7a47 _ChsvCode_Facility]) и значении кода рзультата.
{{function paramlist add|nReturnCode|32-битовый код ошибки в формате [https://www.chusov.org/doxygen/group___error_handling.html chsvlib]. Коды, для которых <source lang='cpp' inline>_ChsvCode_Facility(nReturnCode) == CHSV_FACILITY_GENERAL</source> будут анализироваться подсистемой управления. Код, установленный в 0 (<source lang='cpp' inline>CHSVERROR_SUCCESS</source>) является кодом по умолчанию (перегрузка 4), сидетельствующим о норамльном завершении операции. Коды с установленным старшим битом (т.е. коды, для которых выполняется предикат <tt>[https://www.chusov.org/doxygen/group___error_handling.html#gae60c94999cd6df043f2905279b9b167e _ChsvSucceeded](nReturnCode)</tt>) также свидетельствуют об успешности операции, но при этом устанавливаются специальные сведения о пространстве (см. [https://www.chusov.org/doxygen/group___error_handling.html#ga4d8ccd3a95cb7ea54790b719d06c7a47 _ChsvCode_Facility]) и значении кода рзультата.
}}
}}
{{function paramlist add|pErrorDescription|Опциональное текстовое описание ошибки, передаваемое подсистеме управления. Может быть установлено в <source lang='cpp' inline>nullptr</source>.|paramdir=[in]}}
{{function paramlist add|pErrorDescription|Опциональное текстовое описание ошибки, передаваемое подсистеме управления. Может быть установлено в <source lang='cpp' inline>nullptr</source>.|paramdir=[in]}}
{{function paramlist add|cbErrorDescription|Длина строки <tt>pErrorDescription</tt> в байтах. Если <source lang='cpp' inline>pErrorDescription == nullptr</source>, <source lang='cpp' inline>cbErrorDescription</source> должно быть 0.}}
{{function paramlist add|cbErrorDescription|Длина строки <tt>pErrorDescription</tt> в байтах. Если <source lang='cpp' inline>pErrorDescription == nullptr</source>, <source lang='cpp' inline>cbErrorDescription</source> должно быть 0.}}
{{function paramlist end}}
{{function paramlist end}}
{{function return_value|Сформированный код ответа предметной области. В случае, если <source lang='cpp' inline>nResponseCode == 0</source> (или используется перегрузка 4) и <source lang='cpp' inline>pErrorDescription == nullptr</source> (или используются перегрузки 3 или 4), функция просто возвращает целое значение 0.
{{function return_value|Сформированный код ответа предметной области. В случае, если <source lang='cpp' inline>nResponseCode == 0</source> и <source lang='cpp' inline>pErrorDescription == nullptr</source>, функция просто возвращает целое значение 0.


В противном случае, функция создает динамическую структуру данных с кодом и описанием ошибки и возвращает приведенный к целому указатель на нее.}}
В противном случае, функция создает динамическую структуру данных с кодом и описанием ошибки и возвращает приведенный к целому указатель на нее.}}

Текущая версия на 19:50, 9 сентября 2017

Компоненты на верхнем уровне \ Подсистема управления \ IControlSystemDomainSide \ FormResponse
domain_response_code_t FormResponse(return_code_t nReturnCode, _In_opt_z_count_(cbErrorDescription) const char* pErrorDescription, 
		size_type cbErrorDescription) const;

При вызове со стороны подсистемы предметной области формирует результат обработки запроса, поступившего со стороны подсистемы управления, с возможным текстовым описанием.

Параметры
nReturnCode32-битовый код ошибки в формате chsvlib. Коды, для которых _ChsvCode_Facility(nReturnCode) == CHSV_FACILITY_GENERAL будут анализироваться подсистемой управления. Код, установленный в 0 (CHSVERROR_SUCCESS) является кодом по умолчанию (перегрузка 4), сидетельствующим о норамльном завершении операции. Коды с установленным старшим битом (т.е. коды, для которых выполняется предикат _ChsvSucceeded(nReturnCode)) также свидетельствуют об успешности операции, но при этом устанавливаются специальные сведения о пространстве (см. _ChsvCode_Facility) и значении кода рзультата.
[in]pErrorDescriptionОпциональное текстовое описание ошибки, передаваемое подсистеме управления. Может быть установлено в nullptr.
cbErrorDescriptionДлина строки pErrorDescription в байтах. Если pErrorDescription == nullptr, cbErrorDescription должно быть 0.
Возвращаемое значение:
Сформированный код ответа предметной области. В случае, если nResponseCode == 0 и pErrorDescription == nullptr, функция просто возвращает целое значение 0. В противном случае, функция создает динамическую структуру данных с кодом и описанием ошибки и возвращает приведенный к целому указатель на нее.
См. также
domain_response_code_tВозвращаемый тип.