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]
用于光栅器状态的驱动程序专用数据的句柄。 驱动程序返回 Microsoft Direct3D 运行时必须从调用驱动程序的 CalcPrivateRasterizerStateSize 函数中为专用数据分配的内存区域的大小(以字节为单位)。 句柄实际上只是指向内存区域(驱动程序请求的大小)的指针。 驱动程序使用此内存区域来存储与其光栅器状态对象相关的内部数据结构。
unnamedParam4
hRTRasterizerState [in]
驱动程序在调用 Direct3D 运行时时应使用光栅器状态的句柄。
返回值
没有
言论
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。
驱动程序可以在调用 pfnSetErrorCb 函数时传递E_OUTOFMEMORY(如果驱动程序内存不足)或D3DDDIERR_DEVICEREMOVED(如果设备已删除)。 Direct3D 运行时将确定任何其他错误都至关重要。 如果驱动程序通过任何错误(包括D3DDDIERR_DEVICEREMOVED),Direct3D 运行时将确定句柄无效;因此,运行时不会调用 DestroyRasterizerState 函数来销毁 hRasterizerState 参数指定的句柄。
用户模式显示驱动程序不需要一次在设备上创建超过 4,096 个光栅器状态对象的唯一实例。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |