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 句柄,這違反運行時間所提供的一般保證。
驅動程式可以遵循下列步驟來解決此問題:
- 使用 AbandonCommandList 或 CreateCommandList 方法,因為每個方法都會標示命令列表的結尾。
- 藉由確認下列任一狀態設定為 NULL 來取消系結 CS UAV 系結點:混合狀態、點陣化狀態和深度/樣板狀態。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 7 操作系統開始,支援 DestroyUnorderedAccessView。 |
目標平台 | 桌面 |
標頭 | d3d10umddi.h (include D3d10umddi.h) |