共用方式為


PFND3D11DDI_DESTROYCOMMANDLIST回呼函式 (d3d10umddi.h)

DestroyCommandList 函式會終結命令清單。

語法

PFND3D11DDI_DESTROYCOMMANDLIST Pfnd3d11ddiDestroycommandlist;

void Pfnd3d11ddiDestroycommandlist(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HCOMMANDLIST unnamedParam2
)
{...}

參數

unnamedParam1

hDevice [in]

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

unnamedParam2

hCommandList [in]

要終結之命令清單之驅動程式私用數據的句柄。 Microsoft Direct3D 運行時間會釋放先前配置給命令清單的記憶體區域。 因此,驅動程式無法再存取此記憶體區域。

傳回值

備註

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

只有在驅動程式支援可從呼叫 GetCaps (D3D10_2) 函式的 D3D11DDI_THREADING_CAPS 結構中傳回的 D3D11DDICAPS_COMMANDLISTS_BUILD_2 功能時,才需要驅動程序實作 DestroyCommandList

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

驅動程式可以實作 DestroyCommandList 函式,其中包含 switch 語句來處理命令列表的解構,以及命令清單的輕量解構。 也就是說,驅動程式可以實作一個 DestroyCommandList,並設定 D3D11DDI_DEVICEFUNCS 結構的 pfnRecycleDestroyCommandList 成員,以指向 DestroyCommandList 以及 D3D11DDI_DEVICEFUNCS 的 pfnRecycleDestroyCommandList 成員,以指向 DestroyCommandList。 不過,為了改善效能,驅動程式可以實作個別 的 DestroyCommandListRecycleDestroyCommandList 函式。

如需有關 RecycleDestroyCommandList 的詳細資訊,請參閱 Small Command 優化 清單

規格需求

需求
最低支援的用戶端 DestroyCommandList 從 Windows 7 操作系統開始受到支援。
目標平台 桌面
標頭 d3d10umddi.h (包含 D3d10umddi.h)

另請參閱

CreateCommandList

D3D11DDI_DEVICEFUNCS

D3D11DDI_THREADING_CAPS

GetCaps (D3D10_2)

pfnSetErrorCb