winrt::detach_abi-Funktion (C++/WinRT)
Eine Hilfsfunktion, die ein C++/WinRT-Objekt vom referenzierten Handle oder von der referenzierten Schnittstelle trennt. Das Trennen von einer Schnittstelle erfolgt, ohne die Referenzanzahl zu erhöhen, vielleicht um sie an einen Aufrufer zurückzugeben. Weitere Informationen und Codebeispiele finden Sie unter "Interop between C++/WinRT" und "ABI".
Syntax
template <typename T, typename =
std::enable_if_t<!std::is_base_of_v<winrt::Windows::Foundation::IUnknown, std::decay_t<T>>
&& !std::is_convertible_v<T, std::wstring_view>>>
auto detach_abi(T&& object);
inline void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
inline void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
constexpr void* detach_abi(std::nullptr_t) noexcept;
template <typename T>
void* detach_abi(winrt::com_ptr<T>& object) noexcept;
inline void* detach_abi(winrt::hstring& object) noexcept;
inline void* detach_abi(winrt::hstring&& object) noexcept;
inline void* detach_abi(std::wstring_view const& value);
inline void* detach_abi(std::wchar_t const * const value);
template <typename T>
std::pair<uint32_t, void*> detach_abi(winrt::com_array<T>& object) noexcept;
template <typename T>
std::pair<uint32_t, void*> detach_abi(winrt::com_array<T>&& object) noexcept;
Parameter
object
Ein C++/WinRT-Objekt, das ausgeführt werden soll.
Rückgabewert
Der Handle oder ein Zeiger auf die unformatierte Schnittstelle, auf die vom C++/WinRT-Objekt verwiesen wird.
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)