Platform SDK: Debugging and Error Handling

IMAGEHLP_SYMBOL

The IMAGEHLP_SYMBOL structure contains symbol information.

typedef struct _IMAGEHLP_SYMBOL {
    DWORD SizeOfStruct;
    DWORD Address;
    DWORD Size;
    DWORD Flags;
    DWORD MaxNameLength;
    CHAR  Name[1];
} IMAGEHLP_SYMBOL, *PIMAGEHLP_SYMBOL;

Win64: This structure is defined as follows.

typedef struct _IMAGEHLP_SYMBOL64 {
    DWORD   SizeOfStruct;
    DWORD64 Address;
    DWORD   Size;
    DWORD   Flags;
    DWORD   MaxNameLength;
    CHAR    Name[1];
} IMAGEHLP_SYMBOL64, *PIMAGEHLP_SYMBOL64;

Members

SizeOfStruct
Specifies the size of the structure, in bytes. The caller must set this member to sizeof(IMAGEHLP_SYMBOL).
Address
Specifies the virtual address for the symbol.
Size
Specifies the size of the symbol, in bytes. This value is a best guess and can be zero.
Flags
This member is reserved.
MaxNameLength
The caller must set this value to the maximum length of the string that the Name member can contain. Because symbol names can vary in length, this data structure is allocated by the caller. This member is used so the library knows how much memory is available for use by the symbol name.
Name
A null-terminated string specifying either the decorated or undecorated symbol name. If the buffer is not large enough for the complete symbol, then the name is truncated to MaxNameLength characters.

Requirements

  Windows NT/2000: Requires Windows NT 3.51 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in Dbghelp.h.

See Also

Debug Help Library Overview, DbgHelp Structures, SymGetSymFromAddr, SymGetSymFromName