IStream::RepresentAs: различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 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|32-х битовое целое, принимающее одно из следующих значений идентификаторов интерфейсов. | {{function_paramlist add|type_id|32-х битовое целое, принимающее одно из следующих значений идентификаторов интерфейсов.}} | ||
{{function_paramlist add|ppInterface|Выходной указатель, принимающий интерфейс заданного типа или 0 в случае ошибки.|paramdir=[out]}} | {{function_paramlist add|ppInterface|Выходной указатель, принимающий интерфейс заданного типа или 0 в случае ошибки.|paramdir=[out]}} | ||
{{function_paramlist end}} | {{function_paramlist end}} | ||
Строка 7: | Строка 7: | ||
{{function_end}} | {{function_end}} | ||
В случае успешного завершения функции, полученный через параметр <tt>ppInterface</tt> объект необходимо закрывать вызовом его метода [[InterfaceBase::Release|Release]] отдельно и независимо от объекта, над которым применен метод [[ | В случае успешного завершения функции, полученный через параметр <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_id 32-х битовое целое, принимающее одно из следующих значений идентификаторов интерфейсов. [out] ppInterface Выходной указатель, принимающий интерфейс заданного типа или 0 в случае ошибки. - Возвращаемое значение:
- 32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код CHSVERROR_INVALID_PARAMETER.
В случае успешного завершения функции, полученный через параметр ppInterface объект необходимо закрывать вызовом его метода Release отдельно и независимо от объекта, над которым применен метод RepresentAs.
Для проверки доступности того или иного интерфейса предпочтительно использовать метод IStream::IsInterfaceAvailable.