Interface implementation base::RepresentAs: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppI…») |
|||
Строка 11: | Строка 11: | ||
Для проверки доступности того или иного интерфейса предпочтительно использовать метод [[interface_implementation_base::IsInterfaceAvailable|IsInterfaceAvailable]]. | Для проверки доступности того или иного интерфейса предпочтительно использовать метод [[interface_implementation_base::IsInterfaceAvailable|IsInterfaceAvailable]]. | ||
Метод определен только в случае, если преобразование типов задано политикой <tt> | Метод определен только в случае, если преобразование типов задано политикой <tt>interface_conversion_policy</tt>. |
Версия 18:09, 7 декабря 2017
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.