winrt::copy_to_abi-Funktion (C++/WinRT)
Eine Hilfsfunktion, die ein Handle oder einen Zeiger aus einem C++/WinRT-Objekt kopiert. Erhöht die Bezugsanzahl für alle aktuell referenzierten Schnittstellen und kopiert die Speicheradresse dieser Schnittstelle in den Parameter (inkrementieren einer Bezugsanzahl für den Parameter). Mit dieser Funktion können Sie einen Verweis auf dieselbe Schnittstelle ohne Aufrufen von QueryInterface aushändigen. 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_to_abi(T const& object, V& value);
void copy_to_abi(hstring const& object, void*& value);
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
Parameter
object
Ein C++/WinRT-Objekt, das ausgeführt werden soll.
value
Ein Handleverweis oder ein unformatierter Zeigerverweis; über die der Zeiger auf den Handle oder Ziel des C++/WinRT-Objekts kopiert werden soll. Im Fall der IUnknown const&, 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)