다음을 통해 공유


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
라이브러리 D3D10.lib
DLL D3D10.dll

추가 정보

효과 함수(Direct3D 10)