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 Class
Ein 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)