次の方法で共有


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 コンパイラのバージョンを含むヘッダー、シェーダーで使用される定数バッファーのメモリ レイアウト、入出力シグネチャ、およびリソース バインド ポイントを記述するコメントが含まれます。

コンパイルされた効果を逆アセンブルする例を次に示します。 この例では、コンパイルされた効果で始めると想定しています ( 効果の コンパイル (Direct3D 10)」で確認できるl_pBlob_Effectとして示されています)。


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
Library D3D10.lib
[DLL] D3D10.dll

関連項目

効果関数 (Direct3D 10)