Метод IDirect3DDevice9::GetFrontBufferData (d3d9helper.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 | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |