winrt::copy_from_abi-Funktion (C++/WinRT)

Eine Hilfsfunktion, die ein C++/WinRT-Objekt aus einem Handle oder von einem unformatierten Zeiger kopiert. Löscht das C++/WinRT-Objekt, oder erhöht die Referenzanzahl für alle aktuell referenzierten Schnittstellen, kopiert den Parameter und beginnt mit der Verwaltung des Handles oder der Schnittstelle, auf die darauf verwiesen wird (einschließlich inkrementieren einer Bezugsanzahl für den Parameter). Weitere Informationen und Codebeispiele finden Sie unter "Interop between C++/WinRT" und "ABI".

Syntax

template <typename T, typename V, typename =
std::enable_if_t<!std::is_base_of_v<winrt::Windows::Foundation::IUnknown, T>>>
void copy_from_abi(T& object, V&& value);

void copy_from_abi(winrt::hstring& object, void* value);

void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;

Parameter

object Ein C++/WinRT-Objekt, das ausgeführt werden soll.

value Ein Handle oder ein unformatierter Zeiger auf ein Ziel, dessen Lebensdauer vom C++/WinRT-Objekt verwaltet werden soll. Im Fall der IUnknown&, void* Überladung ruft die Funktion AddRef auf wert.

Anforderungen

Mindest unterstütztes SDK: Windows SDK Version 10.0.17134.0 (Windows 10, Version 1803)

Namespace: winrt

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

Siehe auch