Share via


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

另請參閱

效果函式 (Direct3D 10)