DemarshalNode

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