D3DDisassembleRegion 函数 (d3dcompiler.h)

反汇编编译的 Microsoft 高级着色器语言的特定区域 (HLSL) 代码。

语法

HRESULT D3DDisassembleRegion(
  [in]            LPCVOID  pSrcData,
  [in]            SIZE_T   SrcDataSize,
  [in]            UINT     Flags,
  [in, optional]  LPCSTR   szComments,
  [in]            SIZE_T   StartByteOffset,
  [in]            SIZE_T   NumInsts,
  [out, optional] SIZE_T   *pFinishByteOffset,
  [out]           ID3DBlob **ppDisassembly
);

参数

[in] pSrcData

指向已编译着色器数据的指针。

[in] SrcDataSize

pSrcData 指向的内存块的大小(以字节为单位)。

[in] Flags

使用按位 OR 运算组合的以下标志的零个或多个组合。 生成的值指定 D3DDisassembleRegion 如何反汇编已编译的着色器数据。

标志 描述
D3D_DISASM_ENABLE_COLOR_CODE (0x01) 启用颜色代码的输出。
D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02) 启用默认值的输出。
D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04) 启用指令编号。
D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08) 无效。
D3D_DISASM_DISABLE_DEBUG_INFO (0x10) 禁用调试信息的输出。
D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20) 启用指令偏移量的输出。
D3D_DISASM_INSTRUCTION_ONLY (0x40) 此标志在 D3DDisassembleRegion 中不起作用。 循环信息来自跟踪;因此,循环信息仅在 D3DDisassemble11Trace 的跟踪反汇编中可用。

[in, optional] szComments

指向着色器顶部的以 null 结尾的常量字符串的指针,该字符串标识着色器常量和变量。

[in] StartByteOffset

D3DDisassembleRegion 在其中启动反汇编的编译着色器数据的偏移字节数。

[in] NumInsts

要反汇编的指令数。

[out, optional] pFinishByteOffset

指向变量的指针,该变量接收编译的着色器数据中的字节偏移量, 其中 D3DDisassembleRegion 完成反汇编。

[out] ppDisassembly

指向接收访问反汇编的 HLSL 代码 的 ID3DBlob 接口的缓冲区的指针。

返回值

返回 Direct3D 11 返回代码之一

注解

注意 D3dcompiler_44.dll 或更高版本的文件包含 D3DDisassembleRegion 编译器函数。
 

要求

要求
目标平台 Windows
标头 d3dcompiler.h
Library D3DCompiler.lib
DLL D3DCompiler_47.dll

请参阅

函数