none
如何获取corewindow属性?(C#/C++) RRS feed

  • 问题

  • 以下是我的代码(C++),在第二行报错。

    	auto a = Windows::ApplicationModel::Core::CoreApplication::CreateNewView();
    	auto window = a->CoreWindow;	//出错位置
    	auto viewId = Windows::UI::ViewManagement::ApplicationView::GetApplicationViewIdForWindow(window);
    	create_task(Windows::UI::ViewManagement::ApplicationViewSwitcher::TryShowAsStandaloneAsync(viewId)).then([this](bool a){
    		int c = 0;
    		c++;
    	});

    错误:

    0x774A4DBD 处(位于 ??.exe 中)最可能的异常: Microsoft C++ 异常: Platform::COMException ^,位于内存位置 0x0379E13C 处。 HRESULT:0x8000001F 对某个 ASTA 的 COM 调用被阻止,因为调用链是在另一个 ASTA 中生成或通过它传递的。此调用模式易于导致死锁,并且单元调用控制不允许使用此调用模式。
    
    WinRT 信息: 对某个 ASTA (线程 3092)的 COM 调用(IID: {638BB2DB-451D-4661-B099-414F34FFB9F1},方法索引: 6)被阻止,因为调用链是在另一个 ASTA (线程 3508)中生成或通过它传递的。此调用模式易于导致死锁,单元调用控制不允许使用此调用模式。

    这是怎么回事?应该怎么解决?(我看了几个文档都没能找出解决方案)

    谢谢

    2015年5月30日 11:40

全部回复