Freigeben über


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)

Siehe auch