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)

Siehe auch