我是使用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