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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Создана пустая страница)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
 
{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION DemarshalNode(
    const char* pDomainName,
    size_type cchDomainName,
    std::uint32_t nFormat,
    IInputStream* pIs,
    IControlSystemDomainSide* pCtrl,
    INode** ppNode) noexcept; |{{DemarshalNode brief}}}}
{{function_paramlist begin}}
{{function_paramlist add|pDomainName|Строковой идентификатор экземпляра подсистемы предметной области, которой принадлежит узел. Строку не нужно завершать терминальным нулем.|paramdir=[in]}}
{{function_paramlist add|cchDomainName|Длина строки <tt>pDomainName</tt> в байтах.}}
{{function_paramlist add|nFormat|Задает формат, по которому осуществляется запись в поток. Формат задается одной из констант перечисления [[DefinitionFormat]]: {{DefinitionFormat}}}}
{{function_paramlist add|pIs|Поток для чтения данных об узле.|paramdir=[in]}}
{{function_paramlist add|pCtrl|Адрес экземпляра [[Подсистема управления|подсистемы управления]], с которым осуществляется взаимодействие экземпляра [[Подсистема предметной области|подсистемы предметной области]], в которой существует считываемый узел.|paramdir=[in]}}
{{function_paramlist add|ppNode|Указатель на выходной буфер, принимающий адрес прокси-объекта, реализующего интерфейс [[INode]] и ссылающийся для этого на узел-сервер, адрес которого прочитан функцией [[DemarshalNode]] из потока <tt>pIs</tt>.|paramdir=[out]}}
{{function_paramlist end}}
{{function_return_value|32-битовый целый код ошибки, который неотрицателен при успешности операции.}}
{{function sa begin}}
{{function sa add|[[MarshalNode]]|{{MarshalNode brief}}}}
{{function sa end}}
{{function_end}}

Текущая версия на 01:31, 18 декабря 2017

return_code_t PLATFORM_NATIVE_CALLING_CONVENTION DemarshalNode(
    const char* pDomainName,
    size_type cchDomainName,
    std::uint32_t nFormat,
    IInputStream* pIs,
    IControlSystemDomainSide* pCtrl,
    INode** ppNode) noexcept;

Осуществляет демаршаллинг адреса вычислительного узла INode из потока чтения и создает прокси-объект, реализующий интерфейс INode и при необходимости делегирующий вызов серверу узла по прочитанному адресу.

Параметры
[in]pDomainNameСтроковой идентификатор экземпляра подсистемы предметной области, которой принадлежит узел. Строку не нужно завершать терминальным нулем.
cchDomainNameДлина строки pDomainName в байтах.
nFormatЗадает формат, по которому осуществляется запись в поток. Формат задается одной из констант перечисления DefinitionFormat:
Символическое имяЦелочисленное значениеОписание
DEFINED_AS_BINARY1Данные запакованы в двоичном виде. См. package.
DEFINED_AS_XML2Данные запакованы в XML виде. Не поддерживается.
[in]pIsПоток для чтения данных об узле.
[in]pCtrlАдрес экземпляра подсистемы управления, с которым осуществляется взаимодействие экземпляра подсистемы предметной области, в которой существует считываемый узел.
[out]ppNodeУказатель на выходной буфер, принимающий адрес прокси-объекта, реализующего интерфейс INode и ссылающийся для этого на узел-сервер, адрес которого прочитан функцией DemarshalNode из потока pIs.
Возвращаемое значение:
32-битовый целый код ошибки, который неотрицателен при успешности операции.
См. также
MarshalNodeОсуществляет запись в выходной поток ссылки на внутрипроцессный или удаленный вычислительный узел INode.