Interface implementation base::RepresentAs: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
{{DISPLAYTITLE:interface_implementation_base::RepresentAs}}
{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppInterface) noexcept; |{{interface_implementation_base::RepresentAs brief}}}}
{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppInterface) noexcept; |{{interface_implementation_base::RepresentAs brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}

Версия 18:29, 24 сентября 2019

return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppInterface) noexcept;

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

Параметры
type_idИдентификатор интерфейса, имеющий тип interface_conversion_policy::interface_identifier_type.
[out]ppInterfaceВыходной указатель, принимающий интерфейс типа, заданного идентификатором, или 0 в случае ошибки.
Возвращаемое значение:
32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код CHSVERROR_INVALID_PARAMETER.

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

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

Метод определен только в случае, если преобразование типов задано политикой interface_conversion_policy.