Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Класс
Представляет класс WinRT или COM, наследующий указанные интерфейсы и предоставляющий указанные среда выполнения Windows, классическую поддержку COM и слабую поддержку ссылок.
Этот класс предоставляет стандартную реализацию классов WinRT и COM, обеспечивая реализацию QueryInterface, AddRefRelease и т. д., управляет счетчиком ссылок модуля и поддерживает предоставление фабрики классов для активируемых объектов.
Синтаксис
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Параметры
classFlags
Необязательный параметр. Сочетание одного или нескольких RuntimeClassType значений перечисления. Макрос __WRL_CONFIGURATION_LEGACY__ можно определить, чтобы изменить значение classFlags по умолчанию для всех классов среды выполнения в проекте. Если определено, RuntimeClass экземпляры по умолчанию не являются гибкими. Если это не определено, RuntimeClass экземпляры по умолчанию являются гибкими. Чтобы избежать неоднозначности, всегда укажите вход Microsoft::WRL::FtmBase TInterfaces или RuntimeClassType::InhibitFtmBase. Если InhibitFtmBase и FtmBase оба используются, объект будет гибким.
TInterfaces
Список интерфейсов, которые объект реализует за пределами IUnknownили другие интерфейсы, IInspectable RuntimeClassTypeуправляемые. Он также может выводить другие классы, производные от, в частности Microsoft::WRL::FtmBase , чтобы сделать объект гибким и привести его к реализации IMarshal.
Участники
RuntimeClassInitialize
Функция, которая инициализирует объект, если MakeAndInitialize шаблон функции используется для создания объекта. Возвращается S_OK , если объект был успешно инициализирован или код ошибки COM, если инициализация завершилась ошибкой. Код ошибки COM распространяется как возвращаемое значение MakeAndInitialize. Метод RuntimeClassInitialize не вызывается, если Make шаблон функции используется для создания объекта.
Открытые конструкторы
| Имя | Описание |
|---|---|
RuntimeClass::RuntimeClass |
Инициализирует текущий RuntimeClass экземпляр класса. |
RuntimeClass::~RuntimeClass |
Деинициализирует текущий RuntimeClass экземпляр класса. |
Открытые методы
| Имя | Описание |
|---|---|
RuntimeClass::AddRef |
Увеличивает число ссылок для текущего RuntimeClass объекта. |
RuntimeClass::DecrementReference |
Уменьшает число ссылок для текущего RuntimeClass объекта. |
RuntimeClass::GetIids |
Возвращает массив, который может содержать идентификаторы интерфейса, реализованные текущим RuntimeClass объектом. |
RuntimeClass::GetRuntimeClassName |
Возвращает имя класса среды выполнения текущего RuntimeClass объекта. |
RuntimeClass::GetTrustLevel |
Возвращает уровень доверия текущего RuntimeClass объекта. |
RuntimeClass::GetWeakReference |
Возвращает указатель на слабый ссылочный объект для текущего RuntimeClass объекта. |
RuntimeClass::InternalAddRef |
Увеличивает число ссылок к текущему RuntimeClass объекту. |
RuntimeClass::QueryInterface |
Извлекает указатель на указанный идентификатор интерфейса. |
RuntimeClass::Release |
Выполняет операцию выпуска COM для текущего RuntimeClass объекта. |
Иерархия наследования
Иерархия — это сведения о реализации.
Требования
Заголовок: implements.h
Пространство имен: Microsoft::WRL
RuntimeClass::~RuntimeClass
Деинициализирует текущий RuntimeClass экземпляр класса.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Увеличивает число ссылок для текущего RuntimeClass объекта.
STDMETHOD_(
ULONG,
AddRef
)();
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае — значение HRESULT , указывающее на ошибку.
RuntimeClass::DecrementReference
Уменьшает число ссылок для текущего RuntimeClass объекта.
ULONG DecrementReference();
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае — значение HRESULT , указывающее на ошибку.
RuntimeClass::GetIids
Возвращает массив, который может содержать идентификаторы интерфейса, реализованные текущим RuntimeClass объектом.
STDMETHOD(
GetIids
)
(_Out_ ULONG *iidCount,
_Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Параметры
iidCount
По завершении этой операции общее количество элементов в массиве iids.
iids
После завершения операции представляет указатель на массив идентификаторов интерфейса.
Возвращаемое значение
Значение S_OK при успешном завершении. В противном случае — значение E_OUTOFMEMORY.
RuntimeClass::GetRuntimeClassName
Возвращает имя класса среды выполнения текущего RuntimeClass объекта.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Параметры
runtimeName
После завершения операции представляет имя класса среды выполнения.
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае — значение HRESULT , указывающее на ошибку.
Замечания
Ошибка утверждения возникает, если __WRL_STRICT__ или __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ не определена.
RuntimeClass::GetTrustLevel
Возвращает уровень доверия текущего RuntimeClass объекта.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Параметры
trustLvl
По завершении этой операции уровень доверия текущего RuntimeClass объекта.
Возвращаемое значение
ВсегдаS_OK.
Замечания
Ошибка утверждения возникает, если __WRL_STRICT__ или __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ не определена.
RuntimeClass::GetWeakReference
Возвращает указатель на слабый ссылочный объект для текущего RuntimeClass объекта.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Параметры
weakReference
После завершения операции представляет указатель на объект слабой ссылки.
Возвращаемое значение
ВсегдаS_OK.
RuntimeClass::InternalAddRef
Увеличивает число ссылок к текущему RuntimeClass объекту.
ULONG InternalAddRef();
Возвращаемое значение
Результирующий счетчик ссылок.
RuntimeClass::QueryInterface
Извлекает указатель на указанный идентификатор интерфейса.
STDMETHOD(
QueryInterface
)
(REFIID riid,
_Deref_out_ void **ppvObject);
Параметры
riid
Идентификатор интерфейса.
ppvObject
После завершения этой операции указатель на интерфейс, указанный параметром riid .
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае — значение HRESULT , указывающее на ошибку.
RuntimeClass::Release
Выполняет операцию выпуска COM для текущего RuntimeClass объекта.
STDMETHOD_(
ULONG,
Release
)();
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае — значение HRESULT , указывающее на ошибку.
Замечания
Если число ссылок становится нулевым, RuntimeClass объект удаляется.
RuntimeClass::RuntimeClass
Инициализирует текущий RuntimeClass экземпляр класса.
RuntimeClass();