PFND3D11DDI_SETSHADER_WITH_IFACES回呼函式 (d3d10umddi.h)

CsSetShaderWithIfaces 函式會設定計算著色器程序代碼以及一組介面,讓所有後續分派作業都使用該程式碼和這些介面。

語法

PFND3D11DDI_SETSHADER_WITH_IFACES Pfnd3d11ddiSetshaderWithIfaces;

void Pfnd3d11ddiSetshaderWithIfaces(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
  [in] UINT NumClassInstances,
       const UINT *unnamedParam4,
       const D3D11DDIARG_POINTERDATA *unnamedParam5
)
{...}

參數

unnamedParam1

hDevice [in]

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

unnamedParam2

hShader [in]

計算著色器程式代碼物件的句柄。

[in] NumClassInstances

介面實作的類別實例數目。

unnamedParam4

pPointerData [in]

D3D11DDIARG_POINTERDATA 結構的陣列。 每個結構都會描述指派給介面實作之類別實例所參考之數據的位置。 陣列中的項目數目是由 NumClassInstances 參數所指定。

unnamedParam5

pIfaces [in]

函數數據表標識碼的陣列。 每個標識碼都會對應至指派給介面實作的類別實例。 陣列中的項目數目是由 NumClassInstances 參數所指定。

傳回值

備註

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

介面實作的每個類別實例都有下列資訊片段:

  • 與該類別實例相關聯的程序代碼
  • 該類別實例所使用之數據的位置
NumClassInstances 參數會指定必須在運行時間指派值的介面數目。 針對每個介面, pIfaces 陣列的每個元素都會提供函式數據表標識碼, 而 pPointerData 陣列的每個元素會提供指派給介面之類別實例的數據位置。

如果驅動程式用盡記憶體) ,或是在 呼叫 pfnSetErrorCb 函式時) 移除裝置,則驅動程式可以傳遞 D3DDDIERR_DEVICEREMOVED (E_OUTOFMEMORY (。 Direct3D 運行時間會判斷任何其他錯誤都很重要。 如果驅動程式通過包含D3DDDIERR_DEVICEREMOVED的任何錯誤,Direct3D 運行時間會判斷句柄無效;因此,運行時間不會呼叫 DestroyShader 函 式來終結 hShader 參數指定的句柄。

GsSetShaderWithIfaces 函式會設定幾何著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式碼和那些介面。

PsSetShaderWithIfaces 函式會設定圖元著色器程式代碼以及一組介面,讓所有後續的繪圖作業都使用該程式碼和這些介面。

DsSetShaderWithIfaces 函式會設定網域著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式碼和這些介面。

HsSetShaderWithIfaces 函式會設定殼層著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式碼和這些介面。

VsSetShaderWithIfaces 函式會設定頂點著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式碼和這些介面。

規格需求

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

另請參閱

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb