IDebugControl3::Disassemble method (dbgeng.h)

The Disassemble method disassembles a processor instruction in the target's memory.

Syntax

HRESULT Disassemble(
  [in]            ULONG64  Offset,
  [in]            ULONG    Flags,
  [out, optional] PSTR     Buffer,
  [in]            ULONG    BufferSize,
  [out, optional] PULONG   DisassemblySize,
  [out]           PULONG64 EndOffset
);

Parameters

[in] Offset

Specifies the location in the target's memory of the instruction to disassemble.

[in] Flags

Specifies the bit-flags that affect the behavior of this method. Currently the only flag that can be set is DEBUG_DISASM_EFFECTIVE_ADDRESS; when set, the engine will compute the effective address from the current register information and display it.

[out, optional] Buffer

Receives the disassembled instruction. If Buffer is NULL, this information is not returned.

[in] BufferSize

Specifies the size, in characters, of the Buffer buffer.

[out, optional] DisassemblySize

Receives the size, in characters, of the disassembled instruction. If DisassemblySize is NULL, this information is not returned.

[out] EndOffset

Receives the location in the target's memory of the instruction following the disassembled instruction.

Return value

This method can also return error values. See Return Values for more details.

Return code Description
S_OK
The method was successful.
S_FALSE
The method was successful. However, Buffer was too small to hold the disassembled instruction and the instruction was truncated to fit.

Remarks

The assembly language depends on the effective processor type of the target system. For information about the assembly language, see the processor documentation.

The disassembly options--returned by GetAssemblyOptions--affect the operation of this method.

For an overview of using assembly in debugger applications, see Debugging in Assembly Mode. For more information about using assembly with the debugger engine API, see Assembling and Disassembling Instructions.

Requirements

Requirement Value
Target Platform Desktop
Header dbgeng.h (include Dbgeng.h)

See also

Assemble

GetAssemblyOptions

IDebugControl

IDebugControl2

IDebugControl3

u (Unassemble)