共用方式為


PFND3D11_1DDI_ASSIGNDEBUGBINARY回呼函式 (d3d10umddi.h)

提供著色器建立之後可用的完整著色器二進位檔。 完整的著色器二進位檔可讓驅動程式擷取偵錯資訊或其他無法供驅動程式使用的著色器二進位資訊。

語法

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

參數

unnamedParam1

hDevice [in]

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

unnamedParam2

hShader [in]

著色器對象的驅動程式私用數據的句柄。

uBinarySize

完整著色器二進位檔的大小,以位元組為單位。

[in] pBinary

完整著色器二進位檔的指標。

傳回值

備註

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

只有在下列所有專案都成立時,才會呼叫 AssignDebugBinary

  • 裝置可以偵錯。
  • 使用者模式顯示驅動程式已設定 D3D11_1DDI_D3D11_OPTIONS_DATAAssignDebugBinarySupport 旗標為 TRUE
  • 著色器建立函式 CreateXxxShaderXxx 已呼叫、成功,並且已傳回著色器的句柄。
除了 D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該遇到任何錯誤。 因此,如果在呼叫 pfnSetErrorCb 函式時,驅動程式會傳遞任何錯誤,但除了 D3DDDIERR_DEVICEREMOVED 之外,Microsoft Direct3D 運行時間會判斷錯誤是否重要。 即使裝置已移除,驅動程式也不需要傳回 D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾 了 AssignDebugBinary (的作業,這通常不應該) 發生,驅動程式可以傳回 D3DDDIERR_DEVICEREMOVED

規格需求

需求
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 桌面
標頭 d3d10umddi.h (包含 D3d10umddi.h)

另請參閱

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb