LPD3DHAL_CONTEXTCREATECB回调函数 (d3dhal.h)
D3dContextCreate 函数创建上下文。
语法
LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;
DWORD Lpd3dhalContextcreatecb(
LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}
参数
unnamedParam1
pccd [in]
指向 D3DHAL_CONTEXTCREATEDATA 结构,该结构包含创建上下文所需的信息和驱动程序应存储在新上下文中的数据。
返回值
D3dContextCreate 返回以下回调代码之一:
注解
D3dContextCreate 必须在支持 Microsoft Direct3D 的驱动程序中实现。 它应执行以下步骤:
- 使用驱动程序执行呈现所需的所有信息初始化驱动程序的上下文。 这包括将 pccd 上D3DHAL_CONTEXTCREATEDATA结构的 lpDDSLcl 和 lpDDSZLcl 成员分别指向的呈现目标和深度缓冲区与上下文相关联。
- 为此新上下文生成唯一的上下文 ID,并在 D3DHAL_CONTEXTCREATEDATA 的 dwhContext 成员中返回它。 Direct3D 在对此 Direct3D 设备进行的每个后续回调中使用此上下文 ID。 驱动程序不得创建零的上下文句柄。
- 将 D3DHAL_CONTEXTCREATEDATA 的 ddrval 成员设置为成功时DD_OK,如果无法创建上下文,则设置为D3DHAL_OUTOFCONTEXTS。
- 返回DDHAL_DRIVER_HANDLED。
在上下文之间不共享状态;因此,驱动程序必须维护每个上下文的完整状态信息。 此状态通过对 D3dDrawPrimitives2 的任何后续调用而更改。
驱动程序必须能够引用在上下文中创建的所有纹理句柄。 然后,当进行 D3dContextDestroy 调用时,驱动程序可以清理与此上下文中创建的纹理相关的所有特定于驱动程序的数据。
可以使用禁用的 PDEV 调用 D3dContextCreate。 通过调用显示驱动程序的 DrvAssertMode 函数禁用或启用 PDEV。 有关详细信息 ,请参阅管理 PDEV 。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | d3dhal.h (包括 D3dhal.h) |