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 |