ControlSystemDomainSideRef::Marshal

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
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, адресующий подсистему.