IDebugControl::OutputDisassembly method (dbgeng.h)

The OutputDisassembly method disassembles a processor instruction and sends the disassembly to the output callbacks.

Syntax

HRESULT OutputDisassembly(
  [in]  ULONG    OutputControl,
  [in]  ULONG64  Offset,
  [in]  ULONG    Flags,
  [out] PULONG64 EndOffset
);

Parameters

[in] OutputControl

Specifies the output control that determines which client's output callbacks receive the output. For possible values, see DEBUG_OUTCTL_XXX. For more information about output, see Input and Output.

[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. The following table lists the bits that can be set.

Bit-Flag Effect when set
DEBUG_DISASM_EFFECTIVE_ADDRESS Compute the effective address from the current register information and display it.
DEBUG_DISASM_MATCHING_SYMBOLS If the address of the instruction has an exact symbol match, output the symbol.
DEBUG_DISASM_SOURCE_LINE_NUMBER Include the source line number of the instruction in the output.
DEBUG_DISASM_SOURCE_FILE_NAME Include the source file name in the output.

[out] EndOffset

Receives the location in the target's memory of the instruction that follows 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.

Remarks

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

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

Disassemble

IDebugControl

IDebugControl2

IDebugControl3

OutputDisassemblyLines