我对Rust 还比较陌生,我正在努力让以下几点发挥作用:
let hwnd : *mut HWND = window.hwnd().cast();
let swapchain = unsafe { factory.CreateSwapChainForHwnd(&device, *hwnd, &desc, std::ptr::null(), &output)? } ;
其中window.hwnd()
返回*mut c_void
,我需要将其转换为windows::Windows::Win32::Foundation::HWND
,但这个例子在访问冲突时崩溃.我认为这是因为我定义了一个指向HWND
的指针,而HWND
本身应该是void ptr.HWND
可以从isize
创建,比如HWND(isize)
,但我不确定它是否应该得到空指针的地址或其他什么?非常感谢您的帮助.