共用方式為


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
程式庫 D3DCompiler.lib
Dll D3DCompiler_47.dll

請參閱

函式