PFND3D10DDI_SO_SETTARGETS回调函数 (d3d10umddi.h)

SoSetTargets 函数设置流输出目标资源。

语法

PFND3D10DDI_SO_SETTARGETS Pfnd3d10ddiSoSettargets;

void Pfnd3d10ddiSoSettargets(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT NumBuffers,
  [in] UINT ClearTargets,
       const D3D10DDI_HRESOURCE *unnamedParam4,
       const UINT *unnamedParam5
)
{...}

参数

unnamedParam1

hDevice [in]

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

[in] NumBuffers

phResource 指定的数组中的元素数。

[in] ClearTargets

流式处理输出目标资源的句柄数,这些句柄表示以前流输出目标资源数(Microsoft Direct3D 运行时调用 SoSetTargets之前)和新数量的流输出目标资源之间的差异。

请注意,iClearTargets 指定的数字只是优化帮助,因为用户模式显示驱动程序可以计算此数字。

unnamedParam4

phResource [in]

要设置的流输出目标资源的句柄数组。 请注意,某些句柄值可以 NULL

unnamedParam5

pOffsets [in]

phResource 指定的数组中的流输出目标资源的偏移量数组(以字节为单位)。

返回值

没有

言论

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

SOTargets 参数指定的数量和允许的最大流输出目标资源数之间的流输出目标资源范围,必须包含所有 NULL 或未绑定值。 ClearTargets 参数指定的数字将通知驱动程序当前作必须清除的绑定点数。 如果上一次调用 SoSetTargetsSOTargets中传递了值 2,并且当前调用 SoSetTargets 传递值 在 SOTargets中,对 SoSetTargets 的当前调用也会在 clearTargets 参数 中传递值 0。 如果对 SoSetTargets 的下一次连续调用 传递 SOTargets中的值 1,则连续调用还会在 clearTargets 中传递值 3(4 - 1)。

驱动程序不应遇到任何错误,除非D3DDDIERR_DEVICEREMOVED。 因此,如果驱动程序在调用 pfnSetErrorCb 函数时传递任何错误(D3DDDIERR_DEVICEREMOVED除外)时,Microsoft Direct3D 运行时将确定错误至关重要。 即使设备已删除,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备删除干扰了 SOTargets(通常不应发生),驱动程序可以返回D3DDDIERR_DEVICEREMOVED。

要求

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

另请参阅

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb