Compartir a través de


Función D3DX10DisassembleShader

Nota:

En lugar de usar esta función heredada, se recomienda usar la API D3DDisassemble .

 

Esta función, que desensambla un sombreador compilado en una cadena de texto que contiene instrucciones de ensamblado y asignaciones de registro, ya no existe. En su lugar, use D3DDisassemble10Effect.

Sintaxis

HRESULT D3DX10DisassembleShader(
  _In_  const void       *pShader,
  _In_        SIZE_T     BytecodeLength,
  _In_        BOOL       EnableColorCode,
  _In_        LPCSTR     pComments,
  _Out_       ID3D10Blob **ppDisassembly
);

Parámetros

pShader [in]

Tipo: const void*

Puntero al sombreador compilado.

BytecodeLength [in]

Tipo: SIZE_T

Tamaño de pShader.

EnableColorCode [in]

Tipo: BOOL

Incluya etiquetas HTML en la salida para colorear el resultado.

pComments [in]

Tipo: LPCSTR

Cadena de comentario en la parte superior del sombreador que identifica las constantes y variables del sombreador.

ppDisassembly [out]

Tipo: ID3D10Blob**

Dirección de un búfer (vea ID3D10Blob Interface) que contiene el sombreador desensamblado.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los siguientes códigos de retorno de Direct3D 10.

Comentarios

Este texto devuelto incluye un encabezado con la versión del compilador HLSL usado para generar este objeto, comentarios que describen el diseño de memoria de los búferes de constantes utilizados por el sombreador, las firmas de entrada y salida y los puntos de enlace de recursos.

Este es un ejemplo de desensamblado de un sombreador compilado. En el ejemplo se supone que empieza con un sombreador compilado (que se muestra como pVSBuf que puede ver en HLSLWithoutFX10 Sample).

LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
    D3D10DisassembleShader( (UINT*) pVSBuf->GetBufferPointer(), 
        pVSBuf->GetBufferSize(), TRUE, commentString, &pIDisassembly );
    if( pIDisassembly )
    {
        FILE* pFile = fopen( "shader.htm", "w" );
        if( pFile)
        {
            fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
            fclose( pFile );
        }
    }
}

Requisitos

Requisito Value
Encabezado
D3DX10Core.h

Consulte también

Funciones de De uso general