Accoring to the Doc: D2D1CreateDevice function
This function will also create a new
ID2D1Factory1that can be retrieved through ID2D1Resource::GetFactory.
As far as I'm concerned, you should create a ID2D1Device object through the ID2D1Factory1 interface. The ID2D1Factory1 interface inherits from ID2D1Factory.
In my opinion, features like Layers, Device Contexts, Content Bounds exists in ID2D1Factory1 interface.
According to the Doc: Direct2D quickstart for Windows 8
After you create a factory, use it to create a Direct2D device and then use the device to create a Direct2D device context. In order to create these Direct2D objects, you must have a Direct3D 11 device , a DXGI device, and a DXGI swap chain.