PFND3D11DDI_COPYSTRUCTURECOUNT回调函数 (d3d10umddi.h)
CopyStructureCount 函数将填充部分 (即追加缓冲区无序访问视图的填充大小值) (UAV) 偏移量复制到目标缓冲区中。
语法
PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;
void Pfnd3d11ddiCopystructurecount(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3,
D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam4
)
{...}
参数
unnamedParam1
hDevice [in]
显示设备的句柄 (图形上下文) 。
unnamedParam2
hDstBuffer [in]
目标缓冲区的句柄,用于将 UAV 的填充大小值复制到其中。 若要创建此目标缓冲区,运行时必须以前调用驱动程序的 CreateResource (D3D11) 函数,并将 D3D11DDIARG_CREATERESOURCE 结构的 ResourceDimension 成员设置为D3D10DDIRESOURCE_BUFFER值。
unnamedParam3
DstAlignedByteOffset [in]
hDstBuffer 参数指定的目标缓冲区的 4 字节对齐偏移量(以字节为单位)。 CopyStructureCount 将 hSrcView 参数指定的追加缓冲区视图的填充大小值复制到 hDstBuffer 中的此偏移量。 DstAlignedByteOffset 必须是 4 的倍数。
unnamedParam4
hSrcView [in]
源追加 UAV 的句柄,该图柄必须是追加缓冲区视图。 CopyStructureCount 将此视图的填充大小值复制到 hDstBuffer 参数指定的目标缓冲区。 若要创建此追加缓冲区视图,运行时必须以前调用驱动程序的 CreateUnorderedAccessView 函数,并设置了D3D11_DDI_BUFFER_UAV_FLAG_APPEND标志。
返回值
无
备注
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。
驱动程序不应遇到任何错误,D3DDDIERR_DEVICEREMOVED除外。 因此,如果驱动程序在调用 pfnSetErrorCb 函数时传递了除D3DDDIERR_DEVICEREMOVED以外的任何错误,则 Direct3D 运行时将确定错误严重。 即使删除了设备,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备删除干扰 CopyStructureCount (通常不应) 执行的操作,驱动程序可以返回D3DDDIERR_DEVICEREMOVED。
CopyStructureCount 采用追加缓冲区 UAV 的填充大小值, (支持对堆栈) 等结构的推送和弹出操作,并将此值复制到目标缓冲区中的偏移量。 图形硬件使用 4 字节填充大小值来跟踪追加缓冲区 UAV 中填充的数据量。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 7 操作系统开始,支持 CopyStructureCount。 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |