IDirect3DSwapChain9::GetBackBuffer method (d3d9helper.h)

Retrieves a back buffer from the swap chain of the device.


HRESULT GetBackBuffer(
  [in]          UINT               iBackBuffer,
  [in]          D3DBACKBUFFER_TYPE Type,
  [out, retval] IDirect3DSurface9  **ppBackBuffer


[in] iBackBuffer

Type: UINT

Index of the back buffer object to return. Back buffers are numbered from 0 to the total number of back buffers - 1. A value of 0 returns the first back buffer, not the front buffer. The front buffer is not accessible through this method. Use IDirect3DSwapChain9::GetFrontBufferData to retrieve a copy of the front buffer.

[in] Type


Stereo view is not supported in Direct3D 9, so the only valid value for this parameter is D3DBACKBUFFER_TYPE_MONO.

[out, retval] ppBackBuffer

Type: IDirect3DSurface9**

Address of a pointer to an IDirect3DSurface9 interface, representing the returned back buffer surface.

Return value


If the method succeeds, the return value is D3D_OK. If BackBuffer exceeds or equals the total number of back buffers, then the function fails and returns D3DERR_INVALIDCALL.


Calling this method will increase the internal reference count on the IDirect3DSurface9 interface. Failure to call IUnknown::Release when finished using this IDirect3DSurface9 interface results in a memory leak. You must release any surfaces obtained through this method before releasing the swap chain it belongs to.


Target Platform Windows
Header d3d9helper.h (include D3D9.h)
Library D3D9.lib

See also