Шаблон функции winrt::try_get_activation_factory (C++/WinRT)

Вспомогающая функция, извлекающая фабрику активации для указанного типа класса среда выполнения Windows или пустого com_ptr, если это не удалось.

Также см. шаблон функции winrt::get_activation_factory.

Синтаксис

template <typename Class, typename Interface = Windows::Foundation::IActivationFactory>
auto try_get_activation_factory() noexcept;

template <typename Class, typename Interface = Windows::Foundation::IActivationFactory>
auto try_get_activation_factory(hresult_error& exception) noexcept;

Параметры шаблона

typename ClassТип класса среда выполнения Windows, фабрика активации которого требуется получить.

typename Interface Интерфейс, реализованный фабрикой активации.

Возвращаемое значение

Ссылка на указанный интерфейс фабрики активации для указанного типа класса среда выполнения Windows или пустого com_ptr, если это не удалось.

Пример

В этом примере проверяется, присутствует ли класс в системе перед его использованием. Например, класс может находиться в другом семействе устройств, отличном от семейства устройств, на котором выполняется приложение (см. раздел "Программирование с помощью пакетов SDK расширений"). Приведенный ниже метод работает с открытыми и не открытыми типами.

if (auto factory { winrt::try_get_activation_factory<Class>() })
{
    // use Class.
}

См. также примеры шаблона функции winrt::get_activation_factory.

Требования

Минимальный поддерживаемый пакет SDK: пакет SDK Windows версии 10.0.17763.0 (Windows 10, версия 1809)

Пространство имен: winrt

Заголовок: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (включен по умолчанию)

См. также раздел