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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t RepresentAs(StreamTypeId type_id, void** ppInterface) const noexcept; |{{IStream::RepresentAs brief}}}} {{function_paramlist beg…»)
 
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{function_begin | return_code_t RepresentAs(StreamTypeId type_id,  void** ppInterface) const noexcept; |{{IStream::RepresentAs brief}}}}
{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(StreamTypeId type_id,  void** ppInterface) const noexcept; |{{IStream::RepresentAs brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|type_id|.}}
{{function_paramlist add|type_id|32-х битовое целое, принимающее одно из следующих значений идентификаторов интерфейсов.}}
{{function_paramlist add|ppInterface|.|paramdir=[out]}}
{{function_paramlist add|ppInterface|Выходной указатель, принимающий интерфейс заданного типа или 0 в случае ошибки.|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код [https://www.chusov.org/doxygen/group___error_handling.html CHSVERROR_INVALID_PARAMETER].}}
{{function_end}}
{{function_end}}
В случае успешного завершения функции, полученный через параметр <tt>ppInterface</tt> объект необходимо закрывать вызовом его метода [[InterfaceBase::Release|Release]] отдельно и независимо от объекта, над которым применен метод [[IStream::RepresentAs|RepresentAs]].
Для проверки доступности того или иного интерфейса предпочтительно использовать метод [[IStream::IsInterfaceAvailable]].

Текущая версия на 13:56, 15 августа 2019

return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(StreamTypeId type_id,  void** ppInterface) const noexcept;

Создает представление реализации в виде интерфейса, заданного идентификатором.

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

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

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