PFND3D10DDI_CREATERASTERIZERSTATE回调函数 (d3d10umddi.h)

CreateRasterizerState 函数创建光栅器状态。

语法

PFND3D10DDI_CREATERASTERIZERSTATE Pfnd3d10ddiCreaterasterizerstate;

void Pfnd3d10ddiCreaterasterizerstate(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10_DDI_RASTERIZER_DESC *unnamedParam2,
  D3D10DDI_HRASTERIZERSTATE unnamedParam3,
  D3D10DDI_HRTRASTERIZERSTATE unnamedParam4
)
{...}

参数

unnamedParam1

hDevice [in]

显示设备的句柄 (图形上下文) 。

unnamedParam2

pRasterizerDesc [in]

指向 D3D10_DDI_RASTERIZER_DESC 结构的指针,该结构描述用户模式显示驱动程序用于创建光栅器状态的参数。

unnamedParam3

hRasterizerState [in]

光栅器状态的驱动程序专用数据的句柄。 驱动程序通过调用驱动程序的 CalcPrivateRasterizerStateSize 函数返回 Microsoft Direct3D 运行时必须为专用数据分配的内存区域的大小(以字节为单位)。 句柄实际上只是指向驱动程序请求的内存区域的指针。 驱动程序使用此内存区域来存储与其光栅器状态对象相关的内部数据结构。

unnamedParam4

hRTRasterizerState [in]

光栅器状态的句柄,驱动程序在调用回 Direct3D 运行时时应使用该状态。

返回值

备注

驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。

如果驱动程序) 内存不足,驱动程序可以传递E_OUTOFMEMORY (;如果在调用 pfnSetErrorCb 函数时) 删除了设备,则驱动程序可以传递D3DDDIERR_DEVICEREMOVED (。 Direct3D 运行时将确定任何其他错误都是严重错误。 如果驱动程序传递了任何错误(包括D3DDDIERR_DEVICEREMOVED),则 Direct3D 运行时将确定句柄无效;因此,运行时不会调用 DestroyRasterizerState 函数来销毁 hRasterizerState 参数指定的句柄。

用户模式显示驱动程序不需要一次在设备上创建超过 4,096 个光栅器状态对象的唯一实例。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CalcPrivateRasterizerStateSize

D3D10DDI_DEVICEFUNCS

D3D10_DDI_RASTERIZER_DESC

DestroyRasterizerState

pfnSetErrorCb