Função winrt::copy_to_abi (C++/WinRT)

Uma função auxiliar que copia para um identificador ou para um ponteiro de um objeto C++/WinRT . Incrementa a contagem de referência em qualquer interface referenciada no momento e copia o endereço de memória dessa interface para o parâmetro (incrementando qualquer contagem de referência no parâmetro). Essa função permite que você distribua uma referência à mesma interface sem chamar QueryInterface. Para obter mais informações e exemplos de código, consulte Interoperabilidade entre C++/WinRT e a ABI.

Sintaxe

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;

Parâmetros

object Um objeto C++/WinRT no qual operar.

value Uma referência de identificador ou uma referência de ponteiro bruto; por meio do qual copiar o ponteiro para o identificador ou destino do objeto C++/WinRT. No caso da IUnknown const&, void*& sobrecarga, a função chama AddRef no valor.

Requisitos

SDK mínimo com suporte: Windows SDK versão 10.0.17134.0 (Windows 10, versão 1803)

Namespace: winrt

Cabeçalho: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluído por padrão)

Confira também