【发布时间】:2020-01-11 07:13:39
【问题描述】:
我正在为我的 Win32 C++ 应用程序使用 UWP Xaml 托管 API。我有以下代码:
winrt::Windows::UI::Xaml::Hosting::WindowsXamlManager XamlManager = winrt::Windows::UI::Xaml::Hosting::
WindowsXamlManager::InitializeForCurrentThread();
winrt::Windows::UI::Xaml::Hosting::DesktopWindowXamlSource XamlSource;
当我完成 UWP 内容后,我正在调用
XamlSource.Close();
XamlManager.Close();
但调试器的输出窗口表明正在抛出异常:
windows\advcore\winrt\iwindow\corewindow\desktop\desktopwindowcontentbridge.cpp(499)\Windows.UI.dll!00007FFD91CD860F: (caller: 00007FFD91CD7704) ReturnHr(1) tid(7168) 8007139F The group or resource is not in the correct state to perform the requested operation.
我做错了什么?
【问题讨论】:
-
您似乎在使用 C++/WinRT。如果是这种情况,则无需手动
Close资源。只需让智能指针超出范围,并让析构函数进行清理。除非你在做一些有趣的事情,否则这会建立正确的破坏顺序。不过,需要minimal reproducible example 才能获得明确的答案。
标签: c++ xaml winapi uwp xaml-islands