从dxgi swapchain/d3d11设备获取HWND



我有一个dxgiswapchain和d3d11设备,我想从这两个设备中的任何一个获取HWND。

void OnPresent(IDXGISwapChain *swapChain) {
ID3D11Device *device = NULL;
swapChain->GetDevice(__uuidof(ID3D11Device), (void**)&device);
}

我该怎么做?我只记得d3d9是可能的,所以我不确定dxgi/d3d11是否也可能。

调用IDXGISwapChain::GetDesc会给您交换链描述,它包含输出窗口的HWND

DXGI_SWAP_CHAIN_DESC swapChainDesc;
swapChain->GetDesc(&swapChainDesc);
swapChainDesc.OutputWindow; // the hwnd

最新更新