Direct3D 驱动程序回调的返回代码

下表列出了 Direct3D Driver-Supplied Functions 可以返回的值。 DDHAL_DRIVER_Xxx 值实际上是在 DWORD 返回值中返回的。 D3D_OK值、D3DHAL_Xxx 值和D3DERR_Xxx 错误代码在特定函数的参数指向的 结构的 ddrval 成员中返回。

有关每个函数可以返回的特定错误代码,请参阅参考部分中的函数和结构说明。 有关错误代码和返回值的完整列表,请参阅 Direct3D 头文件 d3d.hd3dhal.h , (以及 DirectX 版本 8.0 和 9.0) 的 d3d8.h 和 d3d9.h 。 请注意,错误代码由负值表示,不能合并。

Direct3D 驱动程序中的函数必须返回两个返回代码之一:DDHAL_DRIVER_HANDLED或DDHAL_DRIVER_NOTHANDLED。 如果驱动程序返回DDHAL_DRIVER_HANDLED,则还必须返回D3D_OK或 d3d.h 或 d3dhal.h 中列出的值之一。 Direct3D 驱动程序中的函数可以返回下表中的值。 这些值在 d3d.hd3dhal.h 中定义。

含义
定义为 DD_OK) 的D3D_OK ( 请求已成功完成。
D3DHAL_CONTEXT_BAD 传入的上下文无效。
DDHAL_DRIVER_HANDLED 驱动程序已执行该操作,并在传递给驱动程序回调的 结构的 ddrval 成员中返回了该操作的有效返回代码。 如果此代码D3D_OK,则 Direct3D 将继续执行 函数。 否则,Direct3D 将返回驱动程序提供的错误代码并中止函数。
DDHAL_DRIVER_NOTHANDLED 驱动程序对请求的操作没有注释。 如果驱动程序需要实现特定的回调,则 Direct3D 会报告错误条件。 否则,Direct3D 会像未通过执行与 Direct3D 设备无关的实现来定义驱动程序回调一样处理操作。 Direct3D 通常忽略该回调的参数结构的 ddrval 成员中返回的任何值。
D3DHAL_OUTOFCONTEXTS 此过程不再保留上下文。
D3DERR_UNSUPPORTEDCOLOROPERATION 不支持颜色操作。