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]

4 位元組對齊的位移,以位元組為單位,併入 hDstBuffer 參數指定的目的地緩衝區。 CopyStructureCount 會複製 hSrcView 參數指定給 hDstBuffer 中這個位移之附加緩衝區檢視的填滿大小值。 DstAlignedByteOffset 必須是四的倍數。

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)

另請參閱

CreateResource (D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb