D3D10DisassembleEffect 函式 (d3d10effect.h)
此函式 -- 會將已編譯的效果反組譯成包含元件指令和暫存器指派的文字字串,其已被取代。 請改用 D3DDisassemble10Effect。
語法
HRESULT D3D10DisassembleEffect(
[in] ID3D10Effect *pEffect,
[in] BOOL EnableColorCode,
[out] ID3D10Blob **ppDisassembly
);
參數
[in] pEffect
類型: ID3D10Effect*
ID3D10Effect 介面的指標,其中包含已編譯的效果。
[in] EnableColorCode
類型: BOOL
在輸出中包含 HTML 標籤,以將結果標示為色彩。
[out] ppDisassembly
類型: ID3D10Blob**
ID3D10Blob 介面的指標,其中包含反組譯著色器。
傳回值
類型: HRESULT
傳回下列其中一個 Direct3D 10 傳回碼。
備註
此傳回的文字包含標頭,其中包含用來產生此物件的 HLSL 編譯器版本、描述著色器所使用之常數緩衝區記憶體配置、輸入和輸出簽章,以及資源系結點的批註。
以下是反組譯編譯效果的範例。 此範例假設您一開始會以編譯的效果 (顯示為 l_pBlob_Effect ,您可以在 [編譯效果] (Direct3D 10) ) 中看到。
LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
D3D10DisassembleEffect( (UINT*) l_pBlob_Effect->GetBufferPointer(),
l_pBlob_Effect->GetBufferSize(), TRUE, commentString, &pIDisassembly );
if( pIDisassembly )
{
FILE* pFile = fopen( "effect.htm", "w" );
if( pFile)
{
fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
fclose( pFile );
}
}
}
規格需求
目標平台 | Windows |
標頭 | d3d10effect.h |
程式庫 | D3D10.lib |
Dll | D3D10.dll |