IDXGISurface interface (dxgi.h)

The IDXGISurface interface implements methods for image-data objects.


The IDXGISurface interface derives from IDXGIDeviceSubObject.


The IDXGISurface interface has these methods.


Get a description of the surface.

Get a pointer to the data contained in the surface, and deny GPU access to the surface.

Invalidate the pointer to the surface retrieved by IDXGISurface::Map and re-enable GPU access to the resource.


An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call IDXGIOutput::GetDisplaySurfaceData.

Runtimes earlier than Direct3D 12 automatically create an IDXGISurface interface when they create a Direct3D resource object that represents a surface. IDXGISurface interfaces are not supported in Direct3D 12. For example, the runtime creates an IDXGISurface interface when you call ID3D11Device::CreateTexture2D or ID3D10Device::CreateTexture2D to create a 2D texture. To retrieve the IDXGISurface interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of IDXGISurface. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a pointer to the IDXGISurface interface pointer. Otherwise, QueryInterface fails and does not return the pointer to IDXGISurface.


Requirement Value
Target Platform Windows
Header dxgi.h

See also

DXGI Interfaces