An IDXGIFactory interface implements methods for generating DXGI objects (which handle full screen transitions).
interface IDXGIFactory : public IDXGIObject
Create a factory by calling CreateDXGIFactory.
Because you can create a Microsoft Direct3D device without creating a swap chain, you might need to retrieve the factory that is used to create the device in order to create a swap chain. You can request the IDXGIDevice interface from the Microsoft Direct3D device and then use the IDXGIObject::GetParent method to locate the factory. The following code shows how.
IDXGIDevice * pDXGIDevice;
hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
IDXGIAdapter * pDXGIAdapter;
hr = pDXGIDevice->GetParent(__uuidof(IDXGIAdapter), (void **)&pDXGIAdapter);
IDXGIFactory * pIDXGIFactory;
pDXGIAdapter->GetParent(__uuidof(IDXGIFactory), (void **)&pIDXGIFactory);
Header: Declared in d3d11_x.h (dxgi.h on other Windows platforms).
Library: Use d3d11_x.lib (dxgi.lib on other Windows platforms).