我是使用Windows应用程序和C++的新手。我正在尝试从d3d11设备的Dxgi表面创建一个D2D设备,其代码为“http://msdn.microsoft.com/en-us/library/windows/desktop/hh404272(v=vs.85).aspx”。未能在C++中创建d2d设备
但HRESULT gr(创建d2d设备)给我一个错误“E_INVALIDARG”,虽然我遵循了给定的相同步骤。
这是代码片段。 // m_device已初始化
//获取DXGI设备
IDXGIDevice* DxgiDevice = nullptr;
HRESULT hr = m_Device->QueryInterface(__uuidof(IDXGIDevice), reinterpret_cast<void**>(&DxgiDevice));
// create id2d21factory
ID2D1Factory1* m_d2dFactory=nullptr;
D2D1_FACTORY_OPTIONS options;
options.debugLevel= D2D1_DEBUG_LEVEL_NONE;
D2D1_FACTORY_TYPE factoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED;
hr = D2D1CreateFactory(factoryType, __uuidof(ID2D1Factory1),&options, reinterpret_cast<void **> (&m_d2dFactory));
HRESULT gr= m_d2dFactory->CreateDevice(DxgiDevice, &m_d2dDevice);
在编译时或在Visual Studio 2012年 建设的解决方案,但给我的错误,而调试这个代码不给任何错误。 我正试图在微软的桌面重复示例代码中插入此代码。我需要为我的项目创建一个d2dmapmap源代码
请帮助我解决这个问题。
请让我知道是否需要更多细节。
这是什么'm_d2dDevice'? – 2013-02-12 15:17:38
这是我想要创建的d2d设备。 – user2064064 2013-02-13 04:48:06