IDirect3DDevice9::CreateAdditionalSwapChain 方法 (d3d9helper.h)

创建用于呈现多个视图的附加交换链。

语法

HRESULT CreateAdditionalSwapChain(
  [in, out]     D3DPRESENT_PARAMETERS *pPresentationParameters,
  [out, retval] IDirect3DSwapChain9   **pSwapChain
);

参数

[in, out] pPresentationParameters

类型: D3DPRESENT_PARAMETERS*

指向 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

另请参阅

IDirect3DDevice9

以窗口模式呈现多个视图 (Direct3D 9)