返回从运行时函数收到的错误代码

对 Direct3D 版本 9 用户模式显示驱动程序提供的函数的调用必须返回它们在调用 Direct3D 运行时提供的内核服务访问函数时收到的错误代码。 例如,运行时可能会调用用户模式显示驱动程序函数,例如 CreateResource 函数。 这反过来又调用运行时提供的函数(如 pfnAllocateCb 函数)来执行特定操作,在本例中为资源分配内存。 如果用户模式显示驱动程序从调用运行时提供的函数收到错误代码,则必须将错误代码返回给运行时。

驱动程序必须将运行时错误代码传递回运行时的规则有一个例外。 当驱动程序调用 pfnAllocateCb 运行时提供的函数时,若要在已分配视频内存时为可选资源分配视频内存,则规则不适用。 如果 pfnAllocateCb 无法为仅优化性能所需的可选资源分配此视频内存,驱动程序不应将内存不足错误报告 (E_OUTOFMEMORY) 返回给运行时。