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


Метод IDirect3DDevice9::GetFrontBufferData (d3d9.h)

Создает копию переднего буфера устройства и помещает ее в буфер системной памяти, предоставленный приложением.

Синтаксис

HRESULT GetFrontBufferData(
  [in] UINT              iSwapChain,
  [in] IDirect3DSurface9 *pDestSurface
);

Параметры

[in] iSwapChain

Тип: UINT

Целое число без знака, указывающее цепочку буферов.

[in] pDestSurface

Тип: IDirect3DSurface9*

Указатель на интерфейс IDirect3DSurface9 , который получит копию содержимого переднего буфера. Данные возвращаются в последовательных строках без промежуточного пространства, начиная с вертикально самой высокой строки на выходных данных устройства до самой низкой.

Для оконного режима размер целевой поверхности должен быть размером рабочего стола. Для полноэкранного режима размер целевой поверхности должен быть размером экрана.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращаемое значение может быть одним из следующих: D3DERR_DRIVERINTERNALERROR, D3DERR_DEVICELOST D3DERR_INVALIDCALL

Комментарии

Буфер, на который указывает pDestSurface, будет заполнен представлением переднего буфера, преобразованного в стандартный формат 32 бита на пиксель D3DFMT_A8R8G8B8.

Этот метод является единственным способом захвата снимка экрана со сглаживания.

Эта функция выполняется очень медленно, по умолчанию и не должна использоваться ни в одном критическом для производительности пути.

Дополнительные сведения см. в разделах Потерянные устройства и Извлеченные данные.

Требования

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

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

IDirect3DDevice9