访问交换链的后退缓冲区之一。
Syntax
HRESULT GetBuffer(
UINT Buffer,
[in] REFIID riid,
[out] void **ppSurface
);
参数
Buffer
类型: UINT
从零开始的缓冲区索引。
如果交换链的交换效果 DXGI_SWAP_EFFECT_DISCARD,此方法只能访问第一个缓冲区;在这种情况下,请将索引设置为零。
如果交换链的交换效果是 DXGI_SWAP_EFFECT_SEQUENTIAL,则只能读取交换链的零索引缓冲区并将其写入。 具有大于零的索引的交换链缓冲区只能从中读取;因此,如果为此类缓冲区调用 IDXGIResource::GetUsage 方法,则会设置 DXGI_USAGE_READ_ONLY 标志。
如果交换链的交换效果 DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL,则索引和缓冲区之间的关系是一致的。 如果在每次调用 IDXGISwapChain::P resent 后获取交换链的零索引缓冲区,则结果相同。 应使用正确的帧索引来检索当前反缓冲区。
[in] riid
类型: REFIID
用于作缓冲区的接口的类型。
[out] ppSurface
类型: void**
指向后台缓冲区接口的指针。
返回值
类型: HRESULT
返回以下 DXGI_ERROR之一。
要求
| Requirement | 价值 |
|---|---|
| 目标平台 | Windows操作系统 |
| Header | dxgi.h |
| Library | DXGI.lib |