IDirect3DDevice9::CreateAdditionalSwapChain 方法 (d3d9helper.h)
创建用于呈现多个视图的附加交换链。
语法
HRESULT CreateAdditionalSwapChain(
[in, out] D3DPRESENT_PARAMETERS *pPresentationParameters,
[out, retval] IDirect3DSwapChain9 **pSwapChain
);
参数
[in, out] pPresentationParameters
指向 D3DPRESENT_PARAMETERS 结构的指针,其中包含新交换链的表示参数。 此值不能为 NULL。
调用此方法会更改D3DPRESENT_PARAMETERS结构的成员的值。
- 如果 BackBufferCount == 0,则调用 CreateAdditionalSwapChain 会将它增加到 1。
- 如果应用程序处于窗口模式,并且 BackBufferWidth 或 BackBufferHeight == 0,则它们将设置为 hwnd 的工作区宽度和高度。
[out, retval] pSwapChain
类型: IDirect3DSwapChain9**
指向 IDirect3DSwapChain9 接口的指针的地址,表示其他交换链。
返回值
类型: HRESULT
如果方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是以下值之一:D3DERR_NOTAVAILABLE、D3DERR_DEVICELOST、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。
注解
每个设备的隐式交换链) (始终至少有一个交换链,因为 Direct3D 9 有一个交换链作为设备的属性。
请注意,任何给定设备只能支持一个全屏交换链。
在调用 IDirect3D9::CreateDevice、IDirect3DDevice9::Reset 和 CreateAdditionalSwapChain 时,可以为开窗模式后台缓冲区格式指定 D3DFMT_UNKNOWN 。 这意味着应用程序在为窗口模式调用 CreateDevice 之前不必查询当前桌面格式。 对于全屏模式,必须指定后台缓冲区格式。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |