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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin |OutputStreamRef Marshal(const char* pDomainName, size_type cchDomainName, DefinitionFormat nFormat, OutputStreamRef os) const; //1 OutputStreamR…»)
 
 
Строка 16: Строка 16:
{{function exceptionlist begin}}
{{function exceptionlist begin}}
{{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_chsv_code_exception_templ.html Chusov::Exceptions::ChsvCodeException]|Исключение, соответствующее коду ошибочного завершения, если последний возвращается функцией [[IControlSystemDomainSide::Marshal]].}}
{{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_chsv_code_exception_templ.html Chusov::Exceptions::ChsvCodeException]|Исключение, соответствующее коду ошибочного завершения, если последний возвращается функцией [[IControlSystemDomainSide::Marshal]].}}
{{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_invalid_parameter_exception.html Chusov::Exceptions::InvalidParameterException]|Длина идентификатора экземпляра подсистемы предметной области превосходит границу 4Гб.}}
{{function exceptionlist end}}
{{function exceptionlist end}}
{{function_sa_begin}}
{{function_sa_begin}}

Текущая версия на 23:25, 3 января 2018

OutputStreamRef Marshal(const char* pDomainName, size_type cchDomainName, DefinitionFormat nFormat, OutputStreamRef os) const; //1
OutputStreamRef Marshal(const char* pszDomainName, DefinitionFormat nFormat, OutputStreamRef os) const; //2
OutputStreamRef Marshal(const domain_name_type& strDomainName, DefinitionFormat nFormat, OutputStreamRef os) const; //3

Производит запись ссылки на подсистему управления в выходной поток.

  1. Идентификатор предметной области задается строкой заданной длины.
  2. Идентификатор предметной области задается строкой с терминальным нулем.
  3. Идентификатор предметной области задается типом domain_name_type.
Параметры
[in]pDomainNameУказатель на строку с идентификатором экземпляра подсистемы предметной области, для которой осуществляется маршаллинг.
cchDomainNameДлина строки cchDomainName в байтах.
[in]pszDomainNameC-строка с терминальным нулем, задающая идентификатор экземпляра подсистемы предметной области, для которой осуществляется маршаллинг.
strDomainNameC++-строка domain_name_type, задающая идентификатор экземпляра подсистемы предметной области, для которой осуществляется маршаллинг.
nFormatФормат, в соответствии с которым осуществляется маршаллинг. Принимает одно из значений
Символическое имяЦелочисленное значениеОписание
DEFINED_AS_BINARY1Данные запакованы в двоичном виде. См. package.
DEFINED_AS_XML2Данные запакованы в XML виде. Не поддерживается.
osПоток данных, в который осуществляется маршаллинг.
Возвращаемое значение:
Адаптер OutputStreamRef, определенный над тем же потоком, что и os.
Возможные исключения
Chusov::Exceptions::ChsvCodeExceptionИсключение, соответствующее коду ошибочного завершения, если последний возвращается функцией IControlSystemDomainSide::Marshal.
Chusov::Exceptions::InvalidParameterExceptionДлина идентификатора экземпляра подсистемы предметной области превосходит границу 4Гб.
См. также
IControlSystemDomainSide::MarshalПроизводит запись ссылки на экземпляр подсистемы управления в выходной поток IOutputStream.
ControlSystemDomainSideOwn::DemarshalОсуществляет демаршаллинг ссылки на подсистему управления из потока чтения и возвращает объект ControlSystemDomainSideOwn, адресующий подсистему.