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 参数指定的数字通知驱动程序驱动程序必须清除多少个绑定点才能执行当前操作。 如果上次对 SoSetTargets 的 调用在 SOTargets中传递了值 2,而对 SoSetTargets 的 当前调用在 SOTargets 中传递了值 4,则对 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