Документация Microsoft предоставляет код для реализации взаимодействия между XAML и цепочкой подкачки DirectX с C ++ [1]:
Microsoft::WRL::ComPtr<ISwapChainPanelNative> m_swapChainNative;
// ...
IInspectable* panelInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(swapChainPanel);
panelInspectable->QueryInterface(__uuidof(ISwapChainPanelNative), (void **)&m_swapChainNative);
Однако я не смог понять, как мне реализовать это с C ++ / WinRT.
При использовании этого кода я получаю следующее сообщение об ошибке:
"[...] 'reinterpret_cast': невозможно преобразовать из 'winrt :: Windows :: UI :: Xaml :: Controls :: SwapChainPanel' в 'IInspectable *'"
Я использую DirectX12, Visual Studio 2017.
[1] https://docs.microsoft.com/en-us/windows/desktop/api/windows.ui.xaml.media.dxinterop/nn-windows-ui-xaml-media-dxinterop-iswapchainpanelnative