�� �� �� �� ��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.