| Debugging Tools for Windows | 
The Disassemble and DisassembleWide methods disassemble a processor instruction in the target's memory.
HRESULT
  IDebugControl::Disassemble(
    IN ULONG64  Offset,
    IN ULONG  Flags,
    OUT OPTIONAL PSTR  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  DisassemblySize,
    OUT PULONG64  EndOffset
    );
HRESULT
  IDebugControl4::DisassembleWide(
    IN ULONG64  Offset,
    IN ULONG  Flags,
    OUT OPTIONAL PWSTR  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  DisassemblySize,
    OUT PULONG64  EndOffset
    );
#ifdef UNICODE
#define DisassembleT DisassembleWide
#else
#define DisassembleT Disassemble
#endif
This method can also return error values. See Return Values for more details.
Disassemble is available in all versions of IDebugControl. DisassembleWide is available in IDebugControl4 and later versions.
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.
Headers: Defined in Dbgeng.h. Include Dbgeng.h.