Hex Artifact Content

Not logged in

Artifact 217222ad3190ccc6ebee72cf8966fb604b05f71b:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 77 69 6e 6e 74             winnt
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .d              
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20  Translated from 
0190: 4d 69 6e 47 57 20 41 50 49 20 66 6f 72 20 4d 53  MinGW API for MS
01a0: 2d 57 69 6e 64 6f 77 73 20 33 2e 31 32 20 20 20  -Windows 3.12   
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 77 69 6e 6e 74 3b 0a 0a 70   win32.winnt;..p
02b0: 75 62 6c 69 63 20 69 6d 70 6f 72 74 20 77 69 6e  ublic import win
02c0: 33 32 2e 62 61 73 65 74 73 64 2c 20 77 69 6e 33  32.basetsd, win3
02d0: 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e  2.windef, win32.
02e0: 77 69 6e 65 72 72 6f 72 3b 0a 70 72 69 76 61 74  winerror;.privat
02f0: 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77  e import win32.w
0300: 33 32 61 70 69 3b 0a 0a 2f 2a 20 54 72 61 6e 73  32api;../* Trans
0310: 6c 61 74 69 6f 6e 20 4e 6f 74 65 73 3a 0a 54 68  lation Notes:.Th
0320: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72  e following macr
0330: 6f 73 20 61 72 65 20 75 6e 6e 65 65 64 65 64 20  os are unneeded 
0340: 66 6f 72 20 44 3a 0a 46 49 45 4c 44 5f 4f 46 46  for D:.FIELD_OFF
0350: 53 45 54 28 74 2c 66 29 2c 20 43 4f 4e 54 41 49  SET(t,f), CONTAI
0360: 4e 49 4e 47 5f 52 45 43 4f 52 44 28 61 64 64 72  NING_RECORD(addr
0370: 65 73 73 2c 20 74 79 70 65 2c 20 66 69 65 6c 64  ess, type, field
0380: 29 0a 2a 2f 0a 0a 61 6c 69 61 73 20 76 6f 69 64  ).*/..alias void
0390: 20 20 20 56 4f 49 44 3b 0a 61 6c 69 61 73 20 63     VOID;.alias c
03a0: 68 61 72 20 20 20 43 48 41 52 2c 20 43 43 48 41  har   CHAR, CCHA
03b0: 52 3b 0a 61 6c 69 61 73 20 77 63 68 61 72 20 20  R;.alias wchar  
03c0: 57 43 48 41 52 3b 0a 61 6c 69 61 73 20 62 6f 6f  WCHAR;.alias boo
03d0: 6c 20 20 20 42 4f 4f 4c 45 41 4e 3b 0a 61 6c 69  l   BOOLEAN;.ali
03e0: 61 73 20 62 79 74 65 20 20 20 46 43 48 41 52 3b  as byte   FCHAR;
03f0: 0a 61 6c 69 61 73 20 75 62 79 74 65 20 20 55 43  .alias ubyte  UC
0400: 48 41 52 3b 0a 61 6c 69 61 73 20 73 68 6f 72 74  HAR;.alias short
0410: 20 20 53 48 4f 52 54 3b 0a 61 6c 69 61 73 20 75    SHORT;.alias u
0420: 73 68 6f 72 74 20 4c 41 4e 47 49 44 2c 20 46 53  short LANGID, FS
0430: 48 4f 52 54 3b 0a 61 6c 69 61 73 20 75 69 6e 74  HORT;.alias uint
0440: 20 20 20 4c 43 49 44 2c 20 46 4c 4f 4e 47 2c 20     LCID, FLONG, 
0450: 41 43 43 45 53 53 5f 4d 41 53 4b 3b 0a 61 6c 69  ACCESS_MASK;.ali
0460: 61 73 20 6c 6f 6e 67 20 20 20 4c 4f 4e 47 4c 4f  as long   LONGLO
0470: 4e 47 2c 20 55 53 4e 3b 0a 61 6c 69 61 73 20 75  NG, USN;.alias u
0480: 6c 6f 6e 67 20 20 44 57 4f 52 44 4c 4f 4e 47 2c  long  DWORDLONG,
0490: 20 55 4c 4f 4e 47 4c 4f 4e 47 3b 0a 0a 61 6c 69   ULONGLONG;..ali
04a0: 61 73 20 76 6f 69 64 2a 20 20 50 56 4f 49 44 2c  as void*  PVOID,
04b0: 20 4c 50 56 4f 49 44 3b 0a 61 6c 69 61 73 20 63   LPVOID;.alias c
04c0: 68 61 72 2a 20 20 50 53 5a 2c 20 50 43 48 41 52  har*  PSZ, PCHAR
04d0: 2c 20 50 43 43 48 41 52 2c 20 4c 50 43 48 2c 20  , PCCHAR, LPCH, 
04e0: 50 43 48 2c 20 4c 50 53 54 52 2c 20 50 53 54 52  PCH, LPSTR, PSTR
04f0: 3b 0a 61 6c 69 61 73 20 77 63 68 61 72 2a 20 50  ;.alias wchar* P
0500: 57 43 48 41 52 2c 20 4c 50 57 43 48 2c 20 50 57  WCHAR, LPWCH, PW
0510: 43 48 2c 20 4c 50 57 53 54 52 2c 20 50 57 53 54  CH, LPWSTR, PWST
0520: 52 3b 0a 61 6c 69 61 73 20 62 6f 6f 6c 2a 20 20  R;.alias bool*  
0530: 50 42 4f 4f 4c 45 41 4e 3b 0a 61 6c 69 61 73 20  PBOOLEAN;.alias 
0540: 75 62 79 74 65 2a 20 50 55 43 48 41 52 3b 0a 61  ubyte* PUCHAR;.a
0550: 6c 69 61 73 20 73 68 6f 72 74 2a 20 50 53 48 4f  lias short* PSHO
0560: 52 54 3b 0a 61 6c 69 61 73 20 69 6e 74 2a 20 20  RT;.alias int*  
0570: 20 50 4c 4f 4e 47 3b 0a 61 6c 69 61 73 20 75 69   PLONG;.alias ui
0580: 6e 74 2a 20 20 50 4c 43 49 44 2c 20 50 41 43 43  nt*  PLCID, PACC
0590: 45 53 53 5f 4d 41 53 4b 3b 0a 61 6c 69 61 73 20  ESS_MASK;.alias 
05a0: 6c 6f 6e 67 2a 20 20 50 4c 4f 4e 47 4c 4f 4e 47  long*  PLONGLONG
05b0: 3b 0a 61 6c 69 61 73 20 75 6c 6f 6e 67 2a 20 50  ;.alias ulong* P
05c0: 44 57 4f 52 44 4c 4f 4e 47 2c 20 50 55 4c 4f 4e  DWORDLONG, PULON
05d0: 47 4c 4f 4e 47 3b 0a 0a 2f 2f 20 46 49 58 4d 45  GLONG;..// FIXME
05e0: 28 4d 69 6e 47 57 29 20 66 6f 72 20 5f 5f 57 49  (MinGW) for __WI
05f0: 4e 36 34 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  N64.alias void* 
0600: 20 50 56 4f 49 44 36 34 3b 0a 0a 2f 2f 20 63 6f   PVOID64;..// co
0610: 6e 73 74 20 76 65 72 73 69 6f 6e 73 0a 61 6c 69  nst versions.ali
0620: 61 73 20 43 50 74 72 21 28 63 68 61 72 29 20 20  as CPtr!(char)  
0630: 4c 50 43 43 48 2c 20 50 43 53 54 52 2c 20 4c 50  LPCCH, PCSTR, LP
0640: 43 53 54 52 3b 0a 61 6c 69 61 73 20 43 50 74 72  CSTR;.alias CPtr
0650: 21 28 77 63 68 61 72 29 20 4c 50 43 57 43 48 2c  !(wchar) LPCWCH,
0660: 20 50 43 57 43 48 2c 20 4c 50 43 57 53 54 52 2c   PCWCH, LPCWSTR,
0670: 20 50 43 57 53 54 52 3b 0a 0a 76 65 72 73 69 6f   PCWSTR;..versio
0680: 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09 61  n (Unicode) {..a
0690: 6c 69 61 73 20 57 43 48 41 52 20 54 43 48 41 52  lias WCHAR TCHAR
06a0: 2c 20 5f 54 43 48 41 52 3b 0a 7d 20 65 6c 73 65  , _TCHAR;.} else
06b0: 20 7b 0a 09 61 6c 69 61 73 20 43 48 41 52 20 54   {..alias CHAR T
06c0: 43 48 41 52 2c 20 5f 54 43 48 41 52 3b 0a 7d 0a  CHAR, _TCHAR;.}.
06d0: 0a 61 6c 69 61 73 20 54 43 48 41 52 20 20 20 20  .alias TCHAR    
06e0: 20 20 20 20 54 42 59 54 45 3b 0a 61 6c 69 61 73      TBYTE;.alias
06f0: 20 54 43 48 41 52 2a 20 20 20 20 20 20 20 50 54   TCHAR*       PT
0700: 43 48 2c 20 50 54 42 59 54 45 2c 20 4c 50 54 43  CH, PTBYTE, LPTC
0710: 48 2c 20 50 54 53 54 52 2c 20 4c 50 54 53 54 52  H, PTSTR, LPTSTR
0720: 2c 20 4c 50 2c 20 50 54 43 48 41 52 3b 0a 61 6c  , LP, PTCHAR;.al
0730: 69 61 73 20 43 50 74 72 21 28 54 43 48 41 52 29  ias CPtr!(TCHAR)
0740: 20 4c 50 43 54 53 54 52 3b 0a 0a 63 6f 6e 73 74   LPCTSTR;..const
0750: 20 63 68 61 72 20 41 4e 53 49 5f 4e 55 4c 4c 20   char ANSI_NULL 
0760: 3d 20 27 5c 30 27 3b 0a 63 6f 6e 73 74 20 77 63  = '\0';.const wc
0770: 68 61 72 20 55 4e 49 43 4f 44 45 5f 4e 55 4c 4c  har UNICODE_NULL
0780: 20 3d 20 27 5c 30 27 3b 0a 0a 63 6f 6e 73 74 20   = '\0';..const 
0790: 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f  APPLICATION_ERRO
07a0: 52 5f 4d 41 53 4b 20 20 20 20 20 20 20 3d 20 30  R_MASK       = 0
07b0: 78 32 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74  x20000000;.const
07c0: 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f   ERROR_SEVERITY_
07d0: 53 55 43 43 45 53 53 20 20 20 20 20 20 20 3d 20  SUCCESS       = 
07e0: 30 78 30 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73  0x00000000;.cons
07f0: 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59  t ERROR_SEVERITY
0800: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 41 4c 20 3d  _INFORMATIONAL =
0810: 20 30 78 34 30 30 30 30 30 30 30 3b 0a 63 6f 6e   0x40000000;.con
0820: 73 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54  st ERROR_SEVERIT
0830: 59 5f 57 41 52 4e 49 4e 47 20 20 20 20 20 20 20  Y_WARNING       
0840: 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0a 63 6f  = 0x80000000;.co
0850: 6e 73 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49  nst ERROR_SEVERI
0860: 54 59 5f 45 52 52 4f 52 20 20 20 20 20 20 20 20  TY_ERROR        
0870: 20 3d 20 30 78 43 30 30 30 30 30 30 30 3b 0a 0a   = 0xC0000000;..
0880: 2f 2f 20 4d 69 6e 47 57 3a 20 61 6c 73 6f 20 69  // MinGW: also i
0890: 6e 20 64 64 6b 2f 6e 74 69 66 73 2e 68 0a 65 6e  n ddk/ntifs.h.en
08a0: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 43  um : USHORT {..C
08b0: 4f 4d 50 52 45 53 53 49 4f 4e 5f 46 4f 52 4d 41  OMPRESSION_FORMA
08c0: 54 5f 4e 4f 4e 45 20 20 20 20 20 3d 20 30 78 30  T_NONE     = 0x0
08d0: 30 30 30 2c 0a 09 43 4f 4d 50 52 45 53 53 49 4f  000,..COMPRESSIO
08e0: 4e 5f 46 4f 52 4d 41 54 5f 44 45 46 41 55 4c 54  N_FORMAT_DEFAULT
08f0: 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 43 4f 4d    = 0x0001,..COM
0900: 50 52 45 53 53 49 4f 4e 5f 46 4f 52 4d 41 54 5f  PRESSION_FORMAT_
0910: 4c 5a 4e 54 31 20 20 20 20 3d 20 30 78 30 30 30  LZNT1    = 0x000
0920: 32 2c 0a 09 43 4f 4d 50 52 45 53 53 49 4f 4e 5f  2,..COMPRESSION_
0930: 45 4e 47 49 4e 45 5f 53 54 41 4e 44 41 52 44 20  ENGINE_STANDARD 
0940: 3d 20 30 78 30 30 30 30 2c 0a 09 43 4f 4d 50 52  = 0x0000,..COMPR
0950: 45 53 53 49 4f 4e 5f 45 4e 47 49 4e 45 5f 4d 41  ESSION_ENGINE_MA
0960: 58 49 4d 55 4d 20 20 3d 20 30 78 30 31 30 30 2c  XIMUM  = 0x0100,
0970: 0a 09 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 45 4e  ..COMPRESSION_EN
0980: 47 49 4e 45 5f 48 49 42 45 52 20 20 20 20 3d 20  GINE_HIBER    = 
0990: 30 78 30 32 30 30 0a 7d 0a 0a 2f 2f 20 41 43 43  0x0200.}..// ACC
09a0: 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a 45 43  ESS_DENIED_OBJEC
09b0: 54 5f 41 43 45 2c 20 65 74 63 0a 63 6f 6e 73 74  T_ACE, etc.const
09c0: 20 44 57 4f 52 44 0a 09 41 43 45 5f 4f 42 4a 45   DWORD..ACE_OBJE
09d0: 43 54 5f 54 59 50 45 5f 50 52 45 53 45 4e 54 20  CT_TYPE_PRESENT 
09e0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
09f0: 30 30 30 30 30 31 2c 0a 09 41 43 45 5f 49 4e 48  000001,..ACE_INH
0a00: 45 52 49 54 45 44 5f 4f 42 4a 45 43 54 5f 54 59  ERITED_OBJECT_TY
0a10: 50 45 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 30  PE_PRESENT = 0x0
0a20: 30 30 30 30 30 30 32 3b 0a 0a 2f 2f 20 41 43 45  0000002;..// ACE
0a30: 5f 48 45 41 44 45 52 2e 41 63 65 54 79 70 65 0a  _HEADER.AceType.
0a40: 2f 2f 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f 6e  // also in ddk/n
0a50: 74 69 66 73 2e 68 0a 65 6e 75 6d 20 3a 20 42 59  tifs.h.enum : BY
0a60: 54 45 20 7b 0a 09 41 43 43 45 53 53 5f 41 4c 4c  TE {..ACCESS_ALL
0a70: 4f 57 45 44 5f 41 43 45 5f 54 59 50 45 2c 0a 09  OWED_ACE_TYPE,..
0a80: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 41 43  ACCESS_DENIED_AC
0a90: 45 5f 54 59 50 45 2c 0a 09 53 59 53 54 45 4d 5f  E_TYPE,..SYSTEM_
0aa0: 41 55 44 49 54 5f 41 43 45 5f 54 59 50 45 2c 0a  AUDIT_ACE_TYPE,.
0ab0: 09 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 41 43  .SYSTEM_ALARM_AC
0ac0: 45 5f 54 59 50 45 0a 7d 0a 0a 2f 2f 20 41 43 45  E_TYPE.}..// ACE
0ad0: 5f 48 45 41 44 45 52 2e 41 63 65 46 6c 61 67 73  _HEADER.AceFlags
0ae0: 0a 63 6f 6e 73 74 20 42 59 54 45 0a 09 4f 42 4a  .const BYTE..OBJ
0af0: 45 43 54 5f 49 4e 48 45 52 49 54 5f 41 43 45 20  ECT_INHERIT_ACE 
0b00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 2c 0a          = 0x01,.
0b10: 09 43 4f 4e 54 41 49 4e 45 52 5f 49 4e 48 45 52  .CONTAINER_INHER
0b20: 49 54 5f 41 43 45 20 20 20 20 20 20 3d 20 30 78  IT_ACE      = 0x
0b30: 30 32 2c 0a 09 4e 4f 5f 50 52 4f 50 41 47 41 54  02,..NO_PROPAGAT
0b40: 45 5f 49 4e 48 45 52 49 54 5f 41 43 45 20 20 20  E_INHERIT_ACE   
0b50: 3d 20 30 78 30 34 2c 0a 09 49 4e 48 45 52 49 54  = 0x04,..INHERIT
0b60: 5f 4f 4e 4c 59 5f 41 43 45 20 20 20 20 20 20 20  _ONLY_ACE       
0b70: 20 20 20 20 3d 20 30 78 30 38 2c 0a 09 49 4e 48      = 0x08,..INH
0b80: 45 52 49 54 45 44 5f 41 43 45 20 20 20 20 20 20  ERITED_ACE      
0b90: 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 2c 0a          = 0x10,.
0ba0: 09 56 41 4c 49 44 5f 49 4e 48 45 52 49 54 5f 46  .VALID_INHERIT_F
0bb0: 4c 41 47 53 20 20 20 20 20 20 20 20 3d 20 30 78  LAGS        = 0x
0bc0: 31 46 2c 0a 09 53 55 43 43 45 53 53 46 55 4c 5f  1F,..SUCCESSFUL_
0bd0: 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41 47 20  ACCESS_ACE_FLAG 
0be0: 3d 20 30 78 34 30 2c 0a 09 46 41 49 4c 45 44 5f  = 0x40,..FAILED_
0bf0: 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41 47 20  ACCESS_ACE_FLAG 
0c00: 20 20 20 20 3d 20 30 78 38 30 3b 0a 0a 2f 2f 20      = 0x80;..// 
0c10: 41 63 63 65 73 73 20 4d 61 73 6b 20 46 6f 72 6d  Access Mask Form
0c20: 61 74 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f  at.const ACCESS_
0c30: 4d 41 53 4b 0a 09 44 45 4c 45 54 45 20 20 20 20  MASK..DELETE    
0c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
0c50: 20 30 78 30 30 30 31 30 30 30 30 2c 0a 09 52 45   0x00010000,..RE
0c60: 41 44 5f 43 4f 4e 54 52 4f 4c 20 20 20 20 20 20  AD_CONTROL      
0c70: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 30         = 0x00020
0c80: 30 30 30 2c 0a 09 57 52 49 54 45 5f 44 41 43 20  000,..WRITE_DAC 
0c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
0ca0: 20 30 78 30 30 30 34 30 30 30 30 2c 0a 09 57 52   0x00040000,..WR
0cb0: 49 54 45 5f 4f 57 4e 45 52 20 20 20 20 20 20 20  ITE_OWNER       
0cc0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 30         = 0x00080
0cd0: 30 30 30 2c 0a 09 53 59 4e 43 48 52 4f 4e 49 5a  000,..SYNCHRONIZ
0ce0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  E              =
0cf0: 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 41 43   0x00100000,..AC
0d00: 43 45 53 53 5f 53 59 53 54 45 4d 5f 53 45 43 55  CESS_SYSTEM_SECU
0d10: 52 49 54 59 20 20 20 3d 20 30 78 30 31 30 30 30  RITY   = 0x01000
0d20: 30 30 30 2c 0a 09 4d 41 58 49 4d 55 4d 5f 41 4c  000,..MAXIMUM_AL
0d30: 4c 4f 57 45 44 20 20 20 20 20 20 20 20 20 20 3d  LOWED          =
0d40: 20 30 78 30 32 30 30 30 30 30 30 2c 0a 09 47 45   0x02000000,..GE
0d50: 4e 45 52 49 43 5f 52 45 41 44 20 20 20 20 20 20  NERIC_READ      
0d60: 20 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30         = 0x80000
0d70: 30 30 30 2c 0a 09 47 45 4e 45 52 49 43 5f 57 52  000,..GENERIC_WR
0d80: 49 54 45 20 20 20 20 20 20 20 20 20 20 20 20 3d  ITE            =
0d90: 20 30 78 34 30 30 30 30 30 30 30 2c 0a 09 47 45   0x40000000,..GE
0da0: 4e 45 52 49 43 5f 45 58 45 43 55 54 45 20 20 20  NERIC_EXECUTE   
0db0: 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30         = 0x20000
0dc0: 30 30 30 2c 0a 09 47 45 4e 45 52 49 43 5f 41 4c  000,..GENERIC_AL
0dd0: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  L              =
0de0: 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 53 54   0x10000000,..ST
0df0: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45  ANDARD_RIGHTS_RE
0e00: 51 55 49 52 45 44 20 3d 20 30 78 30 30 30 46 30  QUIRED = 0x000F0
0e10: 30 30 30 2c 0a 09 53 54 41 4e 44 41 52 44 5f 52  000,..STANDARD_R
0e20: 49 47 48 54 53 5f 52 45 41 44 20 20 20 20 20 3d  IGHTS_READ     =
0e30: 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09 53 54   0x00020000,..ST
0e40: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 57 52  ANDARD_RIGHTS_WR
0e50: 49 54 45 20 20 20 20 3d 20 30 78 30 30 30 32 30  ITE    = 0x00020
0e60: 30 30 30 2c 0a 09 53 54 41 4e 44 41 52 44 5f 52  000,..STANDARD_R
0e70: 49 47 48 54 53 5f 45 58 45 43 55 54 45 20 20 3d  IGHTS_EXECUTE  =
0e80: 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09 53 54   0x00020000,..ST
0e90: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 41 4c  ANDARD_RIGHTS_AL
0ea0: 4c 20 20 20 20 20 20 3d 20 30 78 30 30 31 46 30  L      = 0x001F0
0eb0: 30 30 30 2c 0a 09 53 50 45 43 49 46 49 43 5f 52  000,..SPECIFIC_R
0ec0: 49 47 48 54 53 5f 41 4c 4c 20 20 20 20 20 20 3d  IGHTS_ALL      =
0ed0: 20 30 78 30 30 30 30 46 46 46 46 3b 0a 0a 0a 63   0x0000FFFF;...c
0ee0: 6f 6e 73 74 20 44 57 4f 52 44 20 49 4e 56 41 4c  onst DWORD INVAL
0ef0: 49 44 5f 46 49 4c 45 5f 41 54 54 52 49 42 55 54  ID_FILE_ATTRIBUT
0f00: 45 53 20 3d 20 2d 31 3b 0a 0a 2f 2f 20 4d 69 6e  ES = -1;..// Min
0f10: 47 57 3a 20 41 6c 73 6f 20 69 6e 20 64 64 6b 2f  GW: Also in ddk/
0f20: 77 69 6e 64 64 6b 2e 68 0a 63 6f 6e 73 74 20 44  winddk.h.const D
0f30: 57 4f 52 44 0a 09 46 49 4c 45 5f 4c 49 53 54 5f  WORD..FILE_LIST_
0f40: 44 49 52 45 43 54 4f 52 59 20 20 20 20 20 20 20  DIRECTORY       
0f50: 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46  = 0x00000001,..F
0f60: 49 4c 45 5f 52 45 41 44 5f 44 41 54 41 20 20 20  ILE_READ_DATA   
0f70: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
0f80: 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 41 44 44  00001,..FILE_ADD
0f90: 5f 46 49 4c 45 20 20 20 20 20 20 20 20 20 20 20  _FILE           
0fa0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a    = 0x00000002,.
0fb0: 09 46 49 4c 45 5f 57 52 49 54 45 5f 44 41 54 41  .FILE_WRITE_DATA
0fc0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
0fd0: 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45 5f 41  0000002,..FILE_A
0fe0: 44 44 5f 53 55 42 44 49 52 45 43 54 4f 52 59 20  DD_SUBDIRECTORY 
0ff0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34      = 0x00000004
1000: 2c 0a 09 46 49 4c 45 5f 41 50 50 45 4e 44 5f 44  ,..FILE_APPEND_D
1010: 41 54 41 20 20 20 20 20 20 20 20 20 20 3d 20 30  ATA          = 0
1020: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45  x00000004,..FILE
1030: 5f 43 52 45 41 54 45 5f 50 49 50 45 5f 49 4e 53  _CREATE_PIPE_INS
1040: 54 41 4e 43 45 20 3d 20 30 78 30 30 30 30 30 30  TANCE = 0x000000
1050: 30 34 2c 0a 09 46 49 4c 45 5f 52 45 41 44 5f 45  04,..FILE_READ_E
1060: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  A              =
1070: 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 46 49   0x00000008,..FI
1080: 4c 45 5f 52 45 41 44 5f 50 52 4f 50 45 52 54 49  LE_READ_PROPERTI
1090: 45 53 20 20 20 20 20 20 3d 20 30 78 30 30 30 30  ES      = 0x0000
10a0: 30 30 30 38 2c 0a 09 46 49 4c 45 5f 57 52 49 54  0008,..FILE_WRIT
10b0: 45 5f 45 41 20 20 20 20 20 20 20 20 20 20 20 20  E_EA            
10c0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09   = 0x00000010,..
10d0: 46 49 4c 45 5f 57 52 49 54 45 5f 50 52 4f 50 45  FILE_WRITE_PROPE
10e0: 52 54 49 45 53 20 20 20 20 20 3d 20 30 78 30 30  RTIES     = 0x00
10f0: 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 45 58  000010,..FILE_EX
1100: 45 43 55 54 45 20 20 20 20 20 20 20 20 20 20 20  ECUTE           
1110: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c     = 0x00000020,
1120: 0a 09 46 49 4c 45 5f 54 52 41 56 45 52 53 45 20  ..FILE_TRAVERSE 
1130: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
1140: 30 30 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f  00000020,..FILE_
1150: 44 45 4c 45 54 45 5f 43 48 49 4c 44 20 20 20 20  DELETE_CHILD    
1160: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 34       = 0x0000004
1170: 30 2c 0a 09 46 49 4c 45 5f 52 45 41 44 5f 41 54  0,..FILE_READ_AT
1180: 54 52 49 42 55 54 45 53 20 20 20 20 20 20 3d 20  TRIBUTES      = 
1190: 30 78 30 30 30 30 30 30 38 30 2c 0a 09 46 49 4c  0x00000080,..FIL
11a0: 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42 55 54  E_WRITE_ATTRIBUT
11b0: 45 53 20 20 20 20 20 3d 20 30 78 30 30 30 30 30  ES     = 0x00000
11c0: 31 30 30 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f 52  100;..const DWOR
11d0: 44 0a 09 46 49 4c 45 5f 53 48 41 52 45 5f 52 45  D..FILE_SHARE_RE
11e0: 41 44 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  AD        = 0x00
11f0: 30 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 53 48  000001,..FILE_SH
1200: 41 52 45 5f 57 52 49 54 45 20 20 20 20 20 20 20  ARE_WRITE       
1210: 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46  = 0x00000002,..F
1220: 49 4c 45 5f 53 48 41 52 45 5f 44 45 4c 45 54 45  ILE_SHARE_DELETE
1230: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
1240: 30 34 2c 0a 09 46 49 4c 45 5f 53 48 41 52 45 5f  04,..FILE_SHARE_
1250: 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30 78  VALID_FLAGS = 0x
1260: 30 30 30 30 30 30 30 37 3b 0a 0a 63 6f 6e 73 74  00000007;..const
1270: 20 44 57 4f 52 44 0a 09 46 49 4c 45 5f 41 54 54   DWORD..FILE_ATT
1280: 52 49 42 55 54 45 5f 52 45 41 44 4f 4e 4c 59 20  RIBUTE_READONLY 
1290: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
12a0: 30 30 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 41  0000001,..FILE_A
12b0: 54 54 52 49 42 55 54 45 5f 48 49 44 44 45 4e 20  TTRIBUTE_HIDDEN 
12c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
12d0: 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45  x00000002,..FILE
12e0: 5f 41 54 54 52 49 42 55 54 45 5f 53 59 53 54 45  _ATTRIBUTE_SYSTE
12f0: 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  M              =
1300: 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49   0x00000004,..FI
1310: 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 44 49 52  LE_ATTRIBUTE_DIR
1320: 45 43 54 4f 52 59 20 20 20 20 20 20 20 20 20 20  ECTORY          
1330: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09   = 0x00000010,..
1340: 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 41  FILE_ATTRIBUTE_A
1350: 52 43 48 49 56 45 20 20 20 20 20 20 20 20 20 20  RCHIVE          
1360: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c     = 0x00000020,
1370: 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45  ..FILE_ATTRIBUTE
1380: 5f 44 45 56 49 43 45 20 20 20 20 20 20 20 20 20  _DEVICE         
1390: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 34       = 0x0000004
13a0: 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55  0,..FILE_ATTRIBU
13b0: 54 45 5f 4e 4f 52 4d 41 4c 20 20 20 20 20 20 20  TE_NORMAL       
13c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
13d0: 30 38 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49  080,..FILE_ATTRI
13e0: 42 55 54 45 5f 54 45 4d 50 4f 52 41 52 59 20 20  BUTE_TEMPORARY  
13f0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
1400: 30 30 31 30 30 2c 0a 09 46 49 4c 45 5f 41 54 54  00100,..FILE_ATT
1410: 52 49 42 55 54 45 5f 53 50 41 52 53 45 5f 46 49  RIBUTE_SPARSE_FI
1420: 4c 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  LE         = 0x0
1430: 30 30 30 30 32 30 30 2c 0a 09 46 49 4c 45 5f 41  0000200,..FILE_A
1440: 54 54 52 49 42 55 54 45 5f 52 45 50 41 52 53 45  TTRIBUTE_REPARSE
1450: 5f 50 4f 49 4e 54 20 20 20 20 20 20 20 3d 20 30  _POINT       = 0
1460: 78 30 30 30 30 30 34 30 30 2c 0a 09 46 49 4c 45  x00000400,..FILE
1470: 5f 41 54 54 52 49 42 55 54 45 5f 43 4f 4d 50 52  _ATTRIBUTE_COMPR
1480: 45 53 53 45 44 20 20 20 20 20 20 20 20 20 20 3d  ESSED          =
1490: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 46 49   0x00000800,..FI
14a0: 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 4f 46 46  LE_ATTRIBUTE_OFF
14b0: 4c 49 4e 45 20 20 20 20 20 20 20 20 20 20 20 20  LINE            
14c0: 20 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09   = 0x00001000,..
14d0: 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 4e  FILE_ATTRIBUTE_N
14e0: 4f 54 5f 43 4f 4e 54 45 4e 54 5f 49 4e 44 45 58  OT_CONTENT_INDEX
14f0: 45 44 20 3d 20 30 78 30 30 30 30 32 30 30 30 2c  ED = 0x00002000,
1500: 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45  ..FILE_ATTRIBUTE
1510: 5f 45 4e 43 52 59 50 54 45 44 20 20 20 20 20 20  _ENCRYPTED      
1520: 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 30       = 0x0000400
1530: 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55  0,..FILE_ATTRIBU
1540: 54 45 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20 20  TE_VALID_FLAGS  
1550: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 37         = 0x00007
1560: 66 62 37 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49  fb7,..FILE_ATTRI
1570: 42 55 54 45 5f 56 41 4c 49 44 5f 53 45 54 5f 46  BUTE_VALID_SET_F
1580: 4c 41 47 53 20 20 20 20 20 3d 20 30 78 30 30 30  LAGS     = 0x000
1590: 30 33 31 61 37 3b 0a 0a 2f 2f 20 54 68 65 73 65  031a7;..// These
15a0: 20 61 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65 6e   are not documen
15b0: 74 65 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e 73  ted on MSDN.cons
15c0: 74 20 46 49 4c 45 5f 43 4f 50 59 5f 53 54 52 55  t FILE_COPY_STRU
15d0: 43 54 55 52 45 44 5f 53 54 4f 52 41 47 45 20 3d  CTURED_STORAGE =
15e0: 20 30 78 30 30 30 30 30 30 34 31 3b 0a 63 6f 6e   0x00000041;.con
15f0: 73 74 20 46 49 4c 45 5f 53 54 52 55 43 54 55 52  st FILE_STRUCTUR
1600: 45 44 5f 53 54 4f 52 41 47 45 20 20 20 20 20 20  ED_STORAGE      
1610: 3d 20 30 78 30 30 30 30 30 34 34 31 3b 0a 0a 2f  = 0x00000441;../
1620: 2f 20 4e 6f 72 20 61 72 65 20 74 68 65 73 65 0a  / Nor are these.
1630: 63 6f 6e 73 74 20 46 49 4c 45 5f 56 41 4c 49 44  const FILE_VALID
1640: 5f 4f 50 54 49 4f 4e 5f 46 4c 41 47 53 20 20 20  _OPTION_FLAGS   
1650: 20 20 20 20 20 20 20 3d 20 30 78 30 30 66 66 66         = 0x00fff
1660: 66 66 66 3b 0a 63 6f 6e 73 74 20 46 49 4c 45 5f  fff;.const FILE_
1670: 56 41 4c 49 44 5f 50 49 50 45 5f 4f 50 54 49 4f  VALID_PIPE_OPTIO
1680: 4e 5f 46 4c 41 47 53 20 20 20 20 20 3d 20 30 78  N_FLAGS     = 0x
1690: 30 30 30 30 30 30 33 32 3b 0a 63 6f 6e 73 74 20  00000032;.const 
16a0: 46 49 4c 45 5f 56 41 4c 49 44 5f 4d 41 49 4c 53  FILE_VALID_MAILS
16b0: 4c 4f 54 5f 4f 50 54 49 4f 4e 5f 46 4c 41 47 53  LOT_OPTION_FLAGS
16c0: 20 3d 20 30 78 30 30 30 30 30 30 33 32 3b 0a 63   = 0x00000032;.c
16d0: 6f 6e 73 74 20 46 49 4c 45 5f 56 41 4c 49 44 5f  onst FILE_VALID_
16e0: 53 45 54 5f 46 4c 41 47 53 20 20 20 20 20 20 20  SET_FLAGS       
16f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
1700: 33 36 3b 0a 0a 63 6f 6e 73 74 20 55 4c 4f 4e 47  36;..const ULONG
1710: 0a 09 46 49 4c 45 5f 53 55 50 45 52 53 45 44 45  ..FILE_SUPERSEDE
1720: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
1730: 30 30 30 30 30 30 30 2c 0a 09 46 49 4c 45 5f 4f  0000000,..FILE_O
1740: 50 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  PEN             
1750: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c     = 0x00000001,
1760: 0a 09 46 49 4c 45 5f 43 52 45 41 54 45 20 20 20  ..FILE_CREATE   
1770: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
1780: 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45 5f 4f  0000002,..FILE_O
1790: 50 45 4e 5f 49 46 20 20 20 20 20 20 20 20 20 20  PEN_IF          
17a0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 33 2c     = 0x00000003,
17b0: 0a 09 46 49 4c 45 5f 4f 56 45 52 57 52 49 54 45  ..FILE_OVERWRITE
17c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
17d0: 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45 5f 4f  0000004,..FILE_O
17e0: 56 45 52 57 52 49 54 45 5f 49 46 20 20 20 20 20  VERWRITE_IF     
17f0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 35 2c     = 0x00000005,
1800: 0a 09 46 49 4c 45 5f 4d 41 58 49 4d 55 4d 5f 44  ..FILE_MAXIMUM_D
1810: 49 53 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30  ISPOSITION = 0x0
1820: 30 30 30 30 30 30 35 3b 0a 0a 63 6f 6e 73 74 20  0000005;..const 
1830: 55 4c 4f 4e 47 0a 09 46 49 4c 45 5f 44 49 52 45  ULONG..FILE_DIRE
1840: 43 54 4f 52 59 5f 46 49 4c 45 20 20 20 20 20 20  CTORY_FILE      
1850: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
1860: 30 31 2c 0a 09 46 49 4c 45 5f 57 52 49 54 45 5f  01,..FILE_WRITE_
1870: 54 48 52 4f 55 47 48 20 20 20 20 20 20 20 20 20  THROUGH         
1880: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32      = 0x00000002
1890: 2c 0a 09 46 49 4c 45 5f 53 45 51 55 45 4e 54 49  ,..FILE_SEQUENTI
18a0: 41 4c 5f 4f 4e 4c 59 20 20 20 20 20 20 20 20 20  AL_ONLY         
18b0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a    = 0x00000004,.
18c0: 09 46 49 4c 45 5f 4e 4f 5f 49 4e 54 45 52 4d 45  .FILE_NO_INTERME
18d0: 44 49 41 54 45 5f 42 55 46 46 45 52 49 4e 47 20  DIATE_BUFFERING 
18e0: 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 46  = 0x00000008,..F
18f0: 49 4c 45 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 5f  ILE_SYNCHRONOUS_
1900: 49 4f 5f 41 4c 45 52 54 20 20 20 20 20 20 3d 20  IO_ALERT      = 
1910: 30 78 30 30 30 30 30 30 31 30 2c 0a 09 46 49 4c  0x00000010,..FIL
1920: 45 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 5f 49 4f  E_SYNCHRONOUS_IO
1930: 5f 4e 4f 4e 41 4c 45 52 54 20 20 20 3d 20 30 78  _NONALERT   = 0x
1940: 30 30 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f  00000020,..FILE_
1950: 4e 4f 4e 5f 44 49 52 45 43 54 4f 52 59 5f 46 49  NON_DIRECTORY_FI
1960: 4c 45 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  LE        = 0x00
1970: 30 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 43 52  000040,..FILE_CR
1980: 45 41 54 45 5f 54 52 45 45 5f 43 4f 4e 4e 45 43  EATE_TREE_CONNEC
1990: 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 30 30 30  TION    = 0x0000
19a0: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 43 4f 4d 50  0080,..FILE_COMP
19b0: 4c 45 54 45 5f 49 46 5f 4f 50 4c 4f 43 4b 45 44  LETE_IF_OPLOCKED
19c0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31        = 0x000001
19d0: 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 5f 45 41 5f  00,..FILE_NO_EA_
19e0: 4b 4e 4f 57 4c 45 44 47 45 20 20 20 20 20 20 20  KNOWLEDGE       
19f0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30      = 0x00000200
1a00: 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 46 4f 52  ,..FILE_OPEN_FOR
1a10: 5f 52 45 43 4f 56 45 52 59 20 20 20 20 20 20 20  _RECOVERY       
1a20: 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0a    = 0x00000400,.
1a30: 09 46 49 4c 45 5f 52 41 4e 44 4f 4d 5f 41 43 43  .FILE_RANDOM_ACC
1a40: 45 53 53 20 20 20 20 20 20 20 20 20 20 20 20 20  ESS             
1a50: 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 46  = 0x00000800,..F
1a60: 49 4c 45 5f 44 45 4c 45 54 45 5f 4f 4e 5f 43 4c  ILE_DELETE_ON_CL
1a70: 4f 53 45 20 20 20 20 20 20 20 20 20 20 20 3d 20  OSE           = 
1a80: 30 78 30 30 30 30 31 30 30 30 2c 0a 09 46 49 4c  0x00001000,..FIL
1a90: 45 5f 4f 50 45 4e 5f 42 59 5f 46 49 4c 45 5f 49  E_OPEN_BY_FILE_I
1aa0: 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78  D           = 0x
1ab0: 30 30 30 30 32 30 30 30 2c 0a 09 46 49 4c 45 5f  00002000,..FILE_
1ac0: 4f 50 45 4e 5f 46 4f 52 5f 42 41 43 4b 55 50 5f  OPEN_FOR_BACKUP_
1ad0: 49 4e 54 45 4e 54 20 20 20 20 3d 20 30 78 30 30  INTENT    = 0x00
1ae0: 30 30 34 30 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f  004000,..FILE_NO
1af0: 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20 20 20 20  _COMPRESSION    
1b00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
1b10: 38 30 30 30 2c 0a 09 46 49 4c 45 5f 52 45 53 45  8000,..FILE_RESE
1b20: 52 56 45 5f 4f 50 46 49 4c 54 45 52 20 20 20 20  RVE_OPFILTER    
1b30: 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 30        = 0x001000
1b40: 30 30 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 52  00,..FILE_OPEN_R
1b50: 45 50 41 52 53 45 5f 50 4f 49 4e 54 20 20 20 20  EPARSE_POINT    
1b60: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30      = 0x00200000
1b70: 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 4e 4f 5f  ,..FILE_OPEN_NO_
1b80: 52 45 43 41 4c 4c 20 20 20 20 20 20 20 20 20 20  RECALL          
1b90: 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a    = 0x00400000,.
1ba0: 09 46 49 4c 45 5f 4f 50 45 4e 5f 46 4f 52 5f 46  .FILE_OPEN_FOR_F
1bb0: 52 45 45 5f 53 50 41 43 45 5f 51 55 45 52 59 20  REE_SPACE_QUERY 
1bc0: 3d 20 30 78 30 30 38 30 30 30 30 30 3b 0a 0a 0a  = 0x00800000;...
1bd0: 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53  const ACCESS_MAS
1be0: 4b 0a 09 46 49 4c 45 5f 41 4c 4c 5f 41 43 43 45  K..FILE_ALL_ACCE
1bf0: 53 53 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41  SS      = STANDA
1c00: 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52  RD_RIGHTS_REQUIR
1c10: 45 44 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45  ED | SYNCHRONIZE
1c20: 20 7c 20 30 78 30 31 46 46 2c 0a 09 46 49 4c 45   | 0x01FF,..FILE
1c30: 5f 47 45 4e 45 52 49 43 5f 45 58 45 43 55 54 45  _GENERIC_EXECUTE
1c40: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
1c50: 54 53 5f 45 58 45 43 55 54 45 20 7c 20 46 49 4c  TS_EXECUTE | FIL
1c60: 45 5f 52 45 41 44 5f 41 54 54 52 49 42 55 54 45  E_READ_ATTRIBUTE
1c70: 53 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20  S..             
1c80: 20 20 20 20 20 20 20 20 20 20 7c 20 46 49 4c 45            | FILE
1c90: 5f 45 58 45 43 55 54 45 20 7c 20 53 59 4e 43 48  _EXECUTE | SYNCH
1ca0: 52 4f 4e 49 5a 45 2c 0a 09 46 49 4c 45 5f 47 45  RONIZE,..FILE_GE
1cb0: 4e 45 52 49 43 5f 52 45 41 44 20 20 20 20 3d 20  NERIC_READ    = 
1cc0: 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f  STANDARD_RIGHTS_
1cd0: 52 45 41 44 20 7c 20 46 49 4c 45 5f 52 45 41 44  READ | FILE_READ
1ce0: 5f 44 41 54 41 0a 09 20 20 20 20 20 20 20 20 20  _DATA..         
1cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20                | 
1d00: 46 49 4c 45 5f 52 45 41 44 5f 41 54 54 52 49 42  FILE_READ_ATTRIB
1d10: 55 54 45 53 20 7c 20 46 49 4c 45 5f 52 45 41 44  UTES | FILE_READ
1d20: 5f 45 41 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a  _EA | SYNCHRONIZ
1d30: 45 2c 0a 09 46 49 4c 45 5f 47 45 4e 45 52 49 43  E,..FILE_GENERIC
1d40: 5f 57 52 49 54 45 20 20 20 3d 20 53 54 41 4e 44  _WRITE   = STAND
1d50: 41 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45  ARD_RIGHTS_WRITE
1d60: 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f 44 41   | FILE_WRITE_DA
1d70: 54 41 0a 09 20 20 20 20 20 20 20 20 20 20 20 20  TA..            
1d80: 20 20 20 20 20 20 20 20 20 20 20 7c 20 46 49 4c             | FIL
1d90: 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42 55 54  E_WRITE_ATTRIBUT
1da0: 45 53 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f  ES | FILE_WRITE_
1db0: 45 41 20 7c 20 46 49 4c 45 5f 41 50 50 45 4e 44  EA | FILE_APPEND
1dc0: 5f 44 41 54 41 0a 09 20 20 20 20 20 20 20 20 20  _DATA..         
1dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20                | 
1de0: 53 59 4e 43 48 52 4f 4e 49 5a 45 3b 0a 0a 2f 2f  SYNCHRONIZE;..//
1df0: 20 4d 69 6e 47 57 3a 20 65 6e 64 20 77 69 6e 64   MinGW: end wind
1e00: 64 6b 2e 68 0a 2f 2f 20 4d 69 6e 47 57 3a 20 61  dk.h.// MinGW: a
1e10: 6c 73 6f 20 69 6e 20 64 64 6b 2f 6e 74 69 66 73  lso in ddk/ntifs
1e20: 2e 68 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09  .h.const DWORD..
1e30: 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e  FILE_NOTIFY_CHAN
1e40: 47 45 5f 46 49 4c 45 5f 4e 41 4d 45 20 20 20 20  GE_FILE_NAME    
1e50: 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46  = 0x00000001,..F
1e60: 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47  ILE_NOTIFY_CHANG
1e70: 45 5f 44 49 52 5f 4e 41 4d 45 20 20 20 20 20 3d  E_DIR_NAME     =
1e80: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49   0x00000002,..FI
1e90: 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  LE_NOTIFY_CHANGE
1ea0: 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 3d 20  _NAME         = 
1eb0: 30 78 30 30 30 30 30 30 30 33 2c 0a 09 46 49 4c  0x00000003,..FIL
1ec0: 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f  E_NOTIFY_CHANGE_
1ed0: 41 54 54 52 49 42 55 54 45 53 20 20 20 3d 20 30  ATTRIBUTES   = 0
1ee0: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45  x00000004,..FILE
1ef0: 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 53  _NOTIFY_CHANGE_S
1f00: 49 5a 45 20 20 20 20 20 20 20 20 20 3d 20 30 78  IZE         = 0x
1f10: 30 30 30 30 30 30 30 38 2c 0a 09 46 49 4c 45 5f  00000008,..FILE_
1f20: 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41  NOTIFY_CHANGE_LA
1f30: 53 54 5f 57 52 49 54 45 20 20 20 3d 20 30 78 30  ST_WRITE   = 0x0
1f40: 30 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 4e  0000010,..FILE_N
1f50: 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41 53  OTIFY_CHANGE_LAS
1f60: 54 5f 41 43 43 45 53 53 20 20 3d 20 30 78 30 30  T_ACCESS  = 0x00
1f70: 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 4e 4f  000020,..FILE_NO
1f80: 54 49 46 59 5f 43 48 41 4e 47 45 5f 43 52 45 41  TIFY_CHANGE_CREA
1f90: 54 49 4f 4e 20 20 20 20 20 3d 20 30 78 30 30 30  TION     = 0x000
1fa0: 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54  00040,..FILE_NOT
1fb0: 49 46 59 5f 43 48 41 4e 47 45 5f 45 41 20 20 20  IFY_CHANGE_EA   
1fc0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
1fd0: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49  0080,..FILE_NOTI
1fe0: 46 59 5f 43 48 41 4e 47 45 5f 53 45 43 55 52 49  FY_CHANGE_SECURI
1ff0: 54 59 20 20 20 20 20 3d 20 30 78 30 30 30 30 30  TY     = 0x00000
2000: 31 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46  100,..FILE_NOTIF
2010: 59 5f 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f  Y_CHANGE_STREAM_
2020: 4e 41 4d 45 20 20 3d 20 30 78 30 30 30 30 30 32  NAME  = 0x000002
2030: 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59  00,..FILE_NOTIFY
2040: 5f 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f 53  _CHANGE_STREAM_S
2050: 49 5a 45 20 20 3d 20 30 78 30 30 30 30 30 34 30  IZE  = 0x0000040
2060: 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59 5f  0,..FILE_NOTIFY_
2070: 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f 57 52  CHANGE_STREAM_WR
2080: 49 54 45 20 3d 20 30 78 30 30 30 30 30 38 30 30  ITE = 0x00000800
2090: 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 56  ,..FILE_NOTIFY_V
20a0: 41 4c 49 44 5f 4d 41 53 4b 20 20 20 20 20 20 20  ALID_MASK       
20b0: 20 20 20 3d 20 30 78 30 30 30 30 30 66 66 66 3b     = 0x00000fff;
20c0: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 46  ..const DWORD..F
20d0: 49 4c 45 5f 43 41 53 45 5f 53 45 4e 53 49 54 49  ILE_CASE_SENSITI
20e0: 56 45 5f 53 45 41 52 43 48 20 20 20 20 20 20 3d  VE_SEARCH      =
20f0: 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46 49   0x00000001,..FI
2100: 4c 45 5f 43 41 53 45 5f 50 52 45 53 45 52 56 45  LE_CASE_PRESERVE
2110: 44 5f 4e 41 4d 45 53 20 20 20 20 20 20 20 3d 20  D_NAMES       = 
2120: 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49 4c  0x00000002,..FIL
2130: 45 5f 55 4e 49 43 4f 44 45 5f 4f 4e 5f 44 49 53  E_UNICODE_ON_DIS
2140: 4b 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  K            = 0
2150: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45  x00000004,..FILE
2160: 5f 50 45 52 53 49 53 54 45 4e 54 5f 41 43 4c 53  _PERSISTENT_ACLS
2170: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
2180: 30 30 30 30 30 30 30 38 2c 0a 09 46 49 4c 45 5f  00000008,..FILE_
2190: 46 49 4c 45 5f 43 4f 4d 50 52 45 53 53 49 4f 4e  FILE_COMPRESSION
21a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
21b0: 30 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 56  0000010,..FILE_V
21c0: 4f 4c 55 4d 45 5f 51 55 4f 54 41 53 20 20 20 20  OLUME_QUOTAS    
21d0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
21e0: 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 53 55  000020,..FILE_SU
21f0: 50 50 4f 52 54 53 5f 53 50 41 52 53 45 5f 46 49  PPORTS_SPARSE_FI
2200: 4c 45 53 20 20 20 20 20 20 3d 20 30 78 30 30 30  LES      = 0x000
2210: 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 53 55 50  00040,..FILE_SUP
2220: 50 4f 52 54 53 5f 52 45 50 41 52 53 45 5f 50 4f  PORTS_REPARSE_PO
2230: 49 4e 54 53 20 20 20 20 3d 20 30 78 30 30 30 30  INTS    = 0x0000
2240: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 53 55 50 50  0080,..FILE_SUPP
2250: 4f 52 54 53 5f 52 45 4d 4f 54 45 5f 53 54 4f 52  ORTS_REMOTE_STOR
2260: 41 47 45 20 20 20 20 3d 20 30 78 30 30 30 30 30  AGE    = 0x00000
2270: 31 30 30 2c 0a 09 46 53 5f 4c 46 4e 5f 41 50 49  100,..FS_LFN_API
2280: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  S               
2290: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30        = 0x000040
22a0: 30 30 2c 0a 09 46 49 4c 45 5f 56 4f 4c 55 4d 45  00,..FILE_VOLUME
22b0: 5f 49 53 5f 43 4f 4d 50 52 45 53 53 45 44 20 20  _IS_COMPRESSED  
22c0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30       = 0x0000800
22d0: 30 2c 0a 09 46 49 4c 45 5f 53 55 50 50 4f 52 54  0,..FILE_SUPPORT
22e0: 53 5f 4f 42 4a 45 43 54 5f 49 44 53 20 20 20 20  S_OBJECT_IDS    
22f0: 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30 30      = 0x00010000
2300: 2c 0a 09 46 49 4c 45 5f 53 55 50 50 4f 52 54 53  ,..FILE_SUPPORTS
2310: 5f 45 4e 43 52 59 50 54 49 4f 4e 20 20 20 20 20  _ENCRYPTION     
2320: 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c     = 0x00020000,
2330: 0a 09 46 49 4c 45 5f 4e 41 4d 45 44 5f 53 54 52  ..FILE_NAMED_STR
2340: 45 41 4d 53 20 20 20 20 20 20 20 20 20 20 20 20  EAMS            
2350: 20 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c 0a    = 0x00040000,.
2360: 09 46 49 4c 45 5f 52 45 41 44 5f 4f 4e 4c 59 5f  .FILE_READ_ONLY_
2370: 56 4f 4c 55 4d 45 20 20 20 20 20 20 20 20 20 20  VOLUME          
2380: 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09   = 0x00080000,..
2390: 46 49 4c 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f  FILE_SEQUENTIAL_
23a0: 57 52 49 54 45 5f 4f 4e 43 45 20 20 20 20 20 20  WRITE_ONCE      
23b0: 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 46  = 0x00100000,..F
23c0: 49 4c 45 5f 53 55 50 50 4f 52 54 53 5f 54 52 41  ILE_SUPPORTS_TRA
23d0: 4e 53 41 43 54 49 4f 4e 53 20 20 20 20 20 20 3d  NSACTIONS      =
23e0: 20 30 78 30 30 32 30 30 30 30 30 3b 0a 0a 2f 2f   0x00200000;..//
23f0: 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74 20 64   These are not d
2400: 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44  ocumented on MSD
2410: 4e 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d  N.const ACCESS_M
2420: 41 53 4b 0a 09 49 4f 5f 43 4f 4d 50 4c 45 54 49  ASK..IO_COMPLETI
2430: 4f 4e 5f 51 55 45 52 59 5f 53 54 41 54 45 20 20  ON_QUERY_STATE  
2440: 3d 20 31 2c 0a 09 49 4f 5f 43 4f 4d 50 4c 45 54  = 1,..IO_COMPLET
2450: 49 4f 4e 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45  ION_MODIFY_STATE
2460: 20 3d 20 32 2c 0a 09 49 4f 5f 43 4f 4d 50 4c 45   = 2,..IO_COMPLE
2470: 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20  TION_ALL_ACCESS 
2480: 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47    = STANDARD_RIG
2490: 48 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53  HTS_REQUIRED | S
24a0: 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 33 3b 0a  YNCHRONIZE | 3;.
24b0: 2f 2f 20 4d 69 6e 47 57 3a 20 65 6e 64 20 6e 74  // MinGW: end nt
24c0: 69 66 73 2e 68 0a 0a 2f 2f 20 4d 69 6e 47 57 3a  ifs.h..// MinGW:
24d0: 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f 77 69 6e   also in ddk/win
24e0: 64 64 6b 2e 68 0a 63 6f 6e 73 74 20 44 57 4f 52  ddk.h.const DWOR
24f0: 44 0a 09 44 55 50 4c 49 43 41 54 45 5f 43 4c 4f  D..DUPLICATE_CLO
2500: 53 45 5f 53 4f 55 52 43 45 20 20 20 20 3d 20 31  SE_SOURCE    = 1
2510: 2c 0a 09 44 55 50 4c 49 43 41 54 45 5f 53 41 4d  ,..DUPLICATE_SAM
2520: 45 5f 41 43 43 45 53 53 20 20 20 20 20 3d 20 32  E_ACCESS     = 2
2530: 2c 0a 09 44 55 50 4c 49 43 41 54 45 5f 53 41 4d  ,..DUPLICATE_SAM
2540: 45 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20 34  E_ATTRIBUTES = 4
2550: 3b 0a 2f 2f 20 4d 69 6e 47 57 3a 20 65 6e 64 20  ;.// MinGW: end 
2560: 77 69 6e 64 64 6b 2e 6b 0a 0a 63 6f 6e 73 74 20  winddk.k..const 
2570: 44 57 4f 52 44 0a 09 4d 41 49 4c 53 4c 4f 54 5f  DWORD..MAILSLOT_
2580: 4e 4f 5f 4d 45 53 53 41 47 45 20 20 20 3d 20 2d  NO_MESSAGE   = -
2590: 31 2c 0a 09 4d 41 49 4c 53 4c 4f 54 5f 57 41 49  1,..MAILSLOT_WAI
25a0: 54 5f 46 4f 52 45 56 45 52 20 3d 20 2d 31 3b 0a  T_FOREVER = -1;.
25b0: 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41  .const ACCESS_MA
25c0: 53 4b 0a 09 50 52 4f 43 45 53 53 5f 54 45 52 4d  SK..PROCESS_TERM
25d0: 49 4e 41 54 45 20 20 20 20 20 20 20 20 20 3d 20  INATE         = 
25e0: 30 78 30 30 30 31 2c 0a 09 50 52 4f 43 45 53 53  0x0001,..PROCESS
25f0: 5f 43 52 45 41 54 45 5f 54 48 52 45 41 44 20 20  _CREATE_THREAD  
2600: 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 50 52     = 0x0002,..PR
2610: 4f 43 45 53 53 5f 53 45 54 5f 53 45 53 53 49 4f  OCESS_SET_SESSIO
2620: 4e 49 44 20 20 20 20 20 3d 20 30 78 30 30 30 34  NID     = 0x0004
2630: 2c 0a 09 50 52 4f 43 45 53 53 5f 56 4d 5f 4f 50  ,..PROCESS_VM_OP
2640: 45 52 41 54 49 4f 4e 20 20 20 20 20 20 3d 20 30  ERATION      = 0
2650: 78 30 30 30 38 2c 0a 09 50 52 4f 43 45 53 53 5f  x0008,..PROCESS_
2660: 56 4d 5f 52 45 41 44 20 20 20 20 20 20 20 20 20  VM_READ         
2670: 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 50 52 4f    = 0x0010,..PRO
2680: 43 45 53 53 5f 56 4d 5f 57 52 49 54 45 20 20 20  CESS_VM_WRITE   
2690: 20 20 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c         = 0x0020,
26a0: 0a 09 50 52 4f 43 45 53 53 5f 44 55 50 5f 48 41  ..PROCESS_DUP_HA
26b0: 4e 44 4c 45 20 20 20 20 20 20 20 20 3d 20 30 78  NDLE        = 0x
26c0: 30 30 34 30 2c 0a 09 50 52 4f 43 45 53 53 5f 43  0040,..PROCESS_C
26d0: 52 45 41 54 45 5f 50 52 4f 43 45 53 53 20 20 20  REATE_PROCESS   
26e0: 20 3d 20 30 78 30 30 38 30 2c 0a 09 50 52 4f 43   = 0x0080,..PROC
26f0: 45 53 53 5f 53 45 54 5f 51 55 4f 54 41 20 20 20  ESS_SET_QUOTA   
2700: 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 2c 0a        = 0x0100,.
2710: 09 50 52 4f 43 45 53 53 5f 53 45 54 5f 49 4e 46  .PROCESS_SET_INF
2720: 4f 52 4d 41 54 49 4f 4e 20 20 20 3d 20 30 78 30  ORMATION   = 0x0
2730: 32 30 30 2c 0a 09 50 52 4f 43 45 53 53 5f 51 55  200,..PROCESS_QU
2740: 45 52 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ERY_INFORMATION 
2750: 3d 20 30 78 30 34 30 30 2c 0a 09 50 52 4f 43 45  = 0x0400,..PROCE
2760: 53 53 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20 20  SS_ALL_ACCESS   
2770: 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44 5f       = STANDARD_
2780: 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 20  RIGHTS_REQUIRED 
2790: 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20  | SYNCHRONIZE | 
27a0: 30 78 30 46 46 46 3b 0a 0a 63 6f 6e 73 74 20 41  0x0FFF;..const A
27b0: 43 43 45 53 53 5f 4d 41 53 4b 0a 09 54 48 52 45  CCESS_MASK..THRE
27c0: 41 44 5f 54 45 52 4d 49 4e 41 54 45 20 20 20 20  AD_TERMINATE    
27d0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31          = 0x0001
27e0: 2c 0a 09 54 48 52 45 41 44 5f 53 55 53 50 45 4e  ,..THREAD_SUSPEN
27f0: 44 5f 52 45 53 55 4d 45 20 20 20 20 20 20 20 3d  D_RESUME       =
2800: 20 30 78 30 30 30 32 2c 0a 09 54 48 52 45 41 44   0x0002,..THREAD
2810: 5f 47 45 54 5f 43 4f 4e 54 45 58 54 20 20 20 20  _GET_CONTEXT    
2820: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a        = 0x0008,.
2830: 09 54 48 52 45 41 44 5f 53 45 54 5f 43 4f 4e 54  .THREAD_SET_CONT
2840: 45 58 54 20 20 20 20 20 20 20 20 20 20 3d 20 30  EXT          = 0
2850: 78 30 30 31 30 2c 0a 09 54 48 52 45 41 44 5f 53  x0010,..THREAD_S
2860: 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20  ET_INFORMATION  
2870: 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 54      = 0x0020,..T
2880: 48 52 45 41 44 5f 51 55 45 52 59 5f 49 4e 46 4f  HREAD_QUERY_INFO
2890: 52 4d 41 54 49 4f 4e 20 20 20 20 3d 20 30 78 30  RMATION    = 0x0
28a0: 30 34 30 2c 0a 09 54 48 52 45 41 44 5f 53 45 54  040,..THREAD_SET
28b0: 5f 54 48 52 45 41 44 5f 54 4f 4b 45 4e 20 20 20  _THREAD_TOKEN   
28c0: 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 54 48 52    = 0x0080,..THR
28d0: 45 41 44 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20  EAD_IMPERSONATE 
28e0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30           = 0x010
28f0: 30 2c 0a 09 54 48 52 45 41 44 5f 44 49 52 45 43  0,..THREAD_DIREC
2900: 54 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 20  T_IMPERSONATION 
2910: 3d 20 30 78 30 32 30 30 2c 0a 09 54 48 52 45 41  = 0x0200,..THREA
2920: 44 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20 20 20  D_ALL_ACCESS    
2930: 20 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52         = STANDAR
2940: 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45  D_RIGHTS_REQUIRE
2950: 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 30 78  D|SYNCHRONIZE|0x
2960: 33 46 46 3b 0a 0a 2f 2f 20 54 68 65 73 65 20 61  3FF;..// These a
2970: 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65 6e 74 65  re not documente
2980: 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e 73 74 20  d on MSDN.const 
2990: 54 48 52 45 41 44 5f 42 41 53 45 5f 50 52 49 4f  THREAD_BASE_PRIO
29a0: 52 49 54 59 5f 4c 4f 57 52 54 20 3d 20 20 31 35  RITY_LOWRT =  15
29b0: 3b 0a 63 6f 6e 73 74 20 54 48 52 45 41 44 5f 42  ;.const THREAD_B
29c0: 41 53 45 5f 50 52 49 4f 52 49 54 59 5f 4d 41 58  ASE_PRIORITY_MAX
29d0: 20 20 20 3d 20 20 20 32 3b 0a 63 6f 6e 73 74 20     =   2;.const 
29e0: 54 48 52 45 41 44 5f 42 41 53 45 5f 50 52 49 4f  THREAD_BASE_PRIO
29f0: 52 49 54 59 5f 4d 49 4e 20 20 20 3d 20 20 2d 32  RITY_MIN   =  -2
2a00: 3b 0a 63 6f 6e 73 74 20 54 48 52 45 41 44 5f 42  ;.const THREAD_B
2a10: 41 53 45 5f 50 52 49 4f 52 49 54 59 5f 49 44 4c  ASE_PRIORITY_IDL
2a20: 45 20 20 3d 20 2d 31 35 3b 0a 0a 63 6f 6e 73 74  E  = -15;..const
2a30: 20 44 57 4f 52 44 20 45 58 43 45 50 54 49 4f 4e   DWORD EXCEPTION
2a40: 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41 42 4c 45 20  _NONCONTINUABLE 
2a50: 20 20 20 20 20 3d 20 20 31 3b 0a 63 6f 6e 73 74       =  1;.const
2a60: 20 73 69 7a 65 5f 74 20 45 58 43 45 50 54 49 4f   size_t EXCEPTIO
2a70: 4e 5f 4d 41 58 49 4d 55 4d 5f 50 41 52 41 4d 45  N_MAXIMUM_PARAME
2a80: 54 45 52 53 20 3d 20 31 35 3b 0a 0a 2f 2f 20 54  TERS = 15;..// T
2a90: 68 65 73 65 20 61 72 65 20 6e 6f 74 20 64 6f 63  hese are not doc
2aa0: 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44 4e 0a  umented on MSDN.
2ab0: 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53  const ACCESS_MAS
2ac0: 4b 0a 09 4d 55 54 41 4e 54 5f 51 55 45 52 59 5f  K..MUTANT_QUERY_
2ad0: 53 54 41 54 45 20 3d 20 31 2c 0a 09 4d 55 54 41  STATE = 1,..MUTA
2ae0: 4e 54 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20  NT_ALL_ACCESS = 
2af0: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
2b00: 5f 52 45 51 55 49 52 45 44 20 7c 20 53 59 4e 43  _REQUIRED | SYNC
2b10: 48 52 4f 4e 49 5a 45 20 7c 20 4d 55 54 41 4e 54  HRONIZE | MUTANT
2b20: 5f 51 55 45 52 59 5f 53 54 41 54 45 3b 0a 0a 63  _QUERY_STATE;..c
2b30: 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53 4b  onst ACCESS_MASK
2b40: 0a 09 54 49 4d 45 52 5f 51 55 45 52 59 5f 53 54  ..TIMER_QUERY_ST
2b50: 41 54 45 20 20 3d 20 31 2c 0a 09 54 49 4d 45 52  ATE  = 1,..TIMER
2b60: 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 3d 20  _MODIFY_STATE = 
2b70: 32 2c 0a 09 54 49 4d 45 52 5f 41 4c 4c 5f 41 43  2,..TIMER_ALL_AC
2b80: 43 45 53 53 20 20 20 3d 20 53 54 41 4e 44 41 52  CESS   = STANDAR
2b90: 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45  D_RIGHTS_REQUIRE
2ba0: 44 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20  D | SYNCHRONIZE 
2bb0: 7c 20 54 49 4d 45 52 5f 51 55 45 52 59 5f 53 54  | TIMER_QUERY_ST
2bc0: 41 54 45 0a 09 20 20 20 20 20 20 20 20 20 20 20  ATE..           
2bd0: 20 20 20 20 20 20 20 20 20 20 7c 20 54 49 4d 45            | TIME
2be0: 52 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 3b 0a  R_MODIFY_STATE;.
2bf0: 0a 63 6f 6e 73 74 20 53 49 44 5f 49 44 45 4e 54  .const SID_IDENT
2c00: 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59 0a  IFIER_AUTHORITY.
2c10: 09 53 45 43 55 52 49 54 59 5f 4e 55 4c 4c 5f 53  .SECURITY_NULL_S
2c20: 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20 20  ID_AUTHORITY    
2c30: 20 20 20 20 3d 20 7b 5b 35 3a 20 30 5d 7d 2c 0a      = {[5: 0]},.
2c40: 09 53 45 43 55 52 49 54 59 5f 57 4f 52 4c 44 5f  .SECURITY_WORLD_
2c50: 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20  SID_AUTHORITY   
2c60: 20 20 20 20 3d 20 7b 5b 35 3a 20 31 5d 7d 2c 0a      = {[5: 1]},.
2c70: 09 53 45 43 55 52 49 54 59 5f 4c 4f 43 41 4c 5f  .SECURITY_LOCAL_
2c80: 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20  SID_AUTHORITY   
2c90: 20 20 20 20 3d 20 7b 5b 35 3a 20 32 5d 7d 2c 0a      = {[5: 2]},.
2ca0: 09 53 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f  .SECURITY_CREATO
2cb0: 52 5f 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20  R_SID_AUTHORITY 
2cc0: 20 20 20 20 3d 20 7b 5b 35 3a 20 33 5d 7d 2c 0a      = {[5: 3]},.
2cd0: 09 53 45 43 55 52 49 54 59 5f 4e 4f 4e 5f 55 4e  .SECURITY_NON_UN
2ce0: 49 51 55 45 5f 41 55 54 48 4f 52 49 54 59 20 20  IQUE_AUTHORITY  
2cf0: 20 20 20 20 3d 20 7b 5b 35 3a 20 34 5d 7d 2c 0a      = {[5: 4]},.
2d00: 09 53 45 43 55 52 49 54 59 5f 4e 54 5f 41 55 54  .SECURITY_NT_AUT
2d10: 48 4f 52 49 54 59 20 20 20 20 20 20 20 20 20 20  HORITY          
2d20: 20 20 20 20 3d 20 7b 5b 35 3a 20 35 5d 7d 2c 0a      = {[5: 5]},.
2d30: 09 53 45 43 55 52 49 54 59 5f 4d 41 4e 44 41 54  .SECURITY_MANDAT
2d40: 4f 52 59 5f 4c 41 42 45 4c 5f 41 55 54 48 4f 52  ORY_LABEL_AUTHOR
2d50: 49 54 59 20 3d 20 7b 5b 35 3a 20 36 5d 7d 3b 0a  ITY = {[5: 6]};.
2d60: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53 45  .const DWORD..SE
2d70: 43 55 52 49 54 59 5f 4e 55 4c 4c 5f 52 49 44 20  CURITY_NULL_RID 
2d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d90: 20 20 3d 20 20 30 2c 0a 09 53 45 43 55 52 49 54    =  0,..SECURIT
2da0: 59 5f 57 4f 52 4c 44 5f 52 49 44 20 20 20 20 20  Y_WORLD_RID     
2db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
2dc0: 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 4c 4f 43  0,..SECURITY_LOC
2dd0: 41 4c 5f 52 49 44 20 20 20 20 20 20 20 20 20 20  AL_RID          
2de0: 20 20 20 20 20 20 20 20 3d 20 20 30 2c 0a 09 53          =  0,..S
2df0: 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52 5f  ECURITY_CREATOR_
2e00: 4f 57 4e 45 52 5f 52 49 44 20 20 20 20 20 20 20  OWNER_RID       
2e10: 20 20 20 3d 20 20 30 2c 0a 09 53 45 43 55 52 49     =  0,..SECURI
2e20: 54 59 5f 43 52 45 41 54 4f 52 5f 47 52 4f 55 50  TY_CREATOR_GROUP
2e30: 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 3d 20  _RID          = 
2e40: 20 31 2c 0a 09 53 45 43 55 52 49 54 59 5f 44 49   1,..SECURITY_DI
2e50: 41 4c 55 50 5f 52 49 44 20 20 20 20 20 20 20 20  ALUP_RID        
2e60: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09           =  1,..
2e70: 53 45 43 55 52 49 54 59 5f 4e 45 54 57 4f 52 4b  SECURITY_NETWORK
2e80: 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 20 20  _RID            
2e90: 20 20 20 20 3d 20 20 32 2c 0a 09 53 45 43 55 52      =  2,..SECUR
2ea0: 49 54 59 5f 42 41 54 43 48 5f 52 49 44 20 20 20  ITY_BATCH_RID   
2eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
2ec0: 20 20 33 2c 0a 09 53 45 43 55 52 49 54 59 5f 49    3,..SECURITY_I
2ed0: 4e 54 45 52 41 43 54 49 56 45 5f 52 49 44 20 20  NTERACTIVE_RID  
2ee0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 34 2c 0a            =  4,.
2ef0: 09 53 45 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f  .SECURITY_LOGON_
2f00: 49 44 53 5f 52 49 44 20 20 20 20 20 20 20 20 20  IDS_RID         
2f10: 20 20 20 20 20 3d 20 20 35 2c 0a 09 53 45 43 55       =  5,..SECU
2f20: 52 49 54 59 5f 53 45 52 56 49 43 45 5f 52 49 44  RITY_SERVICE_RID
2f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f40: 3d 20 20 36 2c 0a 09 53 45 43 55 52 49 54 59 5f  =  6,..SECURITY_
2f50: 4c 4f 43 41 4c 5f 53 59 53 54 45 4d 5f 52 49 44  LOCAL_SYSTEM_RID
2f60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 38 2c             = 18,
2f70: 0a 09 53 45 43 55 52 49 54 59 5f 42 55 49 4c 54  ..SECURITY_BUILT
2f80: 49 4e 5f 44 4f 4d 41 49 4e 5f 52 49 44 20 20 20  IN_DOMAIN_RID   
2f90: 20 20 20 20 20 20 3d 20 33 32 2c 0a 09 53 45 43        = 32,..SEC
2fa0: 55 52 49 54 59 5f 50 52 49 4e 43 49 50 41 4c 5f  URITY_PRINCIPAL_
2fb0: 53 45 4c 46 5f 52 49 44 20 20 20 20 20 20 20 20  SELF_RID        
2fc0: 20 3d 20 31 30 2c 0a 09 53 45 43 55 52 49 54 59   = 10,..SECURITY
2fd0: 5f 43 52 45 41 54 4f 52 5f 4f 57 4e 45 52 5f 53  _CREATOR_OWNER_S
2fe0: 45 52 56 45 52 5f 52 49 44 20 20 20 3d 20 20 32  ERVER_RID   =  2
2ff0: 2c 0a 09 53 45 43 55 52 49 54 59 5f 43 52 45 41  ,..SECURITY_CREA
3000: 54 4f 52 5f 47 52 4f 55 50 5f 53 45 52 56 45 52  TOR_GROUP_SERVER
3010: 5f 52 49 44 20 20 20 3d 20 20 33 2c 0a 09 53 45  _RID   =  3,..SE
3020: 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f 49 44 53  CURITY_LOGON_IDS
3030: 5f 52 49 44 5f 43 4f 55 4e 54 20 20 20 20 20 20  _RID_COUNT      
3040: 20 20 3d 20 20 33 2c 0a 09 53 45 43 55 52 49 54    =  3,..SECURIT
3050: 59 5f 41 4e 4f 4e 59 4d 4f 55 53 5f 4c 4f 47 4f  Y_ANONYMOUS_LOGO
3060: 4e 5f 52 49 44 20 20 20 20 20 20 20 20 3d 20 20  N_RID        =  
3070: 37 2c 0a 09 53 45 43 55 52 49 54 59 5f 50 52 4f  7,..SECURITY_PRO
3080: 58 59 5f 52 49 44 20 20 20 20 20 20 20 20 20 20  XY_RID          
3090: 20 20 20 20 20 20 20 20 3d 20 20 38 2c 0a 09 53          =  8,..S
30a0: 45 43 55 52 49 54 59 5f 45 4e 54 45 52 50 52 49  ECURITY_ENTERPRI
30b0: 53 45 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f 52  SE_CONTROLLERS_R
30c0: 49 44 20 3d 20 20 39 2c 0a 09 53 45 43 55 52 49  ID =  9,..SECURI
30d0: 54 59 5f 53 45 52 56 45 52 5f 4c 4f 47 4f 4e 5f  TY_SERVER_LOGON_
30e0: 52 49 44 20 20 20 20 20 20 20 20 20 20 20 3d 20  RID           = 
30f0: 53 45 43 55 52 49 54 59 5f 45 4e 54 45 52 50 52  SECURITY_ENTERPR
3100: 49 53 45 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f  ISE_CONTROLLERS_
3110: 52 49 44 2c 0a 09 53 45 43 55 52 49 54 59 5f 41  RID,..SECURITY_A
3120: 55 54 48 45 4e 54 49 43 41 54 45 44 5f 55 53 45  UTHENTICATED_USE
3130: 52 5f 52 49 44 20 20 20 20 20 3d 20 31 31 2c 0a  R_RID     = 11,.
3140: 09 53 45 43 55 52 49 54 59 5f 52 45 53 54 52 49  .SECURITY_RESTRI
3150: 43 54 45 44 5f 43 4f 44 45 5f 52 49 44 20 20 20  CTED_CODE_RID   
3160: 20 20 20 20 20 3d 20 31 32 2c 0a 09 53 45 43 55       = 12,..SECU
3170: 52 49 54 59 5f 4e 54 5f 4e 4f 4e 5f 55 4e 49 51  RITY_NT_NON_UNIQ
3180: 55 45 5f 52 49 44 20 20 20 20 20 20 20 20 20 20  UE_RID          
3190: 3d 20 32 31 2c 0a 09 53 49 44 5f 52 45 56 49 53  = 21,..SID_REVIS
31a0: 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  ION             
31b0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 3b             =  1;
31c0: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
31d0: 0a 09 44 4f 4d 41 49 4e 5f 55 53 45 52 5f 52 49  ..DOMAIN_USER_RI
31e0: 44 5f 41 44 4d 49 4e 20 20 20 20 20 20 20 20 3d  D_ADMIN        =
31f0: 20 30 78 30 31 46 34 2c 0a 09 44 4f 4d 41 49 4e   0x01F4,..DOMAIN
3200: 5f 55 53 45 52 5f 52 49 44 5f 47 55 45 53 54 20  _USER_RID_GUEST 
3210: 20 20 20 20 20 20 20 3d 20 30 78 30 31 46 35 2c         = 0x01F5,
3220: 0a 09 44 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52  ..DOMAIN_GROUP_R
3230: 49 44 5f 41 44 4d 49 4e 53 20 20 20 20 20 20 3d  ID_ADMINS      =
3240: 20 30 78 30 32 30 30 2c 0a 09 44 4f 4d 41 49 4e   0x0200,..DOMAIN
3250: 5f 47 52 4f 55 50 5f 52 49 44 5f 55 53 45 52 53  _GROUP_RID_USERS
3260: 20 20 20 20 20 20 20 3d 20 30 78 30 32 30 31 2c         = 0x0201,
3270: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  ..DOMAIN_ALIAS_R
3280: 49 44 5f 41 44 4d 49 4e 53 20 20 20 20 20 20 3d  ID_ADMINS      =
3290: 20 30 78 30 32 32 30 2c 0a 09 44 4f 4d 41 49 4e   0x0220,..DOMAIN
32a0: 5f 41 4c 49 41 53 5f 52 49 44 5f 55 53 45 52 53  _ALIAS_RID_USERS
32b0: 20 20 20 20 20 20 20 3d 20 30 78 30 32 32 31 2c         = 0x0221,
32c0: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  ..DOMAIN_ALIAS_R
32d0: 49 44 5f 47 55 45 53 54 53 20 20 20 20 20 20 3d  ID_GUESTS      =
32e0: 20 30 78 30 32 32 32 2c 0a 09 44 4f 4d 41 49 4e   0x0222,..DOMAIN
32f0: 5f 41 4c 49 41 53 5f 52 49 44 5f 50 4f 57 45 52  _ALIAS_RID_POWER
3300: 5f 55 53 45 52 53 20 3d 20 30 78 30 32 32 33 2c  _USERS = 0x0223,
3310: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  ..DOMAIN_ALIAS_R
3320: 49 44 5f 41 43 43 4f 55 4e 54 5f 4f 50 53 20 3d  ID_ACCOUNT_OPS =
3330: 20 30 78 30 32 32 34 2c 0a 09 44 4f 4d 41 49 4e   0x0224,..DOMAIN
3340: 5f 41 4c 49 41 53 5f 52 49 44 5f 53 59 53 54 45  _ALIAS_RID_SYSTE
3350: 4d 5f 4f 50 53 20 20 3d 20 30 78 30 32 32 35 2c  M_OPS  = 0x0225,
3360: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  ..DOMAIN_ALIAS_R
3370: 49 44 5f 50 52 49 4e 54 5f 4f 50 53 20 20 20 3d  ID_PRINT_OPS   =
3380: 20 30 78 30 32 32 36 2c 0a 09 44 4f 4d 41 49 4e   0x0226,..DOMAIN
3390: 5f 41 4c 49 41 53 5f 52 49 44 5f 42 41 43 4b 55  _ALIAS_RID_BACKU
33a0: 50 5f 4f 50 53 20 20 3d 20 30 78 30 32 32 37 2c  P_OPS  = 0x0227,
33b0: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  ..DOMAIN_ALIAS_R
33c0: 49 44 5f 52 45 50 4c 49 43 41 54 4f 52 20 20 3d  ID_REPLICATOR  =
33d0: 20 30 78 30 32 32 38 0a 7d 0a 0a 65 6e 75 6d 20   0x0228.}..enum 
33e0: 3a 20 57 4f 52 44 20 7b 0a 09 53 45 43 55 52 49  : WORD {..SECURI
33f0: 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 55 4e 54  TY_MANDATORY_UNT
3400: 52 55 53 54 45 44 5f 52 49 44 20 20 20 20 20 20  RUSTED_RID      
3410: 20 20 20 3d 20 30 2c 0a 09 53 45 43 55 52 49 54     = 0,..SECURIT
3420: 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 4c 4f 57 5f  Y_MANDATORY_LOW_
3430: 52 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20  RID             
3440: 20 20 3d 20 30 78 31 30 30 30 2c 0a 09 53 45 43    = 0x1000,..SEC
3450: 55 52 49 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f  URITY_MANDATORY_
3460: 4d 45 44 49 55 4d 5f 52 49 44 20 20 20 20 20 20  MEDIUM_RID      
3470: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a        = 0x2000,.
3480: 09 53 45 43 55 52 49 54 59 5f 4d 41 4e 44 41 54  .SECURITY_MANDAT
3490: 4f 52 59 5f 48 49 47 48 5f 52 49 44 20 20 20 20  ORY_HIGH_RID    
34a0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 33 30            = 0x30
34b0: 30 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 4d 41  00,..SECURITY_MA
34c0: 4e 44 41 54 4f 52 59 5f 53 59 53 54 45 4d 5f 52  NDATORY_SYSTEM_R
34d0: 49 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  ID            = 
34e0: 30 78 34 30 30 30 2c 0a 09 53 45 43 55 52 49 54  0x4000,..SECURIT
34f0: 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 50 52 4f 54  Y_MANDATORY_PROT
3500: 45 43 54 45 44 5f 50 52 4f 43 45 53 53 5f 52 49  ECTED_PROCESS_RI
3510: 44 20 3d 20 30 78 35 30 30 30 2c 0a 09 53 45 43  D = 0x5000,..SEC
3520: 55 52 49 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f  URITY_MANDATORY_
3530: 4d 41 58 49 4d 55 4d 5f 55 53 45 52 5f 52 49 44  MAXIMUM_USER_RID
3540: 20 20 20 20 20 20 3d 20 53 45 43 55 52 49 54 59        = SECURITY
3550: 5f 4d 41 4e 44 41 54 4f 52 59 5f 53 59 53 54 45  _MANDATORY_SYSTE
3560: 4d 5f 52 49 44 0a 7d 0a 0a 63 6f 6e 73 74 20 54  M_RID.}..const T
3570: 43 48 41 52 5b 5d 0a 09 53 45 5f 43 52 45 41 54  CHAR[]..SE_CREAT
3580: 45 5f 54 4f 4b 45 4e 5f 4e 41 4d 45 20 20 20 20  E_TOKEN_NAME    
3590: 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65 61         = "SeCrea
35a0: 74 65 54 6f 6b 65 6e 50 72 69 76 69 6c 65 67 65  teTokenPrivilege
35b0: 22 2c 0a 09 53 45 5f 41 53 53 49 47 4e 50 52 49  ",..SE_ASSIGNPRI
35c0: 4d 41 52 59 54 4f 4b 45 4e 5f 4e 41 4d 45 20 20  MARYTOKEN_NAME  
35d0: 20 20 20 3d 20 22 53 65 41 73 73 69 67 6e 50 72     = "SeAssignPr
35e0: 69 6d 61 72 79 54 6f 6b 65 6e 50 72 69 76 69 6c  imaryTokenPrivil
35f0: 65 67 65 22 2c 0a 09 53 45 5f 4c 4f 43 4b 5f 4d  ege",..SE_LOCK_M
3600: 45 4d 4f 52 59 5f 4e 41 4d 45 20 20 20 20 20 20  EMORY_NAME      
3610: 20 20 20 20 20 20 3d 20 22 53 65 4c 6f 63 6b 4d        = "SeLockM
3620: 65 6d 6f 72 79 50 72 69 76 69 6c 65 67 65 22 2c  emoryPrivilege",
3630: 0a 09 53 45 5f 49 4e 43 52 45 41 53 45 5f 51 55  ..SE_INCREASE_QU
3640: 4f 54 41 5f 4e 41 4d 45 20 20 20 20 20 20 20 20  OTA_NAME        
3650: 20 3d 20 22 53 65 49 6e 63 72 65 61 73 65 51 75   = "SeIncreaseQu
3660: 6f 74 61 50 72 69 76 69 6c 65 67 65 22 2c 0a 09  otaPrivilege",..
3670: 53 45 5f 55 4e 53 4f 4c 49 43 49 54 45 44 5f 49  SE_UNSOLICITED_I
3680: 4e 50 55 54 5f 4e 41 4d 45 20 20 20 20 20 20 3d  NPUT_NAME      =
3690: 20 22 53 65 55 6e 73 6f 6c 69 63 69 74 65 64 49   "SeUnsolicitedI
36a0: 6e 70 75 74 50 72 69 76 69 6c 65 67 65 22 2c 0a  nputPrivilege",.
36b0: 09 53 45 5f 4d 41 43 48 49 4e 45 5f 41 43 43 4f  .SE_MACHINE_ACCO
36c0: 55 4e 54 5f 4e 41 4d 45 20 20 20 20 20 20 20 20  UNT_NAME        
36d0: 3d 20 22 53 65 4d 61 63 68 69 6e 65 41 63 63 6f  = "SeMachineAcco
36e0: 75 6e 74 50 72 69 76 69 6c 65 67 65 22 2c 0a 09  untPrivilege",..
36f0: 53 45 5f 54 43 42 5f 4e 41 4d 45 20 20 20 20 20  SE_TCB_NAME     
3700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
3710: 20 22 53 65 54 63 62 50 72 69 76 69 6c 65 67 65   "SeTcbPrivilege
3720: 22 2c 0a 09 53 45 5f 53 45 43 55 52 49 54 59 5f  ",..SE_SECURITY_
3730: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20  NAME            
3740: 20 20 20 3d 20 22 53 65 53 65 63 75 72 69 74 79     = "SeSecurity
3750: 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f  Privilege",..SE_
3760: 54 41 4b 45 5f 4f 57 4e 45 52 53 48 49 50 5f 4e  TAKE_OWNERSHIP_N
3770: 41 4d 45 20 20 20 20 20 20 20 20 20 3d 20 22 53  AME         = "S
3780: 65 54 61 6b 65 4f 77 6e 65 72 73 68 69 70 50 72  eTakeOwnershipPr
3790: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 4c 4f  ivilege",..SE_LO
37a0: 41 44 5f 44 52 49 56 45 52 5f 4e 41 4d 45 20 20  AD_DRIVER_NAME  
37b0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 4c            = "SeL
37c0: 6f 61 64 44 72 69 76 65 72 50 72 69 76 69 6c 65  oadDriverPrivile
37d0: 67 65 22 2c 0a 09 53 45 5f 53 59 53 54 45 4d 5f  ge",..SE_SYSTEM_
37e0: 50 52 4f 46 49 4c 45 5f 4e 41 4d 45 20 20 20 20  PROFILE_NAME    
37f0: 20 20 20 20 20 3d 20 22 53 65 53 79 73 74 65 6d       = "SeSystem
3800: 50 72 6f 66 69 6c 65 50 72 69 76 69 6c 65 67 65  ProfilePrivilege
3810: 22 2c 0a 09 53 45 5f 53 59 53 54 45 4d 54 49 4d  ",..SE_SYSTEMTIM
3820: 45 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20  E_NAME          
3830: 20 20 20 3d 20 22 53 65 53 79 73 74 65 6d 74 69     = "SeSystemti
3840: 6d 65 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53  mePrivilege",..S
3850: 45 5f 50 52 4f 46 5f 53 49 4e 47 4c 45 5f 50 52  E_PROF_SINGLE_PR
3860: 4f 43 45 53 53 5f 4e 41 4d 45 20 20 20 20 3d 20  OCESS_NAME    = 
3870: 22 53 65 50 72 6f 66 69 6c 65 53 69 6e 67 6c 65  "SeProfileSingle
3880: 50 72 6f 63 65 73 73 50 72 69 76 69 6c 65 67 65  ProcessPrivilege
3890: 22 2c 0a 09 53 45 5f 49 4e 43 5f 42 41 53 45 5f  ",..SE_INC_BASE_
38a0: 50 52 49 4f 52 49 54 59 5f 4e 41 4d 45 20 20 20  PRIORITY_NAME   
38b0: 20 20 20 3d 20 22 53 65 49 6e 63 72 65 61 73 65     = "SeIncrease
38c0: 42 61 73 65 50 72 69 6f 72 69 74 79 50 72 69 76  BasePriorityPriv
38d0: 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45 41  ilege",..SE_CREA
38e0: 54 45 5f 50 41 47 45 46 49 4c 45 5f 4e 41 4d 45  TE_PAGEFILE_NAME
38f0: 20 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65          = "SeCre
3900: 61 74 65 50 61 67 65 66 69 6c 65 50 72 69 76 69  atePagefilePrivi
3910: 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45 41 54  lege",..SE_CREAT
3920: 45 5f 50 45 52 4d 41 4e 45 4e 54 5f 4e 41 4d 45  E_PERMANENT_NAME
3930: 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65 61         = "SeCrea
3940: 74 65 50 65 72 6d 61 6e 65 6e 74 50 72 69 76 69  tePermanentPrivi
3950: 6c 65 67 65 22 2c 0a 09 53 45 5f 42 41 43 4b 55  lege",..SE_BACKU
3960: 50 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20  P_NAME          
3970: 20 20 20 20 20 20 20 3d 20 22 53 65 42 61 63 6b         = "SeBack
3980: 75 70 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53  upPrivilege",..S
3990: 45 5f 52 45 53 54 4f 52 45 5f 4e 41 4d 45 20 20  E_RESTORE_NAME  
39a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
39b0: 22 53 65 52 65 73 74 6f 72 65 50 72 69 76 69 6c  "SeRestorePrivil
39c0: 65 67 65 22 2c 0a 09 53 45 5f 53 48 55 54 44 4f  ege",..SE_SHUTDO
39d0: 57 4e 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20  WN_NAME         
39e0: 20 20 20 20 20 20 3d 20 22 53 65 53 68 75 74 64        = "SeShutd
39f0: 6f 77 6e 50 72 69 76 69 6c 65 67 65 22 2c 0a 09  ownPrivilege",..
3a00: 53 45 5f 44 45 42 55 47 5f 4e 41 4d 45 20 20 20  SE_DEBUG_NAME   
3a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
3a20: 20 22 53 65 44 65 62 75 67 50 72 69 76 69 6c 65   "SeDebugPrivile
3a30: 67 65 22 2c 0a 09 53 45 5f 41 55 44 49 54 5f 4e  ge",..SE_AUDIT_N
3a40: 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20  AME             
3a50: 20 20 20 20 20 3d 20 22 53 65 41 75 64 69 74 50       = "SeAuditP
3a60: 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 53  rivilege",..SE_S
3a70: 59 53 54 45 4d 5f 45 4e 56 49 52 4f 4e 4d 45 4e  YSTEM_ENVIRONMEN
3a80: 54 5f 4e 41 4d 45 20 20 20 20 20 3d 20 22 53 65  T_NAME     = "Se
3a90: 53 79 73 74 65 6d 45 6e 76 69 72 6f 6e 6d 65 6e  SystemEnvironmen
3aa0: 74 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45  tPrivilege",..SE
3ab0: 5f 43 48 41 4e 47 45 5f 4e 4f 54 49 46 59 5f 4e  _CHANGE_NOTIFY_N
3ac0: 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20 22  AME          = "
3ad0: 53 65 43 68 61 6e 67 65 4e 6f 74 69 66 79 50 72  SeChangeNotifyPr
3ae0: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 52 45  ivilege",..SE_RE
3af0: 4d 4f 54 45 5f 53 48 55 54 44 4f 57 4e 5f 4e 41  MOTE_SHUTDOWN_NA
3b00: 4d 45 20 20 20 20 20 20 20 20 3d 20 22 53 65 52  ME        = "SeR
3b10: 65 6d 6f 74 65 53 68 75 74 64 6f 77 6e 50 72 69  emoteShutdownPri
3b20: 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45  vilege",..SE_CRE
3b30: 41 54 45 5f 47 4c 4f 42 41 4c 5f 4e 41 4d 45 20  ATE_GLOBAL_NAME 
3b40: 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 43 72           = "SeCr
3b50: 65 61 74 65 47 6c 6f 62 61 6c 50 72 69 76 69 6c  eateGlobalPrivil
3b60: 65 67 65 22 2c 0a 09 53 45 5f 55 4e 44 4f 43 4b  ege",..SE_UNDOCK
3b70: 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 20  _NAME           
3b80: 20 20 20 20 20 20 3d 20 22 53 65 55 6e 64 6f 63        = "SeUndoc
3b90: 6b 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45  kPrivilege",..SE
3ba0: 5f 4d 41 4e 41 47 45 5f 56 4f 4c 55 4d 45 5f 4e  _MANAGE_VOLUME_N
3bb0: 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20 22  AME          = "
3bc0: 53 65 4d 61 6e 61 67 65 56 6f 6c 75 6d 65 50 72  SeManageVolumePr
3bd0: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 49 4d  ivilege",..SE_IM
3be0: 50 45 52 53 4f 4e 41 54 45 5f 4e 41 4d 45 20 20  PERSONATE_NAME  
3bf0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 49            = "SeI
3c00: 6d 70 65 72 73 6f 6e 61 74 65 50 72 69 76 69 6c  mpersonatePrivil
3c10: 65 67 65 22 2c 0a 09 53 45 5f 45 4e 41 42 4c 45  ege",..SE_ENABLE
3c20: 5f 44 45 4c 45 47 41 54 49 4f 4e 5f 4e 41 4d 45  _DELEGATION_NAME
3c30: 20 20 20 20 20 20 3d 20 22 53 65 45 6e 61 62 6c        = "SeEnabl
3c40: 65 44 65 6c 65 67 61 74 69 6f 6e 50 72 69 76 69  eDelegationPrivi
3c50: 6c 65 67 65 22 2c 0a 09 53 45 5f 53 59 4e 43 5f  lege",..SE_SYNC_
3c60: 41 47 45 4e 54 5f 4e 41 4d 45 20 20 20 20 20 20  AGENT_NAME      
3c70: 20 20 20 20 20 20 20 3d 20 22 53 65 53 79 6e 63         = "SeSync
3c80: 41 67 65 6e 74 50 72 69 76 69 6c 65 67 65 22 2c  AgentPrivilege",
3c90: 0a 09 53 45 5f 54 52 55 53 54 45 44 5f 43 52 45  ..SE_TRUSTED_CRE
3ca0: 44 4d 41 4e 5f 41 43 43 45 53 53 5f 4e 41 4d 45  DMAN_ACCESS_NAME
3cb0: 20 3d 20 22 53 65 54 72 75 73 74 65 64 43 72 65   = "SeTrustedCre
3cc0: 64 4d 61 6e 41 63 63 65 73 73 50 72 69 76 69 6c  dManAccessPrivil
3cd0: 65 67 65 22 2c 0a 09 53 45 5f 52 45 4c 41 42 45  ege",..SE_RELABE
3ce0: 4c 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20  L_NAME          
3cf0: 20 20 20 20 20 20 3d 20 22 53 65 52 65 6c 61 62        = "SeRelab
3d00: 65 6c 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53  elPrivilege",..S
3d10: 45 5f 49 4e 43 52 45 41 53 45 5f 57 4f 52 4b 49  E_INCREASE_WORKI
3d20: 4e 47 5f 53 45 54 5f 4e 41 4d 45 20 20 20 3d 20  NG_SET_NAME   = 
3d30: 22 53 65 49 6e 63 72 65 61 73 65 57 6f 72 6b 69  "SeIncreaseWorki
3d40: 6e 67 53 65 74 50 72 69 76 69 6c 65 67 65 22 2c  ngSetPrivilege",
3d50: 0a 09 53 45 5f 54 49 4d 45 5f 5a 4f 4e 45 5f 4e  ..SE_TIME_ZONE_N
3d60: 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20  AME             
3d70: 20 3d 20 22 53 65 54 69 6d 65 5a 6f 6e 65 50 72   = "SeTimeZonePr
3d80: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52  ivilege",..SE_CR
3d90: 45 41 54 45 5f 53 59 4d 42 4f 4c 49 43 5f 4c 49  EATE_SYMBOLIC_LI
3da0: 4e 4b 5f 4e 41 4d 45 20 20 20 3d 20 22 53 65 43  NK_NAME   = "SeC
3db0: 72 65 61 74 65 53 79 6d 62 6f 6c 69 63 4c 69 6e  reateSymbolicLin
3dc0: 6b 50 72 69 76 69 6c 65 67 65 22 3b 0a 0a 63 6f  kPrivilege";..co
3dd0: 6e 73 74 20 44 57 4f 52 44 0a 09 53 45 5f 47 52  nst DWORD..SE_GR
3de0: 4f 55 50 5f 4d 41 4e 44 41 54 4f 52 59 20 20 20  OUP_MANDATORY   
3df0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
3e00: 30 30 31 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 45  001,..SE_GROUP_E
3e10: 4e 41 42 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c  NABLED_BY_DEFAUL
3e20: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a  T = 0x00000002,.
3e30: 09 53 45 5f 47 52 4f 55 50 5f 45 4e 41 42 4c 45  .SE_GROUP_ENABLE
3e40: 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  D            = 0
3e50: 78 30 30 30 30 30 30 30 34 2c 0a 09 53 45 5f 47  x00000004,..SE_G
3e60: 52 4f 55 50 5f 4f 57 4e 45 52 20 20 20 20 20 20  ROUP_OWNER      
3e70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
3e80: 30 30 30 38 2c 0a 09 53 45 5f 47 52 4f 55 50 5f  0008,..SE_GROUP_
3e90: 55 53 45 5f 46 4f 52 5f 44 45 4e 59 5f 4f 4e 4c  USE_FOR_DENY_ONL
3ea0: 59 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c  Y  = 0x00000010,
3eb0: 0a 09 53 45 5f 47 52 4f 55 50 5f 49 4e 54 45 47  ..SE_GROUP_INTEG
3ec0: 52 49 54 59 20 20 20 20 20 20 20 20 20 20 3d 20  RITY          = 
3ed0: 30 78 30 30 30 30 30 30 32 30 2c 0a 09 53 45 5f  0x00000020,..SE_
3ee0: 47 52 4f 55 50 5f 49 4e 54 45 47 52 49 54 59 5f  GROUP_INTEGRITY_
3ef0: 45 4e 41 42 4c 45 44 20 20 3d 20 30 78 30 30 30  ENABLED  = 0x000
3f00: 30 30 30 34 30 2c 0a 09 53 45 5f 47 52 4f 55 50  00040,..SE_GROUP
3f10: 5f 52 45 53 4f 55 52 43 45 20 20 20 20 20 20 20  _RESOURCE       
3f20: 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30      = 0x20000000
3f30: 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 4c 4f 47 4f  ,..SE_GROUP_LOGO
3f40: 4e 5f 49 44 20 20 20 20 20 20 20 20 20 20 20 3d  N_ID           =
3f50: 20 30 78 43 30 30 30 30 30 30 30 3b 0a 0a 2f 2f   0xC0000000;..//
3f60: 20 50 72 69 6d 61 72 79 20 6c 61 6e 67 75 61 67   Primary languag
3f70: 65 20 69 64 65 6e 74 69 66 69 65 72 73 0a 65 6e  e identifiers.en
3f80: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 4c  um : USHORT {..L
3f90: 41 4e 47 5f 4e 45 55 54 52 41 4c 2c 0a 09 4c 41  ANG_NEUTRAL,..LA
3fa0: 4e 47 5f 41 52 41 42 49 43 2c 0a 09 4c 41 4e 47  NG_ARABIC,..LANG
3fb0: 5f 42 55 4c 47 41 52 49 41 4e 2c 0a 09 4c 41 4e  _BULGARIAN,..LAN
3fc0: 47 5f 43 41 54 41 4c 41 4e 2c 0a 09 4c 41 4e 47  G_CATALAN,..LANG
3fd0: 5f 43 48 49 4e 45 53 45 2c 0a 09 4c 41 4e 47 5f  _CHINESE,..LANG_
3fe0: 43 5a 45 43 48 2c 0a 09 4c 41 4e 47 5f 44 41 4e  CZECH,..LANG_DAN
3ff0: 49 53 48 2c 0a 09 4c 41 4e 47 5f 47 45 52 4d 41  ISH,..LANG_GERMA
4000: 4e 2c 0a 09 4c 41 4e 47 5f 47 52 45 45 4b 2c 0a  N,..LANG_GREEK,.
4010: 09 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 2c 0a 09  .LANG_ENGLISH,..
4020: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 2c 0a 09 4c  LANG_SPANISH,..L
4030: 41 4e 47 5f 46 49 4e 4e 49 53 48 2c 0a 09 4c 41  ANG_FINNISH,..LA
4040: 4e 47 5f 46 52 45 4e 43 48 2c 0a 09 4c 41 4e 47  NG_FRENCH,..LANG
4050: 5f 48 45 42 52 45 57 2c 0a 09 4c 41 4e 47 5f 48  _HEBREW,..LANG_H
4060: 55 4e 47 41 52 49 41 4e 2c 0a 09 4c 41 4e 47 5f  UNGARIAN,..LANG_
4070: 49 43 45 4c 41 4e 44 49 43 2c 0a 09 4c 41 4e 47  ICELANDIC,..LANG
4080: 5f 49 54 41 4c 49 41 4e 2c 0a 09 4c 41 4e 47 5f  _ITALIAN,..LANG_
4090: 4a 41 50 41 4e 45 53 45 2c 0a 09 4c 41 4e 47 5f  JAPANESE,..LANG_
40a0: 4b 4f 52 45 41 4e 2c 0a 09 4c 41 4e 47 5f 44 55  KOREAN,..LANG_DU
40b0: 54 43 48 2c 0a 09 4c 41 4e 47 5f 4e 4f 52 57 45  TCH,..LANG_NORWE
40c0: 47 49 41 4e 2c 0a 09 4c 41 4e 47 5f 50 4f 4c 49  GIAN,..LANG_POLI
40d0: 53 48 2c 0a 09 4c 41 4e 47 5f 50 4f 52 54 55 47  SH,..LANG_PORTUG
40e0: 55 45 53 45 2c 20 20 20 20 2f 2f 20 3d 20 30 78  UESE,    // = 0x
40f0: 31 36 0a 09 4c 41 4e 47 5f 52 4f 4d 41 4e 49 41  16..LANG_ROMANIA
4100: 4e 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31  N          = 0x1
4110: 38 2c 0a 09 4c 41 4e 47 5f 52 55 53 53 49 41 4e  8,..LANG_RUSSIAN
4120: 2c 0a 09 4c 41 4e 47 5f 43 52 4f 41 54 49 41 4e  ,..LANG_CROATIAN
4130: 2c 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 31 41  ,      // = 0x1A
4140: 0a 09 4c 41 4e 47 5f 53 45 52 42 49 41 4e 20 20  ..LANG_SERBIAN  
4150: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 41 2c           = 0x1A,
4160: 0a 09 4c 41 4e 47 5f 42 4f 53 4e 49 41 4e 20 20  ..LANG_BOSNIAN  
4170: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 41 2c           = 0x1A,
4180: 0a 09 4c 41 4e 47 5f 53 4c 4f 56 41 4b 2c 0a 09  ..LANG_SLOVAK,..
4190: 4c 41 4e 47 5f 41 4c 42 41 4e 49 41 4e 2c 0a 09  LANG_ALBANIAN,..
41a0: 4c 41 4e 47 5f 53 57 45 44 49 53 48 2c 0a 09 4c  LANG_SWEDISH,..L
41b0: 41 4e 47 5f 54 48 41 49 2c 0a 09 4c 41 4e 47 5f  ANG_THAI,..LANG_
41c0: 54 55 52 4b 49 53 48 2c 0a 09 4c 41 4e 47 5f 55  TURKISH,..LANG_U
41d0: 52 44 55 2c 0a 09 4c 41 4e 47 5f 49 4e 44 4f 4e  RDU,..LANG_INDON
41e0: 45 53 49 41 4e 2c 0a 09 4c 41 4e 47 5f 55 4b 52  ESIAN,..LANG_UKR
41f0: 41 49 4e 49 41 4e 2c 0a 09 4c 41 4e 47 5f 42 45  AINIAN,..LANG_BE
4200: 4c 41 52 55 53 49 41 4e 2c 0a 09 4c 41 4e 47 5f  LARUSIAN,..LANG_
4210: 53 4c 4f 56 45 4e 49 41 4e 2c 0a 09 4c 41 4e 47  SLOVENIAN,..LANG
4220: 5f 45 53 54 4f 4e 49 41 4e 2c 0a 09 4c 41 4e 47  _ESTONIAN,..LANG
4230: 5f 4c 41 54 56 49 41 4e 2c 0a 09 4c 41 4e 47 5f  _LATVIAN,..LANG_
4240: 4c 49 54 48 55 41 4e 49 41 4e 2c 20 20 20 20 2f  LITHUANIAN,    /
4250: 2f 20 3d 20 30 78 32 37 0a 09 4c 41 4e 47 5f 46  / = 0x27..LANG_F
4260: 41 52 53 49 20 20 20 20 20 20 20 20 20 20 20 20  ARSI            
4270: 20 3d 20 30 78 32 39 2c 0a 09 4c 41 4e 47 5f 50   = 0x29,..LANG_P
4280: 45 52 53 49 41 4e 20 20 20 20 20 20 20 20 20 20  ERSIAN          
4290: 20 3d 20 30 78 32 39 2c 0a 09 4c 41 4e 47 5f 56   = 0x29,..LANG_V
42a0: 49 45 54 4e 41 4d 45 53 45 2c 0a 09 4c 41 4e 47  IETNAMESE,..LANG
42b0: 5f 41 52 4d 45 4e 49 41 4e 2c 0a 09 4c 41 4e 47  _ARMENIAN,..LANG
42c0: 5f 41 5a 45 52 49 2c 0a 09 4c 41 4e 47 5f 42 41  _AZERI,..LANG_BA
42d0: 53 51 55 45 2c 0a 09 4c 41 4e 47 5f 4c 4f 57 45  SQUE,..LANG_LOWE
42e0: 52 5f 53 4f 52 42 49 41 4e 2c 20 2f 2f 20 3d 20  R_SORBIAN, // = 
42f0: 30 78 32 45 0a 09 4c 41 4e 47 5f 55 50 50 45 52  0x2E..LANG_UPPER
4300: 5f 53 4f 52 42 49 41 4e 20 20 20 20 20 3d 20 30  _SORBIAN     = 0
4310: 78 32 45 2c 0a 09 4c 41 4e 47 5f 4d 41 43 45 44  x2E,..LANG_MACED
4320: 4f 4e 49 41 4e 2c 20 20 20 20 2f 2f 20 3d 20 30  ONIAN,    // = 0
4330: 78 32 46 0a 09 4c 41 4e 47 5f 54 53 57 41 4e 41  x2F..LANG_TSWANA
4340: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
4350: 33 32 2c 0a 09 4c 41 4e 47 5f 58 48 4f 53 41 20  32,..LANG_XHOSA 
4360: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
4370: 33 34 2c 0a 09 4c 41 4e 47 5f 5a 55 4c 55 2c 0a  34,..LANG_ZULU,.
4380: 09 4c 41 4e 47 5f 41 46 52 49 4b 41 41 4e 53 2c  .LANG_AFRIKAANS,
4390: 0a 09 4c 41 4e 47 5f 47 45 4f 52 47 49 41 4e 2c  ..LANG_GEORGIAN,
43a0: 0a 09 4c 41 4e 47 5f 46 41 45 52 4f 45 53 45 2c  ..LANG_FAEROESE,
43b0: 0a 09 4c 41 4e 47 5f 48 49 4e 44 49 2c 0a 09 4c  ..LANG_HINDI,..L
43c0: 41 4e 47 5f 4d 41 4c 54 45 53 45 2c 0a 09 4c 41  ANG_MALTESE,..LA
43d0: 4e 47 5f 53 41 4d 49 2c 0a 09 4c 41 4e 47 5f 49  NG_SAMI,..LANG_I
43e0: 52 49 53 48 2c 20 20 20 20 20 20 20 20 20 2f 2f  RISH,         //
43f0: 20 3d 20 30 78 33 43 0a 09 4c 41 4e 47 5f 4d 41   = 0x3C..LANG_MA
4400: 4c 41 59 20 20 20 20 20 20 20 20 20 20 20 20 20  LAY             
4410: 3d 20 30 78 33 45 2c 0a 09 4c 41 4e 47 5f 4b 41  = 0x3E,..LANG_KA
4420: 5a 41 4b 2c 0a 09 4c 41 4e 47 5f 4b 59 52 47 59  ZAK,..LANG_KYRGY
4430: 5a 2c 0a 09 4c 41 4e 47 5f 53 57 41 48 49 4c 49  Z,..LANG_SWAHILI
4440: 2c 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 34  ,       // = 0x4
4450: 31 0a 09 4c 41 4e 47 5f 55 5a 42 45 4b 20 20 20  1..LANG_UZBEK   
4460: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 33            = 0x43
4470: 2c 0a 09 4c 41 4e 47 5f 54 41 54 41 52 2c 0a 09  ,..LANG_TATAR,..
4480: 4c 41 4e 47 5f 42 45 4e 47 41 4c 49 2c 0a 09 4c  LANG_BENGALI,..L
4490: 41 4e 47 5f 50 55 4e 4a 41 42 49 2c 0a 09 4c 41  ANG_PUNJABI,..LA
44a0: 4e 47 5f 47 55 4a 41 52 41 54 49 2c 0a 09 4c 41  NG_GUJARATI,..LA
44b0: 4e 47 5f 4f 52 49 59 41 2c 0a 09 4c 41 4e 47 5f  NG_ORIYA,..LANG_
44c0: 54 41 4d 49 4c 2c 0a 09 4c 41 4e 47 5f 54 45 4c  TAMIL,..LANG_TEL
44d0: 55 47 55 2c 0a 09 4c 41 4e 47 5f 4b 41 4e 4e 41  UGU,..LANG_KANNA
44e0: 44 41 2c 0a 09 4c 41 4e 47 5f 4d 41 4c 41 59 41  DA,..LANG_MALAYA
44f0: 4c 41 4d 2c 0a 09 4c 41 4e 47 5f 41 53 53 41 4d  LAM,..LANG_ASSAM
4500: 45 53 45 2c 0a 09 4c 41 4e 47 5f 4d 41 52 41 54  ESE,..LANG_MARAT
4510: 48 49 2c 0a 09 4c 41 4e 47 5f 53 41 4e 53 4b 52  HI,..LANG_SANSKR
4520: 49 54 2c 0a 09 4c 41 4e 47 5f 4d 4f 4e 47 4f 4c  IT,..LANG_MONGOL
4530: 49 41 4e 2c 0a 09 4c 41 4e 47 5f 54 49 42 45 54  IAN,..LANG_TIBET
4540: 41 4e 2c 0a 09 4c 41 4e 47 5f 57 45 4c 53 48 2c  AN,..LANG_WELSH,
4550: 0a 09 4c 41 4e 47 5f 4b 48 4d 45 52 2c 0a 09 4c  ..LANG_KHMER,..L
4560: 41 4e 47 5f 4c 41 4f 2c 20 20 20 20 20 20 20 20  ANG_LAO,        
4570: 20 20 20 2f 2f 20 3d 20 30 78 35 34 0a 09 4c 41     // = 0x54..LA
4580: 4e 47 5f 47 41 4c 49 43 49 41 4e 20 20 20 20 20  NG_GALICIAN     
4590: 20 20 20 20 20 3d 20 30 78 35 36 2c 0a 09 4c 41       = 0x56,..LA
45a0: 4e 47 5f 4b 4f 4e 4b 41 4e 49 2c 0a 09 4c 41 4e  NG_KONKANI,..LAN
45b0: 47 5f 4d 41 4e 49 50 55 52 49 2c 0a 09 4c 41 4e  G_MANIPURI,..LAN
45c0: 47 5f 53 49 4e 44 48 49 2c 0a 09 4c 41 4e 47 5f  G_SINDHI,..LANG_
45d0: 53 59 52 49 41 43 2c 0a 09 4c 41 4e 47 5f 53 49  SYRIAC,..LANG_SI
45e0: 4e 48 41 4c 45 53 45 2c 20 20 20 20 20 2f 2f 20  NHALESE,     // 
45f0: 3d 20 30 78 35 42 0a 09 4c 41 4e 47 5f 49 4e 55  = 0x5B..LANG_INU
4600: 4b 54 49 54 55 54 20 20 20 20 20 20 20 20 20 3d  KTITUT         =
4610: 20 30 78 35 44 2c 0a 09 4c 41 4e 47 5f 41 4d 48   0x5D,..LANG_AMH
4620: 41 52 49 43 2c 0a 09 4c 41 4e 47 5f 54 41 4d 41  ARIC,..LANG_TAMA
4630: 5a 49 47 48 54 2c 0a 09 4c 41 4e 47 5f 4b 41 53  ZIGHT,..LANG_KAS
4640: 48 4d 49 52 49 2c 0a 09 4c 41 4e 47 5f 4e 45 50  HMIRI,..LANG_NEP
4650: 41 4c 49 2c 0a 09 4c 41 4e 47 5f 46 52 49 53 49  ALI,..LANG_FRISI
4660: 41 4e 2c 0a 09 4c 41 4e 47 5f 50 41 53 48 54 4f  AN,..LANG_PASHTO
4670: 2c 0a 09 4c 41 4e 47 5f 46 49 4c 49 50 49 4e 4f  ,..LANG_FILIPINO
4680: 2c 0a 09 4c 41 4e 47 5f 44 49 56 45 48 49 2c 20  ,..LANG_DIVEHI, 
4690: 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 36 35         // = 0x65
46a0: 0a 09 4c 41 4e 47 5f 48 41 55 53 41 20 20 20 20  ..LANG_HAUSA    
46b0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 38 2c           = 0x68,
46c0: 0a 09 4c 41 4e 47 5f 59 4f 52 55 42 41 20 20 20  ..LANG_YORUBA   
46d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 41 2c           = 0x6A,
46e0: 0a 09 4c 41 4e 47 5f 51 55 45 43 48 55 41 2c 0a  ..LANG_QUECHUA,.
46f0: 09 4c 41 4e 47 5f 53 4f 54 48 4f 2c 0a 09 4c 41  .LANG_SOTHO,..LA
4700: 4e 47 5f 42 41 53 48 4b 49 52 2c 0a 09 4c 41 4e  NG_BASHKIR,..LAN
4710: 47 5f 4c 55 58 45 4d 42 4f 55 52 47 49 53 48 2c  G_LUXEMBOURGISH,
4720: 0a 09 4c 41 4e 47 5f 47 52 45 45 4e 4c 41 4e 44  ..LANG_GREENLAND
4730: 49 43 2c 0a 09 4c 41 4e 47 5f 49 47 42 4f 2c 20  IC,..LANG_IGBO, 
4740: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78           // = 0x
4750: 37 30 0a 09 4c 41 4e 47 5f 54 49 47 52 49 47 4e  70..LANG_TIGRIGN
4760: 41 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37  A          = 0x7
4770: 33 2c 0a 09 4c 41 4e 47 5f 59 49 20 20 20 20 20  3,..LANG_YI     
4780: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37             = 0x7
4790: 38 2c 0a 09 4c 41 4e 47 5f 4d 41 50 55 44 55 4e  8,..LANG_MAPUDUN
47a0: 47 55 4e 20 20 20 20 20 20 20 20 3d 20 30 78 37  GUN        = 0x7
47b0: 41 2c 0a 09 4c 41 4e 47 5f 4d 4f 48 41 57 4b 20  A,..LANG_MOHAWK 
47c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37             = 0x7
47d0: 43 2c 0a 09 4c 41 4e 47 5f 42 52 45 54 4f 4e 20  C,..LANG_BRETON 
47e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37             = 0x7
47f0: 45 2c 0a 09 4c 41 4e 47 5f 55 49 47 48 55 52 20  E,..LANG_UIGHUR 
4800: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 38             = 0x8
4810: 30 2c 0a 09 4c 41 4e 47 5f 4d 41 4f 52 49 2c 0a  0,..LANG_MAORI,.
4820: 09 4c 41 4e 47 5f 4f 43 43 49 54 41 4e 2c 0a 09  .LANG_OCCITAN,..
4830: 4c 41 4e 47 5f 43 4f 52 53 49 43 41 4e 2c 0a 09  LANG_CORSICAN,..
4840: 4c 41 4e 47 5f 41 4c 53 41 54 49 41 4e 2c 0a 09  LANG_ALSATIAN,..
4850: 4c 41 4e 47 5f 59 41 4b 55 54 2c 0a 09 4c 41 4e  LANG_YAKUT,..LAN
4860: 47 5f 4b 49 43 48 45 2c 0a 09 4c 41 4e 47 5f 4b  G_KICHE,..LANG_K
4870: 49 4e 59 41 52 57 41 4e 44 41 2c 0a 09 4c 41 4e  INYARWANDA,..LAN
4880: 47 5f 57 4f 4c 4f 46 2c 20 20 20 20 20 20 20 20  G_WOLOF,        
4890: 20 2f 2f 20 3d 20 30 78 38 38 0a 09 4c 41 4e 47   // = 0x88..LANG
48a0: 5f 44 41 52 49 20 20 20 20 20 20 20 20 20 20 20  _DARI           
48b0: 20 20 20 3d 20 30 78 38 43 2c 0a 09 4c 41 4e 47     = 0x8C,..LANG
48c0: 5f 4d 41 4c 41 47 41 53 59 2c 20 20 20 20 20 20  _MALAGASY,      
48d0: 2f 2f 20 3d 20 30 78 38 44 0a 0a 09 4c 41 4e 47  // = 0x8D...LANG
48e0: 5f 53 45 52 42 49 41 4e 5f 4e 45 55 54 52 41 4c  _SERBIAN_NEUTRAL
48f0: 20 20 20 3d 20 30 78 37 43 31 41 2c 0a 09 4c 41     = 0x7C1A,..LA
4900: 4e 47 5f 42 4f 53 4e 49 41 4e 5f 4e 45 55 54 52  NG_BOSNIAN_NEUTR
4910: 41 4c 20 20 20 3d 20 30 78 37 38 31 41 2c 0a 0a  AL   = 0x781A,..
4920: 09 4c 41 4e 47 5f 49 4e 56 41 52 49 41 4e 54 20  .LANG_INVARIANT 
4930: 20 20 20 20 20 20 20 20 3d 20 30 78 37 46 0a 7d          = 0x7F.}
4940: 0a 0a 0a 2f 2f 20 53 75 62 6c 61 6e 67 75 61 67  ...// Sublanguag
4950: 65 20 69 64 65 6e 74 69 66 69 65 72 73 0a 65 6e  e identifiers.en
4960: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 53  um : USHORT {..S
4970: 55 42 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 2c 0a  UBLANG_NEUTRAL,.
4980: 09 53 55 42 4c 41 4e 47 5f 44 45 46 41 55 4c 54  .SUBLANG_DEFAULT
4990: 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 59 53 5f 44  ,..SUBLANG_SYS_D
49a0: 45 46 41 55 4c 54 2c 0a 09 53 55 42 4c 41 4e 47  EFAULT,..SUBLANG
49b0: 5f 43 55 53 54 4f 4d 5f 44 45 46 41 55 4c 54 2c  _CUSTOM_DEFAULT,
49c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
49d0: 20 20 2f 2f 20 3d 20 20 33 0a 09 53 55 42 4c 41    // =  3..SUBLA
49e0: 4e 47 5f 55 49 5f 43 55 53 54 4f 4d 5f 44 45 46  NG_UI_CUSTOM_DEF
49f0: 41 55 4c 54 20 20 20 20 20 20 20 20 20 20 20 20  AULT            
4a00: 20 20 20 20 20 20 20 3d 20 20 33 2c 0a 09 53 55         =  3,..SU
4a10: 42 4c 41 4e 47 5f 43 55 53 54 4f 4d 5f 55 4e 53  BLANG_CUSTOM_UNS
4a20: 50 45 43 49 46 49 45 44 2c 20 20 20 20 20 20 20  PECIFIED,       
4a30: 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 34 0a 0a         // =  4..
4a40: 09 53 55 42 4c 41 4e 47 5f 41 46 52 49 4b 41 41  .SUBLANG_AFRIKAA
4a50: 4e 53 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20  NS_SOUTH_AFRICA 
4a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
4a70: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 4c 42 41  1,..SUBLANG_ALBA
4a80: 4e 49 41 4e 5f 41 4c 42 41 4e 49 41 20 20 20 20  NIAN_ALBANIA    
4a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4aa0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 41  =  1,..SUBLANG_A
4ab0: 4c 53 41 54 49 41 4e 5f 46 52 41 4e 43 45 20 20  LSATIAN_FRANCE  
4ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ad0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
4ae0: 47 5f 41 4d 48 41 52 49 43 5f 45 54 48 49 4f 50  G_AMHARIC_ETHIOP
4af0: 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20  IA              
4b00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55        =  1,...SU
4b10: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 53 41 55  BLANG_ARABIC_SAU
4b20: 44 49 5f 41 52 41 42 49 41 20 20 20 20 20 20 20  DI_ARABIA       
4b30: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
4b40: 09 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f  .SUBLANG_ARABIC_
4b50: 49 52 41 51 2c 0a 09 53 55 42 4c 41 4e 47 5f 41  IRAQ,..SUBLANG_A
4b60: 52 41 42 49 43 5f 45 47 59 50 54 2c 0a 09 53 55  RABIC_EGYPT,..SU
4b70: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4c 49 42  BLANG_ARABIC_LIB
4b80: 59 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41  YA,..SUBLANG_ARA
4b90: 42 49 43 5f 41 4c 47 45 52 49 41 2c 0a 09 53 55  BIC_ALGERIA,..SU
4ba0: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4d 4f 52  BLANG_ARABIC_MOR
4bb0: 4f 43 43 4f 2c 0a 09 53 55 42 4c 41 4e 47 5f 41  OCCO,..SUBLANG_A
4bc0: 52 41 42 49 43 5f 54 55 4e 49 53 49 41 2c 0a 09  RABIC_TUNISIA,..
4bd0: 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4f  SUBLANG_ARABIC_O
4be0: 4d 41 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52  MAN,..SUBLANG_AR
4bf0: 41 42 49 43 5f 59 45 4d 45 4e 2c 0a 09 53 55 42  ABIC_YEMEN,..SUB
4c00: 4c 41 4e 47 5f 41 52 41 42 49 43 5f 53 59 52 49  LANG_ARABIC_SYRI
4c10: 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 42  A,..SUBLANG_ARAB
4c20: 49 43 5f 4a 4f 52 44 41 4e 2c 0a 09 53 55 42 4c  IC_JORDAN,..SUBL
4c30: 41 4e 47 5f 41 52 41 42 49 43 5f 4c 45 42 41 4e  ANG_ARABIC_LEBAN
4c40: 4f 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41  ON,..SUBLANG_ARA
4c50: 42 49 43 5f 4b 55 57 41 49 54 2c 0a 09 53 55 42  BIC_KUWAIT,..SUB
4c60: 4c 41 4e 47 5f 41 52 41 42 49 43 5f 55 41 45 2c  LANG_ARABIC_UAE,
4c70: 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43  ..SUBLANG_ARABIC
4c80: 5f 42 41 48 52 41 49 4e 2c 0a 09 53 55 42 4c 41  _BAHRAIN,..SUBLA
4c90: 4e 47 5f 41 52 41 42 49 43 5f 51 41 54 41 52 2c  NG_ARABIC_QATAR,
4ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4cb0: 20 20 20 20 2f 2f 20 3d 20 31 36 0a 0a 09 53 55      // = 16...SU
4cc0: 42 4c 41 4e 47 5f 41 52 4d 45 4e 49 41 4e 5f 41  BLANG_ARMENIAN_A
4cd0: 52 4d 45 4e 49 41 20 20 20 20 20 20 20 20 20 20  RMENIA          
4ce0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
4cf0: 09 53 55 42 4c 41 4e 47 5f 41 53 53 41 4d 45 53  .SUBLANG_ASSAMES
4d00: 45 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20  E_INDIA         
4d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
4d20: 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 41 5a 45  1,...SUBLANG_AZE
4d30: 52 49 5f 4c 41 54 49 4e 20 20 20 20 20 20 20 20  RI_LATIN        
4d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d50: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f   =  1,..SUBLANG_
4d60: 41 5a 45 52 49 5f 43 59 52 49 4c 4c 49 43 2c 20  AZERI_CYRILLIC, 
4d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d80: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41   // =  2...SUBLA
4d90: 4e 47 5f 42 41 53 48 4b 49 52 5f 52 55 53 53 49  NG_BASHKIR_RUSSI
4da0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  A               
4db0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
4dc0: 42 4c 41 4e 47 5f 42 41 53 51 55 45 5f 42 41 53  BLANG_BASQUE_BAS
4dd0: 51 55 45 20 20 20 20 20 20 20 20 20 20 20 20 20  QUE             
4de0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
4df0: 09 53 55 42 4c 41 4e 47 5f 42 45 4c 41 52 55 53  .SUBLANG_BELARUS
4e00: 49 41 4e 5f 42 45 4c 41 52 55 53 20 20 20 20 20  IAN_BELARUS     
4e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
4e20: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 42 45 4e 47  1,..SUBLANG_BENG
4e30: 41 4c 49 5f 49 4e 44 49 41 20 20 20 20 20 20 20  ALI_INDIA       
4e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4e50: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f  =  1,...SUBLANG_
4e60: 42 4f 53 4e 49 41 4e 5f 42 4f 53 4e 49 41 5f 48  BOSNIAN_BOSNIA_H
4e70: 45 52 5a 45 47 4f 56 49 4e 41 5f 4c 41 54 49 4e  ERZEGOVINA_LATIN
4e80: 20 20 20 20 3d 20 20 35 2c 0a 09 53 55 42 4c 41      =  5,..SUBLA
4e90: 4e 47 5f 42 4f 53 4e 49 41 4e 5f 42 4f 53 4e 49  NG_BOSNIAN_BOSNI
4ea0: 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f 43 59  A_HERZEGOVINA_CY
4eb0: 52 49 4c 4c 49 43 20 3d 20 20 38 2c 0a 0a 09 53  RILLIC =  8,...S
4ec0: 55 42 4c 41 4e 47 5f 42 52 45 54 4f 4e 5f 46 52  UBLANG_BRETON_FR
4ed0: 41 4e 43 45 20 20 20 20 20 20 20 20 20 20 20 20  ANCE            
4ee0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
4ef0: 0a 09 53 55 42 4c 41 4e 47 5f 42 55 4c 47 41 52  ..SUBLANG_BULGAR
4f00: 49 41 4e 5f 42 55 4c 47 41 52 49 41 20 20 20 20  IAN_BULGARIA    
4f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
4f20: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 43 41 54   1,..SUBLANG_CAT
4f30: 41 4c 41 4e 5f 43 41 54 41 4c 41 4e 20 20 20 20  ALAN_CATALAN    
4f40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4f50: 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47   =  1,...SUBLANG
4f60: 5f 43 48 49 4e 45 53 45 5f 54 52 41 44 49 54 49  _CHINESE_TRADITI
4f70: 4f 4e 41 4c 20 20 20 20 20 20 20 20 20 20 20 20  ONAL            
4f80: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
4f90: 41 4e 47 5f 43 48 49 4e 45 53 45 5f 53 49 4d 50  ANG_CHINESE_SIMP
4fa0: 4c 49 46 49 45 44 2c 0a 09 53 55 42 4c 41 4e 47  LIFIED,..SUBLANG
4fb0: 5f 43 48 49 4e 45 53 45 5f 48 4f 4e 47 4b 4f 4e  _CHINESE_HONGKON
4fc0: 47 2c 0a 09 53 55 42 4c 41 4e 47 5f 43 48 49 4e  G,..SUBLANG_CHIN
4fd0: 45 53 45 5f 53 49 4e 47 41 50 4f 52 45 2c 0a 09  ESE_SINGAPORE,..
4fe0: 53 55 42 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f  SUBLANG_CHINESE_
4ff0: 4d 41 43 41 55 2c 20 20 20 20 20 20 20 20 20 20  MACAU,          
5000: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 35           // =  5
5010: 0a 0a 09 53 55 42 4c 41 4e 47 5f 43 4f 52 53 49  ...SUBLANG_CORSI
5020: 43 41 4e 5f 46 52 41 4e 43 45 20 20 20 20 20 20  CAN_FRANCE      
5030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
5040: 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 43    1,...SUBLANG_C
5050: 52 4f 41 54 49 41 4e 5f 43 52 4f 41 54 49 41 20  ROATIAN_CROATIA 
5060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5070: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
5080: 47 5f 43 52 4f 41 54 49 41 4e 5f 42 4f 53 4e 49  G_CROATIAN_BOSNI
5090: 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f 4c 41  A_HERZEGOVINA_LA
50a0: 54 49 4e 20 20 20 3d 20 20 34 2c 0a 0a 09 53 55  TIN   =  4,...SU
50b0: 42 4c 41 4e 47 5f 43 5a 45 43 48 5f 43 5a 45 43  BLANG_CZECH_CZEC
50c0: 48 5f 52 45 50 55 42 4c 49 43 20 20 20 20 20 20  H_REPUBLIC      
50d0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
50e0: 09 53 55 42 4c 41 4e 47 5f 44 41 4e 49 53 48 5f  .SUBLANG_DANISH_
50f0: 44 45 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20  DENMARK         
5100: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
5110: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 44 49 56 45  1,..SUBLANG_DIVE
5120: 48 49 5f 4d 41 4c 44 49 56 45 53 20 20 20 20 20  HI_MALDIVES     
5130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5140: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f  =  1,...SUBLANG_
5150: 44 55 54 43 48 20 20 20 20 20 20 20 20 20 20 20  DUTCH           
5160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5170: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
5180: 4e 47 5f 44 55 54 43 48 5f 42 45 4c 47 49 41 4e  NG_DUTCH_BELGIAN
5190: 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,               
51a0: 20 20 20 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55      // =  2...SU
51b0: 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 55 53  BLANG_ENGLISH_US
51c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
51d0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
51e0: 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48  .SUBLANG_ENGLISH
51f0: 5f 55 4b 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e  _UK,..SUBLANG_EN
5200: 47 4c 49 53 48 5f 41 55 53 2c 0a 09 53 55 42 4c  GLISH_AUS,..SUBL
5210: 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 43 41 4e 2c  ANG_ENGLISH_CAN,
5220: 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53  ..SUBLANG_ENGLIS
5230: 48 5f 4e 5a 2c 0a 09 53 55 42 4c 41 4e 47 5f 45  H_NZ,..SUBLANG_E
5240: 4e 47 4c 49 53 48 5f 45 49 52 45 2c 20 20 20 20  NGLISH_EIRE,    
5250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5260: 2f 2f 20 3d 20 20 36 0a 09 53 55 42 4c 41 4e 47  // =  6..SUBLANG
5270: 5f 45 4e 47 4c 49 53 48 5f 49 52 45 4c 41 4e 44  _ENGLISH_IRELAND
5280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5290: 20 20 20 20 20 3d 20 20 36 2c 0a 09 53 55 42 4c       =  6,..SUBL
52a0: 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 53 4f 55 54  ANG_ENGLISH_SOUT
52b0: 48 5f 41 46 52 49 43 41 2c 0a 09 53 55 42 4c 41  H_AFRICA,..SUBLA
52c0: 4e 47 5f 45 4e 47 4c 49 53 48 5f 4a 41 4d 41 49  NG_ENGLISH_JAMAI
52d0: 43 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47  CA,..SUBLANG_ENG
52e0: 4c 49 53 48 5f 43 41 52 49 42 42 45 41 4e 2c 0a  LISH_CARIBBEAN,.
52f0: 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48  .SUBLANG_ENGLISH
5300: 5f 42 45 4c 49 5a 45 2c 0a 09 53 55 42 4c 41 4e  _BELIZE,..SUBLAN
5310: 47 5f 45 4e 47 4c 49 53 48 5f 54 52 49 4e 49 44  G_ENGLISH_TRINID
5320: 41 44 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47  AD,..SUBLANG_ENG
5330: 4c 49 53 48 5f 5a 49 4d 42 41 42 57 45 2c 0a 09  LISH_ZIMBABWE,..
5340: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f  SUBLANG_ENGLISH_
5350: 50 48 49 4c 49 50 50 49 4e 45 53 2c 20 20 20 20  PHILIPPINES,    
5360: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 31 33           // = 13
5370: 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53  ..SUBLANG_ENGLIS
5380: 48 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20  H_INDIA         
5390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
53a0: 31 36 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47  16,..SUBLANG_ENG
53b0: 4c 49 53 48 5f 4d 41 4c 41 59 53 49 41 2c 0a 09  LISH_MALAYSIA,..
53c0: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f  SUBLANG_ENGLISH_
53d0: 53 49 4e 47 41 50 4f 52 45 2c 20 20 20 20 20 20  SINGAPORE,      
53e0: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 31 38           // = 18
53f0: 0a 0a 09 53 55 42 4c 41 4e 47 5f 45 53 54 4f 4e  ...SUBLANG_ESTON
5400: 49 41 4e 5f 45 53 54 4f 4e 49 41 20 20 20 20 20  IAN_ESTONIA     
5410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
5420: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 41    1,..SUBLANG_FA
5430: 45 52 4f 45 53 45 5f 46 41 52 4f 45 5f 49 53 4c  EROESE_FAROE_ISL
5440: 41 4e 44 53 20 20 20 20 20 20 20 20 20 20 20 20  ANDS            
5450: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47    =  1,..SUBLANG
5460: 5f 46 49 4c 49 50 49 4e 4f 5f 50 48 49 4c 49 50  _FILIPINO_PHILIP
5470: 50 49 4e 45 53 20 20 20 20 20 20 20 20 20 20 20  PINES           
5480: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
5490: 41 4e 47 5f 46 49 4e 4e 49 53 48 5f 46 49 4e 4c  ANG_FINNISH_FINL
54a0: 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20  AND             
54b0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09          =  1,...
54c0: 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43 48 20 20  SUBLANG_FRENCH  
54d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
54e0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
54f0: 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43  ,..SUBLANG_FRENC
5500: 48 5f 42 45 4c 47 49 41 4e 2c 0a 09 53 55 42 4c  H_BELGIAN,..SUBL
5510: 41 4e 47 5f 46 52 45 4e 43 48 5f 43 41 4e 41 44  ANG_FRENCH_CANAD
5520: 49 41 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 52  IAN,..SUBLANG_FR
5530: 45 4e 43 48 5f 53 57 49 53 53 2c 0a 09 53 55 42  ENCH_SWISS,..SUB
5540: 4c 41 4e 47 5f 46 52 45 4e 43 48 5f 4c 55 58 45  LANG_FRENCH_LUXE
5550: 4d 42 4f 55 52 47 2c 0a 09 53 55 42 4c 41 4e 47  MBOURG,..SUBLANG
5560: 5f 46 52 45 4e 43 48 5f 4d 4f 4e 41 43 4f 2c 20  _FRENCH_MONACO, 
5570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5580: 20 20 2f 2f 20 3d 20 20 36 0a 0a 09 53 55 42 4c    // =  6...SUBL
5590: 41 4e 47 5f 46 52 49 53 49 41 4e 5f 4e 45 54 48  ANG_FRISIAN_NETH
55a0: 45 52 4c 41 4e 44 53 20 20 20 20 20 20 20 20 20  ERLANDS         
55b0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53          =  1,..S
55c0: 55 42 4c 41 4e 47 5f 47 41 4c 49 43 49 41 4e 5f  UBLANG_GALICIAN_
55d0: 47 41 4c 49 43 49 41 4e 20 20 20 20 20 20 20 20  GALICIAN        
55e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
55f0: 0a 09 53 55 42 4c 41 4e 47 5f 47 45 4f 52 47 49  ..SUBLANG_GEORGI
5600: 41 4e 5f 47 45 4f 52 47 49 41 20 20 20 20 20 20  AN_GEORGIA      
5610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
5620: 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 47 45   1,...SUBLANG_GE
5630: 52 4d 41 4e 20 20 20 20 20 20 20 20 20 20 20 20  RMAN            
5640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5650: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47    =  1,..SUBLANG
5660: 5f 47 45 52 4d 41 4e 5f 53 57 49 53 53 2c 0a 09  _GERMAN_SWISS,..
5670: 53 55 42 4c 41 4e 47 5f 47 45 52 4d 41 4e 5f 41  SUBLANG_GERMAN_A
5680: 55 53 54 52 49 41 4e 2c 0a 09 53 55 42 4c 41 4e  USTRIAN,..SUBLAN
5690: 47 5f 47 45 52 4d 41 4e 5f 4c 55 58 45 4d 42 4f  G_GERMAN_LUXEMBO
56a0: 55 52 47 2c 0a 09 53 55 42 4c 41 4e 47 5f 47 45  URG,..SUBLANG_GE
56b0: 52 4d 41 4e 5f 4c 49 45 43 48 54 45 4e 53 54 45  RMAN_LIECHTENSTE
56c0: 49 4e 2c 20 20 20 20 20 20 20 20 20 20 20 20 2f  IN,            /
56d0: 2f 20 3d 20 20 35 0a 0a 09 53 55 42 4c 41 4e 47  / =  5...SUBLANG
56e0: 5f 47 52 45 45 4b 5f 47 52 45 45 43 45 20 20 20  _GREEK_GREECE   
56f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5700: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
5710: 41 4e 47 5f 47 52 45 45 4e 4c 41 4e 44 49 43 5f  ANG_GREENLANDIC_
5720: 47 52 45 45 4e 4c 41 4e 44 20 20 20 20 20 20 20  GREENLAND       
5730: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53          =  1,..S
5740: 55 42 4c 41 4e 47 5f 47 55 4a 41 52 41 54 49 5f  UBLANG_GUJARATI_
5750: 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 20 20  INDIA           
5760: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
5770: 0a 09 53 55 42 4c 41 4e 47 5f 48 41 55 53 41 5f  ..SUBLANG_HAUSA_
5780: 4e 49 47 45 52 49 41 20 20 20 20 20 20 20 20 20  NIGERIA         
5790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
57a0: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 48 45 42   1,..SUBLANG_HEB
57b0: 52 45 57 5f 49 53 52 41 45 4c 20 20 20 20 20 20  REW_ISRAEL      
57c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
57d0: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f   =  1,..SUBLANG_
57e0: 48 49 4e 44 49 5f 49 4e 44 49 41 20 20 20 20 20  HINDI_INDIA     
57f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5800: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
5810: 4e 47 5f 48 55 4e 47 41 52 49 41 4e 5f 48 55 4e  NG_HUNGARIAN_HUN
5820: 47 41 52 59 20 20 20 20 20 20 20 20 20 20 20 20  GARY            
5830: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
5840: 42 4c 41 4e 47 5f 49 43 45 4c 41 4e 44 49 43 5f  BLANG_ICELANDIC_
5850: 49 43 45 4c 41 4e 44 20 20 20 20 20 20 20 20 20  ICELAND         
5860: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
5870: 09 53 55 42 4c 41 4e 47 5f 49 47 42 4f 5f 4e 49  .SUBLANG_IGBO_NI
5880: 47 45 52 49 41 20 20 20 20 20 20 20 20 20 20 20  GERIA           
5890: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
58a0: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 49 4e 44 4f  1,..SUBLANG_INDO
58b0: 4e 45 53 49 41 4e 5f 49 4e 44 4f 4e 45 53 49 41  NESIAN_INDONESIA
58c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
58d0: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f  =  1,...SUBLANG_
58e0: 49 4e 55 4b 54 49 54 55 54 5f 43 41 4e 41 44 41  INUKTITUT_CANADA
58f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5900: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
5910: 4e 47 5f 49 4e 55 4b 54 49 54 55 54 5f 43 41 4e  NG_INUKTITUT_CAN
5920: 41 44 41 5f 4c 41 54 49 4e 20 20 20 20 20 20 20  ADA_LATIN       
5930: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53         =  1,...S
5940: 55 42 4c 41 4e 47 5f 49 52 49 53 48 5f 49 52 45  UBLANG_IRISH_IRE
5950: 4c 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20  LAND            
5960: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
5970: 0a 0a 09 53 55 42 4c 41 4e 47 5f 49 54 41 4c 49  ...SUBLANG_ITALI
5980: 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  AN              
5990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
59a0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 49 54    1,..SUBLANG_IT
59b0: 41 4c 49 41 4e 5f 53 57 49 53 53 2c 20 20 20 20  ALIAN_SWISS,    
59c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
59d0: 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47  / =  2...SUBLANG
59e0: 5f 4a 41 50 41 4e 45 53 45 5f 4a 41 50 41 4e 20  _JAPANESE_JAPAN 
59f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a00: 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42       =  1,...SUB
5a10: 4c 41 4e 47 5f 4b 41 53 48 4d 49 52 49 5f 49 4e  LANG_KASHMIRI_IN
5a20: 44 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20  DIA             
5a30: 20 20 20 20 20 20 20 20 20 3d 20 20 32 2c 0a 09           =  2,..
5a40: 53 55 42 4c 41 4e 47 5f 4b 41 53 48 4d 49 52 49  SUBLANG_KASHMIRI
5a50: 5f 53 41 53 49 41 20 20 20 20 20 20 20 20 20 20  _SASIA          
5a60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 32              =  2
5a70: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 4b 41 5a 41  ,...SUBLANG_KAZA
5a80: 4b 5f 4b 41 5a 41 4b 48 53 54 41 4e 20 20 20 20  K_KAZAKHSTAN    
5a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5aa0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b  =  1,..SUBLANG_K
5ab0: 48 4d 45 52 5f 43 41 4d 42 4f 44 49 41 20 20 20  HMER_CAMBODIA   
5ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5ad0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
5ae0: 47 5f 4b 49 43 48 45 5f 47 55 41 54 45 4d 41 4c  G_KICHE_GUATEMAL
5af0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  A               
5b00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42        =  1,..SUB
5b10: 4c 41 4e 47 5f 4b 49 4e 59 41 52 57 41 4e 44 41  LANG_KINYARWANDA
5b20: 5f 52 57 41 4e 44 41 20 20 20 20 20 20 20 20 20  _RWANDA         
5b30: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09           =  1,..
5b40: 53 55 42 4c 41 4e 47 5f 4b 4f 4e 4b 41 4e 49 5f  SUBLANG_KONKANI_
5b50: 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 20 20  INDIA           
5b60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
5b70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b 4f 52 45 41  ,..SUBLANG_KOREA
5b80: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
5b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
5ba0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b 59    1,..SUBLANG_KY
5bb0: 52 47 59 5a 5f 4b 59 52 47 59 5a 53 54 41 4e 20  RGYZ_KYRGYZSTAN 
5bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5bd0: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47    =  1,..SUBLANG
5be0: 5f 4c 41 4f 5f 4c 41 4f 5f 50 44 52 20 20 20 20  _LAO_LAO_PDR    
5bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5c00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
5c10: 41 4e 47 5f 4c 41 54 56 49 41 4e 5f 4c 41 54 56  ANG_LATVIAN_LATV
5c20: 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20  IA              
5c30: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09          =  1,...
5c40: 53 55 42 4c 41 4e 47 5f 4c 49 54 48 55 41 4e 49  SUBLANG_LITHUANI
5c50: 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  AN              
5c60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
5c70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4c 49 54 48 55  ,..SUBLANG_LITHU
5c80: 41 4e 49 41 4e 5f 4c 49 54 48 55 41 4e 49 41 20  ANIAN_LITHUANIA 
5c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
5ca0: 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 4c    1,...SUBLANG_L
5cb0: 4f 57 45 52 5f 53 4f 52 42 49 41 4e 5f 47 45 52  OWER_SORBIAN_GER
5cc0: 4d 41 4e 59 20 20 20 20 20 20 20 20 20 20 20 20  MANY            
5cd0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
5ce0: 47 5f 4c 55 58 45 4d 42 4f 55 52 47 49 53 48 5f  G_LUXEMBOURGISH_
5cf0: 4c 55 58 45 4d 42 4f 55 52 47 20 20 20 20 20 20  LUXEMBOURG      
5d00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42        =  1,..SUB
5d10: 4c 41 4e 47 5f 4d 41 43 45 44 4f 4e 49 41 4e 5f  LANG_MACEDONIAN_
5d20: 4d 41 43 45 44 4f 4e 49 41 20 20 20 20 20 20 20  MACEDONIA       
5d30: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09           =  1,..
5d40: 53 55 42 4c 41 4e 47 5f 4d 41 4c 41 59 41 4c 41  SUBLANG_MALAYALA
5d50: 4d 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20  M_INDIA         
5d60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
5d70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 41 4c 54 45  ,..SUBLANG_MALTE
5d80: 53 45 5f 4d 41 4c 54 41 20 20 20 20 20 20 20 20  SE_MALTA        
5d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
5da0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 41    1,..SUBLANG_MA
5db0: 4f 52 49 5f 4e 45 57 5f 5a 45 41 4c 41 4e 44 20  ORI_NEW_ZEALAND 
5dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5dd0: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47    =  1,..SUBLANG
5de0: 5f 4d 41 50 55 44 55 4e 47 55 4e 5f 43 48 49 4c  _MAPUDUNGUN_CHIL
5df0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
5e00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
5e10: 41 4e 47 5f 4d 41 52 41 54 48 49 5f 49 4e 44 49  ANG_MARATHI_INDI
5e20: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  A               
5e30: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53          =  1,..S
5e40: 55 42 4c 41 4e 47 5f 4d 4f 48 41 57 4b 5f 4d 4f  UBLANG_MOHAWK_MO
5e50: 48 41 57 4b 20 20 20 20 20 20 20 20 20 20 20 20  HAWK            
5e60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
5e70: 0a 0a 09 53 55 42 4c 41 4e 47 5f 4d 4f 4e 47 4f  ...SUBLANG_MONGO
5e80: 4c 49 41 4e 5f 43 59 52 49 4c 4c 49 43 5f 4d 4f  LIAN_CYRILLIC_MO
5e90: 4e 47 4f 4c 49 41 20 20 20 20 20 20 20 20 20 3d  NGOLIA         =
5ea0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 4f    1,..SUBLANG_MO
5eb0: 4e 47 4f 4c 49 41 4e 5f 50 52 43 2c 20 20 20 20  NGOLIAN_PRC,    
5ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
5ed0: 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47  / =  2...SUBLANG
5ee0: 5f 4d 41 4c 41 59 5f 4d 41 4c 41 59 53 49 41 20  _MALAY_MALAYSIA 
5ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5f00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
5f10: 41 4e 47 5f 4d 41 4c 41 59 5f 42 52 55 4e 45 49  ANG_MALAY_BRUNEI
5f20: 5f 44 41 52 55 53 53 41 4c 41 4d 2c 20 20 20 20  _DARUSSALAM,    
5f30: 20 20 20 20 20 2f 2f 20 3d 20 20 32 0a 0a 09 53       // =  2...S
5f40: 55 42 4c 41 4e 47 5f 4e 45 50 41 4c 49 5f 4e 45  UBLANG_NEPALI_NE
5f50: 50 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20  PAL             
5f60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
5f70: 0a 09 53 55 42 4c 41 4e 47 5f 4e 45 50 41 4c 49  ..SUBLANG_NEPALI
5f80: 5f 49 4e 44 49 41 2c 20 20 20 20 20 20 20 20 20  _INDIA,         
5f90: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20             // = 
5fa0: 20 32 0a 0a 09 53 55 42 4c 41 4e 47 5f 4e 4f 52   2...SUBLANG_NOR
5fb0: 57 45 47 49 41 4e 5f 42 4f 4b 4d 41 4c 20 20 20  WEGIAN_BOKMAL   
5fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5fd0: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f   =  1,..SUBLANG_
5fe0: 4e 4f 52 57 45 47 49 41 4e 5f 4e 59 4e 4f 52 53  NORWEGIAN_NYNORS
5ff0: 4b 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  K,              
6000: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41   // =  2...SUBLA
6010: 4e 47 5f 4f 43 43 49 54 41 4e 5f 46 52 41 4e 43  NG_OCCITAN_FRANC
6020: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
6030: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
6040: 42 4c 41 4e 47 5f 4f 52 49 59 41 5f 49 4e 44 49  BLANG_ORIYA_INDI
6050: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  A               
6060: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
6070: 09 53 55 42 4c 41 4e 47 5f 50 41 53 48 54 4f 5f  .SUBLANG_PASHTO_
6080: 41 46 47 48 41 4e 49 53 54 41 4e 20 20 20 20 20  AFGHANISTAN     
6090: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
60a0: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 50 45 52 53  1,..SUBLANG_PERS
60b0: 49 41 4e 5f 49 52 41 4e 20 20 20 20 20 20 20 20  IAN_IRAN        
60c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
60d0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 50  =  1,..SUBLANG_P
60e0: 4f 4c 49 53 48 5f 50 4f 4c 41 4e 44 20 20 20 20  OLISH_POLAND    
60f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6100: 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41     =  1,...SUBLA
6110: 4e 47 5f 50 4f 52 54 55 47 55 45 53 45 5f 42 52  NG_PORTUGUESE_BR
6120: 41 5a 49 4c 49 41 4e 20 20 20 20 20 20 20 20 20  AZILIAN         
6130: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
6140: 42 4c 41 4e 47 5f 50 4f 52 54 55 47 55 45 53 45  BLANG_PORTUGUESE
6150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6160: 20 20 20 20 20 20 20 20 20 20 3d 20 20 32 2c 0a            =  2,.
6170: 09 53 55 42 4c 41 4e 47 5f 50 4f 52 54 55 47 55  .SUBLANG_PORTUGU
6180: 45 53 45 5f 50 4f 52 54 55 47 41 4c 2c 20 20 20  ESE_PORTUGAL,   
6190: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20            // =  
61a0: 32 0a 0a 09 53 55 42 4c 41 4e 47 5f 50 55 4e 4a  2...SUBLANG_PUNJ
61b0: 41 42 49 5f 49 4e 44 49 41 20 20 20 20 20 20 20  ABI_INDIA       
61c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
61d0: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f  =  1,...SUBLANG_
61e0: 51 55 45 43 48 55 41 5f 42 4f 4c 49 56 49 41 20  QUECHUA_BOLIVIA 
61f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6200: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
6210: 4e 47 5f 51 55 45 43 48 55 41 5f 45 43 55 41 44  NG_QUECHUA_ECUAD
6220: 4f 52 2c 0a 09 53 55 42 4c 41 4e 47 5f 51 55 45  OR,..SUBLANG_QUE
6230: 43 48 55 41 5f 50 45 52 55 2c 20 20 20 20 20 20  CHUA_PERU,      
6240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f                //
6250: 20 3d 20 20 33 0a 0a 09 53 55 42 4c 41 4e 47 5f   =  3...SUBLANG_
6260: 52 4f 4d 41 4e 49 41 4e 5f 52 4f 4d 41 4e 49 41  ROMANIAN_ROMANIA
6270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6280: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
6290: 4e 47 5f 52 4f 4d 41 4e 53 48 5f 53 57 49 54 5a  NG_ROMANSH_SWITZ
62a0: 45 52 4c 41 4e 44 20 20 20 20 20 20 20 20 20 20  ERLAND          
62b0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
62c0: 42 4c 41 4e 47 5f 52 55 53 53 49 41 4e 5f 52 55  BLANG_RUSSIAN_RU
62d0: 53 53 49 41 20 20 20 20 20 20 20 20 20 20 20 20  SSIA            
62e0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
62f0: 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 4e  ..SUBLANG_SAMI_N
6300: 4f 52 54 48 45 52 4e 5f 4e 4f 52 57 41 59 20 20  ORTHERN_NORWAY  
6310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
6320: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d   1,..SUBLANG_SAM
6330: 49 5f 4e 4f 52 54 48 45 52 4e 5f 53 57 45 44 45  I_NORTHERN_SWEDE
6340: 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49  N,..SUBLANG_SAMI
6350: 5f 4e 4f 52 54 48 45 52 4e 5f 46 49 4e 4c 41 4e  _NORTHERN_FINLAN
6360: 44 2c 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20  D,           // 
6370: 3d 20 20 33 0a 09 53 55 42 4c 41 4e 47 5f 53 41  =  3..SUBLANG_SA
6380: 4d 49 5f 53 4b 4f 4c 54 5f 46 49 4e 4c 41 4e 44  MI_SKOLT_FINLAND
6390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
63a0: 20 20 3d 20 20 33 2c 0a 09 53 55 42 4c 41 4e 47    =  3,..SUBLANG
63b0: 5f 53 41 4d 49 5f 49 4e 41 52 49 5f 46 49 4e 4c  _SAMI_INARI_FINL
63c0: 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20  AND             
63d0: 20 20 20 20 20 3d 20 20 33 2c 0a 09 53 55 42 4c       =  3,..SUBL
63e0: 41 4e 47 5f 53 41 4d 49 5f 4c 55 4c 45 5f 4e 4f  ANG_SAMI_LULE_NO
63f0: 52 57 41 59 2c 0a 09 53 55 42 4c 41 4e 47 5f 53  RWAY,..SUBLANG_S
6400: 41 4d 49 5f 4c 55 4c 45 5f 53 57 45 44 45 4e 2c  AMI_LULE_SWEDEN,
6410: 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 53  ..SUBLANG_SAMI_S
6420: 4f 55 54 48 45 52 4e 5f 4e 4f 52 57 41 59 2c 0a  OUTHERN_NORWAY,.
6430: 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 53 4f  .SUBLANG_SAMI_SO
6440: 55 54 48 45 52 4e 5f 53 57 45 44 45 4e 2c 20 20  UTHERN_SWEDEN,  
6450: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20            // =  
6460: 37 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4e 53  7...SUBLANG_SANS
6470: 4b 52 49 54 5f 49 4e 44 49 41 20 20 20 20 20 20  KRIT_INDIA      
6480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6490: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f  =  1,...SUBLANG_
64a0: 53 45 52 42 49 41 4e 5f 4c 41 54 49 4e 20 20 20  SERBIAN_LATIN   
64b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
64c0: 20 20 20 20 3d 20 20 32 2c 0a 09 53 55 42 4c 41      =  2,..SUBLA
64d0: 4e 47 5f 53 45 52 42 49 41 4e 5f 43 59 52 49 4c  NG_SERBIAN_CYRIL
64e0: 4c 49 43 2c 20 20 20 20 20 20 20 20 20 20 20 20  LIC,            
64f0: 20 20 20 20 2f 2f 20 3d 20 20 33 0a 09 53 55 42      // =  3..SUB
6500: 4c 41 4e 47 5f 53 45 52 42 49 41 4e 5f 42 4f 53  LANG_SERBIAN_BOS
6510: 4e 49 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f  NIA_HERZEGOVINA_
6520: 4c 41 54 49 4e 20 20 20 20 3d 20 20 36 2c 0a 09  LATIN    =  6,..
6530: 53 55 42 4c 41 4e 47 5f 53 45 52 42 49 41 4e 5f  SUBLANG_SERBIAN_
6540: 42 4f 53 4e 49 41 5f 48 45 52 5a 45 47 4f 56 49  BOSNIA_HERZEGOVI
6550: 4e 41 5f 43 59 52 49 4c 4c 49 43 20 3d 20 20 37  NA_CYRILLIC =  7
6560: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 49 4e 44  ,...SUBLANG_SIND
6570: 48 49 5f 41 46 47 48 41 4e 49 53 54 41 4e 20 20  HI_AFGHANISTAN  
6580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6590: 3d 20 20 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 53  =  2,..SUBLANG_S
65a0: 49 4e 48 41 4c 45 53 45 5f 53 52 49 5f 4c 41 4e  INHALESE_SRI_LAN
65b0: 4b 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20  KA              
65c0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
65d0: 47 5f 53 4f 54 48 4f 5f 4e 4f 52 54 48 45 52 4e  G_SOTHO_NORTHERN
65e0: 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 20 20  _SOUTH_AFRICA   
65f0: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42        =  1,..SUB
6600: 4c 41 4e 47 5f 53 4c 4f 56 41 4b 5f 53 4c 4f 56  LANG_SLOVAK_SLOV
6610: 41 4b 49 41 20 20 20 20 20 20 20 20 20 20 20 20  AKIA            
6620: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09           =  1,..
6630: 53 55 42 4c 41 4e 47 5f 53 4c 4f 56 45 4e 49 41  SUBLANG_SLOVENIA
6640: 4e 5f 53 4c 4f 56 45 4e 49 41 20 20 20 20 20 20  N_SLOVENIA      
6650: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
6660: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e  ,...SUBLANG_SPAN
6670: 49 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20  ISH             
6680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6690: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53  =  1,..SUBLANG_S
66a0: 50 41 4e 49 53 48 5f 4d 45 58 49 43 41 4e 2c 0a  PANISH_MEXICAN,.
66b0: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48  .SUBLANG_SPANISH
66c0: 5f 4d 4f 44 45 52 4e 2c 0a 09 53 55 42 4c 41 4e  _MODERN,..SUBLAN
66d0: 47 5f 53 50 41 4e 49 53 48 5f 47 55 41 54 45 4d  G_SPANISH_GUATEM
66e0: 41 4c 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50  ALA,..SUBLANG_SP
66f0: 41 4e 49 53 48 5f 43 4f 53 54 41 5f 52 49 43 41  ANISH_COSTA_RICA
6700: 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49  ,..SUBLANG_SPANI
6710: 53 48 5f 50 41 4e 41 4d 41 2c 0a 09 53 55 42 4c  SH_PANAMA,..SUBL
6720: 41 4e 47 5f 53 50 41 4e 49 53 48 5f 44 4f 4d 49  ANG_SPANISH_DOMI
6730: 4e 49 43 41 4e 5f 52 45 50 55 42 4c 49 43 2c 0a  NICAN_REPUBLIC,.
6740: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48  .SUBLANG_SPANISH
6750: 5f 56 45 4e 45 5a 55 45 4c 41 2c 0a 09 53 55 42  _VENEZUELA,..SUB
6760: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 43 4f 4c  LANG_SPANISH_COL
6770: 4f 4d 42 49 41 2c 0a 09 53 55 42 4c 41 4e 47 5f  OMBIA,..SUBLANG_
6780: 53 50 41 4e 49 53 48 5f 50 45 52 55 2c 0a 09 53  SPANISH_PERU,..S
6790: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 41  UBLANG_SPANISH_A
67a0: 52 47 45 4e 54 49 4e 41 2c 0a 09 53 55 42 4c 41  RGENTINA,..SUBLA
67b0: 4e 47 5f 53 50 41 4e 49 53 48 5f 45 43 55 41 44  NG_SPANISH_ECUAD
67c0: 4f 52 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41  OR,..SUBLANG_SPA
67d0: 4e 49 53 48 5f 43 48 49 4c 45 2c 0a 09 53 55 42  NISH_CHILE,..SUB
67e0: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 55 52 55  LANG_SPANISH_URU
67f0: 47 55 41 59 2c 0a 09 53 55 42 4c 41 4e 47 5f 53  GUAY,..SUBLANG_S
6800: 50 41 4e 49 53 48 5f 50 41 52 41 47 55 41 59 2c  PANISH_PARAGUAY,
6810: 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53  ..SUBLANG_SPANIS
6820: 48 5f 42 4f 4c 49 56 49 41 2c 0a 09 53 55 42 4c  H_BOLIVIA,..SUBL
6830: 41 4e 47 5f 53 50 41 4e 49 53 48 5f 45 4c 5f 53  ANG_SPANISH_EL_S
6840: 41 4c 56 41 44 4f 52 2c 0a 09 53 55 42 4c 41 4e  ALVADOR,..SUBLAN
6850: 47 5f 53 50 41 4e 49 53 48 5f 48 4f 4e 44 55 52  G_SPANISH_HONDUR
6860: 41 53 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41  AS,..SUBLANG_SPA
6870: 4e 49 53 48 5f 4e 49 43 41 52 41 47 55 41 2c 0a  NISH_NICARAGUA,.
6880: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48  .SUBLANG_SPANISH
6890: 5f 50 55 45 52 54 4f 5f 52 49 43 4f 2c 0a 09 53  _PUERTO_RICO,..S
68a0: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 55  UBLANG_SPANISH_U
68b0: 53 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  S,              
68c0: 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 32 31 0a          // = 21.
68d0: 0a 09 53 55 42 4c 41 4e 47 5f 53 57 45 44 49 53  ..SUBLANG_SWEDIS
68e0: 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  H               
68f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
6900: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 57 45   1,..SUBLANG_SWE
6910: 44 49 53 48 5f 53 57 45 44 45 4e 20 20 20 20 20  DISH_SWEDEN     
6920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6930: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f   =  1,..SUBLANG_
6940: 53 57 45 44 49 53 48 5f 46 49 4e 4c 41 4e 44 2c  SWEDISH_FINLAND,
6950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6960: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41   // =  2...SUBLA
6970: 4e 47 5f 53 59 52 49 41 43 20 20 20 20 20 20 20  NG_SYRIAC       
6980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6990: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
69a0: 42 4c 41 4e 47 5f 54 41 4a 49 4b 5f 54 41 4a 49  BLANG_TAJIK_TAJI
69b0: 4b 49 53 54 41 4e 20 20 20 20 20 20 20 20 20 20  KISTAN          
69c0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
69d0: 09 53 55 42 4c 41 4e 47 5f 54 41 4d 41 5a 49 47  .SUBLANG_TAMAZIG
69e0: 48 54 5f 41 4c 47 45 52 49 41 5f 4c 41 54 49 4e  HT_ALGERIA_LATIN
69f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
6a00: 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 41 4d 49  2,..SUBLANG_TAMI
6a10: 4c 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20  L_INDIA         
6a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a30: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 54  =  1,..SUBLANG_T
6a40: 41 54 41 52 5f 52 55 53 53 49 41 20 20 20 20 20  ATAR_RUSSIA     
6a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a60: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
6a70: 47 5f 54 45 4c 55 47 55 5f 49 4e 44 49 41 20 20  G_TELUGU_INDIA  
6a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a90: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42        =  1,..SUB
6aa0: 4c 41 4e 47 5f 54 48 41 49 5f 54 48 41 49 4c 41  LANG_THAI_THAILA
6ab0: 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ND              
6ac0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09           =  1,..
6ad0: 53 55 42 4c 41 4e 47 5f 54 49 42 45 54 41 4e 5f  SUBLANG_TIBETAN_
6ae0: 50 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20  PRC             
6af0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31              =  1
6b00: 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 49 42 45 54  ,..SUBLANG_TIBET
6b10: 41 4e 5f 42 48 55 54 41 4e 20 20 20 20 20 20 20  AN_BHUTAN       
6b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
6b30: 20 20 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 49    2,..SUBLANG_TI
6b40: 47 52 49 47 4e 41 5f 45 52 49 54 52 45 41 20 20  GRIGNA_ERITREA  
6b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6b60: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47    =  1,..SUBLANG
6b70: 5f 54 53 57 41 4e 41 5f 53 4f 55 54 48 5f 41 46  _TSWANA_SOUTH_AF
6b80: 52 49 43 41 20 20 20 20 20 20 20 20 20 20 20 20  RICA            
6b90: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c       =  1,..SUBL
6ba0: 41 4e 47 5f 54 55 52 4b 49 53 48 5f 54 55 52 4b  ANG_TURKISH_TURK
6bb0: 45 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20  EY              
6bc0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53          =  1,..S
6bd0: 55 42 4c 41 4e 47 5f 54 55 52 4b 4d 45 4e 5f 54  UBLANG_TURKMEN_T
6be0: 55 52 4b 4d 45 4e 49 53 54 41 4e 20 20 20 20 20  URKMENISTAN     
6bf0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
6c00: 0a 09 53 55 42 4c 41 4e 47 5f 55 49 47 48 55 52  ..SUBLANG_UIGHUR
6c10: 5f 50 52 43 20 20 20 20 20 20 20 20 20 20 20 20  _PRC            
6c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
6c30: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 55 4b 52   1,..SUBLANG_UKR
6c40: 41 49 4e 49 41 4e 5f 55 4b 52 41 49 4e 45 20 20  AINIAN_UKRAINE  
6c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6c60: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f   =  1,..SUBLANG_
6c70: 55 50 50 45 52 5f 53 4f 52 42 49 41 4e 5f 47 45  UPPER_SORBIAN_GE
6c80: 52 4d 41 4e 59 20 20 20 20 20 20 20 20 20 20 20  RMANY           
6c90: 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c      =  1,...SUBL
6ca0: 41 4e 47 5f 55 52 44 55 5f 50 41 4b 49 53 54 41  ANG_URDU_PAKISTA
6cb0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
6cc0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53          =  1,..S
6cd0: 55 42 4c 41 4e 47 5f 55 52 44 55 5f 49 4e 44 49  UBLANG_URDU_INDI
6ce0: 41 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  A,              
6cf0: 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 32 0a          // =  2.
6d00: 0a 09 53 55 42 4c 41 4e 47 5f 55 5a 42 45 4b 5f  ..SUBLANG_UZBEK_
6d10: 4c 41 54 49 4e 20 20 20 20 20 20 20 20 20 20 20  LATIN           
6d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
6d30: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 55 5a 42   1,..SUBLANG_UZB
6d40: 45 4b 5f 43 59 52 49 4c 4c 49 43 2c 20 20 20 20  EK_CYRILLIC,    
6d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f                //
6d60: 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47 5f   =  2...SUBLANG_
6d70: 56 49 45 54 4e 41 4d 45 53 45 5f 56 49 45 54 4e  VIETNAMESE_VIETN
6d80: 41 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20  AM              
6d90: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41      =  1,..SUBLA
6da0: 4e 47 5f 57 45 4c 53 48 5f 55 4e 49 54 45 44 5f  NG_WELSH_UNITED_
6db0: 4b 49 4e 47 44 4f 4d 20 20 20 20 20 20 20 20 20  KINGDOM         
6dc0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55         =  1,..SU
6dd0: 42 4c 41 4e 47 5f 57 4f 4c 4f 46 5f 53 45 4e 45  BLANG_WOLOF_SENE
6de0: 47 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20  GAL             
6df0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a            =  1,.
6e00: 09 53 55 42 4c 41 4e 47 5f 59 4f 52 55 42 41 5f  .SUBLANG_YORUBA_
6e10: 4e 49 47 45 52 49 41 20 20 20 20 20 20 20 20 20  NIGERIA         
6e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20               =  
6e30: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 58 48 4f 53  1,..SUBLANG_XHOS
6e40: 41 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 20  A_SOUTH_AFRICA  
6e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6e60: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 59  =  1,..SUBLANG_Y
6e70: 41 4b 55 54 5f 52 55 53 53 49 41 20 20 20 20 20  AKUT_RUSSIA     
6e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6e90: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e     =  1,..SUBLAN
6ea0: 47 5f 59 49 5f 50 52 43 20 20 20 20 20 20 20 20  G_YI_PRC        
6eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6ec0: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42        =  1,..SUB
6ed0: 4c 41 4e 47 5f 5a 55 4c 55 5f 53 4f 55 54 48 5f  LANG_ZULU_SOUTH_
6ee0: 41 46 52 49 43 41 20 20 20 20 20 20 20 20 20 20  AFRICA          
6ef0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 0a 7d 0a           =  1.}.
6f00: 0a 2f 2f 20 54 68 69 73 20 69 73 20 6e 6f 74 20  .// This is not 
6f10: 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53  documented on MS
6f20: 44 4e 0a 63 6f 6e 73 74 20 4e 4c 53 5f 56 41 4c  DN.const NLS_VAL
6f30: 49 44 5f 4c 4f 43 41 4c 45 5f 4d 41 53 4b 20 3d  ID_LOCALE_MASK =
6f40: 20 31 30 34 38 35 37 35 3b 0a 0a 2f 2f 20 53 6f   1048575;..// So
6f50: 72 74 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72  rting identifier
6f60: 73 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a  s.enum : WORD {.
6f70: 09 53 4f 52 54 5f 44 45 46 41 55 4c 54 20 20 20  .SORT_DEFAULT   
6f80: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a             = 0,.
6f90: 09 53 4f 52 54 5f 4a 41 50 41 4e 45 53 45 5f 58  .SORT_JAPANESE_X
6fa0: 4a 49 53 20 20 20 20 20 20 20 20 3d 20 30 2c 0a  JIS        = 0,.
6fb0: 09 53 4f 52 54 5f 4a 41 50 41 4e 45 53 45 5f 55  .SORT_JAPANESE_U
6fc0: 4e 49 43 4f 44 45 20 20 20 20 20 3d 20 31 2c 0a  NICODE     = 1,.
6fd0: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 42 49  .SORT_CHINESE_BI
6fe0: 47 35 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a  G5         = 0,.
6ff0: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52  .SORT_CHINESE_PR
7000: 43 50 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a  CP         = 0,.
7010: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 55 4e  .SORT_CHINESE_UN
7020: 49 43 4f 44 45 20 20 20 20 20 20 3d 20 31 2c 0a  ICODE      = 1,.
7030: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52  .SORT_CHINESE_PR
7040: 43 20 20 20 20 20 20 20 20 20 20 3d 20 32 2c 0a  C          = 2,.
7050: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 42 4f  .SORT_CHINESE_BO
7060: 50 4f 4d 4f 46 4f 20 20 20 20 20 3d 20 33 2c 0a  POMOFO     = 3,.
7070: 09 53 4f 52 54 5f 4b 4f 52 45 41 4e 5f 4b 53 43  .SORT_KOREAN_KSC
7080: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a             = 0,.
7090: 09 53 4f 52 54 5f 4b 4f 52 45 41 4e 5f 55 4e 49  .SORT_KOREAN_UNI
70a0: 43 4f 44 45 20 20 20 20 20 20 20 3d 20 31 2c 0a  CODE       = 1,.
70b0: 09 53 4f 52 54 5f 47 45 52 4d 41 4e 5f 50 48 4f  .SORT_GERMAN_PHO
70c0: 4e 45 5f 42 4f 4f 4b 20 20 20 20 3d 20 31 2c 0a  NE_BOOK    = 1,.
70d0: 09 53 4f 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f  .SORT_HUNGARIAN_
70e0: 44 45 46 41 55 4c 54 20 20 20 20 3d 20 30 2c 0a  DEFAULT    = 0,.
70f0: 09 53 4f 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f  .SORT_HUNGARIAN_
7100: 54 45 43 48 4e 49 43 41 4c 20 20 3d 20 31 2c 0a  TECHNICAL  = 1,.
7110: 09 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 54  .SORT_GEORGIAN_T
7120: 52 41 44 49 54 49 4f 4e 41 4c 20 3d 20 30 2c 0a  RADITIONAL = 0,.
7130: 09 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 4d  .SORT_GEORGIAN_M
7140: 4f 44 45 52 4e 20 20 20 20 20 20 3d 20 31 0a 7d  ODERN      = 1.}
7150: 0a 0a 57 4f 52 44 20 4d 41 4b 45 4c 41 4e 47 49  ..WORD MAKELANGI
7160: 44 28 55 53 48 4f 52 54 20 70 2c 20 55 53 48 4f  D(USHORT p, USHO
7170: 52 54 20 73 29 20 7b 20 72 65 74 75 72 6e 20 63  RT s) { return c
7180: 61 73 74 28 57 4f 52 44 29 28 28 73 20 3c 3c 20  ast(WORD)((s << 
7190: 31 30 29 20 7c 20 70 29 3b 20 7d 0a 57 4f 52 44  10) | p); }.WORD
71a0: 20 50 52 49 4d 41 52 59 4c 41 4e 47 49 44 28 57   PRIMARYLANGID(W
71b0: 4f 52 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75  ORD lgid) { retu
71c0: 72 6e 20 63 61 73 74 28 57 4f 52 44 29 28 6c 67  rn cast(WORD)(lg
71d0: 69 64 20 26 20 30 78 33 46 46 29 3b 20 7d 0a 57  id & 0x3FF); }.W
71e0: 4f 52 44 20 53 55 42 4c 41 4e 47 49 44 28 57 4f  ORD SUBLANGID(WO
71f0: 52 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75 72  RD lgid) { retur
7200: 6e 20 63 61 73 74 28 57 4f 52 44 29 28 6c 67 69  n cast(WORD)(lgi
7210: 64 20 3e 3e 3e 20 31 30 29 3b 20 7d 0a 0a 44 57  d >>> 10); }..DW
7220: 4f 52 44 20 4d 41 4b 45 4c 43 49 44 28 57 4f 52  ORD MAKELCID(WOR
7230: 44 20 6c 67 69 64 2c 20 57 4f 52 44 20 73 72 74  D lgid, WORD srt
7240: 69 64 29 20 7b 20 72 65 74 75 72 6e 20 28 63 61  id) { return (ca
7250: 73 74 28 44 57 4f 52 44 29 20 73 72 74 69 64 20  st(DWORD) srtid 
7260: 3c 3c 20 31 36 29 20 7c 20 63 61 73 74 28 44 57  << 16) | cast(DW
7270: 4f 52 44 29 20 6c 67 69 64 3b 20 7d 0a 2f 2f 20  ORD) lgid; }.// 
7280: 3f 3f 3f 0a 2f 2f 44 57 4f 52 44 20 4d 41 4b 45  ???.//DWORD MAKE
7290: 53 4f 52 54 4c 43 49 44 28 57 4f 52 44 20 6c 67  SORTLCID(WORD lg
72a0: 69 64 2c 20 57 4f 52 44 20 73 72 74 69 64 2c 20  id, WORD srtid, 
72b0: 57 4f 52 44 20 76 65 72 29 20 7b 20 72 65 74 75  WORD ver) { retu
72c0: 72 6e 20 28 4d 41 4b 45 4c 43 49 44 28 6c 67 69  rn (MAKELCID(lgi
72d0: 64 2c 20 73 72 74 69 64 29 29 20 7c 20 28 28 63  d, srtid)) | ((c
72e0: 61 73 74 28 44 57 4f 52 44 29 76 65 72 29 20 3c  ast(DWORD)ver) <
72f0: 3c 20 32 30 29 3b 20 7d 0a 57 4f 52 44 20 4c 41  < 20); }.WORD LA
7300: 4e 47 49 44 46 52 4f 4d 4c 43 49 44 28 4c 43 49  NGIDFROMLCID(LCI
7310: 44 20 6c 63 69 64 29 20 7b 20 72 65 74 75 72 6e  D lcid) { return
7320: 20 63 61 73 74 28 57 4f 52 44 29 20 6c 63 69 64   cast(WORD) lcid
7330: 3b 20 7d 0a 57 4f 52 44 20 53 4f 52 54 49 44 46  ; }.WORD SORTIDF
7340: 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c 63 69  ROMLCID(LCID lci
7350: 64 29 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74  d) { return cast
7360: 28 57 4f 52 44 29 20 28 28 6c 63 69 64 20 3e 3e  (WORD) ((lcid >>
7370: 3e 20 31 36 29 20 26 20 30 78 30 46 29 3b 20 7d  > 16) & 0x0F); }
7380: 0a 57 4f 52 44 20 53 4f 52 54 56 45 52 53 49 4f  .WORD SORTVERSIO
7390: 4e 46 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c  NFROMLCID(LCID l
73a0: 63 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 61  cid) { return ca
73b0: 73 74 28 57 4f 52 44 29 20 28 28 6c 63 69 64 20  st(WORD) ((lcid 
73c0: 3e 3e 3e 20 32 30 29 20 26 20 30 78 30 46 29 3b  >>> 20) & 0x0F);
73d0: 20 7d 0a 0a 63 6f 6e 73 74 20 57 4f 52 44 20 4c   }..const WORD L
73e0: 41 4e 47 5f 53 59 53 54 45 4d 5f 44 45 46 41 55  ANG_SYSTEM_DEFAU
73f0: 4c 54 20 3d 20 28 53 55 42 4c 41 4e 47 5f 53 59  LT = (SUBLANG_SY
7400: 53 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 30 29  S_DEFAULT << 10)
7410: 20 7c 20 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 3b   | LANG_NEUTRAL;
7420: 0a 63 6f 6e 73 74 20 57 4f 52 44 20 4c 41 4e 47  .const WORD LANG
7430: 5f 55 53 45 52 5f 44 45 46 41 55 4c 54 20 20 20  _USER_DEFAULT   
7440: 3d 20 28 53 55 42 4c 41 4e 47 5f 44 45 46 41 55  = (SUBLANG_DEFAU
7450: 4c 54 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e 47  LT << 10) | LANG
7460: 5f 4e 45 55 54 52 41 4c 3b 0a 63 6f 6e 73 74 20  _NEUTRAL;.const 
7470: 44 57 4f 52 44 20 4c 4f 43 41 4c 45 5f 4e 45 55  DWORD LOCALE_NEU
7480: 54 52 41 4c 20 20 20 20 20 3d 20 28 53 4f 52 54  TRAL     = (SORT
7490: 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 36 29 0a  _DEFAULT << 16).
74a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
74b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
74c0: 20 7c 20 28 53 55 42 4c 41 4e 47 5f 4e 45 55 54   | (SUBLANG_NEUT
74d0: 52 41 4c 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e  RAL << 10) | LAN
74e0: 47 5f 4e 45 55 54 52 41 4c 3b 0a 0a 2f 2f 20 2d  G_NEUTRAL;..// -
74f0: 2d 2d 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b  --.enum : BYTE {
7500: 0a 09 41 43 4c 5f 52 45 56 49 53 49 4f 4e 20 20  ..ACL_REVISION  
7510: 20 20 3d 20 32 2c 0a 09 41 43 4c 5f 52 45 56 49    = 2,..ACL_REVI
7520: 53 49 4f 4e 5f 44 53 20 3d 20 34 0a 7d 0a 0a 2f  SION_DS = 4.}../
7530: 2f 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74 20  / These are not 
7540: 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53  documented on MS
7550: 44 4e 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b  DN.enum : BYTE {
7560: 0a 09 41 43 4c 5f 52 45 56 49 53 49 4f 4e 31 20  ..ACL_REVISION1 
7570: 20 20 20 3d 20 31 2c 0a 09 41 43 4c 5f 52 45 56     = 1,..ACL_REV
7580: 49 53 49 4f 4e 32 2c 0a 09 41 43 4c 5f 52 45 56  ISION2,..ACL_REV
7590: 49 53 49 4f 4e 33 2c 0a 09 41 43 4c 5f 52 45 56  ISION3,..ACL_REV
75a0: 49 53 49 4f 4e 34 20 2f 2f 20 3d 20 34 0a 7d 0a  ISION4 // = 4.}.
75b0: 0a 63 6f 6e 73 74 20 42 59 54 45 0a 09 4d 49 4e  .const BYTE..MIN
75c0: 5f 41 43 4c 5f 52 45 56 49 53 49 4f 4e 20 3d 20  _ACL_REVISION = 
75d0: 32 2c 0a 09 4d 41 58 5f 41 43 4c 5f 52 45 56 49  2,..MAX_ACL_REVI
75e0: 53 49 4f 4e 20 3d 20 34 3b 0a 0a 2f 2b 0a 2f 2f  SION = 4;../+.//
75f0: 20 54 68 65 73 65 20 61 72 65 6e 27 74 20 6e 65   These aren't ne
7600: 63 65 73 73 61 72 79 20 66 6f 72 20 44 2e 0a 63  cessary for D..c
7610: 6f 6e 73 74 20 4d 49 4e 43 48 41 52 3d 30 78 38  onst MINCHAR=0x8
7620: 30 3b 0a 63 6f 6e 73 74 20 4d 41 58 43 48 41 52  0;.const MAXCHAR
7630: 3d 30 78 37 66 3b 0a 63 6f 6e 73 74 20 4d 49 4e  =0x7f;.const MIN
7640: 53 48 4f 52 54 3d 30 78 38 30 30 30 3b 0a 63 6f  SHORT=0x8000;.co
7650: 6e 73 74 20 4d 41 58 53 48 4f 52 54 3d 30 78 37  nst MAXSHORT=0x7
7660: 66 66 66 3b 0a 63 6f 6e 73 74 20 4d 49 4e 4c 4f  fff;.const MINLO
7670: 4e 47 3d 30 78 38 30 30 30 30 30 30 30 3b 0a 63  NG=0x80000000;.c
7680: 6f 6e 73 74 20 4d 41 58 4c 4f 4e 47 3d 30 78 37  onst MAXLONG=0x7
7690: 66 66 66 66 66 66 66 3b 0a 63 6f 6e 73 74 20 4d  fffffff;.const M
76a0: 41 58 42 59 54 45 3d 30 78 66 66 3b 0a 63 6f 6e  AXBYTE=0xff;.con
76b0: 73 74 20 4d 41 58 57 4f 52 44 3d 30 78 66 66 66  st MAXWORD=0xfff
76c0: 66 3b 0a 63 6f 6e 73 74 20 4d 41 58 44 57 4f 52  f;.const MAXDWOR
76d0: 44 3d 30 78 66 66 66 66 66 66 66 66 3b 0a 2b 2f  D=0xffffffff;.+/
76e0: 0a 0a 2f 2f 20 53 59 53 54 45 4d 5f 49 4e 46 4f  ..// SYSTEM_INFO
76f0: 2e 64 77 50 72 6f 63 65 73 73 6f 72 54 79 70 65  .dwProcessorType
7700: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
7710: 09 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54 45 4c  .PROCESSOR_INTEL
7720: 5f 33 38 36 20 20 20 20 20 3d 20 20 20 33 38 36  _386     =   386
7730: 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54  ,..PROCESSOR_INT
7740: 45 4c 5f 34 38 36 20 20 20 20 20 3d 20 20 20 34  EL_486     =   4
7750: 38 36 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 49  86,..PROCESSOR_I
7760: 4e 54 45 4c 5f 50 45 4e 54 49 55 4d 20 3d 20 20  NTEL_PENTIUM =  
7770: 20 35 38 36 2c 0a 09 50 52 4f 43 45 53 53 4f 52   586,..PROCESSOR
7780: 5f 4d 49 50 53 5f 52 34 30 30 30 20 20 20 20 3d  _MIPS_R4000    =
7790: 20 20 34 30 30 30 2c 0a 09 50 52 4f 43 45 53 53    4000,..PROCESS
77a0: 4f 52 5f 41 4c 50 48 41 5f 32 31 30 36 34 20 20  OR_ALPHA_21064  
77b0: 20 3d 20 32 31 30 36 34 2c 0a 09 50 52 4f 43 45   = 21064,..PROCE
77c0: 53 53 4f 52 5f 49 4e 54 45 4c 5f 49 41 36 34 20  SSOR_INTEL_IA64 
77d0: 20 20 20 3d 20 20 32 32 30 30 0a 7d 0a 0a 2f 2f     =  2200.}..//
77e0: 20 53 59 53 54 45 4d 5f 49 4e 46 4f 2e 77 50 72   SYSTEM_INFO.wPr
77f0: 6f 63 65 73 73 6f 72 41 72 63 68 69 74 65 63 74  ocessorArchitect
7800: 75 72 65 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20  ure.enum : WORD 
7810: 7b 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43  {..PROCESSOR_ARC
7820: 48 49 54 45 43 54 55 52 45 5f 49 4e 54 45 4c 2c  HITECTURE_INTEL,
7830: 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48  ..PROCESSOR_ARCH
7840: 49 54 45 43 54 55 52 45 5f 4d 49 50 53 2c 0a 09  ITECTURE_MIPS,..
7850: 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54  PROCESSOR_ARCHIT
7860: 45 43 54 55 52 45 5f 41 4c 50 48 41 2c 0a 09 50  ECTURE_ALPHA,..P
7870: 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45  ROCESSOR_ARCHITE
7880: 43 54 55 52 45 5f 50 50 43 2c 0a 09 50 52 4f 43  CTURE_PPC,..PROC
7890: 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54 55  ESSOR_ARCHITECTU
78a0: 52 45 5f 53 48 58 2c 0a 09 50 52 4f 43 45 53 53  RE_SHX,..PROCESS
78b0: 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f  OR_ARCHITECTURE_
78c0: 41 52 4d 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f  ARM,..PROCESSOR_
78d0: 41 52 43 48 49 54 45 43 54 55 52 45 5f 49 41 36  ARCHITECTURE_IA6
78e0: 34 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52  4,..PROCESSOR_AR
78f0: 43 48 49 54 45 43 54 55 52 45 5f 41 4c 50 48 41  CHITECTURE_ALPHA
7900: 36 34 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41  64,..PROCESSOR_A
7910: 52 43 48 49 54 45 43 54 55 52 45 5f 4d 53 49 4c  RCHITECTURE_MSIL
7920: 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43  ,..PROCESSOR_ARC
7930: 48 49 54 45 43 54 55 52 45 5f 41 4d 44 36 34 2c  HITECTURE_AMD64,
7940: 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48  ..PROCESSOR_ARCH
7950: 49 54 45 43 54 55 52 45 5f 49 41 33 32 5f 4f 4e  ITECTURE_IA32_ON
7960: 5f 57 49 4e 36 34 2c 20 2f 2f 20 3d 20 31 30 0a  _WIN64, // = 10.
7970: 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49  .PROCESSOR_ARCHI
7980: 54 45 43 54 55 52 45 5f 55 4e 4b 4e 4f 57 4e 20  TECTURE_UNKNOWN 
7990: 3d 20 30 78 46 46 46 46 0a 7d 0a 0a 2f 2f 20 49  = 0xFFFF.}..// I
79a0: 73 50 72 6f 63 65 73 73 6f 72 46 65 61 74 75 72  sProcessorFeatur
79b0: 65 50 72 65 73 65 6e 74 28 29 0a 65 6e 75 6d 20  ePresent().enum 
79c0: 3a 20 44 57 4f 52 44 20 7b 0a 09 50 46 5f 46 4c  : DWORD {..PF_FL
79d0: 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 5f 50 52 45  OATING_POINT_PRE
79e0: 43 49 53 49 4f 4e 5f 45 52 52 41 54 41 2c 0a 09  CISION_ERRATA,..
79f0: 50 46 5f 46 4c 4f 41 54 49 4e 47 5f 50 4f 49 4e  PF_FLOATING_POIN
7a00: 54 5f 45 4d 55 4c 41 54 45 44 2c 0a 09 50 46 5f  T_EMULATED,..PF_
7a10: 43 4f 4d 50 41 52 45 5f 45 58 43 48 41 4e 47 45  COMPARE_EXCHANGE
7a20: 5f 44 4f 55 42 4c 45 2c 0a 09 50 46 5f 4d 4d 58  _DOUBLE,..PF_MMX
7a30: 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41 56  _INSTRUCTIONS_AV
7a40: 41 49 4c 41 42 4c 45 2c 0a 09 50 46 5f 50 50 43  AILABLE,..PF_PPC
7a50: 5f 4d 4f 56 45 4d 45 4d 5f 36 34 42 49 54 5f 4f  _MOVEMEM_64BIT_O
7a60: 4b 2c 0a 09 50 46 5f 41 4c 50 48 41 5f 42 59 54  K,..PF_ALPHA_BYT
7a70: 45 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 2c 0a  E_INSTRUCTIONS,.
7a80: 09 50 46 5f 58 4d 4d 49 5f 49 4e 53 54 52 55 43  .PF_XMMI_INSTRUC
7a90: 54 49 4f 4e 53 5f 41 56 41 49 4c 41 42 4c 45 2c  TIONS_AVAILABLE,
7aa0: 0a 09 50 46 5f 33 44 4e 4f 57 5f 49 4e 53 54 52  ..PF_3DNOW_INSTR
7ab0: 55 43 54 49 4f 4e 53 5f 41 56 41 49 4c 41 42 4c  UCTIONS_AVAILABL
7ac0: 45 2c 0a 09 50 46 5f 52 44 54 53 43 5f 49 4e 53  E,..PF_RDTSC_INS
7ad0: 54 52 55 43 54 49 4f 4e 5f 41 56 41 49 4c 41 42  TRUCTION_AVAILAB
7ae0: 4c 45 2c 0a 09 50 46 5f 50 41 45 5f 45 4e 41 42  LE,..PF_PAE_ENAB
7af0: 4c 45 44 2c 0a 09 50 46 5f 58 4d 4d 49 36 34 5f  LED,..PF_XMMI64_
7b00: 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41 56 41  INSTRUCTIONS_AVA
7b10: 49 4c 41 42 4c 45 0a 7d 0a 0a 2f 2f 20 4d 69 6e  ILABLE.}..// Min
7b20: 47 57 3a 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f  GW: also in ddk/
7b30: 6e 74 69 66 73 2e 68 0a 65 6e 75 6d 20 3a 20 44  ntifs.h.enum : D
7b40: 57 4f 52 44 20 7b 0a 09 46 49 4c 45 5f 41 43 54  WORD {..FILE_ACT
7b50: 49 4f 4e 5f 41 44 44 45 44 20 3d 20 31 2c 0a 09  ION_ADDED = 1,..
7b60: 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45 4d 4f  FILE_ACTION_REMO
7b70: 56 45 44 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f  VED,..FILE_ACTIO
7b80: 4e 5f 4d 4f 44 49 46 49 45 44 2c 0a 09 46 49 4c  N_MODIFIED,..FIL
7b90: 45 5f 41 43 54 49 4f 4e 5f 52 45 4e 41 4d 45 44  E_ACTION_RENAMED
7ba0: 5f 4f 4c 44 5f 4e 41 4d 45 2c 0a 09 46 49 4c 45  _OLD_NAME,..FILE
7bb0: 5f 41 43 54 49 4f 4e 5f 52 45 4e 41 4d 45 44 5f  _ACTION_RENAMED_
7bc0: 4e 45 57 5f 4e 41 4d 45 2c 0a 09 46 49 4c 45 5f  NEW_NAME,..FILE_
7bd0: 41 43 54 49 4f 4e 5f 41 44 44 45 44 5f 53 54 52  ACTION_ADDED_STR
7be0: 45 41 4d 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f  EAM,..FILE_ACTIO
7bf0: 4e 5f 52 45 4d 4f 56 45 44 5f 53 54 52 45 41 4d  N_REMOVED_STREAM
7c00: 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 4d  ,..FILE_ACTION_M
7c10: 4f 44 49 46 49 45 44 5f 53 54 52 45 41 4d 2c 0a  ODIFIED_STREAM,.
7c20: 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45 4d  .FILE_ACTION_REM
7c30: 4f 56 45 44 5f 42 59 5f 44 45 4c 45 54 45 2c 0a  OVED_BY_DELETE,.
7c40: 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 49 44 5f  .FILE_ACTION_ID_
7c50: 4e 4f 54 5f 54 55 4e 4e 45 4c 4c 45 44 2c 0a 09  NOT_TUNNELLED,..
7c60: 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 54 55 4e 4e  FILE_ACTION_TUNN
7c70: 45 4c 4c 45 44 5f 49 44 5f 43 4f 4c 4c 49 53 49  ELLED_ID_COLLISI
7c80: 4f 4e 20 2f 2f 20 3d 20 31 31 0a 7d 0a 2f 2f 20  ON // = 11.}.// 
7c90: 4d 69 6e 47 57 3a 20 65 6e 64 20 6e 74 69 66 73  MinGW: end ntifs
7ca0: 2e 68 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a  .h..const DWORD.
7cb0: 09 48 45 41 50 5f 4e 4f 5f 53 45 52 49 41 4c 49  .HEAP_NO_SERIALI
7cc0: 5a 45 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  ZE             =
7cd0: 20 30 78 30 31 2c 0a 09 48 45 41 50 5f 47 52 4f   0x01,..HEAP_GRO
7ce0: 57 41 42 4c 45 20 20 20 20 20 20 20 20 20 20 20  WABLE           
7cf0: 20 20 20 20 20 20 3d 20 30 78 30 32 2c 0a 09 48        = 0x02,..H
7d00: 45 41 50 5f 47 45 4e 45 52 41 54 45 5f 45 58 43  EAP_GENERATE_EXC
7d10: 45 50 54 49 4f 4e 53 20 20 20 20 20 20 3d 20 30  EPTIONS      = 0
7d20: 78 30 34 2c 0a 09 48 45 41 50 5f 5a 45 52 4f 5f  x04,..HEAP_ZERO_
7d30: 4d 45 4d 4f 52 59 20 20 20 20 20 20 20 20 20 20  MEMORY          
7d40: 20 20 20 20 3d 20 30 78 30 38 2c 0a 09 48 45 41      = 0x08,..HEA
7d50: 50 5f 52 45 41 4c 4c 4f 43 5f 49 4e 5f 50 4c 41  P_REALLOC_IN_PLA
7d60: 43 45 5f 4f 4e 4c 59 20 20 20 20 3d 20 30 78 31  CE_ONLY    = 0x1
7d70: 30 2c 0a 09 48 45 41 50 5f 54 41 49 4c 5f 43 48  0,..HEAP_TAIL_CH
7d80: 45 43 4b 49 4e 47 5f 45 4e 41 42 4c 45 44 20 20  ECKING_ENABLED  
7d90: 20 20 3d 20 30 78 32 30 2c 0a 09 48 45 41 50 5f    = 0x20,..HEAP_
7da0: 46 52 45 45 5f 43 48 45 43 4b 49 4e 47 5f 45 4e  FREE_CHECKING_EN
7db0: 41 42 4c 45 44 20 20 20 20 3d 20 30 78 34 30 2c  ABLED    = 0x40,
7dc0: 0a 09 48 45 41 50 5f 44 49 53 41 42 4c 45 5f 43  ..HEAP_DISABLE_C
7dd0: 4f 41 4c 45 53 43 45 5f 4f 4e 5f 46 52 45 45 20  OALESCE_ON_FREE 
7de0: 3d 20 30 78 38 30 3b 0a 0a 2f 2f 20 54 68 65 73  = 0x80;..// Thes
7df0: 65 20 61 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65  e are not docume
7e00: 6e 74 65 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e  nted on MSDN.con
7e10: 73 74 20 48 45 41 50 5f 43 52 45 41 54 45 5f 41  st HEAP_CREATE_A
7e20: 4c 49 47 4e 5f 31 36 20 20 20 20 20 20 20 3d 20  LIGN_16       = 
7e30: 30 3b 0a 63 6f 6e 73 74 20 48 45 41 50 5f 43 52  0;.const HEAP_CR
7e40: 45 41 54 45 5f 45 4e 41 42 4c 45 5f 54 52 41 43  EATE_ENABLE_TRAC
7e50: 49 4e 47 20 3d 20 30 78 30 32 30 30 30 30 3b 0a  ING = 0x020000;.
7e60: 63 6f 6e 73 74 20 48 45 41 50 5f 4d 41 58 49 4d  const HEAP_MAXIM
7e70: 55 4d 5f 54 41 47 20 20 20 20 20 20 20 20 20 20  UM_TAG          
7e80: 20 3d 20 30 78 30 30 30 46 46 46 3b 0a 63 6f 6e   = 0x000FFF;.con
7e90: 73 74 20 48 45 41 50 5f 50 53 45 55 44 4f 5f 54  st HEAP_PSEUDO_T
7ea0: 41 47 5f 46 4c 41 47 20 20 20 20 20 20 20 3d 20  AG_FLAG       = 
7eb0: 30 78 30 30 38 30 30 30 3b 0a 63 6f 6e 73 74 20  0x008000;.const 
7ec0: 48 45 41 50 5f 54 41 47 5f 53 48 49 46 54 20 20  HEAP_TAG_SHIFT  
7ed0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 36 3b             = 16;
7ee0: 0a 2f 2f 20 3f 3f 3f 0a 2f 2f 4d 41 43 52 4f 20  .// ???.//MACRO 
7ef0: 23 64 65 66 69 6e 65 20 48 45 41 50 5f 4d 41 4b  #define HEAP_MAK
7f00: 45 5f 54 41 47 5f 46 4c 41 47 53 28 62 2c 6f 29  E_TAG_FLAGS(b,o)
7f10: 20 28 28 44 57 4f 52 44 29 28 28 62 29 2b 28 6f   ((DWORD)((b)+(o
7f20: 29 3c 3c 31 36 29 29 29 0a 0a 63 6f 6e 73 74 20  )<<16)))..const 
7f30: 41 43 43 45 53 53 5f 4d 41 53 4b 0a 09 4b 45 59  ACCESS_MASK..KEY
7f40: 5f 51 55 45 52 59 5f 56 41 4c 55 45 20 20 20 20  _QUERY_VALUE    
7f50: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 2c 0a      = 0x000001,.
7f60: 09 4b 45 59 5f 53 45 54 5f 56 41 4c 55 45 20 20  .KEY_SET_VALUE  
7f70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
7f80: 30 32 2c 0a 09 4b 45 59 5f 43 52 45 41 54 45 5f  02,..KEY_CREATE_
7f90: 53 55 42 5f 4b 45 59 20 20 20 20 20 3d 20 30 78  SUB_KEY     = 0x
7fa0: 30 30 30 30 30 34 2c 0a 09 4b 45 59 5f 45 4e 55  000004,..KEY_ENU
7fb0: 4d 45 52 41 54 45 5f 53 55 42 5f 4b 45 59 53 20  MERATE_SUB_KEYS 
7fc0: 3d 20 30 78 30 30 30 30 30 38 2c 0a 09 4b 45 59  = 0x000008,..KEY
7fd0: 5f 4e 4f 54 49 46 59 20 20 20 20 20 20 20 20 20  _NOTIFY         
7fe0: 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 2c 0a      = 0x000010,.
7ff0: 09 4b 45 59 5f 43 52 45 41 54 45 5f 4c 49 4e 4b  .KEY_CREATE_LINK
8000: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
8010: 32 30 2c 0a 09 4b 45 59 5f 57 52 49 54 45 20 20  20,..KEY_WRITE  
8020: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
8030: 30 32 30 30 30 36 2c 0a 09 4b 45 59 5f 45 58 45  020006,..KEY_EXE
8040: 43 55 54 45 20 20 20 20 20 20 20 20 20 20 20 20  CUTE            
8050: 3d 20 30 78 30 32 30 30 31 39 2c 0a 09 4b 45 59  = 0x020019,..KEY
8060: 5f 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20  _READ           
8070: 20 20 20 20 3d 20 30 78 30 32 30 30 31 39 2c 0a      = 0x020019,.
8080: 09 4b 45 59 5f 41 4c 4c 5f 41 43 43 45 53 53 20  .KEY_ALL_ACCESS 
8090: 20 20 20 20 20 20 20 20 3d 20 30 78 30 46 30 30          = 0x0F00
80a0: 33 46 3b 0a 0a 73 74 61 74 69 63 20 69 66 20 28  3F;..static if (
80b0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 35 30 32 29  WINVER >= 0x502)
80c0: 20 7b 0a 09 63 6f 6e 73 74 20 41 43 43 45 53 53   {..const ACCESS
80d0: 5f 4d 41 53 4b 0a 09 09 4b 45 59 5f 57 4f 57 36  _MASK...KEY_WOW6
80e0: 34 5f 36 34 4b 45 59 20 20 20 20 3d 20 30 78 30  4_64KEY    = 0x0
80f0: 30 30 31 30 30 2c 0a 09 09 4b 45 59 5f 57 4f 57  00100,...KEY_WOW
8100: 36 34 5f 33 32 4b 45 59 20 20 20 20 3d 20 30 78  64_32KEY    = 0x
8110: 30 30 30 32 30 30 3b 0a 7d 0a 0a 63 6f 6e 73 74  000200;.}..const
8120: 20 44 57 4f 52 44 0a 09 52 45 47 5f 57 48 4f 4c   DWORD..REG_WHOL
8130: 45 5f 48 49 56 45 5f 56 4f 4c 41 54 49 4c 45 20  E_HIVE_VOLATILE 
8140: 3d 20 31 2c 0a 09 52 45 47 5f 52 45 46 52 45 53  = 1,..REG_REFRES
8150: 48 5f 48 49 56 45 20 20 20 20 20 20 20 20 3d 20  H_HIVE        = 
8160: 32 2c 0a 09 52 45 47 5f 4e 4f 5f 4c 41 5a 59 5f  2,..REG_NO_LAZY_
8170: 46 4c 55 53 48 20 20 20 20 20 20 20 3d 20 34 3b  FLUSH       = 4;
8180: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 52  ..const DWORD..R
8190: 45 47 5f 4f 50 54 49 4f 4e 5f 52 45 53 45 52 56  EG_OPTION_RESERV
81a0: 45 44 20 20 20 20 20 20 20 3d 20 20 30 2c 0a 09  ED       =  0,..
81b0: 52 45 47 5f 4f 50 54 49 4f 4e 5f 4e 4f 4e 5f 56  REG_OPTION_NON_V
81c0: 4f 4c 41 54 49 4c 45 20 20 20 3d 20 20 30 2c 0a  OLATILE   =  0,.
81d0: 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 56 4f 4c 41  .REG_OPTION_VOLA
81e0: 54 49 4c 45 20 20 20 20 20 20 20 3d 20 20 31 2c  TILE       =  1,
81f0: 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 43 52 45  ..REG_OPTION_CRE
8200: 41 54 45 5f 4c 49 4e 4b 20 20 20 20 3d 20 20 32  ATE_LINK    =  2
8210: 2c 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 42 41  ,..REG_OPTION_BA
8220: 43 4b 55 50 5f 52 45 53 54 4f 52 45 20 3d 20 20  CKUP_RESTORE =  
8230: 34 2c 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 4f  4,..REG_OPTION_O
8240: 50 45 4e 5f 4c 49 4e 4b 20 20 20 20 20 20 3d 20  PEN_LINK      = 
8250: 20 38 2c 0a 09 52 45 47 5f 4c 45 47 41 4c 5f 4f   8,..REG_LEGAL_O
8260: 50 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 3d  PTION          =
8270: 20 31 35 3b 0a 0a 63 6f 6e 73 74 20 53 45 43 55   15;..const SECU
8280: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RITY_INFORMATION
8290: 0a 09 4f 57 4e 45 52 5f 53 45 43 55 52 49 54 59  ..OWNER_SECURITY
82a0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20 20  _INFORMATION    
82b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
82c0: 30 30 30 31 2c 0a 09 47 52 4f 55 50 5f 53 45 43  0001,..GROUP_SEC
82d0: 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f  URITY_INFORMATIO
82e0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  N            = 0
82f0: 78 30 30 30 30 30 30 30 32 2c 0a 09 44 41 43 4c  x00000002,..DACL
8300: 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d  _SECURITY_INFORM
8310: 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20  ATION           
8320: 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a    = 0x00000004,.
8330: 09 53 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49  .SACL_SECURITY_I
8340: 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20 20 20 20  NFORMATION      
8350: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
8360: 30 30 38 2c 0a 09 4c 41 42 45 4c 5f 53 45 43 55  008,..LABEL_SECU
8370: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RITY_INFORMATION
8380: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
8390: 30 30 30 30 30 30 31 30 2c 0a 09 55 4e 50 52 4f  00000010,..UNPRO
83a0: 54 45 43 54 45 44 5f 53 41 43 4c 5f 53 45 43 55  TECTED_SACL_SECU
83b0: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RITY_INFORMATION
83c0: 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09   = 0x10000000,..
83d0: 55 4e 50 52 4f 54 45 43 54 45 44 5f 44 41 43 4c  UNPROTECTED_DACL
83e0: 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d  _SECURITY_INFORM
83f0: 41 54 49 4f 4e 20 3d 20 30 78 32 30 30 30 30 30  ATION = 0x200000
8400: 30 30 2c 0a 09 50 52 4f 54 45 43 54 45 44 5f 53  00,..PROTECTED_S
8410: 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e 46  ACL_SECURITY_INF
8420: 4f 52 4d 41 54 49 4f 4e 20 20 20 3d 20 30 78 34  ORMATION   = 0x4
8430: 30 30 30 30 30 30 30 2c 0a 09 50 52 4f 54 45 43  0000000,..PROTEC
8440: 54 45 44 5f 44 41 43 4c 5f 53 45 43 55 52 49 54  TED_DACL_SECURIT
8450: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20  Y_INFORMATION   
8460: 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0a 0a 63  = 0x80000000;..c
8470: 6f 6e 73 74 20 44 57 4f 52 44 20 4d 41 58 49 4d  onst DWORD MAXIM
8480: 55 4d 5f 50 52 4f 43 45 53 53 4f 52 53 20 3d 20  UM_PROCESSORS = 
8490: 33 32 3b 0a 0a 2f 2f 20 56 69 72 74 75 61 6c 41  32;..// VirtualA
84a0: 6c 6c 6f 63 28 29 2c 20 65 74 63 0a 2f 2f 20 2d  lloc(), etc.// -
84b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
84c0: 2d 2d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44  --..enum : DWORD
84d0: 20 7b 0a 09 50 41 47 45 5f 4e 4f 41 43 43 45 53   {..PAGE_NOACCES
84e0: 53 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  S          = 0x0
84f0: 30 30 31 2c 0a 09 50 41 47 45 5f 52 45 41 44 4f  001,..PAGE_READO
8500: 4e 4c 59 20 20 20 20 20 20 20 20 20 20 3d 20 30  NLY          = 0
8510: 78 30 30 30 32 2c 0a 09 50 41 47 45 5f 52 45 41  x0002,..PAGE_REA
8520: 44 57 52 49 54 45 20 20 20 20 20 20 20 20 20 3d  DWRITE         =
8530: 20 30 78 30 30 30 34 2c 0a 09 50 41 47 45 5f 57   0x0004,..PAGE_W
8540: 52 49 54 45 43 4f 50 59 20 20 20 20 20 20 20 20  RITECOPY        
8550: 20 3d 20 30 78 30 30 30 38 2c 0a 09 50 41 47 45   = 0x0008,..PAGE
8560: 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20 20  _EXECUTE        
8570: 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 50 41     = 0x0010,..PA
8580: 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41 44 20  GE_EXECUTE_READ 
8590: 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09       = 0x0020,..
85a0: 50 41 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41  PAGE_EXECUTE_REA
85b0: 44 57 52 49 54 45 20 3d 20 30 78 30 30 34 30 2c  DWRITE = 0x0040,
85c0: 0a 09 50 41 47 45 5f 45 58 45 43 55 54 45 5f 57  ..PAGE_EXECUTE_W
85d0: 52 49 54 45 43 4f 50 59 20 3d 20 30 78 30 30 38  RITECOPY = 0x008
85e0: 30 2c 0a 09 50 41 47 45 5f 47 55 41 52 44 20 20  0,..PAGE_GUARD  
85f0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
8600: 31 30 30 2c 0a 09 50 41 47 45 5f 4e 4f 43 41 43  100,..PAGE_NOCAC
8610: 48 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  HE           = 0
8620: 78 30 32 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  x0200.}..enum : 
8630: 44 57 4f 52 44 20 7b 0a 09 4d 45 4d 5f 43 4f 4d  DWORD {..MEM_COM
8640: 4d 49 54 20 20 20 20 20 20 3d 20 30 78 30 30 30  MIT      = 0x000
8650: 30 31 30 30 30 2c 0a 09 4d 45 4d 5f 52 45 53 45  01000,..MEM_RESE
8660: 52 56 45 20 20 20 20 20 3d 20 30 78 30 30 30 30  RVE     = 0x0000
8670: 32 30 30 30 2c 0a 09 4d 45 4d 5f 44 45 43 4f 4d  2000,..MEM_DECOM
8680: 4d 49 54 20 20 20 20 3d 20 30 78 30 30 30 30 34  MIT    = 0x00004
8690: 30 30 30 2c 0a 09 4d 45 4d 5f 52 45 4c 45 41 53  000,..MEM_RELEAS
86a0: 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30  E     = 0x000080
86b0: 30 30 2c 0a 09 4d 45 4d 5f 46 52 45 45 20 20 20  00,..MEM_FREE   
86c0: 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30       = 0x0001000
86d0: 30 2c 0a 09 4d 45 4d 5f 50 52 49 56 41 54 45 20  0,..MEM_PRIVATE 
86e0: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30      = 0x00020000
86f0: 2c 0a 09 4d 45 4d 5f 4d 41 50 50 45 44 20 20 20  ,..MEM_MAPPED   
8700: 20 20 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c     = 0x00040000,
8710: 0a 09 4d 45 4d 5f 52 45 53 45 54 20 20 20 20 20  ..MEM_RESET     
8720: 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a    = 0x00080000,.
8730: 09 4d 45 4d 5f 54 4f 50 5f 44 4f 57 4e 20 20 20  .MEM_TOP_DOWN   
8740: 20 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09   = 0x00100000,..
8750: 4d 45 4d 5f 57 52 49 54 45 5f 57 41 54 43 48 20  MEM_WRITE_WATCH 
8760: 3d 20 30 78 30 30 32 30 30 30 30 30 2c 20 2f 2f  = 0x00200000, //
8770: 20 4d 69 6e 47 57 20 28 3f 3f 3f 29 3a 20 39 38   MinGW (???): 98
8780: 2f 4d 65 0a 09 4d 45 4d 5f 50 48 59 53 49 43 41  /Me..MEM_PHYSICA
8790: 4c 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 30  L    = 0x0040000
87a0: 30 2c 0a 09 4d 45 4d 5f 34 4d 42 5f 50 41 47 45  0,..MEM_4MB_PAGE
87b0: 53 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30  S   = 0x80000000
87c0: 0a 7d 0a 0a 2f 2f 20 4d 69 6e 47 57 3a 20 61 6c  .}..// MinGW: al
87d0: 73 6f 20 69 6e 20 64 64 6b 2f 6e 74 69 66 73 2e  so in ddk/ntifs.
87e0: 68 0a 2f 2f 20 43 72 65 61 74 65 46 69 6c 65 4d  h.// CreateFileM
87f0: 61 70 70 69 6e 67 28 29 0a 63 6f 6e 73 74 20 44  apping().const D
8800: 57 4f 52 44 0a 09 53 45 43 5f 42 41 53 45 44 20  WORD..SEC_BASED 
8810: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30      = 0x00200000
8820: 2c 0a 09 53 45 43 5f 4e 4f 5f 43 48 41 4e 47 45  ,..SEC_NO_CHANGE
8830: 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a 09   = 0x00400000,..
8840: 53 45 43 5f 46 49 4c 45 20 20 20 20 20 20 3d 20  SEC_FILE      = 
8850: 30 78 30 30 38 30 30 30 30 30 2c 0a 09 53 45 43  0x00800000,..SEC
8860: 5f 49 4d 41 47 45 20 20 20 20 20 3d 20 30 78 30  _IMAGE     = 0x0
8870: 31 30 30 30 30 30 30 2c 0a 09 53 45 43 5f 56 4c  1000000,..SEC_VL
8880: 4d 20 20 20 20 20 20 20 3d 20 30 78 30 32 30 30  M       = 0x0200
8890: 30 30 30 30 2c 0a 09 53 45 43 5f 52 45 53 45 52  0000,..SEC_RESER
88a0: 56 45 20 20 20 3d 20 30 78 30 34 30 30 30 30 30  VE   = 0x0400000
88b0: 30 2c 0a 09 53 45 43 5f 43 4f 4d 4d 49 54 20 20  0,..SEC_COMMIT  
88c0: 20 20 3d 20 30 78 30 38 30 30 30 30 30 30 2c 0a    = 0x08000000,.
88d0: 09 53 45 43 5f 4e 4f 43 41 43 48 45 20 20 20 3d  .SEC_NOCACHE   =
88e0: 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 4d 45   0x10000000,..ME
88f0: 4d 5f 49 4d 41 47 45 20 20 20 20 20 3d 20 53 45  M_IMAGE     = SE
8900: 43 5f 49 4d 41 47 45 3b 0a 2f 2f 20 4d 69 6e 47  C_IMAGE;.// MinG
8910: 57 3a 20 65 6e 64 20 6e 74 69 66 73 2e 68 0a 0a  W: end ntifs.h..
8920: 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 41 43 43  // ???.const ACC
8930: 45 53 53 5f 4d 41 53 4b 0a 09 53 45 43 54 49 4f  ESS_MASK..SECTIO
8940: 4e 5f 51 55 45 52 59 20 20 20 20 20 20 20 3d 20  N_QUERY       = 
8950: 30 78 30 30 30 30 30 31 2c 0a 09 53 45 43 54 49  0x000001,..SECTI
8960: 4f 4e 5f 4d 41 50 5f 57 52 49 54 45 20 20 20 3d  ON_MAP_WRITE   =
8970: 20 30 78 30 30 30 30 30 32 2c 0a 09 53 45 43 54   0x000002,..SECT
8980: 49 4f 4e 5f 4d 41 50 5f 52 45 41 44 20 20 20 20  ION_MAP_READ    
8990: 3d 20 30 78 30 30 30 30 30 34 2c 0a 09 53 45 43  = 0x000004,..SEC
89a0: 54 49 4f 4e 5f 4d 41 50 5f 45 58 45 43 55 54 45  TION_MAP_EXECUTE
89b0: 20 3d 20 30 78 30 30 30 30 30 38 2c 0a 09 53 45   = 0x000008,..SE
89c0: 43 54 49 4f 4e 5f 45 58 54 45 4e 44 5f 53 49 5a  CTION_EXTEND_SIZ
89d0: 45 20 3d 20 30 78 30 30 30 30 31 30 2c 0a 09 53  E = 0x000010,..S
89e0: 45 43 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43 45 53  ECTION_ALL_ACCES
89f0: 53 20 20 3d 20 30 78 30 46 30 30 31 46 3b 0a 0a  S  = 0x0F001F;..
8a00: 2f 2f 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74  // These are not
8a10: 20 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d   documented on M
8a20: 53 44 4e 0a 63 6f 6e 73 74 20 4d 45 53 53 41 47  SDN.const MESSAG
8a30: 45 5f 52 45 53 4f 55 52 43 45 5f 55 4e 49 43 4f  E_RESOURCE_UNICO
8a40: 44 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 52 54  DE = 1;.const RT
8a50: 4c 5f 43 52 49 54 53 45 43 54 5f 54 59 50 45 20  L_CRITSECT_TYPE 
8a60: 20 20 20 20 20 20 20 3d 20 30 3b 0a 63 6f 6e 73         = 0;.cons
8a70: 74 20 52 54 4c 5f 52 45 53 4f 55 52 43 45 5f 54  t RTL_RESOURCE_T
8a80: 59 50 45 20 20 20 20 20 20 20 20 3d 20 31 3b 0a  YPE        = 1;.
8a90: 0a 2f 2f 20 43 4f 46 46 20 66 69 6c 65 20 66 6f  .// COFF file fo
8aa0: 72 6d 61 74 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d  rmat.// --------
8ab0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f 20 49 4d 41  --------..// IMA
8ac0: 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 2e 43  GE_FILE_HEADER.C
8ad0: 68 61 72 61 63 74 65 72 69 73 74 69 63 73 0a 63  haracteristics.c
8ae0: 6f 6e 73 74 20 57 4f 52 44 0a 09 49 4d 41 47 45  onst WORD..IMAGE
8af0: 5f 46 49 4c 45 5f 52 45 4c 4f 43 53 5f 53 54 52  _FILE_RELOCS_STR
8b00: 49 50 50 45 44 20 20 20 20 20 20 20 20 20 3d 20  IPPED         = 
8b10: 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45 5f 46  0x0001,..IMAGE_F
8b20: 49 4c 45 5f 45 58 45 43 55 54 41 42 4c 45 5f 49  ILE_EXECUTABLE_I
8b30: 4d 41 47 45 20 20 20 20 20 20 20 20 3d 20 30 78  MAGE        = 0x
8b40: 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 46 49 4c  0002,..IMAGE_FIL
8b50: 45 5f 4c 49 4e 45 5f 4e 55 4d 53 5f 53 54 52 49  E_LINE_NUMS_STRI
8b60: 50 50 45 44 20 20 20 20 20 20 3d 20 30 78 30 30  PPED      = 0x00
8b70: 30 34 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f  04,..IMAGE_FILE_
8b80: 4c 4f 43 41 4c 5f 53 59 4d 53 5f 53 54 52 49 50  LOCAL_SYMS_STRIP
8b90: 50 45 44 20 20 20 20 20 3d 20 30 78 30 30 30 38  PED     = 0x0008
8ba0: 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 41 47  ,..IMAGE_FILE_AG
8bb0: 47 52 45 53 49 56 45 5f 57 53 5f 54 52 49 4d 20  GRESIVE_WS_TRIM 
8bc0: 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 2c 0a        = 0x0010,.
8bd0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4c 41 52 47  .IMAGE_FILE_LARG
8be0: 45 5f 41 44 44 52 45 53 53 5f 41 57 41 52 45 20  E_ADDRESS_AWARE 
8bf0: 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 49      = 0x0020,..I
8c00: 4d 41 47 45 5f 46 49 4c 45 5f 42 59 54 45 53 5f  MAGE_FILE_BYTES_
8c10: 52 45 56 45 52 53 45 44 5f 4c 4f 20 20 20 20 20  REVERSED_LO     
8c20: 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 49 4d 41    = 0x0080,..IMA
8c30: 47 45 5f 46 49 4c 45 5f 33 32 42 49 54 5f 4d 41  GE_FILE_32BIT_MA
8c40: 43 48 49 4e 45 20 20 20 20 20 20 20 20 20 20 20  CHINE           
8c50: 3d 20 30 78 30 31 30 30 2c 0a 09 49 4d 41 47 45  = 0x0100,..IMAGE
8c60: 5f 46 49 4c 45 5f 44 45 42 55 47 5f 53 54 52 49  _FILE_DEBUG_STRI
8c70: 50 50 45 44 20 20 20 20 20 20 20 20 20 20 3d 20  PPED          = 
8c80: 30 78 30 32 30 30 2c 0a 09 49 4d 41 47 45 5f 46  0x0200,..IMAGE_F
8c90: 49 4c 45 5f 52 45 4d 4f 56 41 42 4c 45 5f 52 55  ILE_REMOVABLE_RU
8ca0: 4e 5f 46 52 4f 4d 5f 53 57 41 50 20 3d 20 30 78  N_FROM_SWAP = 0x
8cb0: 30 34 30 30 2c 0a 09 49 4d 41 47 45 5f 46 49 4c  0400,..IMAGE_FIL
8cc0: 45 5f 4e 45 54 5f 52 55 4e 5f 46 52 4f 4d 5f 53  E_NET_RUN_FROM_S
8cd0: 57 41 50 20 20 20 20 20 20 20 3d 20 30 78 30 38  WAP       = 0x08
8ce0: 30 30 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f  00,..IMAGE_FILE_
8cf0: 53 59 53 54 45 4d 20 20 20 20 20 20 20 20 20 20  SYSTEM          
8d00: 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 30          = 0x1000
8d10: 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 44 4c  ,..IMAGE_FILE_DL
8d20: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  L               
8d30: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a        = 0x2000,.
8d40: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 55 50 5f 53  .IMAGE_FILE_UP_S
8d50: 59 53 54 45 4d 5f 4f 4e 4c 59 20 20 20 20 20 20  YSTEM_ONLY      
8d60: 20 20 20 20 3d 20 30 78 34 30 30 30 2c 0a 09 49      = 0x4000,..I
8d70: 4d 41 47 45 5f 46 49 4c 45 5f 42 59 54 45 53 5f  MAGE_FILE_BYTES_
8d80: 52 45 56 45 52 53 45 44 5f 48 49 20 20 20 20 20  REVERSED_HI     
8d90: 20 20 3d 20 30 78 38 30 30 30 3b 0a 0a 2f 2f 20    = 0x8000;..// 
8da0: 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45  IMAGE_FILE_HEADE
8db0: 52 2e 4d 61 63 68 69 6e 65 0a 65 6e 75 6d 20 3a  R.Machine.enum :
8dc0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 46   WORD {..IMAGE_F
8dd0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 55 4e 4b 4e  ILE_MACHINE_UNKN
8de0: 4f 57 4e 20 20 20 3d 20 30 78 30 30 30 30 2c 0a  OWN   = 0x0000,.
8df0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8e00: 49 4e 45 5f 49 33 38 36 20 20 20 20 20 20 3d 20  INE_I386      = 
8e10: 30 78 30 31 34 43 2c 0a 09 49 4d 41 47 45 5f 46  0x014C,..IMAGE_F
8e20: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 52 33 30 30  ILE_MACHINE_R300
8e30: 30 20 20 20 20 20 3d 20 30 78 30 31 36 32 2c 0a  0     = 0x0162,.
8e40: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8e50: 49 4e 45 5f 52 34 30 30 30 20 20 20 20 20 3d 20  INE_R4000     = 
8e60: 30 78 30 31 36 36 2c 0a 09 49 4d 41 47 45 5f 46  0x0166,..IMAGE_F
8e70: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 52 31 30 30  ILE_MACHINE_R100
8e80: 30 30 20 20 20 20 3d 20 30 78 30 31 36 38 2c 0a  00    = 0x0168,.
8e90: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8ea0: 49 4e 45 5f 57 43 45 4d 49 50 53 56 32 20 3d 20  INE_WCEMIPSV2 = 
8eb0: 30 78 30 31 36 39 2c 0a 09 49 4d 41 47 45 5f 46  0x0169,..IMAGE_F
8ec0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41 4c 50 48  ILE_MACHINE_ALPH
8ed0: 41 20 20 20 20 20 3d 20 30 78 30 31 38 34 2c 0a  A     = 0x0184,.
8ee0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8ef0: 49 4e 45 5f 53 48 33 20 20 20 20 20 20 20 3d 20  INE_SH3       = 
8f00: 30 78 30 31 41 32 2c 0a 09 49 4d 41 47 45 5f 46  0x01A2,..IMAGE_F
8f10: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 33 44  ILE_MACHINE_SH3D
8f20: 53 50 20 20 20 20 3d 20 30 78 30 31 41 33 2c 0a  SP    = 0x01A3,.
8f30: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8f40: 49 4e 45 5f 53 48 34 20 20 20 20 20 20 20 3d 20  INE_SH4       = 
8f50: 30 78 30 31 41 36 2c 0a 09 49 4d 41 47 45 5f 46  0x01A6,..IMAGE_F
8f60: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 35 20  ILE_MACHINE_SH5 
8f70: 20 20 20 20 20 20 3d 20 30 78 30 31 41 38 2c 0a        = 0x01A8,.
8f80: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8f90: 49 4e 45 5f 41 52 4d 20 20 20 20 20 20 20 3d 20  INE_ARM       = 
8fa0: 30 78 30 31 43 30 2c 0a 09 49 4d 41 47 45 5f 46  0x01C0,..IMAGE_F
8fb0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 54 48 55 4d  ILE_MACHINE_THUM
8fc0: 42 20 20 20 20 20 3d 20 30 78 30 31 43 32 2c 0a  B     = 0x01C2,.
8fd0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
8fe0: 49 4e 45 5f 41 4d 33 33 20 20 20 20 20 20 3d 20  INE_AM33      = 
8ff0: 30 78 30 31 44 33 2c 0a 09 49 4d 41 47 45 5f 46  0x01D3,..IMAGE_F
9000: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 50 4f 57 45  ILE_MACHINE_POWE
9010: 52 50 43 20 20 20 3d 20 30 78 30 31 46 30 2c 0a  RPC   = 0x01F0,.
9020: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
9030: 49 4e 45 5f 50 4f 57 45 52 50 43 46 50 20 3d 20  INE_POWERPCFP = 
9040: 30 78 30 31 46 31 2c 0a 09 49 4d 41 47 45 5f 46  0x01F1,..IMAGE_F
9050: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 49 41 36 34  ILE_MACHINE_IA64
9060: 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a        = 0x0200,.
9070: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
9080: 49 4e 45 5f 4d 49 50 53 31 36 20 20 20 20 3d 20  INE_MIPS16    = 
9090: 30 78 30 32 36 36 2c 0a 09 49 4d 41 47 45 5f 46  0x0266,..IMAGE_F
90a0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d 49 50 53  ILE_MACHINE_MIPS
90b0: 46 50 55 20 20 20 3d 20 30 78 30 33 36 36 2c 0a  FPU   = 0x0366,.
90c0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
90d0: 49 4e 45 5f 4d 49 50 53 46 50 55 31 36 20 3d 20  INE_MIPSFPU16 = 
90e0: 30 78 30 34 36 36 2c 0a 09 49 4d 41 47 45 5f 46  0x0466,..IMAGE_F
90f0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 45 42 43 20  ILE_MACHINE_EBC 
9100: 20 20 20 20 20 20 3d 20 30 78 30 45 42 43 2c 0a        = 0x0EBC,.
9110: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48  .IMAGE_FILE_MACH
9120: 49 4e 45 5f 41 4d 44 36 34 20 20 20 20 20 3d 20  INE_AMD64     = 
9130: 30 78 38 36 36 34 2c 0a 09 49 4d 41 47 45 5f 46  0x8664,..IMAGE_F
9140: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d 33 32 52  ILE_MACHINE_M32R
9150: 20 20 20 20 20 20 3d 20 30 78 39 30 34 31 0a 7d        = 0x9041.}
9160: 0a 0a 2f 2f 20 3f 3f 3f 0a 65 6e 75 6d 20 20 7b  ..// ???.enum  {
9170: 0a 09 49 4d 41 47 45 5f 44 4f 53 5f 53 49 47 4e  ..IMAGE_DOS_SIGN
9180: 41 54 55 52 45 20 20 20 20 3d 20 30 78 35 41 34  ATURE    = 0x5A4
9190: 44 2c 0a 09 49 4d 41 47 45 5f 4f 53 32 5f 53 49  D,..IMAGE_OS2_SI
91a0: 47 4e 41 54 55 52 45 20 20 20 20 3d 20 30 78 34  GNATURE    = 0x4
91b0: 35 34 45 2c 0a 09 49 4d 41 47 45 5f 4f 53 32 5f  54E,..IMAGE_OS2_
91c0: 53 49 47 4e 41 54 55 52 45 5f 4c 45 20 3d 20 30  SIGNATURE_LE = 0
91d0: 78 34 35 34 43 2c 0a 09 49 4d 41 47 45 5f 56 58  x454C,..IMAGE_VX
91e0: 44 5f 53 49 47 4e 41 54 55 52 45 20 20 20 20 3d  D_SIGNATURE    =
91f0: 20 30 78 34 35 34 43 2c 0a 09 49 4d 41 47 45 5f   0x454C,..IMAGE_
9200: 4e 54 5f 53 49 47 4e 41 54 55 52 45 20 20 20 20  NT_SIGNATURE    
9210: 20 3d 20 30 78 34 35 35 30 0a 7d 0a 0a 2f 2f 20   = 0x4550.}..// 
9220: 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48  IMAGE_OPTIONAL_H
9230: 45 41 44 45 52 2e 4d 61 67 69 63 0a 65 6e 75 6d  EADER.Magic.enum
9240: 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45   : WORD {..IMAGE
9250: 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 44 52  _NT_OPTIONAL_HDR
9260: 33 32 5f 4d 41 47 49 43 20 3d 20 30 78 30 31 30  32_MAGIC = 0x010
9270: 42 2c 0a 09 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50  B,..IMAGE_ROM_OP
9280: 54 49 4f 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43  TIONAL_HDR_MAGIC
9290: 20 20 3d 20 30 78 30 31 30 37 2c 0a 09 49 4d 41    = 0x0107,..IMA
92a0: 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48  GE_NT_OPTIONAL_H
92b0: 44 52 36 34 5f 4d 41 47 49 43 20 3d 20 30 78 30  DR64_MAGIC = 0x0
92c0: 32 30 42 0a 7d 0a 0a 2f 2f 20 49 4d 41 47 45 5f  20B.}..// IMAGE_
92d0: 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 2e  OPTIONAL_HEADER.
92e0: 53 75 62 73 79 73 74 65 6d 0a 65 6e 75 6d 20 3a  Subsystem.enum :
92f0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 53   WORD {..IMAGE_S
9300: 55 42 53 59 53 54 45 4d 5f 55 4e 4b 4e 4f 57 4e  UBSYSTEM_UNKNOWN
9310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9320: 20 20 3d 20 20 30 2c 0a 09 49 4d 41 47 45 5f 53    =  0,..IMAGE_S
9330: 55 42 53 59 53 54 45 4d 5f 4e 41 54 49 56 45 2c  UBSYSTEM_NATIVE,
9340: 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45  ..IMAGE_SUBSYSTE
9350: 4d 5f 57 49 4e 44 4f 57 53 5f 47 55 49 2c 0a 09  M_WINDOWS_GUI,..
9360: 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f  IMAGE_SUBSYSTEM_
9370: 57 49 4e 44 4f 57 53 5f 43 55 49 2c 20 20 20 20  WINDOWS_CUI,    
9380: 20 20 20 20 20 20 2f 2f 20 3d 20 20 33 0a 09 49        // =  3..I
9390: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 4f  MAGE_SUBSYSTEM_O
93a0: 53 32 5f 43 55 49 20 20 20 20 20 20 20 20 20 20  S2_CUI          
93b0: 20 20 20 20 20 20 20 20 3d 20 20 35 2c 0a 09 49          =  5,..I
93c0: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 50  MAGE_SUBSYSTEM_P
93d0: 4f 53 49 58 5f 43 55 49 20 20 20 20 20 20 20 20  OSIX_CUI        
93e0: 20 20 20 20 20 20 20 20 3d 20 20 37 2c 0a 09 49          =  7,..I
93f0: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 4e  MAGE_SUBSYSTEM_N
9400: 41 54 49 56 45 5f 57 49 4e 44 4f 57 53 2c 0a 09  ATIVE_WINDOWS,..
9410: 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f  IMAGE_SUBSYSTEM_
9420: 57 49 4e 44 4f 57 53 5f 43 45 5f 47 55 49 2c 0a  WINDOWS_CE_GUI,.
9430: 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d  .IMAGE_SUBSYSTEM
9440: 5f 45 46 49 5f 41 50 50 4c 49 43 41 54 49 4f 4e  _EFI_APPLICATION
9450: 2c 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54  ,..IMAGE_SUBSYST
9460: 45 4d 5f 45 46 49 5f 42 4f 4f 54 5f 53 45 52 56  EM_EFI_BOOT_SERV
9470: 49 43 45 5f 44 52 49 56 45 52 2c 0a 09 49 4d 41  ICE_DRIVER,..IMA
9480: 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 45 46 49  GE_SUBSYSTEM_EFI
9490: 5f 52 55 4e 54 49 4d 45 5f 44 52 49 56 45 52 2c  _RUNTIME_DRIVER,
94a0: 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45  ..IMAGE_SUBSYSTE
94b0: 4d 5f 45 46 49 5f 52 4f 4d 2c 0a 09 49 4d 41 47  M_EFI_ROM,..IMAG
94c0: 45 5f 53 55 42 53 59 53 54 45 4d 5f 58 42 4f 58  E_SUBSYSTEM_XBOX
94d0: 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,               
94e0: 20 20 2f 2f 20 3d 20 31 34 0a 09 49 4d 41 47 45    // = 14..IMAGE
94f0: 5f 53 55 42 53 59 53 54 45 4d 5f 57 49 4e 44 4f  _SUBSYSTEM_WINDO
9500: 57 53 5f 42 4f 4f 54 5f 41 50 50 4c 49 43 41 54  WS_BOOT_APPLICAT
9510: 49 4f 4e 20 3d 20 31 36 0a 7d 0a 0a 2f 2f 20 49  ION = 16.}..// I
9520: 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45  MAGE_OPTIONAL_HE
9530: 41 44 45 52 2e 44 6c 6c 43 68 61 72 61 63 74 65  ADER.DllCharacte
9540: 72 69 73 74 69 63 73 0a 63 6f 6e 73 74 20 57 4f  ristics.const WO
9550: 52 44 0a 09 49 4d 41 47 45 5f 44 4c 4c 5f 43 48  RD..IMAGE_DLL_CH
9560: 41 52 41 43 54 45 52 49 53 54 49 43 53 5f 44 59  ARACTERISTICS_DY
9570: 4e 41 4d 49 43 5f 42 41 53 45 20 20 20 20 20 20  NAMIC_BASE      
9580: 20 20 20 3d 20 30 78 30 30 34 30 2c 0a 09 49 4d     = 0x0040,..IM
9590: 41 47 45 5f 44 4c 4c 5f 43 48 41 52 41 43 54 45  AGE_DLL_CHARACTE
95a0: 52 49 53 54 49 43 53 5f 46 4f 52 43 45 5f 49 4e  RISTICS_FORCE_IN
95b0: 54 45 47 52 49 54 59 20 20 20 20 20 20 3d 20 30  TEGRITY      = 0
95c0: 78 30 30 38 30 2c 0a 09 49 4d 41 47 45 5f 44 4c  x0080,..IMAGE_DL
95d0: 4c 5f 43 48 41 52 41 43 54 45 52 49 53 54 49 43  L_CHARACTERISTIC
95e0: 53 5f 4e 58 5f 43 4f 4d 50 41 54 20 20 20 20 20  S_NX_COMPAT     
95f0: 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 2c         = 0x0100,
9600: 0a 09 49 4d 41 47 45 5f 44 4c 4c 43 48 41 52 41  ..IMAGE_DLLCHARA
9610: 43 54 45 52 49 53 54 49 43 53 5f 4e 4f 5f 49 53  CTERISTICS_NO_IS
9620: 4f 4c 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20  OLATION         
9630: 20 3d 20 30 78 30 32 30 30 2c 0a 09 49 4d 41 47   = 0x0200,..IMAG
9640: 45 5f 44 4c 4c 43 48 41 52 41 43 54 45 52 49 53  E_DLLCHARACTERIS
9650: 54 49 43 53 5f 4e 4f 5f 53 45 48 09 20 20 20 20  TICS_NO_SEH.    
9660: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
9670: 34 30 30 2c 0a 09 49 4d 41 47 45 5f 44 4c 4c 43  400,..IMAGE_DLLC
9680: 48 41 52 41 43 54 45 52 49 53 54 49 43 53 5f 4e  HARACTERISTICS_N
9690: 4f 5f 42 49 4e 44 20 20 20 20 20 20 20 20 20 20  O_BIND          
96a0: 20 20 20 20 20 3d 20 30 78 30 38 30 30 2c 0a 09       = 0x0800,..
96b0: 49 4d 41 47 45 5f 44 4c 4c 43 48 41 52 41 43 54  IMAGE_DLLCHARACT
96c0: 45 52 49 53 54 49 43 53 5f 57 44 4d 5f 44 52 49  ERISTICS_WDM_DRI
96d0: 56 45 52 20 20 20 20 20 20 20 20 20 20 20 20 3d  VER            =
96e0: 20 30 78 32 30 30 30 2c 0a 09 49 4d 41 47 45 5f   0x2000,..IMAGE_
96f0: 44 4c 4c 43 48 41 52 41 43 54 45 52 49 53 54 49  DLLCHARACTERISTI
9700: 43 53 5f 54 45 52 4d 49 4e 41 4c 5f 53 45 52 56  CS_TERMINAL_SERV
9710: 45 52 5f 41 57 41 52 45 20 3d 20 30 78 38 30 30  ER_AWARE = 0x800
9720: 30 3b 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74  0;..// ???.const
9730: 20 49 4d 41 47 45 5f 53 45 50 41 52 41 54 45 5f   IMAGE_SEPARATE_
9740: 44 45 42 55 47 5f 53 49 47 4e 41 54 55 52 45 20  DEBUG_SIGNATURE 
9750: 3d 20 30 78 34 39 34 34 3b 0a 0a 63 6f 6e 73 74  = 0x4944;..const
9760: 20 73 69 7a 65 5f 74 0a 09 49 4d 41 47 45 5f 4e   size_t..IMAGE_N
9770: 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52  UMBEROF_DIRECTOR
9780: 59 5f 45 4e 54 52 49 45 53 20 3d 20 20 31 36 2c  Y_ENTRIES =  16,
9790: 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52  ..IMAGE_SIZEOF_R
97a0: 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  OM_OPTIONAL_HEAD
97b0: 45 52 20 3d 20 20 35 36 2c 0a 09 49 4d 41 47 45  ER =  56,..IMAGE
97c0: 5f 53 49 5a 45 4f 46 5f 53 54 44 5f 4f 50 54 49  _SIZEOF_STD_OPTI
97d0: 4f 4e 41 4c 5f 48 45 41 44 45 52 20 3d 20 20 32  ONAL_HEADER =  2
97e0: 38 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46  8,..IMAGE_SIZEOF
97f0: 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  _NT_OPTIONAL_HEA
9800: 44 45 52 20 20 3d 20 32 32 34 2c 0a 09 49 4d 41  DER  = 224,..IMA
9810: 47 45 5f 53 49 5a 45 4f 46 5f 53 48 4f 52 54 5f  GE_SIZEOF_SHORT_
9820: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20  NAME          = 
9830: 20 20 38 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45    8,..IMAGE_SIZE
9840: 4f 46 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45  OF_SECTION_HEADE
9850: 52 20 20 20 20 20 20 3d 20 20 34 30 2c 0a 09 49  R      =  40,..I
9860: 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59 4d 42  MAGE_SIZEOF_SYMB
9870: 4f 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  OL              
9880: 3d 20 20 31 38 2c 0a 09 49 4d 41 47 45 5f 53 49  =  18,..IMAGE_SI
9890: 5a 45 4f 46 5f 41 55 58 5f 53 59 4d 42 4f 4c 20  ZEOF_AUX_SYMBOL 
98a0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 38 2c 0a           =  18,.
98b0: 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52 45  .IMAGE_SIZEOF_RE
98c0: 4c 4f 43 41 54 49 4f 4e 20 20 20 20 20 20 20 20  LOCATION        
98d0: 20 20 3d 20 20 31 30 2c 0a 09 49 4d 41 47 45 5f    =  10,..IMAGE_
98e0: 53 49 5a 45 4f 46 5f 42 41 53 45 5f 52 45 4c 4f  SIZEOF_BASE_RELO
98f0: 43 41 54 49 4f 4e 20 20 20 20 20 3d 20 20 20 38  CATION     =   8
9900: 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f  ,..IMAGE_SIZEOF_
9910: 4c 49 4e 45 4e 55 4d 42 45 52 20 20 20 20 20 20  LINENUMBER      
9920: 20 20 20 20 3d 20 20 20 36 2c 0a 09 49 4d 41 47      =   6,..IMAG
9930: 45 5f 53 49 5a 45 4f 46 5f 41 52 43 48 49 56 45  E_SIZEOF_ARCHIVE
9940: 5f 4d 45 4d 42 45 52 5f 48 44 52 20 20 3d 20 20  _MEMBER_HDR  =  
9950: 36 30 2c 0a 09 53 49 5a 45 4f 46 5f 52 46 50 4f  60,..SIZEOF_RFPO
9960: 5f 44 41 54 41 20 20 20 20 20 20 20 20 20 20 20  _DATA           
9970: 20 20 20 20 20 20 3d 20 20 31 36 3b 0a 0a 50 49        =  16;..PI
9980: 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41  MAGE_SECTION_HEA
9990: 44 45 52 20 49 4d 41 47 45 5f 46 49 52 53 54 5f  DER IMAGE_FIRST_
99a0: 53 45 43 54 49 4f 4e 28 50 49 4d 41 47 45 5f 4e  SECTION(PIMAGE_N
99b0: 54 5f 48 45 41 44 45 52 53 20 68 29 20 7b 0a 09  T_HEADERS h) {..
99c0: 72 65 74 75 72 6e 20 63 61 73 74 28 50 49 4d 41  return cast(PIMA
99d0: 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45  GE_SECTION_HEADE
99e0: 52 29 0a 09 09 28 26 68 2e 4f 70 74 69 6f 6e 61  R)...(&h.Optiona
99f0: 6c 48 65 61 64 65 72 20 2b 20 68 2e 46 69 6c 65  lHeader + h.File
9a00: 48 65 61 64 65 72 2e 53 69 7a 65 4f 66 4f 70 74  Header.SizeOfOpt
9a10: 69 6f 6e 61 6c 48 65 61 64 65 72 29 3b 0a 7d 0a  ionalHeader);.}.
9a20: 0a 2f 2f 20 49 6d 61 67 65 44 69 72 65 63 74 6f  .// ImageDirecto
9a30: 72 79 45 6e 74 72 79 54 6f 44 61 74 61 45 78 28  ryEntryToDataEx(
9a40: 29 0a 65 6e 75 6d 20 3a 20 55 53 48 4f 52 54 20  ).enum : USHORT 
9a50: 7b 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f  {..IMAGE_DIRECTO
9a60: 52 59 5f 45 4e 54 52 59 5f 45 58 50 4f 52 54 20  RY_ENTRY_EXPORT 
9a70: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 30              =  0
9a80: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f  ,..IMAGE_DIRECTO
9a90: 52 59 5f 45 4e 54 52 59 5f 49 4d 50 4f 52 54 2c  RY_ENTRY_IMPORT,
9aa0: 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52  ..IMAGE_DIRECTOR
9ab0: 59 5f 45 4e 54 52 59 5f 52 45 53 4f 55 52 43 45  Y_ENTRY_RESOURCE
9ac0: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f  ,..IMAGE_DIRECTO
9ad0: 52 59 5f 45 4e 54 52 59 5f 45 58 43 45 50 54 49  RY_ENTRY_EXCEPTI
9ae0: 4f 4e 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43  ON,..IMAGE_DIREC
9af0: 54 4f 52 59 5f 45 4e 54 52 59 5f 53 45 43 55 52  TORY_ENTRY_SECUR
9b00: 49 54 59 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45  ITY,..IMAGE_DIRE
9b10: 43 54 4f 52 59 5f 45 4e 54 52 59 5f 42 41 53 45  CTORY_ENTRY_BASE
9b20: 52 45 4c 4f 43 2c 0a 09 49 4d 41 47 45 5f 44 49  RELOC,..IMAGE_DI
9b30: 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45  RECTORY_ENTRY_DE
9b40: 42 55 47 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45  BUG,..IMAGE_DIRE
9b50: 43 54 4f 52 59 5f 45 4e 54 52 59 5f 43 4f 50 59  CTORY_ENTRY_COPY
9b60: 52 49 47 48 54 2c 20 20 20 20 20 20 2f 2f 20 3d  RIGHT,      // =
9b70: 20 20 37 0a 09 49 4d 41 47 45 5f 44 49 52 45 43    7..IMAGE_DIREC
9b80: 54 4f 52 59 5f 45 4e 54 52 59 5f 41 52 43 48 49  TORY_ENTRY_ARCHI
9b90: 54 45 43 54 55 52 45 20 20 20 20 20 20 20 3d 20  TECTURE       = 
9ba0: 20 37 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43   7,..IMAGE_DIREC
9bb0: 54 4f 52 59 5f 45 4e 54 52 59 5f 47 4c 4f 42 41  TORY_ENTRY_GLOBA
9bc0: 4c 50 54 52 2c 0a 09 49 4d 41 47 45 5f 44 49 52  LPTR,..IMAGE_DIR
9bd0: 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 54 4c 53  ECTORY_ENTRY_TLS
9be0: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f  ,..IMAGE_DIRECTO
9bf0: 52 59 5f 45 4e 54 52 59 5f 4c 4f 41 44 5f 43 4f  RY_ENTRY_LOAD_CO
9c00: 4e 46 49 47 2c 0a 09 49 4d 41 47 45 5f 44 49 52  NFIG,..IMAGE_DIR
9c10: 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 42 4f 55  ECTORY_ENTRY_BOU
9c20: 4e 44 5f 49 4d 50 4f 52 54 2c 0a 09 49 4d 41 47  ND_IMPORT,..IMAG
9c30: 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52  E_DIRECTORY_ENTR
9c40: 59 5f 49 41 54 2c 0a 09 49 4d 41 47 45 5f 44 49  Y_IAT,..IMAGE_DI
9c50: 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45  RECTORY_ENTRY_DE
9c60: 4c 41 59 5f 49 4d 50 4f 52 54 2c 0a 09 49 4d 41  LAY_IMPORT,..IMA
9c70: 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54  GE_DIRECTORY_ENT
9c80: 52 59 5f 43 4f 4d 5f 44 45 53 43 52 49 50 54 4f  RY_COM_DESCRIPTO
9c90: 52 2c 20 2f 2f 20 3d 20 31 34 0a 7d 0a 0a 2f 2f  R, // = 14.}..//
9ca0: 20 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48   IMAGE_SECTION_H
9cb0: 45 41 44 45 52 2e 43 68 61 72 61 63 74 65 72 69  EADER.Characteri
9cc0: 73 74 69 63 73 0a 63 6f 6e 73 74 20 44 57 4f 52  stics.const DWOR
9cd0: 44 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  D..IMAGE_SCN_TYP
9ce0: 45 5f 52 45 47 20 20 20 20 20 20 20 20 20 20 20  E_REG           
9cf0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30      = 0x00000000
9d00: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9d10: 45 5f 44 53 45 43 54 20 20 20 20 20 20 20 20 20  E_DSECT         
9d20: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31      = 0x00000001
9d30: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9d40: 45 5f 4e 4f 4c 4f 41 44 20 20 20 20 20 20 20 20  E_NOLOAD        
9d50: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32      = 0x00000002
9d60: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9d70: 45 5f 47 52 4f 55 50 20 20 20 20 20 20 20 20 20  E_GROUP         
9d80: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34      = 0x00000004
9d90: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9da0: 45 5f 4e 4f 5f 50 41 44 20 20 20 20 20 20 20 20  E_NO_PAD        
9db0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38      = 0x00000008
9dc0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9dd0: 45 5f 43 4f 50 59 20 20 20 20 20 20 20 20 20 20  E_COPY          
9de0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30      = 0x00000010
9df0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54  ,..IMAGE_SCN_CNT
9e00: 5f 43 4f 44 45 20 20 20 20 20 20 20 20 20 20 20  _CODE           
9e10: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30      = 0x00000020
9e20: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54  ,..IMAGE_SCN_CNT
9e30: 5f 49 4e 49 54 49 41 4c 49 5a 45 44 5f 44 41 54  _INITIALIZED_DAT
9e40: 41 20 20 20 3d 20 30 78 30 30 30 30 30 30 34 30  A   = 0x00000040
9e50: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54  ,..IMAGE_SCN_CNT
9e60: 5f 55 4e 49 4e 49 54 49 41 4c 49 5a 45 44 5f 44  _UNINITIALIZED_D
9e70: 41 54 41 20 3d 20 30 78 30 30 30 30 30 30 38 30  ATA = 0x00000080
9e80: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b  ,..IMAGE_SCN_LNK
9e90: 5f 4f 54 48 45 52 20 20 20 20 20 20 20 20 20 20  _OTHER          
9ea0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30      = 0x00000100
9eb0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b  ,..IMAGE_SCN_LNK
9ec0: 5f 49 4e 46 4f 20 20 20 20 20 20 20 20 20 20 20  _INFO           
9ed0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30      = 0x00000200
9ee0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50  ,..IMAGE_SCN_TYP
9ef0: 45 5f 4f 56 45 52 20 20 20 20 20 20 20 20 20 20  E_OVER          
9f00: 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30 30      = 0x00000400
9f10: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b  ,..IMAGE_SCN_LNK
9f20: 5f 52 45 4d 4f 56 45 20 20 20 20 20 20 20 20 20  _REMOVE         
9f30: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30      = 0x00000800
9f40: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b  ,..IMAGE_SCN_LNK
9f50: 5f 43 4f 4d 44 41 54 20 20 20 20 20 20 20 20 20  _COMDAT         
9f60: 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 30 30      = 0x00001000
9f70: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
9f80: 5f 46 41 52 44 41 54 41 20 20 20 20 20 20 20 20  _FARDATA        
9f90: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30      = 0x00008000
9fa0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 47 50 52  ,..IMAGE_SCN_GPR
9fb0: 45 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  EL              
9fc0: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30      = 0x00008000
9fd0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
9fe0: 5f 50 55 52 47 45 41 42 4c 45 20 20 20 20 20 20  _PURGEABLE      
9ff0: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30      = 0x00020000
a000: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a010: 5f 31 36 42 49 54 20 20 20 20 20 20 20 20 20 20  _16BIT          
a020: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30      = 0x00020000
a030: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a040: 5f 4c 4f 43 4b 45 44 20 20 20 20 20 20 20 20 20  _LOCKED         
a050: 20 20 20 20 3d 20 30 78 30 30 30 34 30 30 30 30      = 0x00040000
a060: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a070: 5f 50 52 45 4c 4f 41 44 20 20 20 20 20 20 20 20  _PRELOAD        
a080: 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 30 30      = 0x00080000
a090: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a0a0: 47 4e 5f 31 42 59 54 45 53 20 20 20 20 20 20 20  GN_1BYTES       
a0b0: 20 20 20 20 3d 20 30 78 30 30 31 30 30 30 30 30      = 0x00100000
a0c0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a0d0: 47 4e 5f 32 42 59 54 45 53 20 20 20 20 20 20 20  GN_2BYTES       
a0e0: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30      = 0x00200000
a0f0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a100: 47 4e 5f 34 42 59 54 45 53 20 20 20 20 20 20 20  GN_4BYTES       
a110: 20 20 20 20 3d 20 30 78 30 30 33 30 30 30 30 30      = 0x00300000
a120: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a130: 47 4e 5f 38 42 59 54 45 53 20 20 20 20 20 20 20  GN_8BYTES       
a140: 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 30 30      = 0x00400000
a150: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a160: 47 4e 5f 31 36 42 59 54 45 53 20 20 20 20 20 20  GN_16BYTES      
a170: 20 20 20 20 3d 20 30 78 30 30 35 30 30 30 30 30      = 0x00500000
a180: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a190: 47 4e 5f 33 32 42 59 54 45 53 20 20 20 20 20 20  GN_32BYTES      
a1a0: 20 20 20 20 3d 20 30 78 30 30 36 30 30 30 30 30      = 0x00600000
a1b0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a1c0: 47 4e 5f 36 34 42 59 54 45 53 20 20 20 20 20 20  GN_64BYTES      
a1d0: 20 20 20 20 3d 20 30 78 30 30 37 30 30 30 30 30      = 0x00700000
a1e0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a1f0: 47 4e 5f 31 32 38 42 59 54 45 53 20 20 20 20 20  GN_128BYTES     
a200: 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 30 30      = 0x00800000
a210: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a220: 47 4e 5f 32 35 36 42 59 54 45 53 20 20 20 20 20  GN_256BYTES     
a230: 20 20 20 20 3d 20 30 78 30 30 39 30 30 30 30 30      = 0x00900000
a240: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a250: 47 4e 5f 35 31 32 42 59 54 45 53 20 20 20 20 20  GN_512BYTES     
a260: 20 20 20 20 3d 20 30 78 30 30 41 30 30 30 30 30      = 0x00A00000
a270: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a280: 47 4e 5f 31 30 32 34 42 59 54 45 53 20 20 20 20  GN_1024BYTES    
a290: 20 20 20 20 3d 20 30 78 30 30 42 30 30 30 30 30      = 0x00B00000
a2a0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a2b0: 47 4e 5f 32 30 34 38 42 59 54 45 53 20 20 20 20  GN_2048BYTES    
a2c0: 20 20 20 20 3d 20 30 78 30 30 43 30 30 30 30 30      = 0x00C00000
a2d0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a2e0: 47 4e 5f 34 30 39 36 42 59 54 45 53 20 20 20 20  GN_4096BYTES    
a2f0: 20 20 20 20 3d 20 30 78 30 30 44 30 30 30 30 30      = 0x00D00000
a300: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49  ,..IMAGE_SCN_ALI
a310: 47 4e 5f 38 31 39 32 42 59 54 45 53 20 20 20 20  GN_8192BYTES    
a320: 20 20 20 20 3d 20 30 78 30 30 45 30 30 30 30 30      = 0x00E00000
a330: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b  ,..IMAGE_SCN_LNK
a340: 5f 4e 52 45 4c 4f 43 5f 4f 56 46 4c 20 20 20 20  _NRELOC_OVFL    
a350: 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 30 30      = 0x01000000
a360: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a370: 5f 44 49 53 43 41 52 44 41 42 4c 45 20 20 20 20  _DISCARDABLE    
a380: 20 20 20 20 3d 20 30 78 30 32 30 30 30 30 30 30      = 0x02000000
a390: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a3a0: 5f 4e 4f 54 5f 43 41 43 48 45 44 20 20 20 20 20  _NOT_CACHED     
a3b0: 20 20 20 20 3d 20 30 78 30 34 30 30 30 30 30 30      = 0x04000000
a3c0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a3d0: 5f 4e 4f 54 5f 50 41 47 45 44 20 20 20 20 20 20  _NOT_PAGED      
a3e0: 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 30 30      = 0x08000000
a3f0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a400: 5f 53 48 41 52 45 44 20 20 20 20 20 20 20 20 20  _SHARED         
a410: 20 20 20 20 3d 20 30 78 31 30 30 30 30 30 30 30      = 0x10000000
a420: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a430: 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20 20  _EXECUTE        
a440: 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30      = 0x20000000
a450: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a460: 5f 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20  _READ           
a470: 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 30 30      = 0x40000000
a480: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d  ,..IMAGE_SCN_MEM
a490: 5f 57 52 49 54 45 20 20 20 20 20 20 20 20 20 20  _WRITE          
a4a0: 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30      = 0x80000000
a4b0: 3b 0a 0a 2f 2a 09 54 68 65 20 66 6f 6c 6c 6f 77  ;../*.The follow
a4c0: 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 20 61 72  ing constants ar
a4d0: 65 20 6d 6f 73 74 6c 79 64 6f 63 75 6d 65 6e 74  e mostlydocument
a4e0: 65 64 20 61 74 0a 20 2a 09 68 74 74 70 3a 2f 2f  ed at. *.http://
a4f0: 64 6f 77 6e 6c 6f 61 64 2e 6d 69 63 72 6f 73 6f  download.microso
a500: 66 74 2e 63 6f 6d 2f 64 6f 77 6e 6c 6f 61 64 2f  ft.com/download/
a510: 31 2f 36 2f 31 2f 31 36 31 62 61 35 31 32 2d 34  1/6/1/161ba512-4
a520: 30 65 32 2d 34 63 63 39 2d 38 34 33 61 2d 39 32  0e2-4cc9-843a-92
a530: 33 31 34 33 66 33 34 35 36 63 2f 70 65 63 6f 66  3143f3456c/pecof
a540: 66 2e 64 6f 63 0a 20 2a 09 62 75 74 20 64 6f 6e  f.doc. *.but don
a550: 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20 64 65  't seem to be de
a560: 66 69 6e 65 64 20 69 6e 20 74 68 65 20 48 54 4d  fined in the HTM
a570: 4c 20 64 6f 63 73 2e 0a 20 2a 2f 0a 65 6e 75 6d  L docs.. */.enum
a580: 20 3a 20 53 48 4f 52 54 20 7b 0a 09 49 4d 41 47   : SHORT {..IMAG
a590: 45 5f 53 59 4d 5f 55 4e 44 45 46 49 4e 45 44 20  E_SYM_UNDEFINED 
a5a0: 3d 20 20 30 2c 0a 09 49 4d 41 47 45 5f 53 59 4d  =  0,..IMAGE_SYM
a5b0: 5f 41 42 53 4f 4c 55 54 45 20 20 3d 20 2d 31 2c  _ABSOLUTE  = -1,
a5c0: 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 44 45 42 55  ..IMAGE_SYM_DEBU
a5d0: 47 20 20 20 20 20 3d 20 2d 32 0a 7d 0a 0a 65 6e  G     = -2.}..en
a5e0: 75 6d 20 3a 20 75 62 79 74 65 20 7b 0a 09 49 4d  um : ubyte {..IM
a5f0: 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 4e 55 4c  AGE_SYM_TYPE_NUL
a600: 4c 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59  L,..IMAGE_SYM_TY
a610: 50 45 5f 56 4f 49 44 2c 0a 09 49 4d 41 47 45 5f  PE_VOID,..IMAGE_
a620: 53 59 4d 5f 54 59 50 45 5f 43 48 41 52 2c 0a 09  SYM_TYPE_CHAR,..
a630: 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 53  IMAGE_SYM_TYPE_S
a640: 48 4f 52 54 2c 0a 09 49 4d 41 47 45 5f 53 59 4d  HORT,..IMAGE_SYM
a650: 5f 54 59 50 45 5f 49 4e 54 2c 0a 09 49 4d 41 47  _TYPE_INT,..IMAG
a660: 45 5f 53 59 4d 5f 54 59 50 45 5f 4c 4f 4e 47 2c  E_SYM_TYPE_LONG,
a670: 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45  ..IMAGE_SYM_TYPE
a680: 5f 46 4c 4f 41 54 2c 0a 09 49 4d 41 47 45 5f 53  _FLOAT,..IMAGE_S
a690: 59 4d 5f 54 59 50 45 5f 44 4f 55 42 4c 45 2c 0a  YM_TYPE_DOUBLE,.
a6a0: 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f  .IMAGE_SYM_TYPE_
a6b0: 53 54 52 55 43 54 2c 0a 09 49 4d 41 47 45 5f 53  STRUCT,..IMAGE_S
a6c0: 59 4d 5f 54 59 50 45 5f 55 4e 49 4f 4e 2c 0a 09  YM_TYPE_UNION,..
a6d0: 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 45  IMAGE_SYM_TYPE_E
a6e0: 4e 55 4d 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f  NUM,..IMAGE_SYM_
a6f0: 54 59 50 45 5f 4d 4f 45 2c 0a 09 49 4d 41 47 45  TYPE_MOE,..IMAGE
a700: 5f 53 59 4d 5f 54 59 50 45 5f 42 59 54 45 2c 0a  _SYM_TYPE_BYTE,.
a710: 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f  .IMAGE_SYM_TYPE_
a720: 57 4f 52 44 2c 0a 09 49 4d 41 47 45 5f 53 59 4d  WORD,..IMAGE_SYM
a730: 5f 54 59 50 45 5f 55 49 4e 54 2c 0a 09 49 4d 41  _TYPE_UINT,..IMA
a740: 47 45 5f 53 59 4d 5f 54 59 50 45 5f 44 57 4f 52  GE_SYM_TYPE_DWOR
a750: 44 20 2f 2f 20 3d 20 31 35 0a 7d 0a 63 6f 6e 73  D // = 15.}.cons
a760: 74 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45  t IMAGE_SYM_TYPE
a770: 5f 50 43 4f 44 45 20 3d 20 33 32 37 36 38 3b 20  _PCODE = 32768; 
a780: 2f 2f 20 3f 3f 3f 0a 0a 65 6e 75 6d 20 3a 20 75  // ???..enum : u
a790: 62 79 74 65 20 7b 0a 09 49 4d 41 47 45 5f 53 59  byte {..IMAGE_SY
a7a0: 4d 5f 44 54 59 50 45 5f 4e 55 4c 4c 2c 0a 09 49  M_DTYPE_NULL,..I
a7b0: 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 45 5f 50  MAGE_SYM_DTYPE_P
a7c0: 4f 49 4e 54 45 52 2c 0a 09 49 4d 41 47 45 5f 53  OINTER,..IMAGE_S
a7d0: 59 4d 5f 44 54 59 50 45 5f 46 55 4e 43 54 49 4f  YM_DTYPE_FUNCTIO
a7e0: 4e 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 44 54  N,..IMAGE_SYM_DT
a7f0: 59 50 45 5f 41 52 52 41 59 0a 7d 0a 0a 65 6e 75  YPE_ARRAY.}..enu
a800: 6d 20 3a 20 42 59 54 45 20 7b 0a 09 49 4d 41 47  m : BYTE {..IMAG
a810: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 4e 44 5f  E_SYM_CLASS_END_
a820: 4f 46 5f 46 55 4e 43 54 49 4f 4e 20 20 3d 20 30  OF_FUNCTION  = 0
a830: 78 46 46 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f  xFF,..IMAGE_SYM_
a840: 43 4c 41 53 53 5f 4e 55 4c 4c 20 20 20 20 20 20  CLASS_NULL      
a850: 20 20 20 20 20 20 20 3d 20 20 20 30 2c 0a 09 49         =   0,..I
a860: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 41  MAGE_SYM_CLASS_A
a870: 55 54 4f 4d 41 54 49 43 2c 0a 09 49 4d 41 47 45  UTOMATIC,..IMAGE
a880: 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54 45 52  _SYM_CLASS_EXTER
a890: 4e 41 4c 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f  NAL,..IMAGE_SYM_
a8a0: 43 4c 41 53 53 5f 53 54 41 54 49 43 2c 0a 09 49  CLASS_STATIC,..I
a8b0: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 52  MAGE_SYM_CLASS_R
a8c0: 45 47 49 53 54 45 52 2c 0a 09 49 4d 41 47 45 5f  EGISTER,..IMAGE_
a8d0: 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54 45 52 4e  SYM_CLASS_EXTERN
a8e0: 41 4c 5f 44 45 46 2c 0a 09 49 4d 41 47 45 5f 53  AL_DEF,..IMAGE_S
a8f0: 59 4d 5f 43 4c 41 53 53 5f 4c 41 42 45 4c 2c 0a  YM_CLASS_LABEL,.
a900: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53  .IMAGE_SYM_CLASS
a910: 5f 55 4e 44 45 46 49 4e 45 44 5f 4c 41 42 45 4c  _UNDEFINED_LABEL
a920: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41  ,..IMAGE_SYM_CLA
a930: 53 53 5f 4d 45 4d 42 45 52 5f 4f 46 5f 53 54 52  SS_MEMBER_OF_STR
a940: 55 43 54 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f  UCT,..IMAGE_SYM_
a950: 43 4c 41 53 53 5f 41 52 47 55 4d 45 4e 54 2c 0a  CLASS_ARGUMENT,.
a960: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53  .IMAGE_SYM_CLASS
a970: 5f 53 54 52 55 43 54 5f 54 41 47 2c 0a 09 49 4d  _STRUCT_TAG,..IM
a980: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45  AGE_SYM_CLASS_ME
a990: 4d 42 45 52 5f 4f 46 5f 55 4e 49 4f 4e 2c 0a 09  MBER_OF_UNION,..
a9a0: 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f  IMAGE_SYM_CLASS_
a9b0: 55 4e 49 4f 4e 5f 54 41 47 2c 0a 09 49 4d 41 47  UNION_TAG,..IMAG
a9c0: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 54 59 50 45  E_SYM_CLASS_TYPE
a9d0: 5f 44 45 46 49 4e 49 54 49 4f 4e 2c 0a 09 49 4d  _DEFINITION,..IM
a9e0: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 55 4e  AGE_SYM_CLASS_UN
a9f0: 44 45 46 49 4e 45 44 5f 53 54 41 54 49 43 2c 0a  DEFINED_STATIC,.
aa00: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53  .IMAGE_SYM_CLASS
aa10: 5f 45 4e 55 4d 5f 54 41 47 2c 0a 09 49 4d 41 47  _ENUM_TAG,..IMAG
aa20: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45 4d 42  E_SYM_CLASS_MEMB
aa30: 45 52 5f 4f 46 5f 45 4e 55 4d 2c 0a 09 49 4d 41  ER_OF_ENUM,..IMA
aa40: 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 52 45 47  GE_SYM_CLASS_REG
aa50: 49 53 54 45 52 5f 50 41 52 41 4d 2c 0a 09 49 4d  ISTER_PARAM,..IM
aa60: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42 49  AGE_SYM_CLASS_BI
aa70: 54 5f 46 49 45 4c 44 2c 20 20 20 20 2f 2f 20 3d  T_FIELD,    // =
aa80: 20 20 31 38 0a 09 49 4d 41 47 45 5f 53 59 4d 5f    18..IMAGE_SYM_
aa90: 43 4c 41 53 53 5f 46 41 52 5f 45 58 54 45 52 4e  CLASS_FAR_EXTERN
aaa0: 41 4c 20 20 20 20 20 3d 20 20 36 38 2c 0a 09 49  AL     =  68,..I
aab0: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42  MAGE_SYM_CLASS_B
aac0: 4c 4f 43 4b 20 20 20 20 20 20 20 20 20 20 20 20  LOCK            
aad0: 3d 20 31 30 30 2c 0a 09 49 4d 41 47 45 5f 53 59  = 100,..IMAGE_SY
aae0: 4d 5f 43 4c 41 53 53 5f 46 55 4e 43 54 49 4f 4e  M_CLASS_FUNCTION
aaf0: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41  ,..IMAGE_SYM_CLA
ab00: 53 53 5f 45 4e 44 5f 4f 46 5f 53 54 52 55 43 54  SS_END_OF_STRUCT
ab10: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41  ,..IMAGE_SYM_CLA
ab20: 53 53 5f 46 49 4c 45 2c 0a 09 49 4d 41 47 45 5f  SS_FILE,..IMAGE_
ab30: 53 59 4d 5f 43 4c 41 53 53 5f 53 45 43 54 49 4f  SYM_CLASS_SECTIO
ab40: 4e 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  N,..IMAGE_SYM_CL
ab50: 41 53 53 5f 57 45 41 4b 5f 45 58 54 45 52 4e 41  ASS_WEAK_EXTERNA
ab60: 4c 2c 2f 2f 20 3d 20 31 30 35 0a 09 49 4d 41 47  L,// = 105..IMAG
ab70: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 43 4c 52 5f  E_SYM_CLASS_CLR_
ab80: 54 4f 4b 45 4e 20 20 20 20 20 20 20 20 3d 20 31  TOKEN        = 1
ab90: 30 37 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 42 59 54  07.}..enum : BYT
aba0: 45 20 7b 0a 09 49 4d 41 47 45 5f 43 4f 4d 44 41  E {..IMAGE_COMDA
abb0: 54 5f 53 45 4c 45 43 54 5f 4e 4f 44 55 50 4c 49  T_SELECT_NODUPLI
abc0: 43 41 54 45 53 20 3d 20 31 2c 0a 09 49 4d 41 47  CATES = 1,..IMAG
abd0: 45 5f 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f  E_COMDAT_SELECT_
abe0: 41 4e 59 2c 0a 09 49 4d 41 47 45 5f 43 4f 4d 44  ANY,..IMAGE_COMD
abf0: 41 54 5f 53 45 4c 45 43 54 5f 53 41 4d 45 5f 53  AT_SELECT_SAME_S
ac00: 49 5a 45 2c 0a 09 49 4d 41 47 45 5f 43 4f 4d 44  IZE,..IMAGE_COMD
ac10: 41 54 5f 53 45 4c 45 43 54 5f 45 58 41 43 54 5f  AT_SELECT_EXACT_
ac20: 4d 41 54 43 48 2c 0a 09 49 4d 41 47 45 5f 43 4f  MATCH,..IMAGE_CO
ac30: 4d 44 41 54 5f 53 45 4c 45 43 54 5f 41 53 53 4f  MDAT_SELECT_ASSO
ac40: 43 49 41 54 49 56 45 2c 0a 09 49 4d 41 47 45 5f  CIATIVE,..IMAGE_
ac50: 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4c 41  COMDAT_SELECT_LA
ac60: 52 47 45 53 54 2c 0a 09 49 4d 41 47 45 5f 43 4f  RGEST,..IMAGE_CO
ac70: 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4e 45 57 45  MDAT_SELECT_NEWE
ac80: 53 54 20 20 20 20 2f 2f 20 3d 20 37 0a 7d 0a 0a  ST    // = 7.}..
ac90: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
aca0: 49 4d 41 47 45 5f 57 45 41 4b 5f 45 58 54 45 52  IMAGE_WEAK_EXTER
acb0: 4e 5f 53 45 41 52 43 48 5f 4e 4f 4c 49 42 52 41  N_SEARCH_NOLIBRA
acc0: 52 59 20 3d 20 31 2c 0a 09 49 4d 41 47 45 5f 57  RY = 1,..IMAGE_W
acd0: 45 41 4b 5f 45 58 54 45 52 4e 5f 53 45 41 52 43  EAK_EXTERN_SEARC
ace0: 48 5f 4c 49 42 52 41 52 59 2c 0a 09 49 4d 41 47  H_LIBRARY,..IMAG
acf0: 45 5f 57 45 41 4b 5f 45 58 54 45 52 4e 5f 53 45  E_WEAK_EXTERN_SE
ad00: 41 52 43 48 5f 41 4c 49 41 53 0a 7d 0a 0a 65 6e  ARCH_ALIAS.}..en
ad10: 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d 41  um : WORD {..IMA
ad20: 47 45 5f 52 45 4c 5f 49 33 38 36 5f 41 42 53 4f  GE_REL_I386_ABSO
ad30: 4c 55 54 45 20 20 20 20 20 20 20 3d 20 30 78 30  LUTE       = 0x0
ad40: 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  000,..IMAGE_REL_
ad50: 49 33 38 36 5f 44 49 52 31 36 20 20 20 20 20 20  I386_DIR16      
ad60: 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 49      = 0x0001,..I
ad70: 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 52 45  MAGE_REL_I386_RE
ad80: 4c 31 36 20 20 20 20 20 20 20 20 20 20 3d 20 30  L16          = 0
ad90: 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 52 45  x0002,..IMAGE_RE
ada0: 4c 5f 49 33 38 36 5f 44 49 52 33 32 20 20 20 20  L_I386_DIR32    
adb0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 36 2c 0a        = 0x0006,.
adc0: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f  .IMAGE_REL_I386_
add0: 44 49 52 33 32 4e 42 20 20 20 20 20 20 20 20 3d  DIR32NB        =
ade0: 20 30 78 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f   0x0007,..IMAGE_
adf0: 52 45 4c 5f 49 33 38 36 5f 53 45 47 31 32 20 20  REL_I386_SEG12  
ae00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39          = 0x0009
ae10: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38  ,..IMAGE_REL_I38
ae20: 36 5f 53 45 43 54 49 4f 4e 20 20 20 20 20 20 20  6_SECTION       
ae30: 20 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47   = 0x000A,..IMAG
ae40: 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45 43 52 45  E_REL_I386_SECRE
ae50: 4c 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  L         = 0x00
ae60: 30 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49  0B,..IMAGE_REL_I
ae70: 33 38 36 5f 54 4f 4b 45 4e 20 20 20 20 20 20 20  386_TOKEN       
ae80: 20 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d     = 0x000C,..IM
ae90: 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45 43  AGE_REL_I386_SEC
aea0: 52 45 4c 37 20 20 20 20 20 20 20 20 3d 20 30 78  REL7        = 0x
aeb0: 30 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  000D,..IMAGE_REL
aec0: 5f 49 33 38 36 5f 52 45 4c 33 32 20 20 20 20 20  _I386_REL32     
aed0: 20 20 20 20 20 3d 20 30 78 30 30 31 34 0a 7d 0a       = 0x0014.}.
aee0: 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09  .enum : WORD {..
aef0: 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f  IMAGE_REL_AMD64_
af00: 41 42 53 4f 4c 55 54 45 20 20 20 20 20 20 3d 20  ABSOLUTE      = 
af10: 30 78 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52  0x0000,..IMAGE_R
af20: 45 4c 5f 41 4d 44 36 34 5f 41 44 44 52 36 34 20  EL_AMD64_ADDR64 
af30: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c         = 0x0001,
af40: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36  ..IMAGE_REL_AMD6
af50: 34 5f 41 44 44 52 33 32 20 20 20 20 20 20 20 20  4_ADDR32        
af60: 3d 20 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45  = 0x0002,..IMAGE
af70: 5f 52 45 4c 5f 41 4d 44 36 34 5f 41 44 44 52 33  _REL_AMD64_ADDR3
af80: 32 4e 42 20 20 20 20 20 20 3d 20 30 78 30 30 30  2NB      = 0x000
af90: 33 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d  3,..IMAGE_REL_AM
afa0: 44 36 34 5f 52 45 4c 33 32 20 20 20 20 20 20 20  D64_REL32       
afb0: 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41    = 0x0004,..IMA
afc0: 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 45 4c  GE_REL_AMD64_REL
afd0: 33 32 5f 31 20 20 20 20 20 20 20 3d 20 30 78 30  32_1       = 0x0
afe0: 30 30 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  005,..IMAGE_REL_
aff0: 41 4d 44 36 34 5f 52 45 4c 33 32 5f 32 20 20 20  AMD64_REL32_2   
b000: 20 20 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49      = 0x0006,..I
b010: 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52  MAGE_REL_AMD64_R
b020: 45 4c 33 32 5f 33 20 20 20 20 20 20 20 3d 20 30  EL32_3       = 0
b030: 78 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45  x0007,..IMAGE_RE
b040: 4c 5f 41 4d 44 36 34 5f 52 45 4c 33 32 5f 34 20  L_AMD64_REL32_4 
b050: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a        = 0x0008,.
b060: 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34  .IMAGE_REL_AMD64
b070: 5f 52 45 4c 33 32 5f 35 20 20 20 20 20 20 20 3d  _REL32_5       =
b080: 20 30 78 30 30 30 39 2c 0a 09 49 4d 41 47 45 5f   0x0009,..IMAGE_
b090: 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43 54 49 4f  REL_AMD64_SECTIO
b0a0: 4e 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 41  N       = 0x000A
b0b0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44  ,..IMAGE_REL_AMD
b0c0: 36 34 5f 53 45 43 52 45 4c 20 20 20 20 20 20 20  64_SECREL       
b0d0: 20 3d 20 30 78 30 30 30 42 2c 0a 09 49 4d 41 47   = 0x000B,..IMAG
b0e0: 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43 52  E_REL_AMD64_SECR
b0f0: 45 4c 37 20 20 20 20 20 20 20 3d 20 30 78 30 30  EL7       = 0x00
b100: 30 43 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41  0C,..IMAGE_REL_A
b110: 4d 44 36 34 5f 54 4f 4b 45 4e 20 20 20 20 20 20  MD64_TOKEN      
b120: 20 20 20 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d     = 0x000D,..IM
b130: 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 52  AGE_REL_AMD64_SR
b140: 45 4c 33 32 20 20 20 20 20 20 20 20 3d 20 30 78  EL32        = 0x
b150: 30 30 30 45 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  000E,..IMAGE_REL
b160: 5f 41 4d 44 36 34 5f 50 41 49 52 20 20 20 20 20  _AMD64_PAIR     
b170: 20 20 20 20 20 3d 20 30 78 30 30 30 46 2c 0a 09       = 0x000F,..
b180: 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f  IMAGE_REL_AMD64_
b190: 53 53 50 41 4e 33 32 20 20 20 20 20 20 20 3d 20  SSPAN32       = 
b1a0: 30 78 30 30 31 30 0a 7d 0a 0a 65 6e 75 6d 20 3a  0x0010.}..enum :
b1b0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52   WORD {..IMAGE_R
b1c0: 45 4c 5f 49 41 36 34 5f 41 42 53 4f 4c 55 54 45  EL_IA64_ABSOLUTE
b1d0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 2c         = 0x0000,
b1e0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  ..IMAGE_REL_IA64
b1f0: 5f 49 4d 4d 31 34 20 20 20 20 20 20 20 20 20 20  _IMM14          
b200: 3d 20 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45  = 0x0001,..IMAGE
b210: 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 32 32 20  _REL_IA64_IMM22 
b220: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
b230: 32 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41  2,..IMAGE_REL_IA
b240: 36 34 5f 49 4d 4d 36 34 20 20 20 20 20 20 20 20  64_IMM64        
b250: 20 20 3d 20 30 78 30 30 30 33 2c 0a 09 49 4d 41    = 0x0003,..IMA
b260: 47 45 5f 52 45 4c 5f 49 41 36 34 5f 44 49 52 33  GE_REL_IA64_DIR3
b270: 32 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  2          = 0x0
b280: 30 30 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  004,..IMAGE_REL_
b290: 49 41 36 34 5f 44 49 52 36 34 20 20 20 20 20 20  IA64_DIR64      
b2a0: 20 20 20 20 3d 20 30 78 30 30 30 35 2c 0a 09 49      = 0x0005,..I
b2b0: 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43  MAGE_REL_IA64_PC
b2c0: 52 45 4c 32 31 42 20 20 20 20 20 20 20 3d 20 30  REL21B       = 0
b2d0: 78 30 30 30 36 2c 0a 09 49 4d 41 47 45 5f 52 45  x0006,..IMAGE_RE
b2e0: 4c 5f 49 41 36 34 5f 50 43 52 45 4c 32 31 4d 20  L_IA64_PCREL21M 
b2f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 37 2c 0a        = 0x0007,.
b300: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f  .IMAGE_REL_IA64_
b310: 50 43 52 45 4c 32 31 46 20 20 20 20 20 20 20 3d  PCREL21F       =
b320: 20 30 78 30 30 30 38 2c 0a 09 49 4d 41 47 45 5f   0x0008,..IMAGE_
b330: 52 45 4c 5f 49 41 36 34 5f 47 50 52 45 4c 32 32  REL_IA64_GPREL22
b340: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39          = 0x0009
b350: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36  ,..IMAGE_REL_IA6
b360: 34 5f 4c 54 4f 46 46 32 32 20 20 20 20 20 20 20  4_LTOFF22       
b370: 20 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47   = 0x000A,..IMAG
b380: 45 5f 52 45 4c 5f 49 41 36 34 5f 53 45 43 54 49  E_REL_IA64_SECTI
b390: 4f 4e 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  ON        = 0x00
b3a0: 30 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49  0B,..IMAGE_REL_I
b3b0: 41 36 34 5f 53 45 43 52 45 4c 32 32 20 20 20 20  A64_SECREL22    
b3c0: 20 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d     = 0x000C,..IM
b3d0: 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 53 45 43  AGE_REL_IA64_SEC
b3e0: 52 45 4c 36 34 49 20 20 20 20 20 20 3d 20 30 78  REL64I      = 0x
b3f0: 30 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  000D,..IMAGE_REL
b400: 5f 49 41 36 34 5f 53 45 43 52 45 4c 33 32 20 20  _IA64_SECREL32  
b410: 20 20 20 20 20 3d 20 30 78 30 30 30 45 2c 0a 09       = 0x000E,..
b420: 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 44  IMAGE_REL_IA64_D
b430: 49 52 33 32 4e 42 20 20 20 20 20 20 20 20 3d 20  IR32NB        = 
b440: 30 78 30 30 31 30 2c 0a 09 49 4d 41 47 45 5f 52  0x0010,..IMAGE_R
b450: 45 4c 5f 49 41 36 34 5f 53 52 45 4c 31 34 20 20  EL_IA64_SREL14  
b460: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 31 2c         = 0x0011,
b470: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  ..IMAGE_REL_IA64
b480: 5f 53 52 45 4c 32 32 20 20 20 20 20 20 20 20 20  _SREL22         
b490: 3d 20 30 78 30 30 31 32 2c 0a 09 49 4d 41 47 45  = 0x0012,..IMAGE
b4a0: 5f 52 45 4c 5f 49 41 36 34 5f 53 52 45 4c 33 32  _REL_IA64_SREL32
b4b0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31           = 0x001
b4c0: 33 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41  3,..IMAGE_REL_IA
b4d0: 36 34 5f 55 52 45 4c 33 32 20 20 20 20 20 20 20  64_UREL32       
b4e0: 20 20 3d 20 30 78 30 30 31 34 2c 0a 09 49 4d 41    = 0x0014,..IMA
b4f0: 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52 45  GE_REL_IA64_PCRE
b500: 4c 36 30 58 20 20 20 20 20 20 20 3d 20 30 78 30  L60X       = 0x0
b510: 30 31 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  015,..IMAGE_REL_
b520: 49 41 36 34 5f 50 43 52 45 4c 36 30 42 20 20 20  IA64_PCREL60B   
b530: 20 20 20 20 3d 20 30 78 30 30 31 36 2c 0a 09 49      = 0x0016,..I
b540: 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43  MAGE_REL_IA64_PC
b550: 52 45 4c 36 30 46 20 20 20 20 20 20 20 3d 20 30  REL60F       = 0
b560: 78 30 30 31 37 2c 0a 09 49 4d 41 47 45 5f 52 45  x0017,..IMAGE_RE
b570: 4c 5f 49 41 36 34 5f 50 43 52 45 4c 36 30 49 20  L_IA64_PCREL60I 
b580: 20 20 20 20 20 20 3d 20 30 78 30 30 31 38 2c 0a        = 0x0018,.
b590: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f  .IMAGE_REL_IA64_
b5a0: 50 43 52 45 4c 36 30 4d 20 20 20 20 20 20 20 3d  PCREL60M       =
b5b0: 20 30 78 30 30 31 39 2c 0a 09 49 4d 41 47 45 5f   0x0019,..IMAGE_
b5c0: 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 47 50 52 45  REL_IA64_IMMGPRE
b5d0: 4c 36 34 20 20 20 20 20 3d 20 30 78 30 30 31 41  L64     = 0x001A
b5e0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36  ,..IMAGE_REL_IA6
b5f0: 34 5f 54 4f 4b 45 4e 20 20 20 20 20 20 20 20 20  4_TOKEN         
b600: 20 3d 20 30 78 30 30 31 42 2c 0a 09 49 4d 41 47   = 0x001B,..IMAG
b610: 45 5f 52 45 4c 5f 49 41 36 34 5f 47 50 52 45 4c  E_REL_IA64_GPREL
b620: 33 32 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  32        = 0x00
b630: 31 43 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49  1C,..IMAGE_REL_I
b640: 41 36 34 5f 41 44 44 45 4e 44 20 20 20 20 20 20  A64_ADDEND      
b650: 20 20 20 3d 20 30 78 30 30 31 46 0a 7d 0a 0a 65     = 0x001F.}..e
b660: 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d  num : WORD {..IM
b670: 41 47 45 5f 52 45 4c 5f 53 48 33 5f 41 42 53 4f  AGE_REL_SH3_ABSO
b680: 4c 55 54 45 20 20 20 20 20 20 20 20 3d 20 30 78  LUTE        = 0x
b690: 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  0000,..IMAGE_REL
b6a0: 5f 53 48 33 5f 44 49 52 45 43 54 31 36 20 20 20  _SH3_DIRECT16   
b6b0: 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09       = 0x0001,..
b6c0: 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49  IMAGE_REL_SH3_DI
b6d0: 52 45 43 54 33 32 20 20 20 20 20 20 20 20 3d 20  RECT32        = 
b6e0: 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 52  0x0002,..IMAGE_R
b6f0: 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38 20 20  EL_SH3_DIRECT8  
b700: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 33 2c         = 0x0003,
b710: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f  ..IMAGE_REL_SH3_
b720: 44 49 52 45 43 54 38 5f 57 4f 52 44 20 20 20 20  DIRECT8_WORD    
b730: 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41 47 45  = 0x0004,..IMAGE
b740: 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38  _REL_SH3_DIRECT8
b750: 5f 4c 4f 4e 47 20 20 20 20 3d 20 30 78 30 30 30  _LONG    = 0x000
b760: 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48  5,..IMAGE_REL_SH
b770: 33 5f 44 49 52 45 43 54 34 20 20 20 20 20 20 20  3_DIRECT4       
b780: 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49 4d 41    = 0x0006,..IMA
b790: 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 43  GE_REL_SH3_DIREC
b7a0: 54 34 5f 57 4f 52 44 20 20 20 20 3d 20 30 78 30  T4_WORD    = 0x0
b7b0: 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  007,..IMAGE_REL_
b7c0: 53 48 33 5f 44 49 52 45 43 54 34 5f 4c 4f 4e 47  SH3_DIRECT4_LONG
b7d0: 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a 09 49      = 0x0008,..I
b7e0: 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 50 43 52  MAGE_REL_SH3_PCR
b7f0: 45 4c 38 5f 57 4f 52 44 20 20 20 20 20 3d 20 30  EL8_WORD     = 0
b800: 78 30 30 30 39 2c 0a 09 49 4d 41 47 45 5f 52 45  x0009,..IMAGE_RE
b810: 4c 5f 53 48 33 5f 50 43 52 45 4c 38 5f 4c 4f 4e  L_SH3_PCREL8_LON
b820: 47 20 20 20 20 20 3d 20 30 78 30 30 30 41 2c 0a  G     = 0x000A,.
b830: 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 50  .IMAGE_REL_SH3_P
b840: 43 52 45 4c 31 32 5f 57 4f 52 44 20 20 20 20 3d  CREL12_WORD    =
b850: 20 30 78 30 30 30 42 2c 0a 09 49 4d 41 47 45 5f   0x000B,..IMAGE_
b860: 52 45 4c 5f 53 48 33 5f 53 54 41 52 54 4f 46 5f  REL_SH3_STARTOF_
b870: 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 43  SECTION = 0x000C
b880: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33  ,..IMAGE_REL_SH3
b890: 5f 53 49 5a 45 4f 46 5f 53 45 43 54 49 4f 4e 20  _SIZEOF_SECTION 
b8a0: 20 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d 41 47   = 0x000D,..IMAG
b8b0: 45 5f 52 45 4c 5f 53 48 33 5f 53 45 43 54 49 4f  E_REL_SH3_SECTIO
b8c0: 4e 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  N         = 0x00
b8d0: 30 45 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53  0E,..IMAGE_REL_S
b8e0: 48 33 5f 53 45 43 52 45 4c 20 20 20 20 20 20 20  H3_SECREL       
b8f0: 20 20 20 3d 20 30 78 30 30 30 46 2c 0a 09 49 4d     = 0x000F,..IM
b900: 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45  AGE_REL_SH3_DIRE
b910: 43 54 33 32 5f 4e 42 20 20 20 20 20 3d 20 30 78  CT32_NB     = 0x
b920: 30 30 31 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  0010,..IMAGE_REL
b930: 5f 53 48 33 5f 47 50 52 45 4c 34 5f 4c 4f 4e 47  _SH3_GPREL4_LONG
b940: 20 20 20 20 20 3d 20 30 78 30 30 31 31 2c 0a 09       = 0x0011,..
b950: 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 54 4f  IMAGE_REL_SH3_TO
b960: 4b 45 4e 20 20 20 20 20 20 20 20 20 20 20 3d 20  KEN           = 
b970: 30 78 30 30 31 32 2c 0a 09 49 4d 41 47 45 5f 52  0x0012,..IMAGE_R
b980: 45 4c 5f 53 48 4d 5f 50 43 52 45 4c 50 54 20 20  EL_SHM_PCRELPT  
b990: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 33 2c         = 0x0013,
b9a0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 4d 5f  ..IMAGE_REL_SHM_
b9b0: 52 45 46 4c 4f 20 20 20 20 20 20 20 20 20 20 20  REFLO           
b9c0: 3d 20 30 78 30 30 31 34 2c 0a 09 49 4d 41 47 45  = 0x0014,..IMAGE
b9d0: 5f 52 45 4c 5f 53 48 4d 5f 52 45 46 48 41 4c 46  _REL_SHM_REFHALF
b9e0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31           = 0x001
b9f0: 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48  5,..IMAGE_REL_SH
ba00: 4d 5f 52 45 4c 4c 4f 20 20 20 20 20 20 20 20 20  M_RELLO         
ba10: 20 20 3d 20 30 78 30 30 31 36 2c 0a 09 49 4d 41    = 0x0016,..IMA
ba20: 47 45 5f 52 45 4c 5f 53 48 4d 5f 52 45 4c 48 41  GE_REL_SHM_RELHA
ba30: 4c 46 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  LF         = 0x0
ba40: 30 31 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  017,..IMAGE_REL_
ba50: 53 48 4d 5f 50 41 49 52 20 20 20 20 20 20 20 20  SHM_PAIR        
ba60: 20 20 20 20 3d 20 30 78 30 30 31 38 2c 0a 09 49      = 0x0018,..I
ba70: 4d 41 47 45 5f 52 45 4c 5f 53 48 4d 5f 4e 4f 4d  MAGE_REL_SHM_NOM
ba80: 4f 44 45 20 20 20 20 20 20 20 20 20 20 3d 20 30  ODE          = 0
ba90: 78 38 30 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  x8000.}..enum : 
baa0: 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 45  WORD {..IMAGE_RE
bab0: 4c 5f 4d 33 32 52 5f 41 42 53 4f 4c 55 54 45 20  L_M32R_ABSOLUTE 
bac0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 2c 0a        = 0x0000,.
bad0: 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f  .IMAGE_REL_M32R_
bae0: 41 44 44 52 33 32 20 20 20 20 20 20 20 20 20 3d  ADDR32         =
baf0: 20 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45 5f   0x0001,..IMAGE_
bb00: 52 45 4c 5f 4d 33 32 52 5f 41 44 44 52 33 32 4e  REL_M32R_ADDR32N
bb10: 42 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32  B       = 0x0002
bb20: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32  ,..IMAGE_REL_M32
bb30: 52 5f 41 44 44 52 32 34 20 20 20 20 20 20 20 20  R_ADDR24        
bb40: 20 3d 20 30 78 30 30 30 33 2c 0a 09 49 4d 41 47   = 0x0003,..IMAG
bb50: 45 5f 52 45 4c 5f 4d 33 32 52 5f 47 50 52 45 4c  E_REL_M32R_GPREL
bb60: 31 36 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  16        = 0x00
bb70: 30 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d  04,..IMAGE_REL_M
bb80: 33 32 52 5f 50 43 52 45 4c 32 34 20 20 20 20 20  32R_PCREL24     
bb90: 20 20 20 3d 20 30 78 30 30 30 35 2c 0a 09 49 4d     = 0x0005,..IM
bba0: 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 50 43 52  AGE_REL_M32R_PCR
bbb0: 45 4c 31 36 20 20 20 20 20 20 20 20 3d 20 30 78  EL16        = 0x
bbc0: 30 30 30 36 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  0006,..IMAGE_REL
bbd0: 5f 4d 33 32 52 5f 50 43 52 45 4c 38 20 20 20 20  _M32R_PCREL8    
bbe0: 20 20 20 20 20 3d 20 30 78 30 30 30 37 2c 0a 09       = 0x0007,..
bbf0: 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 52  IMAGE_REL_M32R_R
bc00: 45 46 48 41 4c 46 20 20 20 20 20 20 20 20 3d 20  EFHALF        = 
bc10: 30 78 30 30 30 38 2c 0a 09 49 4d 41 47 45 5f 52  0x0008,..IMAGE_R
bc20: 45 4c 5f 4d 33 32 52 5f 52 45 46 48 49 20 20 20  EL_M32R_REFHI   
bc30: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39 2c         = 0x0009,
bc40: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52  ..IMAGE_REL_M32R
bc50: 5f 52 45 46 4c 4f 20 20 20 20 20 20 20 20 20 20  _REFLO          
bc60: 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47 45  = 0x000A,..IMAGE
bc70: 5f 52 45 4c 5f 4d 33 32 52 5f 50 41 49 52 20 20  _REL_M32R_PAIR  
bc80: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
bc90: 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33  B,..IMAGE_REL_M3
bca0: 32 52 5f 53 45 43 54 49 4f 4e 20 20 20 20 20 20  2R_SECTION      
bcb0: 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d 41    = 0x000C,..IMA
bcc0: 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 53 45 43 52  GE_REL_M32R_SECR
bcd0: 45 4c 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  EL         = 0x0
bce0: 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  00D,..IMAGE_REL_
bcf0: 4d 33 32 52 5f 54 4f 4b 45 4e 20 20 20 20 20 20  M32R_TOKEN      
bd00: 20 20 20 20 3d 20 30 78 30 30 30 45 0a 7d 0a 0a      = 0x000E.}..
bd10: 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49  enum : WORD {..I
bd20: 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 41 42  MAGE_REL_MIPS_AB
bd30: 53 4f 4c 55 54 45 20 20 20 20 20 20 20 3d 20 30  SOLUTE       = 0
bd40: 78 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45  x0000,..IMAGE_RE
bd50: 4c 5f 4d 49 50 53 5f 52 45 46 48 41 4c 46 20 20  L_MIPS_REFHALF  
bd60: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a        = 0x0001,.
bd70: 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f  .IMAGE_REL_MIPS_
bd80: 52 45 46 57 4f 52 44 20 20 20 20 20 20 20 20 3d  REFWORD        =
bd90: 20 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f   0x0002,..IMAGE_
bda0: 52 45 4c 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 52  REL_MIPS_JMPADDR
bdb0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 33          = 0x0003
bdc0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50  ,..IMAGE_REL_MIP
bdd0: 53 5f 52 45 46 48 49 20 20 20 20 20 20 20 20 20  S_REFHI         
bde0: 20 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41 47   = 0x0004,..IMAG
bdf0: 45 5f 52 45 4c 5f 4d 49 50 53 5f 52 45 46 4c 4f  E_REL_MIPS_REFLO
be00: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
be10: 30 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d  05,..IMAGE_REL_M
be20: 49 50 53 5f 47 50 52 45 4c 20 20 20 20 20 20 20  IPS_GPREL       
be30: 20 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49 4d     = 0x0006,..IM
be40: 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 4c 49 54  AGE_REL_MIPS_LIT
be50: 45 52 41 4c 20 20 20 20 20 20 20 20 3d 20 30 78  ERAL        = 0x
be60: 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  0007,..IMAGE_REL
be70: 5f 4d 49 50 53 5f 53 45 43 54 49 4f 4e 20 20 20  _MIPS_SECTION   
be80: 20 20 20 20 20 3d 20 30 78 30 30 30 41 2c 0a 09       = 0x000A,..
be90: 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 53  IMAGE_REL_MIPS_S
bea0: 45 43 52 45 4c 20 20 20 20 20 20 20 20 20 3d 20  ECREL         = 
beb0: 30 78 30 30 30 42 2c 0a 09 49 4d 41 47 45 5f 52  0x000B,..IMAGE_R
bec0: 45 4c 5f 4d 49 50 53 5f 53 45 43 52 45 4c 4c 4f  EL_MIPS_SECRELLO
bed0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 43 2c         = 0x000C,
bee0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53  ..IMAGE_REL_MIPS
bef0: 5f 53 45 43 52 45 4c 48 49 20 20 20 20 20 20 20  _SECRELHI       
bf00: 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d 41 47 45  = 0x000D,..IMAGE
bf10: 5f 52 45 4c 5f 4d 49 50 53 5f 4a 4d 50 41 44 44  _REL_MIPS_JMPADD
bf20: 52 31 36 20 20 20 20 20 20 3d 20 30 78 30 30 31  R16      = 0x001
bf30: 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49  0,..IMAGE_REL_MI
bf40: 50 53 5f 52 45 46 57 4f 52 44 4e 42 20 20 20 20  PS_REFWORDNB    
bf50: 20 20 3d 20 30 78 30 30 32 32 2c 0a 09 49 4d 41    = 0x0022,..IMA
bf60: 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 50 41 49 52  GE_REL_MIPS_PAIR
bf70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
bf80: 30 32 35 0a 7d 0a 0a 0a 65 6e 75 6d 20 3a 20 57  025.}...enum : W
bf90: 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 45 4c  ORD {..IMAGE_REL
bfa0: 5f 41 4c 50 48 41 5f 41 42 53 4f 4c 55 54 45 2c  _ALPHA_ABSOLUTE,
bfb0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48  ..IMAGE_REL_ALPH
bfc0: 41 5f 52 45 46 4c 4f 4e 47 2c 0a 09 49 4d 41 47  A_REFLONG,..IMAG
bfd0: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 51  E_REL_ALPHA_REFQ
bfe0: 55 41 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  UAD,..IMAGE_REL_
bff0: 41 4c 50 48 41 5f 47 50 52 45 4c 33 32 2c 0a 09  ALPHA_GPREL32,..
c000: 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
c010: 4c 49 54 45 52 41 4c 2c 0a 09 49 4d 41 47 45 5f  LITERAL,..IMAGE_
c020: 52 45 4c 5f 41 4c 50 48 41 5f 4c 49 54 55 53 45  REL_ALPHA_LITUSE
c030: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50  ,..IMAGE_REL_ALP
c040: 48 41 5f 47 50 44 49 53 50 2c 0a 09 49 4d 41 47  HA_GPDISP,..IMAG
c050: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 42 52 41 44  E_REL_ALPHA_BRAD
c060: 44 52 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41  DR,..IMAGE_REL_A
c070: 4c 50 48 41 5f 48 49 4e 54 2c 0a 09 49 4d 41 47  LPHA_HINT,..IMAG
c080: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 49 4e 4c 49  E_REL_ALPHA_INLI
c090: 4e 45 5f 52 45 46 4c 4f 4e 47 2c 0a 09 49 4d 41  NE_REFLONG,..IMA
c0a0: 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46  GE_REL_ALPHA_REF
c0b0: 48 49 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41  HI,..IMAGE_REL_A
c0c0: 4c 50 48 41 5f 52 45 46 4c 4f 2c 0a 09 49 4d 41  LPHA_REFLO,..IMA
c0d0: 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 50 41 49  GE_REL_ALPHA_PAI
c0e0: 52 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  R,..IMAGE_REL_AL
c0f0: 50 48 41 5f 4d 41 54 43 48 2c 0a 09 49 4d 41 47  PHA_MATCH,..IMAG
c100: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43 54  E_REL_ALPHA_SECT
c110: 49 4f 4e 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  ION,..IMAGE_REL_
c120: 41 4c 50 48 41 5f 53 45 43 52 45 4c 2c 0a 09 49  ALPHA_SECREL,..I
c130: 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52  MAGE_REL_ALPHA_R
c140: 45 46 4c 4f 4e 47 4e 42 2c 0a 09 49 4d 41 47 45  EFLONGNB,..IMAGE
c150: 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43 52 45  _REL_ALPHA_SECRE
c160: 4c 4c 4f 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f  LLO,..IMAGE_REL_
c170: 41 4c 50 48 41 5f 53 45 43 52 45 4c 48 49 20 2f  ALPHA_SECRELHI /
c180: 2f 20 3d 20 31 38 0a 7d 0a 0a 65 6e 75 6d 20 3a  / = 18.}..enum :
c190: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52   WORD {..IMAGE_R
c1a0: 45 4c 5f 50 50 43 5f 41 42 53 4f 4c 55 54 45 2c  EL_PPC_ABSOLUTE,
c1b0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  ..IMAGE_REL_PPC_
c1c0: 41 44 44 52 36 34 2c 0a 09 49 4d 41 47 45 5f 52  ADDR64,..IMAGE_R
c1d0: 45 4c 5f 50 50 43 5f 41 44 44 52 33 32 2c 0a 09  EL_PPC_ADDR32,..
c1e0: 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44  IMAGE_REL_PPC_AD
c1f0: 44 52 32 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  DR24,..IMAGE_REL
c200: 5f 50 50 43 5f 41 44 44 52 31 36 2c 0a 09 49 4d  _PPC_ADDR16,..IM
c210: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44 52  AGE_REL_PPC_ADDR
c220: 31 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50  14,..IMAGE_REL_P
c230: 50 43 5f 52 45 4c 32 34 2c 0a 09 49 4d 41 47 45  PC_REL24,..IMAGE
c240: 5f 52 45 4c 5f 50 50 43 5f 52 45 4c 31 34 2c 0a  _REL_PPC_REL14,.
c250: 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 54  .IMAGE_REL_PPC_T
c260: 4f 43 52 45 4c 31 36 2c 0a 09 49 4d 41 47 45 5f  OCREL16,..IMAGE_
c270: 52 45 4c 5f 50 50 43 5f 54 4f 43 52 45 4c 31 34  REL_PPC_TOCREL14
c280: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43  ,..IMAGE_REL_PPC
c290: 5f 41 44 44 52 33 32 4e 42 2c 0a 09 49 4d 41 47  _ADDR32NB,..IMAG
c2a0: 45 5f 52 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c  E_REL_PPC_SECREL
c2b0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43  ,..IMAGE_REL_PPC
c2c0: 5f 53 45 43 54 49 4f 4e 2c 0a 09 49 4d 41 47 45  _SECTION,..IMAGE
c2d0: 5f 52 45 4c 5f 50 50 43 5f 49 46 47 4c 55 45 2c  _REL_PPC_IFGLUE,
c2e0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  ..IMAGE_REL_PPC_
c2f0: 49 4d 47 4c 55 45 2c 0a 09 49 4d 41 47 45 5f 52  IMGLUE,..IMAGE_R
c300: 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c 31 36 2c  EL_PPC_SECREL16,
c310: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  ..IMAGE_REL_PPC_
c320: 52 45 46 48 49 2c 0a 09 49 4d 41 47 45 5f 52 45  REFHI,..IMAGE_RE
c330: 4c 5f 50 50 43 5f 52 45 46 4c 4f 2c 0a 09 49 4d  L_PPC_REFLO,..IM
c340: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 50 41 49 52  AGE_REL_PPC_PAIR
c350: 20 2f 2f 20 3d 20 31 38 0a 7d 0a 0a 2f 2f 20 3f   // = 18.}..// ?
c360: 3f 3f 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52  ??.const IMAGE_R
c370: 45 4c 5f 50 50 43 5f 54 59 50 45 4d 41 53 4b 20  EL_PPC_TYPEMASK 
c380: 3d 20 30 78 30 30 46 46 3b 0a 63 6f 6e 73 74 20  = 0x00FF;.const 
c390: 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 4e 45  IMAGE_REL_PPC_NE
c3a0: 47 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 3b  G      = 0x0100;
c3b0: 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 4c  .const IMAGE_REL
c3c0: 5f 50 50 43 5f 42 52 54 41 4b 45 4e 20 20 3d 20  _PPC_BRTAKEN  = 
c3d0: 30 78 30 32 30 30 3b 0a 63 6f 6e 73 74 20 49 4d  0x0200;.const IM
c3e0: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 42 52 4e 54  AGE_REL_PPC_BRNT
c3f0: 41 4b 45 4e 20 3d 20 30 78 30 34 30 30 3b 0a 63  AKEN = 0x0400;.c
c400: 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 4c 5f 50  onst IMAGE_REL_P
c410: 50 43 5f 54 4f 43 44 45 46 4e 20 20 3d 20 30 78  PC_TOCDEFN  = 0x
c420: 30 38 30 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49  0800;..enum {..I
c430: 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 41  MAGE_REL_BASED_A
c440: 42 53 4f 4c 55 54 45 2c 0a 09 49 4d 41 47 45 5f  BSOLUTE,..IMAGE_
c450: 52 45 4c 5f 42 41 53 45 44 5f 48 49 47 48 2c 0a  REL_BASED_HIGH,.
c460: 09 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44  .IMAGE_REL_BASED
c470: 5f 4c 4f 57 2c 0a 09 49 4d 41 47 45 5f 52 45 4c  _LOW,..IMAGE_REL
c480: 5f 42 41 53 45 44 5f 48 49 47 48 4c 4f 57 2c 0a  _BASED_HIGHLOW,.
c490: 09 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44  .IMAGE_REL_BASED
c4a0: 5f 48 49 47 48 41 44 4a 2c 0a 09 49 4d 41 47 45  _HIGHADJ,..IMAGE
c4b0: 5f 52 45 4c 5f 42 41 53 45 44 5f 4d 49 50 53 5f  _REL_BASED_MIPS_
c4c0: 4a 4d 50 41 44 44 52 0a 7d 0a 2f 2f 20 45 6e 64  JMPADDR.}.// End
c4d0: 20 6f 66 20 63 6f 6e 73 74 61 6e 74 73 20 64 6f   of constants do
c4e0: 63 75 6d 65 6e 74 65 64 20 69 6e 20 70 65 63 6f  cumented in peco
c4f0: 66 66 2e 64 6f 63 0a 0a 63 6f 6e 73 74 20 73 69  ff.doc..const si
c500: 7a 65 5f 74 20 49 4d 41 47 45 5f 41 52 43 48 49  ze_t IMAGE_ARCHI
c510: 56 45 5f 53 54 41 52 54 5f 53 49 5a 45 20 3d 20  VE_START_SIZE = 
c520: 38 3b 0a 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  8;..const TCHAR[
c530: 5d 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45  ]..IMAGE_ARCHIVE
c540: 5f 53 54 41 52 54 20 20 20 20 20 20 20 20 20 20  _START          
c550: 20 20 3d 20 22 21 3c 61 72 63 68 3e 5c 6e 22 2c    = "!<arch>\n",
c560: 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45 5f  ..IMAGE_ARCHIVE_
c570: 45 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20  END             
c580: 20 3d 20 22 60 5c 6e 22 2c 0a 09 49 4d 41 47 45   = "`\n",..IMAGE
c590: 5f 41 52 43 48 49 56 45 5f 50 41 44 20 20 20 20  _ARCHIVE_PAD    
c5a0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 5c 6e 22            = "\n"
c5b0: 2c 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45  ,..IMAGE_ARCHIVE
c5c0: 5f 4c 49 4e 4b 45 52 5f 4d 45 4d 42 45 52 20 20  _LINKER_MEMBER  
c5d0: 20 20 3d 20 22 2f 20 20 20 20 20 20 20 20 20 20    = "/          
c5e0: 20 20 20 20 20 22 2c 0a 09 49 4d 41 47 45 5f 41       ",..IMAGE_A
c5f0: 52 43 48 49 56 45 5f 4c 4f 4e 47 4e 41 4d 45 53  RCHIVE_LONGNAMES
c600: 5f 4d 45 4d 42 45 52 20 3d 20 22 2f 2f 20 20 20  _MEMBER = "//   
c610: 20 20 20 20 20 20 20 20 20 20 20 22 3b 0a 0a 63             ";..c
c620: 6f 6e 73 74 20 49 4d 41 47 45 5f 4f 52 44 49 4e  onst IMAGE_ORDIN
c630: 41 4c 5f 46 4c 41 47 33 32 20 3d 20 30 78 38 30  AL_FLAG32 = 0x80
c640: 30 30 30 30 30 30 3b 0a 0a 75 6c 6f 6e 67 20 49  000000;..ulong I
c650: 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 36 34 28 75  MAGE_ORDINAL64(u
c660: 6c 6f 6e 67 20 4f 72 64 69 6e 61 6c 29 20 7b 20  long Ordinal) { 
c670: 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c 20 26  return Ordinal &
c680: 20 30 78 46 46 46 46 3b 20 7d 0a 75 69 6e 74 20   0xFFFF; }.uint 
c690: 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 33 32 28  IMAGE_ORDINAL32(
c6a0: 75 69 6e 74 20 4f 72 64 69 6e 61 6c 29 20 20 20  uint Ordinal)   
c6b0: 7b 20 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c  { return Ordinal
c6c0: 20 26 20 30 78 46 46 46 46 3b 20 7d 0a 0a 62 6f   & 0xFFFF; }..bo
c6d0: 6f 6c 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 59  ol IMAGE_SNAP_BY
c6e0: 5f 4f 52 44 49 4e 41 4c 33 32 28 75 69 6e 74 20  _ORDINAL32(uint 
c6f0: 4f 72 64 69 6e 61 6c 29 20 7b 0a 09 72 65 74 75  Ordinal) {..retu
c700: 72 6e 20 28 4f 72 64 69 6e 61 6c 20 26 20 49 4d  rn (Ordinal & IM
c710: 41 47 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47  AGE_ORDINAL_FLAG
c720: 33 32 29 20 21 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e  32) != 0;.}..con
c730: 73 74 20 75 6c 6f 6e 67 20 49 4d 41 47 45 5f 4f  st ulong IMAGE_O
c740: 52 44 49 4e 41 4c 5f 46 4c 41 47 36 34 20 3d 20  RDINAL_FLAG64 = 
c750: 30 78 38 30 30 30 30 30 30 30 30 30 30 30 30 30  0x80000000000000
c760: 30 30 3b 0a 0a 62 6f 6f 6c 20 49 4d 41 47 45 5f  00;..bool IMAGE_
c770: 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e 41 4c 36  SNAP_BY_ORDINAL6
c780: 34 28 75 6c 6f 6e 67 20 4f 72 64 69 6e 61 6c 29  4(ulong Ordinal)
c790: 20 7b 0a 09 72 65 74 75 72 6e 20 28 4f 72 64 69   {..return (Ordi
c7a0: 6e 61 6c 20 26 20 49 4d 41 47 45 5f 4f 52 44 49  nal & IMAGE_ORDI
c7b0: 4e 41 4c 5f 46 4c 41 47 36 34 29 20 21 3d 20 30  NAL_FLAG64) != 0
c7c0: 3b 0a 7d 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73  ;.}..// ???.cons
c7d0: 74 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45  t IMAGE_RESOURCE
c7e0: 5f 4e 41 4d 45 5f 49 53 5f 53 54 52 49 4e 47 20  _NAME_IS_STRING 
c7f0: 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 3b     = 0x80000000;
c800: 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 53  .const IMAGE_RES
c810: 4f 55 52 43 45 5f 44 41 54 41 5f 49 53 5f 44 49  OURCE_DATA_IS_DI
c820: 52 45 43 54 4f 52 59 20 3d 20 30 78 38 30 30 30  RECTORY = 0x8000
c830: 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57  0000;..enum : DW
c840: 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 44 45 42  ORD {..IMAGE_DEB
c850: 55 47 5f 54 59 50 45 5f 55 4e 4b 4e 4f 57 4e 2c  UG_TYPE_UNKNOWN,
c860: 0a 09 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59  ..IMAGE_DEBUG_TY
c870: 50 45 5f 43 4f 46 46 2c 0a 09 49 4d 41 47 45 5f  PE_COFF,..IMAGE_
c880: 44 45 42 55 47 5f 54 59 50 45 5f 43 4f 44 45 56  DEBUG_TYPE_CODEV
c890: 49 45 57 2c 0a 09 49 4d 41 47 45 5f 44 45 42 55  IEW,..IMAGE_DEBU
c8a0: 47 5f 54 59 50 45 5f 46 50 4f 2c 0a 09 49 4d 41  G_TYPE_FPO,..IMA
c8b0: 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 4d 49  GE_DEBUG_TYPE_MI
c8c0: 53 43 2c 0a 09 49 4d 41 47 45 5f 44 45 42 55 47  SC,..IMAGE_DEBUG
c8d0: 5f 54 59 50 45 5f 45 58 43 45 50 54 49 4f 4e 2c  _TYPE_EXCEPTION,
c8e0: 0a 09 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59  ..IMAGE_DEBUG_TY
c8f0: 50 45 5f 46 49 58 55 50 2c 0a 09 49 4d 41 47 45  PE_FIXUP,..IMAGE
c900: 5f 44 45 42 55 47 5f 54 59 50 45 5f 4f 4d 41 50  _DEBUG_TYPE_OMAP
c910: 5f 54 4f 5f 53 52 43 2c 0a 09 49 4d 41 47 45 5f  _TO_SRC,..IMAGE_
c920: 44 45 42 55 47 5f 54 59 50 45 5f 4f 4d 41 50 5f  DEBUG_TYPE_OMAP_
c930: 46 52 4f 4d 5f 53 52 43 2c 0a 09 49 4d 41 47 45  FROM_SRC,..IMAGE
c940: 5f 44 45 42 55 47 5f 54 59 50 45 5f 42 4f 52 4c  _DEBUG_TYPE_BORL
c950: 41 4e 44 20 2f 2f 20 3d 20 39 0a 7d 0a 0a 65 6e  AND // = 9.}..en
c960: 75 6d 20 3a 20 75 62 79 74 65 20 7b 0a 09 46 52  um : ubyte {..FR
c970: 41 4d 45 5f 46 50 4f 2c 0a 09 46 52 41 4d 45 5f  AME_FPO,..FRAME_
c980: 54 52 41 50 2c 0a 09 46 52 41 4d 45 5f 54 53 53  TRAP,..FRAME_TSS
c990: 2c 0a 09 46 52 41 4d 45 5f 4e 4f 4e 46 50 4f 0a  ,..FRAME_NONFPO.
c9a0: 7d 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20  }..// ???.const 
c9b0: 49 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43  IMAGE_DEBUG_MISC
c9c0: 5f 45 58 45 4e 41 4d 45 20 3d 20 31 3b 0a 0a 2f  _EXENAME = 1;../
c9d0: 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 4e 5f 42 54  / ???.const N_BT
c9e0: 4d 41 53 4b 20 3d 20 30 78 30 30 30 46 3b 0a 63  MASK = 0x000F;.c
c9f0: 6f 6e 73 74 20 4e 5f 54 4d 41 53 4b 20 20 3d 20  onst N_TMASK  = 
ca00: 30 78 30 30 33 30 3b 0a 63 6f 6e 73 74 20 4e 5f  0x0030;.const N_
ca10: 54 4d 41 53 4b 31 20 3d 20 30 78 30 30 43 30 3b  TMASK1 = 0x00C0;
ca20: 0a 63 6f 6e 73 74 20 4e 5f 54 4d 41 53 4b 32 20  .const N_TMASK2 
ca30: 3d 20 30 78 30 30 46 30 3b 0a 63 6f 6e 73 74 20  = 0x00F0;.const 
ca40: 4e 5f 42 54 53 48 46 54 20 3d 20 34 3b 0a 63 6f  N_BTSHFT = 4;.co
ca50: 6e 73 74 20 4e 5f 54 53 48 49 46 54 20 3d 20 32  nst N_TSHIFT = 2
ca60: 3b 0a 0a 63 6f 6e 73 74 20 69 6e 74 0a 09 49 53  ;..const int..IS
ca70: 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 41 53  _TEXT_UNICODE_AS
ca80: 43 49 49 31 36 20 20 20 20 20 20 20 20 20 20 20  CII16           
ca90: 20 3d 20 30 78 30 30 30 31 2c 0a 09 49 53 5f 54   = 0x0001,..IS_T
caa0: 45 58 54 5f 55 4e 49 43 4f 44 45 5f 53 54 41 54  EXT_UNICODE_STAT
cab0: 49 53 54 49 43 53 20 20 20 20 20 20 20 20 20 3d  ISTICS         =
cac0: 20 30 78 30 30 30 32 2c 0a 09 49 53 5f 54 45 58   0x0002,..IS_TEX
cad0: 54 5f 55 4e 49 43 4f 44 45 5f 43 4f 4e 54 52 4f  T_UNICODE_CONTRO
cae0: 4c 53 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  LS           = 0
caf0: 78 30 30 30 34 2c 0a 09 49 53 5f 54 45 58 54 5f  x0004,..IS_TEXT_
cb00: 55 4e 49 43 4f 44 45 5f 53 49 47 4e 41 54 55 52  UNICODE_SIGNATUR
cb10: 45 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  E          = 0x0
cb20: 30 30 38 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e  008,..IS_TEXT_UN
cb30: 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 41 53  ICODE_REVERSE_AS
cb40: 43 49 49 31 36 20 20 20 20 3d 20 30 78 30 30 31  CII16    = 0x001
cb50: 30 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43  0,..IS_TEXT_UNIC
cb60: 4f 44 45 5f 52 45 56 45 52 53 45 5f 53 54 41 54  ODE_REVERSE_STAT
cb70: 49 53 54 49 43 53 20 3d 20 30 78 30 30 32 30 2c  ISTICS = 0x0020,
cb80: 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44  ..IS_TEXT_UNICOD
cb90: 45 5f 52 45 56 45 52 53 45 5f 43 4f 4e 54 52 4f  E_REVERSE_CONTRO
cba0: 4c 53 20 20 20 3d 20 30 78 30 30 34 30 2c 0a 09  LS   = 0x0040,..
cbb0: 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f  IS_TEXT_UNICODE_
cbc0: 52 45 56 45 52 53 45 5f 53 49 47 4e 41 54 55 52  REVERSE_SIGNATUR
cbd0: 45 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 49 53  E  = 0x0080,..IS
cbe0: 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 49 4c  _TEXT_UNICODE_IL
cbf0: 4c 45 47 41 4c 5f 43 48 41 52 53 20 20 20 20 20  LEGAL_CHARS     
cc00: 20 3d 20 30 78 30 31 30 30 2c 0a 09 49 53 5f 54   = 0x0100,..IS_T
cc10: 45 58 54 5f 55 4e 49 43 4f 44 45 5f 4f 44 44 5f  EXT_UNICODE_ODD_
cc20: 4c 45 4e 47 54 48 20 20 20 20 20 20 20 20 20 3d  LENGTH         =
cc30: 20 30 78 30 32 30 30 2c 0a 09 49 53 5f 54 45 58   0x0200,..IS_TEX
cc40: 54 5f 55 4e 49 43 4f 44 45 5f 4e 55 4c 4c 5f 42  T_UNICODE_NULL_B
cc50: 59 54 45 53 20 20 20 20 20 20 20 20 20 3d 20 30  YTES         = 0
cc60: 78 31 30 30 30 2c 0a 09 49 53 5f 54 45 58 54 5f  x1000,..IS_TEXT_
cc70: 55 4e 49 43 4f 44 45 5f 55 4e 49 43 4f 44 45 5f  UNICODE_UNICODE_
cc80: 4d 41 53 4b 20 20 20 20 20 20 20 3d 20 30 78 30  MASK       = 0x0
cc90: 30 30 46 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e  00F,..IS_TEXT_UN
cca0: 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 4d 41  ICODE_REVERSE_MA
ccb0: 53 4b 20 20 20 20 20 20 20 3d 20 30 78 30 30 46  SK       = 0x00F
ccc0: 30 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43  0,..IS_TEXT_UNIC
ccd0: 4f 44 45 5f 4e 4f 54 5f 55 4e 49 43 4f 44 45 5f  ODE_NOT_UNICODE_
cce0: 4d 41 53 4b 20 20 20 3d 20 30 78 30 46 30 30 2c  MASK   = 0x0F00,
ccf0: 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44  ..IS_TEXT_UNICOD
cd00: 45 5f 4e 4f 54 5f 41 53 43 49 49 5f 4d 41 53 4b  E_NOT_ASCII_MASK
cd10: 20 20 20 20 20 3d 20 30 78 46 30 30 30 3b 0a 0a       = 0xF000;..
cd20: 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53 45 52  const DWORD..SER
cd30: 56 49 43 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56  VICE_KERNEL_DRIV
cd40: 45 52 20 20 20 20 20 20 20 3d 20 30 78 30 30 30  ER       = 0x000
cd50: 31 2c 0a 09 53 45 52 56 49 43 45 5f 46 49 4c 45  1,..SERVICE_FILE
cd60: 5f 53 59 53 54 45 4d 5f 44 52 49 56 45 52 20 20  _SYSTEM_DRIVER  
cd70: 3d 20 30 78 30 30 30 32 2c 0a 09 53 45 52 56 49  = 0x0002,..SERVI
cd80: 43 45 5f 41 44 41 50 54 45 52 20 20 20 20 20 20  CE_ADAPTER      
cd90: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 2c         = 0x0004,
cda0: 0a 09 53 45 52 56 49 43 45 5f 52 45 43 4f 47 4e  ..SERVICE_RECOGN
cdb0: 49 5a 45 52 5f 44 52 49 56 45 52 20 20 20 3d 20  IZER_DRIVER   = 
cdc0: 30 78 30 30 30 38 2c 0a 09 53 45 52 56 49 43 45  0x0008,..SERVICE
cdd0: 5f 57 49 4e 33 32 5f 4f 57 4e 5f 50 52 4f 43 45  _WIN32_OWN_PROCE
cde0: 53 53 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09  SS   = 0x0010,..
cdf0: 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f 53 48  SERVICE_WIN32_SH
ce00: 41 52 45 5f 50 52 4f 43 45 53 53 20 3d 20 30 78  ARE_PROCESS = 0x
ce10: 30 30 32 30 2c 0a 09 53 45 52 56 49 43 45 5f 49  0020,..SERVICE_I
ce20: 4e 54 45 52 41 43 54 49 56 45 5f 50 52 4f 43 45  NTERACTIVE_PROCE
ce30: 53 53 20 3d 20 30 78 30 31 30 30 2c 0a 09 53 45  SS = 0x0100,..SE
ce40: 52 56 49 43 45 5f 44 52 49 56 45 52 20 20 20 20  RVICE_DRIVER    
ce50: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
ce60: 30 42 2c 0a 09 53 45 52 56 49 43 45 5f 57 49 4e  0B,..SERVICE_WIN
ce70: 33 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20  32              
ce80: 20 3d 20 30 78 30 30 33 30 2c 0a 09 53 45 52 56   = 0x0030,..SERV
ce90: 49 43 45 5f 54 59 50 45 5f 41 4c 4c 20 20 20 20  ICE_TYPE_ALL    
cea0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 33 46          = 0x013F
ceb0: 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  ;..enum : DWORD 
cec0: 7b 0a 09 53 45 52 56 49 43 45 5f 42 4f 4f 54 5f  {..SERVICE_BOOT_
ced0: 53 54 41 52 54 20 20 20 3d 20 30 2c 0a 09 53 45  START   = 0,..SE
cee0: 52 56 49 43 45 5f 53 59 53 54 45 4d 5f 53 54 41  RVICE_SYSTEM_STA
cef0: 52 54 20 3d 20 31 2c 0a 09 53 45 52 56 49 43 45  RT = 1,..SERVICE
cf00: 5f 41 55 54 4f 5f 53 54 41 52 54 20 20 20 3d 20  _AUTO_START   = 
cf10: 32 2c 0a 09 53 45 52 56 49 43 45 5f 44 45 4d 41  2,..SERVICE_DEMA
cf20: 4e 44 5f 53 54 41 52 54 20 3d 20 33 2c 0a 09 53  ND_START = 3,..S
cf30: 45 52 56 49 43 45 5f 44 49 53 41 42 4c 45 44 20  ERVICE_DISABLED 
cf40: 20 20 20 20 3d 20 34 0a 7d 0a 0a 65 6e 75 6d 20      = 4.}..enum 
cf50: 3a 20 44 57 4f 52 44 20 7b 0a 09 53 45 52 56 49  : DWORD {..SERVI
cf60: 43 45 5f 45 52 52 4f 52 5f 49 47 4e 4f 52 45 20  CE_ERROR_IGNORE 
cf70: 20 20 3d 20 30 2c 0a 09 53 45 52 56 49 43 45 5f    = 0,..SERVICE_
cf80: 45 52 52 4f 52 5f 4e 4f 52 4d 41 4c 20 20 20 3d  ERROR_NORMAL   =
cf90: 20 31 2c 0a 09 53 45 52 56 49 43 45 5f 45 52 52   1,..SERVICE_ERR
cfa0: 4f 52 5f 53 45 56 45 52 45 20 20 20 3d 20 32 2c  OR_SEVERE   = 2,
cfb0: 0a 09 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f  ..SERVICE_ERROR_
cfc0: 43 52 49 54 49 43 41 4c 20 3d 20 33 0a 7d 0a 0a  CRITICAL = 3.}..
cfd0: 0a 63 6f 6e 73 74 20 75 69 6e 74 0a 09 53 45 5f  .const uint..SE_
cfe0: 4f 57 4e 45 52 5f 44 45 46 41 55 4c 54 45 44 20  OWNER_DEFAULTED 
cff0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
d000: 31 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 44 45 46  1,..SE_GROUP_DEF
d010: 41 55 4c 54 45 44 20 20 20 20 20 20 20 20 20 20  AULTED          
d020: 3d 20 30 78 30 30 30 32 2c 0a 09 53 45 5f 44 41  = 0x0002,..SE_DA
d030: 43 4c 5f 50 52 45 53 45 4e 54 20 20 20 20 20 20  CL_PRESENT      
d040: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 2c         = 0x0004,
d050: 0a 09 53 45 5f 44 41 43 4c 5f 44 45 46 41 55 4c  ..SE_DACL_DEFAUL
d060: 54 45 44 20 20 20 20 20 20 20 20 20 20 20 3d 20  TED           = 
d070: 30 78 30 30 30 38 2c 0a 09 53 45 5f 53 41 43 4c  0x0008,..SE_SACL
d080: 5f 50 52 45 53 45 4e 54 20 20 20 20 20 20 20 20  _PRESENT        
d090: 20 20 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09       = 0x0010,..
d0a0: 53 45 5f 53 41 43 4c 5f 44 45 46 41 55 4c 54 45  SE_SACL_DEFAULTE
d0b0: 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78  D           = 0x
d0c0: 30 30 32 30 2c 0a 09 53 45 5f 44 41 43 4c 5f 41  0020,..SE_DACL_A
d0d0: 55 54 4f 5f 49 4e 48 45 52 49 54 5f 52 45 51 20  UTO_INHERIT_REQ 
d0e0: 20 20 20 3d 20 30 78 30 31 30 30 2c 0a 09 53 45     = 0x0100,..SE
d0f0: 5f 53 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52  _SACL_AUTO_INHER
d100: 49 54 5f 52 45 51 20 20 20 20 3d 20 30 78 30 32  IT_REQ    = 0x02
d110: 30 30 2c 0a 09 53 45 5f 44 41 43 4c 5f 41 55 54  00,..SE_DACL_AUT
d120: 4f 5f 49 4e 48 45 52 49 54 45 44 20 20 20 20 20  O_INHERITED     
d130: 20 3d 20 30 78 30 34 30 30 2c 0a 09 53 45 5f 53   = 0x0400,..SE_S
d140: 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 49 54  ACL_AUTO_INHERIT
d150: 45 44 20 20 20 20 20 20 3d 20 30 78 30 38 30 30  ED      = 0x0800
d160: 2c 0a 09 53 45 5f 44 41 43 4c 5f 50 52 4f 54 45  ,..SE_DACL_PROTE
d170: 43 54 45 44 20 20 20 20 20 20 20 20 20 20 20 3d  CTED           =
d180: 20 30 78 31 30 30 30 2c 0a 09 53 45 5f 53 41 43   0x1000,..SE_SAC
d190: 4c 5f 50 52 4f 54 45 43 54 45 44 20 20 20 20 20  L_PROTECTED     
d1a0: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a        = 0x2000,.
d1b0: 09 53 45 5f 53 45 4c 46 5f 52 45 4c 41 54 49 56  .SE_SELF_RELATIV
d1c0: 45 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  E            = 0
d1d0: 78 38 30 30 30 3b 0a 0a 65 6e 75 6d 20 53 45 43  x8000;..enum SEC
d1e0: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54  URITY_IMPERSONAT
d1f0: 49 4f 4e 5f 4c 45 56 45 4c 20 7b 0a 09 53 65 63  ION_LEVEL {..Sec
d200: 75 72 69 74 79 41 6e 6f 6e 79 6d 6f 75 73 2c 0a  urityAnonymous,.
d210: 09 53 65 63 75 72 69 74 79 49 64 65 6e 74 69 66  .SecurityIdentif
d220: 69 63 61 74 69 6f 6e 2c 0a 09 53 65 63 75 72 69  ication,..Securi
d230: 74 79 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 2c  tyImpersonation,
d240: 0a 09 53 65 63 75 72 69 74 79 44 65 6c 65 67 61  ..SecurityDelega
d250: 74 69 6f 6e 0a 7d 0a 61 6c 69 61 73 20 53 45 43  tion.}.alias SEC
d260: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54  URITY_IMPERSONAT
d270: 49 4f 4e 5f 4c 45 56 45 4c 2a 20 50 53 45 43 55  ION_LEVEL* PSECU
d280: 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49  RITY_IMPERSONATI
d290: 4f 4e 5f 4c 45 56 45 4c 3b 0a 0a 61 6c 69 61 73  ON_LEVEL;..alias
d2a0: 20 42 4f 4f 4c 45 41 4e 20 53 45 43 55 52 49 54   BOOLEAN SECURIT
d2b0: 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b 49  Y_CONTEXT_TRACKI
d2c0: 4e 47 5f 4d 4f 44 45 3b 0a 61 6c 69 61 73 20 42  NG_MODE;.alias B
d2d0: 4f 4f 4c 45 41 4e 2a 20 50 53 45 43 55 52 49 54  OOLEAN* PSECURIT
d2e0: 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b 49  Y_CONTEXT_TRACKI
d2f0: 4e 47 5f 4d 4f 44 45 3b 0a 0a 63 6f 6e 73 74 20  NG_MODE;..const 
d300: 73 69 7a 65 5f 74 20 53 45 43 55 52 49 54 59 5f  size_t SECURITY_
d310: 44 45 53 43 52 49 50 54 4f 52 5f 4d 49 4e 5f 4c  DESCRIPTOR_MIN_L
d320: 45 4e 47 54 48 20 3d 20 32 30 3b 0a 0a 63 6f 6e  ENGTH = 20;..con
d330: 73 74 20 44 57 4f 52 44 0a 09 53 45 43 55 52 49  st DWORD..SECURI
d340: 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 52 45  TY_DESCRIPTOR_RE
d350: 56 49 53 49 4f 4e 20 20 3d 20 31 2c 0a 09 53 45  VISION  = 1,..SE
d360: 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f  CURITY_DESCRIPTO
d370: 52 5f 52 45 56 49 53 49 4f 4e 31 20 3d 20 31 3b  R_REVISION1 = 1;
d380: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53  ..const DWORD..S
d390: 45 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e 41 42  E_PRIVILEGE_ENAB
d3a0: 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c 54 20 3d  LED_BY_DEFAULT =
d3b0: 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 53 45   0x00000001,..SE
d3c0: 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e 41 42 4c  _PRIVILEGE_ENABL
d3d0: 45 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  ED            = 
d3e0: 30 78 30 30 30 30 30 30 30 32 2c 0a 09 53 45 5f  0x00000002,..SE_
d3f0: 50 52 49 56 49 4c 45 47 45 5f 55 53 45 44 5f 46  PRIVILEGE_USED_F
d400: 4f 52 5f 41 43 43 45 53 53 20 20 20 20 3d 20 30  OR_ACCESS    = 0
d410: 78 38 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e 73  x80000000;..cons
d420: 74 20 44 57 4f 52 44 20 50 52 49 56 49 4c 45 47  t DWORD PRIVILEG
d430: 45 5f 53 45 54 5f 41 4c 4c 5f 4e 45 43 45 53 53  E_SET_ALL_NECESS
d440: 41 52 59 20 3d 20 31 3b 0a 0a 63 6f 6e 73 74 20  ARY = 1;..const 
d450: 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f  SECURITY_IMPERSO
d460: 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 0a 09 53 45  NATION_LEVEL..SE
d470: 43 55 52 49 54 59 5f 4d 41 58 5f 49 4d 50 45 52  CURITY_MAX_IMPER
d480: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 3d  SONATION_LEVEL =
d490: 20 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53   SECURITY_IMPERS
d4a0: 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 2e 53 65  ONATION_LEVEL.Se
d4b0: 63 75 72 69 74 79 44 65 6c 65 67 61 74 69 6f 6e  curityDelegation
d4c0: 2c 0a 09 44 45 46 41 55 4c 54 5f 49 4d 50 45 52  ,..DEFAULT_IMPER
d4d0: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 20  SONATION_LEVEL  
d4e0: 20 20 20 20 3d 20 53 45 43 55 52 49 54 59 5f 49      = SECURITY_I
d4f0: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56  MPERSONATION_LEV
d500: 45 4c 2e 53 65 63 75 72 69 74 79 49 6d 70 65 72  EL.SecurityImper
d510: 73 6f 6e 61 74 69 6f 6e 3b 0a 0a 63 6f 6e 73 74  sonation;..const
d520: 20 42 4f 4f 4c 45 41 4e 0a 09 53 45 43 55 52 49   BOOLEAN..SECURI
d530: 54 59 5f 44 59 4e 41 4d 49 43 5f 54 52 41 43 4b  TY_DYNAMIC_TRACK
d540: 49 4e 47 20 3d 20 74 72 75 65 2c 0a 09 53 45 43  ING = true,..SEC
d550: 55 52 49 54 59 5f 53 54 41 54 49 43 5f 54 52 41  URITY_STATIC_TRA
d560: 43 4b 49 4e 47 20 20 3d 20 66 61 6c 73 65 3b 0a  CKING  = false;.
d570: 0a 2f 2f 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f  .// also in ddk/
d580: 6e 74 69 66 73 2e 68 0a 63 6f 6e 73 74 20 44 57  ntifs.h.const DW
d590: 4f 52 44 0a 09 54 4f 4b 45 4e 5f 41 53 53 49 47  ORD..TOKEN_ASSIG
d5a0: 4e 5f 50 52 49 4d 41 52 59 20 20 20 20 3d 20 30  N_PRIMARY    = 0
d5b0: 78 30 30 30 31 2c 0a 09 54 4f 4b 45 4e 5f 44 55  x0001,..TOKEN_DU
d5c0: 50 4c 49 43 41 54 45 20 20 20 20 20 20 20 20 20  PLICATE         
d5d0: 3d 20 30 78 30 30 30 32 2c 0a 09 54 4f 4b 45 4e  = 0x0002,..TOKEN
d5e0: 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20 20 20 20  _IMPERSONATE    
d5f0: 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 54 4f     = 0x0004,..TO
d600: 4b 45 4e 5f 51 55 45 52 59 20 20 20 20 20 20 20  KEN_QUERY       
d610: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a        = 0x0008,.
d620: 09 54 4f 4b 45 4e 5f 51 55 45 52 59 5f 53 4f 55  .TOKEN_QUERY_SOU
d630: 52 43 45 20 20 20 20 20 20 3d 20 30 78 30 30 31  RCE      = 0x001
d640: 30 2c 0a 09 54 4f 4b 45 4e 5f 41 44 4a 55 53 54  0,..TOKEN_ADJUST
d650: 5f 50 52 49 56 49 4c 45 47 45 53 20 3d 20 30 78  _PRIVILEGES = 0x
d660: 30 30 32 30 2c 0a 09 54 4f 4b 45 4e 5f 41 44 4a  0020,..TOKEN_ADJ
d670: 55 53 54 5f 47 52 4f 55 50 53 20 20 20 20 20 3d  UST_GROUPS     =
d680: 20 30 78 30 30 34 30 2c 0a 09 54 4f 4b 45 4e 5f   0x0040,..TOKEN_
d690: 41 44 4a 55 53 54 5f 44 45 46 41 55 4c 54 20 20  ADJUST_DEFAULT  
d6a0: 20 20 3d 20 30 78 30 30 38 30 2c 0a 0a 09 54 4f    = 0x0080,...TO
d6b0: 4b 45 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20  KEN_ALL_ACCESS  
d6c0: 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44        = STANDARD
d6d0: 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44  _RIGHTS_REQUIRED
d6e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
d6f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c                 |
d700: 20 54 4f 4b 45 4e 5f 41 53 53 49 47 4e 5f 50 52   TOKEN_ASSIGN_PR
d710: 49 4d 41 52 59 0a 20 20 20 20 20 20 20 20 20 20  IMARY.          
d720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d730: 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 44 55 50 4c      | TOKEN_DUPL
d740: 49 43 41 54 45 0a 20 20 20 20 20 20 20 20 20 20  ICATE.          
d750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d760: 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 49 4d 50 45      | TOKEN_IMPE
d770: 52 53 4f 4e 41 54 45 0a 20 20 20 20 20 20 20 20  RSONATE.        
d780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d790: 20 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 51 55        | TOKEN_QU
d7a0: 45 52 59 0a 20 20 20 20 20 20 20 20 20 20 20 20  ERY.            
d7b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d7c0: 20 20 7c 20 54 4f 4b 45 4e 5f 51 55 45 52 59 5f    | TOKEN_QUERY_
d7d0: 53 4f 55 52 43 45 0a 20 20 20 20 20 20 20 20 20  SOURCE.         
d7e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d7f0: 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a       | TOKEN_ADJ
d800: 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53 0a 20  UST_PRIVILEGES. 
d810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d820: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 54               | T
d830: 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 47 52 4f 55  OKEN_ADJUST_GROU
d840: 50 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  PS.             
d850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d860: 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f   | TOKEN_ADJUST_
d870: 44 45 46 41 55 4c 54 2c 0a 09 54 4f 4b 45 4e 5f  DEFAULT,..TOKEN_
d880: 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20 20  READ            
d890: 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47    = STANDARD_RIG
d8a0: 48 54 53 5f 52 45 41 44 20 7c 20 54 4f 4b 45 4e  HTS_READ | TOKEN
d8b0: 5f 51 55 45 52 59 2c 0a 09 54 4f 4b 45 4e 5f 57  _QUERY,..TOKEN_W
d8c0: 52 49 54 45 20 20 20 20 20 20 20 20 20 20 20 20  RITE            
d8d0: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
d8e0: 54 53 5f 57 52 49 54 45 0a 20 20 20 20 20 20 20  TS_WRITE.       
d8f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d900: 20 20 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 41         | TOKEN_A
d910: 44 4a 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53  DJUST_PRIVILEGES
d920: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
d930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c                 |
d940: 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 47 52   TOKEN_ADJUST_GR
d950: 4f 55 50 53 0a 20 20 20 20 20 20 20 20 20 20 20  OUPS.           
d960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d970: 20 20 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53     | TOKEN_ADJUS
d980: 54 5f 44 45 46 41 55 4c 54 2c 0a 09 54 4f 4b 45  T_DEFAULT,..TOKE
d990: 4e 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20  N_EXECUTE       
d9a0: 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52      = STANDARD_R
d9b0: 49 47 48 54 53 5f 45 58 45 43 55 54 45 3b 0a 0a  IGHTS_EXECUTE;..
d9c0: 63 6f 6e 73 74 20 73 69 7a 65 5f 74 20 54 4f 4b  const size_t TOK
d9d0: 45 4e 5f 53 4f 55 52 43 45 5f 4c 45 4e 47 54 48  EN_SOURCE_LENGTH
d9e0: 20 3d 20 38 3b 0a 2f 2f 20 65 6e 64 20 64 64 6b   = 8;.// end ddk
d9f0: 2f 6e 74 69 66 73 2e 68 0a 0a 65 6e 75 6d 20 3a  /ntifs.h..enum :
da00: 20 44 57 4f 52 44 20 7b 0a 09 44 4c 4c 5f 50 52   DWORD {..DLL_PR
da10: 4f 43 45 53 53 5f 44 45 54 41 43 48 2c 0a 09 44  OCESS_DETACH,..D
da20: 4c 4c 5f 50 52 4f 43 45 53 53 5f 41 54 54 41 43  LL_PROCESS_ATTAC
da30: 48 2c 0a 09 44 4c 4c 5f 54 48 52 45 41 44 5f 41  H,..DLL_THREAD_A
da40: 54 54 41 43 48 2c 0a 09 44 4c 4c 5f 54 48 52 45  TTACH,..DLL_THRE
da50: 41 44 5f 44 45 54 41 43 48 0a 7d 0a 0a 65 6e 75  AD_DETACH.}..enu
da60: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 44 42 47  m : DWORD {..DBG
da70: 5f 43 4f 4e 54 49 4e 55 45 20 20 20 20 20 20 20  _CONTINUE       
da80: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30         = 0x00010
da90: 30 30 32 2c 0a 09 44 42 47 5f 54 45 52 4d 49 4e  002,..DBG_TERMIN
daa0: 41 54 45 5f 54 48 52 45 41 44 20 20 20 20 20 20  ATE_THREAD      
dab0: 3d 20 30 78 34 30 30 31 30 30 30 33 2c 0a 09 44  = 0x40010003,..D
dac0: 42 47 5f 54 45 52 4d 49 4e 41 54 45 5f 50 52 4f  BG_TERMINATE_PRO
dad0: 43 45 53 53 20 20 20 20 20 3d 20 30 78 34 30 30  CESS     = 0x400
dae0: 31 30 30 30 34 2c 0a 09 44 42 47 5f 43 4f 4e 54  10004,..DBG_CONT
daf0: 52 4f 4c 5f 43 20 20 20 20 20 20 20 20 20 20 20  ROL_C           
db00: 20 20 3d 20 30 78 34 30 30 31 30 30 30 35 2c 0a    = 0x40010005,.
db10: 09 44 42 47 5f 43 4f 4e 54 52 4f 4c 5f 42 52 45  .DBG_CONTROL_BRE
db20: 41 4b 20 20 20 20 20 20 20 20 20 3d 20 30 78 34  AK         = 0x4
db30: 30 30 31 30 30 30 38 2c 0a 09 44 42 47 5f 45 58  0010008,..DBG_EX
db40: 43 45 50 54 49 4f 4e 5f 4e 4f 54 5f 48 41 4e 44  CEPTION_NOT_HAND
db50: 4c 45 44 20 3d 20 30 78 38 30 30 31 30 30 30 31  LED = 0x80010001
db60: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44  .}..enum : DWORD
db70: 20 7b 0a 09 54 41 50 45 5f 41 42 53 4f 4c 55 54   {..TAPE_ABSOLUT
db80: 45 5f 50 4f 53 49 54 49 4f 4e 2c 0a 09 54 41 50  E_POSITION,..TAP
db90: 45 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49 54 49  E_LOGICAL_POSITI
dba0: 4f 4e 2c 0a 09 54 41 50 45 5f 50 53 45 55 44 4f  ON,..TAPE_PSEUDO
dbb0: 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49 54 49 4f  _LOGICAL_POSITIO
dbc0: 4e 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  N.}..enum : DWOR
dbd0: 44 20 7b 0a 09 54 41 50 45 5f 52 45 57 49 4e 44  D {..TAPE_REWIND
dbe0: 2c 0a 09 54 41 50 45 5f 41 42 53 4f 4c 55 54 45  ,..TAPE_ABSOLUTE
dbf0: 5f 42 4c 4f 43 4b 2c 0a 09 54 41 50 45 5f 4c 4f  _BLOCK,..TAPE_LO
dc00: 47 49 43 41 4c 5f 42 4c 4f 43 4b 2c 0a 09 54 41  GICAL_BLOCK,..TA
dc10: 50 45 5f 50 53 45 55 44 4f 5f 4c 4f 47 49 43 41  PE_PSEUDO_LOGICA
dc20: 4c 5f 42 4c 4f 43 4b 2c 0a 09 54 41 50 45 5f 53  L_BLOCK,..TAPE_S
dc30: 50 41 43 45 5f 45 4e 44 5f 4f 46 5f 44 41 54 41  PACE_END_OF_DATA
dc40: 2c 0a 09 54 41 50 45 5f 53 50 41 43 45 5f 52 45  ,..TAPE_SPACE_RE
dc50: 4c 41 54 49 56 45 5f 42 4c 4f 43 4b 53 2c 0a 09  LATIVE_BLOCKS,..
dc60: 54 41 50 45 5f 53 50 41 43 45 5f 46 49 4c 45 4d  TAPE_SPACE_FILEM
dc70: 41 52 4b 53 2c 0a 09 54 41 50 45 5f 53 50 41 43  ARKS,..TAPE_SPAC
dc80: 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f 46 4d 4b  E_SEQUENTIAL_FMK
dc90: 53 2c 0a 09 54 41 50 45 5f 53 50 41 43 45 5f 53  S,..TAPE_SPACE_S
dca0: 45 54 4d 41 52 4b 53 2c 0a 09 54 41 50 45 5f 53  ETMARKS,..TAPE_S
dcb0: 50 41 43 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f  PACE_SEQUENTIAL_
dcc0: 53 4d 4b 53 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57  SMKS.}..const DW
dcd0: 4f 52 44 0a 09 54 41 50 45 5f 44 52 49 56 45 5f  ORD..TAPE_DRIVE_
dce0: 46 49 58 45 44 20 20 20 20 20 20 20 20 20 20 20  FIXED           
dcf0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
dd00: 54 41 50 45 5f 44 52 49 56 45 5f 53 45 4c 45 43  TAPE_DRIVE_SELEC
dd10: 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78  T           = 0x
dd20: 30 30 30 30 30 30 30 32 2c 0a 09 54 41 50 45 5f  00000002,..TAPE_
dd30: 44 52 49 56 45 5f 49 4e 49 54 49 41 54 4f 52 20  DRIVE_INITIATOR 
dd40: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
dd50: 30 30 34 2c 0a 09 54 41 50 45 5f 44 52 49 56 45  004,..TAPE_DRIVE
dd60: 5f 45 52 41 53 45 5f 53 48 4f 52 54 20 20 20 20  _ERASE_SHORT    
dd70: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a    = 0x00000010,.
dd80: 09 54 41 50 45 5f 44 52 49 56 45 5f 45 52 41 53  .TAPE_DRIVE_ERAS
dd90: 45 5f 4c 4f 4e 47 20 20 20 20 20 20 20 3d 20 30  E_LONG       = 0
dda0: 78 30 30 30 30 30 30 32 30 2c 0a 09 54 41 50 45  x00000020,..TAPE
ddb0: 5f 44 52 49 56 45 5f 45 52 41 53 45 5f 42 4f 50  _DRIVE_ERASE_BOP
ddc0: 5f 4f 4e 4c 59 20 20 20 3d 20 30 78 30 30 30 30  _ONLY   = 0x0000
ddd0: 30 30 34 30 2c 0a 09 54 41 50 45 5f 44 52 49 56  0040,..TAPE_DRIV
dde0: 45 5f 45 52 41 53 45 5f 49 4d 4d 45 44 49 41 54  E_ERASE_IMMEDIAT
ddf0: 45 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c  E  = 0x00000080,
de00: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 54 41 50  ..TAPE_DRIVE_TAP
de10: 45 5f 43 41 50 41 43 49 54 59 20 20 20 20 3d 20  E_CAPACITY    = 
de20: 30 78 30 30 30 30 30 31 30 30 2c 0a 09 54 41 50  0x00000100,..TAP
de30: 45 5f 44 52 49 56 45 5f 54 41 50 45 5f 52 45 4d  E_DRIVE_TAPE_REM
de40: 41 49 4e 49 4e 47 20 20 20 3d 20 30 78 30 30 30  AINING   = 0x000
de50: 30 30 32 30 30 2c 0a 09 54 41 50 45 5f 44 52 49  00200,..TAPE_DRI
de60: 56 45 5f 46 49 58 45 44 5f 42 4c 4f 43 4b 20 20  VE_FIXED_BLOCK  
de70: 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30 30      = 0x00000400
de80: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 56 41  ,..TAPE_DRIVE_VA
de90: 52 49 41 42 4c 45 5f 42 4c 4f 43 4b 20 20 20 3d  RIABLE_BLOCK   =
dea0: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 54 41   0x00000800,..TA
deb0: 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 50  PE_DRIVE_WRITE_P
dec0: 52 4f 54 45 43 54 20 20 20 20 3d 20 30 78 30 30  ROTECT    = 0x00
ded0: 30 30 31 30 30 30 2c 0a 09 54 41 50 45 5f 44 52  001000,..TAPE_DR
dee0: 49 56 45 5f 45 4f 54 5f 57 5a 5f 53 49 5a 45 20  IVE_EOT_WZ_SIZE 
def0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30       = 0x0000200
df00: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 45  0,..TAPE_DRIVE_E
df10: 43 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20  CC              
df20: 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0a 09 54  = 0x00010000,..T
df30: 41 50 45 5f 44 52 49 56 45 5f 43 4f 4d 50 52 45  APE_DRIVE_COMPRE
df40: 53 53 49 4f 4e 20 20 20 20 20 20 3d 20 30 78 30  SSION      = 0x0
df50: 30 30 32 30 30 30 30 2c 0a 09 54 41 50 45 5f 44  0020000,..TAPE_D
df60: 52 49 56 45 5f 50 41 44 44 49 4e 47 20 20 20 20  RIVE_PADDING    
df70: 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 30 30        = 0x000400
df80: 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f  00,..TAPE_DRIVE_
df90: 52 45 50 4f 52 54 5f 53 4d 4b 53 20 20 20 20 20  REPORT_SMKS     
dfa0: 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09   = 0x00080000,..
dfb0: 54 41 50 45 5f 44 52 49 56 45 5f 47 45 54 5f 41  TAPE_DRIVE_GET_A
dfc0: 42 53 4f 4c 55 54 45 5f 42 4c 4b 20 3d 20 30 78  BSOLUTE_BLK = 0x
dfd0: 30 30 31 30 30 30 30 30 2c 0a 09 54 41 50 45 5f  00100000,..TAPE_
dfe0: 44 52 49 56 45 5f 47 45 54 5f 4c 4f 47 49 43 41  DRIVE_GET_LOGICA
dff0: 4c 5f 42 4c 4b 20 20 3d 20 30 78 30 30 32 30 30  L_BLK  = 0x00200
e000: 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45  000,..TAPE_DRIVE
e010: 5f 53 45 54 5f 45 4f 54 5f 57 5a 5f 53 49 5a 45  _SET_EOT_WZ_SIZE
e020: 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a    = 0x00400000,.
e030: 09 54 41 50 45 5f 44 52 49 56 45 5f 45 4a 45 43  .TAPE_DRIVE_EJEC
e040: 54 5f 4d 45 44 49 41 20 20 20 20 20 20 3d 20 30  T_MEDIA      = 0
e050: 78 30 31 30 30 30 30 30 30 2c 0a 09 54 41 50 45  x01000000,..TAPE
e060: 5f 44 52 49 56 45 5f 43 4c 45 41 4e 5f 52 45 51  _DRIVE_CLEAN_REQ
e070: 55 45 53 54 53 20 20 20 3d 20 30 78 30 32 30 30  UESTS   = 0x0200
e080: 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56  0000,..TAPE_DRIV
e090: 45 5f 53 45 54 5f 43 4d 50 5f 42 4f 50 5f 4f 4e  E_SET_CMP_BOP_ON
e0a0: 4c 59 20 3d 20 30 78 30 34 30 30 30 30 30 30 2c  LY = 0x04000000,
e0b0: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 52 45 53  ..TAPE_DRIVE_RES
e0c0: 45 52 56 45 44 5f 42 49 54 20 20 20 20 20 3d 20  ERVED_BIT     = 
e0d0: 30 78 38 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e  0x80000000;..con
e0e0: 73 74 20 44 57 4f 52 44 0a 09 54 41 50 45 5f 44  st DWORD..TAPE_D
e0f0: 52 49 56 45 5f 4c 4f 41 44 5f 55 4e 4c 4f 41 44  RIVE_LOAD_UNLOAD
e100: 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 30        = 0x800000
e110: 30 31 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f  01,..TAPE_DRIVE_
e120: 54 45 4e 53 49 4f 4e 20 20 20 20 20 20 20 20 20  TENSION         
e130: 20 3d 20 30 78 38 30 30 30 30 30 30 32 2c 0a 09   = 0x80000002,..
e140: 54 41 50 45 5f 44 52 49 56 45 5f 4c 4f 43 4b 5f  TAPE_DRIVE_LOCK_
e150: 55 4e 4c 4f 43 4b 20 20 20 20 20 20 3d 20 30 78  UNLOCK      = 0x
e160: 38 30 30 30 30 30 30 34 2c 0a 09 54 41 50 45 5f  80000004,..TAPE_
e170: 44 52 49 56 45 5f 52 45 57 49 4e 44 5f 49 4d 4d  DRIVE_REWIND_IMM
e180: 45 44 49 41 54 45 20 3d 20 30 78 38 30 30 30 30  EDIATE = 0x80000
e190: 30 30 38 2c 0a 09 54 41 50 45 5f 44 52 49 56 45  008,..TAPE_DRIVE
e1a0: 5f 53 45 54 5f 42 4c 4f 43 4b 5f 53 49 5a 45 20  _SET_BLOCK_SIZE 
e1b0: 20 20 3d 20 30 78 38 30 30 30 30 30 31 30 2c 0a    = 0x80000010,.
e1c0: 09 54 41 50 45 5f 44 52 49 56 45 5f 4c 4f 41 44  .TAPE_DRIVE_LOAD
e1d0: 5f 55 4e 4c 44 5f 49 4d 4d 45 44 20 20 3d 20 30  _UNLD_IMMED  = 0
e1e0: 78 38 30 30 30 30 30 32 30 2c 0a 09 54 41 50 45  x80000020,..TAPE
e1f0: 5f 44 52 49 56 45 5f 54 45 4e 53 49 4f 4e 5f 49  _DRIVE_TENSION_I
e200: 4d 4d 45 44 20 20 20 20 3d 20 30 78 38 30 30 30  MMED    = 0x8000
e210: 30 30 34 30 2c 0a 09 54 41 50 45 5f 44 52 49 56  0040,..TAPE_DRIV
e220: 45 5f 4c 4f 43 4b 5f 55 4e 4c 4b 5f 49 4d 4d 45  E_LOCK_UNLK_IMME
e230: 44 20 20 3d 20 30 78 38 30 30 30 30 30 38 30 2c  D  = 0x80000080,
e240: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45 54  ..TAPE_DRIVE_SET
e250: 5f 45 43 43 20 20 20 20 20 20 20 20 20 20 3d 20  _ECC          = 
e260: 30 78 38 30 30 30 30 31 30 30 2c 0a 09 54 41 50  0x80000100,..TAP
e270: 45 5f 44 52 49 56 45 5f 53 45 54 5f 43 4f 4d 50  E_DRIVE_SET_COMP
e280: 52 45 53 53 49 4f 4e 20 20 3d 20 30 78 38 30 30  RESSION  = 0x800
e290: 30 30 32 30 30 2c 0a 09 54 41 50 45 5f 44 52 49  00200,..TAPE_DRI
e2a0: 56 45 5f 53 45 54 5f 50 41 44 44 49 4e 47 20 20  VE_SET_PADDING  
e2b0: 20 20 20 20 3d 20 30 78 38 30 30 30 30 34 30 30      = 0x80000400
e2c0: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45  ,..TAPE_DRIVE_SE
e2d0: 54 5f 52 45 50 4f 52 54 5f 53 4d 4b 53 20 20 3d  T_REPORT_SMKS  =
e2e0: 20 30 78 38 30 30 30 30 38 30 30 2c 0a 09 54 41   0x80000800,..TA
e2f0: 50 45 5f 44 52 49 56 45 5f 41 42 53 4f 4c 55 54  PE_DRIVE_ABSOLUT
e300: 45 5f 42 4c 4b 20 20 20 20 20 3d 20 30 78 38 30  E_BLK     = 0x80
e310: 30 30 31 30 30 30 2c 0a 09 54 41 50 45 5f 44 52  001000,..TAPE_DR
e320: 49 56 45 5f 41 42 53 5f 42 4c 4b 5f 49 4d 4d 45  IVE_ABS_BLK_IMME
e330: 44 20 20 20 20 3d 20 30 78 38 30 30 30 32 30 30  D    = 0x8000200
e340: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 4c  0,..TAPE_DRIVE_L
e350: 4f 47 49 43 41 4c 5f 42 4c 4b 20 20 20 20 20 20  OGICAL_BLK      
e360: 3d 20 30 78 38 30 30 30 34 30 30 30 2c 0a 09 54  = 0x80004000,..T
e370: 41 50 45 5f 44 52 49 56 45 5f 4c 4f 47 5f 42 4c  APE_DRIVE_LOG_BL
e380: 4b 5f 49 4d 4d 45 44 20 20 20 20 3d 20 30 78 38  K_IMMED    = 0x8
e390: 30 30 30 38 30 30 30 2c 0a 09 54 41 50 45 5f 44  0008000,..TAPE_D
e3a0: 52 49 56 45 5f 45 4e 44 5f 4f 46 5f 44 41 54 41  RIVE_END_OF_DATA
e3b0: 20 20 20 20 20 20 3d 20 30 78 38 30 30 31 30 30        = 0x800100
e3c0: 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f  00,..TAPE_DRIVE_
e3d0: 52 45 4c 41 54 49 56 45 5f 42 4c 4b 53 20 20 20  RELATIVE_BLKS   
e3e0: 20 3d 20 30 78 38 30 30 32 30 30 30 30 2c 0a 09   = 0x80020000,..
e3f0: 54 41 50 45 5f 44 52 49 56 45 5f 46 49 4c 45 4d  TAPE_DRIVE_FILEM
e400: 41 52 4b 53 20 20 20 20 20 20 20 20 3d 20 30 78  ARKS        = 0x
e410: 38 30 30 34 30 30 30 30 2c 0a 09 54 41 50 45 5f  80040000,..TAPE_
e420: 44 52 49 56 45 5f 53 45 51 55 45 4e 54 49 41 4c  DRIVE_SEQUENTIAL
e430: 5f 46 4d 4b 53 20 20 3d 20 30 78 38 30 30 38 30  _FMKS  = 0x80080
e440: 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45  000,..TAPE_DRIVE
e450: 5f 53 45 54 4d 41 52 4b 53 20 20 20 20 20 20 20  _SETMARKS       
e460: 20 20 3d 20 30 78 38 30 31 30 30 30 30 30 2c 0a    = 0x80100000,.
e470: 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45 51 55  .TAPE_DRIVE_SEQU
e480: 45 4e 54 49 41 4c 5f 53 4d 4b 53 20 20 3d 20 30  ENTIAL_SMKS  = 0
e490: 78 38 30 32 30 30 30 30 30 2c 0a 09 54 41 50 45  x80200000,..TAPE
e4a0: 5f 44 52 49 56 45 5f 52 45 56 45 52 53 45 5f 50  _DRIVE_REVERSE_P
e4b0: 4f 53 49 54 49 4f 4e 20 3d 20 30 78 38 30 34 30  OSITION = 0x8040
e4c0: 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56  0000,..TAPE_DRIV
e4d0: 45 5f 53 50 41 43 45 5f 49 4d 4d 45 44 49 41 54  E_SPACE_IMMEDIAT
e4e0: 45 20 20 3d 20 30 78 38 30 38 30 30 30 30 30 2c  E  = 0x80800000,
e4f0: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 57 52 49  ..TAPE_DRIVE_WRI
e500: 54 45 5f 53 45 54 4d 41 52 4b 53 20 20 20 3d 20  TE_SETMARKS   = 
e510: 30 78 38 31 30 30 30 30 30 30 2c 0a 09 54 41 50  0x81000000,..TAP
e520: 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 46 49  E_DRIVE_WRITE_FI
e530: 4c 45 4d 41 52 4b 53 20 20 3d 20 30 78 38 32 30  LEMARKS  = 0x820
e540: 30 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49  00000,..TAPE_DRI
e550: 56 45 5f 57 52 49 54 45 5f 53 48 4f 52 54 5f 46  VE_WRITE_SHORT_F
e560: 4d 4b 53 20 3d 20 30 78 38 34 30 30 30 30 30 30  MKS = 0x84000000
e570: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 57 52  ,..TAPE_DRIVE_WR
e580: 49 54 45 5f 4c 4f 4e 47 5f 46 4d 4b 53 20 20 3d  ITE_LONG_FMKS  =
e590: 20 30 78 38 38 30 30 30 30 30 30 2c 0a 09 54 41   0x88000000,..TA
e5a0: 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 4d  PE_DRIVE_WRITE_M
e5b0: 41 52 4b 5f 49 4d 4d 45 44 20 3d 20 30 78 39 30  ARK_IMMED = 0x90
e5c0: 30 30 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52  000000,..TAPE_DR
e5d0: 49 56 45 5f 46 4f 52 4d 41 54 20 20 20 20 20 20  IVE_FORMAT      
e5e0: 20 20 20 20 20 3d 20 30 78 41 30 30 30 30 30 30       = 0xA000000
e5f0: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 46  0,..TAPE_DRIVE_F
e600: 4f 52 4d 41 54 5f 49 4d 4d 45 44 49 41 54 45 20  ORMAT_IMMEDIATE 
e610: 3d 20 30 78 43 30 30 30 30 30 30 30 2c 0a 09 54  = 0xC0000000,..T
e620: 41 50 45 5f 44 52 49 56 45 5f 48 49 47 48 5f 46  APE_DRIVE_HIGH_F
e630: 45 41 54 55 52 45 53 20 20 20 20 3d 20 30 78 38  EATURES    = 0x8
e640: 30 30 30 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a  0000000;..enum :
e650: 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f 46   DWORD {..TAPE_F
e660: 49 58 45 44 5f 50 41 52 54 49 54 49 4f 4e 53 20  IXED_PARTITIONS 
e670: 20 20 20 20 3d 20 30 2c 0a 09 54 41 50 45 5f 53      = 0,..TAPE_S
e680: 45 4c 45 43 54 5f 50 41 52 54 49 54 49 4f 4e 53  ELECT_PARTITIONS
e690: 20 20 20 20 3d 20 31 2c 0a 09 54 41 50 45 5f 49      = 1,..TAPE_I
e6a0: 4e 49 54 49 41 54 4f 52 5f 50 41 52 54 49 54 49  NITIATOR_PARTITI
e6b0: 4f 4e 53 20 3d 20 32 0a 7d 0a 0a 65 6e 75 6d 20  ONS = 2.}..enum 
e6c0: 3a 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f  : DWORD {..TAPE_
e6d0: 53 45 54 4d 41 52 4b 53 2c 0a 09 54 41 50 45 5f  SETMARKS,..TAPE_
e6e0: 46 49 4c 45 4d 41 52 4b 53 2c 0a 09 54 41 50 45  FILEMARKS,..TAPE
e6f0: 5f 53 48 4f 52 54 5f 46 49 4c 45 4d 41 52 4b 53  _SHORT_FILEMARKS
e700: 2c 0a 09 54 41 50 45 5f 4c 4f 4e 47 5f 46 49 4c  ,..TAPE_LONG_FIL
e710: 45 4d 41 52 4b 53 0a 7d 0a 0a 65 6e 75 6d 20 3a  EMARKS.}..enum :
e720: 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f 45   DWORD {..TAPE_E
e730: 52 41 53 45 5f 53 48 4f 52 54 2c 0a 09 54 41 50  RASE_SHORT,..TAP
e740: 45 5f 45 52 41 53 45 5f 4c 4f 4e 47 0a 7d 0a 0a  E_ERASE_LONG.}..
e750: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
e760: 54 41 50 45 5f 4c 4f 41 44 2c 0a 09 54 41 50 45  TAPE_LOAD,..TAPE
e770: 5f 55 4e 4c 4f 41 44 2c 0a 09 54 41 50 45 5f 54  _UNLOAD,..TAPE_T
e780: 45 4e 53 49 4f 4e 2c 0a 09 54 41 50 45 5f 4c 4f  ENSION,..TAPE_LO
e790: 43 4b 2c 0a 09 54 41 50 45 5f 55 4e 4c 4f 43 4b  CK,..TAPE_UNLOCK
e7a0: 2c 0a 09 54 41 50 45 5f 46 4f 52 4d 41 54 0a 7d  ,..TAPE_FORMAT.}
e7b0: 0a 0a 65 6e 75 6d 20 3a 20 55 4c 4f 4e 47 33 32  ..enum : ULONG32
e7c0: 20 7b 0a 09 56 45 52 5f 50 4c 41 54 46 4f 52 4d   {..VER_PLATFORM
e7d0: 5f 57 49 4e 33 32 73 2c 0a 09 56 45 52 5f 50 4c  _WIN32s,..VER_PL
e7e0: 41 54 46 4f 52 4d 5f 57 49 4e 33 32 5f 57 49 4e  ATFORM_WIN32_WIN
e7f0: 44 4f 57 53 2c 0a 09 56 45 52 5f 50 4c 41 54 46  DOWS,..VER_PLATF
e800: 4f 52 4d 5f 57 49 4e 33 32 5f 4e 54 0a 7d 0a 0a  ORM_WIN32_NT.}..
e810: 65 6e 75 6d 20 3a 20 55 43 48 41 52 20 7b 0a 09  enum : UCHAR {..
e820: 56 45 52 5f 4e 54 5f 57 4f 52 4b 53 54 41 54 49  VER_NT_WORKSTATI
e830: 4f 4e 20 3d 20 31 2c 0a 09 56 45 52 5f 4e 54 5f  ON = 1,..VER_NT_
e840: 44 4f 4d 41 49 4e 5f 43 4f 4e 54 52 4f 4c 4c 45  DOMAIN_CONTROLLE
e850: 52 2c 0a 09 56 45 52 5f 4e 54 5f 53 45 52 56 45  R,..VER_NT_SERVE
e860: 52 0a 7d 0a 0a 63 6f 6e 73 74 20 55 53 48 4f 52  R.}..const USHOR
e870: 54 0a 09 56 45 52 5f 53 55 49 54 45 5f 53 4d 41  T..VER_SUITE_SMA
e880: 4c 4c 42 55 53 49 4e 45 53 53 20 20 20 20 20 20  LLBUSINESS      
e890: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a        = 0x0001,.
e8a0: 09 56 45 52 5f 53 55 49 54 45 5f 45 4e 54 45 52  .VER_SUITE_ENTER
e8b0: 50 52 49 53 45 20 20 20 20 20 20 20 20 20 20 20  PRISE           
e8c0: 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 56      = 0x0002,..V
e8d0: 45 52 5f 53 55 49 54 45 5f 42 41 43 4b 4f 46 46  ER_SUITE_BACKOFF
e8e0: 49 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20  ICE             
e8f0: 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 56 45 52    = 0x0004,..VER
e900: 5f 53 55 49 54 45 5f 54 45 52 4d 49 4e 41 4c 20  _SUITE_TERMINAL 
e910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
e920: 3d 20 30 78 30 30 31 30 2c 0a 09 56 45 52 5f 53  = 0x0010,..VER_S
e930: 55 49 54 45 5f 53 4d 41 4c 4c 42 55 53 49 4e 45  UITE_SMALLBUSINE
e940: 53 53 5f 52 45 53 54 52 49 43 54 45 44 20 3d 20  SS_RESTRICTED = 
e950: 30 78 30 30 32 30 2c 0a 09 56 45 52 5f 53 55 49  0x0020,..VER_SUI
e960: 54 45 5f 45 4d 42 45 44 44 45 44 4e 54 20 20 20  TE_EMBEDDEDNT   
e970: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
e980: 30 30 34 30 2c 0a 09 56 45 52 5f 53 55 49 54 45  0040,..VER_SUITE
e990: 5f 44 41 54 41 43 45 4e 54 45 52 20 20 20 20 20  _DATACENTER     
e9a0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
e9b0: 38 30 2c 0a 09 56 45 52 5f 53 55 49 54 45 5f 53  80,..VER_SUITE_S
e9c0: 49 4e 47 4c 45 55 53 45 52 54 53 20 20 20 20 20  INGLEUSERTS     
e9d0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30          = 0x0100
e9e0: 2c 0a 09 56 45 52 5f 53 55 49 54 45 5f 50 45 52  ,..VER_SUITE_PER
e9f0: 53 4f 4e 41 4c 20 20 20 20 20 20 20 20 20 20 20  SONAL           
ea00: 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a        = 0x0200,.
ea10: 09 56 45 52 5f 53 55 49 54 45 5f 42 4c 41 44 45  .VER_SUITE_BLADE
ea20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ea30: 20 20 20 20 3d 20 30 78 30 34 30 30 2c 0a 09 56      = 0x0400,..V
ea40: 45 52 5f 53 55 49 54 45 5f 53 54 4f 52 41 47 45  ER_SUITE_STORAGE
ea50: 5f 53 45 52 56 45 52 20 20 20 20 20 20 20 20 20  _SERVER         
ea60: 20 20 3d 20 30 78 32 30 30 30 2c 0a 09 56 45 52    = 0x2000,..VER
ea70: 5f 53 55 49 54 45 5f 43 4f 4d 50 55 54 45 5f 53  _SUITE_COMPUTE_S
ea80: 45 52 56 45 52 20 20 20 20 20 20 20 20 20 20 20  ERVER           
ea90: 3d 20 30 78 34 30 30 30 3b 0a 0a 63 6f 6e 73 74  = 0x4000;..const
eaa0: 20 55 4c 4f 4e 47 0a 09 57 54 5f 45 58 45 43 55   ULONG..WT_EXECU
eab0: 54 45 44 45 46 41 55 4c 54 20 20 20 20 20 20 20  TEDEFAULT       
eac0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
ead0: 30 2c 0a 09 57 54 5f 45 58 45 43 55 54 45 49 4e  0,..WT_EXECUTEIN
eae0: 49 4f 54 48 52 45 41 44 20 20 20 20 20 20 20 20  IOTHREAD        
eaf0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
eb00: 57 54 5f 45 58 45 43 55 54 45 49 4e 57 41 49 54  WT_EXECUTEINWAIT
eb10: 54 48 52 45 41 44 20 20 20 20 20 20 20 3d 20 30  THREAD       = 0
eb20: 78 30 30 30 30 30 30 30 34 2c 0a 09 57 54 5f 45  x00000004,..WT_E
eb30: 58 45 43 55 54 45 4f 4e 4c 59 4f 4e 43 45 20 20  XECUTEONLYONCE  
eb40: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
eb50: 30 30 30 30 38 2c 0a 09 57 54 5f 45 58 45 43 55  00008,..WT_EXECU
eb60: 54 45 4c 4f 4e 47 46 55 4e 43 54 49 4f 4e 20 20  TELONGFUNCTION  
eb70: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31       = 0x0000001
eb80: 30 2c 0a 09 57 54 5f 45 58 45 43 55 54 45 49 4e  0,..WT_EXECUTEIN
eb90: 54 49 4d 45 52 54 48 52 45 41 44 20 20 20 20 20  TIMERTHREAD     
eba0: 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c 0a 09   = 0x00000020,..
ebb0: 57 54 5f 45 58 45 43 55 54 45 49 4e 50 45 52 53  WT_EXECUTEINPERS
ebc0: 49 53 54 45 4e 54 54 48 52 45 41 44 20 3d 20 30  ISTENTTHREAD = 0
ebd0: 78 30 30 30 30 30 30 38 30 2c 0a 09 57 54 5f 54  x00000080,..WT_T
ebe0: 52 41 4e 53 46 45 52 5f 49 4d 50 45 52 53 4f 4e  RANSFER_IMPERSON
ebf0: 41 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 30 30  ATION    = 0x000
ec00: 30 30 31 30 30 3b 0a 0a 73 74 61 74 69 63 20 69  00100;..static i
ec10: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 5f  f (_WIN32_WINNT_
ec20: 4f 4e 4c 59 29 20 7b 0a 09 73 74 61 74 69 63 20  ONLY) {..static 
ec30: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
ec40: 20 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 63   >= 0x500) {...c
ec50: 6f 6e 73 74 20 44 57 4f 52 44 0a 09 09 09 56 45  onst DWORD....VE
ec60: 52 5f 4d 49 4e 4f 52 56 45 52 53 49 4f 4e 20 20  R_MINORVERSION  
ec70: 20 20 20 3d 20 30 78 30 31 2c 0a 09 09 09 56 45     = 0x01,....VE
ec80: 52 5f 4d 41 4a 4f 52 56 45 52 53 49 4f 4e 20 20  R_MAJORVERSION  
ec90: 20 20 20 3d 20 30 78 30 32 2c 0a 09 09 09 56 45     = 0x02,....VE
eca0: 52 5f 42 55 49 4c 44 4e 55 4d 42 45 52 20 20 20  R_BUILDNUMBER   
ecb0: 20 20 20 3d 20 30 78 30 34 2c 0a 09 09 09 56 45     = 0x04,....VE
ecc0: 52 5f 50 4c 41 54 46 4f 52 4d 49 44 20 20 20 20  R_PLATFORMID    
ecd0: 20 20 20 3d 20 30 78 30 38 2c 0a 09 09 09 56 45     = 0x08,....VE
ece0: 52 5f 53 45 52 56 49 43 45 50 41 43 4b 4d 49 4e  R_SERVICEPACKMIN
ecf0: 4f 52 20 3d 20 30 78 31 30 2c 0a 09 09 09 56 45  OR = 0x10,....VE
ed00: 52 5f 53 45 52 56 49 43 45 50 41 43 4b 4d 41 4a  R_SERVICEPACKMAJ
ed10: 4f 52 20 3d 20 30 78 32 30 2c 0a 09 09 09 56 45  OR = 0x20,....VE
ed20: 52 5f 53 55 49 54 45 4e 41 4d 45 20 20 20 20 20  R_SUITENAME     
ed30: 20 20 20 3d 20 30 78 34 30 2c 0a 09 09 09 56 45     = 0x40,....VE
ed40: 52 5f 50 52 4f 44 55 43 54 5f 54 59 50 45 20 20  R_PRODUCT_TYPE  
ed50: 20 20 20 3d 20 30 78 38 30 3b 0a 0a 09 09 65 6e     = 0x80;....en
ed60: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 09 09  um : DWORD {....
ed70: 56 45 52 5f 45 51 55 41 4c 20 3d 20 31 2c 0a 09  VER_EQUAL = 1,..
ed80: 09 09 56 45 52 5f 47 52 45 41 54 45 52 2c 0a 09  ..VER_GREATER,..
ed90: 09 09 56 45 52 5f 47 52 45 41 54 45 52 5f 45 51  ..VER_GREATER_EQ
eda0: 55 41 4c 2c 0a 09 09 09 56 45 52 5f 4c 45 53 53  UAL,....VER_LESS
edb0: 2c 0a 09 09 09 56 45 52 5f 4c 45 53 53 5f 45 51  ,....VER_LESS_EQ
edc0: 55 41 4c 2c 0a 09 09 09 56 45 52 5f 41 4e 44 2c  UAL,....VER_AND,
edd0: 0a 09 09 09 56 45 52 5f 4f 52 20 2f 2f 20 3d 20  ....VER_OR // = 
ede0: 37 0a 09 09 7d 0a 09 7d 0a 0a 09 73 74 61 74 69  7...}..}...stati
edf0: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
ee00: 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0a 09  NT >= 0x501) {..
ee10: 09 65 6e 75 6d 20 3a 20 55 4c 4f 4e 47 20 7b 0a  .enum : ULONG {.
ee20: 09 09 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  ...ACTIVATION_CO
ee30: 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 41 53  NTEXT_SECTION_AS
ee40: 53 45 4d 42 4c 59 5f 49 4e 46 4f 52 4d 41 54 49  SEMBLY_INFORMATI
ee50: 4f 4e 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 09  ON       = 1,...
ee60: 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54  .ACTIVATION_CONT
ee70: 45 58 54 5f 53 45 43 54 49 4f 4e 5f 44 4c 4c 5f  EXT_SECTION_DLL_
ee80: 52 45 44 49 52 45 43 54 49 4f 4e 2c 0a 09 09 09  REDIRECTION,....
ee90: 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45  ACTIVATION_CONTE
eea0: 58 54 5f 53 45 43 54 49 4f 4e 5f 57 49 4e 44 4f  XT_SECTION_WINDO
eeb0: 57 5f 43 4c 41 53 53 5f 52 45 44 49 52 45 43 54  W_CLASS_REDIRECT
eec0: 49 4f 4e 2c 0a 09 09 09 41 43 54 49 56 41 54 49  ION,....ACTIVATI
eed0: 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49  ON_CONTEXT_SECTI
eee0: 4f 4e 5f 43 4f 4d 5f 53 45 52 56 45 52 5f 52 45  ON_COM_SERVER_RE
eef0: 44 49 52 45 43 54 49 4f 4e 2c 0a 09 09 09 41 43  DIRECTION,....AC
ef00: 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
ef10: 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d 5f 49 4e 54  _SECTION_COM_INT
ef20: 45 52 46 41 43 45 5f 52 45 44 49 52 45 43 54 49  ERFACE_REDIRECTI
ef30: 4f 4e 2c 0a 09 09 09 41 43 54 49 56 41 54 49 4f  ON,....ACTIVATIO
ef40: 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49 4f  N_CONTEXT_SECTIO
ef50: 4e 5f 43 4f 4d 5f 54 59 50 45 5f 4c 49 42 52 41  N_COM_TYPE_LIBRA
ef60: 52 59 5f 52 45 44 49 52 45 43 54 49 4f 4e 2c 0a  RY_REDIRECTION,.
ef70: 09 09 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  ...ACTIVATION_CO
ef80: 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4f  NTEXT_SECTION_CO
ef90: 4d 5f 50 52 4f 47 49 44 5f 52 45 44 49 52 45 43  M_PROGID_REDIREC
efa0: 54 49 4f 4e 2c 20 2f 2f 20 3d 20 37 0a 09 09 09  TION, // = 7....
efb0: 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45  ACTIVATION_CONTE
efc0: 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4c 52 5f 53  XT_SECTION_CLR_S
efd0: 55 52 52 4f 47 41 54 45 53 20 20 20 20 20 20 20  URROGATES       
efe0: 20 20 20 20 20 20 3d 20 39 0a 09 09 7d 0a 09 7d        = 9...}..}
eff0: 0a 7d 0a 0a 2f 2f 20 4d 61 63 72 6f 73 0a 42 59  .}..// Macros.BY
f000: 54 45 20 42 54 59 50 45 28 42 59 54 45 20 78 29  TE BTYPE(BYTE x)
f010: 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 42   { return cast(B
f020: 59 54 45 29 20 28 78 20 26 20 4e 5f 42 54 4d 41  YTE) (x & N_BTMA
f030: 53 4b 29 3b 20 7d 0a 62 6f 6f 6c 20 49 53 50 54  SK); }.bool ISPT
f040: 52 28 75 69 6e 74 20 78 29 20 7b 20 72 65 74 75  R(uint x) { retu
f050: 72 6e 20 28 78 20 26 20 4e 5f 54 4d 41 53 4b 29  rn (x & N_TMASK)
f060: 20 3d 3d 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44   == (IMAGE_SYM_D
f070: 54 59 50 45 5f 50 4f 49 4e 54 45 52 20 3c 3c 20  TYPE_POINTER << 
f080: 4e 5f 42 54 53 48 46 54 29 3b 20 7d 0a 62 6f 6f  N_BTSHFT); }.boo
f090: 6c 20 49 53 46 43 4e 28 75 69 6e 74 20 78 29 20  l ISFCN(uint x) 
f0a0: 7b 20 72 65 74 75 72 6e 20 28 78 20 26 20 4e 5f  { return (x & N_
f0b0: 54 4d 41 53 4b 29 20 3d 3d 20 28 49 4d 41 47 45  TMASK) == (IMAGE
f0c0: 5f 53 59 4d 5f 44 54 59 50 45 5f 46 55 4e 43 54  _SYM_DTYPE_FUNCT
f0d0: 49 4f 4e 20 3c 3c 20 4e 5f 42 54 53 48 46 54 29  ION << N_BTSHFT)
f0e0: 3b 20 7d 0a 62 6f 6f 6c 20 49 53 41 52 59 28 75  ; }.bool ISARY(u
f0f0: 69 6e 74 20 78 29 20 7b 20 72 65 74 75 72 6e 20  int x) { return 
f100: 28 78 20 26 20 4e 5f 54 4d 41 53 4b 29 20 3d 3d  (x & N_TMASK) ==
f110: 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50   (IMAGE_SYM_DTYP
f120: 45 5f 41 52 52 41 59 20 3c 3c 20 4e 5f 42 54 53  E_ARRAY << N_BTS
f130: 48 46 54 29 3b 20 7d 0a 62 6f 6f 6c 20 49 53 54  HFT); }.bool IST
f140: 41 47 28 75 69 6e 74 20 78 29 20 7b 0a 09 72 65  AG(uint x) {..re
f150: 74 75 72 6e 20 78 20 3d 3d 20 49 4d 41 47 45 5f  turn x == IMAGE_
f160: 53 59 4d 5f 43 4c 41 53 53 5f 53 54 52 55 43 54  SYM_CLASS_STRUCT
f170: 5f 54 41 47 0a 09 20 20 20 20 7c 7c 20 78 20 3d  _TAG..    || x =
f180: 3d 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53  = IMAGE_SYM_CLAS
f190: 53 5f 55 4e 49 4f 4e 5f 54 41 47 0a 09 20 20 20  S_UNION_TAG..   
f1a0: 20 7c 7c 20 78 20 3d 3d 20 49 4d 41 47 45 5f 53   || x == IMAGE_S
f1b0: 59 4d 5f 43 4c 41 53 53 5f 45 4e 55 4d 5f 54 41  YM_CLASS_ENUM_TA
f1c0: 47 3b 0a 7d 0a 75 69 6e 74 20 49 4e 43 52 45 46  G;.}.uint INCREF
f1d0: 28 75 69 6e 74 20 78 29 20 7b 0a 09 72 65 74 75  (uint x) {..retu
f1e0: 72 6e 20 28 28 78 20 26 20 7e 4e 5f 42 54 4d 41  rn ((x & ~N_BTMA
f1f0: 53 4b 29 20 3c 3c 20 4e 5f 54 53 48 49 46 54 29  SK) << N_TSHIFT)
f200: 20 7c 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54   | (IMAGE_SYM_DT
f210: 59 50 45 5f 50 4f 49 4e 54 45 52 20 3c 3c 20 4e  YPE_POINTER << N
f220: 5f 42 54 53 48 46 54 29 0a 09 20 20 7c 20 28 78  _BTSHFT)..  | (x
f230: 20 26 20 4e 5f 42 54 4d 41 53 4b 29 3b 0a 7d 0a   & N_BTMASK);.}.
f240: 75 69 6e 74 20 44 45 43 52 45 46 28 75 69 6e 74  uint DECREF(uint
f250: 20 78 29 20 7b 20 72 65 74 75 72 6e 20 28 28 78   x) { return ((x
f260: 20 3e 3e 3e 20 4e 5f 54 53 48 49 46 54 29 20 26   >>> N_TSHIFT) &
f270: 20 7e 4e 5f 42 54 4d 41 53 4b 29 20 7c 20 28 78   ~N_BTMASK) | (x
f280: 20 26 20 4e 5f 42 54 4d 41 53 4b 29 3b 20 7d 0a   & N_BTMASK); }.
f290: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 20 54 4c 53  .const DWORD TLS
f2a0: 5f 4d 49 4e 49 4d 55 4d 5f 41 56 41 49 4c 41 42  _MINIMUM_AVAILAB
f2b0: 4c 45 20 3d 20 36 34 3b 0a 0a 63 6f 6e 73 74 20  LE = 64;..const 
f2c0: 55 4c 4f 4e 47 0a 09 49 4f 5f 52 45 50 41 52 53  ULONG..IO_REPARS
f2d0: 45 5f 54 41 47 5f 52 45 53 45 52 56 45 44 5f 5a  E_TAG_RESERVED_Z
f2e0: 45 52 4f 20 20 3d 20 30 2c 0a 09 49 4f 5f 52 45  ERO  = 0,..IO_RE
f2f0: 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45 52 56  PARSE_TAG_RESERV
f300: 45 44 5f 4f 4e 45 20 20 20 3d 20 31 2c 0a 09 49  ED_ONE   = 1,..I
f310: 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45  O_REPARSE_TAG_RE
f320: 53 45 52 56 45 44 5f 52 41 4e 47 45 20 3d 20 49  SERVED_RANGE = I
f330: 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45  O_REPARSE_TAG_RE
f340: 53 45 52 56 45 44 5f 4f 4e 45 2c 0a 09 49 4f 5f  SERVED_ONE,..IO_
f350: 52 45 50 41 52 53 45 5f 54 41 47 5f 53 59 4d 42  REPARSE_TAG_SYMB
f360: 4f 4c 49 43 5f 4c 49 4e 4b 20 20 3d 20 49 4f 5f  OLIC_LINK  = IO_
f370: 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45  REPARSE_TAG_RESE
f380: 52 56 45 44 5f 5a 45 52 4f 2c 0a 09 49 4f 5f 52  RVED_ZERO,..IO_R
f390: 45 50 41 52 53 45 5f 54 41 47 5f 4d 4f 55 4e 54  EPARSE_TAG_MOUNT
f3a0: 5f 50 4f 49 4e 54 20 20 20 20 3d 20 30 78 41 30  _POINT    = 0xA0
f3b0: 30 30 30 30 30 33 2c 0a 09 49 4f 5f 52 45 50 41  000003,..IO_REPA
f3c0: 52 53 45 5f 54 41 47 5f 53 59 4d 4c 49 4e 4b 20  RSE_TAG_SYMLINK 
f3d0: 20 20 20 20 20 20 20 3d 20 30 78 41 30 30 30 30         = 0xA0000
f3e0: 30 30 43 2c 0a 09 49 4f 5f 52 45 50 41 52 53 45  00C,..IO_REPARSE
f3f0: 5f 54 41 47 5f 56 41 4c 49 44 5f 56 41 4c 55 45  _TAG_VALID_VALUE
f400: 53 20 20 20 3d 20 30 78 45 30 30 30 46 46 46 46  S   = 0xE000FFFF
f410: 3b 0a 0a 2f 2a 09 41 6c 74 68 6f 75 67 68 20 74  ;../*.Although t
f420: 68 65 73 65 20 61 72 65 20 73 65 6d 61 6e 74 69  hese are semanti
f430: 63 61 6c 6c 79 20 62 6f 6f 6c 65 61 6e 2c 20 74  cally boolean, t
f440: 68 65 79 20 61 72 65 20 64 6f 63 75 6d 65 6e 74  hey are document
f450: 65 64 20 61 6e 64 0a 20 2a 09 69 6d 70 6c 65 6d  ed and. *.implem
f460: 65 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20  ented to return 
f470: 55 4c 4f 4e 47 3b 20 74 68 69 73 20 62 65 68 61  ULONG; this beha
f480: 76 69 6f 75 72 20 69 73 20 70 72 65 73 65 72 76  viour is preserv
f490: 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69  ed for compatibi
f4a0: 6c 69 74 79 0a 20 2a 2f 0a 55 4c 4f 4e 47 20 49  lity. */.ULONG I
f4b0: 73 52 65 70 61 72 73 65 54 61 67 4d 69 63 72 6f  sReparseTagMicro
f4c0: 73 6f 66 74 28 55 4c 4f 4e 47 20 78 29 20 20 20  soft(ULONG x)   
f4d0: 20 20 7b 20 72 65 74 75 72 6e 20 78 20 26 20 30    { return x & 0
f4e0: 78 38 30 30 30 30 30 30 30 3b 20 7d 0a 55 4c 4f  x80000000; }.ULO
f4f0: 4e 47 20 49 73 52 65 70 61 72 73 65 54 61 67 48  NG IsReparseTagH
f500: 69 67 68 4c 61 74 65 6e 63 79 28 55 4c 4f 4e 47  ighLatency(ULONG
f510: 20 78 29 20 20 20 7b 20 72 65 74 75 72 6e 20 78   x)   { return x
f520: 20 26 20 30 78 34 30 30 30 30 30 30 30 3b 20 7d   & 0x40000000; }
f530: 0a 55 4c 4f 4e 47 20 49 73 52 65 70 61 72 73 65  .ULONG IsReparse
f540: 54 61 67 4e 61 6d 65 53 75 72 72 6f 67 61 74 65  TagNameSurrogate
f550: 28 55 4c 4f 4e 47 20 78 29 20 7b 20 72 65 74 75  (ULONG x) { retu
f560: 72 6e 20 78 20 26 20 30 78 32 30 30 30 30 30 30  rn x & 0x2000000
f570: 30 3b 20 7d 0a 0a 62 6f 6f 6c 20 49 73 52 65 70  0; }..bool IsRep
f580: 61 72 73 65 54 61 67 56 61 6c 69 64 28 55 4c 4f  arseTagValid(ULO
f590: 4e 47 20 78 29 20 7b 0a 09 72 65 74 75 72 6e 20  NG x) {..return 
f5a0: 21 28 78 20 26 20 7e 49 4f 5f 52 45 50 41 52 53  !(x & ~IO_REPARS
f5b0: 45 5f 54 41 47 5f 56 41 4c 49 44 5f 56 41 4c 55  E_TAG_VALID_VALU
f5c0: 45 53 29 20 26 26 20 28 78 20 3e 20 49 4f 5f 52  ES) && (x > IO_R
f5d0: 45 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45 52  EPARSE_TAG_RESER
f5e0: 56 45 44 5f 52 41 4e 47 45 29 3b 0a 7d 0a 0a 2f  VED_RANGE);.}../
f5f0: 2f 20 44 6f 65 73 6e 27 74 20 73 65 65 6d 20 74  / Doesn't seem t
f600: 6f 20 6d 61 6b 65 20 73 65 6e 73 65 2c 20 62 75  o make sense, bu
f610: 74 20 61 6e 79 77 61 79 2e 2e 2e 2e 0a 55 4c 4f  t anyway.....ULO
f620: 4e 47 20 57 54 5f 53 45 54 5f 4d 41 58 5f 54 48  NG WT_SET_MAX_TH
f630: 52 45 41 44 50 4f 4f 4c 5f 54 48 52 45 41 44 53  READPOOL_THREADS
f640: 28 72 65 66 20 55 4c 4f 4e 47 20 46 6c 61 67 73  (ref ULONG Flags
f650: 2c 20 75 73 68 6f 72 74 20 4c 69 6d 69 74 29 20  , ushort Limit) 
f660: 7b 0a 09 72 65 74 75 72 6e 20 46 6c 61 67 73 20  {..return Flags 
f670: 7c 3d 20 4c 69 6d 69 74 20 3c 3c 20 31 36 3b 0a  |= Limit << 16;.
f680: 7d 0a 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  }..import win32.
f690: 62 61 73 65 74 79 70 73 3b 0a 2f 2a 20 61 6c 73  basetyps;./* als
f6a0: 6f 20 69 6e 20 77 69 6e 33 32 2e 62 61 73 65 74  o in win32.baset
f6b0: 79 70 73 0a 73 74 72 75 63 74 20 47 55 49 44 20  yps.struct GUID 
f6c0: 7b 0a 09 75 69 6e 74 20 20 44 61 74 61 31 3b 0a  {..uint  Data1;.
f6d0: 09 75 73 68 6f 72 74 20 44 61 74 61 32 3b 0a 09  .ushort Data2;..
f6e0: 75 73 68 6f 72 74 20 44 61 74 61 33 3b 0a 09 75  ushort Data3;..u
f6f0: 62 79 74 65 20 20 44 61 74 61 34 5b 38 5d 3b 0a  byte  Data4[8];.
f700: 7d 0a 61 6c 69 61 73 20 47 55 49 44 2a 20 52 45  }.alias GUID* RE
f710: 46 47 55 49 44 2c 20 4c 50 47 55 49 44 3b 0a 2a  FGUID, LPGUID;.*
f720: 2f 0a 0a 73 74 72 75 63 74 20 47 45 4e 45 52 49  /..struct GENERI
f730: 43 5f 4d 41 50 50 49 4e 47 20 7b 0a 09 41 43 43  C_MAPPING {..ACC
f740: 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72 69 63  ESS_MASK Generic
f750: 52 65 61 64 3b 0a 09 41 43 43 45 53 53 5f 4d 41  Read;..ACCESS_MA
f760: 53 4b 20 47 65 6e 65 72 69 63 57 72 69 74 65 3b  SK GenericWrite;
f770: 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b 20 47 65  ..ACCESS_MASK Ge
f780: 6e 65 72 69 63 45 78 65 63 75 74 65 3b 0a 09 41  nericExecute;..A
f790: 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72  CCESS_MASK Gener
f7a0: 69 63 41 6c 6c 3b 0a 7d 0a 61 6c 69 61 73 20 47  icAll;.}.alias G
f7b0: 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47 2a 20  ENERIC_MAPPING* 
f7c0: 50 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47  PGENERIC_MAPPING
f7d0: 3b 0a 0a 73 74 72 75 63 74 20 41 43 45 5f 48 45  ;..struct ACE_HE
f7e0: 41 44 45 52 20 7b 0a 09 42 59 54 45 20 41 63 65  ADER {..BYTE Ace
f7f0: 54 79 70 65 3b 0a 09 42 59 54 45 20 41 63 65 46  Type;..BYTE AceF
f800: 6c 61 67 73 3b 0a 09 57 4f 52 44 20 41 63 65 53  lags;..WORD AceS
f810: 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20 41 43 45  ize;.}.alias ACE
f820: 5f 48 45 41 44 45 52 2a 20 50 41 43 45 5f 48 45  _HEADER* PACE_HE
f830: 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 41 43  ADER;..struct AC
f840: 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45  CESS_ALLOWED_ACE
f850: 20 7b 0a 09 41 43 45 5f 48 45 41 44 45 52 20 20   {..ACE_HEADER  
f860: 48 65 61 64 65 72 3b 0a 09 41 43 43 45 53 53 5f  Header;..ACCESS_
f870: 4d 41 53 4b 20 4d 61 73 6b 3b 0a 09 44 57 4f 52  MASK Mask;..DWOR
f880: 44 20 20 20 20 20 20 20 53 69 64 53 74 61 72 74  D       SidStart
f890: 3b 0a 7d 0a 61 6c 69 61 73 20 41 43 43 45 53 53  ;.}.alias ACCESS
f8a0: 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 2a 20 50 41  _ALLOWED_ACE* PA
f8b0: 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43  CCESS_ALLOWED_AC
f8c0: 45 3b 0a 0a 73 74 72 75 63 74 20 41 43 43 45 53  E;..struct ACCES
f8d0: 53 5f 44 45 4e 49 45 44 5f 41 43 45 20 7b 0a 09  S_DENIED_ACE {..
f8e0: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64  ACE_HEADER  Head
f8f0: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b  er;..ACCESS_MASK
f900: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20   Mask;..DWORD   
f910: 20 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a      SidStart;.}.
f920: 61 6c 69 61 73 20 41 43 43 45 53 53 5f 44 45 4e  alias ACCESS_DEN
f930: 49 45 44 5f 41 43 45 2a 20 50 41 43 43 45 53 53  IED_ACE* PACCESS
f940: 5f 44 45 4e 49 45 44 5f 41 43 45 3b 0a 0a 73 74  _DENIED_ACE;..st
f950: 72 75 63 74 20 53 59 53 54 45 4d 5f 41 55 44 49  ruct SYSTEM_AUDI
f960: 54 5f 41 43 45 20 7b 0a 09 41 43 45 5f 48 45 41  T_ACE {..ACE_HEA
f970: 44 45 52 20 20 48 65 61 64 65 72 3b 0a 09 41 43  DER  Header;..AC
f980: 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0a  CESS_MASK Mask;.
f990: 09 44 57 4f 52 44 20 20 20 20 20 20 20 53 69 64  .DWORD       Sid
f9a0: 53 74 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 53  Start;.}.alias S
f9b0: 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 43 45 20  YSTEM_AUDIT_ACE 
f9c0: 2a 50 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 41  *PSYSTEM_AUDIT_A
f9d0: 43 45 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 54  CE;..struct SYST
f9e0: 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 20 7b 0a 09  EM_ALARM_ACE {..
f9f0: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64  ACE_HEADER  Head
fa00: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b  er;..ACCESS_MASK
fa10: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20   Mask;..DWORD   
fa20: 20 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a      SidStart;.}.
fa30: 61 6c 69 61 73 20 53 59 53 54 45 4d 5f 41 4c 41  alias SYSTEM_ALA
fa40: 52 4d 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f  RM_ACE* PSYSTEM_
fa50: 41 4c 41 52 4d 5f 41 43 45 3b 0a 0a 73 74 72 75  ALARM_ACE;..stru
fa60: 63 74 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45  ct ACCESS_ALLOWE
fa70: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09  D_OBJECT_ACE {..
fa80: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64  ACE_HEADER  Head
fa90: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b  er;..ACCESS_MASK
faa0: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20   Mask;..DWORD   
fab0: 20 20 20 20 46 6c 61 67 73 3b 0a 09 47 55 49 44      Flags;..GUID
fac0: 20 20 20 20 20 20 20 20 4f 62 6a 65 63 74 54 79          ObjectTy
fad0: 70 65 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20  pe;..GUID       
fae0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74   InheritedObject
faf0: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20  Type;..DWORD    
fb00: 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61     SidStart;.}.a
fb10: 6c 69 61 73 20 41 43 43 45 53 53 5f 41 4c 4c 4f  lias ACCESS_ALLO
fb20: 57 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20  WED_OBJECT_ACE* 
fb30: 50 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f  PACCESS_ALLOWED_
fb40: 4f 42 4a 45 43 54 5f 41 43 45 3b 0a 0a 73 74 72  OBJECT_ACE;..str
fb50: 75 63 74 20 41 43 43 45 53 53 5f 44 45 4e 49 45  uct ACCESS_DENIE
fb60: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09  D_OBJECT_ACE {..
fb70: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64  ACE_HEADER  Head
fb80: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b  er;..ACCESS_MASK
fb90: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20   Mask;..DWORD   
fba0: 20 20 20 20 46 6c 61 67 73 3b 0a 09 47 55 49 44      Flags;..GUID
fbb0: 20 20 20 20 20 20 20 20 4f 62 6a 65 63 74 54 79          ObjectTy
fbc0: 70 65 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20  pe;..GUID       
fbd0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74   InheritedObject
fbe0: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20  Type;..DWORD    
fbf0: 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61     SidStart;.}.a
fc00: 6c 69 61 73 20 41 43 43 45 53 53 5f 44 45 4e 49  lias ACCESS_DENI
fc10: 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50  ED_OBJECT_ACE* P
fc20: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42  ACCESS_DENIED_OB
fc30: 4a 45 43 54 5f 41 43 45 3b 0a 0a 73 74 72 75 63  JECT_ACE;..struc
fc40: 74 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f  t SYSTEM_AUDIT_O
fc50: 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09 41 43 45  BJECT_ACE {..ACE
fc60: 5f 48 45 41 44 45 52 20 20 48 65 61 64 65 72 3b  _HEADER  Header;
fc70: 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61  ..ACCESS_MASK Ma
fc80: 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  sk;..DWORD      
fc90: 20 46 6c 61 67 73 3b 0a 09 47 55 49 44 20 20 20   Flags;..GUID   
fca0: 20 20 20 20 20 4f 62 6a 65 63 74 54 79 70 65 3b       ObjectType;
fcb0: 0a 09 47 55 49 44 20 20 20 20 20 20 20 20 49 6e  ..GUID        In
fcc0: 68 65 72 69 74 65 64 4f 62 6a 65 63 74 54 79 70  heritedObjectTyp
fcd0: 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20  e;..DWORD       
fce0: 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61 6c 69 61  SidStart;.}.alia
fcf0: 73 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f  s SYSTEM_AUDIT_O
fd00: 42 4a 45 43 54 5f 41 43 45 2a 20 50 53 59 53 54  BJECT_ACE* PSYST
fd10: 45 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f  EM_AUDIT_OBJECT_
fd20: 41 43 45 3b 0a 0a 73 74 72 75 63 74 20 53 59 53  ACE;..struct SYS
fd30: 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54  TEM_ALARM_OBJECT
fd40: 5f 41 43 45 20 7b 0a 09 41 43 45 5f 48 45 41 44  _ACE {..ACE_HEAD
fd50: 45 52 20 20 48 65 61 64 65 72 3b 0a 09 41 43 43  ER  Header;..ACC
fd60: 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0a 09  ESS_MASK Mask;..
fd70: 44 57 4f 52 44 20 20 20 20 20 20 20 46 6c 61 67  DWORD       Flag
fd80: 73 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20 20  s;..GUID        
fd90: 4f 62 6a 65 63 74 54 79 70 65 3b 0a 09 47 55 49  ObjectType;..GUI
fda0: 44 20 20 20 20 20 20 20 20 49 6e 68 65 72 69 74  D        Inherit
fdb0: 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0a 09 44  edObjectType;..D
fdc0: 57 4f 52 44 20 20 20 20 20 20 20 53 69 64 53 74  WORD       SidSt
fdd0: 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53  art;.}.alias SYS
fde0: 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54  TEM_ALARM_OBJECT
fdf0: 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 4c  _ACE* PSYSTEM_AL
fe00: 41 52 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0a  ARM_OBJECT_ACE;.
fe10: 0a 73 74 72 75 63 74 20 41 43 4c 20 7b 0a 09 42  .struct ACL {..B
fe20: 59 54 45 20 41 63 6c 52 65 76 69 73 69 6f 6e 3b  YTE AclRevision;
fe30: 0a 09 42 59 54 45 20 53 62 7a 31 3b 0a 09 57 4f  ..BYTE Sbz1;..WO
fe40: 52 44 20 41 63 6c 53 69 7a 65 3b 0a 09 57 4f 52  RD AclSize;..WOR
fe50: 44 20 41 63 65 43 6f 75 6e 74 3b 0a 09 57 4f 52  D AceCount;..WOR
fe60: 44 20 53 62 7a 32 3b 0a 7d 0a 61 6c 69 61 73 20  D Sbz2;.}.alias 
fe70: 41 43 4c 2a 20 50 41 43 4c 3b 0a 0a 73 74 72 75  ACL* PACL;..stru
fe80: 63 74 20 41 43 4c 5f 52 45 56 49 53 49 4f 4e 5f  ct ACL_REVISION_
fe90: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44  INFORMATION {..D
fea0: 57 4f 52 44 20 41 63 6c 52 65 76 69 73 69 6f 6e  WORD AclRevision
feb0: 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 41 43 4c 5f  ;.}..struct ACL_
fec0: 53 49 5a 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  SIZE_INFORMATION
fed0: 20 7b 0a 09 44 57 4f 52 44 20 41 63 65 43 6f 75   {..DWORD AceCou
fee0: 6e 74 3b 0a 09 44 57 4f 52 44 20 41 63 6c 42 79  nt;..DWORD AclBy
fef0: 74 65 73 49 6e 55 73 65 3b 0a 09 44 57 4f 52 44  tesInUse;..DWORD
ff00: 20 41 63 6c 42 79 74 65 73 46 72 65 65 3b 0a 7d   AclBytesFree;.}
ff10: 0a 0a 76 65 72 73 69 6f 6e 20 28 58 38 36 29 20  ..version (X86) 
ff20: 7b 0a 09 2f 2f 20 3f 3f 3f 0a 09 63 6f 6e 73 74  {..// ???..const
ff30: 20 53 49 5a 45 5f 4f 46 5f 38 30 33 38 37 5f 52   SIZE_OF_80387_R
ff40: 45 47 49 53 54 45 52 53 20 20 20 20 20 3d 20 38  EGISTERS     = 8
ff50: 30 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58  0;..const CONTEX
ff60: 54 5f 69 33 38 36 20 20 20 20 20 20 20 20 20 20  T_i386          
ff70: 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30        = 0x010000
ff80: 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54  ;..const CONTEXT
ff90: 5f 69 34 38 36 20 20 20 20 20 20 20 20 20 20 20  _i486           
ffa0: 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 3b       = 0x010000;
ffb0: 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54 5f  ..const CONTEXT_
ffc0: 43 4f 4e 54 52 4f 4c 20 20 20 20 20 20 20 20 20  CONTROL         
ffd0: 20 20 20 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33      = CONTEXT_i3
ffe0: 38 36 20 7c 20 30 78 30 31 3b 0a 09 63 6f 6e 73  86 | 0x01;..cons
fff0: 74 20 43 4f 4e 54 45 58 54 5f 49 4e 54 45 47 45  t CONTEXT_INTEGE
10000 52 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  R             = 
10010 43 4f 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30  CONTEXT_i386 | 0
10020 78 30 32 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54  x02;..const CONT
10030 45 58 54 5f 53 45 47 4d 45 4e 54 53 20 20 20 20  EXT_SEGMENTS    
10040 20 20 20 20 20 20 20 20 3d 20 43 4f 4e 54 45 58          = CONTEX
10050 54 5f 69 33 38 36 20 7c 20 30 78 30 34 3b 0a 09  T_i386 | 0x04;..
10060 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54 5f 46 4c  const CONTEXT_FL
10070 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 20 20 20 20  OATING_POINT    
10080 20 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 38 36    = CONTEXT_i386
10090 20 7c 20 30 78 30 38 3b 0a 09 63 6f 6e 73 74 20   | 0x08;..const 
100a0 43 4f 4e 54 45 58 54 5f 44 45 42 55 47 5f 52 45  CONTEXT_DEBUG_RE
100b0 47 49 53 54 45 52 53 20 20 20 20 20 3d 20 43 4f  GISTERS     = CO
100c0 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78 31  NTEXT_i386 | 0x1
100d0 30 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58  0;..const CONTEX
100e0 54 5f 45 58 54 45 4e 44 45 44 5f 52 45 47 49 53  T_EXTENDED_REGIS
100f0 54 45 52 53 20 20 3d 20 43 4f 4e 54 45 58 54 5f  TERS  = CONTEXT_
10100 69 33 38 36 20 7c 20 30 78 32 30 3b 0a 09 63 6f  i386 | 0x20;..co
10110 6e 73 74 20 43 4f 4e 54 45 58 54 5f 46 55 4c 4c  nst CONTEXT_FULL
10120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10130 3d 20 43 4f 4e 54 45 58 54 5f 43 4f 4e 54 52 4f  = CONTEXT_CONTRO
10140 4c 20 7c 20 43 4f 4e 54 45 58 54 5f 49 4e 54 45  L | CONTEXT_INTE
10150 47 45 52 20 7c 20 43 4f 4e 54 45 58 54 5f 53 45  GER | CONTEXT_SE
10160 47 4d 45 4e 54 53 3b 0a 09 63 6f 6e 73 74 20 4d  GMENTS;..const M
10170 41 58 49 4d 55 4d 5f 53 55 50 50 4f 52 54 45 44  AXIMUM_SUPPORTED
10180 5f 45 58 54 45 4e 53 49 4f 4e 20 3d 20 35 31 32  _EXTENSION = 512
10190 3b 0a 0a 09 73 74 72 75 63 74 20 46 4c 4f 41 54  ;...struct FLOAT
101a0 49 4e 47 5f 53 41 56 45 5f 41 52 45 41 20 7b 0a  ING_SAVE_AREA {.
101b0 09 09 44 57 4f 52 44 20 20 20 20 43 6f 6e 74 72  ..DWORD    Contr
101c0 6f 6c 57 6f 72 64 3b 0a 09 09 44 57 4f 52 44 20  olWord;...DWORD 
101d0 20 20 20 53 74 61 74 75 73 57 6f 72 64 3b 0a 09     StatusWord;..
101e0 09 44 57 4f 52 44 20 20 20 20 54 61 67 57 6f 72  .DWORD    TagWor
101f0 64 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 45 72  d;...DWORD    Er
10200 72 6f 72 4f 66 66 73 65 74 3b 0a 09 09 44 57 4f  rorOffset;...DWO
10210 52 44 20 20 20 20 45 72 72 6f 72 53 65 6c 65 63  RD    ErrorSelec
10220 74 6f 72 3b 0a 09 09 44 57 4f 52 44 20 20 20 20  tor;...DWORD    
10230 44 61 74 61 4f 66 66 73 65 74 3b 0a 09 09 44 57  DataOffset;...DW
10240 4f 52 44 20 20 20 20 44 61 74 61 53 65 6c 65 63  ORD    DataSelec
10250 74 6f 72 3b 0a 09 09 42 59 54 45 5b 38 30 5d 20  tor;...BYTE[80] 
10260 52 65 67 69 73 74 65 72 41 72 65 61 3b 0a 09 09  RegisterArea;...
10270 44 57 4f 52 44 20 20 20 20 43 72 30 4e 70 78 53  DWORD    Cr0NpxS
10280 74 61 74 65 3b 0a 09 7d 0a 0a 09 73 74 72 75 63  tate;..}...struc
10290 74 20 43 4f 4e 54 45 58 54 20 7b 0a 09 09 44 57  t CONTEXT {...DW
102a0 4f 52 44 20 43 6f 6e 74 65 78 74 46 6c 61 67 73  ORD ContextFlags
102b0 3b 0a 09 09 44 57 4f 52 44 20 44 72 30 3b 0a 09  ;...DWORD Dr0;..
102c0 09 44 57 4f 52 44 20 44 72 31 3b 0a 09 09 44 57  .DWORD Dr1;...DW
102d0 4f 52 44 20 44 72 32 3b 0a 09 09 44 57 4f 52 44  ORD Dr2;...DWORD
102e0 20 44 72 33 3b 0a 09 09 44 57 4f 52 44 20 44 72   Dr3;...DWORD Dr
102f0 36 3b 0a 09 09 44 57 4f 52 44 20 44 72 37 3b 0a  6;...DWORD Dr7;.
10300 09 09 46 4c 4f 41 54 49 4e 47 5f 53 41 56 45 5f  ..FLOATING_SAVE_
10310 41 52 45 41 20 46 6c 6f 61 74 53 61 76 65 3b 0a  AREA FloatSave;.
10320 09 09 44 57 4f 52 44 20 53 65 67 47 73 3b 0a 09  ..DWORD SegGs;..
10330 09 44 57 4f 52 44 20 53 65 67 46 73 3b 0a 09 09  .DWORD SegFs;...
10340 44 57 4f 52 44 20 53 65 67 45 73 3b 0a 09 09 44  DWORD SegEs;...D
10350 57 4f 52 44 20 53 65 67 44 73 3b 0a 09 09 44 57  WORD SegDs;...DW
10360 4f 52 44 20 45 64 69 3b 0a 09 09 44 57 4f 52 44  ORD Edi;...DWORD
10370 20 45 73 69 3b 0a 09 09 44 57 4f 52 44 20 45 62   Esi;...DWORD Eb
10380 78 3b 0a 09 09 44 57 4f 52 44 20 45 64 78 3b 0a  x;...DWORD Edx;.
10390 09 09 44 57 4f 52 44 20 45 63 78 3b 0a 09 09 44  ..DWORD Ecx;...D
103a0 57 4f 52 44 20 45 61 78 3b 0a 09 09 44 57 4f 52  WORD Eax;...DWOR
103b0 44 20 45 62 70 3b 0a 09 09 44 57 4f 52 44 20 45  D Ebp;...DWORD E
103c0 69 70 3b 0a 09 09 44 57 4f 52 44 20 53 65 67 43  ip;...DWORD SegC
103d0 73 3b 0a 09 09 44 57 4f 52 44 20 45 46 6c 61 67  s;...DWORD EFlag
103e0 73 3b 0a 09 09 44 57 4f 52 44 20 45 73 70 3b 0a  s;...DWORD Esp;.
103f0 09 09 44 57 4f 52 44 20 53 65 67 53 73 3b 0a 09  ..DWORD SegSs;..
10400 09 42 59 54 45 5b 4d 41 58 49 4d 55 4d 5f 53 55  .BYTE[MAXIMUM_SU
10410 50 50 4f 52 54 45 44 5f 45 58 54 45 4e 53 49 4f  PPORTED_EXTENSIO
10420 4e 5d 20 45 78 74 65 6e 64 65 64 52 65 67 69 73  N] ExtendedRegis
10430 74 65 72 73 3b 0a 09 7d 0a 0a 7d 20 65 6c 73 65  ters;..}..} else
10440 20 7b 0a 09 73 74 61 74 69 63 20 61 73 73 65 72   {..static asser
10450 74 28 66 61 6c 73 65 2c 20 22 55 6e 73 75 70 70  t(false, "Unsupp
10460 6f 72 74 65 64 20 43 50 55 22 29 3b 0a 09 2f 2f  orted CPU");..//
10470 20 56 65 72 73 69 6f 6e 73 20 66 6f 72 20 50 6f   Versions for Po
10480 77 65 72 50 43 2c 20 41 6c 70 68 61 2c 20 53 48  werPC, Alpha, SH
10490 58 2c 20 61 6e 64 20 4d 49 50 53 20 72 65 6d 6f  X, and MIPS remo
104a0 76 65 64 2e 0a 7d 0a 0a 61 6c 69 61 73 20 43 4f  ved..}..alias CO
104b0 4e 54 45 58 54 2a 20 50 43 4f 4e 54 45 58 54 2c  NTEXT* PCONTEXT,
104c0 20 4c 50 43 4f 4e 54 45 58 54 3b 0a 0a 73 74 72   LPCONTEXT;..str
104d0 75 63 74 20 45 58 43 45 50 54 49 4f 4e 5f 52 45  uct EXCEPTION_RE
104e0 43 4f 52 44 20 7b 0a 09 44 57 4f 52 44 20 45 78  CORD {..DWORD Ex
104f0 63 65 70 74 69 6f 6e 43 6f 64 65 3b 0a 09 44 57  ceptionCode;..DW
10500 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 46 6c 61  ORD ExceptionFla
10510 67 73 3b 0a 09 45 58 43 45 50 54 49 4f 4e 5f 52  gs;..EXCEPTION_R
10520 45 43 4f 52 44 2a 20 45 78 63 65 70 74 69 6f 6e  ECORD* Exception
10530 52 65 63 6f 72 64 3b 0a 09 50 56 4f 49 44 20 45  Record;..PVOID E
10540 78 63 65 70 74 69 6f 6e 41 64 64 72 65 73 73 3b  xceptionAddress;
10550 0a 09 44 57 4f 52 44 20 4e 75 6d 62 65 72 50 61  ..DWORD NumberPa
10560 72 61 6d 65 74 65 72 73 3b 0a 09 44 57 4f 52 44  rameters;..DWORD
10570 5b 45 58 43 45 50 54 49 4f 4e 5f 4d 41 58 49 4d  [EXCEPTION_MAXIM
10580 55 4d 5f 50 41 52 41 4d 45 54 45 52 53 5d 20 45  UM_PARAMETERS] E
10590 78 63 65 70 74 69 6f 6e 49 6e 66 6f 72 6d 61 74  xceptionInformat
105a0 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 45 58 43  ion;.}.alias EXC
105b0 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 2a 20 50  EPTION_RECORD* P
105c0 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44  EXCEPTION_RECORD
105d0 2c 20 4c 50 45 58 43 45 50 54 49 4f 4e 5f 52 45  , LPEXCEPTION_RE
105e0 43 4f 52 44 3b 0a 0a 73 74 72 75 63 74 20 45 58  CORD;..struct EX
105f0 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53  CEPTION_POINTERS
10600 20 7b 0a 09 50 45 58 43 45 50 54 49 4f 4e 5f 52   {..PEXCEPTION_R
10610 45 43 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 52  ECORD ExceptionR
10620 65 63 6f 72 64 3b 0a 09 50 43 4f 4e 54 45 58 54  ecord;..PCONTEXT
10630 20 20 20 20 20 20 20 20 20 20 43 6f 6e 74 65 78            Contex
10640 74 52 65 63 6f 72 64 3b 0a 7d 0a 61 6c 69 61 73  tRecord;.}.alias
10650 20 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54   EXCEPTION_POINT
10660 45 52 53 2a 20 50 45 58 43 45 50 54 49 4f 4e 5f  ERS* PEXCEPTION_
10670 50 4f 49 4e 54 45 52 53 2c 20 4c 50 45 58 43 45  POINTERS, LPEXCE
10680 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 3b 0a  PTION_POINTERS;.
10690 0a 75 6e 69 6f 6e 20 4c 41 52 47 45 5f 49 4e 54  .union LARGE_INT
106a0 45 47 45 52 20 7b 0a 09 73 74 72 75 63 74 20 7b  EGER {..struct {
106b0 0a 09 09 75 69 6e 74 20 4c 6f 77 50 61 72 74 3b  ...uint LowPart;
106c0 0a 09 09 69 6e 74 20 20 48 69 67 68 50 61 72 74  ...int  HighPart
106d0 3b 0a 09 7d 0a 09 6c 6f 6e 67 20 51 75 61 64 50  ;..}..long QuadP
106e0 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 4c 41 52  art;.}.alias LAR
106f0 47 45 5f 49 4e 54 45 47 45 52 2a 20 50 4c 41 52  GE_INTEGER* PLAR
10700 47 45 5f 49 4e 54 45 47 45 52 3b 0a 0a 75 6e 69  GE_INTEGER;..uni
10710 6f 6e 20 55 4c 41 52 47 45 5f 49 4e 54 45 47 45  on ULARGE_INTEGE
10720 52 20 7b 0a 09 73 74 72 75 63 74 20 7b 0a 09 09  R {..struct {...
10730 75 69 6e 74 20 4c 6f 77 50 61 72 74 3b 0a 09 09  uint LowPart;...
10740 75 69 6e 74 20 48 69 67 68 50 61 72 74 3b 0a 09  uint HighPart;..
10750 7d 0a 09 75 6c 6f 6e 67 20 51 75 61 64 50 61 72  }..ulong QuadPar
10760 74 3b 0a 7d 0a 61 6c 69 61 73 20 55 4c 41 52 47  t;.}.alias ULARG
10770 45 5f 49 4e 54 45 47 45 52 2a 20 50 55 4c 41 52  E_INTEGER* PULAR
10780 47 45 5f 49 4e 54 45 47 45 52 3b 0a 0a 61 6c 69  GE_INTEGER;..ali
10790 61 73 20 4c 41 52 47 45 5f 49 4e 54 45 47 45 52  as LARGE_INTEGER
107a0 20 4c 55 49 44 3b 0a 61 6c 69 61 73 20 4c 55 49   LUID;.alias LUI
107b0 44 2a 20 50 4c 55 49 44 3b 0a 0a 63 6f 6e 73 74  D* PLUID;..const
107c0 20 4c 55 49 44 20 53 59 53 54 45 4d 5f 4c 55 49   LUID SYSTEM_LUI
107d0 44 20 3d 20 7b 20 51 75 61 64 50 61 72 74 3a 39  D = { QuadPart:9
107e0 39 39 20 7d 3b 0a 0a 61 6c 69 67 6e 28 34 29 20  99 };..align(4) 
107f0 73 74 72 75 63 74 20 4c 55 49 44 5f 41 4e 44 5f  struct LUID_AND_
10800 41 54 54 52 49 42 55 54 45 53 20 7b 0a 09 4c 55  ATTRIBUTES {..LU
10810 49 44 20 20 4c 75 69 64 3b 0a 09 44 57 4f 52 44  ID  Luid;..DWORD
10820 20 41 74 74 72 69 62 75 74 65 73 3b 0a 7d 0a 61   Attributes;.}.a
10830 6c 69 61 73 20 4c 55 49 44 5f 41 4e 44 5f 41 54  lias LUID_AND_AT
10840 54 52 49 42 55 54 45 53 2a 20 50 4c 55 49 44 5f  TRIBUTES* PLUID_
10850 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 3b 0a  AND_ATTRIBUTES;.
10860 0a 73 74 72 75 63 74 20 50 52 49 56 49 4c 45 47  .struct PRIVILEG
10870 45 5f 53 45 54 20 7b 0a 09 44 57 4f 52 44 20 50  E_SET {..DWORD P
10880 72 69 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0a 09  rivilegeCount;..
10890 44 57 4f 52 44 20 43 6f 6e 74 72 6f 6c 3b 0a 09  DWORD Control;..
108a0 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55  LUID_AND_ATTRIBU
108b0 54 45 53 20 5f 50 72 69 76 69 6c 65 67 65 3b 0a  TES _Privilege;.
108c0 0a 09 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49  ..LUID_AND_ATTRI
108d0 42 55 54 45 53 2a 20 50 72 69 76 69 6c 65 67 65  BUTES* Privilege
108e0 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f 50 72  () { return &_Pr
108f0 69 76 69 6c 65 67 65 3b 20 7d 0a 7d 0a 61 6c 69  ivilege; }.}.ali
10900 61 73 20 50 52 49 56 49 4c 45 47 45 5f 53 45 54  as PRIVILEGE_SET
10910 2a 20 50 50 52 49 56 49 4c 45 47 45 5f 53 45 54  * PPRIVILEGE_SET
10920 3b 0a 0a 73 74 72 75 63 74 20 53 45 43 55 52 49  ;..struct SECURI
10930 54 59 5f 41 54 54 52 49 42 55 54 45 53 20 7b 0a  TY_ATTRIBUTES {.
10940 09 44 57 4f 52 44 20 20 6e 4c 65 6e 67 74 68 3b  .DWORD  nLength;
10950 0a 09 4c 50 56 4f 49 44 20 6c 70 53 65 63 75 72  ..LPVOID lpSecur
10960 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b 0a 09  ityDescriptor;..
10970 42 4f 4f 4c 20 20 20 62 49 6e 68 65 72 69 74 48  BOOL   bInheritH
10980 61 6e 64 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 53  andle;.}.alias S
10990 45 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54  ECURITY_ATTRIBUT
109a0 45 53 2a 20 50 53 45 43 55 52 49 54 59 5f 41 54  ES* PSECURITY_AT
109b0 54 52 49 42 55 54 45 53 2c 20 4c 50 53 45 43 55  TRIBUTES, LPSECU
109c0 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 3b  RITY_ATTRIBUTES;
109d0 0a 0a 73 74 72 75 63 74 20 53 45 43 55 52 49 54  ..struct SECURIT
109e0 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52  Y_QUALITY_OF_SER
109f0 56 49 43 45 20 7b 0a 09 44 57 4f 52 44 20 20 20  VICE {..DWORD   
10a00 4c 65 6e 67 74 68 3b 0a 09 53 45 43 55 52 49 54  Length;..SECURIT
10a10 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  Y_IMPERSONATION_
10a20 4c 45 56 45 4c 20 20 20 49 6d 70 65 72 73 6f 6e  LEVEL   Imperson
10a30 61 74 69 6f 6e 4c 65 76 65 6c 3b 0a 09 53 45 43  ationLevel;..SEC
10a40 55 52 49 54 59 5f 43 4f 4e 54 45 58 54 5f 54 52  URITY_CONTEXT_TR
10a50 41 43 4b 49 4e 47 5f 4d 4f 44 45 20 43 6f 6e 74  ACKING_MODE Cont
10a60 65 78 74 54 72 61 63 6b 69 6e 67 4d 6f 64 65 3b  extTrackingMode;
10a70 0a 09 42 4f 4f 4c 45 41 4e 20 45 66 66 65 63 74  ..BOOLEAN Effect
10a80 69 76 65 4f 6e 6c 79 3b 0a 7d 0a 61 6c 69 61 73  iveOnly;.}.alias
10a90 20 53 45 43 55 52 49 54 59 5f 51 55 41 4c 49 54   SECURITY_QUALIT
10aa0 59 5f 4f 46 5f 53 45 52 56 49 43 45 2a 20 50 53  Y_OF_SERVICE* PS
10ab0 45 43 55 52 49 54 59 5f 51 55 41 4c 49 54 59 5f  ECURITY_QUALITY_
10ac0 4f 46 5f 53 45 52 56 49 43 45 3b 0a 0a 61 6c 69  OF_SERVICE;..ali
10ad0 61 73 20 50 56 4f 49 44 20 50 41 43 43 45 53 53  as PVOID PACCESS
10ae0 5f 54 4f 4b 45 4e 3b 0a 0a 73 74 72 75 63 74 20  _TOKEN;..struct 
10af0 53 45 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e  SE_IMPERSONATION
10b00 5f 53 54 41 54 45 20 7b 0a 09 50 41 43 43 45 53  _STATE {..PACCES
10b10 53 5f 54 4f 4b 45 4e 20 54 6f 6b 65 6e 3b 0a 09  S_TOKEN Token;..
10b20 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 43 6f  BOOLEAN       Co
10b30 70 79 4f 6e 4f 70 65 6e 3b 0a 09 42 4f 4f 4c 45  pyOnOpen;..BOOLE
10b40 41 4e 20 20 20 20 20 20 20 45 66 66 65 63 74 69  AN       Effecti
10b50 76 65 4f 6e 6c 79 3b 0a 09 53 45 43 55 52 49 54  veOnly;..SECURIT
10b60 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  Y_IMPERSONATION_
10b70 4c 45 56 45 4c 20 4c 65 76 65 6c 3b 0a 7d 0a 61  LEVEL Level;.}.a
10b80 6c 69 61 73 20 53 45 5f 49 4d 50 45 52 53 4f 4e  lias SE_IMPERSON
10b90 41 54 49 4f 4e 5f 53 54 41 54 45 2a 20 50 53 45  ATION_STATE* PSE
10ba0 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 53  _IMPERSONATION_S
10bb0 54 41 54 45 3b 0a 0a 73 74 72 75 63 74 20 53 49  TATE;..struct SI
10bc0 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54  D_IDENTIFIER_AUT
10bd0 48 4f 52 49 54 59 20 7b 0a 09 42 59 54 45 5b 36  HORITY {..BYTE[6
10be0 5d 20 56 61 6c 75 65 3b 0a 7d 0a 61 6c 69 61 73  ] Value;.}.alias
10bf0 20 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f   SID_IDENTIFIER_
10c00 41 55 54 48 4f 52 49 54 59 2a 20 50 53 49 44 5f  AUTHORITY* PSID_
10c10 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f  IDENTIFIER_AUTHO
10c20 52 49 54 59 2c 20 4c 50 53 49 44 5f 49 44 45 4e  RITY, LPSID_IDEN
10c30 54 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59  TIFIER_AUTHORITY
10c40 3b 0a 0a 61 6c 69 61 73 20 50 56 4f 49 44 20 50  ;..alias PVOID P
10c50 53 49 44 3b 0a 0a 73 74 72 75 63 74 20 53 49 44  SID;..struct SID
10c60 20 7b 0a 09 42 59 54 45 20 20 52 65 76 69 73 69   {..BYTE  Revisi
10c70 6f 6e 3b 0a 09 42 59 54 45 20 20 53 75 62 41 75  on;..BYTE  SubAu
10c80 74 68 6f 72 69 74 79 43 6f 75 6e 74 3b 0a 09 53  thorityCount;..S
10c90 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55  ID_IDENTIFIER_AU
10ca0 54 48 4f 52 49 54 59 20 49 64 65 6e 74 69 66 69  THORITY Identifi
10cb0 65 72 41 75 74 68 6f 72 69 74 79 3b 0a 09 44 57  erAuthority;..DW
10cc0 4f 52 44 20 5f 53 75 62 41 75 74 68 6f 72 69 74  ORD _SubAuthorit
10cd0 79 3b 0a 0a 09 44 57 4f 52 44 2a 20 53 75 62 41  y;...DWORD* SubA
10ce0 75 74 68 6f 72 69 74 79 28 29 20 7b 20 72 65 74  uthority() { ret
10cf0 75 72 6e 20 26 5f 53 75 62 41 75 74 68 6f 72 69  urn &_SubAuthori
10d00 74 79 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 53 49  ty; }.}.alias SI
10d10 44 2a 20 50 49 53 49 44 3b 0a 0a 73 74 72 75 63  D* PISID;..struc
10d20 74 20 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42  t SID_AND_ATTRIB
10d30 55 54 45 53 20 7b 0a 09 50 53 49 44 20 20 53 69  UTES {..PSID  Si
10d40 64 3b 0a 09 44 57 4f 52 44 20 41 74 74 72 69 62  d;..DWORD Attrib
10d50 75 74 65 73 3b 0a 7d 0a 61 6c 69 61 73 20 53 49  utes;.}.alias SI
10d60 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53  D_AND_ATTRIBUTES
10d70 2a 20 50 53 49 44 5f 41 4e 44 5f 41 54 54 52 49  * PSID_AND_ATTRI
10d80 42 55 54 45 53 3b 0a 0a 73 74 72 75 63 74 20 54  BUTES;..struct T
10d90 4f 4b 45 4e 5f 53 4f 55 52 43 45 20 7b 0a 09 43  OKEN_SOURCE {..C
10da0 48 41 52 5b 54 4f 4b 45 4e 5f 53 4f 55 52 43 45  HAR[TOKEN_SOURCE
10db0 5f 4c 45 4e 47 54 48 5d 20 53 6f 75 72 63 65 4e  _LENGTH] SourceN
10dc0 61 6d 65 3b 0a 09 4c 55 49 44 20 53 6f 75 72 63  ame;..LUID Sourc
10dd0 65 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 61  eIdentifier;.}.a
10de0 6c 69 61 73 20 54 4f 4b 45 4e 5f 53 4f 55 52 43  lias TOKEN_SOURC
10df0 45 2a 20 50 54 4f 4b 45 4e 5f 53 4f 55 52 43 45  E* PTOKEN_SOURCE
10e00 3b 0a 0a 73 74 72 75 63 74 20 54 4f 4b 45 4e 5f  ;..struct TOKEN_
10e10 43 4f 4e 54 52 4f 4c 20 7b 0a 09 4c 55 49 44 20  CONTROL {..LUID 
10e20 20 20 20 20 20 20 20 20 54 6f 6b 65 6e 49 64 3b          TokenId;
10e30 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 41  ..LUID         A
10e40 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 49 64 3b  uthenticationId;
10e50 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 4d  ..LUID         M
10e60 6f 64 69 66 69 65 64 49 64 3b 0a 09 54 4f 4b 45  odifiedId;..TOKE
10e70 4e 5f 53 4f 55 52 43 45 20 54 6f 6b 65 6e 53 6f  N_SOURCE TokenSo
10e80 75 72 63 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f  urce;.}.alias TO
10e90 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 2a 20 50 54 4f  KEN_CONTROL* PTO
10ea0 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 3b 0a 0a 73 74  KEN_CONTROL;..st
10eb0 72 75 63 74 20 54 4f 4b 45 4e 5f 44 45 46 41 55  ruct TOKEN_DEFAU
10ec0 4c 54 5f 44 41 43 4c 20 7b 0a 09 50 41 43 4c 20  LT_DACL {..PACL 
10ed0 44 65 66 61 75 6c 74 44 61 63 6c 3b 0a 7d 0a 61  DefaultDacl;.}.a
10ee0 6c 69 61 73 20 54 4f 4b 45 4e 5f 44 45 46 41 55  lias TOKEN_DEFAU
10ef0 4c 54 5f 44 41 43 4c 2a 20 50 54 4f 4b 45 4e 5f  LT_DACL* PTOKEN_
10f00 44 45 46 41 55 4c 54 5f 44 41 43 4c 3b 0a 0a 73  DEFAULT_DACL;..s
10f10 74 72 75 63 74 20 54 4f 4b 45 4e 5f 47 52 4f 55  truct TOKEN_GROU
10f20 50 53 20 7b 0a 09 44 57 4f 52 44 20 47 72 6f 75  PS {..DWORD Grou
10f30 70 43 6f 75 6e 74 3b 0a 09 53 49 44 5f 41 4e 44  pCount;..SID_AND
10f40 5f 41 54 54 52 49 42 55 54 45 53 20 5f 47 72 6f  _ATTRIBUTES _Gro
10f50 75 70 73 3b 0a 0a 09 53 49 44 5f 41 4e 44 5f 41  ups;...SID_AND_A
10f60 54 54 52 49 42 55 54 45 53 2a 20 47 72 6f 75 70  TTRIBUTES* Group
10f70 73 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f 47  s() { return &_G
10f80 72 6f 75 70 73 3b 20 7d 0a 7d 0a 61 6c 69 61 73  roups; }.}.alias
10f90 20 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 2a 20 50   TOKEN_GROUPS* P
10fa0 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 2c 20 4c 50  TOKEN_GROUPS, LP
10fb0 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 3b 0a 0a 73  TOKEN_GROUPS;..s
10fc0 74 72 75 63 74 20 54 4f 4b 45 4e 5f 4f 57 4e 45  truct TOKEN_OWNE
10fd0 52 20 7b 0a 09 50 53 49 44 20 4f 77 6e 65 72 3b  R {..PSID Owner;
10fe0 0a 7d 0a 61 6c 69 61 73 20 54 4f 4b 45 4e 5f 4f  .}.alias TOKEN_O
10ff0 57 4e 45 52 2a 20 50 54 4f 4b 45 4e 5f 4f 57 4e  WNER* PTOKEN_OWN
11000 45 52 3b 0a 0a 73 74 72 75 63 74 20 54 4f 4b 45  ER;..struct TOKE
11010 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 50 20  N_PRIMARY_GROUP 
11020 7b 0a 09 50 53 49 44 20 50 72 69 6d 61 72 79 47  {..PSID PrimaryG
11030 72 6f 75 70 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f  roup;.}.alias TO
11040 4b 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55  KEN_PRIMARY_GROU
11050 50 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 4d 41 52  P* PTOKEN_PRIMAR
11060 59 5f 47 52 4f 55 50 3b 0a 0a 73 74 72 75 63 74  Y_GROUP;..struct
11070 20 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 45   TOKEN_PRIVILEGE
11080 53 20 7b 0a 09 44 57 4f 52 44 20 50 72 69 76 69  S {..DWORD Privi
11090 6c 65 67 65 43 6f 75 6e 74 3b 0a 09 4c 55 49 44  legeCount;..LUID
110a0 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20  _AND_ATTRIBUTES 
110b0 5f 50 72 69 76 69 6c 65 67 65 73 3b 0a 0a 09 4c  _Privileges;...L
110c0 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54  UID_AND_ATTRIBUT
110d0 45 53 2a 20 50 72 69 76 69 6c 65 67 65 73 28 29  ES* Privileges()
110e0 20 7b 20 72 65 74 75 72 6e 20 26 5f 50 72 69 76   { return &_Priv
110f0 69 6c 65 67 65 73 3b 20 7d 0a 7d 0a 61 6c 69 61  ileges; }.}.alia
11100 73 20 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47  s TOKEN_PRIVILEG
11110 45 53 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 56 49  ES* PTOKEN_PRIVI
11120 4c 45 47 45 53 2c 20 4c 50 54 4f 4b 45 4e 5f 50  LEGES, LPTOKEN_P
11130 52 49 56 49 4c 45 47 45 53 3b 0a 0a 65 6e 75 6d  RIVILEGES;..enum
11140 20 54 4f 4b 45 4e 5f 54 59 50 45 20 7b 0a 09 54   TOKEN_TYPE {..T
11150 6f 6b 65 6e 50 72 69 6d 61 72 79 20 3d 20 31 2c  okenPrimary = 1,
11160 0a 09 54 6f 6b 65 6e 49 6d 70 65 72 73 6f 6e 61  ..TokenImpersona
11170 74 69 6f 6e 0a 7d 0a 61 6c 69 61 73 20 54 4f 4b  tion.}.alias TOK
11180 45 4e 5f 54 59 50 45 2a 20 50 54 4f 4b 45 4e 5f  EN_TYPE* PTOKEN_
11190 54 59 50 45 3b 0a 0a 73 74 72 75 63 74 20 54 4f  TYPE;..struct TO
111a0 4b 45 4e 5f 53 54 41 54 49 53 54 49 43 53 20 7b  KEN_STATISTICS {
111b0 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 20  ..LUID          
111c0 54 6f 6b 65 6e 49 64 3b 0a 09 4c 55 49 44 20 20  TokenId;..LUID  
111d0 20 20 20 20 20 20 20 20 41 75 74 68 65 6e 74 69          Authenti
111e0 63 61 74 69 6f 6e 49 64 3b 0a 09 4c 41 52 47 45  cationId;..LARGE
111f0 5f 49 4e 54 45 47 45 52 20 45 78 70 69 72 61 74  _INTEGER Expirat
11200 69 6f 6e 54 69 6d 65 3b 0a 09 54 4f 4b 45 4e 5f  ionTime;..TOKEN_
11210 54 59 50 45 20 20 20 20 54 6f 6b 65 6e 54 79 70  TYPE    TokenTyp
11220 65 3b 0a 09 53 45 43 55 52 49 54 59 5f 49 4d 50  e;..SECURITY_IMP
11230 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c  ERSONATION_LEVEL
11240 20 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 4c 65   ImpersonationLe
11250 76 65 6c 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  vel;..DWORD     
11260 20 20 20 20 44 79 6e 61 6d 69 63 43 68 61 72 67      DynamicCharg
11270 65 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  ed;..DWORD      
11280 20 20 20 44 79 6e 61 6d 69 63 41 76 61 69 6c 61     DynamicAvaila
11290 62 6c 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  ble;..DWORD     
112a0 20 20 20 20 47 72 6f 75 70 43 6f 75 6e 74 3b 0a      GroupCount;.
112b0 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 50  .DWORD         P
112c0 72 69 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0a 09  rivilegeCount;..
112d0 4c 55 49 44 20 20 20 20 20 20 20 20 20 20 4d 6f  LUID          Mo
112e0 64 69 66 69 65 64 49 64 3b 0a 7d 0a 61 6c 69 61  difiedId;.}.alia
112f0 73 20 54 4f 4b 45 4e 5f 53 54 41 54 49 53 54 49  s TOKEN_STATISTI
11300 43 53 2a 20 50 54 4f 4b 45 4e 5f 53 54 41 54 49  CS* PTOKEN_STATI
11310 53 54 49 43 53 3b 0a 0a 73 74 72 75 63 74 20 54  STICS;..struct T
11320 4f 4b 45 4e 5f 55 53 45 52 20 7b 0a 09 53 49 44  OKEN_USER {..SID
11330 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20  _AND_ATTRIBUTES 
11340 55 73 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f  User;.}.alias TO
11350 4b 45 4e 5f 55 53 45 52 2a 20 50 54 4f 4b 45 4e  KEN_USER* PTOKEN
11360 5f 55 53 45 52 3b 0a 0a 61 6c 69 61 73 20 44 57  _USER;..alias DW
11370 4f 52 44 20 53 45 43 55 52 49 54 59 5f 49 4e 46  ORD SECURITY_INF
11380 4f 52 4d 41 54 49 4f 4e 3b 0a 61 6c 69 61 73 20  ORMATION;.alias 
11390 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41  SECURITY_INFORMA
113a0 54 49 4f 4e 2a 20 50 53 45 43 55 52 49 54 59 5f  TION* PSECURITY_
113b0 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 61 6c 69  INFORMATION;.ali
113c0 61 73 20 57 4f 52 44 20 53 45 43 55 52 49 54 59  as WORD SECURITY
113d0 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54  _DESCRIPTOR_CONT
113e0 52 4f 4c 3b 0a 61 6c 69 61 73 20 53 45 43 55 52  ROL;.alias SECUR
113f0 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43  ITY_DESCRIPTOR_C
11400 4f 4e 54 52 4f 4c 2a 20 50 53 45 43 55 52 49 54  ONTROL* PSECURIT
11410 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e  Y_DESCRIPTOR_CON
11420 54 52 4f 4c 3b 0a 0a 73 74 72 75 63 74 20 53 45  TROL;..struct SE
11430 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f  CURITY_DESCRIPTO
11440 52 20 7b 0a 09 42 59 54 45 20 52 65 76 69 73 69  R {..BYTE Revisi
11450 6f 6e 3b 0a 09 42 59 54 45 20 53 62 7a 31 3b 0a  on;..BYTE Sbz1;.
11460 09 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49  .SECURITY_DESCRI
11470 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c 20 43 6f 6e  PTOR_CONTROL Con
11480 74 72 6f 6c 3b 0a 09 50 53 49 44 20 4f 77 6e 65  trol;..PSID Owne
11490 72 3b 0a 09 50 53 49 44 20 47 72 6f 75 70 3b 0a  r;..PSID Group;.
114a0 09 50 41 43 4c 20 53 61 63 6c 3b 0a 09 50 41 43  .PACL Sacl;..PAC
114b0 4c 20 44 61 63 6c 3b 0a 7d 0a 61 6c 69 61 73 20  L Dacl;.}.alias 
114c0 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
114d0 54 4f 52 2a 20 50 53 45 43 55 52 49 54 59 5f 44  TOR* PSECURITY_D
114e0 45 53 43 52 49 50 54 4f 52 2c 20 50 49 53 45 43  ESCRIPTOR, PISEC
114f0 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
11500 3b 0a 0a 65 6e 75 6d 20 54 4f 4b 45 4e 5f 49 4e  ;..enum TOKEN_IN
11510 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20  FORMATION_CLASS 
11520 7b 0a 09 54 6f 6b 65 6e 55 73 65 72 20 3d 20 31  {..TokenUser = 1
11530 2c 0a 09 54 6f 6b 65 6e 47 72 6f 75 70 73 2c 0a  ,..TokenGroups,.
11540 09 54 6f 6b 65 6e 50 72 69 76 69 6c 65 67 65 73  .TokenPrivileges
11550 2c 0a 09 54 6f 6b 65 6e 4f 77 6e 65 72 2c 0a 09  ,..TokenOwner,..
11560 54 6f 6b 65 6e 50 72 69 6d 61 72 79 47 72 6f 75  TokenPrimaryGrou
11570 70 2c 0a 09 54 6f 6b 65 6e 44 65 66 61 75 6c 74  p,..TokenDefault
11580 44 61 63 6c 2c 0a 09 54 6f 6b 65 6e 53 6f 75 72  Dacl,..TokenSour
11590 63 65 2c 0a 09 54 6f 6b 65 6e 54 79 70 65 2c 0a  ce,..TokenType,.
115a0 09 54 6f 6b 65 6e 49 6d 70 65 72 73 6f 6e 61 74  .TokenImpersonat
115b0 69 6f 6e 4c 65 76 65 6c 2c 0a 09 54 6f 6b 65 6e  ionLevel,..Token
115c0 53 74 61 74 69 73 74 69 63 73 2c 0a 09 54 6f 6b  Statistics,..Tok
115d0 65 6e 52 65 73 74 72 69 63 74 65 64 53 69 64 73  enRestrictedSids
115e0 2c 0a 09 54 6f 6b 65 6e 53 65 73 73 69 6f 6e 49  ,..TokenSessionI
115f0 64 2c 0a 09 54 6f 6b 65 6e 47 72 6f 75 70 73 41  d,..TokenGroupsA
11600 6e 64 50 72 69 76 69 6c 65 67 65 73 2c 0a 09 54  ndPrivileges,..T
11610 6f 6b 65 6e 53 65 73 73 69 6f 6e 52 65 66 65 72  okenSessionRefer
11620 65 6e 63 65 2c 0a 09 54 6f 6b 65 6e 53 61 6e 64  ence,..TokenSand
11630 42 6f 78 49 6e 65 72 74 2c 0a 09 54 6f 6b 65 6e  BoxInert,..Token
11640 41 75 64 69 74 50 6f 6c 69 63 79 2c 0a 09 54 6f  AuditPolicy,..To
11650 6b 65 6e 4f 72 69 67 69 6e 0a 7d 0a 0a 65 6e 75  kenOrigin.}..enu
11660 6d 20 53 49 44 5f 4e 41 4d 45 5f 55 53 45 20 7b  m SID_NAME_USE {
11670 0a 09 53 69 64 54 79 70 65 55 73 65 72 20 3d 20  ..SidTypeUser = 
11680 31 2c 0a 09 53 69 64 54 79 70 65 47 72 6f 75 70  1,..SidTypeGroup
11690 2c 0a 09 53 69 64 54 79 70 65 44 6f 6d 61 69 6e  ,..SidTypeDomain
116a0 2c 0a 09 53 69 64 54 79 70 65 41 6c 69 61 73 2c  ,..SidTypeAlias,
116b0 0a 09 53 69 64 54 79 70 65 57 65 6c 6c 4b 6e 6f  ..SidTypeWellKno
116c0 77 6e 47 72 6f 75 70 2c 0a 09 53 69 64 54 79 70  wnGroup,..SidTyp
116d0 65 44 65 6c 65 74 65 64 41 63 63 6f 75 6e 74 2c  eDeletedAccount,
116e0 0a 09 53 69 64 54 79 70 65 49 6e 76 61 6c 69 64  ..SidTypeInvalid
116f0 2c 0a 09 53 69 64 54 79 70 65 55 6e 6b 6e 6f 77  ,..SidTypeUnknow
11700 6e 2c 0a 09 53 69 64 54 79 70 65 43 6f 6d 70 75  n,..SidTypeCompu
11710 74 65 72 0a 7d 0a 61 6c 69 61 73 20 53 49 44 5f  ter.}.alias SID_
11720 4e 41 4d 45 5f 55 53 45 2a 20 50 53 49 44 5f 4e  NAME_USE* PSID_N
11730 41 4d 45 5f 55 53 45 3b 0a 0a 73 74 72 75 63 74  AME_USE;..struct
11740 20 51 55 4f 54 41 5f 4c 49 4d 49 54 53 20 7b 0a   QUOTA_LIMITS {.
11750 09 53 49 5a 45 5f 54 20 50 61 67 65 64 50 6f 6f  .SIZE_T PagedPoo
11760 6c 4c 69 6d 69 74 3b 0a 09 53 49 5a 45 5f 54 20  lLimit;..SIZE_T 
11770 4e 6f 6e 50 61 67 65 64 50 6f 6f 6c 4c 69 6d 69  NonPagedPoolLimi
11780 74 3b 0a 09 53 49 5a 45 5f 54 20 4d 69 6e 69 6d  t;..SIZE_T Minim
11790 75 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65  umWorkingSetSize
117a0 3b 0a 09 53 49 5a 45 5f 54 20 4d 61 78 69 6d 75  ;..SIZE_T Maximu
117b0 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 3b  mWorkingSetSize;
117c0 0a 09 53 49 5a 45 5f 54 20 50 61 67 65 66 69 6c  ..SIZE_T Pagefil
117d0 65 4c 69 6d 69 74 3b 0a 09 4c 41 52 47 45 5f 49  eLimit;..LARGE_I
117e0 4e 54 45 47 45 52 20 54 69 6d 65 4c 69 6d 69 74  NTEGER TimeLimit
117f0 3b 0a 7d 0a 61 6c 69 61 73 20 51 55 4f 54 41 5f  ;.}.alias QUOTA_
11800 4c 49 4d 49 54 53 2a 20 50 51 55 4f 54 41 5f 4c  LIMITS* PQUOTA_L
11810 49 4d 49 54 53 3b 0a 0a 73 74 72 75 63 74 20 49  IMITS;..struct I
11820 4f 5f 43 4f 55 4e 54 45 52 53 20 7b 0a 09 55 4c  O_COUNTERS {..UL
11830 4f 4e 47 4c 4f 4e 47 20 52 65 61 64 4f 70 65 72  ONGLONG ReadOper
11840 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f  ationCount;..ULO
11850 4e 47 4c 4f 4e 47 20 57 72 69 74 65 4f 70 65 72  NGLONG WriteOper
11860 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f  ationCount;..ULO
11870 4e 47 4c 4f 4e 47 20 4f 74 68 65 72 4f 70 65 72  NGLONG OtherOper
11880 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f  ationCount;..ULO
11890 4e 47 4c 4f 4e 47 20 52 65 61 64 54 72 61 6e 73  NGLONG ReadTrans
118a0 66 65 72 43 6f 75 6e 74 3b 0a 09 55 4c 4f 4e 47  ferCount;..ULONG
118b0 4c 4f 4e 47 20 57 72 69 74 65 54 72 61 6e 73 66  LONG WriteTransf
118c0 65 72 43 6f 75 6e 74 3b 0a 09 55 4c 4f 4e 47 4c  erCount;..ULONGL
118d0 4f 4e 47 20 4f 74 68 65 72 54 72 61 6e 73 66 65  ONG OtherTransfe
118e0 72 43 6f 75 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20  rCount;.}.alias 
118f0 49 4f 5f 43 4f 55 4e 54 45 52 53 2a 20 50 49 4f  IO_COUNTERS* PIO
11900 5f 43 4f 55 4e 54 45 52 53 3b 0a 0a 73 74 72 75  _COUNTERS;..stru
11910 63 74 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49  ct FILE_NOTIFY_I
11920 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 57  NFORMATION {..DW
11930 4f 52 44 20 4e 65 78 74 45 6e 74 72 79 4f 66 66  ORD NextEntryOff
11940 73 65 74 3b 0a 09 44 57 4f 52 44 20 41 63 74 69  set;..DWORD Acti
11950 6f 6e 3b 0a 09 44 57 4f 52 44 20 46 69 6c 65 4e  on;..DWORD FileN
11960 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 57 43 48 41  ameLength;..WCHA
11970 52 20 5f 46 69 6c 65 4e 61 6d 65 3b 0a 0a 09 57  R _FileName;...W
11980 43 48 41 52 2a 20 46 69 6c 65 4e 61 6d 65 28 29  CHAR* FileName()
11990 20 7b 20 72 65 74 75 72 6e 20 26 5f 46 69 6c 65   { return &_File
119a0 4e 61 6d 65 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20  Name; }.}.alias 
119b0 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f  FILE_NOTIFY_INFO
119c0 52 4d 41 54 49 4f 4e 2a 20 50 46 49 4c 45 5f 4e  RMATION* PFILE_N
119d0 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41 54 49 4f  OTIFY_INFORMATIO
119e0 4e 3b 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f  N;..struct TAPE_
119f0 45 52 41 53 45 20 7b 0a 09 44 57 4f 52 44 20 20  ERASE {..DWORD  
11a00 20 54 79 70 65 3b 0a 09 42 4f 4f 4c 45 41 4e 20   Type;..BOOLEAN 
11a10 49 6d 6d 65 64 69 61 74 65 3b 0a 7d 0a 61 6c 69  Immediate;.}.ali
11a20 61 73 20 54 41 50 45 5f 45 52 41 53 45 2a 20 50  as TAPE_ERASE* P
11a30 54 41 50 45 5f 45 52 41 53 45 3b 0a 0a 73 74 72  TAPE_ERASE;..str
11a40 75 63 74 20 54 41 50 45 5f 47 45 54 5f 44 52 49  uct TAPE_GET_DRI
11a50 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20 7b 0a  VE_PARAMETERS {.
11a60 09 42 4f 4f 4c 45 41 4e 20 45 43 43 3b 0a 09 42  .BOOLEAN ECC;..B
11a70 4f 4f 4c 45 41 4e 20 43 6f 6d 70 72 65 73 73 69  OOLEAN Compressi
11a80 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 44 61 74  on;..BOOLEAN Dat
11a90 61 50 61 64 64 69 6e 67 3b 0a 09 42 4f 4f 4c 45  aPadding;..BOOLE
11aa0 41 4e 20 52 65 70 6f 72 74 53 65 74 6d 61 72 6b  AN ReportSetmark
11ab0 73 3b 0a 09 44 57 4f 52 44 20 20 20 44 65 66 61  s;..DWORD   Defa
11ac0 75 6c 74 42 6c 6f 63 6b 53 69 7a 65 3b 0a 09 44  ultBlockSize;..D
11ad0 57 4f 52 44 20 20 20 4d 61 78 69 6d 75 6d 42 6c  WORD   MaximumBl
11ae0 6f 63 6b 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20  ockSize;..DWORD 
11af0 20 20 4d 69 6e 69 6d 75 6d 42 6c 6f 63 6b 53 69    MinimumBlockSi
11b00 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 4d 61 78  ze;..DWORD   Max
11b10 69 6d 75 6d 50 61 72 74 69 74 69 6f 6e 43 6f 75  imumPartitionCou
11b20 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 46 65 61  nt;..DWORD   Fea
11b30 74 75 72 65 73 4c 6f 77 3b 0a 09 44 57 4f 52 44  turesLow;..DWORD
11b40 20 20 20 46 65 61 74 75 72 65 73 48 69 67 68 3b     FeaturesHigh;
11b50 0a 09 44 57 4f 52 44 20 20 20 45 4f 54 57 61 72  ..DWORD   EOTWar
11b60 6e 69 6e 67 5a 6f 6e 65 53 69 7a 65 3b 0a 7d 0a  ningZoneSize;.}.
11b70 61 6c 69 61 73 20 54 41 50 45 5f 47 45 54 5f 44  alias TAPE_GET_D
11b80 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 2a  RIVE_PARAMETERS*
11b90 20 50 54 41 50 45 5f 47 45 54 5f 44 52 49 56 45   PTAPE_GET_DRIVE
11ba0 5f 50 41 52 41 4d 45 54 45 52 53 3b 0a 0a 73 74  _PARAMETERS;..st
11bb0 72 75 63 74 20 54 41 50 45 5f 47 45 54 5f 4d 45  ruct TAPE_GET_ME
11bc0 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 7b  DIA_PARAMETERS {
11bd0 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20  ..LARGE_INTEGER 
11be0 43 61 70 61 63 69 74 79 3b 0a 09 4c 41 52 47 45  Capacity;..LARGE
11bf0 5f 49 4e 54 45 47 45 52 20 52 65 6d 61 69 6e 69  _INTEGER Remaini
11c00 6e 67 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  ng;..DWORD      
11c10 20 20 20 42 6c 6f 63 6b 53 69 7a 65 3b 0a 09 44     BlockSize;..D
11c20 57 4f 52 44 20 20 20 20 20 20 20 20 20 50 61 72  WORD         Par
11c30 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 42 4f  titionCount;..BO
11c40 4f 4c 45 41 4e 20 20 20 20 20 20 20 57 72 69 74  OLEAN       Writ
11c50 65 50 72 6f 74 65 63 74 65 64 3b 0a 7d 0a 61 6c  eProtected;.}.al
11c60 69 61 73 20 54 41 50 45 5f 47 45 54 5f 4d 45 44  ias TAPE_GET_MED
11c70 49 41 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 50  IA_PARAMETERS* P
11c80 54 41 50 45 5f 47 45 54 5f 4d 45 44 49 41 5f 50  TAPE_GET_MEDIA_P
11c90 41 52 41 4d 45 54 45 52 53 3b 0a 0a 73 74 72 75  ARAMETERS;..stru
11ca0 63 74 20 54 41 50 45 5f 47 45 54 5f 50 4f 53 49  ct TAPE_GET_POSI
11cb0 54 49 4f 4e 20 7b 0a 09 55 4c 4f 4e 47 20 54 79  TION {..ULONG Ty
11cc0 70 65 3b 0a 09 55 4c 4f 4e 47 20 50 61 72 74 69  pe;..ULONG Parti
11cd0 74 69 6f 6e 3b 0a 09 55 4c 4f 4e 47 20 4f 66 66  tion;..ULONG Off
11ce0 73 65 74 4c 6f 77 3b 0a 09 55 4c 4f 4e 47 20 4f  setLow;..ULONG O
11cf0 66 66 73 65 74 48 69 67 68 3b 0a 7d 0a 61 6c 69  ffsetHigh;.}.ali
11d00 61 73 20 54 41 50 45 5f 47 45 54 5f 50 4f 53 49  as TAPE_GET_POSI
11d10 54 49 4f 4e 2a 20 50 54 41 50 45 5f 47 45 54 5f  TION* PTAPE_GET_
11d20 50 4f 53 49 54 49 4f 4e 3b 0a 0a 73 74 72 75 63  POSITION;..struc
11d30 74 20 54 41 50 45 5f 50 52 45 50 41 52 45 20 7b  t TAPE_PREPARE {
11d40 0a 09 44 57 4f 52 44 20 20 20 4f 70 65 72 61 74  ..DWORD   Operat
11d50 69 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 49 6d  ion;..BOOLEAN Im
11d60 6d 65 64 69 61 74 65 3b 0a 7d 0a 61 6c 69 61 73  mediate;.}.alias
11d70 20 54 41 50 45 5f 50 52 45 50 41 52 45 2a 20 50   TAPE_PREPARE* P
11d80 54 41 50 45 5f 50 52 45 50 41 52 45 3b 0a 0a 73  TAPE_PREPARE;..s
11d90 74 72 75 63 74 20 54 41 50 45 5f 53 45 54 5f 44  truct TAPE_SET_D
11da0 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20  RIVE_PARAMETERS 
11db0 7b 0a 09 42 4f 4f 4c 45 41 4e 20 45 43 43 3b 0a  {..BOOLEAN ECC;.
11dc0 09 42 4f 4f 4c 45 41 4e 20 43 6f 6d 70 72 65 73  .BOOLEAN Compres
11dd0 73 69 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 44  sion;..BOOLEAN D
11de0 61 74 61 50 61 64 64 69 6e 67 3b 0a 09 42 4f 4f  ataPadding;..BOO
11df0 4c 45 41 4e 20 52 65 70 6f 72 74 53 65 74 6d 61  LEAN ReportSetma
11e00 72 6b 73 3b 0a 09 55 4c 4f 4e 47 20 20 20 45 4f  rks;..ULONG   EO
11e10 54 57 61 72 6e 69 6e 67 5a 6f 6e 65 53 69 7a 65  TWarningZoneSize
11e20 3b 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45 5f 53  ;.}.alias TAPE_S
11e30 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45 54  ET_DRIVE_PARAMET
11e40 45 52 53 2a 20 50 54 41 50 45 5f 53 45 54 5f 44  ERS* PTAPE_SET_D
11e50 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 3b  RIVE_PARAMETERS;
11e60 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f 53 45  ..struct TAPE_SE
11e70 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54 45  T_MEDIA_PARAMETE
11e80 52 53 20 7b 0a 09 55 4c 4f 4e 47 20 42 6c 6f 63  RS {..ULONG Bloc
11e90 6b 53 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20 54  kSize;.}.alias T
11ea0 41 50 45 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41  APE_SET_MEDIA_PA
11eb0 52 41 4d 45 54 45 52 53 2a 20 50 54 41 50 45 5f  RAMETERS* PTAPE_
11ec0 53 45 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45  SET_MEDIA_PARAME
11ed0 54 45 52 53 3b 0a 0a 73 74 72 75 63 74 20 54 41  TERS;..struct TA
11ee0 50 45 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 20  PE_SET_POSITION 
11ef0 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  {..DWORD        
11f00 20 4d 65 74 68 6f 64 3b 0a 09 44 57 4f 52 44 20   Method;..DWORD 
11f10 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f          Partitio
11f20 6e 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45  n;..LARGE_INTEGE
11f30 52 20 4f 66 66 73 65 74 3b 0a 09 42 4f 4f 4c 45  R Offset;..BOOLE
11f40 41 4e 20 20 20 20 20 20 20 49 6d 6d 65 64 69 61  AN       Immedia
11f50 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45  te;.}.alias TAPE
11f60 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 2a 20 50  _SET_POSITION* P
11f70 54 41 50 45 5f 53 45 54 5f 50 4f 53 49 54 49 4f  TAPE_SET_POSITIO
11f80 4e 3b 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f  N;..struct TAPE_
11f90 57 52 49 54 45 5f 4d 41 52 4b 53 20 7b 0a 09 44  WRITE_MARKS {..D
11fa0 57 4f 52 44 20 20 20 54 79 70 65 3b 0a 09 44 57  WORD   Type;..DW
11fb0 4f 52 44 20 20 20 43 6f 75 6e 74 3b 0a 09 42 4f  ORD   Count;..BO
11fc0 4f 4c 45 41 4e 20 49 6d 6d 65 64 69 61 74 65 3b  OLEAN Immediate;
11fd0 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45 5f 57 52  .}.alias TAPE_WR
11fe0 49 54 45 5f 4d 41 52 4b 53 2a 20 50 54 41 50 45  ITE_MARKS* PTAPE
11ff0 5f 57 52 49 54 45 5f 4d 41 52 4b 53 3b 0a 0a 73  _WRITE_MARKS;..s
12000 74 72 75 63 74 20 54 41 50 45 5f 43 52 45 41 54  truct TAPE_CREAT
12010 45 5f 50 41 52 54 49 54 49 4f 4e 20 7b 0a 09 44  E_PARTITION {..D
12020 57 4f 52 44 20 4d 65 74 68 6f 64 3b 0a 09 44 57  WORD Method;..DW
12030 4f 52 44 20 43 6f 75 6e 74 3b 0a 09 44 57 4f 52  ORD Count;..DWOR
12040 44 20 53 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20  D Size;.}.alias 
12050 54 41 50 45 5f 43 52 45 41 54 45 5f 50 41 52 54  TAPE_CREATE_PART
12060 49 54 49 4f 4e 2a 20 50 54 41 50 45 5f 43 52 45  ITION* PTAPE_CRE
12070 41 54 45 5f 50 41 52 54 49 54 49 4f 4e 3b 0a 0a  ATE_PARTITION;..
12080 73 74 72 75 63 74 20 4d 45 4d 4f 52 59 5f 42 41  struct MEMORY_BA
12090 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  SIC_INFORMATION 
120a0 7b 0a 09 50 56 4f 49 44 20 42 61 73 65 41 64 64  {..PVOID BaseAdd
120b0 72 65 73 73 3b 0a 09 50 56 4f 49 44 20 41 6c 6c  ress;..PVOID All
120c0 6f 63 61 74 69 6f 6e 42 61 73 65 3b 0a 09 44 57  ocationBase;..DW
120d0 4f 52 44 20 41 6c 6c 6f 63 61 74 69 6f 6e 50 72  ORD AllocationPr
120e0 6f 74 65 63 74 3b 0a 09 44 57 4f 52 44 20 52 65  otect;..DWORD Re
120f0 67 69 6f 6e 53 69 7a 65 3b 0a 09 44 57 4f 52 44  gionSize;..DWORD
12100 20 53 74 61 74 65 3b 0a 09 44 57 4f 52 44 20 50   State;..DWORD P
12110 72 6f 74 65 63 74 3b 0a 09 44 57 4f 52 44 20 54  rotect;..DWORD T
12120 79 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 4d 45 4d  ype;.}.alias MEM
12130 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d  ORY_BASIC_INFORM
12140 41 54 49 4f 4e 2a 20 50 4d 45 4d 4f 52 59 5f 42  ATION* PMEMORY_B
12150 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ASIC_INFORMATION
12160 3b 0a 0a 73 74 72 75 63 74 20 4d 45 53 53 41 47  ;..struct MESSAG
12170 45 5f 52 45 53 4f 55 52 43 45 5f 45 4e 54 52 59  E_RESOURCE_ENTRY
12180 20 7b 0a 09 57 4f 52 44 20 4c 65 6e 67 74 68 3b   {..WORD Length;
12190 0a 09 57 4f 52 44 20 46 6c 61 67 73 3b 0a 09 42  ..WORD Flags;..B
121a0 59 54 45 20 5f 54 65 78 74 3b 0a 0a 09 42 59 54  YTE _Text;...BYT
121b0 45 2a 20 54 65 78 74 28 29 20 7b 20 72 65 74 75  E* Text() { retu
121c0 72 6e 20 26 5f 54 65 78 74 3b 20 7d 0a 7d 0a 61  rn &_Text; }.}.a
121d0 6c 69 61 73 20 4d 45 53 53 41 47 45 5f 52 45 53  lias MESSAGE_RES
121e0 4f 55 52 43 45 5f 45 4e 54 52 59 2a 20 50 4d 45  OURCE_ENTRY* PME
121f0 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 45  SSAGE_RESOURCE_E
12200 4e 54 52 59 3b 0a 0a 73 74 72 75 63 74 20 4d 45  NTRY;..struct ME
12210 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42  SSAGE_RESOURCE_B
12220 4c 4f 43 4b 20 7b 0a 09 44 57 4f 52 44 20 4c 6f  LOCK {..DWORD Lo
12230 77 49 64 3b 0a 09 44 57 4f 52 44 20 48 69 67 68  wId;..DWORD High
12240 49 64 3b 0a 09 44 57 4f 52 44 20 4f 66 66 73 65  Id;..DWORD Offse
12250 74 54 6f 45 6e 74 72 69 65 73 3b 0a 7d 0a 61 6c  tToEntries;.}.al
12260 69 61 73 20 4d 45 53 53 41 47 45 5f 52 45 53 4f  ias MESSAGE_RESO
12270 55 52 43 45 5f 42 4c 4f 43 4b 2a 20 50 4d 45 53  URCE_BLOCK* PMES
12280 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42 4c  SAGE_RESOURCE_BL
12290 4f 43 4b 3b 0a 0a 73 74 72 75 63 74 20 4d 45 53  OCK;..struct MES
122a0 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41  SAGE_RESOURCE_DA
122b0 54 41 20 7b 0a 09 44 57 4f 52 44 20 4e 75 6d 62  TA {..DWORD Numb
122c0 65 72 4f 66 42 6c 6f 63 6b 73 3b 0a 09 4d 45 53  erOfBlocks;..MES
122d0 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42 4c  SAGE_RESOURCE_BL
122e0 4f 43 4b 20 5f 42 6c 6f 63 6b 73 3b 0a 0a 09 4d  OCK _Blocks;...M
122f0 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  ESSAGE_RESOURCE_
12300 42 4c 4f 43 4b 2a 20 42 6c 6f 63 6b 73 28 29 20  BLOCK* Blocks() 
12310 7b 20 72 65 74 75 72 6e 20 26 5f 42 6c 6f 63 6b  { return &_Block
12320 73 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 45 53  s; }.}.alias MES
12330 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41  SAGE_RESOURCE_DA
12340 54 41 2a 20 50 4d 45 53 53 41 47 45 5f 52 45 53  TA* PMESSAGE_RES
12350 4f 55 52 43 45 5f 44 41 54 41 3b 0a 0a 73 74 72  OURCE_DATA;..str
12360 75 63 74 20 4c 49 53 54 5f 45 4e 54 52 59 20 7b  uct LIST_ENTRY {
12370 0a 09 4c 49 53 54 5f 45 4e 54 52 59 2a 20 46 6c  ..LIST_ENTRY* Fl
12380 69 6e 6b 3b 0a 09 4c 49 53 54 5f 45 4e 54 52 59  ink;..LIST_ENTRY
12390 2a 20 42 6c 69 6e 6b 3b 0a 7d 0a 61 6c 69 61 73  * Blink;.}.alias
123a0 20 4c 49 53 54 5f 45 4e 54 52 59 2a 20 50 4c 49   LIST_ENTRY* PLI
123b0 53 54 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63  ST_ENTRY;..struc
123c0 74 20 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e  t SINGLE_LIST_EN
123d0 54 52 59 20 7b 0a 09 53 49 4e 47 4c 45 5f 4c 49  TRY {..SINGLE_LI
123e0 53 54 5f 45 4e 54 52 59 2a 20 4e 65 78 74 3b 0a  ST_ENTRY* Next;.
123f0 7d 0a 61 6c 69 61 73 20 53 49 4e 47 4c 45 5f 4c  }.alias SINGLE_L
12400 49 53 54 5f 45 4e 54 52 59 20 53 4c 49 53 54 5f  IST_ENTRY SLIST_
12410 45 4e 54 52 59 3b 0a 61 6c 69 61 73 20 53 49 4e  ENTRY;.alias SIN
12420 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 52 59 2a 20  GLE_LIST_ENTRY* 
12430 50 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e 54  PSINGLE_LIST_ENT
12440 52 59 2c 20 50 53 4c 49 53 54 5f 45 4e 54 52 59  RY, PSLIST_ENTRY
12450 3b 0a 0a 75 6e 69 6f 6e 20 53 4c 49 53 54 5f 48  ;..union SLIST_H
12460 45 41 44 45 52 20 7b 0a 09 55 4c 4f 4e 47 4c 4f  EADER {..ULONGLO
12470 4e 47 20 20 20 20 20 20 20 41 6c 69 67 6e 6d 65  NG       Alignme
12480 6e 74 3b 0a 09 73 74 72 75 63 74 20 7b 0a 09 09  nt;..struct {...
12490 53 4c 49 53 54 5f 45 4e 54 52 59 20 4e 65 78 74  SLIST_ENTRY Next
124a0 3b 0a 09 09 57 4f 52 44 20 20 20 20 20 20 20 20  ;...WORD        
124b0 44 65 70 74 68 3b 0a 09 09 57 4f 52 44 20 20 20  Depth;...WORD   
124c0 20 20 20 20 20 53 65 71 75 65 6e 63 65 3b 0a 09       Sequence;..
124d0 7d 0a 7d 0a 61 6c 69 61 73 20 53 4c 49 53 54 5f  }.}.alias SLIST_
124e0 48 45 41 44 45 52 2a 20 50 53 4c 49 53 54 5f 48  HEADER* PSLIST_H
124f0 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 52  EADER;..struct R
12500 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54  TL_CRITICAL_SECT
12510 49 4f 4e 5f 44 45 42 55 47 20 7b 0a 09 57 4f 52  ION_DEBUG {..WOR
12520 44 20 20 20 20 20 20 20 54 79 70 65 3b 0a 09 57  D       Type;..W
12530 4f 52 44 20 20 20 20 20 20 20 43 72 65 61 74 6f  ORD       Creato
12540 72 42 61 63 6b 54 72 61 63 65 49 6e 64 65 78 3b  rBackTraceIndex;
12550 0a 09 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53  ..RTL_CRITICAL_S
12560 45 43 54 49 4f 4e 2a 20 43 72 69 74 69 63 61 6c  ECTION* Critical
12570 53 65 63 74 69 6f 6e 3b 0a 09 4c 49 53 54 5f 45  Section;..LIST_E
12580 4e 54 52 59 20 50 72 6f 63 65 73 73 4c 6f 63 6b  NTRY ProcessLock
12590 73 4c 69 73 74 3b 0a 09 44 57 4f 52 44 20 20 20  sList;..DWORD   
125a0 20 20 20 45 6e 74 72 79 43 6f 75 6e 74 3b 0a 09     EntryCount;..
125b0 44 57 4f 52 44 20 20 20 20 20 20 43 6f 6e 74 65  DWORD      Conte
125c0 6e 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 44 57 4f  ntionCount;..DWO
125d0 52 44 5b 32 5d 20 20 20 53 70 61 72 65 3b 0a 7d  RD[2]   Spare;.}
125e0 0a 61 6c 69 61 73 20 52 54 4c 5f 43 52 49 54 49  .alias RTL_CRITI
125f0 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55  CAL_SECTION_DEBU
12600 47 2a 20 50 52 54 4c 5f 43 52 49 54 49 43 41 4c  G* PRTL_CRITICAL
12610 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 3b 0a  _SECTION_DEBUG;.
12620 0a 73 74 72 75 63 74 20 52 54 4c 5f 43 52 49 54  .struct RTL_CRIT
12630 49 43 41 4c 5f 53 45 43 54 49 4f 4e 20 7b 0a 09  ICAL_SECTION {..
12640 50 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45  PRTL_CRITICAL_SE
12650 43 54 49 4f 4e 5f 44 45 42 55 47 20 44 65 62 75  CTION_DEBUG Debu
12660 67 49 6e 66 6f 3b 0a 09 4c 4f 4e 47 20 20 20 4c  gInfo;..LONG   L
12670 6f 63 6b 43 6f 75 6e 74 3b 0a 09 4c 4f 4e 47 20  ockCount;..LONG 
12680 20 20 52 65 63 75 72 73 69 6f 6e 43 6f 75 6e 74    RecursionCount
12690 3b 0a 09 48 41 4e 44 4c 45 20 4f 77 6e 69 6e 67  ;..HANDLE Owning
126a0 54 68 72 65 61 64 3b 0a 09 48 41 4e 44 4c 45 20  Thread;..HANDLE 
126b0 4c 6f 63 6b 53 65 6d 61 70 68 6f 72 65 3b 0a 09  LockSemaphore;..
126c0 44 57 4f 52 44 20 20 52 65 73 65 72 76 65 64 3b  DWORD  Reserved;
126d0 0a 7d 0a 61 6c 69 61 73 20 52 54 4c 5f 43 52 49  .}.alias RTL_CRI
126e0 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 2a 20 50  TICAL_SECTION* P
126f0 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43  RTL_CRITICAL_SEC
12700 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 45 56  TION;..struct EV
12710 45 4e 54 4c 4f 47 52 45 43 4f 52 44 20 7b 0a 09  ENTLOGRECORD {..
12720 44 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0a 09 44  DWORD Length;..D
12730 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0a 09  WORD Reserved;..
12740 44 57 4f 52 44 20 52 65 63 6f 72 64 4e 75 6d 62  DWORD RecordNumb
12750 65 72 3b 0a 09 44 57 4f 52 44 20 54 69 6d 65 47  er;..DWORD TimeG
12760 65 6e 65 72 61 74 65 64 3b 0a 09 44 57 4f 52 44  enerated;..DWORD
12770 20 54 69 6d 65 57 72 69 74 74 65 6e 3b 0a 09 44   TimeWritten;..D
12780 57 4f 52 44 20 45 76 65 6e 74 49 44 3b 0a 09 57  WORD EventID;..W
12790 4f 52 44 20 20 45 76 65 6e 74 54 79 70 65 3b 0a  ORD  EventType;.
127a0 09 57 4f 52 44 20 20 4e 75 6d 53 74 72 69 6e 67  .WORD  NumString
127b0 73 3b 0a 09 57 4f 52 44 20 20 45 76 65 6e 74 43  s;..WORD  EventC
127c0 61 74 65 67 6f 72 79 3b 0a 09 57 4f 52 44 20 20  ategory;..WORD  
127d0 52 65 73 65 72 76 65 64 46 6c 61 67 73 3b 0a 09  ReservedFlags;..
127e0 44 57 4f 52 44 20 43 6c 6f 73 69 6e 67 52 65 63  DWORD ClosingRec
127f0 6f 72 64 4e 75 6d 62 65 72 3b 0a 09 44 57 4f 52  ordNumber;..DWOR
12800 44 20 53 74 72 69 6e 67 4f 66 66 73 65 74 3b 0a  D StringOffset;.
12810 09 44 57 4f 52 44 20 55 73 65 72 53 69 64 4c 65  .DWORD UserSidLe
12820 6e 67 74 68 3b 0a 09 44 57 4f 52 44 20 55 73 65  ngth;..DWORD Use
12830 72 53 69 64 4f 66 66 73 65 74 3b 0a 09 44 57 4f  rSidOffset;..DWO
12840 52 44 20 44 61 74 61 4c 65 6e 67 74 68 3b 0a 09  RD DataLength;..
12850 44 57 4f 52 44 20 44 61 74 61 4f 66 66 73 65 74  DWORD DataOffset
12860 3b 0a 7d 0a 61 6c 69 61 73 20 45 56 45 4e 54 4c  ;.}.alias EVENTL
12870 4f 47 52 45 43 4f 52 44 2a 20 50 45 56 45 4e 54  OGRECORD* PEVENT
12880 4c 4f 47 52 45 43 4f 52 44 3b 0a 0a 73 74 72 75  LOGRECORD;..stru
12890 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  ct OSVERSIONINFO
128a0 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 64  A {..DWORD     d
128b0 77 4f 53 56 65 72 73 69 6f 6e 49 6e 66 6f 53 69  wOSVersionInfoSi
128c0 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64  ze;..DWORD     d
128d0 77 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0a 09  wMajorVersion;..
128e0 44 57 4f 52 44 20 20 20 20 20 64 77 4d 69 6e 6f  DWORD     dwMino
128f0 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44  rVersion;..DWORD
12900 20 20 20 20 20 64 77 42 75 69 6c 64 4e 75 6d 62       dwBuildNumb
12910 65 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64  er;..DWORD     d
12920 77 50 6c 61 74 66 6f 72 6d 49 64 3b 0a 09 43 48  wPlatformId;..CH
12930 41 52 5b 31 32 38 5d 20 73 7a 43 53 44 56 65 72  AR[128] szCSDVer
12940 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 4f 53  sion;.}.alias OS
12950 56 45 52 53 49 4f 4e 49 4e 46 4f 41 2a 20 50 4f  VERSIONINFOA* PO
12960 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41 2c 20 4c  SVERSIONINFOA, L
12970 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41 3b  POSVERSIONINFOA;
12980 0a 0a 73 74 72 75 63 74 20 4f 53 56 45 52 53 49  ..struct OSVERSI
12990 4f 4e 49 4e 46 4f 57 20 7b 0a 09 44 57 4f 52 44  ONINFOW {..DWORD
129a0 20 20 20 20 20 20 64 77 4f 53 56 65 72 73 69 6f        dwOSVersio
129b0 6e 49 6e 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52  nInfoSize;..DWOR
129c0 44 20 20 20 20 20 20 64 77 4d 61 6a 6f 72 56 65  D      dwMajorVe
129d0 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20  rsion;..DWORD   
129e0 20 20 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f     dwMinorVersio
129f0 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64  n;..DWORD      d
12a00 77 42 75 69 6c 64 4e 75 6d 62 65 72 3b 0a 09 44  wBuildNumber;..D
12a10 57 4f 52 44 20 20 20 20 20 20 64 77 50 6c 61 74  WORD      dwPlat
12a20 66 6f 72 6d 49 64 3b 0a 09 57 43 48 41 52 5b 31  formId;..WCHAR[1
12a30 32 38 5d 20 73 7a 43 53 44 56 65 72 73 69 6f 6e  28] szCSDVersion
12a40 3b 0a 7d 0a 61 6c 69 61 73 20 4f 53 56 45 52 53  ;.}.alias OSVERS
12a50 49 4f 4e 49 4e 46 4f 57 2a 20 50 4f 53 56 45 52  IONINFOW* POSVER
12a60 53 49 4f 4e 49 4e 46 4f 57 2c 20 4c 50 4f 53 56  SIONINFOW, LPOSV
12a70 45 52 53 49 4f 4e 49 4e 46 4f 57 3b 0a 0a 73 74  ERSIONINFOW;..st
12a80 72 75 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e  ruct OSVERSIONIN
12a90 46 4f 45 58 41 20 7b 0a 09 44 57 4f 52 44 20 20  FOEXA {..DWORD  
12aa0 20 20 20 64 77 4f 53 56 65 72 73 69 6f 6e 49 6e     dwOSVersionIn
12ab0 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20 20  foSize;..DWORD  
12ac0 20 20 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f     dwMajorVersio
12ad0 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 77  n;..DWORD     dw
12ae0 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 44  MinorVersion;..D
12af0 57 4f 52 44 20 20 20 20 20 64 77 42 75 69 6c 64  WORD     dwBuild
12b00 4e 75 6d 62 65 72 3b 0a 09 44 57 4f 52 44 20 20  Number;..DWORD  
12b10 20 20 20 64 77 50 6c 61 74 66 6f 72 6d 49 64 3b     dwPlatformId;
12b20 0a 09 43 48 41 52 5b 31 32 38 5d 20 73 7a 43 53  ..CHAR[128] szCS
12b30 44 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20  DVersion;..WORD 
12b40 20 20 20 20 20 77 53 65 72 76 69 63 65 50 61 63       wServicePac
12b50 6b 4d 61 6a 6f 72 3b 0a 09 57 4f 52 44 20 20 20  kMajor;..WORD   
12b60 20 20 20 77 53 65 72 76 69 63 65 50 61 63 6b 4d     wServicePackM
12b70 69 6e 6f 72 3b 0a 09 57 4f 52 44 20 20 20 20 20  inor;..WORD     
12b80 20 77 53 75 69 74 65 4d 61 73 6b 3b 0a 09 42 59   wSuiteMask;..BY
12b90 54 45 20 20 20 20 20 20 77 50 72 6f 64 75 63 74  TE      wProduct
12ba0 54 79 70 65 3b 0a 09 42 59 54 45 20 20 20 20 20  Type;..BYTE     
12bb0 20 77 52 65 73 65 72 76 65 64 3b 0a 7d 0a 61 6c   wReserved;.}.al
12bc0 69 61 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46  ias OSVERSIONINF
12bd0 4f 45 58 41 2a 20 50 4f 53 56 45 52 53 49 4f 4e  OEXA* POSVERSION
12be0 49 4e 46 4f 45 58 41 2c 20 4c 50 4f 53 56 45 52  INFOEXA, LPOSVER
12bf0 53 49 4f 4e 49 4e 46 4f 45 58 41 3b 0a 0a 73 74  SIONINFOEXA;..st
12c00 72 75 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e  ruct OSVERSIONIN
12c10 46 4f 45 58 57 20 7b 0a 09 44 57 4f 52 44 20 20  FOEXW {..DWORD  
12c20 20 20 20 20 64 77 4f 53 56 65 72 73 69 6f 6e 49      dwOSVersionI
12c30 6e 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20  nfoSize;..DWORD 
12c40 20 20 20 20 20 64 77 4d 61 6a 6f 72 56 65 72 73       dwMajorVers
12c50 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  ion;..DWORD     
12c60 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b   dwMinorVersion;
12c70 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 77 42  ..DWORD      dwB
12c80 75 69 6c 64 4e 75 6d 62 65 72 3b 0a 09 44 57 4f  uildNumber;..DWO
12c90 52 44 20 20 20 20 20 20 64 77 50 6c 61 74 66 6f  RD      dwPlatfo
12ca0 72 6d 49 64 3b 0a 09 57 43 48 41 52 5b 31 32 38  rmId;..WCHAR[128
12cb0 5d 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 3b 0a  ] szCSDVersion;.
12cc0 09 57 4f 52 44 20 20 20 20 20 20 20 77 53 65 72  .WORD       wSer
12cd0 76 69 63 65 50 61 63 6b 4d 61 6a 6f 72 3b 0a 09  vicePackMajor;..
12ce0 57 4f 52 44 20 20 20 20 20 20 20 77 53 65 72 76  WORD       wServ
12cf0 69 63 65 50 61 63 6b 4d 69 6e 6f 72 3b 0a 09 57  icePackMinor;..W
12d00 4f 52 44 20 20 20 20 20 20 20 77 53 75 69 74 65  ORD       wSuite
12d10 4d 61 73 6b 3b 0a 09 42 59 54 45 20 20 20 20 20  Mask;..BYTE     
12d20 20 20 77 50 72 6f 64 75 63 74 54 79 70 65 3b 0a    wProductType;.
12d30 09 42 59 54 45 20 20 20 20 20 20 20 77 52 65 73  .BYTE       wRes
12d40 65 72 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 4f  erved;.}.alias O
12d50 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57 2a  SVERSIONINFOEXW*
12d60 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45   POSVERSIONINFOE
12d70 58 57 2c 20 4c 50 4f 53 56 45 52 53 49 4f 4e 49  XW, LPOSVERSIONI
12d80 4e 46 4f 45 58 57 3b 0a 0a 61 6c 69 67 6e 28 32  NFOEXW;..align(2
12d90 29 20 73 74 72 75 63 74 20 49 4d 41 47 45 5f 56  ) struct IMAGE_V
12da0 58 44 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f 52  XD_HEADER {..WOR
12db0 44 20 20 20 20 20 65 33 32 5f 6d 61 67 69 63 3b  D     e32_magic;
12dc0 0a 09 42 59 54 45 20 20 20 20 20 65 33 32 5f 62  ..BYTE     e32_b
12dd0 6f 72 64 65 72 3b 0a 09 42 59 54 45 20 20 20 20  order;..BYTE    
12de0 20 65 33 32 5f 77 6f 72 64 65 72 3b 0a 09 44 57   e32_worder;..DW
12df0 4f 52 44 20 20 20 20 65 33 32 5f 6c 65 76 65 6c  ORD    e32_level
12e00 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 33 32 5f  ;..WORD     e32_
12e10 63 70 75 3b 0a 09 57 4f 52 44 20 20 20 20 20 65  cpu;..WORD     e
12e20 33 32 5f 6f 73 3b 0a 09 44 57 4f 52 44 20 20 20  32_os;..DWORD   
12e30 20 65 33 32 5f 76 65 72 3b 0a 09 44 57 4f 52 44   e32_ver;..DWORD
12e40 20 20 20 20 65 33 32 5f 6d 66 6c 61 67 73 3b 0a      e32_mflags;.
12e50 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 6d 70  .DWORD    e32_mp
12e60 61 67 65 73 3b 0a 09 44 57 4f 52 44 20 20 20 20  ages;..DWORD    
12e70 65 33 32 5f 73 74 61 72 74 6f 62 6a 3b 0a 09 44  e32_startobj;..D
12e80 57 4f 52 44 20 20 20 20 65 33 32 5f 65 69 70 3b  WORD    e32_eip;
12e90 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 73  ..DWORD    e32_s
12ea0 74 61 63 6b 6f 62 6a 3b 0a 09 44 57 4f 52 44 20  tackobj;..DWORD 
12eb0 20 20 20 65 33 32 5f 65 73 70 3b 0a 09 44 57 4f     e32_esp;..DWO
12ec0 52 44 20 20 20 20 65 33 32 5f 70 61 67 65 73 69  RD    e32_pagesi
12ed0 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33  ze;..DWORD    e3
12ee0 32 5f 6c 61 73 74 70 61 67 65 73 69 7a 65 3b 0a  2_lastpagesize;.
12ef0 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 66 69  .DWORD    e32_fi
12f00 78 75 70 73 69 7a 65 3b 0a 09 44 57 4f 52 44 20  xupsize;..DWORD 
12f10 20 20 20 65 33 32 5f 66 69 78 75 70 73 75 6d 3b     e32_fixupsum;
12f20 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 6c  ..DWORD    e32_l
12f30 64 72 73 69 7a 65 3b 0a 09 44 57 4f 52 44 20 20  drsize;..DWORD  
12f40 20 20 65 33 32 5f 6c 64 72 73 75 6d 3b 0a 09 44    e32_ldrsum;..D
12f50 57 4f 52 44 20 20 20 20 65 33 32 5f 6f 62 6a 74  WORD    e32_objt
12f60 61 62 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33  ab;..DWORD    e3
12f70 32 5f 6f 62 6a 63 6e 74 3b 0a 09 44 57 4f 52 44  2_objcnt;..DWORD
12f80 20 20 20 20 65 33 32 5f 6f 62 6a 6d 61 70 3b 0a      e32_objmap;.
12f90 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 69 74  .DWORD    e32_it
12fa0 65 72 6d 61 70 3b 0a 09 44 57 4f 52 44 20 20 20  ermap;..DWORD   
12fb0 20 65 33 32 5f 72 73 72 63 74 61 62 3b 0a 09 44   e32_rsrctab;..D
12fc0 57 4f 52 44 20 20 20 20 65 33 32 5f 72 73 72 63  WORD    e32_rsrc
12fd0 63 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 65  cnt;..DWORD    e
12fe0 33 32 5f 72 65 73 74 61 62 3b 0a 09 44 57 4f 52  32_restab;..DWOR
12ff0 44 20 20 20 20 65 33 32 5f 65 6e 74 74 61 62 3b  D    e32_enttab;
13000 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 64  ..DWORD    e32_d
13010 69 72 74 61 62 3b 0a 09 44 57 4f 52 44 20 20 20  irtab;..DWORD   
13020 20 65 33 32 5f 64 69 72 63 6e 74 3b 0a 09 44 57   e32_dircnt;..DW
13030 4f 52 44 20 20 20 20 65 33 32 5f 66 70 61 67 65  ORD    e32_fpage
13040 74 61 62 3b 0a 09 44 57 4f 52 44 20 20 20 20 65  tab;..DWORD    e
13050 33 32 5f 66 72 65 63 74 61 62 3b 0a 09 44 57 4f  32_frectab;..DWO
13060 52 44 20 20 20 20 65 33 32 5f 69 6d 70 6d 6f 64  RD    e32_impmod
13070 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f  ;..DWORD    e32_
13080 69 6d 70 6d 6f 64 63 6e 74 3b 0a 09 44 57 4f 52  impmodcnt;..DWOR
13090 44 20 20 20 20 65 33 32 5f 69 6d 70 70 72 6f 63  D    e32_impproc
130a0 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f  ;..DWORD    e32_
130b0 70 61 67 65 73 75 6d 3b 0a 09 44 57 4f 52 44 20  pagesum;..DWORD 
130c0 20 20 20 65 33 32 5f 64 61 74 61 70 61 67 65 3b     e32_datapage;
130d0 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 70  ..DWORD    e32_p
130e0 72 65 6c 6f 61 64 3b 0a 09 44 57 4f 52 44 20 20  reload;..DWORD  
130f0 20 20 65 33 32 5f 6e 72 65 73 74 61 62 3b 0a 09    e32_nrestab;..
13100 44 57 4f 52 44 20 20 20 20 65 33 32 5f 63 62 6e  DWORD    e32_cbn
13110 72 65 73 74 61 62 3b 0a 09 44 57 4f 52 44 20 20  restab;..DWORD  
13120 20 20 65 33 32 5f 6e 72 65 73 73 75 6d 3b 0a 09    e32_nressum;..
13130 44 57 4f 52 44 20 20 20 20 65 33 32 5f 61 75 74  DWORD    e32_aut
13140 6f 64 61 74 61 3b 0a 09 44 57 4f 52 44 20 20 20  odata;..DWORD   
13150 20 65 33 32 5f 64 65 62 75 67 69 6e 66 6f 3b 0a   e32_debuginfo;.
13160 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 64 65  .DWORD    e32_de
13170 62 75 67 6c 65 6e 3b 0a 09 44 57 4f 52 44 20 20  buglen;..DWORD  
13180 20 20 65 33 32 5f 69 6e 73 74 70 72 65 6c 6f 61    e32_instpreloa
13190 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32  d;..DWORD    e32
131a0 5f 69 6e 73 74 64 65 6d 61 6e 64 3b 0a 09 44 57  _instdemand;..DW
131b0 4f 52 44 20 20 20 20 65 33 32 5f 68 65 61 70 73  ORD    e32_heaps
131c0 69 7a 65 3b 0a 09 42 59 54 45 5b 31 32 5d 20 65  ize;..BYTE[12] e
131d0 33 32 5f 72 65 73 33 3b 0a 09 44 57 4f 52 44 20  32_res3;..DWORD 
131e0 20 20 20 65 33 32 5f 77 69 6e 72 65 73 6f 66 66     e32_winresoff
131f0 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f  ;..DWORD    e32_
13200 77 69 6e 72 65 73 6c 65 6e 3b 0a 09 57 4f 52 44  winreslen;..WORD
13210 20 20 20 20 20 65 33 32 5f 64 65 76 69 64 3b 0a       e32_devid;.
13220 09 57 4f 52 44 20 20 20 20 20 65 33 32 5f 64 64  .WORD     e32_dd
13230 6b 76 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d  kver;.}.alias IM
13240 41 47 45 5f 56 58 44 5f 48 45 41 44 45 52 2a 20  AGE_VXD_HEADER* 
13250 50 49 4d 41 47 45 5f 56 58 44 5f 48 45 41 44 45  PIMAGE_VXD_HEADE
13260 52 3b 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74  R;..align(4):.st
13270 72 75 63 74 20 49 4d 41 47 45 5f 46 49 4c 45 5f  ruct IMAGE_FILE_
13280 48 45 41 44 45 52 20 7b 0a 09 57 4f 52 44 20 20  HEADER {..WORD  
13290 4d 61 63 68 69 6e 65 3b 0a 09 57 4f 52 44 20 20  Machine;..WORD  
132a0 4e 75 6d 62 65 72 4f 66 53 65 63 74 69 6f 6e 73  NumberOfSections
132b0 3b 0a 09 44 57 4f 52 44 20 54 69 6d 65 44 61 74  ;..DWORD TimeDat
132c0 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52 44 20 50  eStamp;..DWORD P
132d0 6f 69 6e 74 65 72 54 6f 53 79 6d 62 6f 6c 54 61  ointerToSymbolTa
132e0 62 6c 65 3b 0a 09 44 57 4f 52 44 20 4e 75 6d 62  ble;..DWORD Numb
132f0 65 72 4f 66 53 79 6d 62 6f 6c 73 3b 0a 09 57 4f  erOfSymbols;..WO
13300 52 44 20 20 53 69 7a 65 4f 66 4f 70 74 69 6f 6e  RD  SizeOfOption
13310 61 6c 48 65 61 64 65 72 3b 0a 09 57 4f 52 44 20  alHeader;..WORD 
13320 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73   Characteristics
13330 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f  ;.}.alias IMAGE_
13340 46 49 4c 45 5f 48 45 41 44 45 52 2a 20 50 49 4d  FILE_HEADER* PIM
13350 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 3b  AGE_FILE_HEADER;
13360 0a 2f 2f 20 63 6f 6e 73 74 20 49 4d 41 47 45 5f  .// const IMAGE_
13370 53 49 5a 45 4f 46 5f 46 49 4c 45 5f 48 45 41 44  SIZEOF_FILE_HEAD
13380 45 52 20 3d 20 49 4d 41 47 45 5f 46 49 4c 45 5f  ER = IMAGE_FILE_
13390 48 45 41 44 45 52 2e 73 69 7a 65 6f 66 3b 0a 0a  HEADER.sizeof;..
133a0 73 74 72 75 63 74 20 49 4d 41 47 45 5f 44 41 54  struct IMAGE_DAT
133b0 41 5f 44 49 52 45 43 54 4f 52 59 20 7b 0a 09 44  A_DIRECTORY {..D
133c0 57 4f 52 44 20 56 69 72 74 75 61 6c 41 64 64 72  WORD VirtualAddr
133d0 65 73 73 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65  ess;..DWORD Size
133e0 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f  ;.}.alias IMAGE_
133f0 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 2a 20  DATA_DIRECTORY* 
13400 50 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45  PIMAGE_DATA_DIRE
13410 43 54 4f 52 59 3b 0a 0a 73 74 72 75 63 74 20 49  CTORY;..struct I
13420 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45  MAGE_OPTIONAL_HE
13430 41 44 45 52 33 32 20 7b 0a 09 57 4f 52 44 20 20  ADER32 {..WORD  
13440 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20 4d 61  Magic;..BYTE  Ma
13450 6a 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69 6f 6e  jorLinkerVersion
13460 3b 0a 09 42 59 54 45 20 20 4d 69 6e 6f 72 4c 69  ;..BYTE  MinorLi
13470 6e 6b 65 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57  nkerVersion;..DW
13480 4f 52 44 20 53 69 7a 65 4f 66 43 6f 64 65 3b 0a  ORD SizeOfCode;.
13490 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 49 6e 69  .DWORD SizeOfIni
134a0 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44  tializedData;..D
134b0 57 4f 52 44 20 53 69 7a 65 4f 66 55 6e 69 6e 69  WORD SizeOfUnini
134c0 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44  tializedData;..D
134d0 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66 45 6e  WORD AddressOfEn
134e0 74 72 79 50 6f 69 6e 74 3b 0a 09 44 57 4f 52 44  tryPoint;..DWORD
134f0 20 42 61 73 65 4f 66 43 6f 64 65 3b 0a 09 44 57   BaseOfCode;..DW
13500 4f 52 44 20 42 61 73 65 4f 66 44 61 74 61 3b 0a  ORD BaseOfData;.
13510 09 44 57 4f 52 44 20 49 6d 61 67 65 42 61 73 65  .DWORD ImageBase
13520 3b 0a 09 44 57 4f 52 44 20 53 65 63 74 69 6f 6e  ;..DWORD Section
13530 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44 57 4f 52  Alignment;..DWOR
13540 44 20 46 69 6c 65 41 6c 69 67 6e 6d 65 6e 74 3b  D FileAlignment;
13550 0a 09 57 4f 52 44 20 20 4d 61 6a 6f 72 4f 70 65  ..WORD  MajorOpe
13560 72 61 74 69 6e 67 53 79 73 74 65 6d 56 65 72 73  ratingSystemVers
13570 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f  ion;..WORD  Mino
13580 72 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d  rOperatingSystem
13590 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20  Version;..WORD  
135a0 4d 61 6a 6f 72 49 6d 61 67 65 56 65 72 73 69 6f  MajorImageVersio
135b0 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72 49  n;..WORD  MinorI
135c0 6d 61 67 65 56 65 72 73 69 6f 6e 3b 0a 09 57 4f  mageVersion;..WO
135d0 52 44 20 20 4d 61 6a 6f 72 53 75 62 73 79 73 74  RD  MajorSubsyst
135e0 65 6d 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44  emVersion;..WORD
135f0 20 20 4d 69 6e 6f 72 53 75 62 73 79 73 74 65 6d    MinorSubsystem
13600 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20  Version;..DWORD 
13610 57 69 6e 33 32 56 65 72 73 69 6f 6e 56 61 6c 75  Win32VersionValu
13620 65 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 4f 66  e;..DWORD SizeOf
13630 49 6d 61 67 65 3b 0a 09 44 57 4f 52 44 20 53 69  Image;..DWORD Si
13640 7a 65 4f 66 48 65 61 64 65 72 73 3b 0a 09 44 57  zeOfHeaders;..DW
13650 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b 0a 09 57  ORD CheckSum;..W
13660 4f 52 44 20 20 53 75 62 73 79 73 74 65 6d 3b 0a  ORD  Subsystem;.
13670 09 57 4f 52 44 20 20 44 6c 6c 43 68 61 72 61 63  .WORD  DllCharac
13680 74 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52  teristics;..DWOR
13690 44 20 53 69 7a 65 4f 66 53 74 61 63 6b 52 65 73  D SizeOfStackRes
136a0 65 72 76 65 3b 0a 09 44 57 4f 52 44 20 53 69 7a  erve;..DWORD Siz
136b0 65 4f 66 53 74 61 63 6b 43 6f 6d 6d 69 74 3b 0a  eOfStackCommit;.
136c0 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 48 65 61  .DWORD SizeOfHea
136d0 70 52 65 73 65 72 76 65 3b 0a 09 44 57 4f 52 44  pReserve;..DWORD
136e0 20 53 69 7a 65 4f 66 48 65 61 70 43 6f 6d 6d 69   SizeOfHeapCommi
136f0 74 3b 0a 09 44 57 4f 52 44 20 4c 6f 61 64 65 72  t;..DWORD Loader
13700 46 6c 61 67 73 3b 0a 09 44 57 4f 52 44 20 4e 75  Flags;..DWORD Nu
13710 6d 62 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65  mberOfRvaAndSize
13720 73 3b 0a 09 49 4d 41 47 45 5f 44 41 54 41 5f 44  s;..IMAGE_DATA_D
13730 49 52 45 43 54 4f 52 59 5b 49 4d 41 47 45 5f 4e  IRECTORY[IMAGE_N
13740 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52  UMBEROF_DIRECTOR
13750 59 5f 45 4e 54 52 49 45 53 5d 20 44 61 74 61 44  Y_ENTRIES] DataD
13760 69 72 65 63 74 6f 72 79 3b 0a 7d 0a 61 6c 69 61  irectory;.}.alia
13770 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c  s IMAGE_OPTIONAL
13780 5f 48 45 41 44 45 52 33 32 2a 20 50 49 4d 41 47  _HEADER32* PIMAG
13790 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45  E_OPTIONAL_HEADE
137a0 52 33 32 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41  R32;..struct IMA
137b0 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  GE_OPTIONAL_HEAD
137c0 45 52 36 34 20 7b 0a 09 57 4f 52 44 20 20 20 20  ER64 {..WORD    
137d0 20 20 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20    Magic;..BYTE  
137e0 20 20 20 20 4d 61 6a 6f 72 4c 69 6e 6b 65 72 56      MajorLinkerV
137f0 65 72 73 69 6f 6e 3b 0a 09 42 59 54 45 20 20 20  ersion;..BYTE   
13800 20 20 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65     MinorLinkerVe
13810 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20  rsion;..DWORD   
13820 20 20 53 69 7a 65 4f 66 43 6f 64 65 3b 0a 09 44    SizeOfCode;..D
13830 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f 66 49  WORD     SizeOfI
13840 6e 69 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a  nitializedData;.
13850 09 44 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f  .DWORD     SizeO
13860 66 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 44 61  fUninitializedDa
13870 74 61 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 41  ta;..DWORD     A
13880 64 64 72 65 73 73 4f 66 45 6e 74 72 79 50 6f 69  ddressOfEntryPoi
13890 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 42  nt;..DWORD     B
138a0 61 73 65 4f 66 43 6f 64 65 3b 0a 09 55 4c 4f 4e  aseOfCode;..ULON
138b0 47 4c 4f 4e 47 20 49 6d 61 67 65 42 61 73 65 3b  GLONG ImageBase;
138c0 0a 09 44 57 4f 52 44 20 20 20 20 20 53 65 63 74  ..DWORD     Sect
138d0 69 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44  ionAlignment;..D
138e0 57 4f 52 44 20 20 20 20 20 46 69 6c 65 41 6c 69  WORD     FileAli
138f0 67 6e 6d 65 6e 74 3b 0a 09 57 4f 52 44 20 20 20  gnment;..WORD   
13900 20 20 20 4d 61 6a 6f 72 4f 70 65 72 61 74 69 6e     MajorOperatin
13910 67 53 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0a  gSystemVersion;.
13920 09 57 4f 52 44 20 20 20 20 20 20 4d 69 6e 6f 72  .WORD      Minor
13930 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d 56  OperatingSystemV
13940 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20  ersion;..WORD   
13950 20 20 20 4d 61 6a 6f 72 49 6d 61 67 65 56 65 72     MajorImageVer
13960 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20  sion;..WORD     
13970 20 4d 69 6e 6f 72 49 6d 61 67 65 56 65 72 73 69   MinorImageVersi
13980 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 4d  on;..WORD      M
13990 61 6a 6f 72 53 75 62 73 79 73 74 65 6d 56 65 72  ajorSubsystemVer
139a0 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20  sion;..WORD     
139b0 20 4d 69 6e 6f 72 53 75 62 73 79 73 74 65 6d 56   MinorSubsystemV
139c0 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20  ersion;..DWORD  
139d0 20 20 20 57 69 6e 33 32 56 65 72 73 69 6f 6e 56     Win32VersionV
139e0 61 6c 75 65 3b 0a 09 44 57 4f 52 44 20 20 20 20  alue;..DWORD    
139f0 20 53 69 7a 65 4f 66 49 6d 61 67 65 3b 0a 09 44   SizeOfImage;..D
13a00 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f 66 48  WORD     SizeOfH
13a10 65 61 64 65 72 73 3b 0a 09 44 57 4f 52 44 20 20  eaders;..DWORD  
13a20 20 20 20 43 68 65 63 6b 53 75 6d 3b 0a 09 57 4f     CheckSum;..WO
13a30 52 44 20 20 20 20 20 20 53 75 62 73 79 73 74 65  RD      Subsyste
13a40 6d 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 44 6c  m;..WORD      Dl
13a50 6c 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73  lCharacteristics
13a60 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a  ;..ULONGLONG Siz
13a70 65 4f 66 53 74 61 63 6b 52 65 73 65 72 76 65 3b  eOfStackReserve;
13a80 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65  ..ULONGLONG Size
13a90 4f 66 53 74 61 63 6b 43 6f 6d 6d 69 74 3b 0a 09  OfStackCommit;..
13aa0 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f 66  ULONGLONG SizeOf
13ab0 48 65 61 70 52 65 73 65 72 76 65 3b 0a 09 55 4c  HeapReserve;..UL
13ac0 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f 66 48 65  ONGLONG SizeOfHe
13ad0 61 70 43 6f 6d 6d 69 74 3b 0a 09 44 57 4f 52 44  apCommit;..DWORD
13ae0 20 20 20 20 20 4c 6f 61 64 65 72 46 6c 61 67 73       LoaderFlags
13af0 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 4e 75 6d  ;..DWORD     Num
13b00 62 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65 73  berOfRvaAndSizes
13b10 3b 0a 09 49 4d 41 47 45 5f 44 41 54 41 5f 44 49  ;..IMAGE_DATA_DI
13b20 52 45 43 54 4f 52 59 5b 49 4d 41 47 45 5f 4e 55  RECTORY[IMAGE_NU
13b30 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52 59  MBEROF_DIRECTORY
13b40 5f 45 4e 54 52 49 45 53 5d 20 44 61 74 61 44 69  _ENTRIES] DataDi
13b50 72 65 63 74 6f 72 79 3b 0a 7d 0a 61 6c 69 61 73  rectory;.}.alias
13b60 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f   IMAGE_OPTIONAL_
13b70 48 45 41 44 45 52 36 34 2a 20 50 49 4d 41 47 45  HEADER64* PIMAGE
13b80 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52  _OPTIONAL_HEADER
13b90 36 34 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47  64;..struct IMAG
13ba0 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48  E_ROM_OPTIONAL_H
13bb0 45 41 44 45 52 20 7b 0a 09 57 4f 52 44 20 20 20  EADER {..WORD   
13bc0 20 20 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20    Magic;..BYTE  
13bd0 20 20 20 4d 61 6a 6f 72 4c 69 6e 6b 65 72 56 65     MajorLinkerVe
13be0 72 73 69 6f 6e 3b 0a 09 42 59 54 45 20 20 20 20  rsion;..BYTE    
13bf0 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65 72 73   MinorLinkerVers
13c00 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 53  ion;..DWORD    S
13c10 69 7a 65 4f 66 43 6f 64 65 3b 0a 09 44 57 4f 52  izeOfCode;..DWOR
13c20 44 20 20 20 20 53 69 7a 65 4f 66 49 6e 69 74 69  D    SizeOfIniti
13c30 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44 57 4f  alizedData;..DWO
13c40 52 44 20 20 20 20 53 69 7a 65 4f 66 55 6e 69 6e  RD    SizeOfUnin
13c50 69 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09  itializedData;..
13c60 44 57 4f 52 44 20 20 20 20 41 64 64 72 65 73 73  DWORD    Address
13c70 4f 66 45 6e 74 72 79 50 6f 69 6e 74 3b 0a 09 44  OfEntryPoint;..D
13c80 57 4f 52 44 20 20 20 20 42 61 73 65 4f 66 43 6f  WORD    BaseOfCo
13c90 64 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 42 61  de;..DWORD    Ba
13ca0 73 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52 44  seOfData;..DWORD
13cb0 20 20 20 20 42 61 73 65 4f 66 42 73 73 3b 0a 09      BaseOfBss;..
13cc0 44 57 4f 52 44 20 20 20 20 47 70 72 4d 61 73 6b  DWORD    GprMask
13cd0 3b 0a 09 44 57 4f 52 44 5b 34 5d 20 43 70 72 4d  ;..DWORD[4] CprM
13ce0 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 20 47  ask;..DWORD    G
13cf0 70 56 61 6c 75 65 3b 0a 7d 0a 61 6c 69 61 73 20  pValue;.}.alias 
13d00 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e  IMAGE_ROM_OPTION
13d10 41 4c 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47  AL_HEADER* PIMAG
13d20 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48  E_ROM_OPTIONAL_H
13d30 45 41 44 45 52 3b 0a 0a 61 6c 69 67 6e 28 32 29  EADER;..align(2)
13d40 3a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 44  :.struct IMAGE_D
13d50 4f 53 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f 52  OS_HEADER {..WOR
13d60 44 20 20 20 20 20 65 5f 6d 61 67 69 63 3b 0a 09  D     e_magic;..
13d70 57 4f 52 44 20 20 20 20 20 65 5f 63 62 6c 70 3b  WORD     e_cblp;
13d80 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63 70 3b  ..WORD     e_cp;
13d90 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63 72 6c  ..WORD     e_crl
13da0 63 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63  c;..WORD     e_c
13db0 70 61 72 68 64 72 3b 0a 09 57 4f 52 44 20 20 20  parhdr;..WORD   
13dc0 20 20 65 5f 6d 69 6e 61 6c 6c 6f 63 3b 0a 09 57    e_minalloc;..W
13dd0 4f 52 44 20 20 20 20 20 65 5f 6d 61 78 61 6c 6c  ORD     e_maxall
13de0 6f 63 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f  oc;..WORD     e_
13df0 73 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f  ss;..WORD     e_
13e00 73 70 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f  sp;..WORD     e_
13e10 63 73 75 6d 3b 0a 09 57 4f 52 44 20 20 20 20 20  csum;..WORD     
13e20 65 5f 69 70 3b 0a 09 57 4f 52 44 20 20 20 20 20  e_ip;..WORD     
13e30 65 5f 63 73 3b 0a 09 57 4f 52 44 20 20 20 20 20  e_cs;..WORD     
13e40 65 5f 6c 66 61 72 6c 63 3b 0a 09 57 4f 52 44 20  e_lfarlc;..WORD 
13e50 20 20 20 20 65 5f 6f 76 6e 6f 3b 0a 09 57 4f 52      e_ovno;..WOR
13e60 44 5b 34 5d 20 65 5f 72 65 73 3b 0a 09 57 4f 52  D[4] e_res;..WOR
13e70 44 20 20 20 20 20 65 5f 6f 65 6d 69 64 3b 0a 09  D     e_oemid;..
13e80 57 4f 52 44 20 20 20 20 20 65 5f 6f 65 6d 69 6e  WORD     e_oemin
13e90 66 6f 3b 0a 09 57 4f 52 44 5b 31 30 5d 20 65 5f  fo;..WORD[10] e_
13ea0 72 65 73 32 3b 0a 09 4c 4f 4e 47 20 20 20 20 20  res2;..LONG     
13eb0 65 5f 6c 66 61 6e 65 77 3b 0a 7d 0a 61 6c 69 61  e_lfanew;.}.alia
13ec0 73 20 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44  s IMAGE_DOS_HEAD
13ed0 45 52 2a 20 50 49 4d 41 47 45 5f 44 4f 53 5f 48  ER* PIMAGE_DOS_H
13ee0 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 49  EADER;..struct I
13ef0 4d 41 47 45 5f 4f 53 32 5f 48 45 41 44 45 52 20  MAGE_OS2_HEADER 
13f00 7b 0a 09 57 4f 52 44 20 6e 65 5f 6d 61 67 69 63  {..WORD ne_magic
13f10 3b 0a 09 43 48 41 52 20 6e 65 5f 76 65 72 3b 0a  ;..CHAR ne_ver;.
13f20 09 43 48 41 52 20 6e 65 5f 72 65 76 3b 0a 09 57  .CHAR ne_rev;..W
13f30 4f 52 44 20 6e 65 5f 65 6e 74 74 61 62 3b 0a 09  ORD ne_enttab;..
13f40 57 4f 52 44 20 6e 65 5f 63 62 65 6e 74 74 61 62  WORD ne_cbenttab
13f50 3b 0a 09 4c 4f 4e 47 20 6e 65 5f 63 72 63 3b 0a  ;..LONG ne_crc;.
13f60 09 57 4f 52 44 20 6e 65 5f 66 6c 61 67 73 3b 0a  .WORD ne_flags;.
13f70 09 57 4f 52 44 20 6e 65 5f 61 75 74 6f 64 61 74  .WORD ne_autodat
13f80 61 3b 0a 09 57 4f 52 44 20 6e 65 5f 68 65 61 70  a;..WORD ne_heap
13f90 3b 0a 09 57 4f 52 44 20 6e 65 5f 73 74 61 63 6b  ;..WORD ne_stack
13fa0 3b 0a 09 4c 4f 4e 47 20 6e 65 5f 63 73 69 70 3b  ;..LONG ne_csip;
13fb0 0a 09 4c 4f 4e 47 20 6e 65 5f 73 73 73 70 3b 0a  ..LONG ne_sssp;.
13fc0 09 57 4f 52 44 20 6e 65 5f 63 73 65 67 3b 0a 09  .WORD ne_cseg;..
13fd0 57 4f 52 44 20 6e 65 5f 63 6d 6f 64 3b 0a 09 57  WORD ne_cmod;..W
13fe0 4f 52 44 20 6e 65 5f 63 62 6e 72 65 73 74 61 62  ORD ne_cbnrestab
13ff0 3b 0a 09 57 4f 52 44 20 6e 65 5f 73 65 67 74 61  ;..WORD ne_segta
14000 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 72 73 72 63  b;..WORD ne_rsrc
14010 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 72 65  tab;..WORD ne_re
14020 73 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 6d  stab;..WORD ne_m
14030 6f 64 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f  odtab;..WORD ne_
14040 69 6d 70 74 61 62 3b 0a 09 4c 4f 4e 47 20 6e 65  imptab;..LONG ne
14050 5f 6e 72 65 73 74 61 62 3b 0a 09 57 4f 52 44 20  _nrestab;..WORD 
14060 6e 65 5f 63 6d 6f 76 65 6e 74 3b 0a 09 57 4f 52  ne_cmovent;..WOR
14070 44 20 6e 65 5f 61 6c 69 67 6e 3b 0a 09 57 4f 52  D ne_align;..WOR
14080 44 20 6e 65 5f 63 72 65 73 3b 0a 09 42 59 54 45  D ne_cres;..BYTE
14090 20 6e 65 5f 65 78 65 74 79 70 3b 0a 09 42 59 54   ne_exetyp;..BYT
140a0 45 20 6e 65 5f 66 6c 61 67 73 6f 74 68 65 72 73  E ne_flagsothers
140b0 3b 0a 09 57 4f 52 44 20 6e 65 5f 70 72 65 74 74  ;..WORD ne_prett
140c0 68 75 6e 6b 73 3b 0a 09 57 4f 52 44 20 6e 65 5f  hunks;..WORD ne_
140d0 70 73 65 67 72 65 66 62 79 74 65 73 3b 0a 09 57  psegrefbytes;..W
140e0 4f 52 44 20 6e 65 5f 73 77 61 70 61 72 65 61 3b  ORD ne_swaparea;
140f0 0a 09 57 4f 52 44 20 6e 65 5f 65 78 70 76 65 72  ..WORD ne_expver
14100 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f  ;.}.alias IMAGE_
14110 4f 53 32 5f 48 45 41 44 45 52 2a 20 50 49 4d 41  OS2_HEADER* PIMA
14120 47 45 5f 4f 53 32 5f 48 45 41 44 45 52 3b 0a 0a  GE_OS2_HEADER;..
14130 61 6c 69 67 6e 28 34 29 20 73 74 72 75 63 74 20  align(4) struct 
14140 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53  IMAGE_NT_HEADERS
14150 33 32 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20  32 {..DWORD     
14160 20 20 20 20 20 20 20 20 20 20 20 20 53 69 67 6e              Sign
14170 61 74 75 72 65 3b 0a 09 49 4d 41 47 45 5f 46 49  ature;..IMAGE_FI
14180 4c 45 5f 48 45 41 44 45 52 20 20 20 20 20 46 69  LE_HEADER     Fi
14190 6c 65 48 65 61 64 65 72 3b 0a 09 49 4d 41 47 45  leHeader;..IMAGE
141a0 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52  _OPTIONAL_HEADER
141b0 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 72 3b   OptionalHeader;
141c0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e  .}.alias IMAGE_N
141d0 54 5f 48 45 41 44 45 52 53 33 32 2a 20 50 49 4d  T_HEADERS32* PIM
141e0 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 33 32  AGE_NT_HEADERS32
141f0 3b 0a 0a 61 6c 69 67 6e 28 34 29 20 73 74 72 75  ;..align(4) stru
14200 63 74 20 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44  ct IMAGE_NT_HEAD
14210 45 52 53 36 34 20 7b 0a 09 44 57 4f 52 44 20 20  ERS64 {..DWORD  
14220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53                 S
14230 69 67 6e 61 74 75 72 65 3b 0a 09 49 4d 41 47 45  ignature;..IMAGE
14240 5f 46 49 4c 45 5f 48 45 41 44 45 52 20 20 20 20  _FILE_HEADER    
14250 20 46 69 6c 65 48 65 61 64 65 72 3b 0a 09 49 4d   FileHeader;..IM
14260 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
14270 44 45 52 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64  DER OptionalHead
14280 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47  er;.}.alias IMAG
14290 45 5f 4e 54 5f 48 45 41 44 45 52 53 36 34 2a 20  E_NT_HEADERS64* 
142a0 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52  PIMAGE_NT_HEADER
142b0 53 36 34 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41  S64;..struct IMA
142c0 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53 20 7b  GE_ROM_HEADERS {
142d0 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45 41  ..IMAGE_FILE_HEA
142e0 44 45 52 20 20 20 20 20 20 20 20 20 46 69 6c 65  DER         File
142f0 48 65 61 64 65 72 3b 0a 09 49 4d 41 47 45 5f 52  Header;..IMAGE_R
14300 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  OM_OPTIONAL_HEAD
14310 45 52 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65  ER OptionalHeade
14320 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45  r;.}.alias IMAGE
14330 5f 52 4f 4d 5f 48 45 41 44 45 52 53 2a 20 50 49  _ROM_HEADERS* PI
14340 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53  MAGE_ROM_HEADERS
14350 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f  ;..struct IMAGE_
14360 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 20 7b  SECTION_HEADER {
14370 0a 09 42 59 54 45 5b 49 4d 41 47 45 5f 53 49 5a  ..BYTE[IMAGE_SIZ
14380 45 4f 46 5f 53 48 4f 52 54 5f 4e 41 4d 45 5d 20  EOF_SHORT_NAME] 
14390 4e 61 6d 65 3b 0a 09 75 6e 69 6f 6e 20 5f 4d 69  Name;..union _Mi
143a0 73 63 20 7b 0a 09 09 44 57 4f 52 44 20 50 68 79  sc {...DWORD Phy
143b0 73 69 63 61 6c 41 64 64 72 65 73 73 3b 0a 09 09  sicalAddress;...
143c0 44 57 4f 52 44 20 56 69 72 74 75 61 6c 53 69 7a  DWORD VirtualSiz
143d0 65 3b 0a 09 7d 0a 09 5f 4d 69 73 63 20 4d 69 73  e;..}.._Misc Mis
143e0 63 3b 0a 09 44 57 4f 52 44 20 56 69 72 74 75 61  c;..DWORD Virtua
143f0 6c 41 64 64 72 65 73 73 3b 0a 09 44 57 4f 52 44  lAddress;..DWORD
14400 20 53 69 7a 65 4f 66 52 61 77 44 61 74 61 3b 0a   SizeOfRawData;.
14410 09 44 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f  .DWORD PointerTo
14420 52 61 77 44 61 74 61 3b 0a 09 44 57 4f 52 44 20  RawData;..DWORD 
14430 50 6f 69 6e 74 65 72 54 6f 52 65 6c 6f 63 61 74  PointerToRelocat
14440 69 6f 6e 73 3b 0a 09 44 57 4f 52 44 20 50 6f 69  ions;..DWORD Poi
14450 6e 74 65 72 54 6f 4c 69 6e 65 6e 75 6d 62 65 72  nterToLinenumber
14460 73 3b 0a 09 57 4f 52 44 20 20 4e 75 6d 62 65 72  s;..WORD  Number
14470 4f 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0a 09  OfRelocations;..
14480 57 4f 52 44 20 20 4e 75 6d 62 65 72 4f 66 4c 69  WORD  NumberOfLi
14490 6e 65 6e 75 6d 62 65 72 73 3b 0a 09 44 57 4f 52  nenumbers;..DWOR
144a0 44 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63  D Characteristic
144b0 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45  s;.}.alias IMAGE
144c0 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 2a  _SECTION_HEADER*
144d0 20 50 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f   PIMAGE_SECTION_
144e0 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20  HEADER;..struct 
144f0 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 20 7b 0a 09  IMAGE_SYMBOL {..
14500 75 6e 69 6f 6e 20 5f 4e 20 7b 0a 09 09 42 59 54  union _N {...BYT
14510 45 5b 38 5d 20 20 20 53 68 6f 72 74 4e 61 6d 65  E[8]   ShortName
14520 3b 0a 09 09 73 74 72 75 63 74 20 4e 61 6d 65 20  ;...struct Name 
14530 7b 0a 09 09 09 44 57 4f 52 44 20 53 68 6f 72 74  {....DWORD Short
14540 3b 0a 09 09 09 44 57 4f 52 44 20 4c 6f 6e 67 3b  ;....DWORD Long;
14550 0a 09 09 7d 0a 09 09 50 42 59 54 45 5b 32 5d 20  ...}...PBYTE[2] 
14560 20 4c 6f 6e 67 4e 61 6d 65 3b 0a 09 7d 0a 09 5f   LongName;..}.._
14570 4e 20 20 20 20 4e 3b 0a 09 44 57 4f 52 44 20 56  N    N;..DWORD V
14580 61 6c 75 65 3b 0a 09 53 48 4f 52 54 20 53 65 63  alue;..SHORT Sec
14590 74 69 6f 6e 4e 75 6d 62 65 72 3b 0a 09 57 4f 52  tionNumber;..WOR
145a0 44 20 20 54 79 70 65 3b 0a 09 42 59 54 45 20 20  D  Type;..BYTE  
145b0 53 74 6f 72 61 67 65 43 6c 61 73 73 3b 0a 09 42  StorageClass;..B
145c0 59 54 45 20 20 4e 75 6d 62 65 72 4f 66 41 75 78  YTE  NumberOfAux
145d0 53 79 6d 62 6f 6c 73 3b 0a 7d 0a 61 6c 69 61 73  Symbols;.}.alias
145e0 20 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 2a 20 50   IMAGE_SYMBOL* P
145f0 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 3b 0a 0a 75  IMAGE_SYMBOL;..u
14600 6e 69 6f 6e 20 49 4d 41 47 45 5f 41 55 58 5f 53  nion IMAGE_AUX_S
14610 59 4d 42 4f 4c 20 7b 0a 09 73 74 72 75 63 74 20  YMBOL {..struct 
14620 5f 53 79 6d 20 7b 0a 09 09 44 57 4f 52 44 20 20  _Sym {...DWORD  
14630 20 20 20 20 20 20 20 20 20 54 61 67 49 6e 64 65           TagInde
14640 78 3b 0a 09 09 75 6e 69 6f 6e 20 5f 4d 69 73 63  x;...union _Misc
14650 20 7b 0a 09 09 09 73 74 72 75 63 74 20 5f 4c 6e   {....struct _Ln
14660 53 7a 20 7b 0a 09 09 09 09 57 4f 52 44 20 20 20  Sz {.....WORD   
14670 20 4c 69 6e 65 6e 75 6d 62 65 72 3b 0a 09 09 09   Linenumber;....
14680 09 57 4f 52 44 20 20 20 20 53 69 7a 65 3b 0a 09  .WORD    Size;..
14690 09 09 7d 0a 09 09 09 5f 4c 6e 53 7a 20 20 20 20  ..}...._LnSz    
146a0 20 20 20 4c 6e 53 7a 3b 0a 09 09 09 44 57 4f 52     LnSz;....DWOR
146b0 44 20 20 20 20 20 20 20 54 6f 74 61 6c 53 69 7a  D       TotalSiz
146c0 65 3b 0a 09 09 7d 0a 09 09 5f 4d 69 73 63 20 4d  e;...}..._Misc M
146d0 69 73 63 3b 0a 09 09 75 6e 69 6f 6e 20 5f 46 63  isc;...union _Fc
146e0 6e 41 72 79 20 7b 0a 09 09 09 73 74 72 75 63 74  nAry {....struct
146f0 20 5f 46 75 6e 63 74 69 6f 6e 20 7b 0a 09 09 09   _Function {....
14700 09 44 57 4f 52 44 20 20 20 50 6f 69 6e 74 65 72  .DWORD   Pointer
14710 54 6f 4c 69 6e 65 6e 75 6d 62 65 72 3b 0a 09 09  ToLinenumber;...
14720 09 09 44 57 4f 52 44 20 20 20 50 6f 69 6e 74 65  ..DWORD   Pointe
14730 72 54 6f 4e 65 78 74 46 75 6e 63 74 69 6f 6e 3b  rToNextFunction;
14740 0a 09 09 09 7d 0a 09 09 09 5f 46 75 6e 63 74 69  ....}...._Functi
14750 6f 6e 20 20 20 46 75 6e 63 74 69 6f 6e 3b 0a 09  on   Function;..
14760 09 09 73 74 72 75 63 74 20 5f 41 72 72 61 79 20  ..struct _Array 
14770 7b 0a 09 09 09 09 57 4f 52 44 5b 34 5d 20 44 69  {.....WORD[4] Di
14780 6d 65 6e 73 69 6f 6e 3b 0a 09 09 09 7d 0a 09 09  mension;....}...
14790 09 5f 41 72 72 61 79 20 20 20 20 20 20 41 72 72  ._Array      Arr
147a0 61 79 3b 0a 09 09 7d 0a 09 09 5f 46 63 6e 41 72  ay;...}..._FcnAr
147b0 79 20 20 20 20 20 20 20 20 20 46 63 6e 41 72 79  y         FcnAry
147c0 3b 0a 09 09 57 4f 52 44 20 20 20 20 20 20 20 20  ;...WORD        
147d0 20 20 20 20 54 76 49 6e 64 65 78 3b 0a 09 7d 0a      TvIndex;..}.
147e0 09 5f 53 79 6d 20 20 20 20 20 20 20 20 20 20 20  ._Sym           
147f0 20 20 20 20 20 53 79 6d 3b 0a 09 73 74 72 75 63       Sym;..struc
14800 74 20 5f 46 69 6c 65 20 7b 0a 09 09 42 59 54 45  t _File {...BYTE
14810 5b 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59  [IMAGE_SIZEOF_SY
14820 4d 42 4f 4c 5d 20 4e 61 6d 65 3b 0a 09 7d 0a 09  MBOL] Name;..}..
14830 5f 46 69 6c 65 20 20 20 20 20 20 20 20 20 20 20  _File           
14840 20 20 20 20 46 69 6c 65 3b 0a 09 73 74 72 75 63      File;..struc
14850 74 20 5f 53 65 63 74 69 6f 6e 20 7b 0a 09 09 44  t _Section {...D
14860 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 4c  WORD           L
14870 65 6e 67 74 68 3b 0a 09 09 57 4f 52 44 20 20 20  ength;...WORD   
14880 20 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 4f           NumberO
14890 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0a 09 09  fRelocations;...
148a0 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
148b0 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75 6d 62  NumberOfLinenumb
148c0 65 72 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 20  ers;...DWORD    
148d0 20 20 20 20 20 20 20 43 68 65 63 6b 53 75 6d 3b         CheckSum;
148e0 0a 09 09 53 48 4f 52 54 20 20 20 20 20 20 20 20  ...SHORT        
148f0 20 20 20 4e 75 6d 62 65 72 3b 0a 09 09 42 59 54     Number;...BYT
14900 45 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c  E            Sel
14910 65 63 74 69 6f 6e 3b 0a 09 7d 0a 09 5f 53 65 63  ection;..}.._Sec
14920 74 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20  tion            
14930 53 65 63 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73  Section;.}.alias
14940 20 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f   IMAGE_AUX_SYMBO
14950 4c 2a 20 50 49 4d 41 47 45 5f 41 55 58 5f 53 59  L* PIMAGE_AUX_SY
14960 4d 42 4f 4c 3b 0a 0a 73 74 72 75 63 74 20 49 4d  MBOL;..struct IM
14970 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53  AGE_COFF_SYMBOLS
14980 5f 48 45 41 44 45 52 20 7b 0a 09 44 57 4f 52 44  _HEADER {..DWORD
14990 20 4e 75 6d 62 65 72 4f 66 53 79 6d 62 6f 6c 73   NumberOfSymbols
149a0 3b 0a 09 44 57 4f 52 44 20 4c 76 61 54 6f 46 69  ;..DWORD LvaToFi
149b0 72 73 74 53 79 6d 62 6f 6c 3b 0a 09 44 57 4f 52  rstSymbol;..DWOR
149c0 44 20 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75  D NumberOfLinenu
149d0 6d 62 65 72 73 3b 0a 09 44 57 4f 52 44 20 4c 76  mbers;..DWORD Lv
149e0 61 54 6f 46 69 72 73 74 4c 69 6e 65 6e 75 6d 62  aToFirstLinenumb
149f0 65 72 3b 0a 09 44 57 4f 52 44 20 52 76 61 54 6f  er;..DWORD RvaTo
14a00 46 69 72 73 74 42 79 74 65 4f 66 43 6f 64 65 3b  FirstByteOfCode;
14a10 0a 09 44 57 4f 52 44 20 52 76 61 54 6f 4c 61 73  ..DWORD RvaToLas
14a20 74 42 79 74 65 4f 66 43 6f 64 65 3b 0a 09 44 57  tByteOfCode;..DW
14a30 4f 52 44 20 52 76 61 54 6f 46 69 72 73 74 42 79  ORD RvaToFirstBy
14a40 74 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52 44  teOfData;..DWORD
14a50 20 52 76 61 54 6f 4c 61 73 74 42 79 74 65 4f 66   RvaToLastByteOf
14a60 44 61 74 61 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d  Data;.}.alias IM
14a70 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53  AGE_COFF_SYMBOLS
14a80 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45 5f  _HEADER* PIMAGE_
14a90 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48 45 41  COFF_SYMBOLS_HEA
14aa0 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41  DER;..struct IMA
14ab0 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 20 7b 0a  GE_RELOCATION {.
14ac0 09 75 6e 69 6f 6e 20 7b 0a 09 09 44 57 4f 52 44  .union {...DWORD
14ad0 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 73 3b   VirtualAddress;
14ae0 0a 09 09 44 57 4f 52 44 20 52 65 6c 6f 63 43 6f  ...DWORD RelocCo
14af0 75 6e 74 3b 0a 09 7d 0a 09 44 57 4f 52 44 20 20  unt;..}..DWORD  
14b00 20 20 20 53 79 6d 62 6f 6c 54 61 62 6c 65 49 6e     SymbolTableIn
14b10 64 65 78 3b 0a 09 57 4f 52 44 20 20 20 20 20 20  dex;..WORD      
14b20 54 79 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d  Type;.}.alias IM
14b30 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 2a 20  AGE_RELOCATION* 
14b40 50 49 4d 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f  PIMAGE_RELOCATIO
14b50 4e 3b 0a 0a 61 6c 69 67 6e 28 34 29 20 73 74 72  N;..align(4) str
14b60 75 63 74 20 49 4d 41 47 45 5f 42 41 53 45 5f 52  uct IMAGE_BASE_R
14b70 45 4c 4f 43 41 54 49 4f 4e 20 7b 0a 09 44 57 4f  ELOCATION {..DWO
14b80 52 44 20 56 69 72 74 75 61 6c 41 64 64 72 65 73  RD VirtualAddres
14b90 73 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 4f 66  s;..DWORD SizeOf
14ba0 42 6c 6f 63 6b 3b 0a 7d 0a 61 6c 69 61 73 20 49  Block;.}.alias I
14bb0 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c 4f 43 41  MAGE_BASE_RELOCA
14bc0 54 49 4f 4e 2a 20 50 49 4d 41 47 45 5f 42 41 53  TION* PIMAGE_BAS
14bd0 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b 0a 0a 61  E_RELOCATION;..a
14be0 6c 69 67 6e 28 32 29 20 73 74 72 75 63 74 20 49  lign(2) struct I
14bf0 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 20  MAGE_LINENUMBER 
14c00 7b 0a 09 75 6e 69 6f 6e 20 5f 54 79 70 65 20 7b  {..union _Type {
14c10 0a 09 09 44 57 4f 52 44 20 53 79 6d 62 6f 6c 54  ...DWORD SymbolT
14c20 61 62 6c 65 49 6e 64 65 78 3b 0a 09 09 44 57 4f  ableIndex;...DWO
14c30 52 44 20 56 69 72 74 75 61 6c 41 64 64 72 65 73  RD VirtualAddres
14c40 73 3b 0a 09 7d 0a 09 5f 54 79 70 65 20 54 79 70  s;..}.._Type Typ
14c50 65 3b 0a 09 57 4f 52 44 20 20 4c 69 6e 65 6e 75  e;..WORD  Linenu
14c60 6d 62 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d  mber;.}.alias IM
14c70 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 2a 20  AGE_LINENUMBER* 
14c80 50 49 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45  PIMAGE_LINENUMBE
14c90 52 3b 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74  R;..align(4):.st
14ca0 72 75 63 74 20 49 4d 41 47 45 5f 41 52 43 48 49  ruct IMAGE_ARCHI
14cb0 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52  VE_MEMBER_HEADER
14cc0 20 7b 0a 09 42 59 54 45 5b 31 36 5d 20 4e 61 6d   {..BYTE[16] Nam
14cd0 65 3b 0a 09 42 59 54 45 5b 31 32 5d 20 44 61 74  e;..BYTE[12] Dat
14ce0 65 3b 0a 09 42 59 54 45 5b 36 5d 20 20 55 73 65  e;..BYTE[6]  Use
14cf0 72 49 44 3b 0a 09 42 59 54 45 5b 36 5d 20 20 47  rID;..BYTE[6]  G
14d00 72 6f 75 70 49 44 3b 0a 09 42 59 54 45 5b 38 5d  roupID;..BYTE[8]
14d10 20 20 4d 6f 64 65 3b 0a 09 42 59 54 45 5b 31 30    Mode;..BYTE[10
14d20 5d 20 53 69 7a 65 3b 0a 09 42 59 54 45 5b 32 5d  ] Size;..BYTE[2]
14d30 20 20 45 6e 64 48 65 61 64 65 72 3b 0a 7d 0a 61    EndHeader;.}.a
14d40 6c 69 61 73 20 49 4d 41 47 45 5f 41 52 43 48 49  lias IMAGE_ARCHI
14d50 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52  VE_MEMBER_HEADER
14d60 2a 20 50 49 4d 41 47 45 5f 41 52 43 48 49 56 45  * PIMAGE_ARCHIVE
14d70 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52 3b 0a  _MEMBER_HEADER;.
14d80 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 45 58  .struct IMAGE_EX
14d90 50 4f 52 54 5f 44 49 52 45 43 54 4f 52 59 20 7b  PORT_DIRECTORY {
14da0 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63 74 65  ..DWORD Characte
14db0 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44 20  ristics;..DWORD 
14dc0 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0a 09  TimeDateStamp;..
14dd0 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72 73 69  WORD  MajorVersi
14de0 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72  on;..WORD  Minor
14df0 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20  Version;..DWORD 
14e00 4e 61 6d 65 3b 0a 09 44 57 4f 52 44 20 42 61 73  Name;..DWORD Bas
14e10 65 3b 0a 09 44 57 4f 52 44 20 4e 75 6d 62 65 72  e;..DWORD Number
14e20 4f 66 46 75 6e 63 74 69 6f 6e 73 3b 0a 09 44 57  OfFunctions;..DW
14e30 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4e 61 6d 65  ORD NumberOfName
14e40 73 3b 0a 09 44 57 4f 52 44 20 41 64 64 72 65 73  s;..DWORD Addres
14e50 73 4f 66 46 75 6e 63 74 69 6f 6e 73 3b 0a 09 44  sOfFunctions;..D
14e60 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66 4e 61  WORD AddressOfNa
14e70 6d 65 73 3b 0a 09 44 57 4f 52 44 20 41 64 64 72  mes;..DWORD Addr
14e80 65 73 73 4f 66 4e 61 6d 65 4f 72 64 69 6e 61 6c  essOfNameOrdinal
14e90 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45  s;.}.alias IMAGE
14ea0 5f 45 58 50 4f 52 54 5f 44 49 52 45 43 54 4f 52  _EXPORT_DIRECTOR
14eb0 59 2a 20 50 49 4d 41 47 45 5f 45 58 50 4f 52 54  Y* PIMAGE_EXPORT
14ec0 5f 44 49 52 45 43 54 4f 52 59 3b 0a 0a 73 74 72  _DIRECTORY;..str
14ed0 75 63 74 20 49 4d 41 47 45 5f 49 4d 50 4f 52 54  uct IMAGE_IMPORT
14ee0 5f 42 59 5f 4e 41 4d 45 20 7b 0a 09 57 4f 52 44  _BY_NAME {..WORD
14ef0 20 48 69 6e 74 3b 0a 09 42 59 54 45 20 5f 4e 61   Hint;..BYTE _Na
14f00 6d 65 3b 0a 0a 09 42 59 54 45 2a 20 4e 61 6d 65  me;...BYTE* Name
14f10 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 26 5f  () {...return &_
14f20 4e 61 6d 65 3b 0a 09 7d 0a 7d 0a 61 6c 69 61 73  Name;..}.}.alias
14f30 20 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 42 59   IMAGE_IMPORT_BY
14f40 5f 4e 41 4d 45 2a 20 50 49 4d 41 47 45 5f 49 4d  _NAME* PIMAGE_IM
14f50 50 4f 52 54 5f 42 59 5f 4e 41 4d 45 3b 0a 0a 73  PORT_BY_NAME;..s
14f60 74 72 75 63 74 20 49 4d 41 47 45 5f 54 48 55 4e  truct IMAGE_THUN
14f70 4b 5f 44 41 54 41 33 32 20 7b 0a 09 75 6e 69 6f  K_DATA32 {..unio
14f80 6e 20 5f 75 31 20 7b 0a 09 09 44 57 4f 52 44 20  n _u1 {...DWORD 
14f90 46 6f 72 77 61 72 64 65 72 53 74 72 69 6e 67 3b  ForwarderString;
14fa0 0a 09 09 44 57 4f 52 44 20 46 75 6e 63 74 69 6f  ...DWORD Functio
14fb0 6e 3b 0a 09 09 44 57 4f 52 44 20 4f 72 64 69 6e  n;...DWORD Ordin
14fc0 61 6c 3b 0a 09 09 44 57 4f 52 44 20 41 64 64 72  al;...DWORD Addr
14fd0 65 73 73 4f 66 44 61 74 61 3b 0a 09 7d 0a 09 5f  essOfData;..}.._
14fe0 75 31 20 75 31 3b 0a 7d 0a 61 6c 69 61 73 20 49  u1 u1;.}.alias I
14ff0 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33  MAGE_THUNK_DATA3
15000 32 2a 20 50 49 4d 41 47 45 5f 54 48 55 4e 4b 5f  2* PIMAGE_THUNK_
15010 44 41 54 41 33 32 3b 0a 0a 73 74 72 75 63 74 20  DATA32;..struct 
15020 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41  IMAGE_THUNK_DATA
15030 36 34 20 7b 0a 09 75 6e 69 6f 6e 20 5f 75 31 20  64 {..union _u1 
15040 7b 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47 20 46 6f  {...ULONGLONG Fo
15050 72 77 61 72 64 65 72 53 74 72 69 6e 67 3b 0a 09  rwarderString;..
15060 09 55 4c 4f 4e 47 4c 4f 4e 47 20 46 75 6e 63 74  .ULONGLONG Funct
15070 69 6f 6e 3b 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47  ion;...ULONGLONG
15080 20 4f 72 64 69 6e 61 6c 3b 0a 09 09 55 4c 4f 4e   Ordinal;...ULON
15090 47 4c 4f 4e 47 20 41 64 64 72 65 73 73 4f 66 44  GLONG AddressOfD
150a0 61 74 61 3b 0a 09 7d 0a 09 5f 75 31 20 75 31 3b  ata;..}.._u1 u1;
150b0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 54  .}.alias IMAGE_T
150c0 48 55 4e 4b 5f 44 41 54 41 36 34 2a 20 50 49 4d  HUNK_DATA64* PIM
150d0 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 36 34  AGE_THUNK_DATA64
150e0 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f  ;..struct IMAGE_
150f0 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 4f  IMPORT_DESCRIPTO
15100 52 20 7b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 44  R {..union {...D
15110 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73  WORD Characteris
15120 74 69 63 73 3b 0a 09 09 44 57 4f 52 44 20 4f 72  tics;...DWORD Or
15130 69 67 69 6e 61 6c 46 69 72 73 74 54 68 75 6e 6b  iginalFirstThunk
15140 3b 0a 09 7d 0a 09 44 57 4f 52 44 20 54 69 6d 65  ;..}..DWORD Time
15150 44 61 74 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52  DateStamp;..DWOR
15160 44 20 46 6f 72 77 61 72 64 65 72 43 68 61 69 6e  D ForwarderChain
15170 3b 0a 09 44 57 4f 52 44 20 4e 61 6d 65 3b 0a 09  ;..DWORD Name;..
15180 44 57 4f 52 44 20 46 69 72 73 74 54 68 75 6e 6b  DWORD FirstThunk
15190 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f  ;.}.alias IMAGE_
151a0 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 4f  IMPORT_DESCRIPTO
151b0 52 2a 20 50 49 4d 41 47 45 5f 49 4d 50 4f 52 54  R* PIMAGE_IMPORT
151c0 5f 44 45 53 43 52 49 50 54 4f 52 3b 0a 0a 73 74  _DESCRIPTOR;..st
151d0 72 75 63 74 20 49 4d 41 47 45 5f 42 4f 55 4e 44  ruct IMAGE_BOUND
151e0 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54  _IMPORT_DESCRIPT
151f0 4f 52 20 7b 0a 09 44 57 4f 52 44 20 54 69 6d 65  OR {..DWORD Time
15200 44 61 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44  DateStamp;..WORD
15210 20 20 4f 66 66 73 65 74 4d 6f 64 75 6c 65 4e 61    OffsetModuleNa
15220 6d 65 3b 0a 09 57 4f 52 44 20 20 4e 75 6d 62 65  me;..WORD  Numbe
15230 72 4f 66 4d 6f 64 75 6c 65 46 6f 72 77 61 72 64  rOfModuleForward
15240 65 72 52 65 66 73 3b 0a 7d 0a 61 6c 69 61 73 20  erRefs;.}.alias 
15250 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f  IMAGE_BOUND_IMPO
15260 52 54 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50  RT_DESCRIPTOR* P
15270 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f  IMAGE_BOUND_IMPO
15280 52 54 5f 44 45 53 43 52 49 50 54 4f 52 3b 0a 0a  RT_DESCRIPTOR;..
15290 73 74 72 75 63 74 20 49 4d 41 47 45 5f 42 4f 55  struct IMAGE_BOU
152a0 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46  ND_FORWARDER_REF
152b0 20 7b 0a 09 44 57 4f 52 44 20 54 69 6d 65 44 61   {..DWORD TimeDa
152c0 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44 20 20  teStamp;..WORD  
152d0 4f 66 66 73 65 74 4d 6f 64 75 6c 65 4e 61 6d 65  OffsetModuleName
152e0 3b 0a 09 57 4f 52 44 20 20 52 65 73 65 72 76 65  ;..WORD  Reserve
152f0 64 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45  d;.}.alias IMAGE
15300 5f 42 4f 55 4e 44 5f 46 4f 52 57 41 52 44 45 52  _BOUND_FORWARDER
15310 5f 52 45 46 2a 20 50 49 4d 41 47 45 5f 42 4f 55  _REF* PIMAGE_BOU
15320 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46  ND_FORWARDER_REF
15330 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f  ;..struct IMAGE_
15340 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33 32 20  TLS_DIRECTORY32 
15350 7b 0a 09 44 57 4f 52 44 20 53 74 61 72 74 41 64  {..DWORD StartAd
15360 64 72 65 73 73 4f 66 52 61 77 44 61 74 61 3b 0a  dressOfRawData;.
15370 09 44 57 4f 52 44 20 45 6e 64 41 64 64 72 65 73  .DWORD EndAddres
15380 73 4f 66 52 61 77 44 61 74 61 3b 0a 09 44 57 4f  sOfRawData;..DWO
15390 52 44 20 41 64 64 72 65 73 73 4f 66 49 6e 64 65  RD AddressOfInde
153a0 78 3b 0a 09 44 57 4f 52 44 20 41 64 64 72 65 73  x;..DWORD Addres
153b0 73 4f 66 43 61 6c 6c 42 61 63 6b 73 3b 0a 09 44  sOfCallBacks;..D
153c0 57 4f 52 44 20 53 69 7a 65 4f 66 5a 65 72 6f 46  WORD SizeOfZeroF
153d0 69 6c 6c 3b 0a 09 44 57 4f 52 44 20 43 68 61 72  ill;..DWORD Char
153e0 61 63 74 65 72 69 73 74 69 63 73 3b 0a 7d 0a 61  acteristics;.}.a
153f0 6c 69 61 73 20 49 4d 41 47 45 5f 54 4c 53 5f 44  lias IMAGE_TLS_D
15400 49 52 45 43 54 4f 52 59 33 32 2a 20 50 49 4d 41  IRECTORY32* PIMA
15410 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59  GE_TLS_DIRECTORY
15420 33 32 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47  32;..struct IMAG
15430 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36  E_TLS_DIRECTORY6
15440 34 20 7b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53  4 {..ULONGLONG S
15450 74 61 72 74 41 64 64 72 65 73 73 4f 66 52 61 77  tartAddressOfRaw
15460 44 61 74 61 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47  Data;..ULONGLONG
15470 20 45 6e 64 41 64 64 72 65 73 73 4f 66 52 61 77   EndAddressOfRaw
15480 44 61 74 61 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47  Data;..ULONGLONG
15490 20 41 64 64 72 65 73 73 4f 66 49 6e 64 65 78 3b   AddressOfIndex;
154a0 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 41 64 64 72  ..ULONGLONG Addr
154b0 65 73 73 4f 66 43 61 6c 6c 42 61 63 6b 73 3b 0a  essOfCallBacks;.
154c0 09 44 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f  .DWORD     SizeO
154d0 66 5a 65 72 6f 46 69 6c 6c 3b 0a 09 44 57 4f 52  fZeroFill;..DWOR
154e0 44 20 20 20 20 20 43 68 61 72 61 63 74 65 72 69  D     Characteri
154f0 73 74 69 63 73 3b 0a 7d 0a 61 6c 69 61 73 20 49  stics;.}.alias I
15500 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f  MAGE_TLS_DIRECTO
15510 52 59 36 34 2a 20 50 49 4d 41 47 45 5f 54 4c 53  RY64* PIMAGE_TLS
15520 5f 44 49 52 45 43 54 4f 52 59 36 34 3b 0a 0a 73  _DIRECTORY64;..s
15530 74 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f  truct IMAGE_RESO
15540 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 20 7b  URCE_DIRECTORY {
15550 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63 74 65  ..DWORD Characte
15560 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44 20  ristics;..DWORD 
15570 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0a 09  TimeDateStamp;..
15580 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72 73 69  WORD  MajorVersi
15590 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72  on;..WORD  Minor
155a0 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20  Version;..WORD  
155b0 4e 75 6d 62 65 72 4f 66 4e 61 6d 65 64 45 6e 74  NumberOfNamedEnt
155c0 72 69 65 73 3b 0a 09 57 4f 52 44 20 20 4e 75 6d  ries;..WORD  Num
155d0 62 65 72 4f 66 49 64 45 6e 74 72 69 65 73 3b 0a  berOfIdEntries;.
155e0 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52 45  }.alias IMAGE_RE
155f0 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59  SOURCE_DIRECTORY
15600 2a 20 50 49 4d 41 47 45 5f 52 45 53 4f 55 52 43  * PIMAGE_RESOURC
15610 45 5f 44 49 52 45 43 54 4f 52 59 3b 0a 0a 73 74  E_DIRECTORY;..st
15620 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f 55  ruct IMAGE_RESOU
15630 52 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  RCE_DIRECTORY_EN
15640 54 52 59 20 7b 0a 09 75 6e 69 6f 6e 20 7b 0a 09  TRY {..union {..
15650 09 2f 2b 73 74 72 75 63 74 20 7b 0a 09 09 09 44  ./+struct {....D
15660 57 4f 52 44 20 4e 61 6d 65 4f 66 66 73 65 74 3a  WORD NameOffset:
15670 33 31 3b 0a 09 09 09 44 57 4f 52 44 20 4e 61 6d  31;....DWORD Nam
15680 65 49 73 53 74 72 69 6e 67 3a 31 3b 0a 09 09 7d  eIsString:1;...}
15690 2b 2f 0a 09 09 44 57 4f 52 44 20 4e 61 6d 65 3b  +/...DWORD Name;
156a0 0a 09 09 57 4f 52 44 20 49 64 3b 0a 09 7d 0a 09  ...WORD Id;..}..
156b0 44 57 4f 52 44 20 4f 66 66 73 65 74 54 6f 44 61  DWORD OffsetToDa
156c0 74 61 3b 0a 09 09 2f 2b 73 74 72 75 63 74 20 7b  ta;.../+struct {
156d0 0a 09 09 09 44 57 4f 52 44 20 4f 66 66 73 65 74  ....DWORD Offset
156e0 54 6f 44 69 72 65 63 74 6f 72 79 3a 33 31 3b 0a  ToDirectory:31;.
156f0 09 09 09 44 57 4f 52 44 20 44 61 74 61 49 73 44  ...DWORD DataIsD
15700 69 72 65 63 74 6f 72 79 3a 31 3b 0a 09 09 7d 2b  irectory:1;...}+
15710 2f 0a 0a 09 75 69 6e 74 20 4e 61 6d 65 4f 66 66  /...uint NameOff
15720 73 65 74 28 29 20 20 20 20 20 20 20 20 7b 20 72  set()        { r
15730 65 74 75 72 6e 20 4e 61 6d 65 20 26 20 30 78 37  eturn Name & 0x7
15740 46 46 46 46 46 46 46 3b 20 7d 0a 09 62 6f 6f 6c  FFFFFFF; }..bool
15750 20 4e 61 6d 65 49 73 53 74 72 69 6e 67 28 29 20   NameIsString() 
15760 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61       { return ca
15770 73 74 28 62 6f 6f 6c 29 28 4e 61 6d 65 20 26 20  st(bool)(Name & 
15780 30 78 38 30 30 30 30 30 30 30 29 3b 20 7d 0a 09  0x80000000); }..
15790 75 69 6e 74 20 4f 66 66 73 65 74 54 6f 44 69 72  uint OffsetToDir
157a0 65 63 74 6f 72 79 28 29 20 7b 20 72 65 74 75 72  ectory() { retur
157b0 6e 20 4f 66 66 73 65 74 54 6f 44 61 74 61 20 26  n OffsetToData &
157c0 20 30 78 37 46 46 46 46 46 46 46 3b 20 7d 0a 09   0x7FFFFFFF; }..
157d0 62 6f 6f 6c 20 44 61 74 61 49 73 44 69 72 65 63  bool DataIsDirec
157e0 74 6f 72 79 28 29 20 20 20 7b 20 72 65 74 75 72  tory()   { retur
157f0 6e 20 63 61 73 74 28 62 6f 6f 6c 29 28 4f 66 66  n cast(bool)(Off
15800 73 65 74 54 6f 44 61 74 61 20 26 20 30 78 38 30  setToData & 0x80
15810 30 30 30 30 30 30 29 3b 20 7d 0a 0a 09 75 69 6e  000000); }...uin
15820 74 20 4e 61 6d 65 4f 66 66 73 65 74 28 75 69 6e  t NameOffset(uin
15830 74 20 6e 29 20 7b 0a 09 09 4e 61 6d 65 20 3d 20  t n) {...Name = 
15840 28 4e 61 6d 65 20 26 20 30 78 38 30 30 30 30 30  (Name & 0x800000
15850 30 30 29 20 7c 20 28 6e 20 26 20 30 78 37 46 46  00) | (n & 0x7FF
15860 46 46 46 46 46 29 3b 0a 09 09 72 65 74 75 72 6e  FFFFF);...return
15870 20 6e 20 26 20 30 78 37 46 46 46 46 46 46 46 3b   n & 0x7FFFFFFF;
15880 0a 09 7d 0a 0a 09 62 6f 6f 6c 20 4e 61 6d 65 49  ..}...bool NameI
15890 73 53 74 72 69 6e 67 28 62 6f 6f 6c 20 6e 29 20  sString(bool n) 
158a0 7b 0a 09 09 4e 61 6d 65 20 3d 20 28 4e 61 6d 65  {...Name = (Name
158b0 20 26 20 30 78 37 46 46 46 46 46 46 46 29 20 7c   & 0x7FFFFFFF) |
158c0 20 28 6e 20 3c 3c 20 33 31 29 3b 20 72 65 74 75   (n << 31); retu
158d0 72 6e 20 6e 3b 0a 09 7d 0a 0a 09 75 69 6e 74 20  rn n;..}...uint 
158e0 4f 66 66 73 65 74 54 6f 44 69 72 65 63 74 6f 72  OffsetToDirector
158f0 79 28 75 69 6e 74 20 6f 29 20 7b 0a 09 09 4f 66  y(uint o) {...Of
15900 66 73 65 74 54 6f 44 61 74 61 20 3d 20 28 4f 66  fsetToData = (Of
15910 66 73 65 74 54 6f 44 61 74 61 20 26 20 30 78 38  fsetToData & 0x8
15920 30 30 30 30 30 30 30 29 20 7c 20 28 6f 20 26 20  0000000) | (o & 
15930 30 78 37 46 46 46 46 46 46 46 29 3b 0a 09 09 72  0x7FFFFFFF);...r
15940 65 74 75 72 6e 20 6f 20 26 20 30 78 37 46 46 46  eturn o & 0x7FFF
15950 46 46 46 46 3b 0a 09 7d 0a 0a 09 62 6f 6f 6c 20  FFFF;..}...bool 
15960 44 61 74 61 49 73 44 69 72 65 63 74 6f 72 79 28  DataIsDirectory(
15970 62 6f 6f 6c 20 64 29 20 7b 0a 09 09 4f 66 66 73  bool d) {...Offs
15980 65 74 54 6f 44 61 74 61 20 3d 20 28 4f 66 66 73  etToData = (Offs
15990 65 74 54 6f 44 61 74 61 20 26 20 30 78 37 46 46  etToData & 0x7FF
159a0 46 46 46 46 46 29 20 7c 20 28 64 20 3c 3c 20 33  FFFFF) | (d << 3
159b0 31 29 3b 20 72 65 74 75 72 6e 20 64 3b 0a 09 7d  1); return d;..}
159c0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52  .}.alias IMAGE_R
159d0 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52  ESOURCE_DIRECTOR
159e0 59 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47 45 5f  Y_ENTRY* PIMAGE_
159f0 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f  RESOURCE_DIRECTO
15a00 52 59 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63  RY_ENTRY;..struc
15a10 74 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45  t IMAGE_RESOURCE
15a20 5f 44 49 52 45 43 54 4f 52 59 5f 53 54 52 49 4e  _DIRECTORY_STRIN
15a30 47 20 7b 0a 09 57 4f 52 44 20 4c 65 6e 67 74 68  G {..WORD Length
15a40 3b 0a 09 43 48 41 52 20 5f 4e 61 6d 65 53 74 72  ;..CHAR _NameStr
15a50 69 6e 67 3b 0a 0a 09 43 48 41 52 2a 20 4e 61 6d  ing;...CHAR* Nam
15a60 65 53 74 72 69 6e 67 28 29 20 7b 20 72 65 74 75  eString() { retu
15a70 72 6e 20 26 5f 4e 61 6d 65 53 74 72 69 6e 67 3b  rn &_NameString;
15a80 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45   }.}.alias IMAGE
15a90 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54  _RESOURCE_DIRECT
15aa0 4f 52 59 5f 53 54 52 49 4e 47 2a 20 50 49 4d 41  ORY_STRING* PIMA
15ab0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45  GE_RESOURCE_DIRE
15ac0 43 54 4f 52 59 5f 53 54 52 49 4e 47 3b 0a 0a 73  CTORY_STRING;..s
15ad0 74 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f  truct IMAGE_RESO
15ae0 55 52 43 45 5f 44 49 52 5f 53 54 52 49 4e 47 5f  URCE_DIR_STRING_
15af0 55 20 7b 0a 09 57 4f 52 44 20 20 4c 65 6e 67 74  U {..WORD  Lengt
15b00 68 3b 0a 09 57 43 48 41 52 20 5f 4e 61 6d 65 53  h;..WCHAR _NameS
15b10 74 72 69 6e 67 3b 0a 0a 09 57 43 48 41 52 2a 20  tring;...WCHAR* 
15b20 4e 61 6d 65 53 74 72 69 6e 67 28 29 20 7b 20 72  NameString() { r
15b30 65 74 75 72 6e 20 26 5f 4e 61 6d 65 53 74 72 69  eturn &_NameStri
15b40 6e 67 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d  ng; }.}.alias IM
15b50 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52  AGE_RESOURCE_DIR
15b60 5f 53 54 52 49 4e 47 5f 55 2a 20 50 49 4d 41 47  _STRING_U* PIMAG
15b70 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 5f 53  E_RESOURCE_DIR_S
15b80 54 52 49 4e 47 5f 55 3b 0a 0a 73 74 72 75 63 74  TRING_U;..struct
15b90 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f   IMAGE_RESOURCE_
15ba0 44 41 54 41 5f 45 4e 54 52 59 20 7b 0a 09 44 57  DATA_ENTRY {..DW
15bb0 4f 52 44 20 4f 66 66 73 65 74 54 6f 44 61 74 61  ORD OffsetToData
15bc0 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 3b 0a 09  ;..DWORD Size;..
15bd0 44 57 4f 52 44 20 43 6f 64 65 50 61 67 65 3b 0a  DWORD CodePage;.
15be0 09 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b  .DWORD Reserved;
15bf0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52  .}.alias IMAGE_R
15c00 45 53 4f 55 52 43 45 5f 44 41 54 41 5f 45 4e 54  ESOURCE_DATA_ENT
15c10 52 59 2a 20 50 49 4d 41 47 45 5f 52 45 53 4f 55  RY* PIMAGE_RESOU
15c20 52 43 45 5f 44 41 54 41 5f 45 4e 54 52 59 3b 0a  RCE_DATA_ENTRY;.
15c30 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 4c 4f  .struct IMAGE_LO
15c40 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43 54  AD_CONFIG_DIRECT
15c50 4f 52 59 20 7b 0a 09 44 57 4f 52 44 20 20 20 20  ORY {..DWORD    
15c60 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b  Characteristics;
15c70 0a 09 44 57 4f 52 44 20 20 20 20 54 69 6d 65 44  ..DWORD    TimeD
15c80 61 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44 20  ateStamp;..WORD 
15c90 20 20 20 20 4d 61 6a 6f 72 56 65 72 73 69 6f 6e      MajorVersion
15ca0 3b 0a 09 57 4f 52 44 20 20 20 20 20 4d 69 6e 6f  ;..WORD     Mino
15cb0 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44  rVersion;..DWORD
15cc0 20 20 20 20 47 6c 6f 62 61 6c 46 6c 61 67 73 43      GlobalFlagsC
15cd0 6c 65 61 72 3b 0a 09 44 57 4f 52 44 20 20 20 20  lear;..DWORD    
15ce0 47 6c 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b 0a  GlobalFlagsSet;.
15cf0 09 44 57 4f 52 44 20 20 20 20 43 72 69 74 69 63  .DWORD    Critic
15d00 61 6c 53 65 63 74 69 6f 6e 44 65 66 61 75 6c 74  alSectionDefault
15d10 54 69 6d 65 6f 75 74 3b 0a 09 44 57 4f 52 44 20  Timeout;..DWORD 
15d20 20 20 20 44 65 43 6f 6d 6d 69 74 46 72 65 65 42     DeCommitFreeB
15d30 6c 6f 63 6b 54 68 72 65 73 68 6f 6c 64 3b 0a 09  lockThreshold;..
15d40 44 57 4f 52 44 20 20 20 20 44 65 43 6f 6d 6d 69  DWORD    DeCommi
15d50 74 54 6f 74 61 6c 46 72 65 65 54 68 72 65 73 68  tTotalFreeThresh
15d60 6f 6c 64 3b 0a 09 50 56 4f 49 44 20 20 20 20 4c  old;..PVOID    L
15d70 6f 63 6b 50 72 65 66 69 78 54 61 62 6c 65 3b 0a  ockPrefixTable;.
15d80 09 44 57 4f 52 44 20 20 20 20 4d 61 78 69 6d 75  .DWORD    Maximu
15d90 6d 41 6c 6c 6f 63 61 74 69 6f 6e 53 69 7a 65 3b  mAllocationSize;
15da0 0a 09 44 57 4f 52 44 20 20 20 20 56 69 72 74 75  ..DWORD    Virtu
15db0 61 6c 4d 65 6d 6f 72 79 54 68 72 65 73 68 6f 6c  alMemoryThreshol
15dc0 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 50 72 6f  d;..DWORD    Pro
15dd0 63 65 73 73 48 65 61 70 46 6c 61 67 73 3b 0a 09  cessHeapFlags;..
15de0 44 57 4f 52 44 5b 34 5d 20 52 65 73 65 72 76 65  DWORD[4] Reserve
15df0 64 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45  d;.}.alias IMAGE
15e00 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52  _LOAD_CONFIG_DIR
15e10 45 43 54 4f 52 59 2a 20 50 49 4d 41 47 45 5f 4c  ECTORY* PIMAGE_L
15e20 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43  OAD_CONFIG_DIREC
15e30 54 4f 52 59 3b 0a 0a 73 74 72 75 63 74 20 49 4d  TORY;..struct IM
15e40 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f  AGE_LOAD_CONFIG_
15e50 44 49 52 45 43 54 4f 52 59 36 34 20 7b 0a 09 44  DIRECTORY64 {..D
15e60 57 4f 52 44 20 20 20 20 20 43 68 61 72 61 63 74  WORD     Charact
15e70 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44  eristics;..DWORD
15e80 20 20 20 20 20 54 69 6d 65 44 61 74 65 53 74 61       TimeDateSta
15e90 6d 70 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 4d  mp;..WORD      M
15ea0 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 57 4f  ajorVersion;..WO
15eb0 52 44 20 20 20 20 20 20 4d 69 6e 6f 72 56 65 72  RD      MinorVer
15ec0 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20  sion;..DWORD    
15ed0 20 47 6c 6f 62 61 6c 46 6c 61 67 73 43 6c 65 61   GlobalFlagsClea
15ee0 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 47 6c  r;..DWORD     Gl
15ef0 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b 0a 09 44  obalFlagsSet;..D
15f00 57 4f 52 44 20 20 20 20 20 43 72 69 74 69 63 61  WORD     Critica
15f10 6c 53 65 63 74 69 6f 6e 44 65 66 61 75 6c 74 54  lSectionDefaultT
15f20 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 4c 4f  imeout;..ULONGLO
15f30 4e 47 20 44 65 43 6f 6d 6d 69 74 46 72 65 65 42  NG DeCommitFreeB
15f40 6c 6f 63 6b 54 68 72 65 73 68 6f 6c 64 3b 0a 09  lockThreshold;..
15f50 55 4c 4f 4e 47 4c 4f 4e 47 20 44 65 43 6f 6d 6d  ULONGLONG DeComm
15f60 69 74 54 6f 74 61 6c 46 72 65 65 54 68 72 65 73  itTotalFreeThres
15f70 68 6f 6c 64 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47  hold;..ULONGLONG
15f80 20 4c 6f 63 6b 50 72 65 66 69 78 54 61 62 6c 65   LockPrefixTable
15f90 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 4d 61 78  ;..ULONGLONG Max
15fa0 69 6d 75 6d 41 6c 6c 6f 63 61 74 69 6f 6e 53 69  imumAllocationSi
15fb0 7a 65 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 56  ze;..ULONGLONG V
15fc0 69 72 74 75 61 6c 4d 65 6d 6f 72 79 54 68 72 65  irtualMemoryThre
15fd0 73 68 6f 6c 64 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e  shold;..ULONGLON
15fe0 47 20 50 72 6f 63 65 73 73 41 66 66 69 6e 69 74  G ProcessAffinit
15ff0 79 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20  yMask;..DWORD   
16000 20 20 50 72 6f 63 65 73 73 48 65 61 70 46 6c 61    ProcessHeapFla
16010 67 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 43  gs;..WORD      C
16020 53 44 46 6c 61 67 73 3b 0a 09 57 4f 52 44 20 20  SDFlags;..WORD  
16030 20 20 20 20 52 65 73 65 72 76 65 64 31 3b 0a 09      Reserved1;..
16040 55 4c 4f 4e 47 4c 4f 4e 47 20 45 64 69 74 4c 69  ULONGLONG EditLi
16050 73 74 3b 0a 09 44 57 4f 52 44 5b 32 5d 20 20 52  st;..DWORD[2]  R
16060 65 73 65 72 76 65 64 3b 0a 7d 0a 61 6c 69 61 73  eserved;.}.alias
16070 20 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46   IMAGE_LOAD_CONF
16080 49 47 5f 44 49 52 45 43 54 4f 52 59 36 34 2a 20  IG_DIRECTORY64* 
16090 50 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46  PIMAGE_LOAD_CONF
160a0 49 47 5f 44 49 52 45 43 54 4f 52 59 36 34 3b 0a  IG_DIRECTORY64;.
160b0 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 52 55  .struct IMAGE_RU
160c0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
160d0 4e 54 52 59 20 7b 0a 09 44 57 4f 52 44 20 42 65  NTRY {..DWORD Be
160e0 67 69 6e 41 64 64 72 65 73 73 3b 0a 09 44 57 4f  ginAddress;..DWO
160f0 52 44 20 45 6e 64 41 64 64 72 65 73 73 3b 0a 09  RD EndAddress;..
16100 50 56 4f 49 44 20 45 78 63 65 70 74 69 6f 6e 48  PVOID ExceptionH
16110 61 6e 64 6c 65 72 3b 0a 09 50 56 4f 49 44 20 48  andler;..PVOID H
16120 61 6e 64 6c 65 72 44 61 74 61 3b 0a 09 44 57 4f  andlerData;..DWO
16130 52 44 20 50 72 6f 6c 6f 67 45 6e 64 41 64 64 72  RD PrologEndAddr
16140 65 73 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41  ess;.}.alias IMA
16150 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54  GE_RUNTIME_FUNCT
16160 49 4f 4e 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47  ION_ENTRY* PIMAG
16170 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  E_RUNTIME_FUNCTI
16180 4f 4e 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63  ON_ENTRY;..struc
16190 74 20 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49  t IMAGE_CE_RUNTI
161a0 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52  ME_FUNCTION_ENTR
161b0 59 20 7b 0a 09 75 69 6e 74 20 20 20 20 20 20 46  Y {..uint      F
161c0 75 6e 63 53 74 61 72 74 3b 0a 09 75 6e 69 6f 6e  uncStart;..union
161d0 20 7b 0a 09 09 75 62 79 74 65 20 50 72 6f 6c 6f   {...ubyte Prolo
161e0 67 4c 65 6e 3b 0a 09 09 75 69 6e 74 20 20 5f 62  gLen;...uint  _b
161f0 66 3b 0a 09 7d 0a 2f 2b 0a 09 75 6e 73 69 67 6e  f;..}./+..unsign
16200 65 64 20 69 6e 74 20 46 75 6e 63 4c 65 6e 3a 32  ed int FuncLen:2
16210 32 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74  2;..unsigned int
16220 20 54 68 69 72 74 79 54 77 6f 42 69 74 3a 31 3b   ThirtyTwoBit:1;
16230 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 45  ..unsigned int E
16240 78 63 65 70 74 69 6f 6e 46 6c 61 67 3a 31 3b 0a  xceptionFlag:1;.
16250 2b 2f 0a 09 75 69 6e 74 20 46 75 6e 63 4c 65 6e  +/..uint FuncLen
16260 28 29 20 20 20 20 20 20 20 7b 20 72 65 74 75 72  ()       { retur
16270 6e 20 28 5f 62 66 20 3e 3e 20 38 29 20 26 20 30  n (_bf >> 8) & 0
16280 78 33 46 46 46 46 46 3b 20 7d 0a 09 62 6f 6f 6c  x3FFFFF; }..bool
16290 20 54 68 69 72 74 79 54 77 6f 42 69 74 28 29 20   ThirtyTwoBit() 
162a0 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62   { return cast(b
162b0 6f 6f 6c 29 28 5f 62 66 20 26 20 30 78 34 30 30  ool)(_bf & 0x400
162c0 30 30 30 30 30 29 3b 20 7d 0a 09 62 6f 6f 6c 20  00000); }..bool 
162d0 45 78 63 65 70 74 69 6f 6e 46 6c 61 67 28 29 20  ExceptionFlag() 
162e0 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f  { return cast(bo
162f0 6f 6c 29 28 5f 62 66 20 26 20 30 78 38 30 30 30  ol)(_bf & 0x8000
16300 30 30 30 30 29 3b 20 7d 0a 0a 09 75 69 6e 74 20  0000); }...uint 
16310 46 75 6e 63 4c 65 6e 28 75 69 6e 74 20 66 29 20  FuncLen(uint f) 
16320 7b 0a 09 09 5f 62 66 20 3d 20 28 5f 62 66 20 26  {..._bf = (_bf &
16330 20 7e 30 78 33 46 46 46 46 46 30 30 29 20 7c 20   ~0x3FFFFF00) | 
16340 28 28 66 20 26 20 30 78 33 46 46 46 46 46 29 20  ((f & 0x3FFFFF) 
16350 3c 3c 20 38 29 3b 20 72 65 74 75 72 6e 20 66 20  << 8); return f 
16360 26 20 30 78 33 46 46 46 46 46 3b 0a 09 7d 0a 0a  & 0x3FFFFF;..}..
16370 09 62 6f 6f 6c 20 54 68 69 72 74 79 54 77 6f 42  .bool ThirtyTwoB
16380 69 74 28 62 6f 6f 6c 20 74 29 20 7b 0a 09 09 5f  it(bool t) {..._
16390 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30 78 34  bf = (_bf & ~0x4
163a0 30 30 30 30 30 30 30 29 20 7c 20 28 74 20 3c 3c  0000000) | (t <<
163b0 20 33 30 29 3b 20 72 65 74 75 72 6e 20 74 3b 0a   30); return t;.
163c0 09 7d 0a 0a 09 62 6f 6f 6c 20 45 78 63 65 70 74  .}...bool Except
163d0 69 6f 6e 46 6c 61 67 28 62 6f 6f 6c 20 65 29 20  ionFlag(bool e) 
163e0 7b 0a 09 09 5f 62 66 20 3d 20 28 5f 62 66 20 26  {..._bf = (_bf &
163f0 20 7e 30 78 38 30 30 30 30 30 30 30 29 20 7c 20   ~0x80000000) | 
16400 28 65 20 3c 3c 20 33 31 29 3b 20 72 65 74 75 72  (e << 31); retur
16410 6e 20 65 3b 0a 09 7d 0a 7d 0a 61 6c 69 61 73 20  n e;..}.}.alias 
16420 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 4d 45  IMAGE_CE_RUNTIME
16430 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a  _FUNCTION_ENTRY*
16440 20 50 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49   PIMAGE_CE_RUNTI
16450 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52  ME_FUNCTION_ENTR
16460 59 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45  Y;..struct IMAGE
16470 5f 44 45 42 55 47 5f 44 49 52 45 43 54 4f 52 59  _DEBUG_DIRECTORY
16480 20 7b 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63   {..DWORD Charac
16490 74 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52  teristics;..DWOR
164a0 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b  D TimeDateStamp;
164b0 0a 09 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72  ..WORD  MajorVer
164c0 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e  sion;..WORD  Min
164d0 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52  orVersion;..DWOR
164e0 44 20 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 53  D Type;..DWORD S
164f0 69 7a 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52  izeOfData;..DWOR
16500 44 20 41 64 64 72 65 73 73 4f 66 52 61 77 44 61  D AddressOfRawDa
16510 74 61 3b 0a 09 44 57 4f 52 44 20 50 6f 69 6e 74  ta;..DWORD Point
16520 65 72 54 6f 52 61 77 44 61 74 61 3b 0a 7d 0a 61  erToRawData;.}.a
16530 6c 69 61 73 20 49 4d 41 47 45 5f 44 45 42 55 47  lias IMAGE_DEBUG
16540 5f 44 49 52 45 43 54 4f 52 59 2a 20 50 49 4d 41  _DIRECTORY* PIMA
16550 47 45 5f 44 45 42 55 47 5f 44 49 52 45 43 54 4f  GE_DEBUG_DIRECTO
16560 52 59 3b 0a 0a 73 74 72 75 63 74 20 46 50 4f 5f  RY;..struct FPO_
16570 44 41 54 41 20 7b 0a 09 44 57 4f 52 44 20 20 75  DATA {..DWORD  u
16580 6c 4f 66 66 53 74 61 72 74 3b 0a 09 44 57 4f 52  lOffStart;..DWOR
16590 44 20 20 63 62 50 72 6f 63 53 69 7a 65 3b 0a 09  D  cbProcSize;..
165a0 44 57 4f 52 44 20 20 63 64 77 4c 6f 63 61 6c 73  DWORD  cdwLocals
165b0 3b 0a 09 57 4f 52 44 20 20 20 63 64 77 50 61 72  ;..WORD   cdwPar
165c0 61 6d 73 3b 0a 09 75 62 79 74 65 20 20 63 62 50  ams;..ubyte  cbP
165d0 72 6f 6c 6f 67 3b 0a 09 75 62 79 74 65 20 20 5f  rolog;..ubyte  _
165e0 62 66 3b 0a 2f 2b 0a 09 57 4f 52 44 20 63 62 52  bf;./+..WORD cbR
165f0 65 67 73 3a 33 3b 0a 09 57 4f 52 44 20 66 48 61  egs:3;..WORD fHa
16600 73 53 45 48 3a 31 3b 0a 09 57 4f 52 44 20 66 55  sSEH:1;..WORD fU
16610 73 65 42 50 3a 31 3b 0a 09 57 4f 52 44 20 72 65  seBP:1;..WORD re
16620 73 65 72 76 65 64 3a 31 3b 0a 09 57 4f 52 44 20  served:1;..WORD 
16630 63 62 46 72 61 6d 65 3a 32 3b 0a 2b 2f 0a 09 75  cbFrame:2;.+/..u
16640 62 79 74 65 20 63 62 52 65 67 73 28 29 20 20 7b  byte cbRegs()  {
16650 20 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 79   return cast(uby
16660 74 65 29 28 5f 62 66 20 26 20 30 78 30 37 29 3b  te)(_bf & 0x07);
16670 20 7d 0a 09 62 6f 6f 6c 20 66 48 61 73 53 45 48   }..bool fHasSEH
16680 28 29 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73  ()  { return cas
16690 74 28 62 6f 6f 6c 29 28 5f 62 66 20 26 20 30 78  t(bool)(_bf & 0x
166a0 30 38 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66 55 73  08); }..bool fUs
166b0 65 42 50 28 29 20 20 20 7b 20 72 65 74 75 72 6e  eBP()   { return
166c0 20 63 61 73 74 28 62 6f 6f 6c 29 28 5f 62 66 20   cast(bool)(_bf 
166d0 26 20 30 78 31 30 29 3b 20 7d 0a 09 62 6f 6f 6c  & 0x10); }..bool
166e0 20 72 65 73 65 72 76 65 64 28 29 20 7b 20 72 65   reserved() { re
166f0 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 28  turn cast(bool)(
16700 5f 62 66 20 26 20 30 78 32 30 29 3b 20 7d 0a 09  _bf & 0x20); }..
16710 75 62 79 74 65 20 63 62 46 72 61 6d 65 28 29 20  ubyte cbFrame() 
16720 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 75 62  { return cast(ub
16730 79 74 65 29 28 5f 62 66 20 3e 3e 20 36 29 3b 20  yte)(_bf >> 6); 
16740 7d 0a 0a 09 75 62 79 74 65 20 63 62 52 65 67 73  }...ubyte cbRegs
16750 28 75 62 79 74 65 20 63 29 20 7b 0a 09 09 5f 62  (ubyte c) {..._b
16760 66 20 3d 20 63 61 73 74 28 75 62 79 74 65 29 20  f = cast(ubyte) 
16770 28 28 5f 62 66 20 26 20 7e 30 78 30 37 29 20 7c  ((_bf & ~0x07) |
16780 20 28 63 20 26 20 30 78 30 37 29 29 3b 0a 09 09   (c & 0x07));...
16790 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 79 74  return cast(ubyt
167a0 65 29 28 63 20 26 20 30 78 30 37 29 3b 0a 09 7d  e)(c & 0x07);..}
167b0 0a 0a 09 62 6f 6f 6c 20 66 48 61 73 53 45 48 28  ...bool fHasSEH(
167c0 62 6f 6f 6c 20 66 29 20 20 7b 20 5f 62 66 20 3d  bool f)  { _bf =
167d0 20 63 61 73 74 28 75 62 79 74 65 29 28 28 5f 62   cast(ubyte)((_b
167e0 66 20 26 20 7e 30 78 30 38 29 20 7c 20 28 66 20  f & ~0x08) | (f 
167f0 3c 3c 20 33 29 29 3b 20 72 65 74 75 72 6e 20 66  << 3)); return f
16800 3b 20 7d 0a 09 62 6f 6f 6c 20 66 55 73 65 42 50  ; }..bool fUseBP
16810 28 62 6f 6f 6c 20 66 29 20 20 20 7b 20 5f 62 66  (bool f)   { _bf
16820 20 3d 20 63 61 73 74 28 75 62 79 74 65 29 28 28   = cast(ubyte)((
16830 5f 62 66 20 26 20 7e 30 78 31 30 29 20 7c 20 28  _bf & ~0x10) | (
16840 66 20 3c 3c 20 34 29 29 3b 20 72 65 74 75 72 6e  f << 4)); return
16850 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20 72 65 73 65   f; }..bool rese
16860 72 76 65 64 28 62 6f 6f 6c 20 72 29 20 7b 20 5f  rved(bool r) { _
16870 62 66 20 3d 20 63 61 73 74 28 75 62 79 74 65 29  bf = cast(ubyte)
16880 28 28 5f 62 66 20 26 20 7e 30 78 32 30 29 20 7c  ((_bf & ~0x20) |
16890 20 28 72 20 3c 3c 20 35 29 29 3b 20 72 65 74 75   (r << 5)); retu
168a0 72 6e 20 72 3b 20 7d 0a 0a 09 75 62 79 74 65 20  rn r; }...ubyte 
168b0 63 62 46 72 61 6d 65 28 75 62 79 74 65 20 63 29  cbFrame(ubyte c)
168c0 20 7b 0a 09 09 5f 62 66 20 3d 20 63 61 73 74 28   {..._bf = cast(
168d0 75 62 79 74 65 29 20 28 28 5f 62 66 20 26 20 7e  ubyte) ((_bf & ~
168e0 30 78 43 30 29 20 7c 20 28 28 63 20 26 20 30 78  0xC0) | ((c & 0x
168f0 30 33 29 20 3c 3c 20 36 29 29 3b 0a 09 09 72 65  03) << 6));...re
16900 74 75 72 6e 20 63 61 73 74 28 75 62 79 74 65 29  turn cast(ubyte)
16910 28 63 20 26 20 30 78 30 33 29 3b 0a 09 7d 0a 7d  (c & 0x03);..}.}
16920 0a 61 6c 69 61 73 20 46 50 4f 5f 44 41 54 41 2a  .alias FPO_DATA*
16930 20 50 46 50 4f 5f 44 41 54 41 3b 0a 0a 73 74 72   PFPO_DATA;..str
16940 75 63 74 20 49 4d 41 47 45 5f 44 45 42 55 47 5f  uct IMAGE_DEBUG_
16950 4d 49 53 43 20 7b 0a 09 44 57 4f 52 44 20 20 20  MISC {..DWORD   
16960 44 61 74 61 54 79 70 65 3b 0a 09 44 57 4f 52 44  DataType;..DWORD
16970 20 20 20 4c 65 6e 67 74 68 3b 0a 09 42 4f 4f 4c     Length;..BOOL
16980 45 41 4e 20 55 6e 69 63 6f 64 65 3b 0a 09 42 59  EAN Unicode;..BY
16990 54 45 5b 33 5d 20 52 65 73 65 72 76 65 64 3b 0a  TE[3] Reserved;.
169a0 09 42 59 54 45 20 20 20 20 5f 44 61 74 61 3b 0a  .BYTE    _Data;.
169b0 0a 09 42 59 54 45 2a 20 20 20 44 61 74 61 28 29  ..BYTE*   Data()
169c0 20 7b 20 72 65 74 75 72 6e 20 26 5f 44 61 74 61   { return &_Data
169d0 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47  ; }.}.alias IMAG
169e0 45 5f 44 45 42 55 47 5f 4d 49 53 43 2a 20 50 49  E_DEBUG_MISC* PI
169f0 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 3b  MAGE_DEBUG_MISC;
16a00 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 46  ..struct IMAGE_F
16a10 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 7b 0a  UNCTION_ENTRY {.
16a20 09 44 57 4f 52 44 20 53 74 61 72 74 69 6e 67 41  .DWORD StartingA
16a30 64 64 72 65 73 73 3b 0a 09 44 57 4f 52 44 20 45  ddress;..DWORD E
16a40 6e 64 69 6e 67 41 64 64 72 65 73 73 3b 0a 09 44  ndingAddress;..D
16a50 57 4f 52 44 20 45 6e 64 4f 66 50 72 6f 6c 6f 67  WORD EndOfProlog
16a60 75 65 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47  ue;.}.alias IMAG
16a70 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
16a80 2a 20 50 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f  * PIMAGE_FUNCTIO
16a90 4e 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 74  N_ENTRY;..struct
16aa0 20 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e 5f   IMAGE_FUNCTION_
16ab0 45 4e 54 52 59 36 34 20 7b 0a 09 55 4c 4f 4e 47  ENTRY64 {..ULONG
16ac0 4c 4f 4e 47 20 20 20 20 20 53 74 61 72 74 69 6e  LONG     Startin
16ad0 67 41 64 64 72 65 73 73 3b 0a 09 55 4c 4f 4e 47  gAddress;..ULONG
16ae0 4c 4f 4e 47 20 20 20 20 20 45 6e 64 69 6e 67 41  LONG     EndingA
16af0 64 64 72 65 73 73 3b 0a 09 75 6e 69 6f 6e 20 7b  ddress;..union {
16b00 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47 20 45 6e 64  ...ULONGLONG End
16b10 4f 66 50 72 6f 6c 6f 67 75 65 3b 0a 09 09 55 4c  OfPrologue;...UL
16b20 4f 4e 47 4c 4f 4e 47 20 55 6e 77 69 6e 64 49 6e  ONGLONG UnwindIn
16b30 66 6f 41 64 64 72 65 73 73 3b 0a 09 7d 0a 7d 0a  foAddress;..}.}.
16b40 61 6c 69 61 73 20 49 4d 41 47 45 5f 46 55 4e 43  alias IMAGE_FUNC
16b50 54 49 4f 4e 5f 45 4e 54 52 59 36 34 2a 20 50 49  TION_ENTRY64* PI
16b60 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e  MAGE_FUNCTION_EN
16b70 54 52 59 36 34 3b 0a 0a 73 74 72 75 63 74 20 49  TRY64;..struct I
16b80 4d 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45  MAGE_SEPARATE_DE
16b90 42 55 47 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f  BUG_HEADER {..WO
16ba0 52 44 20 20 20 20 20 53 69 67 6e 61 74 75 72 65  RD     Signature
16bb0 3b 0a 09 57 4f 52 44 20 20 20 20 20 46 6c 61 67  ;..WORD     Flag
16bc0 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 4d 61 63  s;..WORD     Mac
16bd0 68 69 6e 65 3b 0a 09 57 4f 52 44 20 20 20 20 20  hine;..WORD     
16be0 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b  Characteristics;
16bf0 0a 09 44 57 4f 52 44 20 20 20 20 54 69 6d 65 44  ..DWORD    TimeD
16c00 61 74 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52 44  ateStamp;..DWORD
16c10 20 20 20 20 43 68 65 63 6b 53 75 6d 3b 0a 09 44      CheckSum;..D
16c20 57 4f 52 44 20 20 20 20 49 6d 61 67 65 42 61 73  WORD    ImageBas
16c30 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 53 69 7a  e;..DWORD    Siz
16c40 65 4f 66 49 6d 61 67 65 3b 0a 09 44 57 4f 52 44  eOfImage;..DWORD
16c50 20 20 20 20 4e 75 6d 62 65 72 4f 66 53 65 63 74      NumberOfSect
16c60 69 6f 6e 73 3b 0a 09 44 57 4f 52 44 20 20 20 20  ions;..DWORD    
16c70 45 78 70 6f 72 74 65 64 4e 61 6d 65 73 53 69 7a  ExportedNamesSiz
16c80 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 44 65 62  e;..DWORD    Deb
16c90 75 67 44 69 72 65 63 74 6f 72 79 53 69 7a 65 3b  ugDirectorySize;
16ca0 0a 09 44 57 4f 52 44 20 20 20 20 53 65 63 74 69  ..DWORD    Secti
16cb0 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44 57  onAlignment;..DW
16cc0 4f 52 44 5b 32 5d 20 52 65 73 65 72 76 65 64 3b  ORD[2] Reserved;
16cd0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 53  .}.alias IMAGE_S
16ce0 45 50 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45  EPARATE_DEBUG_HE
16cf0 41 44 45 52 2a 20 50 49 4d 41 47 45 5f 53 45 50  ADER* PIMAGE_SEP
16d00 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41 44  ARATE_DEBUG_HEAD
16d10 45 52 3b 0a 0a 65 6e 75 6d 20 53 45 52 56 49 43  ER;..enum SERVIC
16d20 45 5f 4e 4f 44 45 5f 54 59 50 45 20 7b 0a 09 44  E_NODE_TYPE {..D
16d30 72 69 76 65 72 54 79 70 65 20 20 20 20 20 20 20  riverType       
16d40 20 20 20 20 20 20 20 20 3d 20 53 45 52 56 49 43          = SERVIC
16d50 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56 45 52 2c  E_KERNEL_DRIVER,
16d60 0a 09 46 69 6c 65 53 79 73 74 65 6d 54 79 70 65  ..FileSystemType
16d70 20 20 20 20 20 20 20 20 20 20 20 3d 20 53 45 52             = SER
16d80 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d  VICE_FILE_SYSTEM
16d90 5f 44 52 49 56 45 52 2c 0a 09 57 69 6e 33 32 53  _DRIVER,..Win32S
16da0 65 72 76 69 63 65 4f 77 6e 50 72 6f 63 65 73 73  erviceOwnProcess
16db0 20 20 20 3d 20 53 45 52 56 49 43 45 5f 57 49 4e     = SERVICE_WIN
16dc0 33 32 5f 4f 57 4e 5f 50 52 4f 43 45 53 53 2c 0a  32_OWN_PROCESS,.
16dd0 09 57 69 6e 33 32 53 65 72 76 69 63 65 53 68 61  .Win32ServiceSha
16de0 72 65 50 72 6f 63 65 73 73 20 3d 20 53 45 52 56  reProcess = SERV
16df0 49 43 45 5f 57 49 4e 33 32 5f 53 48 41 52 45 5f  ICE_WIN32_SHARE_
16e00 50 52 4f 43 45 53 53 2c 0a 09 41 64 61 70 74 65  PROCESS,..Adapte
16e10 72 54 79 70 65 20 20 20 20 20 20 20 20 20 20 20  rType           
16e20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 41 44 41     = SERVICE_ADA
16e30 50 54 45 52 2c 0a 09 52 65 63 6f 67 6e 69 7a 65  PTER,..Recognize
16e40 72 54 79 70 65 20 20 20 20 20 20 20 20 20 20 20  rType           
16e50 3d 20 53 45 52 56 49 43 45 5f 52 45 43 4f 47 4e  = SERVICE_RECOGN
16e60 49 5a 45 52 5f 44 52 49 56 45 52 0a 7d 0a 0a 65  IZER_DRIVER.}..e
16e70 6e 75 6d 20 53 45 52 56 49 43 45 5f 4c 4f 41 44  num SERVICE_LOAD
16e80 5f 54 59 50 45 20 7b 0a 09 42 6f 6f 74 4c 6f 61  _TYPE {..BootLoa
16e90 64 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 42  d    = SERVICE_B
16ea0 4f 4f 54 5f 53 54 41 52 54 2c 0a 09 53 79 73 74  OOT_START,..Syst
16eb0 65 6d 4c 6f 61 64 20 20 3d 20 53 45 52 56 49 43  emLoad  = SERVIC
16ec0 45 5f 53 59 53 54 45 4d 5f 53 54 41 52 54 2c 0a  E_SYSTEM_START,.
16ed0 09 41 75 74 6f 4c 6f 61 64 20 20 20 20 3d 20 53  .AutoLoad    = S
16ee0 45 52 56 49 43 45 5f 41 55 54 4f 5f 53 54 41 52  ERVICE_AUTO_STAR
16ef0 54 2c 0a 09 44 65 6d 61 6e 64 4c 6f 61 64 20 20  T,..DemandLoad  
16f00 3d 20 53 45 52 56 49 43 45 5f 44 45 4d 41 4e 44  = SERVICE_DEMAND
16f10 5f 53 54 41 52 54 2c 0a 09 44 69 73 61 62 6c 65  _START,..Disable
16f20 4c 6f 61 64 20 3d 20 53 45 52 56 49 43 45 5f 44  Load = SERVICE_D
16f30 49 53 41 42 4c 45 44 0a 7d 0a 0a 65 6e 75 6d 20  ISABLED.}..enum 
16f40 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 54 59  SERVICE_ERROR_TY
16f50 50 45 20 7b 0a 09 49 67 6e 6f 72 65 45 72 72 6f  PE {..IgnoreErro
16f60 72 20 20 20 3d 20 53 45 52 56 49 43 45 5f 45 52  r   = SERVICE_ER
16f70 52 4f 52 5f 49 47 4e 4f 52 45 2c 0a 09 4e 6f 72  ROR_IGNORE,..Nor
16f80 6d 61 6c 45 72 72 6f 72 20 20 20 3d 20 53 45 52  malError   = SER
16f90 56 49 43 45 5f 45 52 52 4f 52 5f 4e 4f 52 4d 41  VICE_ERROR_NORMA
16fa0 4c 2c 0a 09 53 65 76 65 72 65 45 72 72 6f 72 20  L,..SevereError 
16fb0 20 20 3d 20 53 45 52 56 49 43 45 5f 45 52 52 4f    = SERVICE_ERRO
16fc0 52 5f 53 45 56 45 52 45 2c 0a 09 43 72 69 74 69  R_SEVERE,..Criti
16fd0 63 61 6c 45 72 72 6f 72 20 3d 20 53 45 52 56 49  calError = SERVI
16fe0 43 45 5f 45 52 52 4f 52 5f 43 52 49 54 49 43 41  CE_ERROR_CRITICA
16ff0 4c 0a 7d 0a 61 6c 69 61 73 20 53 45 52 56 49 43  L.}.alias SERVIC
17000 45 5f 45 52 52 4f 52 5f 54 59 50 45 20 5f 43 4d  E_ERROR_TYPE _CM
17010 5f 45 52 52 4f 52 5f 43 4f 4e 54 52 4f 4c 5f 54  _ERROR_CONTROL_T
17020 59 50 45 3b 0a 0a 2f 2f 44 41 43 3a 20 41 63 63  YPE;..//DAC: Acc
17030 6f 72 64 69 6e 67 20 74 6f 20 4d 53 4a 2c 20 27  ording to MSJ, '
17040 55 6e 64 65 72 54 68 65 48 6f 6f 64 27 2c 20 4d  UnderTheHood', M
17050 61 79 20 31 39 39 36 2c 20 74 68 69 73 0a 2f 2f  ay 1996, this.//
17060 20 73 74 72 75 63 74 75 72 65 20 69 73 20 6e 6f   structure is no
17070 74 20 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20  t documented in 
17080 61 6e 79 20 6f 66 66 69 63 69 61 6c 20 4d 69 63  any official Mic
17090 72 6f 73 6f 66 74 20 68 65 61 64 65 72 20 66 69  rosoft header fi
170a0 6c 65 2e 0a 61 6c 69 61 73 20 76 6f 69 64 20 45  le..alias void E
170b0 58 43 45 50 54 49 4f 4e 5f 52 45 47 49 53 54 52  XCEPTION_REGISTR
170c0 41 54 49 4f 4e 5f 52 45 43 4f 52 44 3b 0a 0a 61  ATION_RECORD;..a
170d0 6c 69 67 6e 3a 0a 73 74 72 75 63 74 20 4e 54 5f  lign:.struct NT_
170e0 54 49 42 20 7b 0a 09 45 58 43 45 50 54 49 4f 4e  TIB {..EXCEPTION
170f0 5f 52 45 47 49 53 54 52 41 54 49 4f 4e 5f 52 45  _REGISTRATION_RE
17100 43 4f 52 44 20 2a 45 78 63 65 70 74 69 6f 6e 4c  CORD *ExceptionL
17110 69 73 74 3b 0a 09 50 56 4f 49 44 20 53 74 61 63  ist;..PVOID Stac
17120 6b 42 61 73 65 3b 0a 09 50 56 4f 49 44 20 53 74  kBase;..PVOID St
17130 61 63 6b 4c 69 6d 69 74 3b 0a 09 50 56 4f 49 44  ackLimit;..PVOID
17140 20 53 75 62 53 79 73 74 65 6d 54 69 62 3b 0a 09   SubSystemTib;..
17150 75 6e 69 6f 6e 20 7b 0a 09 09 50 56 4f 49 44 20  union {...PVOID 
17160 46 69 62 65 72 44 61 74 61 3b 0a 09 09 44 57 4f  FiberData;...DWO
17170 52 44 20 56 65 72 73 69 6f 6e 3b 0a 09 7d 0a 09  RD Version;..}..
17180 50 56 4f 49 44 20 41 72 62 69 74 72 61 72 79 55  PVOID ArbitraryU
17190 73 65 72 50 6f 69 6e 74 65 72 3b 0a 09 4e 54 5f  serPointer;..NT_
171a0 54 49 42 20 2a 53 65 6c 66 3b 0a 7d 0a 61 6c 69  TIB *Self;.}.ali
171b0 61 73 20 4e 54 5f 54 49 42 2a 20 50 4e 54 5f 54  as NT_TIB* PNT_T
171c0 49 42 3b 0a 0a 73 74 72 75 63 74 20 52 45 50 41  IB;..struct REPA
171d0 52 53 45 5f 44 41 54 41 5f 42 55 46 46 45 52 20  RSE_DATA_BUFFER 
171e0 7b 0a 09 44 57 4f 52 44 20 20 52 65 70 61 72 73  {..DWORD  Repars
171f0 65 54 61 67 3b 0a 09 57 4f 52 44 20 20 20 52 65  eTag;..WORD   Re
17200 70 61 72 73 65 44 61 74 61 4c 65 6e 67 74 68 3b  parseDataLength;
17210 0a 09 57 4f 52 44 20 20 20 52 65 73 65 72 76 65  ..WORD   Reserve
17220 64 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 73 74  d;..union {...st
17230 72 75 63 74 20 5f 47 65 6e 65 72 69 63 52 65 70  ruct _GenericRep
17240 61 72 73 65 42 75 66 66 65 72 20 7b 0a 09 09 09  arseBuffer {....
17250 42 59 54 45 20 20 5f 44 61 74 61 42 75 66 66 65  BYTE  _DataBuffe
17260 72 3b 0a 0a 09 09 09 42 59 54 45 2a 20 44 61 74  r;.....BYTE* Dat
17270 61 42 75 66 66 65 72 28 29 20 7b 20 72 65 74 75  aBuffer() { retu
17280 72 6e 20 26 5f 44 61 74 61 42 75 66 66 65 72 3b  rn &_DataBuffer;
17290 20 7d 0a 09 09 7d 0a 09 09 5f 47 65 6e 65 72 69   }...}..._Generi
172a0 63 52 65 70 61 72 73 65 42 75 66 66 65 72 20 47  cReparseBuffer G
172b0 65 6e 65 72 69 63 52 65 70 61 72 73 65 42 75 66  enericReparseBuf
172c0 66 65 72 3b 0a 09 09 73 74 72 75 63 74 20 5f 53  fer;...struct _S
172d0 79 6d 62 6f 6c 69 63 4c 69 6e 6b 52 65 70 61 72  ymbolicLinkRepar
172e0 73 65 42 75 66 66 65 72 20 7b 0a 09 09 09 57 4f  seBuffer {....WO
172f0 52 44 20 20 53 75 62 73 74 69 74 75 74 65 4e 61  RD  SubstituteNa
17300 6d 65 4f 66 66 73 65 74 3b 0a 09 09 09 57 4f 52  meOffset;....WOR
17310 44 20 20 53 75 62 73 74 69 74 75 74 65 4e 61 6d  D  SubstituteNam
17320 65 4c 65 6e 67 74 68 3b 0a 09 09 09 57 4f 52 44  eLength;....WORD
17330 20 20 50 72 69 6e 74 4e 61 6d 65 4f 66 66 73 65    PrintNameOffse
17340 74 3b 0a 09 09 09 57 4f 52 44 20 20 50 72 69 6e  t;....WORD  Prin
17350 74 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 09 09  tNameLength;....
17360 2f 2f 20 3f 3f 3f 20 54 68 69 73 20 69 73 20 69  // ??? This is i
17370 6e 20 4d 69 6e 47 57 2c 20 62 75 74 20 61 62 73  n MinGW, but abs
17380 65 6e 74 20 69 6e 20 4d 53 44 4e 20 64 6f 63 73  ent in MSDN docs
17390 0a 09 09 09 55 4c 4f 4e 47 20 46 6c 61 67 73 3b  ....ULONG Flags;
173a0 0a 09 09 09 57 43 48 41 52 20 5f 50 61 74 68 42  ....WCHAR _PathB
173b0 75 66 66 65 72 3b 0a 0a 09 09 09 57 43 48 41 52  uffer;.....WCHAR
173c0 2a 20 50 61 74 68 42 75 66 66 65 72 28 29 20 7b  * PathBuffer() {
173d0 20 72 65 74 75 72 6e 20 26 5f 50 61 74 68 42 75   return &_PathBu
173e0 66 66 65 72 3b 20 7d 0a 09 09 7d 0a 09 09 5f 53  ffer; }...}..._S
173f0 79 6d 62 6f 6c 69 63 4c 69 6e 6b 52 65 70 61 72  ymbolicLinkRepar
17400 73 65 42 75 66 66 65 72 20 53 79 6d 62 6f 6c 69  seBuffer Symboli
17410 63 4c 69 6e 6b 52 65 70 61 72 73 65 42 75 66 66  cLinkReparseBuff
17420 65 72 3b 0a 09 09 73 74 72 75 63 74 20 5f 4d 6f  er;...struct _Mo
17430 75 6e 74 50 6f 69 6e 74 52 65 70 61 72 73 65 42  untPointReparseB
17440 75 66 66 65 72 20 7b 0a 09 09 09 57 4f 52 44 20  uffer {....WORD 
17450 20 53 75 62 73 74 69 74 75 74 65 4e 61 6d 65 4f   SubstituteNameO
17460 66 66 73 65 74 3b 0a 09 09 09 57 4f 52 44 20 20  ffset;....WORD  
17470 53 75 62 73 74 69 74 75 74 65 4e 61 6d 65 4c 65  SubstituteNameLe
17480 6e 67 74 68 3b 0a 09 09 09 57 4f 52 44 20 20 50  ngth;....WORD  P
17490 72 69 6e 74 4e 61 6d 65 4f 66 66 73 65 74 3b 0a  rintNameOffset;.
174a0 09 09 09 57 4f 52 44 20 20 50 72 69 6e 74 4e 61  ...WORD  PrintNa
174b0 6d 65 4c 65 6e 67 74 68 3b 0a 09 09 09 57 43 48  meLength;....WCH
174c0 41 52 20 5f 50 61 74 68 42 75 66 66 65 72 3b 0a  AR _PathBuffer;.
174d0 0a 09 09 09 57 43 48 41 52 2a 20 50 61 74 68 42  ....WCHAR* PathB
174e0 75 66 66 65 72 28 29 20 7b 20 72 65 74 75 72 6e  uffer() { return
174f0 20 26 5f 50 61 74 68 42 75 66 66 65 72 3b 20 7d   &_PathBuffer; }
17500 0a 09 09 7d 0a 09 09 5f 4d 6f 75 6e 74 50 6f 69  ...}..._MountPoi
17510 6e 74 52 65 70 61 72 73 65 42 75 66 66 65 72 20  ntReparseBuffer 
17520 4d 6f 75 6e 74 50 6f 69 6e 74 52 65 70 61 72 73  MountPointRepars
17530 65 42 75 66 66 65 72 3b 0a 09 7d 0a 7d 0a 61 6c  eBuffer;..}.}.al
17540 69 61 73 20 52 45 50 41 52 53 45 5f 44 41 54 41  ias REPARSE_DATA
17550 5f 42 55 46 46 45 52 20 2a 50 52 45 50 41 52 53  _BUFFER *PREPARS
17560 45 5f 44 41 54 41 5f 42 55 46 46 45 52 3b 0a 0a  E_DATA_BUFFER;..
17570 73 74 72 75 63 74 20 52 45 50 41 52 53 45 5f 47  struct REPARSE_G
17580 55 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52 20  UID_DATA_BUFFER 
17590 7b 0a 09 44 57 4f 52 44 20 20 20 20 52 65 70 61  {..DWORD    Repa
175a0 72 73 65 54 61 67 3b 0a 09 57 4f 52 44 20 20 20  rseTag;..WORD   
175b0 20 20 52 65 70 61 72 73 65 44 61 74 61 4c 65 6e    ReparseDataLen
175c0 67 74 68 3b 0a 09 57 4f 52 44 20 20 20 20 20 52  gth;..WORD     R
175d0 65 73 65 72 76 65 64 3b 0a 09 47 55 49 44 20 20  eserved;..GUID  
175e0 20 20 20 52 65 70 61 72 73 65 47 75 69 64 3b 0a     ReparseGuid;.
175f0 09 73 74 72 75 63 74 20 5f 47 65 6e 65 72 69 63  .struct _Generic
17600 52 65 70 61 72 73 65 42 75 66 66 65 72 20 7b 0a  ReparseBuffer {.
17610 09 09 42 59 54 45 20 5f 44 61 74 61 42 75 66 66  ..BYTE _DataBuff
17620 65 72 3b 0a 0a 09 09 42 59 54 45 2a 20 44 61 74  er;....BYTE* Dat
17630 61 42 75 66 66 65 72 28 29 20 7b 20 72 65 74 75  aBuffer() { retu
17640 72 6e 20 26 5f 44 61 74 61 42 75 66 66 65 72 3b  rn &_DataBuffer;
17650 20 7d 0a 09 7d 0a 09 5f 47 65 6e 65 72 69 63 52   }..}.._GenericR
17660 65 70 61 72 73 65 42 75 66 66 65 72 20 47 65 6e  eparseBuffer Gen
17670 65 72 69 63 52 65 70 61 72 73 65 42 75 66 66 65  ericReparseBuffe
17680 72 3b 0a 7d 0a 61 6c 69 61 73 20 52 45 50 41 52  r;.}.alias REPAR
17690 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 46  SE_GUID_DATA_BUF
176a0 46 45 52 2a 20 50 52 45 50 41 52 53 45 5f 47 55  FER* PREPARSE_GU
176b0 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52 3b 0a  ID_DATA_BUFFER;.
176c0 0a 63 6f 6e 73 74 20 73 69 7a 65 5f 74 0a 09 52  .const size_t..R
176d0 45 50 41 52 53 45 5f 44 41 54 41 5f 42 55 46 46  EPARSE_DATA_BUFF
176e0 45 52 5f 48 45 41 44 45 52 5f 53 49 5a 45 20 3d  ER_HEADER_SIZE =
176f0 20 52 45 50 41 52 53 45 5f 44 41 54 41 5f 42 55   REPARSE_DATA_BU
17700 46 46 45 52 2e 47 65 6e 65 72 69 63 52 65 70 61  FFER.GenericRepa
17710 72 73 65 42 75 66 66 65 72 2e 6f 66 66 73 65 74  rseBuffer.offset
17720 6f 66 2c 0a 09 52 45 50 41 52 53 45 5f 47 55 49  of,..REPARSE_GUI
17730 44 5f 44 41 54 41 5f 42 55 46 46 45 52 5f 48 45  D_DATA_BUFFER_HE
17740 41 44 45 52 5f 53 49 5a 45 20 3d 20 52 45 50 41  ADER_SIZE = REPA
17750 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55  RSE_GUID_DATA_BU
17760 46 46 45 52 2e 47 65 6e 65 72 69 63 52 65 70 61  FFER.GenericRepa
17770 72 73 65 42 75 66 66 65 72 2e 6f 66 66 73 65 74  rseBuffer.offset
17780 6f 66 2c 0a 09 4d 41 58 49 4d 55 4d 5f 52 45 50  of,..MAXIMUM_REP
17790 41 52 53 45 5f 44 41 54 41 5f 42 55 46 46 45 52  ARSE_DATA_BUFFER
177a0 5f 53 49 5a 45 20 3d 20 31 36 33 38 34 3b 0a 0a  _SIZE = 16384;..
177b0 0a 73 74 72 75 63 74 20 52 45 50 41 52 53 45 5f  .struct REPARSE_
177c0 50 4f 49 4e 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  POINT_INFORMATIO
177d0 4e 20 7b 0a 09 57 4f 52 44 20 52 65 70 61 72 73  N {..WORD Repars
177e0 65 44 61 74 61 4c 65 6e 67 74 68 3b 0a 09 57 4f  eDataLength;..WO
177f0 52 44 20 55 6e 70 61 72 73 65 64 4e 61 6d 65 4c  RD UnparsedNameL
17800 65 6e 67 74 68 3b 0a 7d 0a 61 6c 69 61 73 20 52  ength;.}.alias R
17810 45 50 41 52 53 45 5f 50 4f 49 4e 54 5f 49 4e 46  EPARSE_POINT_INF
17820 4f 52 4d 41 54 49 4f 4e 2a 20 50 52 45 50 41 52  ORMATION* PREPAR
17830 53 45 5f 50 4f 49 4e 54 5f 49 4e 46 4f 52 4d 41  SE_POINT_INFORMA
17840 54 49 4f 4e 3b 0a 0a 75 6e 69 6f 6e 20 46 49 4c  TION;..union FIL
17850 45 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e  E_SEGMENT_ELEMEN
17860 54 20 7b 0a 09 50 56 4f 49 44 36 34 20 20 20 42  T {..PVOID64   B
17870 75 66 66 65 72 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e  uffer;..ULONGLON
17880 47 20 41 6c 69 67 6e 6d 65 6e 74 3b 0a 7d 0a 61  G Alignment;.}.a
17890 6c 69 61 73 20 46 49 4c 45 5f 53 45 47 4d 45 4e  lias FILE_SEGMEN
178a0 54 5f 45 4c 45 4d 45 4e 54 2a 20 50 46 49 4c 45  T_ELEMENT* PFILE
178b0 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54  _SEGMENT_ELEMENT
178c0 3b 0a 0a 2f 2f 20 4a 4f 42 4f 42 4a 45 43 54 5f  ;..// JOBOBJECT_
178d0 42 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f  BASIC_LIMIT_INFO
178e0 52 4d 41 54 49 4f 4e 2e 4c 69 6d 69 74 46 6c 61  RMATION.LimitFla
178f0 67 73 20 63 6f 6e 73 74 61 6e 74 73 0a 63 6f 6e  gs constants.con
17900 73 74 20 44 57 4f 52 44 0a 09 4a 4f 42 5f 4f 42  st DWORD..JOB_OB
17910 4a 45 43 54 5f 4c 49 4d 49 54 5f 57 4f 52 4b 49  JECT_LIMIT_WORKI
17920 4e 47 53 45 54 20 20 20 20 20 20 20 20 20 20 20  NGSET           
17930 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a        = 0x0001,.
17940 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49  .JOB_OBJECT_LIMI
17950 54 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45 20 20  T_PROCESS_TIME  
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
17970 78 30 30 30 32 2c 0a 09 4a 4f 42 5f 4f 42 4a 45  x0002,..JOB_OBJE
17980 43 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 54 49 4d  CT_LIMIT_JOB_TIM
17990 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
179a0 20 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 4a      = 0x0004,..J
179b0 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f  OB_OBJECT_LIMIT_
179c0 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53 20 20  ACTIVE_PROCESS  
179d0 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
179e0 30 30 38 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54  008,..JOB_OBJECT
179f0 5f 4c 49 4d 49 54 5f 41 46 46 49 4e 49 54 59 20  _LIMIT_AFFINITY 
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a10 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4a 4f 42    = 0x0010,..JOB
17a20 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 50 52  _OBJECT_LIMIT_PR
17a30 49 4f 52 49 54 59 5f 43 4c 41 53 53 20 20 20 20  IORITY_CLASS    
17a40 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 32           = 0x002
17a50 30 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  0,..JOB_OBJECT_L
17a60 49 4d 49 54 5f 50 52 45 53 45 52 56 45 5f 4a 4f  IMIT_PRESERVE_JO
17a70 42 5f 54 49 4d 45 20 20 20 20 20 20 20 20 20 20  B_TIME          
17a80 3d 20 30 78 30 30 34 30 2c 0a 09 4a 4f 42 5f 4f  = 0x0040,..JOB_O
17a90 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 53 43 48 45  BJECT_LIMIT_SCHE
17aa0 44 55 4c 49 4e 47 5f 43 4c 41 53 53 20 20 20 20  DULING_CLASS    
17ab0 20 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 2c         = 0x0080,
17ac0 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d  ..JOB_OBJECT_LIM
17ad0 49 54 5f 50 52 4f 43 45 53 53 5f 4d 45 4d 4f 52  IT_PROCESS_MEMOR
17ae0 59 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  Y             = 
17af0 30 78 30 31 30 30 2c 0a 09 4a 4f 42 5f 4f 42 4a  0x0100,..JOB_OBJ
17b00 45 43 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 4d 45  ECT_LIMIT_JOB_ME
17b10 4d 4f 52 59 20 20 20 20 20 20 20 20 20 20 20 20  MORY            
17b20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a 09       = 0x0200,..
17b30 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54  JOB_OBJECT_LIMIT
17b40 5f 44 49 45 5f 4f 4e 5f 55 4e 48 41 4e 44 4c 45  _DIE_ON_UNHANDLE
17b50 44 5f 45 58 43 45 50 54 49 4f 4e 20 3d 20 30 78  D_EXCEPTION = 0x
17b60 30 34 30 30 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43  0400,..JOB_OBJEC
17b70 54 5f 42 52 45 41 4b 41 57 41 59 5f 4f 4b 20 20  T_BREAKAWAY_OK  
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b90 20 20 20 3d 20 30 78 30 38 30 30 2c 0a 09 4a 4f     = 0x0800,..JO
17ba0 42 5f 4f 42 4a 45 43 54 5f 53 49 4c 45 4e 54 5f  B_OBJECT_SILENT_
17bb0 42 52 45 41 4b 41 57 41 59 20 20 20 20 20 20 20  BREAKAWAY       
17bc0 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30            = 0x10
17bd0 30 30 3b 0a 0a 2f 2f 20 4a 4f 42 4f 42 4a 45 43  00;..// JOBOBJEC
17be0 54 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52  T_BASIC_UI_RESTR
17bf0 49 43 54 49 4f 4e 53 2e 55 49 52 65 73 74 72 69  ICTIONS.UIRestri
17c00 63 74 69 6f 6e 73 43 6c 61 73 73 20 63 6f 6e 73  ctionsClass cons
17c10 74 61 6e 74 73 0a 63 6f 6e 73 74 20 44 57 4f 52  tants.const DWOR
17c20 44 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49  D..JOB_OBJECT_UI
17c30 4c 49 4d 49 54 5f 48 41 4e 44 4c 45 53 20 20 20  LIMIT_HANDLES   
17c40 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c         = 0x0001,
17c50 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c  ..JOB_OBJECT_UIL
17c60 49 4d 49 54 5f 52 45 41 44 43 4c 49 50 42 4f 41  IMIT_READCLIPBOA
17c70 52 44 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a  RD    = 0x0002,.
17c80 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49  .JOB_OBJECT_UILI
17c90 4d 49 54 5f 57 52 49 54 45 43 4c 49 50 42 4f 41  MIT_WRITECLIPBOA
17ca0 52 44 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09  RD   = 0x0004,..
17cb0 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d  JOB_OBJECT_UILIM
17cc0 49 54 5f 53 59 53 54 45 4d 50 41 52 41 4d 45 54  IT_SYSTEMPARAMET
17cd0 45 52 53 20 3d 20 30 78 30 30 30 38 2c 0a 09 4a  ERS = 0x0008,..J
17ce0 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49  OB_OBJECT_UILIMI
17cf0 54 5f 44 49 53 50 4c 41 59 53 45 54 54 49 4e 47  T_DISPLAYSETTING
17d00 53 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4a 4f  S  = 0x0010,..JO
17d10 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54  B_OBJECT_UILIMIT
17d20 5f 47 4c 4f 42 41 4c 41 54 4f 4d 53 20 20 20 20  _GLOBALATOMS    
17d30 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 4a 4f 42    = 0x0020,..JOB
17d40 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f  _OBJECT_UILIMIT_
17d50 44 45 53 4b 54 4f 50 20 20 20 20 20 20 20 20 20  DESKTOP         
17d60 20 3d 20 30 78 30 30 34 30 2c 0a 09 4a 4f 42 5f   = 0x0040,..JOB_
17d70 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f 45  OBJECT_UILIMIT_E
17d80 58 49 54 57 49 4e 44 4f 57 53 20 20 20 20 20 20  XITWINDOWS      
17d90 3d 20 30 78 30 30 38 30 3b 0a 0a 2f 2f 20 4a 4f  = 0x0080;..// JO
17da0 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  BOBJECT_SECURITY
17db0 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49  _LIMIT_INFORMATI
17dc0 4f 4e 2e 53 65 63 75 72 69 74 79 4c 69 6d 69 74  ON.SecurityLimit
17dd0 46 6c 61 67 73 20 63 6f 6e 73 74 61 6e 74 73 0a  Flags constants.
17de0 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 4a 4f 42  const DWORD..JOB
17df0 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  _OBJECT_SECURITY
17e00 5f 4e 4f 5f 41 44 4d 49 4e 20 20 20 20 20 20 20  _NO_ADMIN       
17e10 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 4a 4f 42    = 0x0001,..JOB
17e20 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  _OBJECT_SECURITY
17e30 5f 52 45 53 54 52 49 43 54 45 44 5f 54 4f 4b 45  _RESTRICTED_TOKE
17e40 4e 20 3d 20 30 78 30 30 30 32 2c 0a 09 4a 4f 42  N = 0x0002,..JOB
17e50 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  _OBJECT_SECURITY
17e60 5f 4f 4e 4c 59 5f 54 4f 4b 45 4e 20 20 20 20 20  _ONLY_TOKEN     
17e70 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 4a 4f 42    = 0x0004,..JOB
17e80 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  _OBJECT_SECURITY
17e90 5f 46 49 4c 54 45 52 5f 54 4f 4b 45 4e 53 20 20  _FILTER_TOKENS  
17ea0 20 20 3d 20 30 78 30 30 30 38 3b 0a 0a 2f 2f 20    = 0x0008;..// 
17eb0 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46  JOBOBJECT_END_OF
17ec0 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d  _JOB_TIME_INFORM
17ed0 41 54 49 4f 4e 2e 45 6e 64 4f 66 4a 6f 62 54 69  ATION.EndOfJobTi
17ee0 6d 65 41 63 74 69 6f 6e 20 63 6f 6e 73 74 61 6e  meAction constan
17ef0 74 73 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  ts.enum : DWORD 
17f00 7b 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 54 45  {..JOB_OBJECT_TE
17f10 52 4d 49 4e 41 54 45 5f 41 54 5f 45 4e 44 5f 4f  RMINATE_AT_END_O
17f20 46 5f 4a 4f 42 2c 0a 09 4a 4f 42 5f 4f 42 4a 45  F_JOB,..JOB_OBJE
17f30 43 54 5f 50 4f 53 54 5f 41 54 5f 45 4e 44 5f 4f  CT_POST_AT_END_O
17f40 46 5f 4a 4f 42 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  F_JOB.}..enum : 
17f50 44 57 4f 52 44 20 7b 0a 09 4a 4f 42 5f 4f 42 4a  DWORD {..JOB_OBJ
17f60 45 43 54 5f 4d 53 47 5f 45 4e 44 5f 4f 46 5f 4a  ECT_MSG_END_OF_J
17f70 4f 42 5f 54 49 4d 45 20 3d 20 31 2c 0a 09 4a 4f  OB_TIME = 1,..JO
17f80 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 45 4e 44  B_OBJECT_MSG_END
17f90 5f 4f 46 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45  _OF_PROCESS_TIME
17fa0 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53  ,..JOB_OBJECT_MS
17fb0 47 5f 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53  G_ACTIVE_PROCESS
17fc0 5f 4c 49 4d 49 54 2c 0a 09 4a 4f 42 5f 4f 42 4a  _LIMIT,..JOB_OBJ
17fd0 45 43 54 5f 4d 53 47 5f 41 43 54 49 56 45 5f 50  ECT_MSG_ACTIVE_P
17fe0 52 4f 43 45 53 53 5f 5a 45 52 4f 2c 0a 09 4a 4f  ROCESS_ZERO,..JO
17ff0 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 4e 45 57  B_OBJECT_MSG_NEW
18000 5f 50 52 4f 43 45 53 53 2c 0a 09 4a 4f 42 5f 4f  _PROCESS,..JOB_O
18010 42 4a 45 43 54 5f 4d 53 47 5f 45 58 49 54 5f 50  BJECT_MSG_EXIT_P
18020 52 4f 43 45 53 53 2c 0a 09 4a 4f 42 5f 4f 42 4a  ROCESS,..JOB_OBJ
18030 45 43 54 5f 4d 53 47 5f 41 42 4e 4f 52 4d 41 4c  ECT_MSG_ABNORMAL
18040 5f 45 58 49 54 5f 50 52 4f 43 45 53 53 2c 0a 09  _EXIT_PROCESS,..
18050 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 50  JOB_OBJECT_MSG_P
18060 52 4f 43 45 53 53 5f 4d 45 4d 4f 52 59 5f 4c 49  ROCESS_MEMORY_LI
18070 4d 49 54 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54  MIT,..JOB_OBJECT
18080 5f 4d 53 47 5f 4a 4f 42 5f 4d 45 4d 4f 52 59 5f  _MSG_JOB_MEMORY_
18090 4c 49 4d 49 54 0a 7d 0a 0a 65 6e 75 6d 20 4a 4f  LIMIT.}..enum JO
180a0 42 4f 42 4a 45 43 54 49 4e 46 4f 43 4c 41 53 53  BOBJECTINFOCLASS
180b0 20 7b 0a 09 4a 6f 62 4f 62 6a 65 63 74 42 61 73   {..JobObjectBas
180c0 69 63 41 63 63 6f 75 6e 74 69 6e 67 49 6e 66 6f  icAccountingInfo
180d0 72 6d 61 74 69 6f 6e 20 3d 20 31 2c 0a 09 4a 6f  rmation = 1,..Jo
180e0 62 4f 62 6a 65 63 74 42 61 73 69 63 4c 69 6d 69  bObjectBasicLimi
180f0 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4a  tInformation,..J
18100 6f 62 4f 62 6a 65 63 74 42 61 73 69 63 50 72 6f  obObjectBasicPro
18110 63 65 73 73 49 64 4c 69 73 74 2c 0a 09 4a 6f 62  cessIdList,..Job
18120 4f 62 6a 65 63 74 42 61 73 69 63 55 49 52 65 73  ObjectBasicUIRes
18130 74 72 69 63 74 69 6f 6e 73 2c 0a 09 4a 6f 62 4f  trictions,..JobO
18140 62 6a 65 63 74 53 65 63 75 72 69 74 79 4c 69 6d  bjectSecurityLim
18150 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  itInformation,..
18160 4a 6f 62 4f 62 6a 65 63 74 45 6e 64 4f 66 4a 6f  JobObjectEndOfJo
18170 62 54 69 6d 65 49 6e 66 6f 72 6d 61 74 69 6f 6e  bTimeInformation
18180 2c 0a 09 4a 6f 62 4f 62 6a 65 63 74 41 73 73 6f  ,..JobObjectAsso
18190 63 69 61 74 65 43 6f 6d 70 6c 65 74 69 6f 6e 50  ciateCompletionP
181a0 6f 72 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a  ortInformation,.
181b0 09 4a 6f 62 4f 62 6a 65 63 74 42 61 73 69 63 41  .JobObjectBasicA
181c0 6e 64 49 6f 41 63 63 6f 75 6e 74 69 6e 67 49 6e  ndIoAccountingIn
181d0 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4a 6f 62 4f  formation,..JobO
181e0 62 6a 65 63 74 45 78 74 65 6e 64 65 64 4c 69 6d  bjectExtendedLim
181f0 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  itInformation,..
18200 4a 6f 62 4f 62 6a 65 63 74 4a 6f 62 53 65 74 49  JobObjectJobSetI
18210 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4d 61 78  nformation,..Max
18220 4a 6f 62 4f 62 6a 65 63 74 49 6e 66 6f 43 6c 61  JobObjectInfoCla
18230 73 73 0a 7d 0a 0a 73 74 72 75 63 74 20 4a 4f 42  ss.}..struct JOB
18240 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43 43  OBJECT_BASIC_ACC
18250 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
18260 49 4f 4e 20 7b 0a 09 4c 41 52 47 45 5f 49 4e 54  ION {..LARGE_INT
18270 45 47 45 52 20 54 6f 74 61 6c 55 73 65 72 54 69  EGER TotalUserTi
18280 6d 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47  me;..LARGE_INTEG
18290 45 52 20 54 6f 74 61 6c 4b 65 72 6e 65 6c 54 69  ER TotalKernelTi
182a0 6d 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47  me;..LARGE_INTEG
182b0 45 52 20 54 68 69 73 50 65 72 69 6f 64 54 6f 74  ER ThisPeriodTot
182c0 61 6c 55 73 65 72 54 69 6d 65 3b 0a 09 4c 41 52  alUserTime;..LAR
182d0 47 45 5f 49 4e 54 45 47 45 52 20 54 68 69 73 50  GE_INTEGER ThisP
182e0 65 72 69 6f 64 54 6f 74 61 6c 4b 65 72 6e 65 6c  eriodTotalKernel
182f0 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20 20 20 20  Time;..DWORD    
18300 20 20 20 20 20 54 6f 74 61 6c 50 61 67 65 46 61       TotalPageFa
18310 75 6c 74 43 6f 75 6e 74 3b 0a 09 44 57 4f 52 44  ultCount;..DWORD
18320 20 20 20 20 20 20 20 20 20 54 6f 74 61 6c 50 72           TotalPr
18330 6f 63 65 73 73 65 73 3b 0a 09 44 57 4f 52 44 20  ocesses;..DWORD 
18340 20 20 20 20 20 20 20 20 41 63 74 69 76 65 50 72          ActivePr
18350 6f 63 65 73 73 65 73 3b 0a 09 44 57 4f 52 44 20  ocesses;..DWORD 
18360 20 20 20 20 20 20 20 20 54 6f 74 61 6c 54 65 72          TotalTer
18370 6d 69 6e 61 74 65 64 50 72 6f 63 65 73 73 65 73  minatedProcesses
18380 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 4f 42 4a  ;.}.alias JOBOBJ
18390 45 43 54 5f 42 41 53 49 43 5f 41 43 43 4f 55 4e  ECT_BASIC_ACCOUN
183a0 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  TING_INFORMATION
183b0 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53  * PJOBOBJECT_BAS
183c0 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49 4e  IC_ACCOUNTING_IN
183d0 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75  FORMATION;..stru
183e0 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53  ct JOBOBJECT_BAS
183f0 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  IC_LIMIT_INFORMA
18400 54 49 4f 4e 20 7b 0a 09 4c 41 52 47 45 5f 49 4e  TION {..LARGE_IN
18410 54 45 47 45 52 20 50 65 72 50 72 6f 63 65 73 73  TEGER PerProcess
18420 55 73 65 72 54 69 6d 65 4c 69 6d 69 74 3b 0a 09  UserTimeLimit;..
18430 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 50 65  LARGE_INTEGER Pe
18440 72 4a 6f 62 55 73 65 72 54 69 6d 65 4c 69 6d 69  rJobUserTimeLimi
18450 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20  t;..DWORD       
18460 20 20 4c 69 6d 69 74 46 6c 61 67 73 3b 0a 09 53    LimitFlags;..S
18470 49 5a 45 5f 54 20 20 20 20 20 20 20 20 4d 69 6e  IZE_T        Min
18480 69 6d 75 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69  imumWorkingSetSi
18490 7a 65 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20  ze;..SIZE_T     
184a0 20 20 20 4d 61 78 69 6d 75 6d 57 6f 72 6b 69 6e     MaximumWorkin
184b0 67 53 65 74 53 69 7a 65 3b 0a 09 44 57 4f 52 44  gSetSize;..DWORD
184c0 20 20 20 20 20 20 20 20 20 41 63 74 69 76 65 50           ActiveP
184d0 72 6f 63 65 73 73 4c 69 6d 69 74 3b 0a 09 55 4c  rocessLimit;..UL
184e0 4f 4e 47 5f 50 54 52 20 20 20 20 20 41 66 66 69  ONG_PTR     Affi
184f0 6e 69 74 79 3b 0a 09 44 57 4f 52 44 20 20 20 20  nity;..DWORD    
18500 20 20 20 20 20 50 72 69 6f 72 69 74 79 43 6c 61       PriorityCla
18510 73 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  ss;..DWORD      
18520 20 20 20 53 63 68 65 64 75 6c 69 6e 67 43 6c 61     SchedulingCla
18530 73 73 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 4f  ss;.}.alias JOBO
18540 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d 49  BJECT_BASIC_LIMI
18550 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50  T_INFORMATION* P
18560 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
18570 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  LIMIT_INFORMATIO
18580 4e 3b 0a 0a 73 74 72 75 63 74 20 4a 4f 42 4f 42  N;..struct JOBOB
18590 4a 45 43 54 5f 42 41 53 49 43 5f 50 52 4f 43 45  JECT_BASIC_PROCE
185a0 53 53 5f 49 44 5f 4c 49 53 54 20 7b 0a 09 44 57  SS_ID_LIST {..DW
185b0 4f 52 44 20 20 20 20 20 4e 75 6d 62 65 72 4f 66  ORD     NumberOf
185c0 41 73 73 69 67 6e 65 64 50 72 6f 63 65 73 73 65  AssignedProcesse
185d0 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 4e 75  s;..DWORD     Nu
185e0 6d 62 65 72 4f 66 50 72 6f 63 65 73 73 49 64 73  mberOfProcessIds
185f0 49 6e 4c 69 73 74 3b 0a 09 55 4c 4f 4e 47 5f 50  InList;..ULONG_P
18600 54 52 20 5f 50 72 6f 63 65 73 73 49 64 4c 69 73  TR _ProcessIdLis
18610 74 3b 0a 0a 09 55 4c 4f 4e 47 5f 50 54 52 2a 20  t;...ULONG_PTR* 
18620 50 72 6f 63 65 73 73 49 64 4c 69 73 74 28 29 20  ProcessIdList() 
18630 7b 20 72 65 74 75 72 6e 20 26 5f 50 72 6f 63 65  { return &_Proce
18640 73 73 49 64 4c 69 73 74 3b 20 7d 0a 7d 0a 61 6c  ssIdList; }.}.al
18650 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  ias JOBOBJECT_BA
18660 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f 4c  SIC_PROCESS_ID_L
18670 49 53 54 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f  IST* PJOBOBJECT_
18680 42 41 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44  BASIC_PROCESS_ID
18690 5f 4c 49 53 54 3b 0a 0a 73 74 72 75 63 74 20 4a  _LIST;..struct J
186a0 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 55  OBOBJECT_BASIC_U
186b0 49 5f 52 45 53 54 52 49 43 54 49 4f 4e 53 20 7b  I_RESTRICTIONS {
186c0 0a 09 44 57 4f 52 44 20 55 49 52 65 73 74 72 69  ..DWORD UIRestri
186d0 63 74 69 6f 6e 73 43 6c 61 73 73 3b 0a 7d 0a 61  ctionsClass;.}.a
186e0 6c 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 42  lias JOBOBJECT_B
186f0 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49 43 54  ASIC_UI_RESTRICT
18700 49 4f 4e 53 2a 20 50 4a 4f 42 4f 42 4a 45 43 54  IONS* PJOBOBJECT
18710 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49  _BASIC_UI_RESTRI
18720 43 54 49 4f 4e 53 3b 0a 0a 73 74 72 75 63 74 20  CTIONS;..struct 
18730 4a 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49  JOBOBJECT_SECURI
18740 54 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  TY_LIMIT_INFORMA
18750 54 49 4f 4e 20 7b 0a 09 44 57 4f 52 44 20 20 20  TION {..DWORD   
18760 20 20 20 20 20 20 20 20 20 20 53 65 63 75 72 69            Securi
18770 74 79 4c 69 6d 69 74 46 6c 61 67 73 3b 0a 09 48  tyLimitFlags;..H
18780 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 20  ANDLE           
18790 20 4a 6f 62 54 6f 6b 65 6e 3b 0a 09 50 54 4f 4b   JobToken;..PTOK
187a0 45 4e 5f 47 52 4f 55 50 53 20 20 20 20 20 53 69  EN_GROUPS     Si
187b0 64 73 54 6f 44 69 73 61 62 6c 65 3b 0a 09 50 54  dsToDisable;..PT
187c0 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 45 53 20  OKEN_PRIVILEGES 
187d0 50 72 69 76 69 6c 65 67 65 73 54 6f 44 65 6c 65  PrivilegesToDele
187e0 74 65 3b 0a 09 50 54 4f 4b 45 4e 5f 47 52 4f 55  te;..PTOKEN_GROU
187f0 50 53 20 20 20 20 20 52 65 73 74 72 69 63 74 65  PS     Restricte
18800 64 53 69 64 73 3b 0a 7d 0a 61 6c 69 61 73 20 4a  dSids;.}.alias J
18810 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54  OBOBJECT_SECURIT
18820 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54  Y_LIMIT_INFORMAT
18830 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f  ION* PJOBOBJECT_
18840 53 45 43 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49  SECURITY_LIMIT_I
18850 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72  NFORMATION;..str
18860 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e  uct JOBOBJECT_EN
18870 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e  D_OF_JOB_TIME_IN
18880 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 57 4f  FORMATION {..DWO
18890 52 44 20 45 6e 64 4f 66 4a 6f 62 54 69 6d 65 41  RD EndOfJobTimeA
188a0 63 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 4a  ction;.}.alias J
188b0 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46 5f  OBOBJECT_END_OF_
188c0 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d 41  JOB_TIME_INFORMA
188d0 54 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54  TION* PJOBOBJECT
188e0 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45  _END_OF_JOB_TIME
188f0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73  _INFORMATION;..s
18900 74 72 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f  truct JOBOBJECT_
18910 41 53 53 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45  ASSOCIATE_COMPLE
18920 54 49 4f 4e 5f 50 4f 52 54 20 7b 0a 09 50 56 4f  TION_PORT {..PVO
18930 49 44 20 20 43 6f 6d 70 6c 65 74 69 6f 6e 4b 65  ID  CompletionKe
18940 79 3b 0a 09 48 41 4e 44 4c 45 20 43 6f 6d 70 6c  y;..HANDLE Compl
18950 65 74 69 6f 6e 50 6f 72 74 3b 0a 7d 0a 61 6c 69  etionPort;.}.ali
18960 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 41 53 53  as JOBOBJECT_ASS
18970 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49 4f  OCIATE_COMPLETIO
18980 4e 5f 50 4f 52 54 2a 20 50 4a 4f 42 4f 42 4a 45  N_PORT* PJOBOBJE
18990 43 54 5f 41 53 53 4f 43 49 41 54 45 5f 43 4f 4d  CT_ASSOCIATE_COM
189a0 50 4c 45 54 49 4f 4e 5f 50 4f 52 54 3b 0a 0a 73  PLETION_PORT;..s
189b0 74 72 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f  truct JOBOBJECT_
189c0 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43  BASIC_AND_IO_ACC
189d0 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
189e0 49 4f 4e 20 7b 0a 09 4a 4f 42 4f 42 4a 45 43 54  ION {..JOBOBJECT
189f0 5f 42 41 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e  _BASIC_ACCOUNTIN
18a00 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 42 61  G_INFORMATION Ba
18a10 73 69 63 49 6e 66 6f 3b 0a 09 49 4f 5f 43 4f 55  sicInfo;..IO_COU
18a20 4e 54 45 52 53 20 49 6f 49 6e 66 6f 3b 0a 7d 0a  NTERS IoInfo;.}.
18a30 61 6c 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f  alias JOBOBJECT_
18a40 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43  BASIC_AND_IO_ACC
18a50 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
18a60 49 4f 4e 20 2a 50 4a 4f 42 4f 42 4a 45 43 54 5f  ION *PJOBOBJECT_
18a70 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43  BASIC_AND_IO_ACC
18a80 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
18a90 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 4a 4f 42  ION;..struct JOB
18aa0 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f  OBJECT_EXTENDED_
18ab0 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  LIMIT_INFORMATIO
18ac0 4e 20 7b 0a 09 4a 4f 42 4f 42 4a 45 43 54 5f 42  N {..JOBOBJECT_B
18ad0 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52  ASIC_LIMIT_INFOR
18ae0 4d 41 54 49 4f 4e 20 42 61 73 69 63 4c 69 6d 69  MATION BasicLimi
18af0 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 49  tInformation;..I
18b00 4f 5f 43 4f 55 4e 54 45 52 53 20 49 6f 49 6e 66  O_COUNTERS IoInf
18b10 6f 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 20  o;..SIZE_T      
18b20 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 4c 69 6d  ProcessMemoryLim
18b30 69 74 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20  it;..SIZE_T     
18b40 20 4a 6f 62 4d 65 6d 6f 72 79 4c 69 6d 69 74 3b   JobMemoryLimit;
18b50 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 20 50 65  ..SIZE_T      Pe
18b60 61 6b 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 55  akProcessMemoryU
18b70 73 65 64 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20  sed;..SIZE_T    
18b80 20 20 50 65 61 6b 4a 6f 62 4d 65 6d 6f 72 79 55    PeakJobMemoryU
18b90 73 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42  sed;.}.alias JOB
18ba0 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f  OBJECT_EXTENDED_
18bb0 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  LIMIT_INFORMATIO
18bc0 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 45 58  N* PJOBOBJECT_EX
18bd0 54 45 4e 44 45 44 5f 4c 49 4d 49 54 5f 49 4e 46  TENDED_LIMIT_INF
18be0 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75 63  ORMATION;..struc
18bf0 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42 53  t JOBOBJECT_JOBS
18c00 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b  ET_INFORMATION {
18c10 0a 09 44 57 4f 52 44 20 4d 65 6d 62 65 72 4c 65  ..DWORD MemberLe
18c20 76 65 6c 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42  vel;.}.alias JOB
18c30 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e  OBJECT_JOBSET_IN
18c40 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f 42 4f  FORMATION* PJOBO
18c50 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e 46  BJECT_JOBSET_INF
18c60 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 2f 2f 20 4d 69  ORMATION;..// Mi
18c70 6e 47 57 3a 20 4d 61 6b 69 6e 67 20 74 68 65 73  nGW: Making thes
18c80 65 20 64 65 66 69 6e 65 73 20 63 6f 6e 64 69 74  e defines condit
18c90 69 6f 6e 61 6c 20 6f 6e 20 57 49 4e 56 45 52 20  ional on WINVER 
18ca0 77 69 6c 6c 20 62 72 65 61 6b 20 64 64 6b 20 69  will break ddk i
18cb0 6e 63 6c 75 64 65 73 0a 2f 2f 73 74 61 74 69 63  ncludes.//static
18cc0 20 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30   if (WINVER >= 0
18cd0 78 30 35 30 30 29 20 7b 0a 0a 63 6f 6e 73 74 20  x0500) {..const 
18ce0 44 57 4f 52 44 0a 09 45 53 5f 53 59 53 54 45 4d  DWORD..ES_SYSTEM
18cf0 5f 52 45 51 55 49 52 45 44 20 20 3d 20 30 78 30  _REQUIRED  = 0x0
18d00 30 30 30 30 30 30 31 2c 0a 09 45 53 5f 44 49 53  0000001,..ES_DIS
18d10 50 4c 41 59 5f 52 45 51 55 49 52 45 44 20 3d 20  PLAY_REQUIRED = 
18d20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 45 53 5f  0x00000002,..ES_
18d30 55 53 45 52 5f 50 52 45 53 45 4e 54 20 20 20 20  USER_PRESENT    
18d40 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09   = 0x00000004,..
18d50 45 53 5f 43 4f 4e 54 49 4e 55 4f 55 53 20 20 20  ES_CONTINUOUS   
18d60 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30      = 0x80000000
18d70 3b 0a 0a 65 6e 75 6d 20 4c 41 54 45 4e 43 59 5f  ;..enum LATENCY_
18d80 54 49 4d 45 20 7b 0a 09 4c 54 5f 44 4f 4e 54 5f  TIME {..LT_DONT_
18d90 43 41 52 45 2c 0a 09 4c 54 5f 4c 4f 57 45 53 54  CARE,..LT_LOWEST
18da0 5f 4c 41 54 45 4e 43 59 0a 7d 0a 61 6c 69 61 73  _LATENCY.}.alias
18db0 20 4c 41 54 45 4e 43 59 5f 54 49 4d 45 2a 20 50   LATENCY_TIME* P
18dc0 4c 41 54 45 4e 43 59 5f 54 49 4d 45 3b 0a 0a 65  LATENCY_TIME;..e
18dd0 6e 75 6d 20 53 59 53 54 45 4d 5f 50 4f 57 45 52  num SYSTEM_POWER
18de0 5f 53 54 41 54 45 20 7b 0a 09 50 6f 77 65 72 53  _STATE {..PowerS
18df0 79 73 74 65 6d 55 6e 73 70 65 63 69 66 69 65 64  ystemUnspecified
18e00 2c 0a 09 50 6f 77 65 72 53 79 73 74 65 6d 57 6f  ,..PowerSystemWo
18e10 72 6b 69 6e 67 2c 0a 09 50 6f 77 65 72 53 79 73  rking,..PowerSys
18e20 74 65 6d 53 6c 65 65 70 69 6e 67 31 2c 0a 09 50  temSleeping1,..P
18e30 6f 77 65 72 53 79 73 74 65 6d 53 6c 65 65 70 69  owerSystemSleepi
18e40 6e 67 32 2c 0a 09 50 6f 77 65 72 53 79 73 74 65  ng2,..PowerSyste
18e50 6d 53 6c 65 65 70 69 6e 67 33 2c 0a 09 50 6f 77  mSleeping3,..Pow
18e60 65 72 53 79 73 74 65 6d 48 69 62 65 72 6e 61 74  erSystemHibernat
18e70 65 2c 0a 09 50 6f 77 65 72 53 79 73 74 65 6d 53  e,..PowerSystemS
18e80 68 75 74 64 6f 77 6e 2c 0a 09 50 6f 77 65 72 53  hutdown,..PowerS
18e90 79 73 74 65 6d 4d 61 78 69 6d 75 6d 0a 7d 0a 61  ystemMaximum.}.a
18ea0 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45  lias SYSTEM_POWE
18eb0 52 5f 53 54 41 54 45 2a 20 50 53 59 53 54 45 4d  R_STATE* PSYSTEM
18ec0 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b 0a 0a 63  _POWER_STATE;..c
18ed0 6f 6e 73 74 20 50 4f 57 45 52 5f 53 59 53 54 45  onst POWER_SYSTE
18ee0 4d 5f 4d 41 58 49 4d 55 4d 20 3d 20 53 59 53 54  M_MAXIMUM = SYST
18ef0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 2e 50  EM_POWER_STATE.P
18f00 6f 77 65 72 53 79 73 74 65 6d 4d 61 78 69 6d 75  owerSystemMaximu
18f10 6d 3b 0a 0a 65 6e 75 6d 20 50 4f 57 45 52 5f 41  m;..enum POWER_A
18f20 43 54 49 4f 4e 20 7b 0a 09 50 6f 77 65 72 41 63  CTION {..PowerAc
18f30 74 69 6f 6e 4e 6f 6e 65 2c 0a 09 50 6f 77 65 72  tionNone,..Power
18f40 41 63 74 69 6f 6e 52 65 73 65 72 76 65 64 2c 0a  ActionReserved,.
18f50 09 50 6f 77 65 72 41 63 74 69 6f 6e 53 6c 65 65  .PowerActionSlee
18f60 70 2c 0a 09 50 6f 77 65 72 41 63 74 69 6f 6e 48  p,..PowerActionH
18f70 69 62 65 72 6e 61 74 65 2c 0a 09 50 6f 77 65 72  ibernate,..Power
18f80 41 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 2c 0a  ActionShutdown,.
18f90 09 50 6f 77 65 72 41 63 74 69 6f 6e 53 68 75 74  .PowerActionShut
18fa0 64 6f 77 6e 52 65 73 65 74 2c 0a 09 50 6f 77 65  downReset,..Powe
18fb0 72 41 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 4f  rActionShutdownO
18fc0 66 66 2c 0a 09 50 6f 77 65 72 41 63 74 69 6f 6e  ff,..PowerAction
18fd0 57 61 72 6d 45 6a 65 63 74 0a 7d 0a 61 6c 69 61  WarmEject.}.alia
18fe0 73 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 2a 20  s POWER_ACTION* 
18ff0 50 50 4f 57 45 52 5f 41 43 54 49 4f 4e 3b 0a 0a  PPOWER_ACTION;..
19000 73 74 61 74 69 63 20 69 66 20 28 57 49 4e 56 45  static if (WINVE
19010 52 20 3e 3d 20 30 78 36 30 30 29 20 7b 0a 09 65  R >= 0x600) {..e
19020 6e 75 6d 20 53 59 53 54 45 4d 5f 50 4f 57 45 52  num SYSTEM_POWER
19030 5f 43 4f 4e 44 49 54 49 4f 4e 20 7b 0a 09 09 50  _CONDITION {...P
19040 6f 41 63 2c 0a 09 09 50 6f 44 63 2c 0a 09 09 50  oAc,...PoDc,...P
19050 6f 48 6f 74 2c 0a 09 09 50 6f 43 6f 6e 64 69 74  oHot,...PoCondit
19060 69 6f 6e 4d 61 78 69 6d 75 6d 0a 09 7d 0a 09 61  ionMaximum..}..a
19070 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45  lias SYSTEM_POWE
19080 52 5f 43 4f 4e 44 49 54 49 4f 4e 2a 20 50 53 59  R_CONDITION* PSY
19090 53 54 45 4d 5f 50 4f 57 45 52 5f 43 4f 4e 44 49  STEM_POWER_CONDI
190a0 54 49 4f 4e 3b 0a 7d 0a 0a 65 6e 75 6d 20 44 45  TION;.}..enum DE
190b0 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45  VICE_POWER_STATE
190c0 20 7b 0a 09 50 6f 77 65 72 44 65 76 69 63 65 55   {..PowerDeviceU
190d0 6e 73 70 65 63 69 66 69 65 64 2c 0a 09 50 6f 77  nspecified,..Pow
190e0 65 72 44 65 76 69 63 65 44 30 2c 0a 09 50 6f 77  erDeviceD0,..Pow
190f0 65 72 44 65 76 69 63 65 44 31 2c 0a 09 50 6f 77  erDeviceD1,..Pow
19100 65 72 44 65 76 69 63 65 44 32 2c 0a 09 50 6f 77  erDeviceD2,..Pow
19110 65 72 44 65 76 69 63 65 44 33 2c 0a 09 50 6f 77  erDeviceD3,..Pow
19120 65 72 44 65 76 69 63 65 4d 61 78 69 6d 75 6d 0a  erDeviceMaximum.
19130 7d 0a 61 6c 69 61 73 20 44 45 56 49 43 45 5f 50  }.alias DEVICE_P
19140 4f 57 45 52 5f 53 54 41 54 45 2a 20 50 44 45 56  OWER_STATE* PDEV
19150 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b  ICE_POWER_STATE;
19160 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74 72 75  ..align(4):.stru
19170 63 74 20 42 41 54 54 45 52 59 5f 52 45 50 4f 52  ct BATTERY_REPOR
19180 54 49 4e 47 5f 53 43 41 4c 45 20 7b 0a 09 44 57  TING_SCALE {..DW
19190 4f 52 44 20 47 72 61 6e 75 6c 61 72 69 74 79 3b  ORD Granularity;
191a0 0a 09 44 57 4f 52 44 20 43 61 70 61 63 69 74 79  ..DWORD Capacity
191b0 3b 0a 7d 0a 61 6c 69 61 73 20 42 41 54 54 45 52  ;.}.alias BATTER
191c0 59 5f 52 45 50 4f 52 54 49 4e 47 5f 53 43 41 4c  Y_REPORTING_SCAL
191d0 45 2a 20 50 42 41 54 54 45 52 59 5f 52 45 50 4f  E* PBATTERY_REPO
191e0 52 54 49 4e 47 5f 53 43 41 4c 45 3b 0a 0a 73 74  RTING_SCALE;..st
191f0 72 75 63 74 20 50 4f 57 45 52 5f 41 43 54 49 4f  ruct POWER_ACTIO
19200 4e 5f 50 4f 4c 49 43 59 20 7b 0a 09 50 4f 57 45  N_POLICY {..POWE
19210 52 5f 41 43 54 49 4f 4e 20 41 63 74 69 6f 6e 3b  R_ACTION Action;
19220 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 46  ..ULONG        F
19230 6c 61 67 73 3b 0a 09 55 4c 4f 4e 47 20 20 20 20  lags;..ULONG    
19240 20 20 20 20 45 76 65 6e 74 43 6f 64 65 3b 0a 7d      EventCode;.}
19250 0a 61 6c 69 61 73 20 50 4f 57 45 52 5f 41 43 54  .alias POWER_ACT
19260 49 4f 4e 5f 50 4f 4c 49 43 59 2a 20 50 50 4f 57  ION_POLICY* PPOW
19270 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59  ER_ACTION_POLICY
19280 3b 0a 0a 2f 2f 20 50 4f 57 45 52 5f 41 43 54 49  ;..// POWER_ACTI
19290 4f 4e 5f 50 4f 4c 49 43 59 2e 46 6c 61 67 73 20  ON_POLICY.Flags 
192a0 63 6f 6e 73 74 61 6e 74 73 0a 63 6f 6e 73 74 20  constants.const 
192b0 55 4c 4f 4e 47 0a 09 50 4f 57 45 52 5f 41 43 54  ULONG..POWER_ACT
192c0 49 4f 4e 5f 51 55 45 52 59 5f 41 4c 4c 4f 57 45  ION_QUERY_ALLOWE
192d0 44 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c  D  = 0x00000001,
192e0 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 55  ..POWER_ACTION_U
192f0 49 5f 41 4c 4c 4f 57 45 44 20 20 20 20 20 3d 20  I_ALLOWED     = 
19300 30 78 30 30 30 30 30 30 30 32 2c 0a 09 50 4f 57  0x00000002,..POW
19310 45 52 5f 41 43 54 49 4f 4e 5f 4f 56 45 52 52 49  ER_ACTION_OVERRI
19320 44 45 5f 41 50 50 53 20 20 3d 20 30 78 30 30 30  DE_APPS  = 0x000
19330 30 30 30 30 34 2c 0a 09 50 4f 57 45 52 5f 41 43  00004,..POWER_AC
19340 54 49 4f 4e 5f 4c 49 47 48 54 45 53 54 5f 46 49  TION_LIGHTEST_FI
19350 52 53 54 20 3d 20 30 78 31 30 30 30 30 30 30 30  RST = 0x10000000
19360 2c 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f  ,..POWER_ACTION_
19370 4c 4f 43 4b 5f 43 4f 4e 53 4f 4c 45 20 20 20 3d  LOCK_CONSOLE   =
19380 20 30 78 32 30 30 30 30 30 30 30 2c 0a 09 50 4f   0x20000000,..PO
19390 57 45 52 5f 41 43 54 49 4f 4e 5f 44 49 53 41 42  WER_ACTION_DISAB
193a0 4c 45 5f 57 41 4b 45 53 20 20 3d 20 30 78 34 30  LE_WAKES  = 0x40
193b0 30 30 30 30 30 30 2c 0a 09 50 4f 57 45 52 5f 41  000000,..POWER_A
193c0 43 54 49 4f 4e 5f 43 52 49 54 49 43 41 4c 20 20  CTION_CRITICAL  
193d0 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30       = 0x8000000
193e0 30 3b 0a 0a 2f 2f 20 50 4f 57 45 52 5f 41 43 54  0;..// POWER_ACT
193f0 49 4f 4e 5f 50 4f 4c 49 43 59 2e 45 76 65 6e 74  ION_POLICY.Event
19400 43 6f 64 65 20 63 6f 6e 73 74 61 6e 74 73 0a 63  Code constants.c
19410 6f 6e 73 74 20 55 4c 4f 4e 47 0a 09 50 4f 57 45  onst ULONG..POWE
19420 52 5f 4c 45 56 45 4c 5f 55 53 45 52 5f 4e 4f 54  R_LEVEL_USER_NOT
19430 49 46 59 5f 54 45 58 54 20 20 3d 20 30 78 30 30  IFY_TEXT  = 0x00
19440 30 30 30 30 30 31 2c 0a 09 50 4f 57 45 52 5f 4c  000001,..POWER_L
19450 45 56 45 4c 5f 55 53 45 52 5f 4e 4f 54 49 46 59  EVEL_USER_NOTIFY
19460 5f 53 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30  _SOUND = 0x00000
19470 30 30 32 2c 0a 09 50 4f 57 45 52 5f 4c 45 56 45  002,..POWER_LEVE
19480 4c 5f 55 53 45 52 5f 4e 4f 54 49 46 59 5f 45 58  L_USER_NOTIFY_EX
19490 45 43 20 20 3d 20 30 78 30 30 30 30 30 30 30 34  EC  = 0x00000004
194a0 2c 0a 09 50 4f 57 45 52 5f 55 53 45 52 5f 4e 4f  ,..POWER_USER_NO
194b0 54 49 46 59 5f 42 55 54 54 4f 4e 20 20 20 20 20  TIFY_BUTTON     
194c0 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09   = 0x00000008,..
194d0 50 4f 57 45 52 5f 55 53 45 52 5f 4e 4f 54 49 46  POWER_USER_NOTIF
194e0 59 5f 53 48 55 54 44 4f 57 4e 20 20 20 20 3d 20  Y_SHUTDOWN    = 
194f0 30 78 30 30 30 30 30 30 31 30 2c 0a 09 50 4f 57  0x00000010,..POW
19500 45 52 5f 46 4f 52 43 45 5f 54 52 49 47 47 45 52  ER_FORCE_TRIGGER
19510 5f 52 45 53 45 54 20 20 20 20 20 3d 20 30 78 38  _RESET     = 0x8
19520 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e 73 74 20  0000000;..const 
19530 73 69 7a 65 5f 74 0a 09 44 49 53 43 48 41 52 47  size_t..DISCHARG
19540 45 5f 50 4f 4c 49 43 59 5f 43 52 49 54 49 43 41  E_POLICY_CRITICA
19550 4c 20 3d 20 30 2c 0a 09 44 49 53 43 48 41 52 47  L = 0,..DISCHARG
19560 45 5f 50 4f 4c 49 43 59 5f 4c 4f 57 20 20 20 20  E_POLICY_LOW    
19570 20 20 3d 20 31 2c 0a 09 4e 55 4d 5f 44 49 53 43    = 1,..NUM_DISC
19580 48 41 52 47 45 5f 50 4f 4c 49 43 49 45 53 20 20  HARGE_POLICIES  
19590 20 20 3d 20 34 3b 0a 0a 65 6e 75 6d 20 3a 20 42    = 4;..enum : B
195a0 59 54 45 20 7b 0a 09 50 4f 5f 54 48 52 4f 54 54  YTE {..PO_THROTT
195b0 4c 45 5f 4e 4f 4e 45 2c 0a 09 50 4f 5f 54 48 52  LE_NONE,..PO_THR
195c0 4f 54 54 4c 45 5f 43 4f 4e 53 54 41 4e 54 2c 0a  OTTLE_CONSTANT,.
195d0 09 50 4f 5f 54 48 52 4f 54 54 4c 45 5f 44 45 47  .PO_THROTTLE_DEG
195e0 52 41 44 45 2c 0a 09 50 4f 5f 54 48 52 4f 54 54  RADE,..PO_THROTT
195f0 4c 45 5f 41 44 41 50 54 49 56 45 2c 0a 09 50 4f  LE_ADAPTIVE,..PO
19600 5f 54 48 52 4f 54 54 4c 45 5f 4d 41 58 49 4d 55  _THROTTLE_MAXIMU
19610 4d 0a 7d 0a 0a 73 74 72 75 63 74 20 53 59 53 54  M.}..struct SYST
19620 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 20 7b  EM_POWER_LEVEL {
19630 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20  ..BOOLEAN       
19640 20 20 20 20 20 20 45 6e 61 62 6c 65 3b 0a 09 55        Enable;..U
19650 43 48 41 52 5b 33 5d 20 20 20 20 20 20 20 20 20  CHAR[3]         
19660 20 20 20 53 70 61 72 65 3b 0a 09 55 4c 4f 4e 47     Spare;..ULONG
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42                 B
19680 61 74 74 65 72 79 4c 65 76 65 6c 3b 0a 09 50 4f  atteryLevel;..PO
19690 57 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43  WER_ACTION_POLIC
196a0 59 20 50 6f 77 65 72 50 6f 6c 69 63 79 3b 0a 09  Y PowerPolicy;..
196b0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41  SYSTEM_POWER_STA
196c0 54 45 20 20 4d 69 6e 53 79 73 74 65 6d 53 74 61  TE  MinSystemSta
196d0 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54  te;.}.alias SYST
196e0 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 2a 20  EM_POWER_LEVEL* 
196f0 50 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 4c 45  PSYSTEM_POWER_LE
19700 56 45 4c 3b 0a 0a 73 74 72 75 63 74 20 53 59 53  VEL;..struct SYS
19710 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59  TEM_POWER_POLICY
19720 20 7b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20   {..ULONG       
19730 20 20 20 20 20 20 20 20 52 65 76 69 73 69 6f 6e          Revision
19740 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f  ;..POWER_ACTION_
19750 50 4f 4c 49 43 59 20 50 6f 77 65 72 42 75 74 74  POLICY PowerButt
19760 6f 6e 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f  on;..POWER_ACTIO
19770 4e 5f 50 4f 4c 49 43 59 20 53 6c 65 65 70 42 75  N_POLICY SleepBu
19780 74 74 6f 6e 3b 0a 09 50 4f 57 45 52 5f 41 43 54  tton;..POWER_ACT
19790 49 4f 4e 5f 50 4f 4c 49 43 59 20 4c 69 64 43 6c  ION_POLICY LidCl
197a0 6f 73 65 3b 0a 09 53 59 53 54 45 4d 5f 50 4f 57  ose;..SYSTEM_POW
197b0 45 52 5f 53 54 41 54 45 20 20 4c 69 64 4f 70 65  ER_STATE  LidOpe
197c0 6e 57 61 6b 65 3b 0a 09 55 4c 4f 4e 47 20 20 20  nWake;..ULONG   
197d0 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65              Rese
197e0 72 76 65 64 3b 0a 09 50 4f 57 45 52 5f 41 43 54  rved;..POWER_ACT
197f0 49 4f 4e 5f 50 4f 4c 49 43 59 20 49 64 6c 65 3b  ION_POLICY Idle;
19800 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20  ..ULONG         
19810 20 20 20 20 20 20 49 64 6c 65 54 69 6d 65 6f 75        IdleTimeou
19820 74 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20  t;..UCHAR       
19830 20 20 20 20 20 20 20 20 49 64 6c 65 53 65 6e 73          IdleSens
19840 69 74 69 76 69 74 79 3b 0a 09 55 43 48 41 52 20  itivity;..UCHAR 
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 79                Dy
19860 6e 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0a 09  namicThrottle;..
19870 55 43 48 41 52 5b 32 5d 20 20 20 20 20 20 20 20  UCHAR[2]        
19880 20 20 20 20 53 70 61 72 65 32 3b 0a 09 53 59 53      Spare2;..SYS
19890 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20  TEM_POWER_STATE 
198a0 20 4d 69 6e 53 6c 65 65 70 3b 0a 09 53 59 53 54   MinSleep;..SYST
198b0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20  EM_POWER_STATE  
198c0 4d 61 78 53 6c 65 65 70 3b 0a 09 53 59 53 54 45  MaxSleep;..SYSTE
198d0 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20 52  M_POWER_STATE  R
198e0 65 64 75 63 65 64 4c 61 74 65 6e 63 79 53 6c 65  educedLatencySle
198f0 65 70 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20  ep;..ULONG      
19900 20 20 20 20 20 20 20 20 20 57 69 6e 4c 6f 67 6f           WinLogo
19910 6e 46 6c 61 67 73 3b 0a 09 55 4c 4f 4e 47 20 20  nFlags;..ULONG  
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 53 70 61               Spa
19930 72 65 33 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20  re3;..ULONG     
19940 20 20 20 20 20 20 20 20 20 20 44 6f 7a 65 53 34            DozeS4
19950 54 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 20  Timeout;..ULONG 
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72                Br
19970 6f 61 64 63 61 73 74 43 61 70 61 63 69 74 79 52  oadcastCapacityR
19980 65 73 6f 6c 75 74 69 6f 6e 3b 0a 09 53 59 53 54  esolution;..SYST
19990 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 5b 4e  EM_POWER_LEVEL[N
199a0 55 4d 5f 44 49 53 43 48 41 52 47 45 5f 50 4f 4c  UM_DISCHARGE_POL
199b0 49 43 49 45 53 5d 20 44 69 73 63 68 61 72 67 65  ICIES] Discharge
199c0 50 6f 6c 69 63 79 3b 0a 09 55 4c 4f 4e 47 20 20  Policy;..ULONG  
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 56 69 64               Vid
199e0 65 6f 54 69 6d 65 6f 75 74 3b 0a 09 42 4f 4f 4c  eoTimeout;..BOOL
199f0 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  EAN             
19a00 56 69 64 65 6f 44 69 6d 44 69 73 70 6c 61 79 3b  VideoDimDisplay;
19a10 0a 09 55 4c 4f 4e 47 5b 33 5d 20 20 20 20 20 20  ..ULONG[3]      
19a20 20 20 20 20 20 20 56 69 64 65 6f 52 65 73 65 72        VideoReser
19a30 76 65 64 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20  ved;..ULONG     
19a40 20 20 20 20 20 20 20 20 20 20 53 70 69 6e 64 6f            Spindo
19a50 77 6e 54 69 6d 65 6f 75 74 3b 0a 09 42 4f 4f 4c  wnTimeout;..BOOL
19a60 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  EAN             
19a70 4f 70 74 69 6d 69 7a 65 46 6f 72 50 6f 77 65 72  OptimizeForPower
19a80 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20  ;..UCHAR        
19a90 20 20 20 20 20 20 20 46 61 6e 54 68 72 6f 74 74         FanThrott
19aa0 6c 65 54 6f 6c 65 72 61 6e 63 65 3b 0a 09 55 43  leTolerance;..UC
19ab0 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20  HAR             
19ac0 20 20 46 6f 72 63 65 64 54 68 72 6f 74 74 6c 65    ForcedThrottle
19ad0 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20  ;..UCHAR        
19ae0 20 20 20 20 20 20 20 4d 69 6e 54 68 72 6f 74 74         MinThrott
19af0 6c 65 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f  le;..POWER_ACTIO
19b00 4e 5f 50 4f 4c 49 43 59 20 4f 76 65 72 54 68 72  N_POLICY OverThr
19b10 6f 74 74 6c 65 64 3b 0a 7d 0a 61 6c 69 61 73 20  ottled;.}.alias 
19b20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c  SYSTEM_POWER_POL
19b30 49 43 59 2a 20 50 53 59 53 54 45 4d 5f 50 4f 57  ICY* PSYSTEM_POW
19b40 45 52 5f 50 4f 4c 49 43 59 3b 0a 0a 73 74 72 75  ER_POLICY;..stru
19b50 63 74 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f  ct SYSTEM_POWER_
19b60 43 41 50 41 42 49 4c 49 54 49 45 53 20 7b 0a 09  CAPABILITIES {..
19b70 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20  BOOLEAN         
19b80 20 20 20 20 20 20 20 20 20 20 20 50 6f 77 65 72             Power
19b90 42 75 74 74 6f 6e 50 72 65 73 65 6e 74 3b 0a 09  ButtonPresent;..
19ba0 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20  BOOLEAN         
19bb0 20 20 20 20 20 20 20 20 20 20 20 53 6c 65 65 70             Sleep
19bc0 42 75 74 74 6f 6e 50 72 65 73 65 6e 74 3b 0a 09  ButtonPresent;..
19bd0 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20  BOOLEAN         
19be0 20 20 20 20 20 20 20 20 20 20 20 4c 69 64 50 72             LidPr
19bf0 65 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20  esent;..BOOLEAN 
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c10 20 20 20 53 79 73 74 65 6d 53 31 3b 0a 09 42 4f     SystemS1;..BO
19c20 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 20 20  OLEAN           
19c30 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 53           SystemS
19c40 32 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20  2;..BOOLEAN     
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53                 S
19c60 79 73 74 65 6d 53 33 3b 0a 09 42 4f 4f 4c 45 41  ystemS3;..BOOLEA
19c70 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
19c80 20 20 20 20 20 53 79 73 74 65 6d 53 34 3b 0a 09       SystemS4;..
19c90 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20  BOOLEAN         
19ca0 20 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65             Syste
19cb0 6d 53 35 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20  mS5;..BOOLEAN   
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cd0 20 48 69 62 65 72 46 69 6c 65 50 72 65 73 65 6e   HiberFilePresen
19ce0 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20  t;..BOOLEAN     
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46                 F
19d00 75 6c 6c 57 61 6b 65 3b 0a 09 42 4f 4f 4c 45 41  ullWake;..BOOLEA
19d10 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
19d20 20 20 20 20 20 56 69 64 65 6f 44 69 6d 50 72 65       VideoDimPre
19d30 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20  sent;..BOOLEAN  
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d50 20 20 41 70 6d 50 72 65 73 65 6e 74 3b 0a 09 42    ApmPresent;..B
19d60 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 20  OOLEAN          
19d70 20 20 20 20 20 20 20 20 20 20 55 70 73 50 72 65            UpsPre
19d80 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20  sent;..BOOLEAN  
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19da0 20 20 54 68 65 72 6d 61 6c 43 6f 6e 74 72 6f 6c    ThermalControl
19db0 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20  ;..BOOLEAN      
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72                Pr
19dd0 6f 63 65 73 73 6f 72 54 68 72 6f 74 74 6c 65 3b  ocessorThrottle;
19de0 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20 20  ..UCHAR         
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f               Pro
19e00 63 65 73 73 6f 72 4d 69 6e 54 68 72 6f 74 74 6c  cessorMinThrottl
19e10 65 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20  e;..UCHAR       
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50                 P
19e30 72 6f 63 65 73 73 6f 72 4d 61 78 54 68 72 6f 74  rocessorMaxThrot
19e40 74 6c 65 3b 0a 09 55 43 48 41 52 5b 34 5d 20 20  tle;..UCHAR[4]  
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e60 20 73 70 61 72 65 32 3b 0a 09 42 4f 4f 4c 45 41   spare2;..BOOLEA
19e70 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
19e80 20 20 20 20 20 44 69 73 6b 53 70 69 6e 44 6f 77       DiskSpinDow
19e90 6e 3b 0a 09 55 43 48 41 52 5b 38 5d 20 20 20 20  n;..UCHAR[8]    
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
19eb0 70 61 72 65 33 3b 0a 09 42 4f 4f 4c 45 41 4e 20  pare3;..BOOLEAN 
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ed0 20 20 20 53 79 73 74 65 6d 42 61 74 74 65 72 69     SystemBatteri
19ee0 65 73 50 72 65 73 65 6e 74 3b 0a 09 42 4f 4f 4c  esPresent;..BOOL
19ef0 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  EAN             
19f00 20 20 20 20 20 20 20 42 61 74 74 65 72 69 65 73         Batteries
19f10 41 72 65 53 68 6f 72 74 54 65 72 6d 3b 0a 09 42  AreShortTerm;..B
19f20 41 54 54 45 52 59 5f 52 45 50 4f 52 54 49 4e 47  ATTERY_REPORTING
19f30 5f 53 43 41 4c 45 5b 33 5d 20 42 61 74 74 65 72  _SCALE[3] Batter
19f40 79 53 63 61 6c 65 3b 0a 09 53 59 53 54 45 4d 5f  yScale;..SYSTEM_
19f50 50 4f 57 45 52 5f 53 54 41 54 45 20 20 20 20 20  POWER_STATE     
19f60 20 20 20 20 41 63 4f 6e 4c 69 6e 65 57 61 6b 65      AcOnLineWake
19f70 3b 0a 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f  ;..SYSTEM_POWER_
19f80 53 54 41 54 45 20 20 20 20 20 20 20 20 20 53 6f  STATE         So
19f90 66 74 4c 69 64 57 61 6b 65 3b 0a 09 53 59 53 54  ftLidWake;..SYST
19fa0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20  EM_POWER_STATE  
19fb0 20 20 20 20 20 20 20 52 74 63 57 61 6b 65 3b 0a         RtcWake;.
19fc0 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54  .SYSTEM_POWER_ST
19fd0 41 54 45 20 20 20 20 20 20 20 20 20 4d 69 6e 44  ATE         MinD
19fe0 65 76 69 63 65 57 61 6b 65 53 74 61 74 65 3b 0a  eviceWakeState;.
19ff0 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54  .SYSTEM_POWER_ST
1a000 41 54 45 20 20 20 20 20 20 20 20 20 44 65 66 61  ATE         Defa
1a010 75 6c 74 4c 6f 77 4c 61 74 65 6e 63 79 57 61 6b  ultLowLatencyWak
1a020 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54 45  e;.}.alias SYSTE
1a030 4d 5f 50 4f 57 45 52 5f 43 41 50 41 42 49 4c 49  M_POWER_CAPABILI
1a040 54 49 45 53 2a 20 50 53 59 53 54 45 4d 5f 50 4f  TIES* PSYSTEM_PO
1a050 57 45 52 5f 43 41 50 41 42 49 4c 49 54 49 45 53  WER_CAPABILITIES
1a060 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 54 45 4d  ;..struct SYSTEM
1a070 5f 42 41 54 54 45 52 59 5f 53 54 41 54 45 20 7b  _BATTERY_STATE {
1a080 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 41 63 4f  ..BOOLEAN    AcO
1a090 6e 4c 69 6e 65 3b 0a 09 42 4f 4f 4c 45 41 4e 20  nLine;..BOOLEAN 
1a0a0 20 20 20 42 61 74 74 65 72 79 50 72 65 73 65 6e     BatteryPresen
1a0b0 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 43  t;..BOOLEAN    C
1a0c0 68 61 72 67 69 6e 67 3b 0a 09 42 4f 4f 4c 45 41  harging;..BOOLEA
1a0d0 4e 20 20 20 20 44 69 73 63 68 61 72 67 69 6e 67  N    Discharging
1a0e0 3b 0a 09 42 4f 4f 4c 45 41 4e 5b 34 5d 20 53 70  ;..BOOLEAN[4] Sp
1a0f0 61 72 65 31 3b 0a 09 55 4c 4f 4e 47 20 20 20 20  are1;..ULONG    
1a100 20 20 4d 61 78 43 61 70 61 63 69 74 79 3b 0a 09    MaxCapacity;..
1a110 55 4c 4f 4e 47 20 20 20 20 20 20 52 65 6d 61 69  ULONG      Remai
1a120 6e 69 6e 67 43 61 70 61 63 69 74 79 3b 0a 09 55  ningCapacity;..U
1a130 4c 4f 4e 47 20 20 20 20 20 20 52 61 74 65 3b 0a  LONG      Rate;.
1a140 09 55 4c 4f 4e 47 20 20 20 20 20 20 45 73 74 69  .ULONG      Esti
1a150 6d 61 74 65 64 54 69 6d 65 3b 0a 09 55 4c 4f 4e  matedTime;..ULON
1a160 47 20 20 20 20 20 20 44 65 66 61 75 6c 74 41 6c  G      DefaultAl
1a170 65 72 74 31 3b 0a 09 55 4c 4f 4e 47 20 20 20 20  ert1;..ULONG    
1a180 20 20 44 65 66 61 75 6c 74 41 6c 65 72 74 32 3b    DefaultAlert2;
1a190 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54 45 4d 5f  .}.alias SYSTEM_
1a1a0 42 41 54 54 45 52 59 5f 53 54 41 54 45 2a 20 50  BATTERY_STATE* P
1a1b0 53 59 53 54 45 4d 5f 42 41 54 54 45 52 59 5f 53  SYSTEM_BATTERY_S
1a1c0 54 41 54 45 3b 0a 0a 65 6e 75 6d 20 50 4f 57 45  TATE;..enum POWE
1a1d0 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 4c 45  R_INFORMATION_LE
1a1e0 56 45 4c 20 7b 0a 09 53 79 73 74 65 6d 50 6f 77  VEL {..SystemPow
1a1f0 65 72 50 6f 6c 69 63 79 41 63 2c 0a 09 53 79 73  erPolicyAc,..Sys
1a200 74 65 6d 50 6f 77 65 72 50 6f 6c 69 63 79 44 63  temPowerPolicyDc
1a210 2c 0a 09 56 65 72 69 66 79 53 79 73 74 65 6d 50  ,..VerifySystemP
1a220 6f 6c 69 63 79 41 63 2c 0a 09 56 65 72 69 66 79  olicyAc,..Verify
1a230 53 79 73 74 65 6d 50 6f 6c 69 63 79 44 63 2c 0a  SystemPolicyDc,.
1a240 09 53 79 73 74 65 6d 50 6f 77 65 72 43 61 70 61  .SystemPowerCapa
1a250 62 69 6c 69 74 69 65 73 2c 0a 09 53 79 73 74 65  bilities,..Syste
1a260 6d 42 61 74 74 65 72 79 53 74 61 74 65 2c 0a 09  mBatteryState,..
1a270 53 79 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65  SystemPowerState
1a280 48 61 6e 64 6c 65 72 2c 0a 09 50 72 6f 63 65 73  Handler,..Proces
1a290 73 6f 72 53 74 61 74 65 48 61 6e 64 6c 65 72 2c  sorStateHandler,
1a2a0 0a 09 53 79 73 74 65 6d 50 6f 77 65 72 50 6f 6c  ..SystemPowerPol
1a2b0 69 63 79 43 75 72 72 65 6e 74 2c 0a 09 41 64 6d  icyCurrent,..Adm
1a2c0 69 6e 69 73 74 72 61 74 6f 72 50 6f 77 65 72 50  inistratorPowerP
1a2d0 6f 6c 69 63 79 2c 0a 09 53 79 73 74 65 6d 52 65  olicy,..SystemRe
1a2e0 73 65 72 76 65 48 69 62 65 72 46 69 6c 65 2c 0a  serveHiberFile,.
1a2f0 09 50 72 6f 63 65 73 73 6f 72 49 6e 66 6f 72 6d  .ProcessorInform
1a300 61 74 69 6f 6e 2c 0a 09 53 79 73 74 65 6d 50 6f  ation,..SystemPo
1a310 77 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a  werInformation,.
1a320 09 50 72 6f 63 65 73 73 6f 72 53 74 61 74 65 48  .ProcessorStateH
1a330 61 6e 64 6c 65 72 32 2c 0a 09 4c 61 73 74 57 61  andler2,..LastWa
1a340 6b 65 54 69 6d 65 2c 0a 09 4c 61 73 74 53 6c 65  keTime,..LastSle
1a350 65 70 54 69 6d 65 2c 0a 09 53 79 73 74 65 6d 45  epTime,..SystemE
1a360 78 65 63 75 74 69 6f 6e 53 74 61 74 65 2c 0a 09  xecutionState,..
1a370 53 79 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65  SystemPowerState
1a380 4e 6f 74 69 66 79 48 61 6e 64 6c 65 72 2c 0a 09  NotifyHandler,..
1a390 50 72 6f 63 65 73 73 6f 72 50 6f 77 65 72 50 6f  ProcessorPowerPo
1a3a0 6c 69 63 79 41 63 2c 0a 09 50 72 6f 63 65 73 73  licyAc,..Process
1a3b0 6f 72 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 2c  orPowerPolicyDc,
1a3c0 0a 09 56 65 72 69 66 79 50 72 6f 63 65 73 73 6f  ..VerifyProcesso
1a3d0 72 50 6f 77 65 72 50 6f 6c 69 63 79 41 63 2c 0a  rPowerPolicyAc,.
1a3e0 09 56 65 72 69 66 79 50 72 6f 63 65 73 73 6f 72  .VerifyProcessor
1a3f0 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 2c 0a 09  PowerPolicyDc,..
1a400 50 72 6f 63 65 73 73 6f 72 50 6f 77 65 72 50 6f  ProcessorPowerPo
1a410 6c 69 63 79 43 75 72 72 65 6e 74 0a 7d 0a 0a 2f  licyCurrent.}../
1a420 2f 23 69 66 20 31 20 2f 2a 20 28 57 49 4e 33 32  /#if 1 /* (WIN32
1a430 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
1a440 29 20 2a 2f 0a 73 74 72 75 63 74 20 53 59 53 54  ) */.struct SYST
1a450 45 4d 5f 50 4f 57 45 52 5f 49 4e 46 4f 52 4d 41  EM_POWER_INFORMA
1a460 54 49 4f 4e 20 7b 0a 09 55 4c 4f 4e 47 20 4d 61  TION {..ULONG Ma
1a470 78 49 64 6c 65 6e 65 73 73 41 6c 6c 6f 77 65 64  xIdlenessAllowed
1a480 3b 0a 09 55 4c 4f 4e 47 20 49 64 6c 65 6e 65 73  ;..ULONG Idlenes
1a490 73 3b 0a 09 55 4c 4f 4e 47 20 54 69 6d 65 52 65  s;..ULONG TimeRe
1a4a0 6d 61 69 6e 69 6e 67 3b 0a 09 55 43 48 41 52 20  maining;..UCHAR 
1a4b0 43 6f 6f 6c 69 6e 67 4d 6f 64 65 3b 0a 7d 0a 61  CoolingMode;.}.a
1a4c0 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45  lias SYSTEM_POWE
1a4d0 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50  R_INFORMATION* P
1a4e0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 49 4e 46  SYSTEM_POWER_INF
1a4f0 4f 52 4d 41 54 49 4f 4e 3b 0a 2f 2f 23 65 6e 64  ORMATION;.//#end
1a500 69 66 0a 0a 73 74 72 75 63 74 20 50 52 4f 43 45  if..struct PROCE
1a510 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43  SSOR_POWER_POLIC
1a520 59 5f 49 4e 46 4f 20 7b 0a 09 55 4c 4f 4e 47 20  Y_INFO {..ULONG 
1a530 20 20 20 54 69 6d 65 43 68 65 63 6b 3b 0a 09 55     TimeCheck;..U
1a540 4c 4f 4e 47 20 20 20 20 44 65 6d 6f 74 65 4c 69  LONG    DemoteLi
1a550 6d 69 74 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 50  mit;..ULONG    P
1a560 72 6f 6d 6f 74 65 4c 69 6d 69 74 3b 0a 09 55 43  romoteLimit;..UC
1a570 48 41 52 20 20 20 20 44 65 6d 6f 74 65 50 65 72  HAR    DemotePer
1a580 63 65 6e 74 3b 0a 09 55 43 48 41 52 20 20 20 20  cent;..UCHAR    
1a590 50 72 6f 6d 6f 74 65 50 65 72 63 65 6e 74 3b 0a  PromotePercent;.
1a5a0 09 55 43 48 41 52 5b 32 5d 20 53 70 61 72 65 3b  .UCHAR[2] Spare;
1a5b0 0a 09 75 69 6e 74 20 20 20 20 20 5f 62 66 3b 0a  ..uint     _bf;.
1a5c0 0a 09 62 6f 6f 6c 20 41 6c 6c 6f 77 44 65 6d 6f  ..bool AllowDemo
1a5d0 74 69 6f 6e 28 29 20 20 7b 20 72 65 74 75 72 6e  tion()  { return
1a5e0 20 63 61 73 74 28 62 6f 6f 6c 29 28 5f 62 66 20   cast(bool)(_bf 
1a5f0 26 20 31 29 3b 20 7d 0a 09 62 6f 6f 6c 20 41 6c  & 1); }..bool Al
1a600 6c 6f 77 50 72 6f 6d 6f 74 69 6f 6e 28 29 20 7b  lowPromotion() {
1a610 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f   return cast(boo
1a620 6c 29 28 5f 62 66 20 26 20 32 29 3b 20 7d 0a 0a  l)(_bf & 2); }..
1a630 09 62 6f 6f 6c 20 41 6c 6c 6f 77 44 65 6d 6f 74  .bool AllowDemot
1a640 69 6f 6e 28 62 6f 6f 6c 20 61 29 20 20 7b 20 5f  ion(bool a)  { _
1a650 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 31 29 20  bf = (_bf & ~1) 
1a660 7c 20 61 3b 20 72 65 74 75 72 6e 20 61 3b 20 7d  | a; return a; }
1a670 0a 09 62 6f 6f 6c 20 41 6c 6c 6f 77 50 72 6f 6d  ..bool AllowProm
1a680 6f 74 69 6f 6e 28 62 6f 6f 6c 20 61 29 20 7b 20  otion(bool a) { 
1a690 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 32 29  _bf = (_bf & ~2)
1a6a0 20 7c 20 28 61 20 3c 3c 20 31 29 3b 20 72 65 74   | (a << 1); ret
1a6b0 75 72 6e 20 61 3b 20 7d 0a 2f 2b 0a 09 55 4c 4f  urn a; }./+..ULO
1a6c0 4e 47 20 20 41 6c 6c 6f 77 44 65 6d 6f 74 69 6f  NG  AllowDemotio
1a6d0 6e 20 3a 20 31 3b 0a 09 55 4c 4f 4e 47 20 20 41  n : 1;..ULONG  A
1a6e0 6c 6c 6f 77 50 72 6f 6d 6f 74 69 6f 6e 20 3a 20  llowPromotion : 
1a6f0 31 3b 0a 09 55 4c 4f 4e 47 20 20 52 65 73 65 72  1;..ULONG  Reser
1a700 76 65 64 20 3a 20 33 30 3b 0a 2b 2f 0a 7d 0a 61  ved : 30;.+/.}.a
1a710 6c 69 61 73 20 50 52 4f 43 45 53 53 4f 52 5f 50  lias PROCESSOR_P
1a720 4f 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f  OWER_POLICY_INFO
1a730 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57  * PPROCESSOR_POW
1a740 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 3b 0a  ER_POLICY_INFO;.
1a750 0a 73 74 72 75 63 74 20 50 52 4f 43 45 53 53 4f  .struct PROCESSO
1a760 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 7b  R_POWER_POLICY {
1a770 0a 09 55 4c 4f 4e 47 20 20 20 20 52 65 76 69 73  ..ULONG    Revis
1a780 69 6f 6e 3b 0a 09 55 43 48 41 52 20 20 20 20 44  ion;..UCHAR    D
1a790 79 6e 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0a  ynamicThrottle;.
1a7a0 09 55 43 48 41 52 5b 33 5d 20 53 70 61 72 65 3b  .UCHAR[3] Spare;
1a7b0 0a 09 55 4c 4f 4e 47 20 20 20 20 52 65 73 65 72  ..ULONG    Reser
1a7c0 76 65 64 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 50  ved;..ULONG    P
1a7d0 6f 6c 69 63 79 43 6f 75 6e 74 3b 0a 09 50 52 4f  olicyCount;..PRO
1a7e0 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c  CESSOR_POWER_POL
1a7f0 49 43 59 5f 49 4e 46 4f 5b 33 5d 20 50 6f 6c 69  ICY_INFO[3] Poli
1a800 63 79 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 4f 43  cy;.}.alias PROC
1a810 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49  ESSOR_POWER_POLI
1a820 43 59 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f 50  CY* PPROCESSOR_P
1a830 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0a 0a 73 74  OWER_POLICY;..st
1a840 72 75 63 74 20 41 44 4d 49 4e 49 53 54 52 41 54  ruct ADMINISTRAT
1a850 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20  OR_POWER_POLICY 
1a860 7b 0a 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f  {..SYSTEM_POWER_
1a870 53 54 41 54 45 20 4d 69 6e 53 6c 65 65 70 3b 0a  STATE MinSleep;.
1a880 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54  .SYSTEM_POWER_ST
1a890 41 54 45 20 4d 61 78 53 6c 65 65 70 3b 0a 09 55  ATE MaxSleep;..U
1a8a0 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20 20  LONG            
1a8b0 20 20 4d 69 6e 56 69 64 65 6f 54 69 6d 65 6f 75    MinVideoTimeou
1a8c0 74 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20  t;..ULONG       
1a8d0 20 20 20 20 20 20 20 4d 61 78 56 69 64 65 6f 54         MaxVideoT
1a8e0 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 20 20  imeout;..ULONG  
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 4d 69 6e 53              MinS
1a900 70 69 6e 64 6f 77 6e 54 69 6d 65 6f 75 74 3b 0a  pindownTimeout;.
1a910 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20  .ULONG          
1a920 20 20 20 20 4d 61 78 53 70 69 6e 64 6f 77 6e 54      MaxSpindownT
1a930 69 6d 65 6f 75 74 3b 0a 7d 0a 61 6c 69 61 73 20  imeout;.}.alias 
1a940 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f  ADMINISTRATOR_PO
1a950 57 45 52 5f 50 4f 4c 49 43 59 2a 20 50 41 44 4d  WER_POLICY* PADM
1a960 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f 57 45 52  INISTRATOR_POWER
1a970 5f 50 4f 4c 49 43 59 3b 0a 0a 2f 2f 7d 2f 2f 23  _POLICY;..//}//#
1a980 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
1a990 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0a 0a 65 78  >= 0x0500 */..ex
1a9a0 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b  tern (Windows) {
1a9b0 0a 09 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e  ..alias void fun
1a9c0 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 44 57 4f  ction(PVOID, DWO
1a9d0 52 44 2c 20 50 56 4f 49 44 29 20 50 49 4d 41 47  RD, PVOID) PIMAG
1a9e0 45 5f 54 4c 53 5f 43 41 4c 4c 42 41 43 4b 3b 0a  E_TLS_CALLBACK;.
1a9f0 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
1aa00 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26  N32_WINNT_ONLY &
1aa10 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  & _WIN32_WINNT >
1aa20 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69  = 0x500) {...ali
1aa30 61 73 20 4c 4f 4e 47 20 66 75 6e 63 74 69 6f 6e  as LONG function
1aa40 28 50 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e  (PEXCEPTION_POIN
1aa50 54 45 52 53 29 20 50 56 45 43 54 4f 52 45 44 5f  TERS) PVECTORED_
1aa60 45 58 43 45 50 54 49 4f 4e 5f 48 41 4e 44 4c 45  EXCEPTION_HANDLE
1aa70 52 3b 0a 09 09 61 6c 69 61 73 20 76 6f 69 64 20  R;...alias void 
1aa80 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20  function(PVOID, 
1aa90 42 4f 4f 4c 45 41 4e 29 20 57 41 49 54 4f 52 54  BOOLEAN) WAITORT
1aaa0 49 4d 45 52 43 41 4c 4c 42 41 43 4b 46 55 4e 43  IMERCALLBACKFUNC
1aab0 3b 0a 09 7d 0a 7d 0a 0a 73 74 61 74 69 63 20 69  ;..}.}..static i
1aac0 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 35  f (WINVER >= 0x5
1aad0 30 31 29 20 7b 0a 09 65 6e 75 6d 20 48 45 41 50  01) {..enum HEAP
1aae0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
1aaf0 53 53 20 7b 0a 09 09 48 65 61 70 43 6f 6d 70 61  SS {...HeapCompa
1ab00 74 69 62 69 6c 69 74 79 49 6e 66 6f 72 6d 61 74  tibilityInformat
1ab10 69 6f 6e 0a 09 7d 0a 0a 09 65 6e 75 6d 20 41 43  ion..}...enum AC
1ab20 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
1ab30 5f 49 4e 46 4f 5f 43 4c 41 53 53 20 7b 0a 09 09  _INFO_CLASS {...
1ab40 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65 78  ActivationContex
1ab50 74 42 61 73 69 63 49 6e 66 6f 72 6d 61 74 69 6f  tBasicInformatio
1ab60 6e 20 3d 20 31 2c 0a 09 09 41 63 74 69 76 61 74  n = 1,...Activat
1ab70 69 6f 6e 43 6f 6e 74 65 78 74 44 65 74 61 69 6c  ionContextDetail
1ab80 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  edInformation,..
1ab90 09 41 73 73 65 6d 62 6c 79 44 65 74 61 69 6c 65  .AssemblyDetaile
1aba0 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 49 6e 41 63  dInformationInAc
1abb0 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65 78 74 2c  tivationContext,
1abc0 0a 09 09 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69  ...FileInformati
1abd0 6f 6e 49 6e 41 73 73 65 6d 62 6c 79 4f 66 41 73  onInAssemblyOfAs
1abe0 73 65 6d 62 6c 79 49 6e 41 63 74 69 76 61 74 69  semblyInActivati
1abf0 6f 6e 43 6f 6e 74 65 78 74 0a 09 7d 0a 0a 09 73  onContext..}...s
1ac00 74 72 75 63 74 20 41 43 54 49 56 41 54 49 4f 4e  truct ACTIVATION
1ac10 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42 4c  _CONTEXT_ASSEMBL
1ac20 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52  Y_DETAILED_INFOR
1ac30 4d 41 54 49 4f 4e 20 7b 0a 09 09 44 57 4f 52 44  MATION {...DWORD
1ac40 20 20 20 20 20 20 20 20 20 75 6c 46 6c 61 67 73           ulFlags
1ac50 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20  ;...DWORD       
1ac60 20 20 75 6c 45 6e 63 6f 64 65 64 41 73 73 65 6d    ulEncodedAssem
1ac70 62 6c 79 49 64 65 6e 74 69 74 79 4c 65 6e 67 74  blyIdentityLengt
1ac80 68 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20  h;...DWORD      
1ac90 20 20 20 75 6c 4d 61 6e 69 66 65 73 74 50 61 74     ulManifestPat
1aca0 68 54 79 70 65 3b 0a 09 09 44 57 4f 52 44 20 20  hType;...DWORD  
1acb0 20 20 20 20 20 20 20 75 6c 4d 61 6e 69 66 65 73         ulManifes
1acc0 74 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09 4c  tPathLength;...L
1acd0 41 52 47 45 5f 49 4e 54 45 47 45 52 20 6c 69 4d  ARGE_INTEGER liM
1ace0 61 6e 69 66 65 73 74 4c 61 73 74 57 72 69 74 65  anifestLastWrite
1acf0 54 69 6d 65 3b 0a 09 09 44 57 4f 52 44 20 20 20  Time;...DWORD   
1ad00 20 20 20 20 20 20 75 6c 50 6f 6c 69 63 79 50 61        ulPolicyPa
1ad10 74 68 54 79 70 65 3b 0a 09 09 44 57 4f 52 44 20  thType;...DWORD 
1ad20 20 20 20 20 20 20 20 20 75 6c 50 6f 6c 69 63 79          ulPolicy
1ad30 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09 4c 41  PathLength;...LA
1ad40 52 47 45 5f 49 4e 54 45 47 45 52 20 6c 69 50 6f  RGE_INTEGER liPo
1ad50 6c 69 63 79 4c 61 73 74 57 72 69 74 65 54 69 6d  licyLastWriteTim
1ad60 65 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20  e;...DWORD      
1ad70 20 20 20 75 6c 4d 65 74 61 64 61 74 61 53 61 74     ulMetadataSat
1ad80 65 6c 6c 69 74 65 52 6f 73 74 65 72 49 6e 64 65  elliteRosterInde
1ad90 78 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20  x;...DWORD      
1ada0 20 20 20 75 6c 4d 61 6e 69 66 65 73 74 56 65 72     ulManifestVer
1adb0 73 69 6f 6e 4d 61 6a 6f 72 3b 0a 09 09 44 57 4f  sionMajor;...DWO
1adc0 52 44 20 20 20 20 20 20 20 20 20 75 6c 4d 61 6e  RD         ulMan
1add0 69 66 65 73 74 56 65 72 73 69 6f 6e 4d 69 6e 6f  ifestVersionMino
1ade0 72 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20  r;...DWORD      
1adf0 20 20 20 75 6c 50 6f 6c 69 63 79 56 65 72 73 69     ulPolicyVersi
1ae00 6f 6e 4d 61 6a 6f 72 3b 0a 09 09 44 57 4f 52 44  onMajor;...DWORD
1ae10 20 20 20 20 20 20 20 20 20 75 6c 50 6f 6c 69 63           ulPolic
1ae20 79 56 65 72 73 69 6f 6e 4d 69 6e 6f 72 3b 0a 09  yVersionMinor;..
1ae30 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 75  .DWORD         u
1ae40 6c 41 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f  lAssemblyDirecto
1ae50 72 79 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 09  ryNameLength;...
1ae60 50 43 57 53 54 52 20 20 20 20 20 20 20 20 6c 70  PCWSTR        lp
1ae70 41 73 73 65 6d 62 6c 79 45 6e 63 6f 64 65 64 41  AssemblyEncodedA
1ae80 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 3b  ssemblyIdentity;
1ae90 0a 09 09 50 43 57 53 54 52 20 20 20 20 20 20 20  ...PCWSTR       
1aea0 20 6c 70 41 73 73 65 6d 62 6c 79 4d 61 6e 69 66   lpAssemblyManif
1aeb0 65 73 74 50 61 74 68 3b 0a 09 09 50 43 57 53 54  estPath;...PCWST
1aec0 52 20 20 20 20 20 20 20 20 6c 70 41 73 73 65 6d  R        lpAssem
1aed0 62 6c 79 50 6f 6c 69 63 79 50 61 74 68 3b 0a 09  blyPolicyPath;..
1aee0 09 50 43 57 53 54 52 20 20 20 20 20 20 20 20 6c  .PCWSTR        l
1aef0 70 41 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f  pAssemblyDirecto
1af00 72 79 4e 61 6d 65 3b 0a 09 7d 0a 09 61 6c 69 61  ryName;..}..alia
1af10 73 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  s ACTIVATION_CON
1af20 54 45 58 54 5f 41 53 53 45 4d 42 4c 59 5f 44 45  TEXT_ASSEMBLY_DE
1af30 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49  TAILED_INFORMATI
1af40 4f 4e 2a 0a 09 20 20 50 41 43 54 49 56 41 54 49  ON*..  PACTIVATI
1af50 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d  ON_CONTEXT_ASSEM
1af60 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46  BLY_DETAILED_INF
1af70 4f 52 4d 41 54 49 4f 4e 3b 0a 09 61 6c 69 61 73  ORMATION;..alias
1af80 20 43 50 74 72 21 28 41 43 54 49 56 41 54 49 4f   CPtr!(ACTIVATIO
1af90 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42  N_CONTEXT_ASSEMB
1afa0 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  LY_DETAILED_INFO
1afb0 52 4d 41 54 49 4f 4e 29 0a 09 20 20 50 43 41 43  RMATION)..  PCAC
1afc0 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
1afd0 5f 41 53 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c  _ASSEMBLY_DETAIL
1afe0 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a  ED_INFORMATION;.
1aff0 0a 09 73 74 72 75 63 74 20 41 43 54 49 56 41 54  ..struct ACTIVAT
1b000 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41  ION_CONTEXT_DETA
1b010 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ILED_INFORMATION
1b020 20 7b 0a 09 09 44 57 4f 52 44 20 20 64 77 46 6c   {...DWORD  dwFl
1b030 61 67 73 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c  ags;...DWORD  ul
1b040 46 6f 72 6d 61 74 56 65 72 73 69 6f 6e 3b 0a 09  FormatVersion;..
1b050 09 44 57 4f 52 44 20 20 75 6c 41 73 73 65 6d 62  .DWORD  ulAssemb
1b060 6c 79 43 6f 75 6e 74 3b 0a 09 09 44 57 4f 52 44  lyCount;...DWORD
1b070 20 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73 74    ulRootManifest
1b080 50 61 74 68 54 79 70 65 3b 0a 09 09 44 57 4f 52  PathType;...DWOR
1b090 44 20 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73  D  ulRootManifes
1b0a0 74 50 61 74 68 43 68 61 72 73 3b 0a 09 09 44 57  tPathChars;...DW
1b0b0 4f 52 44 20 20 75 6c 52 6f 6f 74 43 6f 6e 66 69  ORD  ulRootConfi
1b0c0 67 75 72 61 74 69 6f 6e 50 61 74 68 54 79 70 65  gurationPathType
1b0d0 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c 52 6f 6f  ;...DWORD  ulRoo
1b0e0 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 50 61  tConfigurationPa
1b0f0 74 68 43 68 61 72 73 3b 0a 09 09 44 57 4f 52 44  thChars;...DWORD
1b100 20 20 75 6c 41 70 70 44 69 72 50 61 74 68 54 79    ulAppDirPathTy
1b110 70 65 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c 41  pe;...DWORD  ulA
1b120 70 70 44 69 72 50 61 74 68 43 68 61 72 73 3b 0a  ppDirPathChars;.
1b130 09 09 50 43 57 53 54 52 20 6c 70 52 6f 6f 74 4d  ..PCWSTR lpRootM
1b140 61 6e 69 66 65 73 74 50 61 74 68 3b 0a 09 09 50  anifestPath;...P
1b150 43 57 53 54 52 20 6c 70 52 6f 6f 74 43 6f 6e 66  CWSTR lpRootConf
1b160 69 67 75 72 61 74 69 6f 6e 50 61 74 68 3b 0a 09  igurationPath;..
1b170 09 50 43 57 53 54 52 20 6c 70 41 70 70 44 69 72  .PCWSTR lpAppDir
1b180 50 61 74 68 3b 0a 09 7d 0a 09 61 6c 69 61 73 20  Path;..}..alias 
1b190 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45  ACTIVATION_CONTE
1b1a0 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  XT_DETAILED_INFO
1b1b0 52 4d 41 54 49 4f 4e 2a 0a 09 20 20 50 41 43 54  RMATION*..  PACT
1b1c0 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
1b1d0 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41  DETAILED_INFORMA
1b1e0 54 49 4f 4e 3b 0a 09 61 6c 69 61 73 20 43 50 74  TION;..alias CPt
1b1f0 72 21 28 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  r!(ACTIVATION_CO
1b200 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49  NTEXT_DETAILED_I
1b210 4e 46 4f 52 4d 41 54 49 4f 4e 29 0a 09 20 20 50  NFORMATION)..  P
1b220 43 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54  CACTIVATION_CONT
1b230 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46  EXT_DETAILED_INF
1b240 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 09 73 74 72 75  ORMATION;...stru
1b250 63 74 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  ct ACTIVATION_CO
1b260 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 4e 44 45  NTEXT_QUERY_INDE
1b270 58 20 7b 0a 09 09 55 4c 4f 4e 47 20 75 6c 41 73  X {...ULONG ulAs
1b280 73 65 6d 62 6c 79 49 6e 64 65 78 3b 0a 09 09 55  semblyIndex;...U
1b290 4c 4f 4e 47 20 75 6c 46 69 6c 65 49 6e 64 65 78  LONG ulFileIndex
1b2a0 49 6e 41 73 73 65 6d 62 6c 79 3b 0a 09 7d 0a 09  InAssembly;..}..
1b2b0 61 6c 69 61 73 20 41 43 54 49 56 41 54 49 4f 4e  alias ACTIVATION
1b2c0 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f 49  _CONTEXT_QUERY_I
1b2d0 4e 44 45 58 2a 20 20 20 20 20 20 20 50 41 43 54  NDEX*       PACT
1b2e0 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
1b2f0 51 55 45 52 59 5f 49 4e 44 45 58 3b 0a 09 61 6c  QUERY_INDEX;..al
1b300 69 61 73 20 43 50 74 72 21 28 41 43 54 49 56 41  ias CPtr!(ACTIVA
1b310 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45  TION_CONTEXT_QUE
1b320 52 59 5f 49 4e 44 45 58 29 20 50 43 41 43 54 49  RY_INDEX) PCACTI
1b330 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51  VATION_CONTEXT_Q
1b340 55 45 52 59 5f 49 4e 44 45 58 3b 0a 0a 09 73 74  UERY_INDEX;...st
1b350 72 75 63 74 20 41 53 53 45 4d 42 4c 59 5f 46 49  ruct ASSEMBLY_FI
1b360 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  LE_DETAILED_INFO
1b370 52 4d 41 54 49 4f 4e 20 7b 0a 09 09 44 57 4f 52  RMATION {...DWOR
1b380 44 20 20 75 6c 46 6c 61 67 73 3b 0a 09 09 44 57  D  ulFlags;...DW
1b390 4f 52 44 20 20 75 6c 46 69 6c 65 6e 61 6d 65 4c  ORD  ulFilenameL
1b3a0 65 6e 67 74 68 3b 0a 09 09 44 57 4f 52 44 20 20  ength;...DWORD  
1b3b0 75 6c 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09  ulPathLength;...
1b3c0 50 43 57 53 54 52 20 6c 70 46 69 6c 65 4e 61 6d  PCWSTR lpFileNam
1b3d0 65 3b 0a 09 09 50 43 57 53 54 52 20 6c 70 46 69  e;...PCWSTR lpFi
1b3e0 6c 65 50 61 74 68 3b 0a 09 7d 0a 09 61 6c 69 61  lePath;..}..alia
1b3f0 73 20 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f  s ASSEMBLY_FILE_
1b400 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41  DETAILED_INFORMA
1b410 54 49 4f 4e 2a 0a 09 20 20 50 41 53 53 45 4d 42  TION*..  PASSEMB
1b420 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 44  LY_FILE_DETAILED
1b430 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 09 61  _INFORMATION;..a
1b440 6c 69 61 73 20 43 50 74 72 21 28 41 53 53 45 4d  lias CPtr!(ASSEM
1b450 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45  BLY_FILE_DETAILE
1b460 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 29 0a 09  D_INFORMATION)..
1b470 20 20 50 43 41 53 53 45 4d 42 4c 59 5f 46 49 4c    PCASSEMBLY_FIL
1b480 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52  E_DETAILED_INFOR
1b490 4d 41 54 49 4f 4e 3b 0a 7d 0a 0a 76 65 72 73 69  MATION;.}..versi
1b4a0 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09  on (Unicode) {..
1b4b0 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e 49  alias OSVERSIONI
1b4c0 4e 46 4f 57 20 4f 53 56 45 52 53 49 4f 4e 49 4e  NFOW OSVERSIONIN
1b4d0 46 4f 3b 0a 09 61 6c 69 61 73 20 4f 53 56 45 52  FO;..alias OSVER
1b4e0 53 49 4f 4e 49 4e 46 4f 45 58 57 20 4f 53 56 45  SIONINFOEXW OSVE
1b4f0 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0a 7d 20 65  RSIONINFOEX;.} e
1b500 6c 73 65 20 7b 0a 09 61 6c 69 61 73 20 4f 53 56  lse {..alias OSV
1b510 45 52 53 49 4f 4e 49 4e 46 4f 41 20 4f 53 56 45  ERSIONINFOA OSVE
1b520 52 53 49 4f 4e 49 4e 46 4f 3b 0a 09 61 6c 69 61  RSIONINFO;..alia
1b530 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45  s OSVERSIONINFOE
1b540 58 41 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  XA OSVERSIONINFO
1b550 45 58 3b 0a 7d 0a 0a 61 6c 69 61 73 20 4f 53 56  EX;.}..alias OSV
1b560 45 52 53 49 4f 4e 49 4e 46 4f 2a 20 20 20 50 4f  ERSIONINFO*   PO
1b570 53 56 45 52 53 49 4f 4e 49 4e 46 4f 2c 20 20 20  SVERSIONINFO,   
1b580 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 3b  LPOSVERSIONINFO;
1b590 0a 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e  .alias OSVERSION
1b5a0 49 4e 46 4f 45 58 2a 20 50 4f 53 56 45 52 53 49  INFOEX* POSVERSI
1b5b0 4f 4e 49 4e 46 4f 45 58 2c 20 4c 50 4f 53 56 45  ONINFOEX, LPOSVE
1b5c0 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0a 0a 0a 73  RSIONINFOEX;...s
1b5d0 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
1b5e0 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 20 5f  _WINNT_ONLY && _
1b5f0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1b600 78 35 30 30 29 20 7b 0a 09 65 78 74 65 72 6e 20  x500) {..extern 
1b610 28 57 69 6e 64 6f 77 73 29 20 55 4c 4f 4e 47 4c  (Windows) ULONGL
1b620 4f 4e 47 20 56 65 72 53 65 74 43 6f 6e 64 69 74  ONG VerSetCondit
1b630 69 6f 6e 4d 61 73 6b 28 55 4c 4f 4e 47 4c 4f 4e  ionMask(ULONGLON
1b640 47 2c 20 44 57 4f 52 44 2c 20 42 59 54 45 29 3b  G, DWORD, BYTE);
1b650 0a 7d 0a 0a 76 65 72 73 69 6f 6e 20 28 57 69 6e  .}..version (Win
1b660 36 34 29 20 7b 0a 09 63 6f 6e 73 74 20 57 4f 52  64) {..const WOR
1b670 44 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f  D IMAGE_NT_OPTIO
1b680 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43 20 3d 20  NAL_HDR_MAGIC = 
1b690 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41  IMAGE_NT_OPTIONA
1b6a0 4c 5f 48 44 52 36 34 5f 4d 41 47 49 43 3b 0a 0a  L_HDR64_MAGIC;..
1b6b0 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44  .alias IMAGE_ORD
1b6c0 49 4e 41 4c 5f 46 4c 41 47 36 34 20 49 4d 41 47  INAL_FLAG64 IMAG
1b6d0 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 3b 0a  E_ORDINAL_FLAG;.
1b6e0 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 53 4e 41  .alias IMAGE_SNA
1b6f0 50 5f 42 59 5f 4f 52 44 49 4e 41 4c 36 34 20 49  P_BY_ORDINAL64 I
1b700 4d 41 47 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44  MAGE_SNAP_BY_ORD
1b710 49 4e 41 4c 3b 0a 09 61 6c 69 61 73 20 49 4d 41  INAL;..alias IMA
1b720 47 45 5f 4f 52 44 49 4e 41 4c 36 34 20 49 4d 41  GE_ORDINAL64 IMA
1b730 47 45 5f 4f 52 44 49 4e 41 4c 3b 0a 09 61 6c 69  GE_ORDINAL;..ali
1b740 61 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41  as IMAGE_OPTIONA
1b750 4c 5f 48 45 41 44 45 52 36 34 20 49 4d 41 47 45  L_HEADER64 IMAGE
1b760 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52  _OPTIONAL_HEADER
1b770 3b 0a 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e  ;..alias IMAGE_N
1b780 54 5f 48 45 41 44 45 52 53 36 34 20 49 4d 41 47  T_HEADERS64 IMAG
1b790 45 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 09 61  E_NT_HEADERS;..a
1b7a0 6c 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b  lias IMAGE_THUNK
1b7b0 5f 44 41 54 41 36 34 20 49 4d 41 47 45 5f 54 48  _DATA64 IMAGE_TH
1b7c0 55 4e 4b 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73  UNK_DATA;..alias
1b7d0 20 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43   IMAGE_TLS_DIREC
1b7e0 54 4f 52 59 36 34 20 49 4d 41 47 45 5f 54 4c 53  TORY64 IMAGE_TLS
1b7f0 5f 44 49 52 45 43 54 4f 52 59 3b 0a 7d 20 65 6c  _DIRECTORY;.} el
1b800 73 65 20 7b 0a 09 63 6f 6e 73 74 20 57 4f 52 44  se {..const WORD
1b810 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e   IMAGE_NT_OPTION
1b820 41 4c 5f 48 44 52 5f 4d 41 47 49 43 20 3d 20 49  AL_HDR_MAGIC = I
1b830 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c  MAGE_NT_OPTIONAL
1b840 5f 48 44 52 33 32 5f 4d 41 47 49 43 3b 0a 0a 09  _HDR32_MAGIC;...
1b850 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49  alias IMAGE_ORDI
1b860 4e 41 4c 5f 46 4c 41 47 33 32 20 49 4d 41 47 45  NAL_FLAG32 IMAGE
1b870 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 3b 0a 09  _ORDINAL_FLAG;..
1b880 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49  alias IMAGE_ORDI
1b890 4e 41 4c 33 32 20 49 4d 41 47 45 5f 4f 52 44 49  NAL32 IMAGE_ORDI
1b8a0 4e 41 4c 3b 0a 09 61 6c 69 61 73 20 49 4d 41 47  NAL;..alias IMAG
1b8b0 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e 41  E_SNAP_BY_ORDINA
1b8c0 4c 33 32 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42  L32 IMAGE_SNAP_B
1b8d0 59 5f 4f 52 44 49 4e 41 4c 3b 0a 09 61 6c 69 61  Y_ORDINAL;..alia
1b8e0 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c  s IMAGE_OPTIONAL
1b8f0 5f 48 45 41 44 45 52 33 32 20 49 4d 41 47 45 5f  _HEADER32 IMAGE_
1b900 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 3b  OPTIONAL_HEADER;
1b910 0a 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e 54  ..alias IMAGE_NT
1b920 5f 48 45 41 44 45 52 53 33 32 20 49 4d 41 47 45  _HEADERS32 IMAGE
1b930 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 09 61 6c  _NT_HEADERS;..al
1b940 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f  ias IMAGE_THUNK_
1b950 44 41 54 41 33 32 20 49 4d 41 47 45 5f 54 48 55  DATA32 IMAGE_THU
1b960 4e 4b 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 20  NK_DATA;..alias 
1b970 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54  IMAGE_TLS_DIRECT
1b980 4f 52 59 33 32 20 49 4d 41 47 45 5f 54 4c 53 5f  ORY32 IMAGE_TLS_
1b990 44 49 52 45 43 54 4f 52 59 3b 0a 7d 0a 0a 61 6c  DIRECTORY;.}..al
1b9a0 69 61 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e  ias IMAGE_OPTION
1b9b0 41 4c 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47  AL_HEADER* PIMAG
1b9c0 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45  E_OPTIONAL_HEADE
1b9d0 52 3b 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e  R;.alias IMAGE_N
1b9e0 54 5f 48 45 41 44 45 52 53 2a 20 50 49 4d 41 47  T_HEADERS* PIMAG
1b9f0 45 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 61 6c  E_NT_HEADERS;.al
1ba00 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f  ias IMAGE_THUNK_
1ba10 44 41 54 41 2a 20 50 49 4d 41 47 45 5f 54 48 55  DATA* PIMAGE_THU
1ba20 4e 4b 5f 44 41 54 41 3b 0a 61 6c 69 61 73 20 49  NK_DATA;.alias I
1ba30 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f  MAGE_TLS_DIRECTO
1ba40 52 59 2a 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44  RY* PIMAGE_TLS_D
1ba50 49 52 45 43 54 4f 52 59 3b 0a 0a 2f 2f 20 54 4f  IRECTORY;..// TO
1ba60 44 4f 3a 20 4d 69 6e 47 57 20 69 6d 70 6c 65 6d  DO: MinGW implem
1ba70 65 6e 74 73 20 74 68 65 73 65 20 69 6e 20 61 73  ents these in as
1ba80 73 65 6d 62 6c 79 2e 20 20 48 6f 77 20 74 6f 20  sembly.  How to 
1ba90 74 72 61 6e 73 6c 61 74 65 3f 0a 50 56 4f 49 44  translate?.PVOID
1baa0 20 47 65 74 43 75 72 72 65 6e 74 46 69 62 65 72   GetCurrentFiber
1bab0 28 29 3b 0a 50 56 4f 49 44 20 47 65 74 46 69 62  ();.PVOID GetFib
1bac0 65 72 44 61 74 61 28 29 3b 0a                    erData();.