IDXGIDevice2 interface (dxgi1_2.h)

The IDXGIDevice2 interface implements a derived class for DXGI objects that produce image data. The interface exposes methods to block CPU processing until the GPU completes processing, and to offer resources to the operating system.


The IDXGIDevice2 interface inherits from IDXGIDevice1. IDXGIDevice2 also has these types of members:


The IDXGIDevice2 interface has these methods.


Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.

Allows the operating system to free the video memory of resources by discarding their content. (IDXGIDevice2.OfferResources)

Restores access to resources that were previously offered by calling IDXGIDevice2::OfferResources.


The IDXGIDevice2 interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

The Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the IUnknown interface. You can query this Direct3D device object for the device's corresponding IDXGIDevice2 interface. To retrieve the IDXGIDevice2 interface of a Direct3D device, use the following code:

IDXGIDevice2 * pDXGIDevice;
hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice2), (void **)&pDXGIDevice);

Windows Phone 8: This API is supported.


Requirement Value
Minimum supported client Windows 8 and Platform Update for Windows 7 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | UWP apps]
Target Platform Windows
Header dxgi1_2.h

See also

DXGI Interfaces