Freigeben über


D3D10DisassembleEffect-Funktion (d3d10effect.h)

Diese Funktion, die einen kompilierten Effekt in eine Textzeichenfolge zerlegt, die Assemblyanweisungen und Registerzuweisungen enthält, ist veraltet. Verwenden Sie stattdessen D3DDisassemble10Effect.

Syntax

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

Parameter

[in] pEffect

Typ: ID3D10Effect*

Ein Zeiger auf eine ID3D10Effect-Schnittstelle, die den kompilierten Effekt enthält.

[in] EnableColorCode

Typ: BOOL

Fügen Sie HTML-Tags in die Ausgabe ein, um das Ergebnis farbcodieren zu können.

[out] ppDisassembly

Typ: ID3D10Blob**

Ein Zeiger auf eine ID3D10Blob-Schnittstelle , die den disassemblierten Shader enthält.

Rückgabewert

Typ: HRESULT

Gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.

Hinweise

Dieser zurückgegebene Text enthält einen Header mit der Version des HLSL-Compilers, der zum Generieren dieses Objekts verwendet wird, sowie Kommentare, die das Speicherlayout der vom Shader verwendeten Konstantenpuffer, Eingabe- und Ausgabesignaturen sowie Ressourcenbindungspunkte beschreiben.

Hier ist ein Beispiel für das Disassemblieren eines kompilierten Effekts. Im Beispiel wird davon ausgegangen, dass Sie mit einem kompilierten Effekt beginnen (l_pBlob_Effect den Sie unter Kompilieren eines Effekts (Direct3D 10) sehen können).


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 );
        }
    }
}

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d10effect.h
Bibliothek D3D10.lib
DLL D3D10.dll

Weitere Informationen

Effektfunktionen (Direct3D 10)