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

Вспомогающая функция, которая копируется в дескриптор или указатель из объекта C++/WinRT . Увеличивает количество ссылок на любой текущий интерфейс, на который ссылается ссылка, и копирует адрес памяти этого интерфейса в параметр (приращение количества ссылок к параметру). Эта функция позволяет раздавать ссылку на тот же интерфейс без вызова QueryInterface. Дополнительные сведения и примеры кода см. в разделе "Взаимодействие между 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_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;

Параметры

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

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

Требования

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

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

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

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