The Disassemble method disassembles a processor instruction in the target's memory.
HRESULT Disassemble( [in] ULONG64 Offset, [in] ULONG Flags, [out, optional] PSTR Buffer, [in] ULONG BufferSize, [out, optional] PULONG DisassemblySize, [out] PULONG64 EndOffset );
- Offset [in]
Specifies the location in the target's memory of the instruction to disassemble.
- Flags [in]
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.
- Buffer [out, optional]
Receives the disassembled instruction. If Buffer is NULL, this information is not returned.
- BufferSize [in]
Specifies the size, in characters, of the Buffer buffer.
- DisassemblySize [out, optional]
Receives the size, in characters, of the disassembled instruction. If DisassemblySize is NULL, this information is not returned.
- EndOffset [out]
Receives the location in the target's memory of the instruction following the disassembled instruction.
This method can also return error values. See Return Values for more details.
The method was successful.
The method was successful. However, Buffer was too small to hold the disassembled instruction and the instruction was truncated to fit.
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.