Freigeben über


winrt::try_get_activation_factory Funktionsvorlage (C++/WinRT)

Eine Hilfsfunktion, die die Aktivierungsfabrik für einen angegebenen Windows-Runtime Klassentyp oder eine leere com_ptr abruft, falls nicht erfolgreich.

Siehe auch die Winrt::get_activation_factory Funktionsvorlage.

Syntax

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;

Vorlagenparameter

typename ClassEin Windows-Runtime Klassentyp, dessen Aktivierungsfabrik abgerufen werden soll.

typename Interface Eine Von der Aktivierungsfabrik implementierte Schnittstelle.

Rückgabewert

Ein Verweis auf die angegebene Schnittstelle der Aktivierungsfabrik für den angegebenen Windows-Runtime Klassentyp oder einen leeren com_ptr wenn nicht erfolgreich.

Beispiel

In diesem Beispiel wird überprüft, ob eine Klasse im System vorhanden ist, bevor sie verwendet wird. Die Klasse kann beispielsweise in einer anderen Gerätefamilie enthalten sein, die die App ausführt (siehe Programmierung mit Erweiterungs-SDKs). Die unten gezeigte Technik funktioniert mit öffentlichen und nicht öffentlichen Typen.

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

Siehe auch die Beispiele für winrt::get_activation_factory Funktionsvorlage.

Anforderungen

Mindest unterstütztes SDK: Windows SDK Version 10.0.17763.0 (Windows 10, Version 1809)

Namespace: winrt

Header: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (standardmäßig enthalten)

Siehe auch