direct2d quickstart with ID2D1Device3
See the question and my original answer on StackOverflowYou must first get an ID2D1Device2 and then QueryInterface on this. With WRL helpers, this would be a code similar to this:
Microsoft::WRL::ComPtr<ID2D1Device2> dev2;
Hres = factory->CreateDevice(dxgiDevice.Get(), &dev2);
Microsoft::WRL::ComPtr<ID2D1Device3> dev3;
Hres = dev2.As(&dev3); // does QueryInterface