Поделиться через


Метод IDirect3DSwapChain9::GetBackBuffer (d3d9helper.h)

Извлекает задний буфер из цепочки буферов устройства.

Синтаксис

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

Параметры

[in] iBackBuffer

Тип: UINT

Индекс возвращаемого объекта обратного буфера. Задние буферы нумеруются от 0 до общего числа задних буферов — 1. Значение 0 возвращает первый задний буфер, а не передний буфер. Передний буфер недоступен с помощью этого метода. Используйте IDirect3DSwapChain9::GetFrontBufferData , чтобы получить копию переднего буфера.

[in] Type

Тип: D3DBACKBUFFER_TYPE

Стерео представление не поддерживается в Direct3D 9, поэтому единственным допустимым значением этого параметра является D3DBACKBUFFER_TYPE_MONO.

[out, retval] ppBackBuffer

Тип: IDirect3DSurface9**

Адрес указателя на интерфейс IDirect3DSurface9 , представляющий возвращенную обратную буферную поверхность.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если значение BackBuffer превышает или равно общему количеству буферов назад, функция завершается сбоем и возвращает D3DERR_INVALIDCALL.

Комментарии

Вызов этого метода увеличит количество внутренних ссылок в интерфейсе IDirect3DSurface9 . Сбой вызова IUnknown::Release после завершения использования этого интерфейса IDirect3DSurface9 приводит к утечке памяти. Перед освобождением цепочки буферов необходимо освободить все поверхности, полученные с помощью этого метода.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9helper.h (включая D3D9.h)
Библиотека D3D9.lib

См. также раздел

IDirect3DSwapChain9

IDirect3DSwapChain9::GetFrontBufferData