INode::RepresentAs

Материал из CAMaaS preliminary wiki
Версия от 14:58, 20 ноября 2017; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{function_begin | return_code_t RepresentAs(NodeTypeId type_id, void** ppInterface) noexcept; |{{INode::RepresentAs brief}}}} {{function_paramlist begin}} {{func…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
 return_code_t RepresentAs(NodeTypeId type_id, void** ppInterface) noexcept;

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

Параметры
type_id32-х битовое целое, принимающее одно из следующих значений идентификаторов интерфейсов.
Символическое имяЦелочисленное значениеОписание
NodeType0Идентификатор интерфейса INode.
TCPNodeType1Идентификатор интерфейса ITCPNode.
TCPNodeCustomRequestHandlerType2Идентификатор интерфейса ITCPNodeCustomRequestHandler.
[out]ppInterfaceВыходной указатель, принимающий интерфейс заданного типа или 0 в случае ошибки.
Возвращаемое значение:
32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код CHSVERROR_INVALID_PARAMETER.

В случае успешного завершения функции, полученный через параметр ppInterface объект необходимо закрывать вызовом его метода Release отдельно и независимо от объекта, над которым применен метод RepresentAs.

Для проверки доступности того или иного интерфейса предпочтительно использовать метод INode::IsInterfaceAvailable.