共用方式為


PFND3D10DDI_CREATEGEOMETRYSHADER回呼函式 (d3d10umddi.h)

CreateGeometryShader 函式會建立幾何著色器。

語法

PFND3D10DDI_CREATEGEOMETRYSHADER Pfnd3d10ddiCreategeometryshader;

void Pfnd3d10ddiCreategeometryshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D10DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

參數

unnamedParam1

hDevice [in]

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

pShaderCode

組成著色器程序代碼的 CONST UINT 令牌陣列。 著色器程式代碼數據流中的第一個令牌一律是版本令牌。 數據流中的下一個令牌是決定著色器程式代碼數據流結尾的長度標記。 如需 Direct3D 第 10 版著色器程式代碼格式的詳細資訊,請參閱 WDK 隨附之 D3d10tokenizedprogramformat.hpp 頭檔內的批注。

unnamedParam3

hShader [in]

幾何著色器的驅動程式私用數據的句柄。 驅動程式會從呼叫驅動程式的 CalcPrivateShaderSize 函式,傳回 Microsoft Direct3D 運行時間必須配置給私人數據的大小,以位元組為單位。 句柄實際上是記憶體區域的指標,驅動程式所要求的大小。 驅動程式會使用此記憶體區域來儲存與其著色器對象相關的內部數據結構。

unnamedParam4

hRTShader [in]

具有數據流輸出的幾何著色器句柄,驅動程式應該在呼叫 Direct3D 運行時間時使用。

unnamedParam5

pSignatures [in]

構成著色器簽章 之D3D10DDIARG_STAGE_IO_SIGNATURES 結構的指標。

傳回值

備註

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

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

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 桌面
標頭 d3d10umddi.h (包含 D3d10umddi.h)

另請參閱

CalcPrivateShaderSize

D3D10DDIARG_STAGE_IO_SIGNATURES

D3D10DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb