DemarshalLoadBalancer

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION DemarshalLoadBalancer(
    const char* pDomainName,
    size_type cchDomainName,
    std::uint32_t nFormat,
    IInputStream* pIs,
    ILoadBalancer** ppLB) noexcept;

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

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