作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在学习C++和Direct3D11 / Direct2D(在UWP之上)很有趣,但是正在努力让我的小测试程序运行。当我调用CreateSwapChainForCoreWindow时,它会引发访问冲突(请参见下面的确切异常)。
我将D3D设备用于其他 call ,但它们起作用了,所以我认为这不是问题。交换链描述相对简单,交换链本身将在调用中设置。因此,我认为该异常是因为我将错误的指针传递给窗口,但无法解决。
异常(exception):
Exception thrown at 0x00007FF8FE44F4E0 (Windows.UI.dll) in UWP D2D example v3.exe: 0xC0000005: Access violation executing location 0x00007FF8FE44F4E0.
ComPtr<IDXGISwapChain1> swapChain = nullptr;
DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow(m_d3dDevice.Get(),
reinterpret_cast<IUnknown*>(&CoreWindow::GetForCurrentThread()),
&swapChainDescription,
NULL,
&swapChain));
最佳答案
通过将第二个参数更改为:
static_cast<::IUnknown*>(winrt::get_abi(CoreWindow::GetForCurrentThread()))
从:
reinterpret_cast<IUnknown*>(&CoreWindow::GetForCurrentThread())
我还不是很了解,还不知道为什么可以解决这个问题,但是我将进行研究并希望找出答案(对该问题的任何线索都将不胜感激)。
关于c++ - Direct3D11-在CreateSwapChainForCoreWindow上执行位置xxx的访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64489113/
我是一名优秀的程序员,十分优秀!