IControlSystemDomainSide::Marshal: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{NavBar|{{Системная иерархия:IControlSystemDomainSide}} \ Marshal}} {{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION Marshal(…») |
|||
Строка 22: | Строка 22: | ||
:в поток <tt>pOs</tt> пишется значение <source lang="cpp" inline>ControlSystemServerType::ControlSystemIsTCPServer</source> (4б), затем длина адреса TCP-сервера, реализующего подсистему управления, в байтах, (4б), затем строковое выражение адреса сервера (UTF-8) и далее TCP порт (2б). | :в поток <tt>pOs</tt> пишется значение <source lang="cpp" inline>ControlSystemServerType::ControlSystemIsTCPServer</source> (4б), затем длина адреса TCP-сервера, реализующего подсистему управления, в байтах, (4б), затем строковое выражение адреса сервера (UTF-8) и далее TCP порт (2б). | ||
''Функция не | ''Функция не увеличивает счетчик ссылок на экземпляр подсистемы управления - это должен делать вызывающий при успешном завершении функции.'' |
Текущая версия на 15:01, 19 декабря 2017
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION Marshal(
const char* pDomainName, size_type cchDomainName, std::uint32_t nFormat, IOutputStream* pOs) const noexcept;
Производит запись ссылки на экземпляр подсистемы управления в выходной поток IOutputStream.
- Параметры
[in] pDomainName Строковой идентификатор экземпляра подсистемы предметной области, для которого осуществляется запись в поток. Строку не нужно завершать терминальным нулем. cchDomainName Длина строки pDomainName в байтах. nFormat Задает формат, по которому осуществляется в поток. Формат задается одной из констант перечисления DefinitionFormat, приведенной к 32-битовому целому: Символическое имя Целочисленное значение Описание DEFINED_AS_BINARY 1 Данные запакованы в двоичном виде. См. package. DEFINED_AS_XML 2 Данные запакованы в XML виде. Не поддерживается. [in] pOs Поток для записи ссылки на экземпляр подсистемы управления. - Возвращаемое значение:
- 32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.
- См. также
DemarshalControlSystem Производит чтение ссылки на экземпляр подсистемы управления из потока чтения IInputStream.
Формат данных, которые пишутся в выходной поток.
Если nFormat == DefinitionFormat::DEFINED_AS_BINARY
, то:
- для внутрипроцессной реализации подсистемы управления
- в поток pOs пишется значение
ControlSystemServerType::ControlSystemIsInprocessServer
, (4б), затем машинное слово с указателем на текущую реализацию IControlSystemDomainSide; - для реализации TCP-сервером
- в поток pOs пишется значение
ControlSystemServerType::ControlSystemIsTCPServer
(4б), затем длина адреса TCP-сервера, реализующего подсистему управления, в байтах, (4б), затем строковое выражение адреса сервера (UTF-8) и далее TCP порт (2б).
Функция не увеличивает счетчик ссылок на экземпляр подсистемы управления - это должен делать вызывающий при успешном завершении функции.