Функция winrt::copy_from_abi (C++/WinRT)

Вспомогающая функция, которая копирует объект C++/WinRT из дескриптора или из необработанного указателя. Очищает объект C++/WinRT или уменьшает количество ссылок на любой текущий интерфейс, копирует параметр и начинает управлять дескриптором или интерфейсом, на который он указывает (включая увеличение количества ссылок в параметре). Дополнительные сведения и примеры кода см. в разделе "Взаимодействие между C++/WinRT" и ABI.

Синтаксис

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;

Параметры

object Объект C++/WinRT для работы.

value Дескриптор или необработанный указатель на целевой объект, время существования которого должно управляться объектом C++/WinRT. В случае перегрузки IUnknown&, void* функция вызывает AddRef по значению.

Требования

Минимальный поддерживаемый пакет SDK: пакет SDK Windows версии 10.0.17134.0 (Windows 10 версии 1803)

Пространство имен: winrt

Заголовок: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (включен по умолчанию)

См. также раздел