IDirect3DSwapChain9::GetBackBuffer method

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

Syntax

HRESULT GetBackBuffer(
  UINT               iBackBuffer,
  D3DBACKBUFFER_TYPE Type,
  IDirect3DSurface9  **ppBackBuffer
);

Parameters

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.

Type

Type: D3DBACKBUFFER_TYPE

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

ppBackBuffer

Type: IDirect3DSurface9**

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

Return Value

Type: HRESULT

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.

Remarks

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.

Requirements

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

See Also

IDirect3DSwapChain9

IDirect3DSwapChain9::GetFrontBufferData