取得著色器介面物件。
語法
HRESULT GetShader(
IPixBlob * pShaderObject,
IPixBlob * pShaderPdb,
REFIID riid,
void ** ppShader);
參數
pShaderObject [在]
DXC 產生的選用著色器物件位元組碼。 如果提供,則會根據著色器波執行的著色器的雜湊摘要來驗證著色器物件的雜湊摘要,如果它們不相符,此函式會傳回E_FAIL。 如果著色器物件的雜湊摘要為零、BYPASS 或 PREVIEW_BYPASS,則會重新計算雜湊摘要,並針對執行著色器的雜湊摘要進行驗證。
pShaderPdb [在]
選擇性著色器 PDB,如果著色器是使用 DXC 產生,且提供了著色器物件和 PDB,則會根據儲存在著色器物件中的 PDB 雜湊驗證 PDB,如果它們不相符,此函式將會傳回 E_FAIL。 如果提供著色器 PDB,也必須提供著色器物件,否則此函式會傳回E_FAIL。 如果已提供著色器物件,且已使用內嵌偵錯資訊進行編譯,則不需要提供著色器 PDB。
riid [在]
要返回之物件的介面 IID。 預期: IPixShader
ppShader [出]
傳回介面的指標
傳回
成功時S_OK,否則為錯誤碼。