Partager via


D3D10DisassembleEffect, fonction (d3d10effect.h)

Cette fonction , qui désassemble un effet compilé en une chaîne de texte contenant des instructions d’assembly et des affectations d’enregistrement, a été déconseillée. Utilisez plutôt D3DDisassemble10Effect.

Syntaxe

HRESULT D3D10DisassembleEffect(
  [in]  ID3D10Effect *pEffect,
  [in]  BOOL         EnableColorCode,
  [out] ID3D10Blob   **ppDisassembly
);

Paramètres

[in] pEffect

Type : ID3D10Effect*

Pointeur vers une interface ID3D10Effect, qui contient l’effet compilé.

[in] EnableColorCode

Type : BOOL

Incluez des balises HTML dans la sortie pour colorier le résultat.

[out] ppDisassembly

Type : ID3D10Blob**

Pointeur vers une interface ID3D10Blob qui contient le nuanceur désassemblé.

Valeur retournée

Type : HRESULT

Retourne l’un des codes de retour Direct3D 10 suivants.

Remarques

Ce texte retourné inclut un en-tête avec la version du compilateur HLSL utilisée pour générer cet objet, des commentaires décrivant la disposition en mémoire des mémoires tampons constantes utilisées par le nuanceur, les signatures d’entrée et de sortie et les points de liaison de ressources.

Voici un exemple de désassemblement d’un effet compilé. L’exemple suppose que vous commencez par un effet compilé (illustré sous la forme l_pBlob_Effect que vous pouvez voir dans Compiler un effet (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 );
        }
    }
}

Configuration requise

   
Plateforme cible Windows
En-tête d3d10effect.h
Bibliothèque D3D10.lib
DLL D3D10.dll

Voir aussi

Fonctions d’effet (Direct3D 10)