1717// the original author James Forshaw to be used under the Apache License for this
1818// project.
1919
20+ using System ;
2021using System . Runtime . InteropServices ;
2122
2223namespace NtApiDotNet . Win32 . Debugger
2324{
25+ [ Flags ]
26+ enum SYMBOL_INFO_FLAGS
27+ {
28+ SYMFLAG_VALUEPRESENT = 0x00000001 ,
29+ SYMFLAG_REGISTER = 0x00000008 ,
30+ SYMFLAG_REGREL = 0x00000010 ,
31+ SYMFLAG_FRAMEREL = 0x00000020 ,
32+ SYMFLAG_PARAMETER = 0x00000040 ,
33+ SYMFLAG_LOCAL = 0x00000080 ,
34+ SYMFLAG_CONSTANT = 0x00000100 ,
35+ SYMFLAG_EXPORT = 0x00000200 ,
36+ SYMFLAG_FORWARDER = 0x00000400 ,
37+ SYMFLAG_FUNCTION = 0x00000800 ,
38+ SYMFLAG_VIRTUAL = 0x00001000 ,
39+ SYMFLAG_THUNK = 0x00002000 ,
40+ SYMFLAG_TLSREL = 0x00004000 ,
41+ SYMFLAG_SLOT = 0x00008000 ,
42+ SYMFLAG_ILREL = 0x00010000 ,
43+ SYMFLAG_METADATA = 0x00020000 ,
44+ SYMFLAG_CLR_TOKEN = 0x00040000 ,
45+ SYMFLAG_NULL = 0x00080000 ,
46+ SYMFLAG_FUNC_NO_RETURN = 0x00100000 ,
47+ SYMFLAG_SYNTHETIC_ZEROBASE = 0x00200000 ,
48+ SYMFLAG_PUBLIC_CODE = 0x00400000 ,
49+ }
50+
2451 [ StructLayout ( LayoutKind . Sequential , CharSet = CharSet . Unicode ) , DataStart ( "Name" ) ]
2552 class SYMBOL_INFO
2653 {
@@ -31,7 +58,7 @@ class SYMBOL_INFO
3158 public int Index ;
3259 public int Size ;
3360 public long ModBase ; // Base Address of module comtaining this symbol
34- public int Flags ;
61+ public SYMBOL_INFO_FLAGS Flags ;
3562 public long Value ; // Value of symbol, ValuePresent should be 1
3663 public long Address ; // Address of symbol including base address of module
3764 public int Register ; // register holding value or pointer to value
0 commit comments