return S_OK;
     }
-    else if (IsEqualGUID(iid, &IID_ID2D1GdiInteropRenderTarget))
+    else if (IsEqualGUID(iid, &IID_ID2D1GdiInteropRenderTarget)
+            || IsEqualGUID(iid, &IID_ID2D1GdiInteropRenderTarget))
         return ID2D1RenderTarget_QueryInterface(render_target->dxgi_target, iid, out);


Something feels wrong here - did you mean to have 2nd check against  &IID_ID2D1DeviceContext ?

Thanks,
Vlad.