共用方式為


PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW回呼函式 (d3d10umddi.h)

終結未排序的存取檢視。

語法

PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW Pfnd3d11ddiDestroyunorderedaccessview;

void Pfnd3d11ddiDestroyunorderedaccessview(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam2
)
{...}

參數

unnamedParam1

hDevice [in]

顯示裝置的句柄(圖形內容)。

unnamedParam2

hUnorderedAccessView [in]

要終結之未排序存取檢視之驅動程式私用數據的句柄。 Microsoft Direct3D 運行時間會釋放先前為未排序存取檢視配置的記憶體區域。 因此,驅動程式無法再存取此記憶體區域。

傳回值

沒有

言論

驅動程式可以使用 pfnSetErrorCb 回呼函式來設定錯誤碼。

除了D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該發生任何錯誤。 因此,如果驅動程式通過任何錯誤,除了 D3DDDIERR_DEVICEREMOVED 之外,在呼叫 pfnSetErrorCb 函式時,Direct3D 運行時間會判斷錯誤是否重要。 即使移除裝置,驅動程式也不需要傳回D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾 DestroyUnorderedAccessView 的作業(通常不應該發生),驅動程式可以傳回D3DDDIERR_DEVICEREMOVED。

附註 在立即內容和裝置的解構或延遲內容損毀期間,Windows 7 不會清除計算著色器未排序的存取檢視 (CS UAV) 系結點。 因此,驅動程式會看到 UAV 句柄仍系結至內容,這違反了運行時間所提供的一般保證。 驅動程式可以遵循下列步驟來解決此問題:

  • 使用 AbandonCommandListCreateCommandList 方法,因為每個方法都會標記命令列表的結尾。
  • 藉由確認下列任一狀態設定為 NULL,來推斷 CS UAV 系結點的解除系結:混合狀態、轉譯器狀態和深度/樣板狀態。
 

要求

要求 價值
最低支援的用戶端 從 Windows 7作系統開始,支援 DestroyUnorderedAccessView。
目標平臺 桌面
標頭 d3d10umddi.h (包括 D3d10umddi.h)

另請參閱

AbandonCommandList

CreateCommandList

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb