Hex Artifact Content

Not logged in

Artifact 5400bf8ccf4a147f5d2708de64a6ff4ff0ffbac9:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e  module win32.win
0010: 6e 74 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 6c  nt;....// Transl
0020: 61 74 65 64 20 66 72 6f 6d 20 4d 69 63 72 6f 73  ated from Micros
0030: 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b  oft Platform SDK
0040: 20 41 75 67 75 73 74 20 32 30 30 31 20 45 64 69   August 2001 Edi
0050: 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59 2e 54 6f  tion..// by Y.To
0060: 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c 69 74 40  mino (demoonlit@
0070: 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d 0a 69 6d  inter7.jp)....im
0080: 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 65  port win32.winde
0090: 66 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 5f  f;..alias void _
00a0: 54 45 42 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64  TEB;..alias void
00b0: 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52 45 47 49   _EXCEPTION_REGI
00c0: 53 54 52 41 54 49 4f 4e 5f 52 45 43 4f 52 44 3b  STRATION_RECORD;
00d0: 0d 0a 70 72 69 76 61 74 65 20 65 78 74 65 72 6e  ..private extern
00e0: 28 43 29 20 7b 0d 0a 20 20 69 6e 74 20 6d 65 6d  (C) {..  int mem
00f0: 63 6d 70 28 76 6f 69 64 2a 2c 20 76 6f 69 64 2a  cmp(void*, void*
0100: 2c 20 75 69 6e 74 29 3b 0d 0a 20 20 76 6f 69 64  , uint);..  void
0110: 2a 20 6d 65 6d 6d 6f 76 65 28 76 6f 69 64 2a 2c  * memmove(void*,
0120: 20 76 6f 69 64 2a 2c 20 75 69 6e 74 29 3b 0d 0a   void*, uint);..
0130: 20 20 76 6f 69 64 2a 20 6d 65 6d 63 70 79 28 76    void* memcpy(v
0140: 6f 69 64 2a 2c 20 76 6f 69 64 2a 2c 20 75 69 6e  oid*, void*, uin
0150: 74 29 3b 0d 0a 20 20 76 6f 69 64 2a 20 6d 65 6d  t);..  void* mem
0160: 73 65 74 28 76 6f 69 64 2a 2c 20 75 69 6e 74 2c  set(void*, uint,
0170: 20 75 69 6e 74 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f   uint);..}....//
0180: 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 4e 54 5f   #ifndef _WINNT_
0190: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 57 49  ..// #define _WI
01a0: 4e 4e 54 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  NNT_....// #ifde
01b0: 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f  f __cplusplus../
01c0: 2f 20 65 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a  / extern "C" {..
01d0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
01e0: 23 69 6e 63 6c 75 64 65 20 3c 63 74 79 70 65 2e  #include <ctype.
01f0: 68 3e 20 20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  h>  ..enum : uin
0200: 74 20 7b 20 41 4e 59 53 49 5a 45 5f 41 52 52 41  t { ANYSIZE_ARRA
0210: 59 20 3d 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  Y = 1 }....// #i
0220: 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 4d 52 58  f defined(_M_MRX
0230: 30 30 30 29 20 26 26 20 21 28 64 65 66 69 6e 65  000) && !(define
0240: 64 28 4d 49 44 4c 5f 50 41 53 53 29 20 7c 7c 20  d(MIDL_PASS) || 
0250: 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b  defined(RC_INVOK
0260: 45 44 29 29 20 26 26 20 64 65 66 69 6e 65 64 28  ED)) && defined(
0270: 45 4e 41 42 4c 45 5f 52 45 53 54 52 49 43 54 45  ENABLE_RESTRICTE
0280: 44 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  D)..// #.....// 
0290: 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e  #else..// #defin
02a0: 65 20 52 45 53 54 52 49 43 54 45 44 5f 50 4f 49  e RESTRICTED_POI
02b0: 4e 54 45 52 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  NTER..// #endif.
02c0: 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  ...// #if define
02d0: 64 28 5f 4d 5f 4d 52 58 30 30 30 29 20 7c 7c 20  d(_M_MRX000) || 
02e0: 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4c 50 48 41  defined(_M_ALPHA
02f0: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f  ) || defined(_M_
0300: 50 50 43 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  PPC) || defined(
0310: 5f 4d 5f 49 41 36 34 29 20 7c 7c 20 64 65 66 69  _M_IA64) || defi
0320: 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 0d 0a 2f  ned(_M_AMD64)../
0330: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64  / #.....// #if d
0340: 65 66 69 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a  efined(_WIN64)..
0350: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
0360: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
0370: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d  endif..// #else.
0380: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 55 4e 41 4c  .// #define UNAL
0390: 49 47 4e 45 44 0d 0a 2f 2f 20 23 64 65 66 69 6e  IGNED..// #defin
03a0: 65 20 55 4e 41 4c 49 47 4e 45 44 36 34 0d 0a 2f  e UNALIGNED64../
03b0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
03c0: 69 66 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 36  if defined(_WIN6
03d0: 34 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d  4) || defined(_M
03e0: 5f 41 4c 50 48 41 29 0d 0a 2f 2f 20 23 2e 2e 2e  _ALPHA)..// #...
03f0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0400: 6c 73 65 0d 0a 63 6f 6e 73 74 20 75 69 6e 74 20  lse..const uint 
0410: 4d 41 58 5f 4e 41 54 55 52 41 4c 5f 41 4c 49 47  MAX_NATURAL_ALIG
0420: 4e 4d 45 4e 54 20 3d 20 44 57 4f 52 44 2e 73 69  NMENT = DWORD.si
0430: 7a 65 6f 66 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69  zeof;..enum : ui
0440: 6e 74 20 7b 20 4d 45 4d 4f 52 59 5f 41 4c 4c 4f  nt { MEMORY_ALLO
0450: 43 41 54 49 4f 4e 5f 41 4c 49 47 4e 4d 45 4e 54  CATION_ALIGNMENT
0460: 20 3d 20 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69   = 8 }..// #endi
0470: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
0480: 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 23  _cplusplus..// #
0490: 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31  if _MSC_VER >= 1
04a0: 33 30 30 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  300..// #define 
04b0: 54 59 50 45 5f 41 4c 49 47 4e 4d 45 4e 54 28 20  TYPE_ALIGNMENT( 
04c0: 74 20 29 20 5f 5f 61 6c 69 67 6e 6f 66 28 74 29  t ) __alignof(t)
04d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
04e0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
04f0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
0500: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  f....// #if defi
0510: 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a 0d 0a 2f  ned(_WIN64)..../
0520: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  / #.....// .....
0530: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
0540: 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 64 65 66  #else....// #def
0550: 69 6e 65 20 50 52 4f 42 45 5f 41 4c 49 47 4e 4d  ine PROBE_ALIGNM
0560: 45 4e 54 28 20 5f 73 20 29 20 54 59 50 45 5f 41  ENT( _s ) TYPE_A
0570: 4c 49 47 4e 4d 45 4e 54 28 20 44 57 4f 52 44 20  LIGNMENT( DWORD 
0580: 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  )....// #endif..
0590: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 5f 41  ..// #define C_A
05a0: 53 53 45 52 54 28 65 29 20 74 79 70 65 64 65 66  SSERT(e) typedef
05b0: 20 63 68 61 72 20 5f 5f 43 5f 41 53 53 45 52 54   char __C_ASSERT
05c0: 5f 5f 5b 28 65 29 3f 31 3a 2d 31 5d 0d 0a 0d 0a  __[(e)?1:-1]....
05d0: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
05e0: 5f 4d 41 43 29 20 26 26 20 28 64 65 66 69 6e 65  _MAC) && (define
05f0: 64 28 5f 4d 5f 4d 52 58 30 30 30 29 20 7c 7c 20  d(_M_MRX000) || 
0600: 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4d 44 36 34  defined(_M_AMD64
0610: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f  ) || defined(_M_
0620: 49 41 36 34 29 29 20 26 26 20 28 5f 4d 53 43 5f  IA64)) && (_MSC_
0630: 56 45 52 20 3e 3d 20 31 31 30 30 29 20 26 26 20  VER >= 1100) && 
0640: 21 28 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50  !(defined(MIDL_P
0650: 41 53 53 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  ASS) || defined(
0660: 52 43 5f 49 4e 56 4f 4b 45 44 29 29 0d 0a 2f 2f  RC_INVOKED))..//
0670: 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f   #.....// ...../
0680: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 57  / #if defined(_W
0690: 49 4e 36 34 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  IN64)..// #.....
06a0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
06b0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  ...// #endif..//
06c0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 66 20 64   #else..// #if d
06d0: 65 66 69 6e 65 64 28 5f 4d 41 43 29 20 26 26 20  efined(_MAC) && 
06e0: 64 65 66 69 6e 65 64 28 5f 4d 41 43 5f 49 4e 54  defined(_MAC_INT
06f0: 5f 36 34 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  _64)..// #...../
0700: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
0710: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 4f 49 4e  .// #define POIN
0720: 54 45 52 5f 36 34 0d 0a 61 6c 69 61 73 20 75 69  TER_64..alias ui
0730: 6e 74 20 50 4f 49 4e 54 45 52 5f 36 34 5f 49 4e  nt POINTER_64_IN
0740: 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61  T;..// #endif..a
0750: 6c 69 61 73 20 76 6f 69 64 2a 20 50 4f 49 4e 54  lias void* POINT
0760: 45 52 5f 33 32 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ER_32;..// #endi
0770: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  f....// #if defi
0780: 6e 65 64 28 5f 49 41 36 34 5f 29 20 7c 7c 20 64  ned(_IA64_) || d
0790: 65 66 69 6e 65 64 28 5f 41 4d 44 36 34 5f 29 0d  efined(_AMD64_).
07a0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
07b0: 73 65 0d 0a 61 6c 69 61 73 20 50 4f 49 4e 54 45  se..alias POINTE
07c0: 52 5f 33 32 20 46 49 52 4d 57 41 52 45 5f 50 54  R_32 FIRMWARE_PT
07d0: 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  R;..// #endif...
07e0: 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20 3c 62 61  .// #include <ba
07f0: 73 65 74 73 64 2e 68 3e 0d 0a 0d 0a 2f 2f 20 23  setsd.h>....// #
0800: 69 66 20 28 64 65 66 69 6e 65 64 28 5f 4d 5f 49  if (defined(_M_I
0810: 58 38 36 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  X86) || defined(
0820: 5f 4d 5f 49 41 36 34 29 20 7c 7c 20 64 65 66 69  _M_IA64) || defi
0830: 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 29 20 26  ned(_M_AMD64)) &
0840: 26 20 21 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f  & !defined(MIDL_
0850: 50 41 53 53 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  PASS)..// #defin
0860: 65 20 44 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52  e DECLSPEC_IMPOR
0870: 54 20 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c  T __declspec(dll
0880: 69 6d 70 6f 72 74 29 0d 0a 2f 2f 20 23 65 6c 73  import)..// #els
0890: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
08a0: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
08b0: 64 65 66 20 44 45 43 4c 53 50 45 43 5f 4e 4f 52  def DECLSPEC_NOR
08c0: 45 54 55 52 4e 0d 0a 2f 2f 20 23 69 66 20 28 5f  ETURN..// #if (_
08d0: 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30 29  MSC_VER >= 1200)
08e0: 20 26 26 20 21 64 65 66 69 6e 65 64 28 4d 49 44   && !defined(MID
08f0: 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 23 64 65 66  L_PASS)..// #def
0900: 69 6e 65 20 44 45 43 4c 53 50 45 43 5f 4e 4f 52  ine DECLSPEC_NOR
0910: 45 54 55 52 4e 20 5f 5f 64 65 63 6c 73 70 65 63  ETURN __declspec
0920: 28 6e 6f 72 65 74 75 72 6e 29 0d 0a 2f 2f 20 23  (noreturn)..// #
0930: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
0940: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
0950: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
0960: 66 20 44 45 43 4c 53 50 45 43 5f 41 4c 49 47 4e  f DECLSPEC_ALIGN
0970: 0d 0a 2f 2f 20 23 69 66 20 28 5f 4d 53 43 5f 56  ..// #if (_MSC_V
0980: 45 52 20 3e 3d 20 31 33 30 30 29 20 26 26 20 21  ER >= 1300) && !
0990: 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53  defined(MIDL_PAS
09a0: 53 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44  S)..// #define D
09b0: 45 43 4c 53 50 45 43 5f 41 4c 49 47 4e 28 78 29  ECLSPEC_ALIGN(x)
09c0: 20 5f 5f 64 65 63 6c 73 70 65 63 28 61 6c 69 67   __declspec(alig
09d0: 6e 28 78 29 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d  n(x))..// #else.
09e0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
09f0: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  dif..// #endif..
0a00: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 45 43  ..// #ifndef DEC
0a10: 4c 53 50 45 43 5f 43 41 43 48 45 41 4c 49 47 4e  LSPEC_CACHEALIGN
0a20: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43  ..// #define DEC
0a30: 4c 53 50 45 43 5f 43 41 43 48 45 41 4c 49 47 4e  LSPEC_CACHEALIGN
0a40: 20 44 45 43 4c 53 50 45 43 5f 41 4c 49 47 4e 28   DECLSPEC_ALIGN(
0a50: 31 32 38 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  128)..// #endif.
0a60: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 45  ...// #ifndef DE
0a70: 43 4c 53 50 45 43 5f 55 55 49 44 0d 0a 2f 2f 20  CLSPEC_UUID..// 
0a80: 23 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d  #if (_MSC_VER >=
0a90: 20 31 31 30 30 29 20 26 26 20 64 65 66 69 6e 65   1100) && define
0aa0: 64 20 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d  d (__cplusplus).
0ab0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43 4c  .// #define DECL
0ac0: 53 50 45 43 5f 55 55 49 44 28 78 29 20 5f 5f 64  SPEC_UUID(x) __d
0ad0: 65 63 6c 73 70 65 63 28 75 75 69 64 28 78 29 29  eclspec(uuid(x))
0ae0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
0af0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
0b00: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
0b10: 23 69 66 6e 64 65 66 20 44 45 43 4c 53 50 45 43  #ifndef DECLSPEC
0b20: 5f 4e 4f 56 54 41 42 4c 45 0d 0a 2f 2f 20 23 69  _NOVTABLE..// #i
0b30: 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31  f (_MSC_VER >= 1
0b40: 31 30 30 29 20 26 26 20 64 65 66 69 6e 65 64 28  100) && defined(
0b50: 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d 0a 2f 2f  __cplusplus)..//
0b60: 20 23 64 65 66 69 6e 65 20 44 45 43 4c 53 50 45   #define DECLSPE
0b70: 43 5f 4e 4f 56 54 41 42 4c 45 20 5f 5f 64 65 63  C_NOVTABLE __dec
0b80: 6c 73 70 65 63 28 6e 6f 76 74 61 62 6c 65 29 0d  lspec(novtable).
0b90: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
0ba0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
0bb0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
0bc0: 69 66 6e 64 65 66 20 44 45 43 4c 53 50 45 43 5f  ifndef DECLSPEC_
0bd0: 53 45 4c 45 43 54 41 4e 59 0d 0a 2f 2f 20 23 69  SELECTANY..// #i
0be0: 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31  f (_MSC_VER >= 1
0bf0: 31 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  100)..// #define
0c00: 20 44 45 43 4c 53 50 45 43 5f 53 45 4c 45 43 54   DECLSPEC_SELECT
0c10: 41 4e 59 20 5f 5f 64 65 63 6c 73 70 65 63 28 73  ANY __declspec(s
0c20: 65 6c 65 63 74 61 6e 79 29 0d 0a 2f 2f 20 23 65  electany)..// #e
0c30: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
0c40: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
0c50: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  if....// #ifndef
0c60: 20 4e 4f 50 5f 46 55 4e 43 54 49 4f 4e 0d 0a 2f   NOP_FUNCTION../
0c70: 2f 20 23 69 66 20 28 5f 4d 53 43 5f 56 45 52 20  / #if (_MSC_VER 
0c80: 3e 3d 20 31 32 31 30 29 0d 0a 2f 2f 20 23 2e 2e  >= 1210)..// #..
0c90: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
0ca0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
0cb0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
0cc0: 20 23 69 66 6e 64 65 66 20 44 45 43 4c 53 50 45   #ifndef DECLSPE
0cd0: 43 5f 41 44 44 52 53 41 46 45 0d 0a 2f 2f 20 23  C_ADDRSAFE..// #
0ce0: 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  if (_MSC_VER >= 
0cf0: 31 32 30 30 29 20 26 26 20 28 64 65 66 69 6e 65  1200) && (define
0d00: 64 28 5f 4d 5f 41 4c 50 48 41 29 20 7c 7c 20 64  d(_M_ALPHA) || d
0d10: 65 66 69 6e 65 64 28 5f 4d 5f 41 58 50 36 34 29  efined(_M_AXP64)
0d20: 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
0d30: 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  else..// #define
0d40: 20 44 45 43 4c 53 50 45 43 5f 41 44 44 52 53 41   DECLSPEC_ADDRSA
0d50: 46 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  FE..// #endif../
0d60: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
0d70: 69 66 6e 64 65 66 20 46 4f 52 43 45 49 4e 4c 49  ifndef FORCEINLI
0d80: 4e 45 0d 0a 2f 2f 20 23 69 66 20 28 5f 4d 53 43  NE..// #if (_MSC
0d90: 5f 56 45 52 20 3e 3d 20 31 32 30 30 29 0d 0a 2f  _VER >= 1200)../
0da0: 2f 20 23 64 65 66 69 6e 65 20 46 4f 52 43 45 49  / #define FORCEI
0db0: 4e 4c 49 4e 45 20 5f 5f 66 6f 72 63 65 69 6e 6c  NLINE __forceinl
0dc0: 69 6e 65 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ine..// #else../
0dd0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0de0: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
0df0: 2f 2f 20 23 69 66 6e 64 65 66 20 44 45 43 4c 53  // #ifndef DECLS
0e00: 50 45 43 5f 44 45 50 52 45 43 41 54 45 44 0d 0a  PEC_DEPRECATED..
0e10: 2f 2f 20 23 69 66 20 28 5f 4d 53 43 5f 56 45 52  // #if (_MSC_VER
0e20: 20 3e 3d 20 31 33 30 30 29 20 26 26 20 21 64 65   >= 1300) && !de
0e30: 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53 29  fined(MIDL_PASS)
0e40: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43  ..// #define DEC
0e50: 4c 53 50 45 43 5f 44 45 50 52 45 43 41 54 45 44  LSPEC_DEPRECATED
0e60: 20 5f 5f 64 65 63 6c 73 70 65 63 28 64 65 70 72   __declspec(depr
0e70: 65 63 61 74 65 64 29 0d 0a 2f 2f 20 23 64 65 66  ecated)..// #def
0e80: 69 6e 65 20 44 45 50 52 45 43 41 54 45 5f 53 55  ine DEPRECATE_SU
0e90: 50 50 4f 52 54 45 44 0d 0a 2f 2f 20 23 65 6c 73  PPORTED..// #els
0ea0: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
0eb0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
0ec0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69  // #endif....ali
0ed0: 61 73 20 76 6f 69 64 2a 20 50 56 4f 49 44 3b 0d  as void* PVOID;.
0ee0: 0a 64 65 70 72 65 63 61 74 65 64 20 61 6c 69 61  .deprecated alia
0ef0: 73 20 76 6f 69 64 2a 20 50 56 4f 49 44 36 34 3b  s void* PVOID64;
0f00: 20 2f 2a 20 77 61 72 6e 69 6e 67 3a 20 36 34 2d   /* warning: 64-
0f10: 62 69 74 20 2a 2f 20 0d 0a 0d 0a 2f 2f 20 23 69  bit */ ....// #i
0f20: 66 20 28 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  f ((_MSC_VER >= 
0f30: 38 30 30 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  800) || defined(
0f40: 5f 53 54 44 43 41 4c 4c 5f 53 55 50 50 4f 52 54  _STDCALL_SUPPORT
0f50: 45 44 29 29 20 26 26 20 21 64 65 66 69 6e 65 64  ED)) && !defined
0f60: 28 5f 4d 5f 41 4d 44 36 34 29 0d 0a 2f 2f 20 23  (_M_AMD64)..// #
0f70: 64 65 66 69 6e 65 20 4e 54 41 50 49 20 5f 5f 73  define NTAPI __s
0f80: 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23 65 6c 73 65  tdcall..// #else
0f90: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
0fa0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
0fb0: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
0fc0: 28 5f 4e 54 53 59 53 54 45 4d 5f 29 0d 0a 2f 2f  (_NTSYSTEM_)..//
0fd0: 20 23 64 65 66 69 6e 65 20 4e 54 53 59 53 41 50   #define NTSYSAP
0fe0: 49 20 44 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52  I DECLSPEC_IMPOR
0ff0: 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e 54  T..// #define NT
1000: 53 59 53 43 41 4c 4c 41 50 49 20 44 45 43 4c 53  SYSCALLAPI DECLS
1010: 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20 23  PEC_IMPORT..// #
1020: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
1030: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 4e  / #if defined(_N
1040: 54 44 4c 4c 42 55 49 4c 44 5f 29 0d 0a 2f 2f 20  TDLLBUILD_)..// 
1050: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
1060: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
1070: 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  if....// #endif.
1080: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 56 4f  ...// #ifndef VO
1090: 49 44 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 56  ID..alias void V
10a0: 4f 49 44 3b 0d 0a 61 6c 69 61 73 20 63 68 61 72  OID;..alias char
10b0: 20 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20 73 68   CHAR;..alias sh
10c0: 6f 72 74 20 53 48 4f 52 54 3b 0d 0a 61 6c 69 61  ort SHORT;..alia
10d0: 73 20 69 6e 74 20 4c 4f 4e 47 3b 0d 0a 2f 2f 20  s int LONG;..// 
10e0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
10f0: 6e 64 65 66 20 5f 4d 41 43 0d 0a 61 6c 69 61 73  ndef _MAC..alias
1100: 20 77 63 68 61 72 20 57 43 48 41 52 3b 0d 0a 2f   wchar WCHAR;../
1110: 2f 20 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 2e 2e  / #else....// ..
1120: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
1130: 61 6c 69 61 73 20 57 43 48 41 52 2a 20 50 57 43  alias WCHAR* PWC
1140: 48 41 52 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41  HAR;..alias WCHA
1150: 52 2a 20 4c 50 57 43 48 3b 0d 0a 61 6c 69 61 73  R* LPWCH;..alias
1160: 20 57 43 48 41 52 2a 20 50 57 43 48 3b 0d 0a 61   WCHAR* PWCH;..a
1170: 6c 69 61 73 20 57 43 48 41 52 2a 20 4c 50 43 57  lias WCHAR* LPCW
1180: 43 48 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41 52  CH;..alias WCHAR
1190: 2a 20 50 43 57 43 48 3b 0d 0a 61 6c 69 61 73 20  * PCWCH;..alias 
11a0: 57 43 48 41 52 2a 20 4e 57 50 53 54 52 3b 0d 0a  WCHAR* NWPSTR;..
11b0: 61 6c 69 61 73 20 57 43 48 41 52 2a 20 4c 50 57  alias WCHAR* LPW
11c0: 53 54 52 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41  STR;..alias WCHA
11d0: 52 2a 20 50 57 53 54 52 3b 0d 0a 61 6c 69 61 73  R* PWSTR;..alias
11e0: 20 57 43 48 41 52 2a 20 4c 50 55 57 53 54 52 3b   WCHAR* LPUWSTR;
11f0: 0d 0a 61 6c 69 61 73 20 57 43 48 41 52 2a 20 50  ..alias WCHAR* P
1200: 55 57 53 54 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20  UWSTR;....alias 
1210: 57 43 48 41 52 2a 20 4c 50 43 57 53 54 52 3b 0d  WCHAR* LPCWSTR;.
1220: 0a 61 6c 69 61 73 20 57 43 48 41 52 2a 20 50 43  .alias WCHAR* PC
1230: 57 53 54 52 3b 0d 0a 61 6c 69 61 73 20 57 43 48  WSTR;..alias WCH
1240: 41 52 2a 20 4c 50 43 55 57 53 54 52 3b 0d 0a 61  AR* LPCUWSTR;..a
1250: 6c 69 61 73 20 57 43 48 41 52 2a 20 50 43 55 57  lias WCHAR* PCUW
1260: 53 54 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43 48  STR;....alias CH
1270: 41 52 2a 20 50 43 48 41 52 3b 0d 0a 61 6c 69 61  AR* PCHAR;..alia
1280: 73 20 43 48 41 52 2a 20 4c 50 43 48 3b 0d 0a 61  s CHAR* LPCH;..a
1290: 6c 69 61 73 20 43 48 41 52 2a 20 50 43 48 3b 0d  lias CHAR* PCH;.
12a0: 0a 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a 20 4c  ...alias CHAR* L
12b0: 50 43 43 48 3b 0d 0a 61 6c 69 61 73 20 43 48 41  PCCH;..alias CHA
12c0: 52 2a 20 50 43 43 48 3b 0d 0a 61 6c 69 61 73 20  R* PCCH;..alias 
12d0: 43 48 41 52 2a 20 4e 50 53 54 52 3b 0d 0a 61 6c  CHAR* NPSTR;..al
12e0: 69 61 73 20 43 48 41 52 2a 20 4c 50 53 54 52 3b  ias CHAR* LPSTR;
12f0: 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a 20 50 53  ..alias CHAR* PS
1300: 54 52 3b 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a  TR;..alias CHAR*
1310: 20 4c 50 43 53 54 52 3b 0d 0a 61 6c 69 61 73 20   LPCSTR;..alias 
1320: 43 48 41 52 2a 20 50 43 53 54 52 3b 0d 0a 0d 0a  CHAR* PCSTR;....
1330: 2f 2f 20 23 69 66 64 65 66 20 20 55 4e 49 43 4f  // #ifdef  UNICO
1340: 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20  DE              
1350: 20 20 20 20 20 20 20 2f 2f 20 72 5f 77 69 6e 6e         // r_winn
1360: 74 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  t....// #ifndef 
1370: 5f 54 43 48 41 52 5f 44 45 46 49 4e 45 44 0d 0a  _TCHAR_DEFINED..
1380: 61 6c 69 61 73 20 57 43 48 41 52 20 54 43 48 41  alias WCHAR TCHA
1390: 52 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41 52 2a  R;..alias WCHAR*
13a0: 20 50 54 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20   PTCHAR;..alias 
13b0: 57 43 48 41 52 20 54 42 59 54 45 3b 0d 0a 61 6c  WCHAR TBYTE;..al
13c0: 69 61 73 20 57 43 48 41 52 2a 20 50 54 42 59 54  ias WCHAR* PTBYT
13d0: 45 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f  E;..// #define _
13e0: 54 43 48 41 52 5f 44 45 46 49 4e 45 44 0d 0a 2f  TCHAR_DEFINED../
13f0: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 5f 54 43  / #endif /* !_TC
1400: 48 41 52 5f 44 45 46 49 4e 45 44 20 2a 2f 0d 0a  HAR_DEFINED */..
1410: 0d 0a 61 6c 69 61 73 20 4c 50 57 53 54 52 20 4c  ..alias LPWSTR L
1420: 50 54 43 48 3b 0d 0a 61 6c 69 61 73 20 4c 50 57  PTCH;..alias LPW
1430: 53 54 52 20 50 54 43 48 3b 0d 0a 61 6c 69 61 73  STR PTCH;..alias
1440: 20 4c 50 57 53 54 52 20 50 54 53 54 52 3b 0d 0a   LPWSTR PTSTR;..
1450: 61 6c 69 61 73 20 4c 50 57 53 54 52 20 4c 50 54  alias LPWSTR LPT
1460: 53 54 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 57  STR;..alias LPCW
1470: 53 54 52 20 50 43 54 53 54 52 3b 0d 0a 61 6c 69  STR PCTSTR;..ali
1480: 61 73 20 4c 50 43 57 53 54 52 20 4c 50 43 54 53  as LPCWSTR LPCTS
1490: 54 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 55 57 53  TR;..alias LPUWS
14a0: 54 52 20 50 55 54 53 54 52 3b 0d 0a 61 6c 69 61  TR PUTSTR;..alia
14b0: 73 20 4c 50 55 57 53 54 52 20 4c 50 55 54 53 54  s LPUWSTR LPUTST
14c0: 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 55 57 53  R;..alias LPCUWS
14d0: 54 52 20 50 43 55 54 53 54 52 3b 0d 0a 61 6c 69  TR PCUTSTR;..ali
14e0: 61 73 20 4c 50 43 55 57 53 54 52 20 4c 50 43 55  as LPCUWSTR LPCU
14f0: 54 53 54 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 57  TSTR;..alias LPW
1500: 53 54 52 20 4c 50 3b 0d 0a 2f 2f 20 23 64 65 66  STR LP;..// #def
1510: 69 6e 65 20 5f 5f 54 45 58 54 28 71 75 6f 74 65  ine __TEXT(quote
1520: 29 20 4c 23 23 71 75 6f 74 65 0d 0a 0d 0a 2f 2f  ) L##quote....//
1530: 20 23 65 6c 73 65 20 20 20 2f 2a 20 55 4e 49 43   #else   /* UNIC
1540: 4f 44 45 20 2a 2f 20 20 20 20 20 20 20 20 20 20  ODE */          
1550: 20 20 20 20 20 2f 2f 20 72 5f 77 69 6e 6e 74 0d       // r_winnt.
1560: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 54  ...// #ifndef _T
1570: 43 48 41 52 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f  CHAR_DEFINED..//
1580: 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f   .....// #...../
1590: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 5f 54 43  / #endif /* !_TC
15a0: 48 41 52 5f 44 45 46 49 4e 45 44 20 2a 2f 0d 0a  HAR_DEFINED */..
15b0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  ..// .....// #..
15c0: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
15d0: 2a 20 55 4e 49 43 4f 44 45 20 2a 2f 20 20 20 20  * UNICODE */    
15e0: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72              // r
15f0: 5f 77 69 6e 6e 74 0d 0a 54 43 48 41 52 5b 5d 20  _winnt..TCHAR[] 
1600: 54 45 58 54 28 54 43 48 41 52 5b 5d 20 71 75 6f  TEXT(TCHAR[] quo
1610: 74 65 29 7b 20 72 65 74 75 72 6e 20 71 75 6f 74  te){ return quot
1620: 65 3b 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 53 48  e; }....alias SH
1630: 4f 52 54 2a 20 50 53 48 4f 52 54 3b 0d 0a 61 6c  ORT* PSHORT;..al
1640: 69 61 73 20 4c 4f 4e 47 2a 20 50 4c 4f 4e 47 3b  ias LONG* PLONG;
1650: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 53 54  ....// #ifdef ST
1660: 52 49 43 54 0d 0a 61 6c 69 61 73 20 76 6f 69 64  RICT..alias void
1670: 2a 20 48 41 4e 44 4c 45 3b 0d 0a 2f 2f 20 23 64  * HANDLE;..// #d
1680: 65 66 69 6e 65 20 44 45 43 4c 41 52 45 5f 48 41  efine DECLARE_HA
1690: 4e 44 4c 45 28 6e 61 6d 65 29 20 73 74 72 75 63  NDLE(name) struc
16a0: 74 20 6e 61 6d 65 23 23 5f 5f 20 7b 20 69 6e 74  t name##__ { int
16b0: 20 75 6e 75 73 65 64 3b 20 7d 3b 20 74 79 70 65   unused; }; type
16c0: 64 65 66 20 73 74 72 75 63 74 20 6e 61 6d 65 23  def struct name#
16d0: 23 5f 5f 20 2a 6e 61 6d 65 0d 0a 2f 2f 20 23 65  #__ *name..// #e
16e0: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
16f0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
1700: 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 2a 20 50  .alias HANDLE* P
1710: 48 41 4e 44 4c 45 3b 0d 0a 0d 0a 61 6c 69 61 73  HANDLE;....alias
1720: 20 42 59 54 45 20 46 43 48 41 52 3b 0d 0a 61 6c   BYTE FCHAR;..al
1730: 69 61 73 20 57 4f 52 44 20 46 53 48 4f 52 54 3b  ias WORD FSHORT;
1740: 0d 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 46 4c  ..alias DWORD FL
1750: 4f 4e 47 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ONG;....// #ifnd
1760: 65 66 20 5f 48 52 45 53 55 4c 54 5f 44 45 46 49  ef _HRESULT_DEFI
1770: 4e 45 44 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  NED..// #define 
1780: 5f 48 52 45 53 55 4c 54 5f 44 45 46 49 4e 45 44  _HRESULT_DEFINED
1790: 0d 0a 61 6c 69 61 73 20 4c 4f 4e 47 20 48 52 45  ..alias LONG HRE
17a0: 53 55 4c 54 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  SULT;....// #end
17b0: 69 66 20 2f 2f 20 21 5f 48 52 45 53 55 4c 54 5f  if // !_HRESULT_
17c0: 44 45 46 49 4e 45 44 0d 0a 0d 0a 2f 2f 20 23 69  DEFINED....// #i
17d0: 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
17e0: 0d 0a 2f 2f 20 20 20 20 20 23 64 65 66 69 6e 65  ..//     #define
17f0: 20 45 58 54 45 52 4e 5f 43 20 65 78 74 65 72 6e   EXTERN_C extern
1800: 20 22 43 22 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   "C"..// #else..
1810: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
1820: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  if....// #if def
1830: 69 6e 65 64 28 5f 57 49 4e 33 32 29 20 7c 7c 20  ined(_WIN32) || 
1840: 64 65 66 69 6e 65 64 28 5f 4d 50 50 43 5f 29 0d  defined(_MPPC_).
1850: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 36 38  ...// #ifdef _68
1860: 4b 5f 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  K_..// #.....// 
1870: 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e  #else..// #defin
1880: 65 20 53 54 44 4d 45 54 48 4f 44 43 41 4c 4c 54  e STDMETHODCALLT
1890: 59 50 45 20 5f 5f 73 74 64 63 61 6c 6c 0d 0a 2f  YPE __stdcall../
18a0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 64 65  / #endif..// #de
18b0: 66 69 6e 65 20 53 54 44 4d 45 54 48 4f 44 56 43  fine STDMETHODVC
18c0: 41 4c 4c 54 59 50 45 20 5f 5f 63 64 65 63 6c 0d  ALLTYPE __cdecl.
18d0: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 54  ...// #define ST
18e0: 44 41 50 49 43 41 4c 4c 54 59 50 45 20 5f 5f 73  DAPICALLTYPE __s
18f0: 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23 64 65 66 69  tdcall..// #defi
1900: 6e 65 20 53 54 44 41 50 49 56 43 41 4c 4c 54 59  ne STDAPIVCALLTY
1910: 50 45 20 5f 5f 63 64 65 63 6c 0d 0a 0d 0a 2f 2f  PE __cdecl....//
1920: 20 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 2e 2e   #else....// #..
1930: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
1940: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
1950: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
1960: 2f 20 23 64 65 66 69 6e 65 20 53 54 44 41 50 49  / #define STDAPI
1970: 20 45 58 54 45 52 4e 5f 43 20 48 52 45 53 55 4c   EXTERN_C HRESUL
1980: 54 20 53 54 44 41 50 49 43 41 4c 4c 54 59 50 45  T STDAPICALLTYPE
1990: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 54 44  ..// #define STD
19a0: 41 50 49 5f 28 74 79 70 65 29 20 45 58 54 45 52  API_(type) EXTER
19b0: 4e 5f 43 20 74 79 70 65 20 53 54 44 41 50 49 43  N_C type STDAPIC
19c0: 41 4c 4c 54 59 50 45 0d 0a 0d 0a 2f 2f 20 23 64  ALLTYPE....// #d
19d0: 65 66 69 6e 65 20 53 54 44 4d 45 54 48 4f 44 49  efine STDMETHODI
19e0: 4d 50 20 48 52 45 53 55 4c 54 20 53 54 44 4d 45  MP HRESULT STDME
19f0: 54 48 4f 44 43 41 4c 4c 54 59 50 45 0d 0a 2f 2f  THODCALLTYPE..//
1a00: 20 23 64 65 66 69 6e 65 20 53 54 44 4d 45 54 48   #define STDMETH
1a10: 4f 44 49 4d 50 5f 28 74 79 70 65 29 20 74 79 70  ODIMP_(type) typ
1a20: 65 20 53 54 44 4d 45 54 48 4f 44 43 41 4c 4c 54  e STDMETHODCALLT
1a30: 59 50 45 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  YPE....// #defin
1a40: 65 20 53 54 44 41 50 49 56 20 45 58 54 45 52 4e  e STDAPIV EXTERN
1a50: 5f 43 20 48 52 45 53 55 4c 54 20 53 54 44 41 50  _C HRESULT STDAP
1a60: 49 56 43 41 4c 4c 54 59 50 45 0d 0a 2f 2f 20 23  IVCALLTYPE..// #
1a70: 64 65 66 69 6e 65 20 53 54 44 41 50 49 56 5f 28  define STDAPIV_(
1a80: 74 79 70 65 29 20 45 58 54 45 52 4e 5f 43 20 74  type) EXTERN_C t
1a90: 79 70 65 20 53 54 44 41 50 49 56 43 41 4c 4c 54  ype STDAPIVCALLT
1aa0: 59 50 45 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  YPE....// #defin
1ab0: 65 20 53 54 44 4d 45 54 48 4f 44 49 4d 50 56 20  e STDMETHODIMPV 
1ac0: 48 52 45 53 55 4c 54 20 53 54 44 4d 45 54 48 4f  HRESULT STDMETHO
1ad0: 44 56 43 41 4c 4c 54 59 50 45 0d 0a 2f 2f 20 23  DVCALLTYPE..// #
1ae0: 64 65 66 69 6e 65 20 53 54 44 4d 45 54 48 4f 44  define STDMETHOD
1af0: 49 4d 50 56 5f 28 74 79 70 65 29 20 74 79 70 65  IMPV_(type) type
1b00: 20 53 54 44 4d 45 54 48 4f 44 56 43 41 4c 4c 54   STDMETHODVCALLT
1b10: 59 50 45 0d 0a 0d 0a 61 6c 69 61 73 20 63 68 61  YPE....alias cha
1b20: 72 20 43 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20  r CCHAR;..alias 
1b30: 44 57 4f 52 44 20 4c 43 49 44 3b 0d 0a 61 6c 69  DWORD LCID;..ali
1b40: 61 73 20 50 44 57 4f 52 44 20 50 4c 43 49 44 3b  as PDWORD PLCID;
1b50: 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 4c 41 4e  ..alias WORD LAN
1b60: 47 49 44 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  GID;..enum : uin
1b70: 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f  t { APPLICATION_
1b80: 45 52 52 4f 52 5f 4d 41 53 4b 20 3d 20 30 78 32  ERROR_MASK = 0x2
1b90: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
1ba0: 3a 20 75 69 6e 74 20 7b 20 45 52 52 4f 52 5f 53  : uint { ERROR_S
1bb0: 45 56 45 52 49 54 59 5f 53 55 43 43 45 53 53 20  EVERITY_SUCCESS 
1bc0: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
1bd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 52  enum : uint { ER
1be0: 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 49 4e 46  ROR_SEVERITY_INF
1bf0: 4f 52 4d 41 54 49 4f 4e 41 4c 20 3d 20 30 78 34  ORMATIONAL = 0x4
1c00: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
1c10: 3a 20 75 69 6e 74 20 7b 20 45 52 52 4f 52 5f 53  : uint { ERROR_S
1c20: 45 56 45 52 49 54 59 5f 57 41 52 4e 49 4e 47 20  EVERITY_WARNING 
1c30: 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x80000000 }..
1c40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 52  enum : uint { ER
1c50: 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52  ROR_SEVERITY_ERR
1c60: 4f 52 20 3d 20 30 78 43 30 30 30 30 30 30 30 20  OR = 0xC0000000 
1c70: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  }....// #if defi
1c80: 6e 65 64 28 5f 4d 5f 49 41 36 34 29 20 26 26 20  ned(_M_IA64) && 
1c90: 21 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41  !defined(MIDL_PA
1ca0: 53 53 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  SS)..// .....// 
1cb0: 23 65 6e 64 69 66 0d 0a 73 74 72 75 63 74 20 5f  #endif..struct _
1cc0: 46 4c 4f 41 54 31 32 38 20 7b 0d 0a 20 20 5f 5f  FLOAT128 {..  __
1cd0: 69 6e 74 36 34 20 4c 6f 77 50 61 72 74 3b 0d 0a  int64 LowPart;..
1ce0: 20 20 5f 5f 69 6e 74 36 34 20 48 69 67 68 50 61    __int64 HighPa
1cf0: 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46  rt;..}..alias _F
1d00: 4c 4f 41 54 31 32 38 20 46 4c 4f 41 54 31 32 38  LOAT128 FLOAT128
1d10: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 46 4c 4f 41 54  ;....alias FLOAT
1d20: 31 32 38 2a 20 50 46 4c 4f 41 54 31 32 38 3b 0d  128* PFLOAT128;.
1d30: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 55  ...// #define _U
1d40: 4c 4f 4e 47 4c 4f 4e 47 5f 0d 0a 2f 2f 20 23 69  LONGLONG_..// #i
1d50: 66 20 28 21 64 65 66 69 6e 65 64 20 28 5f 4d 41  f (!defined (_MA
1d60: 43 29 20 26 26 20 28 21 64 65 66 69 6e 65 64 28  C) && (!defined(
1d70: 4d 49 44 4c 5f 50 41 53 53 29 20 7c 7c 20 64 65  MIDL_PASS) || de
1d80: 66 69 6e 65 64 28 5f 5f 6d 69 64 6c 29 29 20 26  fined(__midl)) &
1d90: 26 20 28 21 64 65 66 69 6e 65 64 28 5f 4d 5f 49  & (!defined(_M_I
1da0: 58 38 36 29 20 7c 7c 20 28 64 65 66 69 6e 65 64  X86) || (defined
1db0: 28 5f 49 4e 54 45 47 52 41 4c 5f 4d 41 58 5f 42  (_INTEGRAL_MAX_B
1dc0: 49 54 53 29 20 26 26 20 5f 49 4e 54 45 47 52 41  ITS) && _INTEGRA
1dd0: 4c 5f 4d 41 58 5f 42 49 54 53 20 3e 3d 20 36 34  L_MAX_BITS >= 64
1de0: 29 29 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  )))..// ......./
1df0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
1e00: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e  ....// #if defin
1e10: 65 64 28 5f 4d 41 43 29 20 26 26 20 64 65 66 69  ed(_MAC) && defi
1e20: 6e 65 64 28 5f 4d 41 43 5f 49 4e 54 5f 36 34 29  ned(_MAC_INT_64)
1e30: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
1e40: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
1e50: 6c 69 61 73 20 64 6f 75 62 6c 65 20 4c 4f 4e 47  lias double LONG
1e60: 4c 4f 4e 47 3b 0d 0a 61 6c 69 61 73 20 64 6f 75  LONG;..alias dou
1e70: 62 6c 65 20 55 4c 4f 4e 47 4c 4f 4e 47 3b 0d 0a  ble ULONGLONG;..
1e80: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 43  // #endif //_MAC
1e90: 20 61 6e 64 20 69 6e 74 36 34 0d 0a 0d 0a 2f 2f   and int64....//
1ea0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73   #endif....alias
1eb0: 20 4c 4f 4e 47 4c 4f 4e 47 2a 20 50 4c 4f 4e 47   LONGLONG* PLONG
1ec0: 4c 4f 4e 47 3b 0d 0a 61 6c 69 61 73 20 55 4c 4f  LONG;..alias ULO
1ed0: 4e 47 4c 4f 4e 47 2a 20 50 55 4c 4f 4e 47 4c 4f  NGLONG* PULONGLO
1ee0: 4e 47 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 4f 4e  NG;....alias LON
1ef0: 47 4c 4f 4e 47 20 55 53 4e 3b 0d 0a 0d 0a 2f 2f  GLONG USN;....//
1f00: 20 23 69 66 20 64 65 66 69 6e 65 64 28 4d 49 44   #if defined(MID
1f10: 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 2e 2e 2e 0d  L_PASS)..// ....
1f20: 0a 2f 2f 20 23 65 6c 73 65 20 2f 2f 20 4d 49 44  .// #else // MID
1f30: 4c 5f 50 41 53 53 0d 0a 75 6e 69 6f 6e 20 5f 4c  L_PASS..union _L
1f40: 41 52 47 45 5f 49 4e 54 45 47 45 52 20 7b 0d 0a  ARGE_INTEGER {..
1f50: 73 74 72 75 63 74 20 5f 30 20 7b 0d 0a 20 20 44  struct _0 {..  D
1f60: 57 4f 52 44 20 4c 6f 77 50 61 72 74 3b 0d 0a 20  WORD LowPart;.. 
1f70: 20 4c 4f 4e 47 20 48 69 67 68 50 61 72 74 3b 0d   LONG HighPart;.
1f80: 0a 7d 0d 0a 5f 30 20 5f 3b 0d 0a 0d 0a 73 74 72  .}.._0 _;....str
1f90: 75 63 74 20 5f 31 20 7b 0d 0a 20 20 44 57 4f 52  uct _1 {..  DWOR
1fa0: 44 20 4c 6f 77 50 61 72 74 3b 0d 0a 20 20 4c 4f  D LowPart;..  LO
1fb0: 4e 47 20 48 69 67 68 50 61 72 74 3b 0d 0a 7d 0d  NG HighPart;..}.
1fc0: 0a 5f 31 20 75 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  ._1 u;....// #en
1fd0: 64 69 66 20 2f 2f 4d 49 44 4c 5f 50 41 53 53 0d  dif //MIDL_PASS.
1fe0: 0a 20 20 4c 4f 4e 47 4c 4f 4e 47 20 51 75 61 64  .  LONGLONG Quad
1ff0: 50 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Part;..}..alias 
2000: 5f 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 4c  _LARGE_INTEGER L
2010: 41 52 47 45 5f 49 4e 54 45 47 45 52 3b 0d 0a 0d  ARGE_INTEGER;...
2020: 0a 61 6c 69 61 73 20 4c 41 52 47 45 5f 49 4e 54  .alias LARGE_INT
2030: 45 47 45 52 2a 20 50 4c 41 52 47 45 5f 49 4e 54  EGER* PLARGE_INT
2040: 45 47 45 52 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20  EGER;....// #if 
2050: 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53  defined(MIDL_PAS
2060: 53 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  S)..// .....// #
2070: 65 6c 73 65 20 2f 2f 20 4d 49 44 4c 5f 50 41 53  else // MIDL_PAS
2080: 53 0d 0a 75 6e 69 6f 6e 20 5f 55 4c 41 52 47 45  S..union _ULARGE
2090: 5f 49 4e 54 45 47 45 52 20 7b 0d 0a 73 74 72 75  _INTEGER {..stru
20a0: 63 74 20 5f 32 20 7b 0d 0a 20 20 44 57 4f 52 44  ct _2 {..  DWORD
20b0: 20 4c 6f 77 50 61 72 74 3b 0d 0a 20 20 44 57 4f   LowPart;..  DWO
20c0: 52 44 20 48 69 67 68 50 61 72 74 3b 0d 0a 7d 0d  RD HighPart;..}.
20d0: 0a 5f 32 20 5f 3b 0d 0a 0d 0a 73 74 72 75 63 74  ._2 _;....struct
20e0: 20 5f 33 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4c   _3 {..  DWORD L
20f0: 6f 77 50 61 72 74 3b 0d 0a 20 20 44 57 4f 52 44  owPart;..  DWORD
2100: 20 48 69 67 68 50 61 72 74 3b 0d 0a 7d 0d 0a 5f   HighPart;..}.._
2110: 33 20 75 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  3 u;....// #endi
2120: 66 20 2f 2f 4d 49 44 4c 5f 50 41 53 53 0d 0a 20  f //MIDL_PASS.. 
2130: 20 55 4c 4f 4e 47 4c 4f 4e 47 20 51 75 61 64 50   ULONGLONG QuadP
2140: 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  art;..}..alias _
2150: 55 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 55  ULARGE_INTEGER U
2160: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 3b 0d 0a  LARGE_INTEGER;..
2170: 0d 0a 61 6c 69 61 73 20 55 4c 41 52 47 45 5f 49  ..alias ULARGE_I
2180: 4e 54 45 47 45 52 2a 20 50 55 4c 41 52 47 45 5f  NTEGER* PULARGE_
2190: 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 73 74 72 75  INTEGER;....stru
21a0: 63 74 20 5f 4c 55 49 44 20 7b 0d 0a 20 20 44 57  ct _LUID {..  DW
21b0: 4f 52 44 20 4c 6f 77 50 61 72 74 3b 0d 0a 20 20  ORD LowPart;..  
21c0: 4c 4f 4e 47 20 48 69 67 68 50 61 72 74 3b 0d 0a  LONG HighPart;..
21d0: 7d 0d 0a 61 6c 69 61 73 20 5f 4c 55 49 44 20 4c  }..alias _LUID L
21e0: 55 49 44 3b 0d 0a 61 6c 69 61 73 20 5f 4c 55 49  UID;..alias _LUI
21f0: 44 2a 20 50 4c 55 49 44 3b 0d 0a 0d 0a 2f 2f 20  D* PLUID;....// 
2200: 23 64 65 66 69 6e 65 20 5f 44 57 4f 52 44 4c 4f  #define _DWORDLO
2210: 4e 47 5f 0d 0a 61 6c 69 61 73 20 55 4c 4f 4e 47  NG_..alias ULONG
2220: 4c 4f 4e 47 20 44 57 4f 52 44 4c 4f 4e 47 3b 0d  LONG DWORDLONG;.
2230: 0a 61 6c 69 61 73 20 44 57 4f 52 44 4c 4f 4e 47  .alias DWORDLONG
2240: 2a 20 50 44 57 4f 52 44 4c 4f 4e 47 3b 0d 0a 0d  * PDWORDLONG;...
2250: 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28  .// #if defined(
2260: 4d 49 44 4c 5f 50 41 53 53 29 20 7c 7c 20 64 65  MIDL_PASS) || de
2270: 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44  fined(RC_INVOKED
2280: 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  )....// #.....//
2290: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e   #.......// #...
22a0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
22b0: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 69 66 20 64  ......// #elif d
22c0: 65 66 69 6e 65 64 28 5f 4d 5f 4d 52 58 30 30 30  efined(_M_MRX000
22d0: 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  )....// #.....//
22e0: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e   #.......// #...
22f0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
2300: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  ......// #if def
2310: 69 6e 65 64 20 28 5f 5f 63 70 6c 75 73 70 6c 75  ined (__cplusplu
2320: 73 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  s)..// .....// #
2330: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  endif....// ....
2340: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
2350: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
2360: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69  .// .......// #i
2370: 66 20 64 65 66 69 6e 65 64 20 28 5f 5f 63 70 6c  f defined (__cpl
2380: 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 2e 2e 2e 0d  usplus)..// ....
2390: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
23a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
23b0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
23c0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
23d0: 2f 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28  / #elif defined(
23e0: 5f 4d 5f 49 58 38 36 29 0d 0a 0d 0a 6c 6f 6e 67  _M_IX86)....long
23f0: 20 49 6e 74 33 32 78 33 32 54 6f 36 34 28 69 6e   Int32x32To64(in
2400: 74 20 61 2c 20 69 6e 74 20 62 29 20 7b 20 72 65  t a, int b) { re
2410: 74 75 72 6e 20 28 63 61 73 74 28 6c 6f 6e 67 29  turn (cast(long)
2420: 61 29 20 2a 20 62 3b 20 7d 0d 0a 75 6c 6f 6e 67  a) * b; }..ulong
2430: 20 55 49 6e 74 33 32 78 33 32 54 6f 36 34 28 75   UInt32x32To64(u
2440: 69 6e 74 20 61 2c 20 75 69 6e 74 20 62 29 20 7b  int a, uint b) {
2450: 20 72 65 74 75 72 6e 20 28 63 61 73 74 28 75 6c   return (cast(ul
2460: 6f 6e 67 29 61 29 20 2a 20 62 3b 20 7d 0d 0a 0d  ong)a) * b; }...
2470: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2480: 20 65 78 70 6f 72 74 20 55 4c 4f 4e 47 4c 4f 4e   export ULONGLON
2490: 47 20 49 6e 74 36 34 53 68 6c 6c 4d 6f 64 33 32  G Int64ShllMod32
24a0: 28 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 56  (..  ULONGLONG V
24b0: 61 6c 75 65 2c 0d 0a 20 20 44 57 4f 52 44 20 53  alue,..  DWORD S
24c0: 68 69 66 74 43 6f 75 6e 74 29 3b 0d 0a 0d 0a 65  hiftCount);....e
24d0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
24e0: 78 70 6f 72 74 20 4c 4f 4e 47 4c 4f 4e 47 20 49  xport LONGLONG I
24f0: 6e 74 36 34 53 68 72 61 4d 6f 64 33 32 28 0d 0a  nt64ShraMod32(..
2500: 20 20 4c 4f 4e 47 4c 4f 4e 47 20 56 61 6c 75 65    LONGLONG Value
2510: 2c 0d 0a 20 20 44 57 4f 52 44 20 53 68 69 66 74  ,..  DWORD Shift
2520: 43 6f 75 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  Count);....exter
2530: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
2540: 74 20 55 4c 4f 4e 47 4c 4f 4e 47 20 49 6e 74 36  t ULONGLONG Int6
2550: 34 53 68 72 6c 4d 6f 64 33 32 28 0d 0a 20 20 55  4ShrlMod32(..  U
2560: 4c 4f 4e 47 4c 4f 4e 47 20 56 61 6c 75 65 2c 0d  LONGLONG Value,.
2570: 0a 20 20 44 57 4f 52 44 20 53 68 69 66 74 43 6f  .  DWORD ShiftCo
2580: 75 6e 74 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20  unt);....// #if 
2590: 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30  _MSC_VER >= 1200
25a0: 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72  ..// #pragma war
25b0: 6e 69 6e 67 28 70 75 73 68 29 0d 0a 2f 2f 20 23  ning(push)..// #
25c0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 70 72 61 67 6d  endif..// #pragm
25d0: 61 20 77 61 72 6e 69 6e 67 28 64 69 73 61 62 6c  a warning(disabl
25e0: 65 3a 34 30 33 35 29 20 20 20 20 20 20 20 20 20  e:4035)         
25f0: 20 20 20 20 20 20 2f 2f 20 72 65 2d 65 6e 61 62        // re-enab
2600: 6c 65 20 62 65 6c 6f 77 0d 0a 0d 0a 2f 2f 20 5f  le below....// _
2610: 5f 69 6e 6c 69 6e 65 20 55 4c 4f 4e 47 4c 4f 4e  _inline ULONGLON
2620: 47 20 49 6e 74 36 34 53 68 6c 6c 4d 6f 64 33 32  G Int64ShllMod32
2630: 28 20 20 20 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20  (     ULONGLONG 
2640: 56 61 6c 75 65 2c 20 20 20 20 20 44 57 4f 52 44  Value,     DWORD
2650: 20 53 68 69 66 74 43 6f 75 6e 74 20 20 20 20 20   ShiftCount     
2660: 29 3b 0d 0a 0d 0a 2f 2f 20 5f 5f 69 6e 6c 69 6e  );....// __inlin
2670: 65 20 4c 4f 4e 47 4c 4f 4e 47 20 49 6e 74 36 34  e LONGLONG Int64
2680: 53 68 72 61 4d 6f 64 33 32 28 20 20 20 20 20 4c  ShraMod32(     L
2690: 4f 4e 47 4c 4f 4e 47 20 56 61 6c 75 65 2c 20 20  ONGLONG Value,  
26a0: 20 20 20 44 57 4f 52 44 20 53 68 69 66 74 43 6f     DWORD ShiftCo
26b0: 75 6e 74 20 20 20 20 20 29 3b 0d 0a 0d 0a 2f 2f  unt     );....//
26c0: 20 5f 5f 69 6e 6c 69 6e 65 20 55 4c 4f 4e 47 4c   __inline ULONGL
26d0: 4f 4e 47 20 49 6e 74 36 34 53 68 72 6c 4d 6f 64  ONG Int64ShrlMod
26e0: 33 32 28 20 20 20 20 20 55 4c 4f 4e 47 4c 4f 4e  32(     ULONGLON
26f0: 47 20 56 61 6c 75 65 2c 20 20 20 20 20 44 57 4f  G Value,     DWO
2700: 52 44 20 53 68 69 66 74 43 6f 75 6e 74 20 20 20  RD ShiftCount   
2710: 20 20 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f    );....// #if _
2720: 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30 0d  MSC_VER >= 1200.
2730: 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72 6e  .// #pragma warn
2740: 69 6e 67 28 70 6f 70 29 0d 0a 2f 2f 20 23 65 6c  ing(pop)..// #el
2750: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
2760: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c  #endif....// #el
2770: 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4c  if defined(_M_AL
2780: 50 48 41 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d  PHA)....// #....
2790: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  .// #.......// #
27a0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
27b0: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 69   #.......// #eli
27c0: 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 50 50 43  f defined(_M_PPC
27d0: 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  )....// #.....//
27e0: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e   #.......// #...
27f0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
2800: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 69 66 20 64  ......// #elif d
2810: 65 66 69 6e 65 64 28 5f 36 38 4b 5f 29 20 7c 7c  efined(_68K_) ||
2820: 20 64 65 66 69 6e 65 64 28 5f 4d 50 50 43 5f 29   defined(_MPPC_)
2830: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
2840: 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d  #.......// #....
2850: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
2860: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 69 66 20 64 65  .....// #elif de
2870: 66 69 6e 65 64 28 5f 4d 5f 49 41 36 34 29 20 7c  fined(_M_IA64) |
2880: 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4d 44  | defined(_M_AMD
2890: 36 34 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  64)....// #.....
28a0: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  // #.......// #.
28b0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
28c0: 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  #.......// #else
28d0: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
28e0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
28f0: 20 3a 20 43 48 41 52 20 7b 20 41 4e 53 49 5f 4e   : CHAR { ANSI_N
2900: 55 4c 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ULL = 0 }..enum 
2910: 3a 20 57 43 48 41 52 20 7b 20 55 4e 49 43 4f 44  : WCHAR { UNICOD
2920: 45 5f 4e 55 4c 4c 20 3d 20 30 20 7d 0d 0a 65 6e  E_NULL = 0 }..en
2930: 75 6d 20 3a 20 57 4f 52 44 20 7b 20 55 4e 49 43  um : WORD { UNIC
2940: 4f 44 45 5f 53 54 52 49 4e 47 5f 4d 41 58 5f 42  ODE_STRING_MAX_B
2950: 59 54 45 53 20 3d 20 36 35 35 33 34 20 7d 0d 0a  YTES = 65534 }..
2960: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4e  enum : uint { UN
2970: 49 43 4f 44 45 5f 53 54 52 49 4e 47 5f 4d 41 58  ICODE_STRING_MAX
2980: 5f 43 48 41 52 53 20 3d 20 33 32 37 36 37 20 7d  _CHARS = 32767 }
2990: 0d 0a 61 6c 69 61 73 20 42 59 54 45 20 42 4f 4f  ..alias BYTE BOO
29a0: 4c 45 41 4e 3b 0d 0a 61 6c 69 61 73 20 42 4f 4f  LEAN;..alias BOO
29b0: 4c 45 41 4e 2a 20 50 42 4f 4f 4c 45 41 4e 3b 0d  LEAN* PBOOLEAN;.
29c0: 0a 0d 0a 73 74 72 75 63 74 20 5f 4c 49 53 54 5f  ...struct _LIST_
29d0: 45 4e 54 52 59 20 7b 0d 0a 20 20 5f 4c 49 53 54  ENTRY {..  _LIST
29e0: 5f 45 4e 54 52 59 20 2a 46 6c 69 6e 6b 3b 0d 0a  _ENTRY *Flink;..
29f0: 20 20 5f 4c 49 53 54 5f 45 4e 54 52 59 20 2a 42    _LIST_ENTRY *B
2a00: 6c 69 6e 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  link;..}..alias 
2a10: 5f 4c 49 53 54 5f 45 4e 54 52 59 20 4c 49 53 54  _LIST_ENTRY LIST
2a20: 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f  _ENTRY;..alias _
2a30: 4c 49 53 54 5f 45 4e 54 52 59 2a 20 50 4c 49 53  LIST_ENTRY* PLIS
2a40: 54 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20  T_ENTRY;..alias 
2a50: 5f 4c 49 53 54 5f 45 4e 54 52 59 2a 20 52 45 53  _LIST_ENTRY* RES
2a60: 54 52 49 43 54 45 44 5f 50 4f 49 4e 54 45 52 50  TRICTED_POINTERP
2a70: 52 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 0d 0a  RLIST_ENTRY;....
2a80: 73 74 72 75 63 74 20 5f 53 49 4e 47 4c 45 5f 4c  struct _SINGLE_L
2a90: 49 53 54 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 5f  IST_ENTRY {..  _
2aa0: 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 52  SINGLE_LIST_ENTR
2ab0: 59 20 2a 4e 65 78 74 3b 0d 0a 7d 0d 0a 61 6c 69  Y *Next;..}..ali
2ac0: 61 73 20 5f 53 49 4e 47 4c 45 5f 4c 49 53 54 5f  as _SINGLE_LIST_
2ad0: 45 4e 54 52 59 20 53 49 4e 47 4c 45 5f 4c 49 53  ENTRY SINGLE_LIS
2ae0: 54 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20  T_ENTRY;..alias 
2af0: 5f 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e 54  _SINGLE_LIST_ENT
2b00: 52 59 2a 20 50 53 49 4e 47 4c 45 5f 4c 49 53 54  RY* PSINGLE_LIST
2b10: 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 73 74 72 75 63  _ENTRY;....struc
2b20: 74 20 4c 49 53 54 5f 45 4e 54 52 59 33 32 20 7b  t LIST_ENTRY32 {
2b30: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 69 6e 6b 3b  ..  DWORD Flink;
2b40: 0d 0a 20 20 44 57 4f 52 44 20 42 6c 69 6e 6b 3b  ..  DWORD Blink;
2b50: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 49 53  ..}....alias LIS
2b60: 54 5f 45 4e 54 52 59 33 32 2a 20 50 4c 49 53 54  T_ENTRY32* PLIST
2b70: 5f 45 4e 54 52 59 33 32 3b 0d 0a 0d 0a 73 74 72  _ENTRY32;....str
2b80: 75 63 74 20 4c 49 53 54 5f 45 4e 54 52 59 36 34  uct LIST_ENTRY64
2b90: 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20   {..  ULONGLONG 
2ba0: 46 6c 69 6e 6b 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  Flink;..  ULONGL
2bb0: 4f 4e 47 20 42 6c 69 6e 6b 3b 0d 0a 7d 0d 0a 0d  ONG Blink;..}...
2bc0: 0a 61 6c 69 61 73 20 4c 49 53 54 5f 45 4e 54 52  .alias LIST_ENTR
2bd0: 59 36 34 2a 20 50 4c 49 53 54 5f 45 4e 54 52 59  Y64* PLIST_ENTRY
2be0: 36 34 3b 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69  64;....import wi
2bf0: 6e 33 32 2e 67 75 69 64 64 65 66 3b 0d 0a 0d 0a  n32.guiddef;....
2c00: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 5f 4f 42 4a  // #ifndef __OBJ
2c10: 45 43 54 49 44 5f 44 45 46 49 4e 45 44 0d 0a 2f  ECTID_DEFINED../
2c20: 2f 20 23 64 65 66 69 6e 65 20 5f 5f 4f 42 4a 45  / #define __OBJE
2c30: 43 54 49 44 5f 44 45 46 49 4e 45 44 0d 0a 0d 0a  CTID_DEFINED....
2c40: 73 74 72 75 63 74 20 5f 4f 42 4a 45 43 54 49 44  struct _OBJECTID
2c50: 20 7b 0d 0a 20 20 47 55 49 44 20 4c 69 6e 65 61   {..  GUID Linea
2c60: 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20 55 6e 69  ge;..  DWORD Uni
2c70: 71 75 69 66 69 65 72 3b 0d 0a 7d 0d 0a 61 6c 69  quifier;..}..ali
2c80: 61 73 20 5f 4f 42 4a 45 43 54 49 44 20 4f 42 4a  as _OBJECTID OBJ
2c90: 45 43 54 49 44 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  ECTID;....// #en
2ca0: 64 69 66 20 2f 2f 20 21 5f 4f 42 4a 45 43 54 49  dif // !_OBJECTI
2cb0: 44 5f 44 45 46 49 4e 45 44 0d 0a 0d 0a 65 6e 75  D_DEFINED....enu
2cc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4e 43 48  m : uint { MINCH
2cd0: 41 52 20 3d 20 30 78 38 30 20 7d 0d 0a 65 6e 75  AR = 0x80 }..enu
2ce0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58 43 48  m : uint { MAXCH
2cf0: 41 52 20 3d 20 30 78 37 66 20 7d 0d 0a 65 6e 75  AR = 0x7f }..enu
2d00: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4e 53 48  m : uint { MINSH
2d10: 4f 52 54 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a  ORT = 0x8000 }..
2d20: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41  enum : uint { MA
2d30: 58 53 48 4f 52 54 20 3d 20 30 78 37 66 66 66 20  XSHORT = 0x7fff 
2d40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d50: 20 4d 49 4e 4c 4f 4e 47 20 3d 20 30 78 38 30 30   MINLONG = 0x800
2d60: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
2d70: 75 69 6e 74 20 7b 20 4d 41 58 4c 4f 4e 47 20 3d  uint { MAXLONG =
2d80: 20 30 78 37 66 66 66 66 66 66 66 20 7d 0d 0a 65   0x7fffffff }..e
2d90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58  num : uint { MAX
2da0: 42 59 54 45 20 3d 20 30 78 66 66 20 7d 0d 0a 65  BYTE = 0xff }..e
2db0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58  num : uint { MAX
2dc0: 57 4f 52 44 20 3d 20 30 78 66 66 66 66 20 7d 0d  WORD = 0xffff }.
2dd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2de0: 41 58 44 57 4f 52 44 20 3d 20 30 78 66 66 66 66  AXDWORD = 0xffff
2df0: 66 66 66 66 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65  ffff }....// #de
2e00: 66 69 6e 65 20 46 49 45 4c 44 5f 4f 46 46 53 45  fine FIELD_OFFSE
2e10: 54 28 74 79 70 65 2c 20 66 69 65 6c 64 29 20 28  T(type, field) (
2e20: 28 4c 4f 4e 47 29 28 4c 4f 4e 47 5f 50 54 52 29  (LONG)(LONG_PTR)
2e30: 26 28 28 28 74 79 70 65 20 2a 29 30 29 2d 3e 66  &(((type *)0)->f
2e40: 69 65 6c 64 29 29 0d 0a 0d 0a 2f 2f 20 23 69 66  ield))....// #if
2e50: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 20  (_WIN32_WINNT > 
2e60: 30 78 30 35 30 30 29 0d 0a 0d 0a 2f 2f 20 23 64  0x0500)....// #d
2e70: 65 66 69 6e 65 20 52 54 4c 5f 46 49 45 4c 44 5f  efine RTL_FIELD_
2e80: 53 49 5a 45 28 74 79 70 65 2c 20 66 69 65 6c 64  SIZE(type, field
2e90: 29 20 28 73 69 7a 65 6f 66 28 28 28 74 79 70 65  ) (sizeof(((type
2ea0: 20 2a 29 30 29 2d 3e 66 69 65 6c 64 29 29 0d 0a   *)0)->field))..
2eb0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52 54 4c  ..// #define RTL
2ec0: 5f 53 49 5a 45 4f 46 5f 54 48 52 4f 55 47 48 5f  _SIZEOF_THROUGH_
2ed0: 46 49 45 4c 44 28 74 79 70 65 2c 20 66 69 65 6c  FIELD(type, fiel
2ee0: 64 29 20 28 46 49 45 4c 44 5f 4f 46 46 53 45 54  d) (FIELD_OFFSET
2ef0: 28 74 79 70 65 2c 20 66 69 65 6c 64 29 20 2b 20  (type, field) + 
2f00: 52 54 4c 5f 46 49 45 4c 44 5f 53 49 5a 45 28 74  RTL_FIELD_SIZE(t
2f10: 79 70 65 2c 20 66 69 65 6c 64 29 29 0d 0a 0d 0a  ype, field))....
2f20: 2f 2f 20 23 64 65 66 69 6e 65 20 52 54 4c 5f 43  // #define RTL_C
2f30: 4f 4e 54 41 49 4e 53 5f 46 49 45 4c 44 28 53 74  ONTAINS_FIELD(St
2f40: 72 75 63 74 2c 20 53 69 7a 65 2c 20 46 69 65 6c  ruct, Size, Fiel
2f50: 64 29 20 28 20 28 28 28 50 43 48 41 52 29 28 26  d) ( (((PCHAR)(&
2f60: 28 53 74 72 75 63 74 29 2d 3e 46 69 65 6c 64 29  (Struct)->Field)
2f70: 29 20 2b 20 73 69 7a 65 6f 66 28 28 53 74 72 75  ) + sizeof((Stru
2f80: 63 74 29 2d 3e 46 69 65 6c 64 29 29 20 3c 3d 20  ct)->Field)) <= 
2f90: 28 28 28 50 43 48 41 52 29 28 53 74 72 75 63 74  (((PCHAR)(Struct
2fa0: 29 29 2b 28 53 69 7a 65 29 29 20 29 0d 0a 0d 0a  ))+(Size)) )....
2fb0: 2f 2f 20 23 64 65 66 69 6e 65 20 52 54 4c 5f 4e  // #define RTL_N
2fc0: 55 4d 42 45 52 5f 4f 46 28 41 29 20 28 73 69 7a  UMBER_OF(A) (siz
2fd0: 65 6f 66 28 41 29 2f 73 69 7a 65 6f 66 28 28 41  eof(A)/sizeof((A
2fe0: 29 5b 30 5d 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65  )[0]))....// #de
2ff0: 66 69 6e 65 20 52 54 4c 5f 46 49 45 4c 44 5f 54  fine RTL_FIELD_T
3000: 59 50 45 28 74 79 70 65 2c 20 66 69 65 6c 64 29  YPE(type, field)
3010: 20 28 28 28 74 79 70 65 2a 29 30 29 2d 3e 66 69   (((type*)0)->fi
3020: 65 6c 64 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  eld)....// #defi
3030: 6e 65 20 52 54 4c 5f 4e 55 4d 42 45 52 5f 4f 46  ne RTL_NUMBER_OF
3040: 5f 46 49 45 4c 44 28 74 79 70 65 2c 20 66 69 65  _FIELD(type, fie
3050: 6c 64 29 20 28 52 54 4c 5f 4e 55 4d 42 45 52 5f  ld) (RTL_NUMBER_
3060: 4f 46 28 52 54 4c 5f 46 49 45 4c 44 5f 54 59 50  OF(RTL_FIELD_TYP
3070: 45 28 74 79 70 65 2c 20 66 69 65 6c 64 29 29 29  E(type, field)))
3080: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52  ....// #define R
3090: 54 4c 5f 50 41 44 44 49 4e 47 5f 42 45 54 57 45  TL_PADDING_BETWE
30a0: 45 4e 5f 46 49 45 4c 44 53 28 54 2c 20 46 31 2c  EN_FIELDS(T, F1,
30b0: 20 46 32 29 20 28 28 46 49 45 4c 44 5f 4f 46 46   F2) ((FIELD_OFF
30c0: 53 45 54 28 54 2c 20 46 32 29 20 3e 20 46 49 45  SET(T, F2) > FIE
30d0: 4c 44 5f 4f 46 46 53 45 54 28 54 2c 20 46 31 29  LD_OFFSET(T, F1)
30e0: 29 20 3f 20 28 46 49 45 4c 44 5f 4f 46 46 53 45  ) ? (FIELD_OFFSE
30f0: 54 28 54 2c 20 46 32 29 20 2d 20 46 49 45 4c 44  T(T, F2) - FIELD
3100: 5f 4f 46 46 53 45 54 28 54 2c 20 46 31 29 20 2d  _OFFSET(T, F1) -
3110: 20 52 54 4c 5f 46 49 45 4c 44 5f 53 49 5a 45 28   RTL_FIELD_SIZE(
3120: 54 2c 20 46 31 29 29 20 3a 20 28 46 49 45 4c 44  T, F1)) : (FIELD
3130: 5f 4f 46 46 53 45 54 28 54 2c 20 46 31 29 20 2d  _OFFSET(T, F1) -
3140: 20 46 49 45 4c 44 5f 4f 46 46 53 45 54 28 54 2c   FIELD_OFFSET(T,
3150: 20 46 32 29 20 2d 20 52 54 4c 5f 46 49 45 4c 44   F2) - RTL_FIELD
3160: 5f 53 49 5a 45 28 54 2c 20 46 32 29 29 29 0d 0a  _SIZE(T, F2)))..
3170: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
3180: 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d 0a 2f  (__cplusplus)../
3190: 2f 20 23 64 65 66 69 6e 65 20 52 54 4c 5f 43 4f  / #define RTL_CO
31a0: 4e 53 54 5f 43 41 53 54 28 74 79 70 65 29 20 63  NST_CAST(type) c
31b0: 6f 6e 73 74 5f 63 61 73 74 3c 74 79 70 65 3e 0d  onst_cast<type>.
31c0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
31d0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
31e0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52 54 4c 5f  .// #define RTL_
31f0: 42 49 54 53 5f 4f 46 28 73 69 7a 65 4f 66 41 72  BITS_OF(sizeOfAr
3200: 67 29 20 28 73 69 7a 65 6f 66 28 73 69 7a 65 4f  g) (sizeof(sizeO
3210: 66 41 72 67 29 20 2a 20 38 29 0d 0a 0d 0a 2f 2f  fArg) * 8)....//
3220: 20 23 64 65 66 69 6e 65 20 52 54 4c 5f 42 49 54   #define RTL_BIT
3230: 53 5f 4f 46 5f 46 49 45 4c 44 28 74 79 70 65 2c  S_OF_FIELD(type,
3240: 20 66 69 65 6c 64 29 20 28 52 54 4c 5f 42 49 54   field) (RTL_BIT
3250: 53 5f 4f 46 28 52 54 4c 5f 46 49 45 4c 44 5f 54  S_OF(RTL_FIELD_T
3260: 59 50 45 28 74 79 70 65 2c 20 66 69 65 6c 64 29  YPE(type, field)
3270: 29 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ))....// #endif 
3280: 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
3290: 3e 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  > 0x0500 */..../
32a0: 2f 20 23 64 65 66 69 6e 65 20 43 4f 4e 54 41 49  / #define CONTAI
32b0: 4e 49 4e 47 5f 52 45 43 4f 52 44 28 61 64 64 72  NING_RECORD(addr
32c0: 65 73 73 2c 20 74 79 70 65 2c 20 66 69 65 6c 64  ess, type, field
32d0: 29 20 28 28 74 79 70 65 20 2a 29 28 20 28 50 43  ) ((type *)( (PC
32e0: 48 41 52 29 28 61 64 64 72 65 73 73 29 20 2d 20  HAR)(address) - 
32f0: 28 55 4c 4f 4e 47 5f 50 54 52 29 28 26 28 28 74  (ULONG_PTR)(&((t
3300: 79 70 65 20 2a 29 30 29 2d 3e 66 69 65 6c 64 29  ype *)0)->field)
3310: 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
3320: 74 20 7b 20 56 45 52 5f 53 45 52 56 45 52 5f 4e  t { VER_SERVER_N
3330: 54 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  T = 0x80000000 }
3340: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3350: 56 45 52 5f 57 4f 52 4b 53 54 41 54 49 4f 4e 5f  VER_WORKSTATION_
3360: 4e 54 20 3d 20 30 78 34 30 30 30 30 30 30 30 20  NT = 0x40000000 
3370: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3380: 20 56 45 52 5f 53 55 49 54 45 5f 53 4d 41 4c 4c   VER_SUITE_SMALL
3390: 42 55 53 49 4e 45 53 53 20 3d 20 30 78 30 30 30  BUSINESS = 0x000
33a0: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
33b0: 75 69 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45  uint { VER_SUITE
33c0: 5f 45 4e 54 45 52 50 52 49 53 45 20 3d 20 30 78  _ENTERPRISE = 0x
33d0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
33e0: 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 53 55   : uint { VER_SU
33f0: 49 54 45 5f 42 41 43 4b 4f 46 46 49 43 45 20 3d  ITE_BACKOFFICE =
3400: 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
3410: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52  num : uint { VER
3420: 5f 53 55 49 54 45 5f 43 4f 4d 4d 55 4e 49 43 41  _SUITE_COMMUNICA
3430: 54 49 4f 4e 53 20 3d 20 30 78 30 30 30 30 30 30  TIONS = 0x000000
3440: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
3450: 74 20 7b 20 56 45 52 5f 53 55 49 54 45 5f 54 45  t { VER_SUITE_TE
3460: 52 4d 49 4e 41 4c 20 3d 20 30 78 30 30 30 30 30  RMINAL = 0x00000
3470: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
3480: 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45 5f 53  nt { VER_SUITE_S
3490: 4d 41 4c 4c 42 55 53 49 4e 45 53 53 5f 52 45 53  MALLBUSINESS_RES
34a0: 54 52 49 43 54 45 44 20 3d 20 30 78 30 30 30 30  TRICTED = 0x0000
34b0: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
34c0: 69 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45 5f  int { VER_SUITE_
34d0: 45 4d 42 45 44 44 45 44 4e 54 20 3d 20 30 78 30  EMBEDDEDNT = 0x0
34e0: 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20  0000040 }..enum 
34f0: 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 53 55 49  : uint { VER_SUI
3500: 54 45 5f 44 41 54 41 43 45 4e 54 45 52 20 3d 20  TE_DATACENTER = 
3510: 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e  0x00000080 }..en
3520: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
3530: 53 55 49 54 45 5f 53 49 4e 47 4c 45 55 53 45 52  SUITE_SINGLEUSER
3540: 54 53 20 3d 20 30 78 30 30 30 30 30 31 30 30 20  TS = 0x00000100 
3550: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3560: 20 56 45 52 5f 53 55 49 54 45 5f 50 45 52 53 4f   VER_SUITE_PERSO
3570: 4e 41 4c 20 3d 20 30 78 30 30 30 30 30 32 30 30  NAL = 0x00000200
3580: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3590: 7b 20 56 45 52 5f 53 55 49 54 45 5f 42 4c 41 44  { VER_SUITE_BLAD
35a0: 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  E = 0x00000400 }
35b0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
35c0: 7b 20 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20 3d  { LANG_NEUTRAL =
35d0: 20 30 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x00 }..enum : 
35e0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 49 4e 56 41  uint { LANG_INVA
35f0: 52 49 41 4e 54 20 3d 20 30 78 37 66 20 7d 0d 0a  RIANT = 0x7f }..
3600: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3610: 4c 41 4e 47 5f 41 46 52 49 4b 41 41 4e 53 20 3d  LANG_AFRIKAANS =
3620: 20 30 78 33 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x36 }..enum : 
3630: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 41 4c 42 41  uint { LANG_ALBA
3640: 4e 49 41 4e 20 3d 20 30 78 31 63 20 7d 0d 0a 65  NIAN = 0x1c }..e
3650: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3660: 47 5f 41 52 41 42 49 43 20 3d 20 30 78 30 31 20  G_ARABIC = 0x01 
3670: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3680: 20 4c 41 4e 47 5f 41 52 4d 45 4e 49 41 4e 20 3d   LANG_ARMENIAN =
3690: 20 30 78 32 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x2b }..enum : 
36a0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 41 53 53 41  uint { LANG_ASSA
36b0: 4d 45 53 45 20 3d 20 30 78 34 64 20 7d 0d 0a 65  MESE = 0x4d }..e
36c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
36d0: 47 5f 41 5a 45 52 49 20 3d 20 30 78 32 63 20 7d  G_AZERI = 0x2c }
36e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
36f0: 4c 41 4e 47 5f 42 41 53 51 55 45 20 3d 20 30 78  LANG_BASQUE = 0x
3700: 32 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  2d }..enum : uin
3710: 74 20 7b 20 4c 41 4e 47 5f 42 45 4c 41 52 55 53  t { LANG_BELARUS
3720: 49 41 4e 20 3d 20 30 78 32 33 20 7d 0d 0a 65 6e  IAN = 0x23 }..en
3730: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
3740: 5f 42 45 4e 47 41 4c 49 20 3d 20 30 78 34 35 20  _BENGALI = 0x45 
3750: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3760: 20 4c 41 4e 47 5f 42 55 4c 47 41 52 49 41 4e 20   LANG_BULGARIAN 
3770: 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x02 }..enum :
3780: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 43 41 54   uint { LANG_CAT
3790: 41 4c 41 4e 20 3d 20 30 78 30 33 20 7d 0d 0a 65  ALAN = 0x03 }..e
37a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
37b0: 47 5f 43 48 49 4e 45 53 45 20 3d 20 30 78 30 34  G_CHINESE = 0x04
37c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37d0: 7b 20 4c 41 4e 47 5f 43 52 4f 41 54 49 41 4e 20  { LANG_CROATIAN 
37e0: 3d 20 30 78 31 61 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x1a }..enum :
37f0: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 43 5a 45   uint { LANG_CZE
3800: 43 48 20 3d 20 30 78 30 35 20 7d 0d 0a 65 6e 75  CH = 0x05 }..enu
3810: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3820: 44 41 4e 49 53 48 20 3d 20 30 78 30 36 20 7d 0d  DANISH = 0x06 }.
3830: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3840: 41 4e 47 5f 44 49 56 45 48 49 20 3d 20 30 78 36  ANG_DIVEHI = 0x6
3850: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
3860: 20 7b 20 4c 41 4e 47 5f 44 55 54 43 48 20 3d 20   { LANG_DUTCH = 
3870: 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x13 }..enum : u
3880: 69 6e 74 20 7b 20 4c 41 4e 47 5f 45 4e 47 4c 49  int { LANG_ENGLI
3890: 53 48 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e 75  SH = 0x09 }..enu
38a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
38b0: 45 53 54 4f 4e 49 41 4e 20 3d 20 30 78 32 35 20  ESTONIAN = 0x25 
38c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
38d0: 20 4c 41 4e 47 5f 46 41 45 52 4f 45 53 45 20 3d   LANG_FAEROESE =
38e0: 20 30 78 33 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x38 }..enum : 
38f0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 46 41 52 53  uint { LANG_FARS
3900: 49 20 3d 20 30 78 32 39 20 7d 0d 0a 65 6e 75 6d  I = 0x29 }..enum
3910: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 46   : uint { LANG_F
3920: 49 4e 4e 49 53 48 20 3d 20 30 78 30 62 20 7d 0d  INNISH = 0x0b }.
3930: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3940: 41 4e 47 5f 46 52 45 4e 43 48 20 3d 20 30 78 30  ANG_FRENCH = 0x0
3950: 63 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  c }..enum : uint
3960: 20 7b 20 4c 41 4e 47 5f 47 41 4c 49 43 49 41 4e   { LANG_GALICIAN
3970: 20 3d 20 30 78 35 36 20 7d 0d 0a 65 6e 75 6d 20   = 0x56 }..enum 
3980: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 47 45  : uint { LANG_GE
3990: 4f 52 47 49 41 4e 20 3d 20 30 78 33 37 20 7d 0d  ORGIAN = 0x37 }.
39a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
39b0: 41 4e 47 5f 47 45 52 4d 41 4e 20 3d 20 30 78 30  ANG_GERMAN = 0x0
39c0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
39d0: 20 7b 20 4c 41 4e 47 5f 47 52 45 45 4b 20 3d 20   { LANG_GREEK = 
39e0: 30 78 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x08 }..enum : u
39f0: 69 6e 74 20 7b 20 4c 41 4e 47 5f 47 55 4a 41 52  int { LANG_GUJAR
3a00: 41 54 49 20 3d 20 30 78 34 37 20 7d 0d 0a 65 6e  ATI = 0x47 }..en
3a10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
3a20: 5f 48 45 42 52 45 57 20 3d 20 30 78 30 64 20 7d  _HEBREW = 0x0d }
3a30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3a40: 4c 41 4e 47 5f 48 49 4e 44 49 20 3d 20 30 78 33  LANG_HINDI = 0x3
3a50: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
3a60: 20 7b 20 4c 41 4e 47 5f 48 55 4e 47 41 52 49 41   { LANG_HUNGARIA
3a70: 4e 20 3d 20 30 78 30 65 20 7d 0d 0a 65 6e 75 6d  N = 0x0e }..enum
3a80: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 49   : uint { LANG_I
3a90: 43 45 4c 41 4e 44 49 43 20 3d 20 30 78 30 66 20  CELANDIC = 0x0f 
3aa0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3ab0: 20 4c 41 4e 47 5f 49 4e 44 4f 4e 45 53 49 41 4e   LANG_INDONESIAN
3ac0: 20 3d 20 30 78 32 31 20 7d 0d 0a 65 6e 75 6d 20   = 0x21 }..enum 
3ad0: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 49 54  : uint { LANG_IT
3ae0: 41 4c 49 41 4e 20 3d 20 30 78 31 30 20 7d 0d 0a  ALIAN = 0x10 }..
3af0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3b00: 4e 47 5f 4a 41 50 41 4e 45 53 45 20 3d 20 30 78  NG_JAPANESE = 0x
3b10: 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
3b20: 74 20 7b 20 4c 41 4e 47 5f 4b 41 4e 4e 41 44 41  t { LANG_KANNADA
3b30: 20 3d 20 30 78 34 62 20 7d 0d 0a 65 6e 75 6d 20   = 0x4b }..enum 
3b40: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4b 41  : uint { LANG_KA
3b50: 53 48 4d 49 52 49 20 3d 20 30 78 36 30 20 7d 0d  SHMIRI = 0x60 }.
3b60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3b70: 41 4e 47 5f 4b 41 5a 41 4b 20 3d 20 30 78 33 66  ANG_KAZAK = 0x3f
3b80: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3b90: 7b 20 4c 41 4e 47 5f 4b 4f 4e 4b 41 4e 49 20 3d  { LANG_KONKANI =
3ba0: 20 30 78 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x57 }..enum : 
3bb0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4b 4f 52 45  uint { LANG_KORE
3bc0: 41 4e 20 3d 20 30 78 31 32 20 7d 0d 0a 65 6e 75  AN = 0x12 }..enu
3bd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3be0: 4b 59 52 47 59 5a 20 3d 20 30 78 34 30 20 7d 0d  KYRGYZ = 0x40 }.
3bf0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3c00: 41 4e 47 5f 4c 41 54 56 49 41 4e 20 3d 20 30 78  ANG_LATVIAN = 0x
3c10: 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  26 }..enum : uin
3c20: 74 20 7b 20 4c 41 4e 47 5f 4c 49 54 48 55 41 4e  t { LANG_LITHUAN
3c30: 49 41 4e 20 3d 20 30 78 32 37 20 7d 0d 0a 65 6e  IAN = 0x27 }..en
3c40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
3c50: 5f 4d 41 43 45 44 4f 4e 49 41 4e 20 3d 20 30 78  _MACEDONIAN = 0x
3c60: 32 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  2f }..enum : uin
3c70: 74 20 7b 20 4c 41 4e 47 5f 4d 41 4c 41 59 20 3d  t { LANG_MALAY =
3c80: 20 30 78 33 65 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x3e }..enum : 
3c90: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4d 41 4c 41  uint { LANG_MALA
3ca0: 59 41 4c 41 4d 20 3d 20 30 78 34 63 20 7d 0d 0a  YALAM = 0x4c }..
3cb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3cc0: 4e 47 5f 4d 41 4e 49 50 55 52 49 20 3d 20 30 78  NG_MANIPURI = 0x
3cd0: 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  58 }..enum : uin
3ce0: 74 20 7b 20 4c 41 4e 47 5f 4d 41 52 41 54 48 49  t { LANG_MARATHI
3cf0: 20 3d 20 30 78 34 65 20 7d 0d 0a 65 6e 75 6d 20   = 0x4e }..enum 
3d00: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4d 4f  : uint { LANG_MO
3d10: 4e 47 4f 4c 49 41 4e 20 3d 20 30 78 35 30 20 7d  NGOLIAN = 0x50 }
3d20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3d30: 4c 41 4e 47 5f 4e 45 50 41 4c 49 20 3d 20 30 78  LANG_NEPALI = 0x
3d40: 36 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  61 }..enum : uin
3d50: 74 20 7b 20 4c 41 4e 47 5f 4e 4f 52 57 45 47 49  t { LANG_NORWEGI
3d60: 41 4e 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75  AN = 0x14 }..enu
3d70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3d80: 4f 52 49 59 41 20 3d 20 30 78 34 38 20 7d 0d 0a  ORIYA = 0x48 }..
3d90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3da0: 4e 47 5f 50 4f 4c 49 53 48 20 3d 20 30 78 31 35  NG_POLISH = 0x15
3db0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3dc0: 7b 20 4c 41 4e 47 5f 50 4f 52 54 55 47 55 45 53  { LANG_PORTUGUES
3dd0: 45 20 3d 20 30 78 31 36 20 7d 0d 0a 65 6e 75 6d  E = 0x16 }..enum
3de0: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 50   : uint { LANG_P
3df0: 55 4e 4a 41 42 49 20 3d 20 30 78 34 36 20 7d 0d  UNJABI = 0x46 }.
3e00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3e10: 41 4e 47 5f 52 4f 4d 41 4e 49 41 4e 20 3d 20 30  ANG_ROMANIAN = 0
3e20: 78 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x18 }..enum : ui
3e30: 6e 74 20 7b 20 4c 41 4e 47 5f 52 55 53 53 49 41  nt { LANG_RUSSIA
3e40: 4e 20 3d 20 30 78 31 39 20 7d 0d 0a 65 6e 75 6d  N = 0x19 }..enum
3e50: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53   : uint { LANG_S
3e60: 41 4e 53 4b 52 49 54 20 3d 20 30 78 34 66 20 7d  ANSKRIT = 0x4f }
3e70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3e80: 4c 41 4e 47 5f 53 45 52 42 49 41 4e 20 3d 20 30  LANG_SERBIAN = 0
3e90: 78 31 61 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x1a }..enum : ui
3ea0: 6e 74 20 7b 20 4c 41 4e 47 5f 53 49 4e 44 48 49  nt { LANG_SINDHI
3eb0: 20 3d 20 30 78 35 39 20 7d 0d 0a 65 6e 75 6d 20   = 0x59 }..enum 
3ec0: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53 4c  : uint { LANG_SL
3ed0: 4f 56 41 4b 20 3d 20 30 78 31 62 20 7d 0d 0a 65  OVAK = 0x1b }..e
3ee0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3ef0: 47 5f 53 4c 4f 56 45 4e 49 41 4e 20 3d 20 30 78  G_SLOVENIAN = 0x
3f00: 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  24 }..enum : uin
3f10: 74 20 7b 20 4c 41 4e 47 5f 53 50 41 4e 49 53 48  t { LANG_SPANISH
3f20: 20 3d 20 30 78 30 61 20 7d 0d 0a 65 6e 75 6d 20   = 0x0a }..enum 
3f30: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53 57  : uint { LANG_SW
3f40: 41 48 49 4c 49 20 3d 20 30 78 34 31 20 7d 0d 0a  AHILI = 0x41 }..
3f50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3f60: 4e 47 5f 53 57 45 44 49 53 48 20 3d 20 30 78 31  NG_SWEDISH = 0x1
3f70: 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  d }..enum : uint
3f80: 20 7b 20 4c 41 4e 47 5f 53 59 52 49 41 43 20 3d   { LANG_SYRIAC =
3f90: 20 30 78 35 61 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x5a }..enum : 
3fa0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 54 41 4d 49  uint { LANG_TAMI
3fb0: 4c 20 3d 20 30 78 34 39 20 7d 0d 0a 65 6e 75 6d  L = 0x49 }..enum
3fc0: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 54   : uint { LANG_T
3fd0: 41 54 41 52 20 3d 20 30 78 34 34 20 7d 0d 0a 65  ATAR = 0x44 }..e
3fe0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3ff0: 47 5f 54 45 4c 55 47 55 20 3d 20 30 78 34 61 20  G_TELUGU = 0x4a 
4000: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4010: 20 4c 41 4e 47 5f 54 48 41 49 20 3d 20 30 78 31   LANG_THAI = 0x1
4020: 65 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  e }..enum : uint
4030: 20 7b 20 4c 41 4e 47 5f 54 55 52 4b 49 53 48 20   { LANG_TURKISH 
4040: 3d 20 30 78 31 66 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x1f }..enum :
4050: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 55 4b 52   uint { LANG_UKR
4060: 41 49 4e 49 41 4e 20 3d 20 30 78 32 32 20 7d 0d  AINIAN = 0x22 }.
4070: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
4080: 41 4e 47 5f 55 52 44 55 20 3d 20 30 78 32 30 20  ANG_URDU = 0x20 
4090: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
40a0: 20 4c 41 4e 47 5f 55 5a 42 45 4b 20 3d 20 30 78   LANG_UZBEK = 0x
40b0: 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  43 }..enum : uin
40c0: 74 20 7b 20 4c 41 4e 47 5f 56 49 45 54 4e 41 4d  t { LANG_VIETNAM
40d0: 45 53 45 20 3d 20 30 78 32 61 20 7d 0d 0a 0d 0a  ESE = 0x2a }....
40e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
40f0: 42 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20 3d 20  BLANG_NEUTRAL = 
4100: 30 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x00 }..enum : u
4110: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 44 45  int { SUBLANG_DE
4120: 46 41 55 4c 54 20 3d 20 30 78 30 31 20 7d 0d 0a  FAULT = 0x01 }..
4130: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4140: 42 4c 41 4e 47 5f 53 59 53 5f 44 45 46 41 55 4c  BLANG_SYS_DEFAUL
4150: 54 20 3d 20 30 78 30 32 20 7d 0d 0a 0d 0a 65 6e  T = 0x02 }....en
4160: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
4170: 41 4e 47 5f 41 52 41 42 49 43 5f 53 41 55 44 49  ANG_ARABIC_SAUDI
4180: 5f 41 52 41 42 49 41 20 3d 20 30 78 30 31 20 7d  _ARABIA = 0x01 }
4190: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
41a0: 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 49  SUBLANG_ARABIC_I
41b0: 52 41 51 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e  RAQ = 0x02 }..en
41c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
41d0: 41 4e 47 5f 41 52 41 42 49 43 5f 45 47 59 50 54  ANG_ARABIC_EGYPT
41e0: 20 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20   = 0x03 }..enum 
41f0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4200: 5f 41 52 41 42 49 43 5f 4c 49 42 59 41 20 3d 20  _ARABIC_LIBYA = 
4210: 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x04 }..enum : u
4220: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52  int { SUBLANG_AR
4230: 41 42 49 43 5f 41 4c 47 45 52 49 41 20 3d 20 30  ABIC_ALGERIA = 0
4240: 78 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x05 }..enum : ui
4250: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41  nt { SUBLANG_ARA
4260: 42 49 43 5f 4d 4f 52 4f 43 43 4f 20 3d 20 30 78  BIC_MOROCCO = 0x
4270: 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
4280: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41 42  t { SUBLANG_ARAB
4290: 49 43 5f 54 55 4e 49 53 49 41 20 3d 20 30 78 30  IC_TUNISIA = 0x0
42a0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
42b0: 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41 42 49   { SUBLANG_ARABI
42c0: 43 5f 4f 4d 41 4e 20 3d 20 30 78 30 38 20 7d 0d  C_OMAN = 0x08 }.
42d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
42e0: 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 59 45  UBLANG_ARABIC_YE
42f0: 4d 45 4e 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e  MEN = 0x09 }..en
4300: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
4310: 41 4e 47 5f 41 52 41 42 49 43 5f 53 59 52 49 41  ANG_ARABIC_SYRIA
4320: 20 3d 20 30 78 30 61 20 7d 0d 0a 65 6e 75 6d 20   = 0x0a }..enum 
4330: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4340: 5f 41 52 41 42 49 43 5f 4a 4f 52 44 41 4e 20 3d  _ARABIC_JORDAN =
4350: 20 30 78 30 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x0b }..enum : 
4360: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41  uint { SUBLANG_A
4370: 52 41 42 49 43 5f 4c 45 42 41 4e 4f 4e 20 3d 20  RABIC_LEBANON = 
4380: 30 78 30 63 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x0c }..enum : u
4390: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52  int { SUBLANG_AR
43a0: 41 42 49 43 5f 4b 55 57 41 49 54 20 3d 20 30 78  ABIC_KUWAIT = 0x
43b0: 30 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0d }..enum : uin
43c0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41 42  t { SUBLANG_ARAB
43d0: 49 43 5f 55 41 45 20 3d 20 30 78 30 65 20 7d 0d  IC_UAE = 0x0e }.
43e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
43f0: 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 42 41  UBLANG_ARABIC_BA
4400: 48 52 41 49 4e 20 3d 20 30 78 30 66 20 7d 0d 0a  HRAIN = 0x0f }..
4410: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4420: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 51 41 54  BLANG_ARABIC_QAT
4430: 41 52 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75  AR = 0x10 }..enu
4440: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4450: 4e 47 5f 41 5a 45 52 49 5f 4c 41 54 49 4e 20 3d  NG_AZERI_LATIN =
4460: 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
4470: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41  uint { SUBLANG_A
4480: 5a 45 52 49 5f 43 59 52 49 4c 4c 49 43 20 3d 20  ZERI_CYRILLIC = 
4490: 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x02 }..enum : u
44a0: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 43 48  int { SUBLANG_CH
44b0: 49 4e 45 53 45 5f 54 52 41 44 49 54 49 4f 4e 41  INESE_TRADITIONA
44c0: 4c 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d  L = 0x01 }..enum
44d0: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
44e0: 47 5f 43 48 49 4e 45 53 45 5f 53 49 4d 50 4c 49  G_CHINESE_SIMPLI
44f0: 46 49 45 44 20 3d 20 30 78 30 32 20 7d 0d 0a 65  FIED = 0x02 }..e
4500: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4510: 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f 48 4f 4e  LANG_CHINESE_HON
4520: 47 4b 4f 4e 47 20 3d 20 30 78 30 33 20 7d 0d 0a  GKONG = 0x03 }..
4530: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4540: 42 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f 53 49  BLANG_CHINESE_SI
4550: 4e 47 41 50 4f 52 45 20 3d 20 30 78 30 34 20 7d  NGAPORE = 0x04 }
4560: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4570: 53 55 42 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f  SUBLANG_CHINESE_
4580: 4d 41 43 41 55 20 3d 20 30 78 30 35 20 7d 0d 0a  MACAU = 0x05 }..
4590: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
45a0: 42 4c 41 4e 47 5f 44 55 54 43 48 20 3d 20 30 78  BLANG_DUTCH = 0x
45b0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
45c0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 44 55 54 43  t { SUBLANG_DUTC
45d0: 48 5f 42 45 4c 47 49 41 4e 20 3d 20 30 78 30 32  H_BELGIAN = 0x02
45e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
45f0: 7b 20 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53  { SUBLANG_ENGLIS
4600: 48 5f 55 53 20 3d 20 30 78 30 31 20 7d 0d 0a 65  H_US = 0x01 }..e
4610: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4620: 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 55 4b 20  LANG_ENGLISH_UK 
4630: 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x02 }..enum :
4640: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4650: 45 4e 47 4c 49 53 48 5f 41 55 53 20 3d 20 30 78  ENGLISH_AUS = 0x
4660: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
4670: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 45 4e 47 4c  t { SUBLANG_ENGL
4680: 49 53 48 5f 43 41 4e 20 3d 20 30 78 30 34 20 7d  ISH_CAN = 0x04 }
4690: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
46a0: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f  SUBLANG_ENGLISH_
46b0: 4e 5a 20 3d 20 30 78 30 35 20 7d 0d 0a 65 6e 75  NZ = 0x05 }..enu
46c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
46d0: 4e 47 5f 45 4e 47 4c 49 53 48 5f 45 49 52 45 20  NG_ENGLISH_EIRE 
46e0: 3d 20 30 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x06 }..enum :
46f0: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4700: 45 4e 47 4c 49 53 48 5f 53 4f 55 54 48 5f 41 46  ENGLISH_SOUTH_AF
4710: 52 49 43 41 20 3d 20 30 78 30 37 20 7d 0d 0a 65  RICA = 0x07 }..e
4720: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4730: 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 4a 41 4d  LANG_ENGLISH_JAM
4740: 41 49 43 41 20 3d 20 30 78 30 38 20 7d 0d 0a 65  AICA = 0x08 }..e
4750: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4760: 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 43 41 52  LANG_ENGLISH_CAR
4770: 49 42 42 45 41 4e 20 3d 20 30 78 30 39 20 7d 0d  IBBEAN = 0x09 }.
4780: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
4790: 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 42  UBLANG_ENGLISH_B
47a0: 45 4c 49 5a 45 20 3d 20 30 78 30 61 20 7d 0d 0a  ELIZE = 0x0a }..
47b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
47c0: 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 54 52  BLANG_ENGLISH_TR
47d0: 49 4e 49 44 41 44 20 3d 20 30 78 30 62 20 7d 0d  INIDAD = 0x0b }.
47e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
47f0: 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 5a  UBLANG_ENGLISH_Z
4800: 49 4d 42 41 42 57 45 20 3d 20 30 78 30 63 20 7d  IMBABWE = 0x0c }
4810: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4820: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f  SUBLANG_ENGLISH_
4830: 50 48 49 4c 49 50 50 49 4e 45 53 20 3d 20 30 78  PHILIPPINES = 0x
4840: 30 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0d }..enum : uin
4850: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 46 52 45 4e  t { SUBLANG_FREN
4860: 43 48 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75  CH = 0x01 }..enu
4870: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4880: 4e 47 5f 46 52 45 4e 43 48 5f 42 45 4c 47 49 41  NG_FRENCH_BELGIA
4890: 4e 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d  N = 0x02 }..enum
48a0: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
48b0: 47 5f 46 52 45 4e 43 48 5f 43 41 4e 41 44 49 41  G_FRENCH_CANADIA
48c0: 4e 20 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d  N = 0x03 }..enum
48d0: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
48e0: 47 5f 46 52 45 4e 43 48 5f 53 57 49 53 53 20 3d  G_FRENCH_SWISS =
48f0: 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x04 }..enum : 
4900: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 46  uint { SUBLANG_F
4910: 52 45 4e 43 48 5f 4c 55 58 45 4d 42 4f 55 52 47  RENCH_LUXEMBOURG
4920: 20 3d 20 30 78 30 35 20 7d 0d 0a 65 6e 75 6d 20   = 0x05 }..enum 
4930: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4940: 5f 46 52 45 4e 43 48 5f 4d 4f 4e 41 43 4f 20 3d  _FRENCH_MONACO =
4950: 20 30 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x06 }..enum : 
4960: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 47  uint { SUBLANG_G
4970: 45 52 4d 41 4e 20 3d 20 30 78 30 31 20 7d 0d 0a  ERMAN = 0x01 }..
4980: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4990: 42 4c 41 4e 47 5f 47 45 52 4d 41 4e 5f 53 57 49  BLANG_GERMAN_SWI
49a0: 53 53 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75  SS = 0x02 }..enu
49b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
49c0: 4e 47 5f 47 45 52 4d 41 4e 5f 41 55 53 54 52 49  NG_GERMAN_AUSTRI
49d0: 41 4e 20 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75  AN = 0x03 }..enu
49e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
49f0: 4e 47 5f 47 45 52 4d 41 4e 5f 4c 55 58 45 4d 42  NG_GERMAN_LUXEMB
4a00: 4f 55 52 47 20 3d 20 30 78 30 34 20 7d 0d 0a 65  OURG = 0x04 }..e
4a10: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4a20: 4c 41 4e 47 5f 47 45 52 4d 41 4e 5f 4c 49 45 43  LANG_GERMAN_LIEC
4a30: 48 54 45 4e 53 54 45 49 4e 20 3d 20 30 78 30 35  HTENSTEIN = 0x05
4a40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4a50: 7b 20 53 55 42 4c 41 4e 47 5f 49 54 41 4c 49 41  { SUBLANG_ITALIA
4a60: 4e 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d  N = 0x01 }..enum
4a70: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4a80: 47 5f 49 54 41 4c 49 41 4e 5f 53 57 49 53 53 20  G_ITALIAN_SWISS 
4a90: 3d 20 30 78 30 32 20 7d 0d 0a 2f 2f 20 23 69 66  = 0x02 }..// #if
4aa0: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
4ab0: 20 30 78 30 35 30 31 0d 0a 65 6e 75 6d 20 3a 20   0x0501..enum : 
4ac0: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 4b  uint { SUBLANG_K
4ad0: 41 53 48 4d 49 52 49 5f 53 41 53 49 41 20 3d 20  ASHMIRI_SASIA = 
4ae0: 30 78 30 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0x02 }..// #endi
4af0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  f..enum : uint {
4b00: 20 53 55 42 4c 41 4e 47 5f 4b 41 53 48 4d 49 52   SUBLANG_KASHMIR
4b10: 49 5f 49 4e 44 49 41 20 3d 20 30 78 30 32 20 7d  I_INDIA = 0x02 }
4b20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4b30: 53 55 42 4c 41 4e 47 5f 4b 4f 52 45 41 4e 20 3d  SUBLANG_KOREAN =
4b40: 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
4b50: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 4c  uint { SUBLANG_L
4b60: 49 54 48 55 41 4e 49 41 4e 20 3d 20 30 78 30 31  ITHUANIAN = 0x01
4b70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4b80: 7b 20 53 55 42 4c 41 4e 47 5f 4d 41 4c 41 59 5f  { SUBLANG_MALAY_
4b90: 4d 41 4c 41 59 53 49 41 20 3d 20 30 78 30 31 20  MALAYSIA = 0x01 
4ba0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4bb0: 20 53 55 42 4c 41 4e 47 5f 4d 41 4c 41 59 5f 42   SUBLANG_MALAY_B
4bc0: 52 55 4e 45 49 5f 44 41 52 55 53 53 41 4c 41 4d  RUNEI_DARUSSALAM
4bd0: 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20   = 0x02 }..enum 
4be0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4bf0: 5f 4e 45 50 41 4c 49 5f 49 4e 44 49 41 20 3d 20  _NEPALI_INDIA = 
4c00: 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x02 }..enum : u
4c10: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 4e 4f  int { SUBLANG_NO
4c20: 52 57 45 47 49 41 4e 5f 42 4f 4b 4d 41 4c 20 3d  RWEGIAN_BOKMAL =
4c30: 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
4c40: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 4e  uint { SUBLANG_N
4c50: 4f 52 57 45 47 49 41 4e 5f 4e 59 4e 4f 52 53 4b  ORWEGIAN_NYNORSK
4c60: 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20   = 0x02 }..enum 
4c70: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4c80: 5f 50 4f 52 54 55 47 55 45 53 45 20 3d 20 30 78  _PORTUGUESE = 0x
4c90: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
4ca0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 50 4f 52 54  t { SUBLANG_PORT
4cb0: 55 47 55 45 53 45 5f 42 52 41 5a 49 4c 49 41 4e  UGUESE_BRAZILIAN
4cc0: 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20   = 0x01 }..enum 
4cd0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4ce0: 5f 53 45 52 42 49 41 4e 5f 4c 41 54 49 4e 20 3d  _SERBIAN_LATIN =
4cf0: 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x02 }..enum : 
4d00: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 53  uint { SUBLANG_S
4d10: 45 52 42 49 41 4e 5f 43 59 52 49 4c 4c 49 43 20  ERBIAN_CYRILLIC 
4d20: 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x03 }..enum :
4d30: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4d40: 53 50 41 4e 49 53 48 20 3d 20 30 78 30 31 20 7d  SPANISH = 0x01 }
4d50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4d60: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
4d70: 4d 45 58 49 43 41 4e 20 3d 20 30 78 30 32 20 7d  MEXICAN = 0x02 }
4d80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4d90: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
4da0: 4d 4f 44 45 52 4e 20 3d 20 30 78 30 33 20 7d 0d  MODERN = 0x03 }.
4db0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
4dc0: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 47  UBLANG_SPANISH_G
4dd0: 55 41 54 45 4d 41 4c 41 20 3d 20 30 78 30 34 20  UATEMALA = 0x04 
4de0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4df0: 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48   SUBLANG_SPANISH
4e00: 5f 43 4f 53 54 41 5f 52 49 43 41 20 3d 20 30 78  _COSTA_RICA = 0x
4e10: 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
4e20: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e  t { SUBLANG_SPAN
4e30: 49 53 48 5f 50 41 4e 41 4d 41 20 3d 20 30 78 30  ISH_PANAMA = 0x0
4e40: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
4e50: 20 7b 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49   { SUBLANG_SPANI
4e60: 53 48 5f 44 4f 4d 49 4e 49 43 41 4e 5f 52 45 50  SH_DOMINICAN_REP
4e70: 55 42 4c 49 43 20 3d 20 30 78 30 37 20 7d 0d 0a  UBLIC = 0x07 }..
4e80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4e90: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 56 45  BLANG_SPANISH_VE
4ea0: 4e 45 5a 55 45 4c 41 20 3d 20 30 78 30 38 20 7d  NEZUELA = 0x08 }
4eb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4ec0: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
4ed0: 43 4f 4c 4f 4d 42 49 41 20 3d 20 30 78 30 39 20  COLOMBIA = 0x09 
4ee0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4ef0: 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48   SUBLANG_SPANISH
4f00: 5f 50 45 52 55 20 3d 20 30 78 30 61 20 7d 0d 0a  _PERU = 0x0a }..
4f10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4f20: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 41 52  BLANG_SPANISH_AR
4f30: 47 45 4e 54 49 4e 41 20 3d 20 30 78 30 62 20 7d  GENTINA = 0x0b }
4f40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4f50: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
4f60: 45 43 55 41 44 4f 52 20 3d 20 30 78 30 63 20 7d  ECUADOR = 0x0c }
4f70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4f80: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
4f90: 43 48 49 4c 45 20 3d 20 30 78 30 64 20 7d 0d 0a  CHILE = 0x0d }..
4fa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4fb0: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 55 52  BLANG_SPANISH_UR
4fc0: 55 47 55 41 59 20 3d 20 30 78 30 65 20 7d 0d 0a  UGUAY = 0x0e }..
4fd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4fe0: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 50 41  BLANG_SPANISH_PA
4ff0: 52 41 47 55 41 59 20 3d 20 30 78 30 66 20 7d 0d  RAGUAY = 0x0f }.
5000: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
5010: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 42  UBLANG_SPANISH_B
5020: 4f 4c 49 56 49 41 20 3d 20 30 78 31 30 20 7d 0d  OLIVIA = 0x10 }.
5030: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
5040: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 45  UBLANG_SPANISH_E
5050: 4c 5f 53 41 4c 56 41 44 4f 52 20 3d 20 30 78 31  L_SALVADOR = 0x1
5060: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
5070: 20 7b 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49   { SUBLANG_SPANI
5080: 53 48 5f 48 4f 4e 44 55 52 41 53 20 3d 20 30 78  SH_HONDURAS = 0x
5090: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
50a0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e  t { SUBLANG_SPAN
50b0: 49 53 48 5f 4e 49 43 41 52 41 47 55 41 20 3d 20  ISH_NICARAGUA = 
50c0: 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x13 }..enum : u
50d0: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 53 50  int { SUBLANG_SP
50e0: 41 4e 49 53 48 5f 50 55 45 52 54 4f 5f 52 49 43  ANISH_PUERTO_RIC
50f0: 4f 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75 6d  O = 0x14 }..enum
5100: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
5110: 47 5f 53 57 45 44 49 53 48 20 3d 20 30 78 30 31  G_SWEDISH = 0x01
5120: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5130: 7b 20 53 55 42 4c 41 4e 47 5f 53 57 45 44 49 53  { SUBLANG_SWEDIS
5140: 48 5f 46 49 4e 4c 41 4e 44 20 3d 20 30 78 30 32  H_FINLAND = 0x02
5150: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5160: 7b 20 53 55 42 4c 41 4e 47 5f 55 52 44 55 5f 50  { SUBLANG_URDU_P
5170: 41 4b 49 53 54 41 4e 20 3d 20 30 78 30 31 20 7d  AKISTAN = 0x01 }
5180: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5190: 53 55 42 4c 41 4e 47 5f 55 52 44 55 5f 49 4e 44  SUBLANG_URDU_IND
51a0: 49 41 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75  IA = 0x02 }..enu
51b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
51c0: 4e 47 5f 55 5a 42 45 4b 5f 4c 41 54 49 4e 20 3d  NG_UZBEK_LATIN =
51d0: 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
51e0: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 55  uint { SUBLANG_U
51f0: 5a 42 45 4b 5f 43 59 52 49 4c 4c 49 43 20 3d 20  ZBEK_CYRILLIC = 
5200: 30 78 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x02 }....enum :
5210: 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 44 45 46   uint { SORT_DEF
5220: 41 55 4c 54 20 3d 20 30 78 30 20 7d 0d 0a 0d 0a  AULT = 0x0 }....
5230: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f  enum : uint { SO
5240: 52 54 5f 4a 41 50 41 4e 45 53 45 5f 58 4a 49 53  RT_JAPANESE_XJIS
5250: 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75 6d 20 3a   = 0x0 }..enum :
5260: 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 4a 41 50   uint { SORT_JAP
5270: 41 4e 45 53 45 5f 55 4e 49 43 4f 44 45 20 3d 20  ANESE_UNICODE = 
5280: 30 78 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0x1 }....enum : 
5290: 75 69 6e 74 20 7b 20 53 4f 52 54 5f 43 48 49 4e  uint { SORT_CHIN
52a0: 45 53 45 5f 42 49 47 35 20 3d 20 30 78 30 20 7d  ESE_BIG5 = 0x0 }
52b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
52c0: 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52 43  SORT_CHINESE_PRC
52d0: 50 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75 6d 20  P = 0x0 }..enum 
52e0: 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 43 48  : uint { SORT_CH
52f0: 49 4e 45 53 45 5f 55 4e 49 43 4f 44 45 20 3d 20  INESE_UNICODE = 
5300: 30 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0x1 }..enum : ui
5310: 6e 74 20 7b 20 53 4f 52 54 5f 43 48 49 4e 45 53  nt { SORT_CHINES
5320: 45 5f 50 52 43 20 3d 20 30 78 32 20 7d 0d 0a 65  E_PRC = 0x2 }..e
5330: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52  num : uint { SOR
5340: 54 5f 43 48 49 4e 45 53 45 5f 42 4f 50 4f 4d 4f  T_CHINESE_BOPOMO
5350: 46 4f 20 3d 20 30 78 33 20 7d 0d 0a 0d 0a 65 6e  FO = 0x3 }....en
5360: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54  um : uint { SORT
5370: 5f 4b 4f 52 45 41 4e 5f 4b 53 43 20 3d 20 30 78  _KOREAN_KSC = 0x
5380: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
5390: 20 7b 20 53 4f 52 54 5f 4b 4f 52 45 41 4e 5f 55   { SORT_KOREAN_U
53a0: 4e 49 43 4f 44 45 20 3d 20 30 78 31 20 7d 0d 0a  NICODE = 0x1 }..
53b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
53c0: 53 4f 52 54 5f 47 45 52 4d 41 4e 5f 50 48 4f 4e  SORT_GERMAN_PHON
53d0: 45 5f 42 4f 4f 4b 20 3d 20 30 78 31 20 7d 0d 0a  E_BOOK = 0x1 }..
53e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
53f0: 53 4f 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f 44  SORT_HUNGARIAN_D
5400: 45 46 41 55 4c 54 20 3d 20 30 78 30 20 7d 0d 0a  EFAULT = 0x0 }..
5410: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f  enum : uint { SO
5420: 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f 54 45 43  RT_HUNGARIAN_TEC
5430: 48 4e 49 43 41 4c 20 3d 20 30 78 31 20 7d 0d 0a  HNICAL = 0x1 }..
5440: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5450: 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 54 52  SORT_GEORGIAN_TR
5460: 41 44 49 54 49 4f 4e 41 4c 20 3d 20 30 78 30 20  ADITIONAL = 0x0 
5470: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5480: 20 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 4d   SORT_GEORGIAN_M
5490: 4f 44 45 52 4e 20 3d 20 30 78 31 20 7d 0d 0a 0d  ODERN = 0x1 }...
54a0: 0a 57 4f 52 44 20 4d 41 4b 45 4c 41 4e 47 49 44  .WORD MAKELANGID
54b0: 28 55 53 48 4f 52 54 20 70 2c 20 55 53 48 4f 52  (USHORT p, USHOR
54c0: 54 20 73 29 20 7b 20 72 65 74 75 72 6e 20 28 28  T s) { return ((
54d0: 28 63 61 73 74 28 57 4f 52 44 29 28 73 29 29 20  (cast(WORD)(s)) 
54e0: 3c 3c 20 31 30 29 20 7c 20 63 61 73 74 28 57 4f  << 10) | cast(WO
54f0: 52 44 29 28 70 29 29 3b 20 7d 0d 0a 57 4f 52 44  RD)(p)); }..WORD
5500: 20 50 52 49 4d 41 52 59 4c 41 4e 47 49 44 28 57   PRIMARYLANGID(W
5510: 4f 52 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75  ORD lgid) { retu
5520: 72 6e 20 6c 67 69 64 20 26 20 30 78 33 66 66 3b  rn lgid & 0x3ff;
5530: 20 7d 0d 0a 57 4f 52 44 20 53 55 42 4c 41 4e 47   }..WORD SUBLANG
5540: 49 44 28 57 4f 52 44 20 6c 67 69 64 29 20 7b 20  ID(WORD lgid) { 
5550: 72 65 74 75 72 6e 20 6c 67 69 64 20 3e 3e 3e 20  return lgid >>> 
5560: 31 30 3b 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  10; }....enum : 
5570: 75 69 6e 74 20 7b 20 4e 4c 53 5f 56 41 4c 49 44  uint { NLS_VALID
5580: 5f 4c 4f 43 41 4c 45 5f 4d 41 53 4b 20 3d 20 30  _LOCALE_MASK = 0
5590: 78 30 30 30 66 66 66 66 66 20 7d 0d 0a 0d 0a 44  x000fffff }....D
55a0: 57 4f 52 44 20 4d 41 4b 45 4c 43 49 44 28 57 4f  WORD MAKELCID(WO
55b0: 52 44 20 6c 67 69 64 2c 20 57 4f 52 44 20 73 72  RD lgid, WORD sr
55c0: 74 69 64 29 20 7b 20 72 65 74 75 72 6e 20 28 28  tid) { return ((
55d0: 63 61 73 74 28 44 57 4f 52 44 29 73 72 74 69 64  cast(DWORD)srtid
55e0: 29 20 3c 3c 20 31 36 29 20 7c 20 28 63 61 73 74  ) << 16) | (cast
55f0: 28 44 57 4f 52 44 29 6c 67 69 64 29 3b 20 7d 0d  (DWORD)lgid); }.
5600: 0a 44 57 4f 52 44 20 4d 41 4b 45 53 4f 52 54 4c  .DWORD MAKESORTL
5610: 43 49 44 28 57 4f 52 44 20 6c 67 69 64 2c 20 57  CID(WORD lgid, W
5620: 4f 52 44 20 73 72 74 69 64 2c 20 57 4f 52 44 20  ORD srtid, WORD 
5630: 76 65 72 29 20 7b 20 72 65 74 75 72 6e 20 28 4d  ver) { return (M
5640: 41 4b 45 4c 43 49 44 28 6c 67 69 64 2c 20 73 72  AKELCID(lgid, sr
5650: 74 69 64 29 29 20 7c 20 28 28 63 61 73 74 28 44  tid)) | ((cast(D
5660: 57 4f 52 44 29 76 65 72 29 20 3c 3c 20 32 30 29  WORD)ver) << 20)
5670: 3b 20 7d 0d 0a 57 4f 52 44 20 4c 41 4e 47 49 44  ; }..WORD LANGID
5680: 46 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c 63  FROMLCID(LCID lc
5690: 69 64 29 20 7b 20 72 65 74 75 72 6e 20 6c 63 69  id) { return lci
56a0: 64 3b 20 7d 0d 0a 57 4f 52 44 20 53 4f 52 54 49  d; }..WORD SORTI
56b0: 44 46 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c  DFROMLCID(LCID l
56c0: 63 69 64 29 20 7b 20 72 65 74 75 72 6e 20 28 63  cid) { return (c
56d0: 61 73 74 28 44 57 4f 52 44 29 6c 63 69 64 20 3e  ast(DWORD)lcid >
56e0: 3e 3e 20 31 36 29 20 26 20 30 78 66 3b 20 7d 0d  >> 16) & 0xf; }.
56f0: 0a 57 4f 52 44 20 53 4f 52 54 56 45 52 53 49 4f  .WORD SORTVERSIO
5700: 4e 46 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c  NFROMLCID(LCID l
5710: 63 69 64 29 20 7b 20 72 65 74 75 72 6e 20 28 63  cid) { return (c
5720: 61 73 74 28 44 57 4f 52 44 29 6c 63 69 64 20 3e  ast(DWORD)lcid >
5730: 3e 3e 20 32 30 29 20 26 20 30 78 66 3b 20 7d 0d  >> 20) & 0xf; }.
5740: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5750: 20 4c 41 4e 47 5f 53 59 53 54 45 4d 5f 44 45 46   LANG_SYSTEM_DEF
5760: 41 55 4c 54 20 3d 20 28 53 55 42 4c 41 4e 47 5f  AULT = (SUBLANG_
5770: 53 59 53 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31  SYS_DEFAULT << 1
5780: 30 29 20 7c 20 4c 41 4e 47 5f 4e 45 55 54 52 41  0) | LANG_NEUTRA
5790: 4c 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  L }..enum : uint
57a0: 20 7b 20 4c 41 4e 47 5f 55 53 45 52 5f 44 45 46   { LANG_USER_DEF
57b0: 41 55 4c 54 20 3d 20 28 53 55 42 4c 41 4e 47 5f  AULT = (SUBLANG_
57c0: 44 45 46 41 55 4c 54 20 3c 3c 20 31 30 29 20 7c  DEFAULT << 10) |
57d0: 20 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20 7d 0d   LANG_NEUTRAL }.
57e0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
57f0: 20 4c 4f 43 41 4c 45 5f 53 59 53 54 45 4d 5f 44   LOCALE_SYSTEM_D
5800: 45 46 41 55 4c 54 20 3d 20 28 53 4f 52 54 5f 44  EFAULT = (SORT_D
5810: 45 46 41 55 4c 54 20 3c 3c 20 31 36 29 20 7c 20  EFAULT << 16) | 
5820: 4c 41 4e 47 5f 53 59 53 54 45 4d 5f 44 45 46 41  LANG_SYSTEM_DEFA
5830: 55 4c 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  ULT }..enum : ui
5840: 6e 74 20 7b 20 4c 4f 43 41 4c 45 5f 55 53 45 52  nt { LOCALE_USER
5850: 5f 44 45 46 41 55 4c 54 20 3d 20 28 53 4f 52 54  _DEFAULT = (SORT
5860: 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 36 29 20  _DEFAULT << 16) 
5870: 7c 20 4c 41 4e 47 5f 55 53 45 52 5f 44 45 46 41  | LANG_USER_DEFA
5880: 55 4c 54 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ULT }....enum : 
5890: 75 69 6e 74 20 7b 20 4c 4f 43 41 4c 45 5f 4e 45  uint { LOCALE_NE
58a0: 55 54 52 41 4c 20 3d 20 28 53 4f 52 54 5f 44 45  UTRAL = (SORT_DE
58b0: 46 41 55 4c 54 20 3c 3c 20 31 36 29 20 7c 20 28  FAULT << 16) | (
58c0: 53 55 42 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20  SUBLANG_NEUTRAL 
58d0: 3c 3c 20 31 30 29 20 7c 20 4c 41 4e 47 5f 4e 45  << 10) | LANG_NE
58e0: 55 54 52 41 4c 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  UTRAL }....enum 
58f0: 3a 20 75 69 6e 74 20 7b 20 4c 4f 43 41 4c 45 5f  : uint { LOCALE_
5900: 49 4e 56 41 52 49 41 4e 54 20 3d 20 28 53 4f 52  INVARIANT = (SOR
5910: 54 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 36 29  T_DEFAULT << 16)
5920: 20 7c 20 28 53 55 42 4c 41 4e 47 5f 4e 45 55 54   | (SUBLANG_NEUT
5930: 52 41 4c 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e  RAL << 10) | LAN
5940: 47 5f 49 4e 56 41 52 49 41 4e 54 20 7d 0d 0a 0d  G_INVARIANT }...
5950: 0a 2f 2f 20 23 69 66 20 21 20 64 65 66 69 6e 65  .// #if ! define
5960: 64 28 6c 69 6e 74 29 0d 0a 2f 2f 20 23 2e 2e 2e  d(lint)..// #...
5970: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
5980: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f  ......// #else /
5990: 2f 20 6c 69 6e 74 0d 0a 0d 0a 2f 2f 20 23 64 65  / lint....// #de
59a0: 66 69 6e 65 20 55 4e 52 45 46 45 52 45 4e 43 45  fine UNREFERENCE
59b0: 44 5f 50 41 52 41 4d 45 54 45 52 28 50 29 20 7b  D_PARAMETER(P) {
59c0: 20 28 50 29 20 3d 20 28 50 29 3b 20 7d 0d 0a 2f   (P) = (P); }../
59d0: 2f 20 23 64 65 66 69 6e 65 20 44 42 47 5f 55 4e  / #define DBG_UN
59e0: 52 45 46 45 52 45 4e 43 45 44 5f 50 41 52 41 4d  REFERENCED_PARAM
59f0: 45 54 45 52 28 50 29 20 7b 20 28 50 29 20 3d 20  ETER(P) { (P) = 
5a00: 28 50 29 3b 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  (P); }..// #defi
5a10: 6e 65 20 44 42 47 5f 55 4e 52 45 46 45 52 45 4e  ne DBG_UNREFEREN
5a20: 43 45 44 5f 4c 4f 43 41 4c 5f 56 41 52 49 41 42  CED_LOCAL_VARIAB
5a30: 4c 45 28 56 29 20 7b 20 28 56 29 20 3d 20 28 56  LE(V) { (V) = (V
5a40: 29 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ); }....// #endi
5a50: 66 20 2f 2f 20 6c 69 6e 74 0d 0a 0d 0a 2f 2f 20  f // lint....// 
5a60: 23 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 20  #if (_MSC_VER > 
5a70: 31 32 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  1200)..// #defin
5a80: 65 20 44 45 46 41 55 4c 54 5f 55 4e 52 45 41 43  e DEFAULT_UNREAC
5a90: 48 41 42 4c 45 20 64 65 66 61 75 6c 74 3a 20 5f  HABLE default: _
5aa0: 5f 61 73 73 75 6d 65 28 30 29 0d 0a 2f 2f 20 23  _assume(0)..// #
5ab0: 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d  else....// #....
5ac0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
5ad0: 2f 2f 20 23 69 66 6e 64 65 66 20 57 49 4e 33 32  // #ifndef WIN32
5ae0: 5f 4e 4f 5f 53 54 41 54 55 53 20 0d 0a 0d 0a 65  _NO_STATUS ....e
5af0: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54  num : DWORD { ST
5b00: 41 54 55 53 5f 57 41 49 54 5f 30 20 3d 20 30 78  ATUS_WAIT_0 = 0x
5b10: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
5b20: 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55   : DWORD { STATU
5b30: 53 5f 41 42 41 4e 44 4f 4e 45 44 5f 57 41 49 54  S_ABANDONED_WAIT
5b40: 5f 30 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  _0 = 0x00000080 
5b50: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
5b60: 7b 20 53 54 41 54 55 53 5f 55 53 45 52 5f 41 50  { STATUS_USER_AP
5b70: 43 20 3d 20 30 78 30 30 30 30 30 30 43 30 20 7d  C = 0x000000C0 }
5b80: 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
5b90: 20 53 54 41 54 55 53 5f 54 49 4d 45 4f 55 54 20   STATUS_TIMEOUT 
5ba0: 3d 20 30 78 30 30 30 30 30 31 30 32 20 7d 0d 0a  = 0x00000102 }..
5bb0: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53  enum : DWORD { S
5bc0: 54 41 54 55 53 5f 50 45 4e 44 49 4e 47 20 3d 20  TATUS_PENDING = 
5bd0: 30 78 30 30 30 30 30 31 30 33 20 7d 0d 0a 65 6e  0x00000103 }..en
5be0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 44 42 47  um : DWORD { DBG
5bf0: 5f 45 58 43 45 50 54 49 4f 4e 5f 48 41 4e 44 4c  _EXCEPTION_HANDL
5c00: 45 44 20 3d 20 30 78 30 30 30 31 30 30 30 31 20  ED = 0x00010001 
5c10: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
5c20: 7b 20 44 42 47 5f 43 4f 4e 54 49 4e 55 45 20 3d  { DBG_CONTINUE =
5c30: 20 30 78 30 30 30 31 30 30 30 32 20 7d 0d 0a 65   0x00010002 }..e
5c40: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54  num : DWORD { ST
5c50: 41 54 55 53 5f 53 45 47 4d 45 4e 54 5f 4e 4f 54  ATUS_SEGMENT_NOT
5c60: 49 46 49 43 41 54 49 4f 4e 20 3d 20 30 78 34 30  IFICATION = 0x40
5c70: 30 30 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  000005 }..enum :
5c80: 20 44 57 4f 52 44 20 7b 20 44 42 47 5f 54 45 52   DWORD { DBG_TER
5c90: 4d 49 4e 41 54 45 5f 54 48 52 45 41 44 20 3d 20  MINATE_THREAD = 
5ca0: 30 78 34 30 30 31 30 30 30 33 20 7d 0d 0a 65 6e  0x40010003 }..en
5cb0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 44 42 47  um : DWORD { DBG
5cc0: 5f 54 45 52 4d 49 4e 41 54 45 5f 50 52 4f 43 45  _TERMINATE_PROCE
5cd0: 53 53 20 3d 20 30 78 34 30 30 31 30 30 30 34 20  SS = 0x40010004 
5ce0: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
5cf0: 7b 20 44 42 47 5f 43 4f 4e 54 52 4f 4c 5f 43 20  { DBG_CONTROL_C 
5d00: 3d 20 30 78 34 30 30 31 30 30 30 35 20 7d 0d 0a  = 0x40010005 }..
5d10: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 44  enum : DWORD { D
5d20: 42 47 5f 43 4f 4e 54 52 4f 4c 5f 42 52 45 41 4b  BG_CONTROL_BREAK
5d30: 20 3d 20 30 78 34 30 30 31 30 30 30 38 20 7d 0d   = 0x40010008 }.
5d40: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20  .enum : DWORD { 
5d50: 53 54 41 54 55 53 5f 47 55 41 52 44 5f 50 41 47  STATUS_GUARD_PAG
5d60: 45 5f 56 49 4f 4c 41 54 49 4f 4e 20 3d 20 30 78  E_VIOLATION = 0x
5d70: 38 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  80000001 }..enum
5d80: 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55   : DWORD { STATU
5d90: 53 5f 44 41 54 41 54 59 50 45 5f 4d 49 53 41 4c  S_DATATYPE_MISAL
5da0: 49 47 4e 4d 45 4e 54 20 3d 20 30 78 38 30 30 30  IGNMENT = 0x8000
5db0: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  0002 }..enum : D
5dc0: 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 42 52  WORD { STATUS_BR
5dd0: 45 41 4b 50 4f 49 4e 54 20 3d 20 30 78 38 30 30  EAKPOINT = 0x800
5de0: 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00003 }..enum : 
5df0: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 53  DWORD { STATUS_S
5e00: 49 4e 47 4c 45 5f 53 54 45 50 20 3d 20 30 78 38  INGLE_STEP = 0x8
5e10: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
5e20: 3a 20 44 57 4f 52 44 20 7b 20 44 42 47 5f 45 58  : DWORD { DBG_EX
5e30: 43 45 50 54 49 4f 4e 5f 4e 4f 54 5f 48 41 4e 44  CEPTION_NOT_HAND
5e40: 4c 45 44 20 3d 20 30 78 38 30 30 31 30 30 30 31  LED = 0x80010001
5e50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
5e60: 20 7b 20 53 54 41 54 55 53 5f 41 43 43 45 53 53   { STATUS_ACCESS
5e70: 5f 56 49 4f 4c 41 54 49 4f 4e 20 3d 20 30 78 43  _VIOLATION = 0xC
5e80: 30 30 30 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20  0000005 }..enum 
5e90: 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53  : DWORD { STATUS
5ea0: 5f 49 4e 5f 50 41 47 45 5f 45 52 52 4f 52 20 3d  _IN_PAGE_ERROR =
5eb0: 20 30 78 43 30 30 30 30 30 30 36 20 7d 0d 0a 65   0xC0000006 }..e
5ec0: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54  num : DWORD { ST
5ed0: 41 54 55 53 5f 49 4e 56 41 4c 49 44 5f 48 41 4e  ATUS_INVALID_HAN
5ee0: 44 4c 45 20 3d 20 30 78 43 30 30 30 30 30 30 38  DLE = 0xC0000008
5ef0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
5f00: 20 7b 20 53 54 41 54 55 53 5f 4e 4f 5f 4d 45 4d   { STATUS_NO_MEM
5f10: 4f 52 59 20 3d 20 30 78 43 30 30 30 30 30 31 37  ORY = 0xC0000017
5f20: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
5f30: 20 7b 20 53 54 41 54 55 53 5f 49 4c 4c 45 47 41   { STATUS_ILLEGA
5f40: 4c 5f 49 4e 53 54 52 55 43 54 49 4f 4e 20 3d 20  L_INSTRUCTION = 
5f50: 30 78 43 30 30 30 30 30 31 44 20 7d 0d 0a 65 6e  0xC000001D }..en
5f60: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
5f70: 54 55 53 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41 42  TUS_NONCONTINUAB
5f80: 4c 45 5f 45 58 43 45 50 54 49 4f 4e 20 3d 20 30  LE_EXCEPTION = 0
5f90: 78 43 30 30 30 30 30 32 35 20 7d 0d 0a 65 6e 75  xC0000025 }..enu
5fa0: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54  m : DWORD { STAT
5fb0: 55 53 5f 49 4e 56 41 4c 49 44 5f 44 49 53 50 4f  US_INVALID_DISPO
5fc0: 53 49 54 49 4f 4e 20 3d 20 30 78 43 30 30 30 30  SITION = 0xC0000
5fd0: 30 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57  026 }..enum : DW
5fe0: 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 41 52 52  ORD { STATUS_ARR
5ff0: 41 59 5f 42 4f 55 4e 44 53 5f 45 58 43 45 45 44  AY_BOUNDS_EXCEED
6000: 45 44 20 3d 20 30 78 43 30 30 30 30 30 38 43 20  ED = 0xC000008C 
6010: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
6020: 7b 20 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 44  { STATUS_FLOAT_D
6030: 45 4e 4f 52 4d 41 4c 5f 4f 50 45 52 41 4e 44 20  ENORMAL_OPERAND 
6040: 3d 20 30 78 43 30 30 30 30 30 38 44 20 7d 0d 0a  = 0xC000008D }..
6050: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53  enum : DWORD { S
6060: 54 41 54 55 53 5f 46 4c 4f 41 54 5f 44 49 56 49  TATUS_FLOAT_DIVI
6070: 44 45 5f 42 59 5f 5a 45 52 4f 20 3d 20 30 78 43  DE_BY_ZERO = 0xC
6080: 30 30 30 30 30 38 45 20 7d 0d 0a 65 6e 75 6d 20  000008E }..enum 
6090: 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53  : DWORD { STATUS
60a0: 5f 46 4c 4f 41 54 5f 49 4e 45 58 41 43 54 5f 52  _FLOAT_INEXACT_R
60b0: 45 53 55 4c 54 20 3d 20 30 78 43 30 30 30 30 30  ESULT = 0xC00000
60c0: 38 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f  8F }..enum : DWO
60d0: 52 44 20 7b 20 53 54 41 54 55 53 5f 46 4c 4f 41  RD { STATUS_FLOA
60e0: 54 5f 49 4e 56 41 4c 49 44 5f 4f 50 45 52 41 54  T_INVALID_OPERAT
60f0: 49 4f 4e 20 3d 20 30 78 43 30 30 30 30 30 39 30  ION = 0xC0000090
6100: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
6110: 20 7b 20 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f   { STATUS_FLOAT_
6120: 4f 56 45 52 46 4c 4f 57 20 3d 20 30 78 43 30 30  OVERFLOW = 0xC00
6130: 30 30 30 39 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00091 }..enum : 
6140: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 46  DWORD { STATUS_F
6150: 4c 4f 41 54 5f 53 54 41 43 4b 5f 43 48 45 43 4b  LOAT_STACK_CHECK
6160: 20 3d 20 30 78 43 30 30 30 30 30 39 32 20 7d 0d   = 0xC0000092 }.
6170: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20  .enum : DWORD { 
6180: 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 55 4e 44  STATUS_FLOAT_UND
6190: 45 52 46 4c 4f 57 20 3d 20 30 78 43 30 30 30 30  ERFLOW = 0xC0000
61a0: 30 39 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57  093 }..enum : DW
61b0: 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 49 4e 54  ORD { STATUS_INT
61c0: 45 47 45 52 5f 44 49 56 49 44 45 5f 42 59 5f 5a  EGER_DIVIDE_BY_Z
61d0: 45 52 4f 20 3d 20 30 78 43 30 30 30 30 30 39 34  ERO = 0xC0000094
61e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
61f0: 20 7b 20 53 54 41 54 55 53 5f 49 4e 54 45 47 45   { STATUS_INTEGE
6200: 52 5f 4f 56 45 52 46 4c 4f 57 20 3d 20 30 78 43  R_OVERFLOW = 0xC
6210: 30 30 30 30 30 39 35 20 7d 0d 0a 65 6e 75 6d 20  0000095 }..enum 
6220: 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53  : DWORD { STATUS
6230: 5f 50 52 49 56 49 4c 45 47 45 44 5f 49 4e 53 54  _PRIVILEGED_INST
6240: 52 55 43 54 49 4f 4e 20 3d 20 30 78 43 30 30 30  RUCTION = 0xC000
6250: 30 30 39 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  0096 }..enum : D
6260: 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 53 54  WORD { STATUS_ST
6270: 41 43 4b 5f 4f 56 45 52 46 4c 4f 57 20 3d 20 30  ACK_OVERFLOW = 0
6280: 78 43 30 30 30 30 30 46 44 20 7d 0d 0a 65 6e 75  xC00000FD }..enu
6290: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54  m : DWORD { STAT
62a0: 55 53 5f 43 4f 4e 54 52 4f 4c 5f 43 5f 45 58 49  US_CONTROL_C_EXI
62b0: 54 20 3d 20 30 78 43 30 30 30 30 31 33 41 20 7d  T = 0xC000013A }
62c0: 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
62d0: 20 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 4d 55   STATUS_FLOAT_MU
62e0: 4c 54 49 50 4c 45 5f 46 41 55 4c 54 53 20 3d 20  LTIPLE_FAULTS = 
62f0: 30 78 43 30 30 30 30 32 42 34 20 7d 0d 0a 65 6e  0xC00002B4 }..en
6300: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
6310: 54 55 53 5f 46 4c 4f 41 54 5f 4d 55 4c 54 49 50  TUS_FLOAT_MULTIP
6320: 4c 45 5f 54 52 41 50 53 20 3d 20 30 78 43 30 30  LE_TRAPS = 0xC00
6330: 30 30 32 42 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  002B5 }..enum : 
6340: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 52  DWORD { STATUS_R
6350: 45 47 5f 4e 41 54 5f 43 4f 4e 53 55 4d 50 54 49  EG_NAT_CONSUMPTI
6360: 4f 4e 20 3d 20 30 78 43 30 30 30 30 32 43 39 20  ON = 0xC00002C9 
6370: 7d 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  }..// #if define
6380: 64 28 53 54 41 54 55 53 5f 53 55 43 43 45 53 53  d(STATUS_SUCCESS
6390: 29 20 7c 7c 20 28 5f 57 49 4e 33 32 5f 57 49 4e  ) || (_WIN32_WIN
63a0: 4e 54 20 3e 20 30 78 30 35 30 30 29 20 7c 7c 20  NT > 0x0500) || 
63b0: 28 5f 57 49 4e 33 32 5f 46 55 53 49 4f 4e 20 3e  (_WIN32_FUSION >
63c0: 3d 20 30 78 30 31 30 30 29 20 0d 0a 65 6e 75 6d  = 0x0100) ..enum
63d0: 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55   : DWORD { STATU
63e0: 53 5f 53 58 53 5f 45 41 52 4c 59 5f 44 45 41 43  S_SXS_EARLY_DEAC
63f0: 54 49 56 41 54 49 4f 4e 20 3d 20 30 78 43 30 31  TIVATION = 0xC01
6400: 35 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  5000F }..enum : 
6410: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 53  DWORD { STATUS_S
6420: 58 53 5f 49 4e 56 41 4c 49 44 5f 44 45 41 43 54  XS_INVALID_DEACT
6430: 49 56 41 54 49 4f 4e 20 3d 20 30 78 43 30 31 35  IVATION = 0xC015
6440: 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0010 }..// #endi
6450: 66 20 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  f ....// #endif 
6460: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
6470: 4d 41 58 49 4d 55 4d 5f 57 41 49 54 5f 4f 42 4a  MAXIMUM_WAIT_OBJ
6480: 45 43 54 53 20 3d 20 36 34 20 7d 0d 0a 0d 0a 61  ECTS = 64 }....a
6490: 6c 69 61 73 20 4d 41 58 43 48 41 52 20 4d 41 58  lias MAXCHAR MAX
64a0: 49 4d 55 4d 5f 53 55 53 50 45 4e 44 5f 43 4f 55  IMUM_SUSPEND_COU
64b0: 4e 54 3b 0d 0a 0d 0a 61 6c 69 61 73 20 55 4c 4f  NT;....alias ULO
64c0: 4e 47 5f 50 54 52 20 4b 53 50 49 4e 5f 4c 4f 43  NG_PTR KSPIN_LOC
64d0: 4b 3b 0d 0a 61 6c 69 61 73 20 4b 53 50 49 4e 5f  K;..alias KSPIN_
64e0: 4c 4f 43 4b 2a 20 50 4b 53 50 49 4e 5f 4c 4f 43  LOCK* PKSPIN_LOC
64f0: 4b 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  K;....// #if def
6500: 69 6e 65 64 28 5f 41 4d 44 36 34 5f 29 0d 0a 0d  ined(_AMD64_)...
6510: 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28  .// #if defined(
6520: 5f 4d 5f 41 4d 44 36 34 29 20 26 26 20 21 64 65  _M_AMD64) && !de
6530: 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44  fined(RC_INVOKED
6540: 29 20 26 26 20 21 64 65 66 69 6e 65 64 28 4d 49  ) && !defined(MI
6550: 44 4c 5f 50 41 53 53 29 0d 0a 0d 0a 2f 2f 20 23  DL_PASS)....// #
6560: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
6570: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  .// #.......// #
6580: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
6590: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  .// #.......// .
65a0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
65b0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
65c0: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
65d0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
65e0: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e  / #.......// #..
65f0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
6600: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
6610: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
6620: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
6630: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
6640: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
6650: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
6660: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
6670: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  ......// #...../
6680: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
6690: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
66a0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
66b0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
66c0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 64 65 66  // #endif // def
66d0: 69 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 20 26  ined(_M_AMD64) &
66e0: 26 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  & !defined(RC_IN
66f0: 56 4f 4b 45 44 29 20 26 26 20 21 64 65 66 69 6e  VOKED) && !defin
6700: 65 64 28 4d 49 44 4c 5f 50 41 53 53 29 0d 0a 0d  ed(MIDL_PASS)...
6710: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
6720: 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a  (RC_INVOKED)....
6730: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  // #.......// #.
6740: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
6750: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
6760: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e  / #.......// #..
6770: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
6780: 2f 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  / !defined(RC_IN
6790: 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  VOKED)....// ...
67a0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
67b0: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d   #.......// ....
67c0: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
67d0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
67e0: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
67f0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
6800: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
6810: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
6820: 5f 41 4d 44 36 34 5f 0d 0a 0d 0a 2f 2f 20 23 69  _AMD64_....// #i
6830: 66 64 65 66 20 5f 41 4c 50 48 41 5f 20 20 20 20  fdef _ALPHA_    
6840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6850: 20 20 20 20 20 20 2f 2f 20 77 69 6e 6e 74 0d 0a        // winnt..
6860: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64  // .....// #if d
6870: 65 66 69 6e 65 64 28 5f 4d 5f 41 4c 50 48 41 29  efined(_M_ALPHA)
6880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6890: 20 20 20 2f 2f 20 77 69 6e 6e 74 0d 0a 2f 2f 20     // winnt..// 
68a0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
68b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68d0: 20 2f 2f 20 77 69 6e 6e 74 0d 0a 2f 2f 20 23 65   // winnt..// #e
68e0: 6e 64 69 66 20 20 20 20 20 20 20 20 20 20 20 20  ndif            
68f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6900: 20 20 20 20 20 20 2f 2f 20 77 69 6e 6e 74 0d 0a        // winnt..
6910: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
6920: 28 5f 4d 5f 41 4c 50 48 41 29 0d 0a 2f 2f 20 23  (_M_ALPHA)..// #
6930: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 65  .....// #else..e
6940: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
6950: 78 70 6f 72 74 20 5f 54 45 42 20 4e 74 43 75 72  xport _TEB NtCur
6960: 72 65 6e 74 54 65 62 28 29 3b 0d 0a 2f 2f 20 23  rentTeb();..// #
6970: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64  endif....// #ifd
6980: 65 66 20 5f 41 4c 50 48 41 5f 0d 0a 0d 0a 2f 2f  ef _ALPHA_....//
6990: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
69a0: 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65  ..// #if !define
69b0: 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d  d(RC_INVOKED)...
69c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  .// #.......// #
69d0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
69e0: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e   #.......// #...
69f0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
6a00: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 50 4f 52  .// #ifndef _POR
6a10: 54 41 42 4c 45 5f 33 32 42 49 54 5f 43 4f 4e 54  TABLE_32BIT_CONT
6a20: 45 58 54 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  EXT....// ......
6a30: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
6a40: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
6a50: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
6a60: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
6a70: 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  #else....// #...
6a80: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
6a90: 20 5f 50 4f 52 54 41 42 4c 45 5f 33 32 42 49 54   _PORTABLE_32BIT
6aa0: 5f 43 4f 4e 54 45 58 54 0d 0a 0d 0a 2f 2f 20 23  _CONTEXT....// #
6ab0: 65 6e 64 69 66 20 2f 2f 20 5f 41 4c 50 48 41 5f  endif // _ALPHA_
6ac0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 41  ....// #ifdef _A
6ad0: 4c 50 48 41 5f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  LPHA_....// ....
6ae0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
6af0: 5f 41 4c 50 48 41 5f 0d 0a 0d 0a 2f 2f 20 23 69  _ALPHA_....// #i
6b00: 66 64 65 66 20 5f 58 38 36 5f 0d 0a 0d 0a 2f 2f  fdef _X86_....//
6b10: 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 4d 49   #if !defined(MI
6b20: 44 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 23 69 66  DL_PASS)..// #if
6b30: 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56   !defined(RC_INV
6b40: 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  OKED)....// #if 
6b50: 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30  _MSC_VER >= 1200
6b60: 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72  ..// #pragma war
6b70: 6e 69 6e 67 28 70 75 73 68 29 0d 0a 2f 2f 20 23  ning(push)..// #
6b80: 65 6e 64 69 66 0d 0a 2f 2f 20 23 70 72 61 67 6d  endif..// #pragm
6b90: 61 20 77 61 72 6e 69 6e 67 28 64 69 73 61 62 6c  a warning(disabl
6ba0: 65 3a 34 31 36 34 29 20 20 20 2f 2f 20 64 69 73  e:4164)   // dis
6bb0: 61 62 6c 65 20 43 34 31 36 34 20 77 61 72 6e 69  able C4164 warni
6bc0: 6e 67 20 73 6f 20 74 68 61 74 20 61 70 70 73 20  ng so that apps 
6bd0: 74 68 61 74 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  that....// #ifde
6be0: 66 20 5f 4d 5f 49 58 38 36 0d 0a 2f 2f 20 23 70  f _M_IX86..// #p
6bf0: 72 61 67 6d 61 20 66 75 6e 63 74 69 6f 6e 28 5f  ragma function(_
6c00: 65 6e 61 62 6c 65 29 0d 0a 2f 2f 20 23 70 72 61  enable)..// #pra
6c10: 67 6d 61 20 66 75 6e 63 74 69 6f 6e 28 5f 64 69  gma function(_di
6c20: 73 61 62 6c 65 29 0d 0a 2f 2f 20 23 65 6e 64 69  sable)..// #endi
6c30: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 43  f....// #if _MSC
6c40: 5f 56 45 52 20 3e 3d 20 31 32 30 30 0d 0a 2f 2f  _VER >= 1200..//
6c50: 20 23 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67   #pragma warning
6c60: 28 70 6f 70 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d  (pop)..// #else.
6c70: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
6c80: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
6c90: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
6ca0: 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 4d  / #if !defined(M
6cb0: 49 44 4c 5f 50 41 53 53 29 20 26 26 20 64 65 66  IDL_PASS) && def
6cc0: 69 6e 65 64 28 5f 4d 5f 49 58 38 36 29 0d 0a 2f  ined(_M_IX86)../
6cd0: 2f 20 23 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e  / #if _MSC_VER >
6ce0: 3d 20 31 32 30 30 0d 0a 2f 2f 20 23 70 72 61 67  = 1200..// #prag
6cf0: 6d 61 20 77 61 72 6e 69 6e 67 28 70 75 73 68 29  ma warning(push)
6d00: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
6d10: 23 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 20  #pragma warning 
6d20: 28 64 69 73 61 62 6c 65 3a 34 30 33 35 29 20 20  (disable:4035)  
6d30: 20 20 20 20 20 20 2f 2f 20 64 69 73 61 62 6c 65        // disable
6d40: 20 34 30 33 35 20 28 66 75 6e 63 74 69 6f 6e 20   4035 (function 
6d50: 6d 75 73 74 20 72 65 74 75 72 6e 20 73 6f 6d 65  must return some
6d60: 74 68 69 6e 67 29 0d 0a 50 56 4f 49 44 20 47 65  thing)..PVOID Ge
6d70: 74 46 69 62 65 72 44 61 74 61 28 29 20 7b 20 61  tFiberData() { a
6d80: 73 6d 20 7b 20 6d 6f 76 20 45 41 58 2c 20 46 53  sm { mov EAX, FS
6d90: 3a 5b 30 78 31 30 5d 3b 20 6d 6f 76 20 45 41 58  :[0x10]; mov EAX
6da0: 2c 20 5b 45 41 58 5d 3b 20 7d 20 7d 0d 0a 50 56  , [EAX]; } }..PV
6db0: 4f 49 44 20 47 65 74 43 75 72 72 65 6e 74 46 69  OID GetCurrentFi
6dc0: 62 65 72 28 29 20 7b 20 61 73 6d 20 7b 20 6d 6f  ber() { asm { mo
6dd0: 76 20 45 41 58 2c 20 46 53 3a 5b 30 78 31 30 5d  v EAX, FS:[0x10]
6de0: 3b 20 7d 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  ; } }....// #if 
6df0: 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30  _MSC_VER >= 1200
6e00: 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72  ..// #pragma war
6e10: 6e 69 6e 67 28 70 6f 70 29 0d 0a 2f 2f 20 23 65  ning(pop)..// #e
6e20: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
6e30: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
6e40: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
6e50: 74 20 7b 20 53 49 5a 45 5f 4f 46 5f 38 30 33 38  t { SIZE_OF_8038
6e60: 37 5f 52 45 47 49 53 54 45 52 53 20 3d 20 38 30  7_REGISTERS = 80
6e70: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65   }....// #if !de
6e80: 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44  fined(RC_INVOKED
6e90: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
6ea0: 20 7b 20 43 4f 4e 54 45 58 54 5f 69 33 38 36 20   { CONTEXT_i386 
6eb0: 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
6ec0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
6ed0: 4e 54 45 58 54 5f 69 34 38 36 20 3d 20 30 78 30  NTEXT_i486 = 0x0
6ee0: 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0010000 }....enu
6ef0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 54 45  m : uint { CONTE
6f00: 58 54 5f 43 4f 4e 54 52 4f 4c 20 3d 20 43 4f 4e  XT_CONTROL = CON
6f10: 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78 30 30  TEXT_i386 | 0x00
6f20: 30 30 30 30 30 31 4c 20 7d 0d 0a 65 6e 75 6d 20  000001L }..enum 
6f30: 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 54 45 58 54  : uint { CONTEXT
6f40: 5f 49 4e 54 45 47 45 52 20 3d 20 43 4f 4e 54 45  _INTEGER = CONTE
6f50: 58 54 5f 69 33 38 36 20 7c 20 30 78 30 30 30 30  XT_i386 | 0x0000
6f60: 30 30 30 32 4c 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0002L }..enum : 
6f70: 75 69 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f 53  uint { CONTEXT_S
6f80: 45 47 4d 45 4e 54 53 20 3d 20 43 4f 4e 54 45 58  EGMENTS = CONTEX
6f90: 54 5f 69 33 38 36 20 7c 20 30 78 30 30 30 30 30  T_i386 | 0x00000
6fa0: 30 30 34 4c 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  004L }..enum : u
6fb0: 69 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f 46 4c  int { CONTEXT_FL
6fc0: 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 20 3d 20 43  OATING_POINT = C
6fd0: 4f 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78  ONTEXT_i386 | 0x
6fe0: 30 30 30 30 30 30 30 38 4c 20 7d 0d 0a 65 6e 75  00000008L }..enu
6ff0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 54 45  m : uint { CONTE
7000: 58 54 5f 44 45 42 55 47 5f 52 45 47 49 53 54 45  XT_DEBUG_REGISTE
7010: 52 53 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 38  RS = CONTEXT_i38
7020: 36 20 7c 20 30 78 30 30 30 30 30 30 31 30 4c 20  6 | 0x00000010L 
7030: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7040: 20 43 4f 4e 54 45 58 54 5f 45 58 54 45 4e 44 45   CONTEXT_EXTENDE
7050: 44 5f 52 45 47 49 53 54 45 52 53 20 3d 20 43 4f  D_REGISTERS = CO
7060: 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78 30  NTEXT_i386 | 0x0
7070: 30 30 30 30 30 32 30 4c 20 7d 0d 0a 0d 0a 65 6e  0000020L }....en
7080: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 54  um : uint { CONT
7090: 45 58 54 5f 46 55 4c 4c 20 3d 20 43 4f 4e 54 45  EXT_FULL = CONTE
70a0: 58 54 5f 43 4f 4e 54 52 4f 4c 20 7c 20 43 4f 4e  XT_CONTROL | CON
70b0: 54 45 58 54 5f 49 4e 54 45 47 45 52 20 7c 20 43  TEXT_INTEGER | C
70c0: 4f 4e 54 45 58 54 5f 53 45 47 4d 45 4e 54 53 20  ONTEXT_SEGMENTS 
70d0: 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  }....// #endif..
70e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
70f0: 4d 41 58 49 4d 55 4d 5f 53 55 50 50 4f 52 54 45  MAXIMUM_SUPPORTE
7100: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 3d 20 35 31  D_EXTENSION = 51
7110: 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 46  2 }....struct _F
7120: 4c 4f 41 54 49 4e 47 5f 53 41 56 45 5f 41 52 45  LOATING_SAVE_ARE
7130: 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43 6f 6e  A {..  DWORD Con
7140: 74 72 6f 6c 57 6f 72 64 3b 0d 0a 20 20 44 57 4f  trolWord;..  DWO
7150: 52 44 20 53 74 61 74 75 73 57 6f 72 64 3b 0d 0a  RD StatusWord;..
7160: 20 20 44 57 4f 52 44 20 54 61 67 57 6f 72 64 3b    DWORD TagWord;
7170: 0d 0a 20 20 44 57 4f 52 44 20 45 72 72 6f 72 4f  ..  DWORD ErrorO
7180: 66 66 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20  ffset;..  DWORD 
7190: 45 72 72 6f 72 53 65 6c 65 63 74 6f 72 3b 0d 0a  ErrorSelector;..
71a0: 20 20 44 57 4f 52 44 20 44 61 74 61 4f 66 66 73    DWORD DataOffs
71b0: 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20 44 61 74  et;..  DWORD Dat
71c0: 61 53 65 6c 65 63 74 6f 72 3b 0d 0a 20 20 42 59  aSelector;..  BY
71d0: 54 45 20 52 65 67 69 73 74 65 72 41 72 65 61 5b  TE RegisterArea[
71e0: 53 49 5a 45 5f 4f 46 5f 38 30 33 38 37 5f 52 45  SIZE_OF_80387_RE
71f0: 47 49 53 54 45 52 53 5d 3b 0d 0a 20 20 44 57 4f  GISTERS];..  DWO
7200: 52 44 20 43 72 30 4e 70 78 53 74 61 74 65 3b 0d  RD Cr0NpxState;.
7210: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46 4c 4f 41 54  .}..alias _FLOAT
7220: 49 4e 47 5f 53 41 56 45 5f 41 52 45 41 20 46 4c  ING_SAVE_AREA FL
7230: 4f 41 54 49 4e 47 5f 53 41 56 45 5f 41 52 45 41  OATING_SAVE_AREA
7240: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 46 4c 4f 41 54  ;....alias FLOAT
7250: 49 4e 47 5f 53 41 56 45 5f 41 52 45 41 2a 20 50  ING_SAVE_AREA* P
7260: 46 4c 4f 41 54 49 4e 47 5f 53 41 56 45 5f 41 52  FLOATING_SAVE_AR
7270: 45 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 43  EA;....struct _C
7280: 4f 4e 54 45 58 54 20 7b 0d 0a 0d 0a 20 20 44 57  ONTEXT {....  DW
7290: 4f 52 44 20 43 6f 6e 74 65 78 74 46 6c 61 67 73  ORD ContextFlags
72a0: 3b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 44 72 30  ;....  DWORD Dr0
72b0: 3b 0d 0a 20 20 44 57 4f 52 44 20 44 72 31 3b 0d  ;..  DWORD Dr1;.
72c0: 0a 20 20 44 57 4f 52 44 20 44 72 32 3b 0d 0a 20  .  DWORD Dr2;.. 
72d0: 20 44 57 4f 52 44 20 44 72 33 3b 0d 0a 20 20 44   DWORD Dr3;..  D
72e0: 57 4f 52 44 20 44 72 36 3b 0d 0a 20 20 44 57 4f  WORD Dr6;..  DWO
72f0: 52 44 20 44 72 37 3b 0d 0a 0d 0a 20 20 46 4c 4f  RD Dr7;....  FLO
7300: 41 54 49 4e 47 5f 53 41 56 45 5f 41 52 45 41 20  ATING_SAVE_AREA 
7310: 46 6c 6f 61 74 53 61 76 65 3b 0d 0a 0d 0a 20 20  FloatSave;....  
7320: 44 57 4f 52 44 20 53 65 67 47 73 3b 0d 0a 20 20  DWORD SegGs;..  
7330: 44 57 4f 52 44 20 53 65 67 46 73 3b 0d 0a 20 20  DWORD SegFs;..  
7340: 44 57 4f 52 44 20 53 65 67 45 73 3b 0d 0a 20 20  DWORD SegEs;..  
7350: 44 57 4f 52 44 20 53 65 67 44 73 3b 0d 0a 0d 0a  DWORD SegDs;....
7360: 20 20 44 57 4f 52 44 20 45 64 69 3b 0d 0a 20 20    DWORD Edi;..  
7370: 44 57 4f 52 44 20 45 73 69 3b 0d 0a 20 20 44 57  DWORD Esi;..  DW
7380: 4f 52 44 20 45 62 78 3b 0d 0a 20 20 44 57 4f 52  ORD Ebx;..  DWOR
7390: 44 20 45 64 78 3b 0d 0a 20 20 44 57 4f 52 44 20  D Edx;..  DWORD 
73a0: 45 63 78 3b 0d 0a 20 20 44 57 4f 52 44 20 45 61  Ecx;..  DWORD Ea
73b0: 78 3b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 45 62  x;....  DWORD Eb
73c0: 70 3b 0d 0a 20 20 44 57 4f 52 44 20 45 69 70 3b  p;..  DWORD Eip;
73d0: 0d 0a 20 20 44 57 4f 52 44 20 53 65 67 43 73 3b  ..  DWORD SegCs;
73e0: 0d 0a 20 20 44 57 4f 52 44 20 45 46 6c 61 67 73  ..  DWORD EFlags
73f0: 3b 0d 0a 20 20 44 57 4f 52 44 20 45 73 70 3b 0d  ;..  DWORD Esp;.
7400: 0a 20 20 44 57 4f 52 44 20 53 65 67 53 73 3b 0d  .  DWORD SegSs;.
7410: 0a 0d 0a 20 20 42 59 54 45 20 45 78 74 65 6e 64  ...  BYTE Extend
7420: 65 64 52 65 67 69 73 74 65 72 73 5b 4d 41 58 49  edRegisters[MAXI
7430: 4d 55 4d 5f 53 55 50 50 4f 52 54 45 44 5f 45 58  MUM_SUPPORTED_EX
7440: 54 45 4e 53 49 4f 4e 5d 3b 0d 0a 7d 0d 0a 61 6c  TENSION];..}..al
7450: 69 61 73 20 5f 43 4f 4e 54 45 58 54 20 43 4f 4e  ias _CONTEXT CON
7460: 54 45 58 54 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43  TEXT;....alias C
7470: 4f 4e 54 45 58 54 2a 20 50 43 4f 4e 54 45 58 54  ONTEXT* PCONTEXT
7480: 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
7490: 2f 5f 58 38 36 5f 0d 0a 0d 0a 2f 2f 20 23 69 66  /_X86_....// #if
74a0: 6e 64 65 66 20 5f 4c 44 54 5f 45 4e 54 52 59 5f  ndef _LDT_ENTRY_
74b0: 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 23 64 65 66  DEFINED..// #def
74c0: 69 6e 65 20 5f 4c 44 54 5f 45 4e 54 52 59 5f 44  ine _LDT_ENTRY_D
74d0: 45 46 49 4e 45 44 0d 0a 0d 0a 73 74 72 75 63 74  EFINED....struct
74e0: 20 5f 4c 44 54 5f 45 4e 54 52 59 20 7b 0d 0a 20   _LDT_ENTRY {.. 
74f0: 20 57 4f 52 44 20 4c 69 6d 69 74 4c 6f 77 3b 0d   WORD LimitLow;.
7500: 0a 20 20 57 4f 52 44 20 42 61 73 65 4c 6f 77 3b  .  WORD BaseLow;
7510: 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 73 74 72 75 63  ..union {..struc
7520: 74 20 7b 0d 0a 20 20 42 59 54 45 20 42 61 73 65  t {..  BYTE Base
7530: 4d 69 64 3b 0d 0a 20 20 42 59 54 45 20 46 6c 61  Mid;..  BYTE Fla
7540: 67 73 31 3b 0d 0a 20 20 42 59 54 45 20 46 6c 61  gs1;..  BYTE Fla
7550: 67 73 32 3b 0d 0a 20 20 42 59 54 45 20 42 61 73  gs2;..  BYTE Bas
7560: 65 48 69 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63  eHi;..}....struc
7570: 74 20 7b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20  t {..// DWORD   
7580: 42 61 73 65 4d 69 64 20 3a 20 38 3b 0d 0a 2f 2f  BaseMid : 8;..//
7590: 20 44 57 4f 52 44 20 20 20 54 79 70 65 20 3a 20   DWORD   Type : 
75a0: 35 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 44  5;..// DWORD   D
75b0: 70 6c 20 3a 20 32 3b 0d 0a 2f 2f 20 44 57 4f 52  pl : 2;..// DWOR
75c0: 44 20 20 20 50 72 65 73 20 3a 20 31 3b 0d 0a 2f  D   Pres : 1;../
75d0: 2f 20 44 57 4f 52 44 20 20 20 4c 69 6d 69 74 48  / DWORD   LimitH
75e0: 69 20 3a 20 34 3b 0d 0a 2f 2f 20 44 57 4f 52 44  i : 4;..// DWORD
75f0: 20 20 20 53 79 73 20 3a 20 31 3b 0d 0a 2f 2f 20     Sys : 1;..// 
7600: 44 57 4f 52 44 20 20 20 52 65 73 65 72 76 65 64  DWORD   Reserved
7610: 5f 30 20 3a 20 31 3b 0d 0a 2f 2f 20 44 57 4f 52  _0 : 1;..// DWOR
7620: 44 20 20 20 44 65 66 61 75 6c 74 5f 42 69 67 20  D   Default_Big 
7630: 3a 20 31 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20  : 1;..// DWORD  
7640: 20 47 72 61 6e 75 6c 61 72 69 74 79 20 3a 20 31   Granularity : 1
7650: 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 42 61  ;..// DWORD   Ba
7660: 73 65 48 69 20 3a 20 38 3b 0d 0a 7d 0d 0a 0d 0a  seHi : 8;..}....
7670: 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4c  }....}..alias _L
7680: 44 54 5f 45 4e 54 52 59 20 4c 44 54 5f 45 4e 54  DT_ENTRY LDT_ENT
7690: 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 4c 44 54 5f  RY;..alias _LDT_
76a0: 45 4e 54 52 59 2a 20 50 4c 44 54 5f 45 4e 54 52  ENTRY* PLDT_ENTR
76b0: 59 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  Y;....// #endif.
76c0: 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  ...// #if define
76d0: 64 28 5f 4d 49 50 53 5f 29 0d 0a 0d 0a 2f 2f 20  d(_MIPS_)....// 
76e0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  #.....// #......
76f0: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
7700: 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a  (RC_INVOKED)....
7710: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  // #.......// #.
7720: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
7730: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
7740: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e  / #.......// #..
7750: 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
7760: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  #endif....// ...
7770: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7780: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7790: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
77a0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
77b0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
77c0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
77d0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
77e0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
77f0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7800: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e  // .......// #..
7810: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
7820: 2f 20 4d 49 50 53 0d 0a 0d 0a 2f 2f 20 23 69 66  / MIPS....// #if
7830: 20 64 65 66 69 6e 65 64 28 5f 4d 49 50 53 5f 29   defined(_MIPS_)
7840: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7850: 20 23 65 6e 64 69 66 20 2f 2f 20 4d 49 50 53 0d   #endif // MIPS.
7860: 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  ...// #if define
7870: 64 28 5f 50 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23  d(_PPC_)....// #
7880: 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 50 50  if defined(_M_PP
7890: 43 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 4d  C) && defined(_M
78a0: 53 43 5f 56 45 52 29 20 26 26 20 28 5f 4d 53 43  SC_VER) && (_MSC
78b0: 5f 56 45 52 3e 3d 31 30 30 30 29 0d 0a 2f 2f 20  _VER>=1000)..// 
78c0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
78d0: 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f   #elif defined(_
78e0: 4d 5f 50 50 43 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  M_PPC)..// .....
78f0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
7900: 69 66 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  if....// #...../
7910: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  / #.......// #if
7920: 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56   !defined(RC_INV
7930: 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  OKED)....// #...
7940: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
7950: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
7960: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  / #.......// #en
7970: 64 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  dif....// ......
7980: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7990: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
79a0: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
79b0: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
79c0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
79d0: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
79e0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
79f0: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  / .......// #end
7a00: 69 66 20 2f 2f 20 64 65 66 69 6e 65 64 28 5f 50  if // defined(_P
7a10: 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64  PC_)....// #if d
7a20: 65 66 69 6e 65 64 28 5f 4d 50 50 43 5f 29 0d 0a  efined(_MPPC_)..
7a30: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
7a40: 28 5f 4d 5f 50 50 43 29 20 26 26 20 64 65 66 69  (_M_PPC) && defi
7a50: 6e 65 64 28 5f 4d 53 43 5f 56 45 52 29 20 26 26  ned(_MSC_VER) &&
7a60: 20 28 5f 4d 53 43 5f 56 45 52 3e 3d 31 30 30 30   (_MSC_VER>=1000
7a70: 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e  )..// .....// #.
7a80: 2e 2e 0d 0a 2f 2f 20 23 65 6c 69 66 20 64 65 66  ....// #elif def
7a90: 69 6e 65 64 28 5f 4d 5f 50 50 43 29 0d 0a 2f 2f  ined(_M_PPC)..//
7aa0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f   .....// #...../
7ab0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
7ac0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
7ad0: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
7ae0: 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a 2f  RC_INVOKED)..../
7af0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
7b00: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
7b10: 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
7b20: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
7b30: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
7b40: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7b50: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
7b60: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
7b70: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
7b80: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
7b90: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7ba0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
7bb0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 64 65 66 69  / #endif // defi
7bc0: 6e 65 64 28 5f 4d 50 50 43 5f 29 0d 0a 0d 0a 2f  ned(_MPPC_)..../
7bd0: 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f  / #if !defined(_
7be0: 5f 6d 69 64 6c 29 20 26 26 20 21 64 65 66 69 6e  _midl) && !defin
7bf0: 65 64 28 47 45 4e 55 54 49 4c 29 20 26 26 20 21  ed(GENUTIL) && !
7c00: 64 65 66 69 6e 65 64 28 5f 47 45 4e 49 41 36 34  defined(_GENIA64
7c10: 5f 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 49  _) && defined(_I
7c20: 41 36 34 5f 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  A64_)....// ....
7c30: 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28  .// #if defined(
7c40: 5f 4d 5f 49 41 36 34 29 20 20 20 20 20 20 20 20  _M_IA64)        
7c50: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77              // w
7c60: 69 6e 6e 74 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  innt..// #...../
7c70: 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 20 20  / #endif        
7c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7c90: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 69 6e            // win
7ca0: 6e 74 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  nt....// #if def
7cb0: 69 6e 65 64 28 5f 4d 5f 49 41 36 34 29 0d 0a 2f  ined(_M_IA64)../
7cc0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
7cd0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
7ce0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  dif....// #.....
7cf0: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  // #.......// #e
7d00: 6e 64 69 66 20 20 2f 2f 20 21 64 65 66 69 6e 65  ndif  // !define
7d10: 64 28 5f 5f 6d 69 64 6c 29 20 26 26 20 21 64 65  d(__midl) && !de
7d20: 66 69 6e 65 64 28 47 45 4e 55 54 49 4c 29 20 26  fined(GENUTIL) &
7d30: 26 20 21 64 65 66 69 6e 65 64 28 5f 47 45 4e 49  & !defined(_GENI
7d40: 41 36 34 5f 29 20 26 26 20 64 65 66 69 6e 65 64  A64_) && defined
7d50: 28 5f 4d 5f 49 41 36 34 29 0d 0a 0d 0a 2f 2f 20  (_M_IA64)....// 
7d60: 23 69 66 64 65 66 20 5f 49 41 36 34 5f 0d 0a 0d  #ifdef _IA64_...
7d70: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
7d80: 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a  (RC_INVOKED)....
7d90: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  // #.......// #.
7da0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
7db0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
7dc0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
7dd0: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
7de0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  .......// #endif
7df0: 20 2f 2f 20 21 64 65 66 69 6e 65 64 28 52 43 5f   // !defined(RC_
7e00: 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 2e  INVOKED)....// .
7e10: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7e20: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7e30: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7e40: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7e50: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7e60: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7e70: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7e80: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7e90: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7ea0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7eb0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7ec0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7ed0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7ee0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7ef0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7f00: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7f10: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  // .......// #en
7f20: 64 69 66 20 2f 2f 20 5f 49 41 36 34 5f 0d 0a 0d  dif // _IA64_...
7f30: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 49 41 36 34  .// #ifdef _IA64
7f40: 5f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  _....// ......./
7f50: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f 49 41 36  / #endif // _IA6
7f60: 34 5f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  4_....enum : uin
7f70: 74 20 7b 20 45 58 43 45 50 54 49 4f 4e 5f 4e 4f  t { EXCEPTION_NO
7f80: 4e 43 4f 4e 54 49 4e 55 41 42 4c 45 20 3d 20 30  NCONTINUABLE = 0
7f90: 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  x1 }..enum : uin
7fa0: 74 20 7b 20 45 58 43 45 50 54 49 4f 4e 5f 4d 41  t { EXCEPTION_MA
7fb0: 58 49 4d 55 4d 5f 50 41 52 41 4d 45 54 45 52 53  XIMUM_PARAMETERS
7fc0: 20 3d 20 31 35 20 7d 0d 0a 0d 0a 73 74 72 75 63   = 15 }....struc
7fd0: 74 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52 45 43  t _EXCEPTION_REC
7fe0: 4f 52 44 20 7b 0d 0a 20 20 44 57 4f 52 44 20 45  ORD {..  DWORD E
7ff0: 78 63 65 70 74 69 6f 6e 43 6f 64 65 3b 0d 0a 20  xceptionCode;.. 
8000: 20 44 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e   DWORD Exception
8010: 46 6c 61 67 73 3b 0d 0a 20 20 5f 45 58 43 45 50  Flags;..  _EXCEP
8020: 54 49 4f 4e 5f 52 45 43 4f 52 44 20 2a 45 78 63  TION_RECORD *Exc
8030: 65 70 74 69 6f 6e 52 65 63 6f 72 64 3b 0d 0a 20  eptionRecord;.. 
8040: 20 50 56 4f 49 44 20 45 78 63 65 70 74 69 6f 6e   PVOID Exception
8050: 41 64 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52  Address;..  DWOR
8060: 44 20 4e 75 6d 62 65 72 50 61 72 61 6d 65 74 65  D NumberParamete
8070: 72 73 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52  rs;..  ULONG_PTR
8080: 20 45 78 63 65 70 74 69 6f 6e 49 6e 66 6f 72 6d   ExceptionInform
8090: 61 74 69 6f 6e 5b 45 58 43 45 50 54 49 4f 4e 5f  ation[EXCEPTION_
80a0: 4d 41 58 49 4d 55 4d 5f 50 41 52 41 4d 45 54 45  MAXIMUM_PARAMETE
80b0: 52 53 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  RS];..}..alias _
80c0: 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44  EXCEPTION_RECORD
80d0: 20 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52   EXCEPTION_RECOR
80e0: 44 3b 0d 0a 0d 0a 61 6c 69 61 73 20 45 58 43 45  D;....alias EXCE
80f0: 50 54 49 4f 4e 5f 52 45 43 4f 52 44 2a 20 50 45  PTION_RECORD* PE
8100: 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 3b  XCEPTION_RECORD;
8110: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 45 58 43 45  ....struct _EXCE
8120: 50 54 49 4f 4e 5f 52 45 43 4f 52 44 33 32 20 7b  PTION_RECORD32 {
8130: 0d 0a 20 20 44 57 4f 52 44 20 45 78 63 65 70 74  ..  DWORD Except
8140: 69 6f 6e 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52  ionCode;..  DWOR
8150: 44 20 45 78 63 65 70 74 69 6f 6e 46 6c 61 67 73  D ExceptionFlags
8160: 3b 0d 0a 20 20 44 57 4f 52 44 20 45 78 63 65 70  ;..  DWORD Excep
8170: 74 69 6f 6e 52 65 63 6f 72 64 3b 0d 0a 20 20 44  tionRecord;..  D
8180: 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 41 64  WORD ExceptionAd
8190: 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20  dress;..  DWORD 
81a0: 4e 75 6d 62 65 72 50 61 72 61 6d 65 74 65 72 73  NumberParameters
81b0: 3b 0d 0a 20 20 44 57 4f 52 44 20 45 78 63 65 70  ;..  DWORD Excep
81c0: 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b  tionInformation[
81d0: 45 58 43 45 50 54 49 4f 4e 5f 4d 41 58 49 4d 55  EXCEPTION_MAXIMU
81e0: 4d 5f 50 41 52 41 4d 45 54 45 52 53 5d 3b 0d 0a  M_PARAMETERS];..
81f0: 7d 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45 50 54  }..alias _EXCEPT
8200: 49 4f 4e 5f 52 45 43 4f 52 44 33 32 20 45 58 43  ION_RECORD32 EXC
8210: 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 33 32 3b  EPTION_RECORD32;
8220: 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45 50 54 49  ..alias _EXCEPTI
8230: 4f 4e 5f 52 45 43 4f 52 44 33 32 2a 20 50 45 58  ON_RECORD32* PEX
8240: 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 33 32  CEPTION_RECORD32
8250: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 45 58 43  ;....struct _EXC
8260: 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 36 34 20  EPTION_RECORD64 
8270: 7b 0d 0a 20 20 44 57 4f 52 44 20 45 78 63 65 70  {..  DWORD Excep
8280: 74 69 6f 6e 43 6f 64 65 3b 0d 0a 20 20 44 57 4f  tionCode;..  DWO
8290: 52 44 20 45 78 63 65 70 74 69 6f 6e 46 6c 61 67  RD ExceptionFlag
82a0: 73 3b 0d 0a 20 20 44 57 4f 52 44 36 34 20 45 78  s;..  DWORD64 Ex
82b0: 63 65 70 74 69 6f 6e 52 65 63 6f 72 64 3b 0d 0a  ceptionRecord;..
82c0: 20 20 44 57 4f 52 44 36 34 20 45 78 63 65 70 74    DWORD64 Except
82d0: 69 6f 6e 41 64 64 72 65 73 73 3b 0d 0a 20 20 44  ionAddress;..  D
82e0: 57 4f 52 44 20 4e 75 6d 62 65 72 50 61 72 61 6d  WORD NumberParam
82f0: 65 74 65 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20  eters;..  DWORD 
8300: 5f 5f 75 6e 75 73 65 64 41 6c 69 67 6e 6d 65 6e  __unusedAlignmen
8310: 74 3b 0d 0a 20 20 44 57 4f 52 44 36 34 20 45 78  t;..  DWORD64 Ex
8320: 63 65 70 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 69  ceptionInformati
8330: 6f 6e 5b 45 58 43 45 50 54 49 4f 4e 5f 4d 41 58  on[EXCEPTION_MAX
8340: 49 4d 55 4d 5f 50 41 52 41 4d 45 54 45 52 53 5d  IMUM_PARAMETERS]
8350: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 45 58 43  ;..}..alias _EXC
8360: 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 36 34 20  EPTION_RECORD64 
8370: 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44  EXCEPTION_RECORD
8380: 36 34 3b 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45  64;..alias _EXCE
8390: 50 54 49 4f 4e 5f 52 45 43 4f 52 44 36 34 2a 20  PTION_RECORD64* 
83a0: 50 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52  PEXCEPTION_RECOR
83b0: 44 36 34 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  D64;....struct _
83c0: 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45  EXCEPTION_POINTE
83d0: 52 53 20 7b 0d 0a 20 20 50 45 58 43 45 50 54 49  RS {..  PEXCEPTI
83e0: 4f 4e 5f 52 45 43 4f 52 44 20 45 78 63 65 70 74  ON_RECORD Except
83f0: 69 6f 6e 52 65 63 6f 72 64 3b 0d 0a 20 20 50 43  ionRecord;..  PC
8400: 4f 4e 54 45 58 54 20 43 6f 6e 74 65 78 74 52 65  ONTEXT ContextRe
8410: 63 6f 72 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  cord;..}..alias 
8420: 5f 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54  _EXCEPTION_POINT
8430: 45 52 53 20 45 58 43 45 50 54 49 4f 4e 5f 50 4f  ERS EXCEPTION_PO
8440: 49 4e 54 45 52 53 3b 0d 0a 61 6c 69 61 73 20 5f  INTERS;..alias _
8450: 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45  EXCEPTION_POINTE
8460: 52 53 2a 20 50 45 58 43 45 50 54 49 4f 4e 5f 50  RS* PEXCEPTION_P
8470: 4f 49 4e 54 45 52 53 3b 0d 0a 0d 0a 61 6c 69 61  OINTERS;....alia
8480: 73 20 50 56 4f 49 44 20 50 41 43 43 45 53 53 5f  s PVOID PACCESS_
8490: 54 4f 4b 45 4e 3b 0d 0a 61 6c 69 61 73 20 50 56  TOKEN;..alias PV
84a0: 4f 49 44 20 50 53 45 43 55 52 49 54 59 5f 44 45  OID PSECURITY_DE
84b0: 53 43 52 49 50 54 4f 52 3b 0d 0a 61 6c 69 61 73  SCRIPTOR;..alias
84c0: 20 50 56 4f 49 44 20 50 53 49 44 3b 0d 0a 0d 0a   PVOID PSID;....
84d0: 61 6c 69 61 73 20 44 57 4f 52 44 20 41 43 43 45  alias DWORD ACCE
84e0: 53 53 5f 4d 41 53 4b 3b 0d 0a 61 6c 69 61 73 20  SS_MASK;..alias 
84f0: 41 43 43 45 53 53 5f 4d 41 53 4b 2a 20 50 41 43  ACCESS_MASK* PAC
8500: 43 45 53 53 5f 4d 41 53 4b 3b 0d 0a 0d 0a 65 6e  CESS_MASK;....en
8510: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 4c 45  um : uint { DELE
8520: 54 45 20 3d 20 30 78 30 30 30 31 30 30 30 30 20  TE = 0x00010000 
8530: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8540: 20 52 45 41 44 5f 43 4f 4e 54 52 4f 4c 20 3d 20   READ_CONTROL = 
8550: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
8560: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 52 49 54  um : uint { WRIT
8570: 45 5f 44 41 43 20 3d 20 30 78 30 30 30 34 30 30  E_DAC = 0x000400
8580: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
8590: 74 20 7b 20 57 52 49 54 45 5f 4f 57 4e 45 52 20  t { WRITE_OWNER 
85a0: 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a  = 0x00080000 }..
85b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 59  enum : uint { SY
85c0: 4e 43 48 52 4f 4e 49 5a 45 20 3d 20 30 78 30 30  NCHRONIZE = 0x00
85d0: 31 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  100000 }....enum
85e0: 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 4e 44 41   : uint { STANDA
85f0: 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52  RD_RIGHTS_REQUIR
8600: 45 44 20 3d 20 30 78 30 30 30 46 30 30 30 30 20  ED = 0x000F0000 
8610: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
8620: 20 7b 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   { STANDARD_RIGH
8630: 54 53 5f 52 45 41 44 20 3d 20 52 45 41 44 5f 43  TS_READ = READ_C
8640: 4f 4e 54 52 4f 4c 20 7d 0d 0a 65 6e 75 6d 20 3a  ONTROL }..enum :
8650: 20 75 69 6e 74 20 7b 20 53 54 41 4e 44 41 52 44   uint { STANDARD
8660: 5f 52 49 47 48 54 53 5f 57 52 49 54 45 20 3d 20  _RIGHTS_WRITE = 
8670: 52 45 41 44 5f 43 4f 4e 54 52 4f 4c 20 7d 0d 0a  READ_CONTROL }..
8680: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
8690: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 45 58  ANDARD_RIGHTS_EX
86a0: 45 43 55 54 45 20 3d 20 52 45 41 44 5f 43 4f 4e  ECUTE = READ_CON
86b0: 54 52 4f 4c 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  TROL }....enum :
86c0: 20 75 69 6e 74 20 7b 20 53 54 41 4e 44 41 52 44   uint { STANDARD
86d0: 5f 52 49 47 48 54 53 5f 41 4c 4c 20 3d 20 30 78  _RIGHTS_ALL = 0x
86e0: 30 30 31 46 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  001F0000 }....en
86f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 45 43  um : uint { SPEC
8700: 49 46 49 43 5f 52 49 47 48 54 53 5f 41 4c 4c 20  IFIC_RIGHTS_ALL 
8710: 3d 20 30 78 30 30 30 30 46 46 46 46 20 7d 0d 0a  = 0x0000FFFF }..
8720: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8730: 41 43 43 45 53 53 5f 53 59 53 54 45 4d 5f 53 45  ACCESS_SYSTEM_SE
8740: 43 55 52 49 54 59 20 3d 20 30 78 30 31 30 30 30  CURITY = 0x01000
8750: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
8760: 75 69 6e 74 20 7b 20 4d 41 58 49 4d 55 4d 5f 41  uint { MAXIMUM_A
8770: 4c 4c 4f 57 45 44 20 3d 20 30 78 30 32 30 30 30  LLOWED = 0x02000
8780: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
8790: 75 69 6e 74 20 7b 20 47 45 4e 45 52 49 43 5f 52  uint { GENERIC_R
87a0: 45 41 44 20 3d 20 30 78 38 30 30 30 30 30 30 30  EAD = 0x80000000
87b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
87c0: 7b 20 47 45 4e 45 52 49 43 5f 57 52 49 54 45 20  { GENERIC_WRITE 
87d0: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
87e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 45  enum : uint { GE
87f0: 4e 45 52 49 43 5f 45 58 45 43 55 54 45 20 3d 20  NERIC_EXECUTE = 
8800: 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x20000000 }..en
8810: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 45 4e 45  um : uint { GENE
8820: 52 49 43 5f 41 4c 4c 20 3d 20 30 78 31 30 30 30  RIC_ALL = 0x1000
8830: 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  0000 }....struct
8840: 20 5f 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e   _GENERIC_MAPPIN
8850: 47 20 7b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41  G {..  ACCESS_MA
8860: 53 4b 20 47 65 6e 65 72 69 63 52 65 61 64 3b 0d  SK GenericRead;.
8870: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 47  .  ACCESS_MASK G
8880: 65 6e 65 72 69 63 57 72 69 74 65 3b 0d 0a 20 20  enericWrite;..  
8890: 41 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65  ACCESS_MASK Gene
88a0: 72 69 63 45 78 65 63 75 74 65 3b 0d 0a 20 20 41  ricExecute;..  A
88b0: 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72  CCESS_MASK Gener
88c0: 69 63 41 6c 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  icAll;..}..alias
88d0: 20 5f 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e   _GENERIC_MAPPIN
88e0: 47 20 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e  G GENERIC_MAPPIN
88f0: 47 3b 0d 0a 0d 0a 61 6c 69 61 73 20 47 45 4e 45  G;....alias GENE
8900: 52 49 43 5f 4d 41 50 50 49 4e 47 2a 20 50 47 45  RIC_MAPPING* PGE
8910: 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47 3b 0d 0a  NERIC_MAPPING;..
8920: 0d 0a 61 6c 69 67 6e 28 34 29 3a 0d 0a 0d 0a 73  ..align(4):....s
8930: 74 72 75 63 74 20 5f 4c 55 49 44 5f 41 4e 44 5f  truct _LUID_AND_
8940: 41 54 54 52 49 42 55 54 45 53 20 7b 0d 0a 20 20  ATTRIBUTES {..  
8950: 4c 55 49 44 20 4c 75 69 64 3b 0d 0a 20 20 44 57  LUID Luid;..  DW
8960: 4f 52 44 20 41 74 74 72 69 62 75 74 65 73 3b 0d  ORD Attributes;.
8970: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4c 55 49 44 5f  .}..alias _LUID_
8980: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 4c  AND_ATTRIBUTES L
8990: 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54  UID_AND_ATTRIBUT
89a0: 45 53 3b 0d 0a 61 6c 69 61 73 20 5f 4c 55 49 44  ES;..alias _LUID
89b0: 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 2a  _AND_ATTRIBUTES*
89c0: 20 50 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49   PLUID_AND_ATTRI
89d0: 42 55 54 45 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20  BUTES;....alias 
89e0: 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55  LUID_AND_ATTRIBU
89f0: 54 45 53 20 4c 55 49 44 5f 41 4e 44 5f 41 54 54  TES LUID_AND_ATT
8a00: 52 49 42 55 54 45 53 5f 41 52 52 41 59 5b 41 4e  RIBUTES_ARRAY[AN
8a10: 59 53 49 5a 45 5f 41 52 52 41 59 5d 3b 0d 0a 61  YSIZE_ARRAY];..a
8a20: 6c 69 61 73 20 4c 55 49 44 5f 41 4e 44 5f 41 54  lias LUID_AND_AT
8a30: 54 52 49 42 55 54 45 53 5f 41 52 52 41 59 2a 20  TRIBUTES_ARRAY* 
8a40: 50 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42  PLUID_AND_ATTRIB
8a50: 55 54 45 53 5f 41 52 52 41 59 3b 0d 0a 0d 0a 61  UTES_ARRAY;....a
8a60: 6c 69 67 6e 3a 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  lign:....// #ifn
8a70: 64 65 66 20 53 49 44 5f 49 44 45 4e 54 49 46 49  def SID_IDENTIFI
8a80: 45 52 5f 41 55 54 48 4f 52 49 54 59 5f 44 45 46  ER_AUTHORITY_DEF
8a90: 49 4e 45 44 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  INED..// #define
8aa0: 20 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f   SID_IDENTIFIER_
8ab0: 41 55 54 48 4f 52 49 54 59 5f 44 45 46 49 4e 45  AUTHORITY_DEFINE
8ac0: 44 0d 0a 73 74 72 75 63 74 20 5f 53 49 44 5f 49  D..struct _SID_I
8ad0: 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f 52  DENTIFIER_AUTHOR
8ae0: 49 54 59 20 7b 0d 0a 20 20 42 59 54 45 20 56 61  ITY {..  BYTE Va
8af0: 6c 75 65 5b 36 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  lue[6];..}..alia
8b00: 73 20 5f 53 49 44 5f 49 44 45 4e 54 49 46 49 45  s _SID_IDENTIFIE
8b10: 52 5f 41 55 54 48 4f 52 49 54 59 20 53 49 44 5f  R_AUTHORITY SID_
8b20: 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f  IDENTIFIER_AUTHO
8b30: 52 49 54 59 3b 0d 0a 61 6c 69 61 73 20 5f 53 49  RITY;..alias _SI
8b40: 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54  D_IDENTIFIER_AUT
8b50: 48 4f 52 49 54 59 2a 20 50 53 49 44 5f 49 44 45  HORITY* PSID_IDE
8b60: 4e 54 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54  NTIFIER_AUTHORIT
8b70: 59 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  Y;....// #endif.
8b80: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 53 49  ...// #ifndef SI
8b90: 44 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 23 64  D_DEFINED..// #d
8ba0: 65 66 69 6e 65 20 53 49 44 5f 44 45 46 49 4e 45  efine SID_DEFINE
8bb0: 44 0d 0a 73 74 72 75 63 74 20 5f 53 49 44 20 7b  D..struct _SID {
8bc0: 0d 0a 20 20 42 59 54 45 20 52 65 76 69 73 69 6f  ..  BYTE Revisio
8bd0: 6e 3b 0d 0a 20 20 42 59 54 45 20 53 75 62 41 75  n;..  BYTE SubAu
8be0: 74 68 6f 72 69 74 79 43 6f 75 6e 74 3b 0d 0a 20  thorityCount;.. 
8bf0: 20 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f   SID_IDENTIFIER_
8c00: 41 55 54 48 4f 52 49 54 59 20 49 64 65 6e 74 69  AUTHORITY Identi
8c10: 66 69 65 72 41 75 74 68 6f 72 69 74 79 3b 0d 0a  fierAuthority;..
8c20: 2f 2f 20 23 69 66 64 65 66 20 4d 49 44 4c 5f 50  // #ifdef MIDL_P
8c30: 41 53 53 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ASS..// .....// 
8c40: 23 65 6c 73 65 20 2f 2f 20 4d 49 44 4c 5f 50 41  #else // MIDL_PA
8c50: 53 53 0d 0a 20 20 44 57 4f 52 44 20 53 75 62 41  SS..  DWORD SubA
8c60: 75 74 68 6f 72 69 74 79 5b 41 4e 59 53 49 5a 45  uthority[ANYSIZE
8c70: 5f 41 52 52 41 59 5d 3b 0d 0a 2f 2f 20 23 65 6e  _ARRAY];..// #en
8c80: 64 69 66 20 2f 2f 20 4d 49 44 4c 5f 50 41 53 53  dif // MIDL_PASS
8c90: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 49 44 20  ..}..alias _SID 
8ca0: 53 49 44 3b 0d 0a 61 6c 69 61 73 20 5f 53 49 44  SID;..alias _SID
8cb0: 2a 20 50 49 53 49 44 3b 0d 0a 0d 0a 2f 2f 20 23  * PISID;....// #
8cc0: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
8cd0: 75 69 6e 74 20 7b 20 53 49 44 5f 52 45 56 49 53  uint { SID_REVIS
8ce0: 49 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  ION = 1 }..enum 
8cf0: 3a 20 75 69 6e 74 20 7b 20 53 49 44 5f 4d 41 58  : uint { SID_MAX
8d00: 5f 53 55 42 5f 41 55 54 48 4f 52 49 54 49 45 53  _SUB_AUTHORITIES
8d10: 20 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 15 }..enum : 
8d20: 75 69 6e 74 20 7b 20 53 49 44 5f 52 45 43 4f 4d  uint { SID_RECOM
8d30: 4d 45 4e 44 45 44 5f 53 55 42 5f 41 55 54 48 4f  MENDED_SUB_AUTHO
8d40: 52 49 54 49 45 53 20 3d 20 31 20 7d 0d 0a 0d 0a  RITIES = 1 }....
8d50: 2f 2f 20 23 69 66 6e 64 65 66 20 4d 49 44 4c 5f  // #ifndef MIDL_
8d60: 50 41 53 53 0d 0a 63 6f 6e 73 74 20 75 69 6e 74  PASS..const uint
8d70: 20 53 45 43 55 52 49 54 59 5f 4d 41 58 5f 53 49   SECURITY_MAX_SI
8d80: 44 5f 53 49 5a 45 20 3d 20 53 49 44 2e 73 69 7a  D_SIZE = SID.siz
8d90: 65 6f 66 20 2d 20 44 57 4f 52 44 2e 73 69 7a 65  eof - DWORD.size
8da0: 6f 66 20 2b 20 28 53 49 44 5f 4d 41 58 5f 53 55  of + (SID_MAX_SU
8db0: 42 5f 41 55 54 48 4f 52 49 54 49 45 53 20 2a 20  B_AUTHORITIES * 
8dc0: 44 57 4f 52 44 2e 73 69 7a 65 6f 66 29 3b 0d 0a  DWORD.sizeof);..
8dd0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4d 49 44  // #endif // MID
8de0: 4c 5f 50 41 53 53 0d 0a 0d 0a 61 6c 69 61 73 20  L_PASS....alias 
8df0: 69 6e 74 20 5f 53 49 44 5f 4e 41 4d 45 5f 55 53  int _SID_NAME_US
8e00: 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 53 69  E;..enum {..  Si
8e10: 64 54 79 70 65 55 73 65 72 20 3d 20 31 2c 0d 0a  dTypeUser = 1,..
8e20: 20 20 53 69 64 54 79 70 65 47 72 6f 75 70 2c 0d    SidTypeGroup,.
8e30: 0a 20 20 53 69 64 54 79 70 65 44 6f 6d 61 69 6e  .  SidTypeDomain
8e40: 2c 0d 0a 20 20 53 69 64 54 79 70 65 41 6c 69 61  ,..  SidTypeAlia
8e50: 73 2c 0d 0a 20 20 53 69 64 54 79 70 65 57 65 6c  s,..  SidTypeWel
8e60: 6c 4b 6e 6f 77 6e 47 72 6f 75 70 2c 0d 0a 20 20  lKnownGroup,..  
8e70: 53 69 64 54 79 70 65 44 65 6c 65 74 65 64 41 63  SidTypeDeletedAc
8e80: 63 6f 75 6e 74 2c 0d 0a 20 20 53 69 64 54 79 70  count,..  SidTyp
8e90: 65 49 6e 76 61 6c 69 64 2c 0d 0a 20 20 53 69 64  eInvalid,..  Sid
8ea0: 54 79 70 65 55 6e 6b 6e 6f 77 6e 2c 0d 0a 20 20  TypeUnknown,..  
8eb0: 53 69 64 54 79 70 65 43 6f 6d 70 75 74 65 72 2c  SidTypeComputer,
8ec0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 49 44 5f  ..}..alias _SID_
8ed0: 4e 41 4d 45 5f 55 53 45 20 53 49 44 5f 4e 41 4d  NAME_USE SID_NAM
8ee0: 45 5f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 5f 53  E_USE;..alias _S
8ef0: 49 44 5f 4e 41 4d 45 5f 55 53 45 2a 20 50 53 49  ID_NAME_USE* PSI
8f00: 44 5f 4e 41 4d 45 5f 55 53 45 3b 0d 0a 0d 0a 73  D_NAME_USE;....s
8f10: 74 72 75 63 74 20 5f 53 49 44 5f 41 4e 44 5f 41  truct _SID_AND_A
8f20: 54 54 52 49 42 55 54 45 53 20 7b 0d 0a 20 20 50  TTRIBUTES {..  P
8f30: 53 49 44 20 53 69 64 3b 0d 0a 20 20 44 57 4f 52  SID Sid;..  DWOR
8f40: 44 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 7d  D Attributes;..}
8f50: 0d 0a 61 6c 69 61 73 20 5f 53 49 44 5f 41 4e 44  ..alias _SID_AND
8f60: 5f 41 54 54 52 49 42 55 54 45 53 20 53 49 44 5f  _ATTRIBUTES SID_
8f70: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 3b 0d  AND_ATTRIBUTES;.
8f80: 0a 61 6c 69 61 73 20 5f 53 49 44 5f 41 4e 44 5f  .alias _SID_AND_
8f90: 41 54 54 52 49 42 55 54 45 53 2a 20 50 53 49 44  ATTRIBUTES* PSID
8fa0: 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 3b  _AND_ATTRIBUTES;
8fb0: 0d 0a 0d 0a 61 6c 69 61 73 20 53 49 44 5f 41 4e  ....alias SID_AN
8fc0: 44 5f 41 54 54 52 49 42 55 54 45 53 20 53 49 44  D_ATTRIBUTES SID
8fd0: 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 5f  _AND_ATTRIBUTES_
8fe0: 41 52 52 41 59 5b 41 4e 59 53 49 5a 45 5f 41 52  ARRAY[ANYSIZE_AR
8ff0: 52 41 59 5d 3b 0d 0a 61 6c 69 61 73 20 53 49 44  RAY];..alias SID
9000: 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 5f  _AND_ATTRIBUTES_
9010: 41 52 52 41 59 2a 20 50 53 49 44 5f 41 4e 44 5f  ARRAY* PSID_AND_
9020: 41 54 54 52 49 42 55 54 45 53 5f 41 52 52 41 59  ATTRIBUTES_ARRAY
9030: 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ;....// #define 
9040: 53 45 43 55 52 49 54 59 5f 4e 55 4c 4c 5f 53 49  SECURITY_NULL_SI
9050: 44 5f 41 55 54 48 4f 52 49 54 59 20 7b 30 2c 30  D_AUTHORITY {0,0
9060: 2c 30 2c 30 2c 30 2c 30 7d 0d 0a 2f 2f 20 23 64  ,0,0,0,0}..// #d
9070: 65 66 69 6e 65 20 53 45 43 55 52 49 54 59 5f 57  efine SECURITY_W
9080: 4f 52 4c 44 5f 53 49 44 5f 41 55 54 48 4f 52 49  ORLD_SID_AUTHORI
9090: 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c 31 7d  TY {0,0,0,0,0,1}
90a0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 45 43  ..// #define SEC
90b0: 55 52 49 54 59 5f 4c 4f 43 41 4c 5f 53 49 44 5f  URITY_LOCAL_SID_
90c0: 41 55 54 48 4f 52 49 54 59 20 7b 30 2c 30 2c 30  AUTHORITY {0,0,0
90d0: 2c 30 2c 30 2c 32 7d 0d 0a 2f 2f 20 23 64 65 66  ,0,0,2}..// #def
90e0: 69 6e 65 20 53 45 43 55 52 49 54 59 5f 43 52 45  ine SECURITY_CRE
90f0: 41 54 4f 52 5f 53 49 44 5f 41 55 54 48 4f 52 49  ATOR_SID_AUTHORI
9100: 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c 33 7d  TY {0,0,0,0,0,3}
9110: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 45 43  ..// #define SEC
9120: 55 52 49 54 59 5f 4e 4f 4e 5f 55 4e 49 51 55 45  URITY_NON_UNIQUE
9130: 5f 41 55 54 48 4f 52 49 54 59 20 7b 30 2c 30 2c  _AUTHORITY {0,0,
9140: 30 2c 30 2c 30 2c 34 7d 0d 0a 2f 2f 20 23 64 65  0,0,0,4}..// #de
9150: 66 69 6e 65 20 53 45 43 55 52 49 54 59 5f 52 45  fine SECURITY_RE
9160: 53 4f 55 52 43 45 5f 4d 41 4e 41 47 45 52 5f 41  SOURCE_MANAGER_A
9170: 55 54 48 4f 52 49 54 59 20 7b 30 2c 30 2c 30 2c  UTHORITY {0,0,0,
9180: 30 2c 30 2c 39 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0,0,9}....enum :
9190: 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59   uint { SECURITY
91a0: 5f 4e 55 4c 4c 5f 52 49 44 20 3d 20 30 78 30 30  _NULL_RID = 0x00
91b0: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
91c0: 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59   uint { SECURITY
91d0: 5f 57 4f 52 4c 44 5f 52 49 44 20 3d 20 30 78 30  _WORLD_RID = 0x0
91e0: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
91f0: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
9200: 59 5f 4c 4f 43 41 4c 5f 52 49 44 20 3d 20 30 78  Y_LOCAL_RID = 0x
9210: 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00000000 }....en
9220: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55  um : uint { SECU
9230: 52 49 54 59 5f 43 52 45 41 54 4f 52 5f 4f 57 4e  RITY_CREATOR_OWN
9240: 45 52 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30  ER_RID = 0x00000
9250: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
9260: 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 43 52  nt { SECURITY_CR
9270: 45 41 54 4f 52 5f 47 52 4f 55 50 5f 52 49 44 20  EATOR_GROUP_RID 
9280: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
9290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
92a0: 53 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52  SECURITY_CREATOR
92b0: 5f 4f 57 4e 45 52 5f 53 45 52 56 45 52 5f 52 49  _OWNER_SERVER_RI
92c0: 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  D = 0x00000002 }
92d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
92e0: 53 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52  SECURITY_CREATOR
92f0: 5f 47 52 4f 55 50 5f 53 45 52 56 45 52 5f 52 49  _GROUP_SERVER_RI
9300: 44 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d  D = 0x00000003 }
9310: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53  ....// #define S
9320: 45 43 55 52 49 54 59 5f 4e 54 5f 41 55 54 48 4f  ECURITY_NT_AUTHO
9330: 52 49 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c  RITY {0,0,0,0,0,
9340: 35 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  5}....enum : uin
9350: 74 20 7b 20 53 45 43 55 52 49 54 59 5f 44 49 41  t { SECURITY_DIA
9360: 4c 55 50 5f 52 49 44 20 3d 20 30 78 30 30 30 30  LUP_RID = 0x0000
9370: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
9380: 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 4e  int { SECURITY_N
9390: 45 54 57 4f 52 4b 5f 52 49 44 20 3d 20 30 78 30  ETWORK_RID = 0x0
93a0: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
93b0: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
93c0: 59 5f 42 41 54 43 48 5f 52 49 44 20 3d 20 30 78  Y_BATCH_RID = 0x
93d0: 30 30 30 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d  00000003 }..enum
93e0: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
93f0: 54 59 5f 49 4e 54 45 52 41 43 54 49 56 45 5f 52  TY_INTERACTIVE_R
9400: 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  ID = 0x00000004 
9410: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9420: 20 53 45 43 55 52 49 54 59 5f 53 45 52 56 49 43   SECURITY_SERVIC
9430: 45 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30  E_RID = 0x000000
9440: 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
9450: 74 20 7b 20 53 45 43 55 52 49 54 59 5f 41 4e 4f  t { SECURITY_ANO
9460: 4e 59 4d 4f 55 53 5f 4c 4f 47 4f 4e 5f 52 49 44  NYMOUS_LOGON_RID
9470: 20 3d 20 30 78 30 30 30 30 30 30 30 37 20 7d 0d   = 0x00000007 }.
9480: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
9490: 45 43 55 52 49 54 59 5f 50 52 4f 58 59 5f 52 49  ECURITY_PROXY_RI
94a0: 44 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  D = 0x00000008 }
94b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
94c0: 53 45 43 55 52 49 54 59 5f 45 4e 54 45 52 50 52  SECURITY_ENTERPR
94d0: 49 53 45 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f  ISE_CONTROLLERS_
94e0: 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 39  RID = 0x00000009
94f0: 20 7d 0d 0a 61 6c 69 61 73 20 53 45 43 55 52 49   }..alias SECURI
9500: 54 59 5f 45 4e 54 45 52 50 52 49 53 45 5f 43 4f  TY_ENTERPRISE_CO
9510: 4e 54 52 4f 4c 4c 45 52 53 5f 52 49 44 20 53 45  NTROLLERS_RID SE
9520: 43 55 52 49 54 59 5f 53 45 52 56 45 52 5f 4c 4f  CURITY_SERVER_LO
9530: 47 4f 4e 5f 52 49 44 3b 0d 0a 65 6e 75 6d 20 3a  GON_RID;..enum :
9540: 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59   uint { SECURITY
9550: 5f 50 52 49 4e 43 49 50 41 4c 5f 53 45 4c 46 5f  _PRINCIPAL_SELF_
9560: 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 41  RID = 0x0000000A
9570: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9580: 7b 20 53 45 43 55 52 49 54 59 5f 41 55 54 48 45  { SECURITY_AUTHE
9590: 4e 54 49 43 41 54 45 44 5f 55 53 45 52 5f 52 49  NTICATED_USER_RI
95a0: 44 20 3d 20 30 78 30 30 30 30 30 30 30 42 20 7d  D = 0x0000000B }
95b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
95c0: 53 45 43 55 52 49 54 59 5f 52 45 53 54 52 49 43  SECURITY_RESTRIC
95d0: 54 45 44 5f 43 4f 44 45 5f 52 49 44 20 3d 20 30  TED_CODE_RID = 0
95e0: 78 30 30 30 30 30 30 30 43 20 7d 0d 0a 65 6e 75  x0000000C }..enu
95f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52  m : uint { SECUR
9600: 49 54 59 5f 54 45 52 4d 49 4e 41 4c 5f 53 45 52  ITY_TERMINAL_SER
9610: 56 45 52 5f 52 49 44 20 3d 20 30 78 30 30 30 30  VER_RID = 0x0000
9620: 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  000D }..enum : u
9630: 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 52  int { SECURITY_R
9640: 45 4d 4f 54 45 5f 4c 4f 47 4f 4e 5f 52 49 44 20  EMOTE_LOGON_RID 
9650: 3d 20 30 78 30 30 30 30 30 30 30 45 20 7d 0d 0a  = 0x0000000E }..
9660: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9670: 53 45 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f 49  SECURITY_LOGON_I
9680: 44 53 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30  DS_RID = 0x00000
9690: 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  005 }..enum : ui
96a0: 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 4c 4f  nt { SECURITY_LO
96b0: 47 4f 4e 5f 49 44 53 5f 52 49 44 5f 43 4f 55 4e  GON_IDS_RID_COUN
96c0: 54 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T = 3 }....enum 
96d0: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
96e0: 59 5f 4c 4f 43 41 4c 5f 53 59 53 54 45 4d 5f 52  Y_LOCAL_SYSTEM_R
96f0: 49 44 20 3d 20 30 78 30 30 30 30 30 30 31 32 20  ID = 0x00000012 
9700: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9710: 20 53 45 43 55 52 49 54 59 5f 4c 4f 43 41 4c 5f   SECURITY_LOCAL_
9720: 53 45 52 56 49 43 45 5f 52 49 44 20 3d 20 30 78  SERVICE_RID = 0x
9730: 30 30 30 30 30 30 31 33 20 7d 0d 0a 65 6e 75 6d  00000013 }..enum
9740: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
9750: 54 59 5f 4e 45 54 57 4f 52 4b 5f 53 45 52 56 49  TY_NETWORK_SERVI
9760: 43 45 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30  CE_RID = 0x00000
9770: 30 31 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  014 }....enum : 
9780: 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f  uint { SECURITY_
9790: 4e 54 5f 4e 4f 4e 5f 55 4e 49 51 55 45 20 3d 20  NT_NON_UNIQUE = 
97a0: 30 78 30 30 30 30 30 30 31 35 20 7d 0d 0a 65 6e  0x00000015 }..en
97b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55  um : uint { SECU
97c0: 52 49 54 59 5f 4e 54 5f 4e 4f 4e 5f 55 4e 49 51  RITY_NT_NON_UNIQ
97d0: 55 45 5f 53 55 42 5f 41 55 54 48 5f 43 4f 55 4e  UE_SUB_AUTH_COUN
97e0: 54 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T = 3 }....enum 
97f0: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
9800: 59 5f 42 55 49 4c 54 49 4e 5f 44 4f 4d 41 49 4e  Y_BUILTIN_DOMAIN
9810: 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 32  _RID = 0x0000002
9820: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
9830: 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 55 53 45 52  nt { DOMAIN_USER
9840: 5f 52 49 44 5f 41 44 4d 49 4e 20 3d 20 30 78 30  _RID_ADMIN = 0x0
9850: 30 30 30 30 31 46 34 20 7d 0d 0a 65 6e 75 6d 20  00001F4 }..enum 
9860: 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f  : uint { DOMAIN_
9870: 55 53 45 52 5f 52 49 44 5f 47 55 45 53 54 20 3d  USER_RID_GUEST =
9880: 20 30 78 30 30 30 30 30 31 46 35 20 7d 0d 0a 65   0x000001F5 }..e
9890: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d  num : uint { DOM
98a0: 41 49 4e 5f 55 53 45 52 5f 52 49 44 5f 4b 52 42  AIN_USER_RID_KRB
98b0: 54 47 54 20 3d 20 30 78 30 30 30 30 30 31 46 36  TGT = 0x000001F6
98c0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
98d0: 74 20 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50  t { DOMAIN_GROUP
98e0: 5f 52 49 44 5f 41 44 4d 49 4e 53 20 3d 20 30 78  _RID_ADMINS = 0x
98f0: 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
9900: 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e   : uint { DOMAIN
9910: 5f 47 52 4f 55 50 5f 52 49 44 5f 55 53 45 52 53  _GROUP_RID_USERS
9920: 20 3d 20 30 78 30 30 30 30 30 32 30 31 20 7d 0d   = 0x00000201 }.
9930: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
9940: 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f  OMAIN_GROUP_RID_
9950: 47 55 45 53 54 53 20 3d 20 30 78 30 30 30 30 30  GUESTS = 0x00000
9960: 32 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  202 }..enum : ui
9970: 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55  nt { DOMAIN_GROU
9980: 50 5f 52 49 44 5f 43 4f 4d 50 55 54 45 52 53 20  P_RID_COMPUTERS 
9990: 3d 20 30 78 30 30 30 30 30 32 30 33 20 7d 0d 0a  = 0x00000203 }..
99a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
99b0: 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f 43  MAIN_GROUP_RID_C
99c0: 4f 4e 54 52 4f 4c 4c 45 52 53 20 3d 20 30 78 30  ONTROLLERS = 0x0
99d0: 30 30 30 30 32 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000204 }..enum 
99e0: 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f  : uint { DOMAIN_
99f0: 47 52 4f 55 50 5f 52 49 44 5f 43 45 52 54 5f 41  GROUP_RID_CERT_A
9a00: 44 4d 49 4e 53 20 3d 20 30 78 30 30 30 30 30 32  DMINS = 0x000002
9a10: 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
9a20: 74 20 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50  t { DOMAIN_GROUP
9a30: 5f 52 49 44 5f 53 43 48 45 4d 41 5f 41 44 4d 49  _RID_SCHEMA_ADMI
9a40: 4e 53 20 3d 20 30 78 30 30 30 30 30 32 30 36 20  NS = 0x00000206 
9a50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9a60: 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49   DOMAIN_GROUP_RI
9a70: 44 5f 45 4e 54 45 52 50 52 49 53 45 5f 41 44 4d  D_ENTERPRISE_ADM
9a80: 49 4e 53 20 3d 20 30 78 30 30 30 30 30 32 30 37  INS = 0x00000207
9a90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9aa0: 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52  { DOMAIN_GROUP_R
9ab0: 49 44 5f 50 4f 4c 49 43 59 5f 41 44 4d 49 4e 53  ID_POLICY_ADMINS
9ac0: 20 3d 20 30 78 30 30 30 30 30 32 30 38 20 7d 0d   = 0x00000208 }.
9ad0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
9ae0: 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49   DOMAIN_ALIAS_RI
9af0: 44 5f 41 44 4d 49 4e 53 20 3d 20 30 78 30 30 30  D_ADMINS = 0x000
9b00: 30 30 32 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00220 }..enum : 
9b10: 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c  uint { DOMAIN_AL
9b20: 49 41 53 5f 52 49 44 5f 55 53 45 52 53 20 3d 20  IAS_RID_USERS = 
9b30: 30 78 30 30 30 30 30 32 32 31 20 7d 0d 0a 65 6e  0x00000221 }..en
9b40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41  um : uint { DOMA
9b50: 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 47 55 45  IN_ALIAS_RID_GUE
9b60: 53 54 53 20 3d 20 30 78 30 30 30 30 30 32 32 32  STS = 0x00000222
9b70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9b80: 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  { DOMAIN_ALIAS_R
9b90: 49 44 5f 50 4f 57 45 52 5f 55 53 45 52 53 20 3d  ID_POWER_USERS =
9ba0: 20 30 78 30 30 30 30 30 32 32 33 20 7d 0d 0a 0d   0x00000223 }...
9bb0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
9bc0: 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f  OMAIN_ALIAS_RID_
9bd0: 41 43 43 4f 55 4e 54 5f 4f 50 53 20 3d 20 30 78  ACCOUNT_OPS = 0x
9be0: 30 30 30 30 30 32 32 34 20 7d 0d 0a 65 6e 75 6d  00000224 }..enum
9bf0: 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e   : uint { DOMAIN
9c00: 5f 41 4c 49 41 53 5f 52 49 44 5f 53 59 53 54 45  _ALIAS_RID_SYSTE
9c10: 4d 5f 4f 50 53 20 3d 20 30 78 30 30 30 30 30 32  M_OPS = 0x000002
9c20: 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  25 }..enum : uin
9c30: 74 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53  t { DOMAIN_ALIAS
9c40: 5f 52 49 44 5f 50 52 49 4e 54 5f 4f 50 53 20 3d  _RID_PRINT_OPS =
9c50: 20 30 78 30 30 30 30 30 32 32 36 20 7d 0d 0a 65   0x00000226 }..e
9c60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d  num : uint { DOM
9c70: 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 42 41  AIN_ALIAS_RID_BA
9c80: 43 4b 55 50 5f 4f 50 53 20 3d 20 30 78 30 30 30  CKUP_OPS = 0x000
9c90: 30 30 32 32 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00227 }....enum 
9ca0: 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f  : uint { DOMAIN_
9cb0: 41 4c 49 41 53 5f 52 49 44 5f 52 45 50 4c 49 43  ALIAS_RID_REPLIC
9cc0: 41 54 4f 52 20 3d 20 30 78 30 30 30 30 30 32 32  ATOR = 0x0000022
9cd0: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
9ce0: 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f   { DOMAIN_ALIAS_
9cf0: 52 49 44 5f 52 41 53 5f 53 45 52 56 45 52 53 20  RID_RAS_SERVERS 
9d00: 3d 20 30 78 30 30 30 30 30 32 32 39 20 7d 0d 0a  = 0x00000229 }..
9d10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
9d20: 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 50  MAIN_ALIAS_RID_P
9d30: 52 45 57 32 4b 43 4f 4d 50 41 43 43 45 53 53 20  REW2KCOMPACCESS 
9d40: 3d 20 30 78 30 30 30 30 30 32 32 41 20 7d 0d 0a  = 0x0000022A }..
9d50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
9d60: 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 52  MAIN_ALIAS_RID_R
9d70: 45 4d 4f 54 45 5f 44 45 53 4b 54 4f 50 5f 55 53  EMOTE_DESKTOP_US
9d80: 45 52 53 20 3d 20 30 78 30 30 30 30 30 32 32 42  ERS = 0x0000022B
9d90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9da0: 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52  { DOMAIN_ALIAS_R
9db0: 49 44 5f 4e 45 54 57 4f 52 4b 5f 43 4f 4e 46 49  ID_NETWORK_CONFI
9dc0: 47 55 52 41 54 49 4f 4e 5f 4f 50 53 20 3d 20 30  GURATION_OPS = 0
9dd0: 78 30 30 30 30 30 32 32 43 20 7d 0d 0a 0d 0a 63  x0000022C }....c
9de0: 6f 6e 73 74 20 4c 55 49 44 20 53 59 53 54 45 4d  onst LUID SYSTEM
9df0: 5f 4c 55 49 44 20 3d 20 7b 4c 6f 77 50 61 72 74  _LUID = {LowPart
9e00: 3a 20 30 78 33 65 37 2c 20 48 69 67 68 50 61 72  : 0x3e7, HighPar
9e10: 74 3a 20 30 78 30 7d 3b 0d 0a 63 6f 6e 73 74 20  t: 0x0};..const 
9e20: 4c 55 49 44 20 41 4e 4f 4e 59 4d 4f 55 53 5f 4c  LUID ANONYMOUS_L
9e30: 4f 47 4f 4e 5f 4c 55 49 44 20 3d 20 7b 4c 6f 77  OGON_LUID = {Low
9e40: 50 61 72 74 3a 20 30 78 33 65 36 2c 20 48 69 67  Part: 0x3e6, Hig
9e50: 68 50 61 72 74 3a 20 30 78 30 7d 3b 0d 0a 63 6f  hPart: 0x0};..co
9e60: 6e 73 74 20 4c 55 49 44 20 4c 4f 43 41 4c 53 45  nst LUID LOCALSE
9e70: 52 56 49 43 45 5f 4c 55 49 44 20 3d 20 7b 4c 6f  RVICE_LUID = {Lo
9e80: 77 50 61 72 74 3a 20 30 78 33 65 35 2c 20 48 69  wPart: 0x3e5, Hi
9e90: 67 68 50 61 72 74 3a 20 30 78 30 7d 3b 0d 0a 63  ghPart: 0x0};..c
9ea0: 6f 6e 73 74 20 4c 55 49 44 20 4e 45 54 57 4f 52  onst LUID NETWOR
9eb0: 4b 53 45 52 56 49 43 45 5f 4c 55 49 44 20 3d 20  KSERVICE_LUID = 
9ec0: 7b 4c 6f 77 50 61 72 74 3a 20 30 78 33 65 34 2c  {LowPart: 0x3e4,
9ed0: 20 48 69 67 68 50 61 72 74 3a 20 30 78 30 7d 3b   HighPart: 0x0};
9ee0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
9ef0: 7b 20 53 45 5f 47 52 4f 55 50 5f 4d 41 4e 44 41  { SE_GROUP_MANDA
9f00: 54 4f 52 59 20 3d 20 30 78 30 30 30 30 30 30 30  TORY = 0x0000000
9f10: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
9f20: 20 7b 20 53 45 5f 47 52 4f 55 50 5f 45 4e 41 42   { SE_GROUP_ENAB
9f30: 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c 54 20 3d  LED_BY_DEFAULT =
9f40: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
9f50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f  num : uint { SE_
9f60: 47 52 4f 55 50 5f 45 4e 41 42 4c 45 44 20 3d 20  GROUP_ENABLED = 
9f70: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
9f80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47  um : uint { SE_G
9f90: 52 4f 55 50 5f 4f 57 4e 45 52 20 3d 20 30 78 30  ROUP_OWNER = 0x0
9fa0: 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
9fb0: 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47 52 4f 55  : uint { SE_GROU
9fc0: 50 5f 55 53 45 5f 46 4f 52 5f 44 45 4e 59 5f 4f  P_USE_FOR_DENY_O
9fd0: 4e 4c 59 20 3d 20 30 78 30 30 30 30 30 30 31 30  NLY = 0x00000010
9fe0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9ff0: 7b 20 53 45 5f 47 52 4f 55 50 5f 4c 4f 47 4f 4e  { SE_GROUP_LOGON
a000: 5f 49 44 20 3d 20 30 78 43 30 30 30 30 30 30 30  _ID = 0xC0000000
a010: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a020: 7b 20 53 45 5f 47 52 4f 55 50 5f 52 45 53 4f 55  { SE_GROUP_RESOU
a030: 52 43 45 20 3d 20 30 78 32 30 30 30 30 30 30 30  RCE = 0x20000000
a040: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
a050: 74 20 7b 20 41 43 4c 5f 52 45 56 49 53 49 4f 4e  t { ACL_REVISION
a060: 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
a070: 69 6e 74 20 7b 20 41 43 4c 5f 52 45 56 49 53 49  int { ACL_REVISI
a080: 4f 4e 5f 44 53 20 3d 20 34 20 7d 0d 0a 0d 0a 65  ON_DS = 4 }....e
a090: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4c  num : uint { ACL
a0a0: 5f 52 45 56 49 53 49 4f 4e 31 20 3d 20 31 20 7d  _REVISION1 = 1 }
a0b0: 0d 0a 65 6e 75 6d 20 7b 20 4d 49 4e 5f 41 43 4c  ..enum { MIN_ACL
a0c0: 5f 52 45 56 49 53 49 4f 4e 20 3d 20 32 20 7d 0d  _REVISION = 2 }.
a0d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
a0e0: 43 4c 5f 52 45 56 49 53 49 4f 4e 32 20 3d 20 32  CL_REVISION2 = 2
a0f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a100: 7b 20 41 43 4c 5f 52 45 56 49 53 49 4f 4e 33 20  { ACL_REVISION3 
a110: 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
a120: 6e 74 20 7b 20 41 43 4c 5f 52 45 56 49 53 49 4f  nt { ACL_REVISIO
a130: 4e 34 20 3d 20 34 20 7d 0d 0a 61 6c 69 61 73 20  N4 = 4 }..alias 
a140: 41 43 4c 5f 52 45 56 49 53 49 4f 4e 34 20 4d 41  ACL_REVISION4 MA
a150: 58 5f 41 43 4c 5f 52 45 56 49 53 49 4f 4e 3b 0d  X_ACL_REVISION;.
a160: 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43 4c 20 7b  ...struct _ACL {
a170: 0d 0a 20 20 42 59 54 45 20 41 63 6c 52 65 76 69  ..  BYTE AclRevi
a180: 73 69 6f 6e 3b 0d 0a 20 20 42 59 54 45 20 53 62  sion;..  BYTE Sb
a190: 7a 31 3b 0d 0a 20 20 57 4f 52 44 20 41 63 6c 53  z1;..  WORD AclS
a1a0: 69 7a 65 3b 0d 0a 20 20 57 4f 52 44 20 41 63 65  ize;..  WORD Ace
a1b0: 43 6f 75 6e 74 3b 0d 0a 20 20 57 4f 52 44 20 53  Count;..  WORD S
a1c0: 62 7a 32 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  bz2;..}..alias _
a1d0: 41 43 4c 20 41 43 4c 3b 0d 0a 0d 0a 61 6c 69 61  ACL ACL;....alia
a1e0: 73 20 41 43 4c 2a 20 50 41 43 4c 3b 0d 0a 0d 0a  s ACL* PACL;....
a1f0: 73 74 72 75 63 74 20 5f 41 43 45 5f 48 45 41 44  struct _ACE_HEAD
a200: 45 52 20 7b 0d 0a 20 20 42 59 54 45 20 41 63 65  ER {..  BYTE Ace
a210: 54 79 70 65 3b 0d 0a 20 20 42 59 54 45 20 41 63  Type;..  BYTE Ac
a220: 65 46 6c 61 67 73 3b 0d 0a 20 20 57 4f 52 44 20  eFlags;..  WORD 
a230: 41 63 65 53 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69  AceSize;..}..ali
a240: 61 73 20 5f 41 43 45 5f 48 45 41 44 45 52 20 41  as _ACE_HEADER A
a250: 43 45 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 61 6c  CE_HEADER;....al
a260: 69 61 73 20 41 43 45 5f 48 45 41 44 45 52 2a 20  ias ACE_HEADER* 
a270: 50 41 43 45 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a  PACE_HEADER;....
a280: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
a290: 43 45 53 53 5f 4d 49 4e 5f 4d 53 5f 41 43 45 5f  CESS_MIN_MS_ACE_
a2a0: 54 59 50 45 20 3d 20 30 78 30 20 7d 0d 0a 65 6e  TYPE = 0x0 }..en
a2b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45  um : uint { ACCE
a2c0: 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 5f 54  SS_ALLOWED_ACE_T
a2d0: 59 50 45 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75  YPE = 0x0 }..enu
a2e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53  m : uint { ACCES
a2f0: 53 5f 44 45 4e 49 45 44 5f 41 43 45 5f 54 59 50  S_DENIED_ACE_TYP
a300: 45 20 3d 20 30 78 31 20 7d 0d 0a 65 6e 75 6d 20  E = 0x1 }..enum 
a310: 3a 20 75 69 6e 74 20 7b 20 53 59 53 54 45 4d 5f  : uint { SYSTEM_
a320: 41 55 44 49 54 5f 41 43 45 5f 54 59 50 45 20 3d  AUDIT_ACE_TYPE =
a330: 20 30 78 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0x2 }..enum : u
a340: 69 6e 74 20 7b 20 53 59 53 54 45 4d 5f 41 4c 41  int { SYSTEM_ALA
a350: 52 4d 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  RM_ACE_TYPE = 0x
a360: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
a370: 20 7b 20 41 43 43 45 53 53 5f 4d 41 58 5f 4d 53   { ACCESS_MAX_MS
a380: 5f 56 32 5f 41 43 45 5f 54 59 50 45 20 3d 20 30  _V2_ACE_TYPE = 0
a390: 78 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  x3 }....enum : u
a3a0: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 41 4c 4c  int { ACCESS_ALL
a3b0: 4f 57 45 44 5f 43 4f 4d 50 4f 55 4e 44 5f 41 43  OWED_COMPOUND_AC
a3c0: 45 5f 54 59 50 45 20 3d 20 30 78 34 20 7d 0d 0a  E_TYPE = 0x4 }..
a3d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
a3e0: 43 45 53 53 5f 4d 41 58 5f 4d 53 5f 56 33 5f 41  CESS_MAX_MS_V3_A
a3f0: 43 45 5f 54 59 50 45 20 3d 20 30 78 34 20 7d 0d  CE_TYPE = 0x4 }.
a400: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
a410: 20 41 43 43 45 53 53 5f 4d 49 4e 5f 4d 53 5f 4f   ACCESS_MIN_MS_O
a420: 42 4a 45 43 54 5f 41 43 45 5f 54 59 50 45 20 3d  BJECT_ACE_TYPE =
a430: 20 30 78 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0x5 }..enum : u
a440: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 41 4c 4c  int { ACCESS_ALL
a450: 4f 57 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 5f  OWED_OBJECT_ACE_
a460: 54 59 50 45 20 3d 20 30 78 35 20 7d 0d 0a 65 6e  TYPE = 0x5 }..en
a470: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45  um : uint { ACCE
a480: 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a 45 43 54  SS_DENIED_OBJECT
a490: 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78 36 20  _ACE_TYPE = 0x6 
a4a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a4b0: 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f 42   SYSTEM_AUDIT_OB
a4c0: 4a 45 43 54 5f 41 43 45 5f 54 59 50 45 20 3d 20  JECT_ACE_TYPE = 
a4d0: 30 78 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0x7 }..enum : ui
a4e0: 6e 74 20 7b 20 53 59 53 54 45 4d 5f 41 4c 41 52  nt { SYSTEM_ALAR
a4f0: 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 5f 54 59 50  M_OBJECT_ACE_TYP
a500: 45 20 3d 20 30 78 38 20 7d 0d 0a 65 6e 75 6d 20  E = 0x8 }..enum 
a510: 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f  : uint { ACCESS_
a520: 4d 41 58 5f 4d 53 5f 4f 42 4a 45 43 54 5f 41 43  MAX_MS_OBJECT_AC
a530: 45 5f 54 59 50 45 20 3d 20 30 78 38 20 7d 0d 0a  E_TYPE = 0x8 }..
a540: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a550: 41 43 43 45 53 53 5f 4d 41 58 5f 4d 53 5f 56 34  ACCESS_MAX_MS_V4
a560: 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78 38 20  _ACE_TYPE = 0x8 
a570: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a580: 20 41 43 43 45 53 53 5f 4d 41 58 5f 4d 53 5f 41   ACCESS_MAX_MS_A
a590: 43 45 5f 54 59 50 45 20 3d 20 30 78 38 20 7d 0d  CE_TYPE = 0x8 }.
a5a0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
a5b0: 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f   ACCESS_ALLOWED_
a5c0: 43 41 4c 4c 42 41 43 4b 5f 41 43 45 5f 54 59 50  CALLBACK_ACE_TYP
a5d0: 45 20 3d 20 30 78 39 20 7d 0d 0a 65 6e 75 6d 20  E = 0x9 }..enum 
a5e0: 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f  : uint { ACCESS_
a5f0: 44 45 4e 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f  DENIED_CALLBACK_
a600: 41 43 45 5f 54 59 50 45 20 3d 20 30 78 41 20 7d  ACE_TYPE = 0xA }
a610: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a620: 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43  ACCESS_ALLOWED_C
a630: 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41  ALLBACK_OBJECT_A
a640: 43 45 5f 54 59 50 45 20 3d 20 30 78 42 20 7d 0d  CE_TYPE = 0xB }.
a650: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
a660: 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c  CCESS_DENIED_CAL
a670: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
a680: 5f 54 59 50 45 20 3d 20 30 78 43 20 7d 0d 0a 65  _TYPE = 0xC }..e
a690: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 59 53  num : uint { SYS
a6a0: 54 45 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41  TEM_AUDIT_CALLBA
a6b0: 43 4b 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  CK_ACE_TYPE = 0x
a6c0: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
a6d0: 20 7b 20 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f   { SYSTEM_ALARM_
a6e0: 43 41 4c 4c 42 41 43 4b 5f 41 43 45 5f 54 59 50  CALLBACK_ACE_TYP
a6f0: 45 20 3d 20 30 78 45 20 7d 0d 0a 65 6e 75 6d 20  E = 0xE }..enum 
a700: 3a 20 75 69 6e 74 20 7b 20 53 59 53 54 45 4d 5f  : uint { SYSTEM_
a710: 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f 4f  AUDIT_CALLBACK_O
a720: 42 4a 45 43 54 5f 41 43 45 5f 54 59 50 45 20 3d  BJECT_ACE_TYPE =
a730: 20 30 78 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0xF }..enum : u
a740: 69 6e 74 20 7b 20 53 59 53 54 45 4d 5f 41 4c 41  int { SYSTEM_ALA
a750: 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45  RM_CALLBACK_OBJE
a760: 43 54 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  CT_ACE_TYPE = 0x
a770: 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  10 }....enum : u
a780: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 4d 41 58  int { ACCESS_MAX
a790: 5f 4d 53 5f 56 35 5f 41 43 45 5f 54 59 50 45 20  _MS_V5_ACE_TYPE 
a7a0: 3d 20 30 78 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  = 0x10 }....enum
a7b0: 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 45 43 54   : uint { OBJECT
a7c0: 5f 49 4e 48 45 52 49 54 5f 41 43 45 20 3d 20 30  _INHERIT_ACE = 0
a7d0: 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  x1 }..enum : uin
a7e0: 74 20 7b 20 43 4f 4e 54 41 49 4e 45 52 5f 49 4e  t { CONTAINER_IN
a7f0: 48 45 52 49 54 5f 41 43 45 20 3d 20 30 78 32 20  HERIT_ACE = 0x2 
a800: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a810: 20 4e 4f 5f 50 52 4f 50 41 47 41 54 45 5f 49 4e   NO_PROPAGATE_IN
a820: 48 45 52 49 54 5f 41 43 45 20 3d 20 30 78 34 20  HERIT_ACE = 0x4 
a830: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a840: 20 49 4e 48 45 52 49 54 5f 4f 4e 4c 59 5f 41 43   INHERIT_ONLY_AC
a850: 45 20 3d 20 30 78 38 20 7d 0d 0a 65 6e 75 6d 20  E = 0x8 }..enum 
a860: 3a 20 75 69 6e 74 20 7b 20 49 4e 48 45 52 49 54  : uint { INHERIT
a870: 45 44 5f 41 43 45 20 3d 20 30 78 31 30 20 7d 0d  ED_ACE = 0x10 }.
a880: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
a890: 41 4c 49 44 5f 49 4e 48 45 52 49 54 5f 46 4c 41  ALID_INHERIT_FLA
a8a0: 47 53 20 3d 20 30 78 31 46 20 7d 0d 0a 0d 0a 65  GS = 0x1F }....e
a8b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 43  num : uint { SUC
a8c0: 43 45 53 53 46 55 4c 5f 41 43 43 45 53 53 5f 41  CESSFUL_ACCESS_A
a8d0: 43 45 5f 46 4c 41 47 20 3d 20 30 78 34 30 20 7d  CE_FLAG = 0x40 }
a8e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a8f0: 46 41 49 4c 45 44 5f 41 43 43 45 53 53 5f 41 43  FAILED_ACCESS_AC
a900: 45 5f 46 4c 41 47 20 3d 20 30 78 38 30 20 7d 0d  E_FLAG = 0x80 }.
a910: 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43 43 45 53  ...struct _ACCES
a920: 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 20 7b 0d  S_ALLOWED_ACE {.
a930: 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20 48 65  .  ACE_HEADER He
a940: 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f  ader;..  ACCESS_
a950: 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57  MASK Mask;..  DW
a960: 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d  ORD SidStart;..}
a970: 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f  ..alias _ACCESS_
a980: 41 4c 4c 4f 57 45 44 5f 41 43 45 20 41 43 43 45  ALLOWED_ACE ACCE
a990: 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 3b 0d  SS_ALLOWED_ACE;.
a9a0: 0a 0d 0a 61 6c 69 61 73 20 41 43 43 45 53 53 5f  ...alias ACCESS_
a9b0: 41 4c 4c 4f 57 45 44 5f 41 43 45 2a 20 50 41 43  ALLOWED_ACE* PAC
a9c0: 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45  CESS_ALLOWED_ACE
a9d0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43 43  ;....struct _ACC
a9e0: 45 53 53 5f 44 45 4e 49 45 44 5f 41 43 45 20 7b  ESS_DENIED_ACE {
a9f0: 0d 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20 48  ..  ACE_HEADER H
aa00: 65 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53  eader;..  ACCESS
aa10: 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44  _MASK Mask;..  D
aa20: 57 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a  WORD SidStart;..
aa30: 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53  }..alias _ACCESS
aa40: 5f 44 45 4e 49 45 44 5f 41 43 45 20 41 43 43 45  _DENIED_ACE ACCE
aa50: 53 53 5f 44 45 4e 49 45 44 5f 41 43 45 3b 0d 0a  SS_DENIED_ACE;..
aa60: 0d 0a 61 6c 69 61 73 20 41 43 43 45 53 53 5f 44  ..alias ACCESS_D
aa70: 45 4e 49 45 44 5f 41 43 45 2a 20 50 41 43 43 45  ENIED_ACE* PACCE
aa80: 53 53 5f 44 45 4e 49 45 44 5f 41 43 45 3b 0d 0a  SS_DENIED_ACE;..
aa90: 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54 45 4d  ..struct _SYSTEM
aaa0: 5f 41 55 44 49 54 5f 41 43 45 20 7b 0d 0a 20 20  _AUDIT_ACE {..  
aab0: 41 43 45 5f 48 45 41 44 45 52 20 48 65 61 64 65  ACE_HEADER Heade
aac0: 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41 53  r;..  ACCESS_MAS
aad0: 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44  K Mask;..  DWORD
aae0: 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61   SidStart;..}..a
aaf0: 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41 55 44  lias _SYSTEM_AUD
ab00: 49 54 5f 41 43 45 20 53 59 53 54 45 4d 5f 41 55  IT_ACE SYSTEM_AU
ab10: 44 49 54 5f 41 43 45 3b 0d 0a 0d 0a 61 6c 69 61  DIT_ACE;....alia
ab20: 73 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 41  s SYSTEM_AUDIT_A
ab30: 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 55 44 49  CE* PSYSTEM_AUDI
ab40: 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74  T_ACE;....struct
ab50: 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 41   _SYSTEM_ALARM_A
ab60: 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44  CE {..  ACE_HEAD
ab70: 45 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43  ER Header;..  AC
ab80: 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d  CESS_MASK Mask;.
ab90: 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72  .  DWORD SidStar
aba0: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 59  t;..}..alias _SY
abb0: 53 54 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 20 53  STEM_ALARM_ACE S
abc0: 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 3b  YSTEM_ALARM_ACE;
abd0: 0d 0a 0d 0a 61 6c 69 61 73 20 53 59 53 54 45 4d  ....alias SYSTEM
abe0: 5f 41 4c 41 52 4d 5f 41 43 45 2a 20 50 53 59 53  _ALARM_ACE* PSYS
abf0: 54 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 3b 0d 0a  TEM_ALARM_ACE;..
ac00: 0d 0a 73 74 72 75 63 74 20 5f 41 43 43 45 53 53  ..struct _ACCESS
ac10: 5f 41 4c 4c 4f 57 45 44 5f 4f 42 4a 45 43 54 5f  _ALLOWED_OBJECT_
ac20: 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41  ACE {..  ACE_HEA
ac30: 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41  DER Header;..  A
ac40: 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b  CCESS_MASK Mask;
ac50: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b  ..  DWORD Flags;
ac60: 0d 0a 20 20 47 55 49 44 20 4f 62 6a 65 63 74 54  ..  GUID ObjectT
ac70: 79 70 65 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68  ype;..  GUID Inh
ac80: 65 72 69 74 65 64 4f 62 6a 65 63 74 54 79 70 65  eritedObjectType
ac90: 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74  ;..  DWORD SidSt
aca0: 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  art;..}..alias _
acb0: 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 4f  ACCESS_ALLOWED_O
acc0: 42 4a 45 43 54 5f 41 43 45 20 41 43 43 45 53 53  BJECT_ACE ACCESS
acd0: 5f 41 4c 4c 4f 57 45 44 5f 4f 42 4a 45 43 54 5f  _ALLOWED_OBJECT_
ace0: 41 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 43  ACE;..alias _ACC
acf0: 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 4f 42 4a 45  ESS_ALLOWED_OBJE
ad00: 43 54 5f 41 43 45 2a 20 50 41 43 43 45 53 53 5f  CT_ACE* PACCESS_
ad10: 41 4c 4c 4f 57 45 44 5f 4f 42 4a 45 43 54 5f 41  ALLOWED_OBJECT_A
ad20: 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41  CE;....struct _A
ad30: 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a  CCESS_DENIED_OBJ
ad40: 45 43 54 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45  ECT_ACE {..  ACE
ad50: 5f 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d  _HEADER Header;.
ad60: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d  .  ACCESS_MASK M
ad70: 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c  ask;..  DWORD Fl
ad80: 61 67 73 3b 0d 0a 20 20 47 55 49 44 20 4f 62 6a  ags;..  GUID Obj
ad90: 65 63 74 54 79 70 65 3b 0d 0a 20 20 47 55 49 44  ectType;..  GUID
ada0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74   InheritedObject
adb0: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53  Type;..  DWORD S
adc0: 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  idStart;..}..ali
add0: 61 73 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45  as _ACCESS_DENIE
ade0: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 41 43 43  D_OBJECT_ACE ACC
adf0: 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a 45 43  ESS_DENIED_OBJEC
ae00: 54 5f 41 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 41  T_ACE;..alias _A
ae10: 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a  CCESS_DENIED_OBJ
ae20: 45 43 54 5f 41 43 45 2a 20 50 41 43 43 45 53 53  ECT_ACE* PACCESS
ae30: 5f 44 45 4e 49 45 44 5f 4f 42 4a 45 43 54 5f 41  _DENIED_OBJECT_A
ae40: 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53  CE;....struct _S
ae50: 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f 42 4a 45  YSTEM_AUDIT_OBJE
ae60: 43 54 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f  CT_ACE {..  ACE_
ae70: 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d 0a  HEADER Header;..
ae80: 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61    ACCESS_MASK Ma
ae90: 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61  sk;..  DWORD Fla
aea0: 67 73 3b 0d 0a 20 20 47 55 49 44 20 4f 62 6a 65  gs;..  GUID Obje
aeb0: 63 74 54 79 70 65 3b 0d 0a 20 20 47 55 49 44 20  ctType;..  GUID 
aec0: 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74 54  InheritedObjectT
aed0: 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  ype;..  DWORD Si
aee0: 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  dStart;..}..alia
aef0: 73 20 5f 53 59 53 54 45 4d 5f 41 55 44 49 54 5f  s _SYSTEM_AUDIT_
af00: 4f 42 4a 45 43 54 5f 41 43 45 20 53 59 53 54 45  OBJECT_ACE SYSTE
af10: 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f 41  M_AUDIT_OBJECT_A
af20: 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54  CE;..alias _SYST
af30: 45 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f  EM_AUDIT_OBJECT_
af40: 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 55 44  ACE* PSYSTEM_AUD
af50: 49 54 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a  IT_OBJECT_ACE;..
af60: 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54 45 4d  ..struct _SYSTEM
af70: 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54 5f 41 43  _ALARM_OBJECT_AC
af80: 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45  E {..  ACE_HEADE
af90: 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43  R Header;..  ACC
afa0: 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a  ESS_MASK Mask;..
afb0: 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a    DWORD Flags;..
afc0: 20 20 47 55 49 44 20 4f 62 6a 65 63 74 54 79 70    GUID ObjectTyp
afd0: 65 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68 65 72  e;..  GUID Inher
afe0: 69 74 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0d  itedObjectType;.
aff0: 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72  .  DWORD SidStar
b000: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 59  t;..}..alias _SY
b010: 53 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43  STEM_ALARM_OBJEC
b020: 54 5f 41 43 45 20 53 59 53 54 45 4d 5f 41 4c 41  T_ACE SYSTEM_ALA
b030: 52 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a  RM_OBJECT_ACE;..
b040: 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41 4c  alias _SYSTEM_AL
b050: 41 52 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20  ARM_OBJECT_ACE* 
b060: 50 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42  PSYSTEM_ALARM_OB
b070: 4a 45 43 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72  JECT_ACE;....str
b080: 75 63 74 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f  uct _ACCESS_ALLO
b090: 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45  WED_CALLBACK_ACE
b0a0: 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45 52   {..  ACE_HEADER
b0b0: 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43 45   Header;..  ACCE
b0c0: 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20  SS_MASK Mask;.. 
b0d0: 20 44 57 4f 52 44 20 53 69 64 53 74 61 72 74 3b   DWORD SidStart;
b0e0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45  ..}..alias _ACCE
b0f0: 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42  SS_ALLOWED_CALLB
b100: 41 43 4b 5f 41 43 45 20 41 43 43 45 53 53 5f 41  ACK_ACE ACCESS_A
b110: 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f  LLOWED_CALLBACK_
b120: 41 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 43  ACE;..alias _ACC
b130: 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c  ESS_ALLOWED_CALL
b140: 42 41 43 4b 5f 41 43 45 2a 20 50 41 43 43 45 53  BACK_ACE* PACCES
b150: 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42 41  S_ALLOWED_CALLBA
b160: 43 4b 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75 63  CK_ACE;....struc
b170: 74 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45 44  t _ACCESS_DENIED
b180: 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 20 7b 0d  _CALLBACK_ACE {.
b190: 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20 48 65  .  ACE_HEADER He
b1a0: 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f  ader;..  ACCESS_
b1b0: 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57  MASK Mask;..  DW
b1c0: 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d  ORD SidStart;..}
b1d0: 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f  ..alias _ACCESS_
b1e0: 44 45 4e 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f  DENIED_CALLBACK_
b1f0: 41 43 45 20 41 43 43 45 53 53 5f 44 45 4e 49 45  ACE ACCESS_DENIE
b200: 44 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 3b 0d  D_CALLBACK_ACE;.
b210: 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f 44  .alias _ACCESS_D
b220: 45 4e 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41  ENIED_CALLBACK_A
b230: 43 45 2a 20 50 41 43 43 45 53 53 5f 44 45 4e 49  CE* PACCESS_DENI
b240: 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 3b  ED_CALLBACK_ACE;
b250: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54  ....struct _SYST
b260: 45 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43  EM_AUDIT_CALLBAC
b270: 4b 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48  K_ACE {..  ACE_H
b280: 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20  EADER Header;.. 
b290: 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73   ACCESS_MASK Mas
b2a0: 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 53  k;..  DWORD SidS
b2b0: 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tart;..}..alias 
b2c0: 5f 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 43 41  _SYSTEM_AUDIT_CA
b2d0: 4c 4c 42 41 43 4b 5f 41 43 45 20 53 59 53 54 45  LLBACK_ACE SYSTE
b2e0: 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b  M_AUDIT_CALLBACK
b2f0: 5f 41 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 59  _ACE;..alias _SY
b300: 53 54 45 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42  STEM_AUDIT_CALLB
b310: 41 43 4b 5f 41 43 45 2a 20 50 53 59 53 54 45 4d  ACK_ACE* PSYSTEM
b320: 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f  _AUDIT_CALLBACK_
b330: 41 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ACE;....struct _
b340: 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c  SYSTEM_ALARM_CAL
b350: 4c 42 41 43 4b 5f 41 43 45 20 7b 0d 0a 20 20 41  LBACK_ACE {..  A
b360: 43 45 5f 48 45 41 44 45 52 20 48 65 61 64 65 72  CE_HEADER Header
b370: 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b  ;..  ACCESS_MASK
b380: 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20   Mask;..  DWORD 
b390: 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c  SidStart;..}..al
b3a0: 69 61 73 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52  ias _SYSTEM_ALAR
b3b0: 4d 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 20 53  M_CALLBACK_ACE S
b3c0: 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c  YSTEM_ALARM_CALL
b3d0: 42 41 43 4b 5f 41 43 45 3b 0d 0a 61 6c 69 61 73  BACK_ACE;..alias
b3e0: 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43   _SYSTEM_ALARM_C
b3f0: 41 4c 4c 42 41 43 4b 5f 41 43 45 2a 20 50 53 59  ALLBACK_ACE* PSY
b400: 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42  STEM_ALARM_CALLB
b410: 41 43 4b 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75  ACK_ACE;....stru
b420: 63 74 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f 57  ct _ACCESS_ALLOW
b430: 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45  ED_CALLBACK_OBJE
b440: 43 54 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f  CT_ACE {..  ACE_
b450: 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d 0a  HEADER Header;..
b460: 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61    ACCESS_MASK Ma
b470: 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61  sk;..  DWORD Fla
b480: 67 73 3b 0d 0a 20 20 47 55 49 44 20 4f 62 6a 65  gs;..  GUID Obje
b490: 63 74 54 79 70 65 3b 0d 0a 20 20 47 55 49 44 20  ctType;..  GUID 
b4a0: 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74 54  InheritedObjectT
b4b0: 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  ype;..  DWORD Si
b4c0: 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  dStart;..}..alia
b4d0: 73 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45  s _ACCESS_ALLOWE
b4e0: 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43  D_CALLBACK_OBJEC
b4f0: 54 5f 41 43 45 20 41 43 43 45 53 53 5f 41 4c 4c  T_ACE ACCESS_ALL
b500: 4f 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42  OWED_CALLBACK_OB
b510: 4a 45 43 54 5f 41 43 45 3b 0d 0a 61 6c 69 61 73  JECT_ACE;..alias
b520: 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44   _ACCESS_ALLOWED
b530: 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54  _CALLBACK_OBJECT
b540: 5f 41 43 45 2a 20 50 41 43 43 45 53 53 5f 41 4c  _ACE* PACCESS_AL
b550: 4c 4f 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f  LOWED_CALLBACK_O
b560: 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74  BJECT_ACE;....st
b570: 72 75 63 74 20 5f 41 43 43 45 53 53 5f 44 45 4e  ruct _ACCESS_DEN
b580: 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a  IED_CALLBACK_OBJ
b590: 45 43 54 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45  ECT_ACE {..  ACE
b5a0: 5f 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d  _HEADER Header;.
b5b0: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d  .  ACCESS_MASK M
b5c0: 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c  ask;..  DWORD Fl
b5d0: 61 67 73 3b 0d 0a 20 20 47 55 49 44 20 4f 62 6a  ags;..  GUID Obj
b5e0: 65 63 74 54 79 70 65 3b 0d 0a 20 20 47 55 49 44  ectType;..  GUID
b5f0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74   InheritedObject
b600: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53  Type;..  DWORD S
b610: 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  idStart;..}..ali
b620: 61 73 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45  as _ACCESS_DENIE
b630: 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43  D_CALLBACK_OBJEC
b640: 54 5f 41 43 45 20 41 43 43 45 53 53 5f 44 45 4e  T_ACE ACCESS_DEN
b650: 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a  IED_CALLBACK_OBJ
b660: 45 43 54 5f 41 43 45 3b 0d 0a 61 6c 69 61 73 20  ECT_ACE;..alias 
b670: 5f 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43  _ACCESS_DENIED_C
b680: 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41  ALLBACK_OBJECT_A
b690: 43 45 2a 20 50 41 43 43 45 53 53 5f 44 45 4e 49  CE* PACCESS_DENI
b6a0: 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45  ED_CALLBACK_OBJE
b6b0: 43 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75 63  CT_ACE;....struc
b6c0: 74 20 5f 53 59 53 54 45 4d 5f 41 55 44 49 54 5f  t _SYSTEM_AUDIT_
b6d0: 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f  CALLBACK_OBJECT_
b6e0: 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41  ACE {..  ACE_HEA
b6f0: 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41  DER Header;..  A
b700: 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b  CCESS_MASK Mask;
b710: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b  ..  DWORD Flags;
b720: 0d 0a 20 20 47 55 49 44 20 4f 62 6a 65 63 74 54  ..  GUID ObjectT
b730: 79 70 65 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68  ype;..  GUID Inh
b740: 65 72 69 74 65 64 4f 62 6a 65 63 74 54 79 70 65  eritedObjectType
b750: 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74  ;..  DWORD SidSt
b760: 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  art;..}..alias _
b770: 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 43 41 4c  SYSTEM_AUDIT_CAL
b780: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
b790: 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 43 41   SYSTEM_AUDIT_CA
b7a0: 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43  LLBACK_OBJECT_AC
b7b0: 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45  E;..alias _SYSTE
b7c0: 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b  M_AUDIT_CALLBACK
b7d0: 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50 53 59  _OBJECT_ACE* PSY
b7e0: 53 54 45 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42  STEM_AUDIT_CALLB
b7f0: 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d  ACK_OBJECT_ACE;.
b800: 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54 45  ...struct _SYSTE
b810: 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b  M_ALARM_CALLBACK
b820: 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0d 0a 20  _OBJECT_ACE {.. 
b830: 20 41 43 45 5f 48 45 41 44 45 52 20 48 65 61 64   ACE_HEADER Head
b840: 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41  er;..  ACCESS_MA
b850: 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52  SK Mask;..  DWOR
b860: 44 20 46 6c 61 67 73 3b 0d 0a 20 20 47 55 49 44  D Flags;..  GUID
b870: 20 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20   ObjectType;..  
b880: 47 55 49 44 20 49 6e 68 65 72 69 74 65 64 4f 62  GUID InheritedOb
b890: 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20 44 57 4f  jectType;..  DWO
b8a0: 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d  RD SidStart;..}.
b8b0: 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41  .alias _SYSTEM_A
b8c0: 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42  LARM_CALLBACK_OB
b8d0: 4a 45 43 54 5f 41 43 45 20 53 59 53 54 45 4d 5f  JECT_ACE SYSTEM_
b8e0: 41 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 4f  ALARM_CALLBACK_O
b8f0: 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 61 6c 69 61  BJECT_ACE;..alia
b900: 73 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f  s _SYSTEM_ALARM_
b910: 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f  CALLBACK_OBJECT_
b920: 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 4c 41  ACE* PSYSTEM_ALA
b930: 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45  RM_CALLBACK_OBJE
b940: 43 54 5f 41 43 45 3b 0d 0a 0d 0a 65 6e 75 6d 20  CT_ACE;....enum 
b950: 3a 20 75 69 6e 74 20 7b 20 41 43 45 5f 4f 42 4a  : uint { ACE_OBJ
b960: 45 43 54 5f 54 59 50 45 5f 50 52 45 53 45 4e 54  ECT_TYPE_PRESENT
b970: 20 3d 20 30 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a   = 0x1 }..enum :
b980: 20 75 69 6e 74 20 7b 20 41 43 45 5f 49 4e 48 45   uint { ACE_INHE
b990: 52 49 54 45 44 5f 4f 42 4a 45 43 54 5f 54 59 50  RITED_OBJECT_TYP
b9a0: 45 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 32 20  E_PRESENT = 0x2 
b9b0: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f  }....alias int _
b9c0: 41 43 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  ACL_INFORMATION_
b9d0: 43 4c 41 53 53 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a  CLASS;..enum {..
b9e0: 20 20 41 63 6c 52 65 76 69 73 69 6f 6e 49 6e 66    AclRevisionInf
b9f0: 6f 72 6d 61 74 69 6f 6e 20 3d 20 31 2c 0d 0a 20  ormation = 1,.. 
ba00: 20 41 63 6c 53 69 7a 65 49 6e 66 6f 72 6d 61 74   AclSizeInformat
ba10: 69 6f 6e 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ion,..}..alias _
ba20: 41 43 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  ACL_INFORMATION_
ba30: 43 4c 41 53 53 20 41 43 4c 5f 49 4e 46 4f 52 4d  CLASS ACL_INFORM
ba40: 41 54 49 4f 4e 5f 43 4c 41 53 53 3b 0d 0a 0d 0a  ATION_CLASS;....
ba50: 73 74 72 75 63 74 20 5f 41 43 4c 5f 52 45 56 49  struct _ACL_REVI
ba60: 53 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  SION_INFORMATION
ba70: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 41 63 6c 52   {..  DWORD AclR
ba80: 65 76 69 73 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69  evision;..}..ali
ba90: 61 73 20 5f 41 43 4c 5f 52 45 56 49 53 49 4f 4e  as _ACL_REVISION
baa0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 41 43 4c  _INFORMATION ACL
bab0: 5f 52 45 56 49 53 49 4f 4e 5f 49 4e 46 4f 52 4d  _REVISION_INFORM
bac0: 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20  ATION;....alias 
bad0: 41 43 4c 5f 52 45 56 49 53 49 4f 4e 5f 49 4e 46  ACL_REVISION_INF
bae0: 4f 52 4d 41 54 49 4f 4e 2a 20 50 41 43 4c 5f 52  ORMATION* PACL_R
baf0: 45 56 49 53 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54  EVISION_INFORMAT
bb00: 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ION;....struct _
bb10: 41 43 4c 5f 53 49 5a 45 5f 49 4e 46 4f 52 4d 41  ACL_SIZE_INFORMA
bb20: 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20  TION {..  DWORD 
bb30: 41 63 65 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f  AceCount;..  DWO
bb40: 52 44 20 41 63 6c 42 79 74 65 73 49 6e 55 73 65  RD AclBytesInUse
bb50: 3b 0d 0a 20 20 44 57 4f 52 44 20 41 63 6c 42 79  ;..  DWORD AclBy
bb60: 74 65 73 46 72 65 65 3b 0d 0a 7d 0d 0a 61 6c 69  tesFree;..}..ali
bb70: 61 73 20 5f 41 43 4c 5f 53 49 5a 45 5f 49 4e 46  as _ACL_SIZE_INF
bb80: 4f 52 4d 41 54 49 4f 4e 20 41 43 4c 5f 53 49 5a  ORMATION ACL_SIZ
bb90: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  E_INFORMATION;..
bba0: 0d 0a 61 6c 69 61 73 20 41 43 4c 5f 53 49 5a 45  ..alias ACL_SIZE
bbb0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 41  _INFORMATION* PA
bbc0: 43 4c 5f 53 49 5a 45 5f 49 4e 46 4f 52 4d 41 54  CL_SIZE_INFORMAT
bbd0: 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ION;....enum : u
bbe0: 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 44  int { SECURITY_D
bbf0: 45 53 43 52 49 50 54 4f 52 5f 52 45 56 49 53 49  ESCRIPTOR_REVISI
bc00: 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 1 }..enum :
bc10: 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59   uint { SECURITY
bc20: 5f 44 45 53 43 52 49 50 54 4f 52 5f 52 45 56 49  _DESCRIPTOR_REVI
bc30: 53 49 4f 4e 31 20 3d 20 31 20 7d 0d 0a 0d 0a 63  SION1 = 1 }....c
bc40: 6f 6e 73 74 20 75 69 6e 74 20 53 45 43 55 52 49  onst uint SECURI
bc50: 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 4d 49  TY_DESCRIPTOR_MI
bc60: 4e 5f 4c 45 4e 47 54 48 20 3d 20 53 45 43 55 52  N_LENGTH = SECUR
bc70: 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2e 73  ITY_DESCRIPTOR.s
bc80: 69 7a 65 6f 66 3b 0d 0a 0d 0a 61 6c 69 61 73 20  izeof;....alias 
bc90: 57 4f 52 44 20 53 45 43 55 52 49 54 59 5f 44 45  WORD SECURITY_DE
bca0: 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c  SCRIPTOR_CONTROL
bcb0: 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 2a 20 50  ;..alias WORD* P
bcc0: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
bcd0: 54 4f 52 5f 43 4f 4e 54 52 4f 4c 3b 0d 0a 0d 0a  TOR_CONTROL;....
bce0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
bcf0: 5f 4f 57 4e 45 52 5f 44 45 46 41 55 4c 54 45 44  _OWNER_DEFAULTED
bd00: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
bd10: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47 52  m : uint { SE_GR
bd20: 4f 55 50 5f 44 45 46 41 55 4c 54 45 44 20 3d 20  OUP_DEFAULTED = 
bd30: 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
bd40: 20 75 69 6e 74 20 7b 20 53 45 5f 44 41 43 4c 5f   uint { SE_DACL_
bd50: 50 52 45 53 45 4e 54 20 3d 20 30 78 30 30 30 34  PRESENT = 0x0004
bd60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bd70: 7b 20 53 45 5f 44 41 43 4c 5f 44 45 46 41 55 4c  { SE_DACL_DEFAUL
bd80: 54 45 44 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  TED = 0x0008 }..
bd90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
bda0: 5f 53 41 43 4c 5f 50 52 45 53 45 4e 54 20 3d 20  _SACL_PRESENT = 
bdb0: 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0010 }..enum :
bdc0: 20 75 69 6e 74 20 7b 20 53 45 5f 53 41 43 4c 5f   uint { SE_SACL_
bdd0: 44 45 46 41 55 4c 54 45 44 20 3d 20 30 78 30 30  DEFAULTED = 0x00
bde0: 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
bdf0: 74 20 7b 20 53 45 5f 44 41 43 4c 5f 41 55 54 4f  t { SE_DACL_AUTO
be00: 5f 49 4e 48 45 52 49 54 5f 52 45 51 20 3d 20 30  _INHERIT_REQ = 0
be10: 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
be20: 75 69 6e 74 20 7b 20 53 45 5f 53 41 43 4c 5f 41  uint { SE_SACL_A
be30: 55 54 4f 5f 49 4e 48 45 52 49 54 5f 52 45 51 20  UTO_INHERIT_REQ 
be40: 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0200 }..enum
be50: 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 44 41 43   : uint { SE_DAC
be60: 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 49 54 45 44  L_AUTO_INHERITED
be70: 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75   = 0x0400 }..enu
be80: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 53 41  m : uint { SE_SA
be90: 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 49 54 45  CL_AUTO_INHERITE
bea0: 44 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  D = 0x0800 }..en
beb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 44  um : uint { SE_D
bec0: 41 43 4c 5f 50 52 4f 54 45 43 54 45 44 20 3d 20  ACL_PROTECTED = 
bed0: 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1000 }..enum :
bee0: 20 75 69 6e 74 20 7b 20 53 45 5f 53 41 43 4c 5f   uint { SE_SACL_
bef0: 50 52 4f 54 45 43 54 45 44 20 3d 20 30 78 32 30  PROTECTED = 0x20
bf00: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
bf10: 74 20 7b 20 53 45 5f 52 4d 5f 43 4f 4e 54 52 4f  t { SE_RM_CONTRO
bf20: 4c 5f 56 41 4c 49 44 20 3d 20 30 78 34 30 30 30  L_VALID = 0x4000
bf30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bf40: 7b 20 53 45 5f 53 45 4c 46 5f 52 45 4c 41 54 49  { SE_SELF_RELATI
bf50: 56 45 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d  VE = 0x8000 }...
bf60: 0a 73 74 72 75 63 74 20 5f 53 45 43 55 52 49 54  .struct _SECURIT
bf70: 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 52 45 4c  Y_DESCRIPTOR_REL
bf80: 41 54 49 56 45 20 7b 0d 0a 20 20 42 59 54 45 20  ATIVE {..  BYTE 
bf90: 52 65 76 69 73 69 6f 6e 3b 0d 0a 20 20 42 59 54  Revision;..  BYT
bfa0: 45 20 53 62 7a 31 3b 0d 0a 20 20 53 45 43 55 52  E Sbz1;..  SECUR
bfb0: 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43  ITY_DESCRIPTOR_C
bfc0: 4f 4e 54 52 4f 4c 20 43 6f 6e 74 72 6f 6c 3b 0d  ONTROL Control;.
bfd0: 0a 20 20 44 57 4f 52 44 20 4f 77 6e 65 72 3b 0d  .  DWORD Owner;.
bfe0: 0a 20 20 44 57 4f 52 44 20 47 72 6f 75 70 3b 0d  .  DWORD Group;.
bff0: 0a 20 20 44 57 4f 52 44 20 53 61 63 6c 3b 0d 0a  .  DWORD Sacl;..
c000: 20 20 44 57 4f 52 44 20 44 61 63 6c 3b 0d 0a 7d    DWORD Dacl;..}
c010: 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55 52 49 54  ..alias _SECURIT
c020: 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 52 45 4c  Y_DESCRIPTOR_REL
c030: 41 54 49 56 45 20 53 45 43 55 52 49 54 59 5f 44  ATIVE SECURITY_D
c040: 45 53 43 52 49 50 54 4f 52 5f 52 45 4c 41 54 49  ESCRIPTOR_RELATI
c050: 56 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55  VE;..alias _SECU
c060: 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f  RITY_DESCRIPTOR_
c070: 52 45 4c 41 54 49 56 45 2a 20 50 49 53 45 43 55  RELATIVE* PISECU
c080: 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f  RITY_DESCRIPTOR_
c090: 52 45 4c 41 54 49 56 45 3b 0d 0a 0d 0a 73 74 72  RELATIVE;....str
c0a0: 75 63 74 20 5f 53 45 43 55 52 49 54 59 5f 44 45  uct _SECURITY_DE
c0b0: 53 43 52 49 50 54 4f 52 20 7b 0d 0a 20 20 42 59  SCRIPTOR {..  BY
c0c0: 54 45 20 52 65 76 69 73 69 6f 6e 3b 0d 0a 20 20  TE Revision;..  
c0d0: 42 59 54 45 20 53 62 7a 31 3b 0d 0a 20 20 53 45  BYTE Sbz1;..  SE
c0e0: 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f  CURITY_DESCRIPTO
c0f0: 52 5f 43 4f 4e 54 52 4f 4c 20 43 6f 6e 74 72 6f  R_CONTROL Contro
c100: 6c 3b 0d 0a 20 20 50 53 49 44 20 4f 77 6e 65 72  l;..  PSID Owner
c110: 3b 0d 0a 20 20 50 53 49 44 20 47 72 6f 75 70 3b  ;..  PSID Group;
c120: 0d 0a 20 20 50 41 43 4c 20 53 61 63 6c 3b 0d 0a  ..  PACL Sacl;..
c130: 20 20 50 41 43 4c 20 44 61 63 6c 3b 0d 0a 7d 0d    PACL Dacl;..}.
c140: 0a 61 6c 69 61 73 20 5f 53 45 43 55 52 49 54 59  .alias _SECURITY
c150: 5f 44 45 53 43 52 49 50 54 4f 52 20 53 45 43 55  _DESCRIPTOR SECU
c160: 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 3b  RITY_DESCRIPTOR;
c170: 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55 52 49 54  ..alias _SECURIT
c180: 59 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50 49  Y_DESCRIPTOR* PI
c190: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
c1a0: 54 4f 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  TOR;....struct _
c1b0: 4f 42 4a 45 43 54 5f 54 59 50 45 5f 4c 49 53 54  OBJECT_TYPE_LIST
c1c0: 20 7b 0d 0a 20 20 57 4f 52 44 20 4c 65 76 65 6c   {..  WORD Level
c1d0: 3b 0d 0a 20 20 57 4f 52 44 20 53 62 7a 3b 0d 0a  ;..  WORD Sbz;..
c1e0: 20 20 47 55 49 44 20 2a 4f 62 6a 65 63 74 54 79    GUID *ObjectTy
c1f0: 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f  pe;..}..alias _O
c200: 42 4a 45 43 54 5f 54 59 50 45 5f 4c 49 53 54 20  BJECT_TYPE_LIST 
c210: 4f 42 4a 45 43 54 5f 54 59 50 45 5f 4c 49 53 54  OBJECT_TYPE_LIST
c220: 3b 0d 0a 61 6c 69 61 73 20 5f 4f 42 4a 45 43 54  ;..alias _OBJECT
c230: 5f 54 59 50 45 5f 4c 49 53 54 2a 20 50 4f 42 4a  _TYPE_LIST* POBJ
c240: 45 43 54 5f 54 59 50 45 5f 4c 49 53 54 3b 0d 0a  ECT_TYPE_LIST;..
c250: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c260: 41 43 43 45 53 53 5f 4f 42 4a 45 43 54 5f 47 55  ACCESS_OBJECT_GU
c270: 49 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  ID = 0 }..enum :
c280: 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 50   uint { ACCESS_P
c290: 52 4f 50 45 52 54 59 5f 53 45 54 5f 47 55 49 44  ROPERTY_SET_GUID
c2a0: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
c2b0: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 50 52 4f  int { ACCESS_PRO
c2c0: 50 45 52 54 59 5f 47 55 49 44 20 3d 20 32 20 7d  PERTY_GUID = 2 }
c2d0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
c2e0: 7b 20 41 43 43 45 53 53 5f 4d 41 58 5f 4c 45 56  { ACCESS_MAX_LEV
c2f0: 45 4c 20 3d 20 34 20 7d 0d 0a 0d 0a 61 6c 69 61  EL = 4 }....alia
c300: 73 20 69 6e 74 20 5f 41 55 44 49 54 5f 45 56 45  s int _AUDIT_EVE
c310: 4e 54 5f 54 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b  NT_TYPE;..enum {
c320: 0d 0a 20 20 41 75 64 69 74 45 76 65 6e 74 4f 62  ..  AuditEventOb
c330: 6a 65 63 74 41 63 63 65 73 73 2c 0d 0a 20 20 41  jectAccess,..  A
c340: 75 64 69 74 45 76 65 6e 74 44 69 72 65 63 74 6f  uditEventDirecto
c350: 72 79 53 65 72 76 69 63 65 41 63 63 65 73 73 2c  ryServiceAccess,
c360: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 55 44 49  ..}..alias _AUDI
c370: 54 5f 45 56 45 4e 54 5f 54 59 50 45 20 41 55 44  T_EVENT_TYPE AUD
c380: 49 54 5f 45 56 45 4e 54 5f 54 59 50 45 3b 0d 0a  IT_EVENT_TYPE;..
c390: 61 6c 69 61 73 20 5f 41 55 44 49 54 5f 45 56 45  alias _AUDIT_EVE
c3a0: 4e 54 5f 54 59 50 45 2a 20 50 41 55 44 49 54 5f  NT_TYPE* PAUDIT_
c3b0: 45 56 45 4e 54 5f 54 59 50 45 3b 0d 0a 0d 0a 65  EVENT_TYPE;....e
c3c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 55 44  num : uint { AUD
c3d0: 49 54 5f 41 4c 4c 4f 57 5f 4e 4f 5f 50 52 49 56  IT_ALLOW_NO_PRIV
c3e0: 49 4c 45 47 45 20 3d 20 30 78 31 20 7d 0d 0a 0d  ILEGE = 0x1 }...
c3f0: 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 41 43  .const char[] AC
c400: 43 45 53 53 5f 44 53 5f 53 4f 55 52 43 45 5f 41  CESS_DS_SOURCE_A
c410: 20 3d 20 22 44 53 22 3b 0d 0a 63 6f 6e 73 74 20   = "DS";..const 
c420: 77 63 68 61 72 5b 5d 20 41 43 43 45 53 53 5f 44  wchar[] ACCESS_D
c430: 53 5f 53 4f 55 52 43 45 5f 57 20 3d 20 22 44 53  S_SOURCE_W = "DS
c440: 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d  ";..const char[]
c450: 20 41 43 43 45 53 53 5f 44 53 5f 4f 42 4a 45 43   ACCESS_DS_OBJEC
c460: 54 5f 54 59 50 45 5f 4e 41 4d 45 5f 41 20 3d 20  T_TYPE_NAME_A = 
c470: 22 44 69 72 65 63 74 6f 72 79 20 53 65 72 76 69  "Directory Servi
c480: 63 65 20 4f 62 6a 65 63 74 22 3b 0d 0a 63 6f 6e  ce Object";..con
c490: 73 74 20 77 63 68 61 72 5b 5d 20 41 43 43 45 53  st wchar[] ACCES
c4a0: 53 5f 44 53 5f 4f 42 4a 45 43 54 5f 54 59 50 45  S_DS_OBJECT_TYPE
c4b0: 5f 4e 41 4d 45 5f 57 20 3d 20 22 44 69 72 65 63  _NAME_W = "Direc
c4c0: 74 6f 72 79 20 53 65 72 76 69 63 65 20 4f 62 6a  tory Service Obj
c4d0: 65 63 74 22 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ect";....enum : 
c4e0: 75 69 6e 74 20 7b 20 53 45 5f 50 52 49 56 49 4c  uint { SE_PRIVIL
c4f0: 45 47 45 5f 45 4e 41 42 4c 45 44 5f 42 59 5f 44  EGE_ENABLED_BY_D
c500: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30 30  EFAULT = 0x00000
c510: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
c520: 6e 74 20 7b 20 53 45 5f 50 52 49 56 49 4c 45 47  nt { SE_PRIVILEG
c530: 45 5f 45 4e 41 42 4c 45 44 20 3d 20 30 78 30 30  E_ENABLED = 0x00
c540: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
c550: 20 75 69 6e 74 20 7b 20 53 45 5f 50 52 49 56 49   uint { SE_PRIVI
c560: 4c 45 47 45 5f 55 53 45 44 5f 46 4f 52 5f 41 43  LEGE_USED_FOR_AC
c570: 43 45 53 53 20 3d 20 30 78 38 30 30 30 30 30 30  CESS = 0x8000000
c580: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
c590: 6e 74 20 7b 20 50 52 49 56 49 4c 45 47 45 5f 53  nt { PRIVILEGE_S
c5a0: 45 54 5f 41 4c 4c 5f 4e 45 43 45 53 53 41 52 59  ET_ALL_NECESSARY
c5b0: 20 3d 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 1 }....struct
c5c0: 20 5f 50 52 49 56 49 4c 45 47 45 5f 53 45 54 20   _PRIVILEGE_SET 
c5d0: 7b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69 76 69  {..  DWORD Privi
c5e0: 6c 65 67 65 43 6f 75 6e 74 3b 0d 0a 20 20 44 57  legeCount;..  DW
c5f0: 4f 52 44 20 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20  ORD Control;..  
c600: 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55  LUID_AND_ATTRIBU
c610: 54 45 53 20 50 72 69 76 69 6c 65 67 65 5b 41 4e  TES Privilege[AN
c620: 59 53 49 5a 45 5f 41 52 52 41 59 5d 3b 0d 0a 7d  YSIZE_ARRAY];..}
c630: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 56 49 4c 45  ..alias _PRIVILE
c640: 47 45 5f 53 45 54 20 50 52 49 56 49 4c 45 47 45  GE_SET PRIVILEGE
c650: 5f 53 45 54 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  _SET;..alias _PR
c660: 49 56 49 4c 45 47 45 5f 53 45 54 2a 20 50 50 52  IVILEGE_SET* PPR
c670: 49 56 49 4c 45 47 45 5f 53 45 54 3b 0d 0a 0d 0a  IVILEGE_SET;....
c680: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45  const TCHAR[] SE
c690: 5f 43 52 45 41 54 45 5f 54 4f 4b 45 4e 5f 4e 41  _CREATE_TOKEN_NA
c6a0: 4d 45 20 3d 20 22 53 65 43 72 65 61 74 65 54 6f  ME = "SeCreateTo
c6b0: 6b 65 6e 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a  kenPrivilege";..
c6c0: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45  const TCHAR[] SE
c6d0: 5f 41 53 53 49 47 4e 50 52 49 4d 41 52 59 54 4f  _ASSIGNPRIMARYTO
c6e0: 4b 45 4e 5f 4e 41 4d 45 20 3d 20 22 53 65 41 73  KEN_NAME = "SeAs
c6f0: 73 69 67 6e 50 72 69 6d 61 72 79 54 6f 6b 65 6e  signPrimaryToken
c700: 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e  Privilege";..con
c710: 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 4c 4f  st TCHAR[] SE_LO
c720: 43 4b 5f 4d 45 4d 4f 52 59 5f 4e 41 4d 45 20 3d  CK_MEMORY_NAME =
c730: 20 22 53 65 4c 6f 63 6b 4d 65 6d 6f 72 79 50 72   "SeLockMemoryPr
c740: 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74  ivilege";..const
c750: 20 54 43 48 41 52 5b 5d 20 53 45 5f 49 4e 43 52   TCHAR[] SE_INCR
c760: 45 41 53 45 5f 51 55 4f 54 41 5f 4e 41 4d 45 20  EASE_QUOTA_NAME 
c770: 3d 20 22 53 65 49 6e 63 72 65 61 73 65 51 75 6f  = "SeIncreaseQuo
c780: 74 61 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63  taPrivilege";..c
c790: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f  onst TCHAR[] SE_
c7a0: 55 4e 53 4f 4c 49 43 49 54 45 44 5f 49 4e 50 55  UNSOLICITED_INPU
c7b0: 54 5f 4e 41 4d 45 20 3d 20 22 53 65 55 6e 73 6f  T_NAME = "SeUnso
c7c0: 6c 69 63 69 74 65 64 49 6e 70 75 74 50 72 69 76  licitedInputPriv
c7d0: 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  ilege";..const T
c7e0: 43 48 41 52 5b 5d 20 53 45 5f 4d 41 43 48 49 4e  CHAR[] SE_MACHIN
c7f0: 45 5f 41 43 43 4f 55 4e 54 5f 4e 41 4d 45 20 3d  E_ACCOUNT_NAME =
c800: 20 22 53 65 4d 61 63 68 69 6e 65 41 63 63 6f 75   "SeMachineAccou
c810: 6e 74 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63  ntPrivilege";..c
c820: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f  onst TCHAR[] SE_
c830: 54 43 42 5f 4e 41 4d 45 20 3d 20 22 53 65 54 63  TCB_NAME = "SeTc
c840: 62 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f  bPrivilege";..co
c850: 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 53  nst TCHAR[] SE_S
c860: 45 43 55 52 49 54 59 5f 4e 41 4d 45 20 3d 20 22  ECURITY_NAME = "
c870: 53 65 53 65 63 75 72 69 74 79 50 72 69 76 69 6c  SeSecurityPrivil
c880: 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ege";..const TCH
c890: 41 52 5b 5d 20 53 45 5f 54 41 4b 45 5f 4f 57 4e  AR[] SE_TAKE_OWN
c8a0: 45 52 53 48 49 50 5f 4e 41 4d 45 20 3d 20 22 53  ERSHIP_NAME = "S
c8b0: 65 54 61 6b 65 4f 77 6e 65 72 73 68 69 70 50 72  eTakeOwnershipPr
c8c0: 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74  ivilege";..const
c8d0: 20 54 43 48 41 52 5b 5d 20 53 45 5f 4c 4f 41 44   TCHAR[] SE_LOAD
c8e0: 5f 44 52 49 56 45 52 5f 4e 41 4d 45 20 3d 20 22  _DRIVER_NAME = "
c8f0: 53 65 4c 6f 61 64 44 72 69 76 65 72 50 72 69 76  SeLoadDriverPriv
c900: 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  ilege";..const T
c910: 43 48 41 52 5b 5d 20 53 45 5f 53 59 53 54 45 4d  CHAR[] SE_SYSTEM
c920: 5f 50 52 4f 46 49 4c 45 5f 4e 41 4d 45 20 3d 20  _PROFILE_NAME = 
c930: 22 53 65 53 79 73 74 65 6d 50 72 6f 66 69 6c 65  "SeSystemProfile
c940: 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e  Privilege";..con
c950: 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 53 59  st TCHAR[] SE_SY
c960: 53 54 45 4d 54 49 4d 45 5f 4e 41 4d 45 20 3d 20  STEMTIME_NAME = 
c970: 22 53 65 53 79 73 74 65 6d 74 69 6d 65 50 72 69  "SeSystemtimePri
c980: 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20  vilege";..const 
c990: 54 43 48 41 52 5b 5d 20 53 45 5f 50 52 4f 46 5f  TCHAR[] SE_PROF_
c9a0: 53 49 4e 47 4c 45 5f 50 52 4f 43 45 53 53 5f 4e  SINGLE_PROCESS_N
c9b0: 41 4d 45 20 3d 20 22 53 65 50 72 6f 66 69 6c 65  AME = "SeProfile
c9c0: 53 69 6e 67 6c 65 50 72 6f 63 65 73 73 50 72 69  SingleProcessPri
c9d0: 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20  vilege";..const 
c9e0: 54 43 48 41 52 5b 5d 20 53 45 5f 49 4e 43 5f 42  TCHAR[] SE_INC_B
c9f0: 41 53 45 5f 50 52 49 4f 52 49 54 59 5f 4e 41 4d  ASE_PRIORITY_NAM
ca00: 45 20 3d 20 22 53 65 49 6e 63 72 65 61 73 65 42  E = "SeIncreaseB
ca10: 61 73 65 50 72 69 6f 72 69 74 79 50 72 69 76 69  asePriorityPrivi
ca20: 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  lege";..const TC
ca30: 48 41 52 5b 5d 20 53 45 5f 43 52 45 41 54 45 5f  HAR[] SE_CREATE_
ca40: 50 41 47 45 46 49 4c 45 5f 4e 41 4d 45 20 3d 20  PAGEFILE_NAME = 
ca50: 22 53 65 43 72 65 61 74 65 50 61 67 65 66 69 6c  "SeCreatePagefil
ca60: 65 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f  ePrivilege";..co
ca70: 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 43  nst TCHAR[] SE_C
ca80: 52 45 41 54 45 5f 50 45 52 4d 41 4e 45 4e 54 5f  REATE_PERMANENT_
ca90: 4e 41 4d 45 20 3d 20 22 53 65 43 72 65 61 74 65  NAME = "SeCreate
caa0: 50 65 72 6d 61 6e 65 6e 74 50 72 69 76 69 6c 65  PermanentPrivile
cab0: 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  ge";..const TCHA
cac0: 52 5b 5d 20 53 45 5f 42 41 43 4b 55 50 5f 4e 41  R[] SE_BACKUP_NA
cad0: 4d 45 20 3d 20 22 53 65 42 61 63 6b 75 70 50 72  ME = "SeBackupPr
cae0: 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74  ivilege";..const
caf0: 20 54 43 48 41 52 5b 5d 20 53 45 5f 52 45 53 54   TCHAR[] SE_REST
cb00: 4f 52 45 5f 4e 41 4d 45 20 3d 20 22 53 65 52 65  ORE_NAME = "SeRe
cb10: 73 74 6f 72 65 50 72 69 76 69 6c 65 67 65 22 3b  storePrivilege";
cb20: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
cb30: 53 45 5f 53 48 55 54 44 4f 57 4e 5f 4e 41 4d 45  SE_SHUTDOWN_NAME
cb40: 20 3d 20 22 53 65 53 68 75 74 64 6f 77 6e 50 72   = "SeShutdownPr
cb50: 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74  ivilege";..const
cb60: 20 54 43 48 41 52 5b 5d 20 53 45 5f 44 45 42 55   TCHAR[] SE_DEBU
cb70: 47 5f 4e 41 4d 45 20 3d 20 22 53 65 44 65 62 75  G_NAME = "SeDebu
cb80: 67 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f  gPrivilege";..co
cb90: 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 41  nst TCHAR[] SE_A
cba0: 55 44 49 54 5f 4e 41 4d 45 20 3d 20 22 53 65 41  UDIT_NAME = "SeA
cbb0: 75 64 69 74 50 72 69 76 69 6c 65 67 65 22 3b 0d  uditPrivilege";.
cbc0: 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
cbd0: 45 5f 53 59 53 54 45 4d 5f 45 4e 56 49 52 4f 4e  E_SYSTEM_ENVIRON
cbe0: 4d 45 4e 54 5f 4e 41 4d 45 20 3d 20 22 53 65 53  MENT_NAME = "SeS
cbf0: 79 73 74 65 6d 45 6e 76 69 72 6f 6e 6d 65 6e 74  ystemEnvironment
cc00: 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e  Privilege";..con
cc10: 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 43 48  st TCHAR[] SE_CH
cc20: 41 4e 47 45 5f 4e 4f 54 49 46 59 5f 4e 41 4d 45  ANGE_NOTIFY_NAME
cc30: 20 3d 20 22 53 65 43 68 61 6e 67 65 4e 6f 74 69   = "SeChangeNoti
cc40: 66 79 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63  fyPrivilege";..c
cc50: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f  onst TCHAR[] SE_
cc60: 52 45 4d 4f 54 45 5f 53 48 55 54 44 4f 57 4e 5f  REMOTE_SHUTDOWN_
cc70: 4e 41 4d 45 20 3d 20 22 53 65 52 65 6d 6f 74 65  NAME = "SeRemote
cc80: 53 68 75 74 64 6f 77 6e 50 72 69 76 69 6c 65 67  ShutdownPrivileg
cc90: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
cca0: 5b 5d 20 53 45 5f 55 4e 44 4f 43 4b 5f 4e 41 4d  [] SE_UNDOCK_NAM
ccb0: 45 20 3d 20 22 53 65 55 6e 64 6f 63 6b 50 72 69  E = "SeUndockPri
ccc0: 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20  vilege";..const 
ccd0: 54 43 48 41 52 5b 5d 20 53 45 5f 53 59 4e 43 5f  TCHAR[] SE_SYNC_
cce0: 41 47 45 4e 54 5f 4e 41 4d 45 20 3d 20 22 53 65  AGENT_NAME = "Se
ccf0: 53 79 6e 63 41 67 65 6e 74 50 72 69 76 69 6c 65  SyncAgentPrivile
cd00: 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  ge";..const TCHA
cd10: 52 5b 5d 20 53 45 5f 45 4e 41 42 4c 45 5f 44 45  R[] SE_ENABLE_DE
cd20: 4c 45 47 41 54 49 4f 4e 5f 4e 41 4d 45 20 3d 20  LEGATION_NAME = 
cd30: 22 53 65 45 6e 61 62 6c 65 44 65 6c 65 67 61 74  "SeEnableDelegat
cd40: 69 6f 6e 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a  ionPrivilege";..
cd50: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45  const TCHAR[] SE
cd60: 5f 4d 41 4e 41 47 45 5f 56 4f 4c 55 4d 45 5f 4e  _MANAGE_VOLUME_N
cd70: 41 4d 45 20 3d 20 22 53 65 4d 61 6e 61 67 65 56  AME = "SeManageV
cd80: 6f 6c 75 6d 65 50 72 69 76 69 6c 65 67 65 22 3b  olumePrivilege";
cd90: 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 53  ....alias int _S
cda0: 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e  ECURITY_IMPERSON
cdb0: 41 54 49 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a 65 6e  ATION_LEVEL;..en
cdc0: 75 6d 20 7b 0d 0a 20 20 53 65 63 75 72 69 74 79  um {..  Security
cdd0: 41 6e 6f 6e 79 6d 6f 75 73 2c 0d 0a 20 20 53 65  Anonymous,..  Se
cde0: 63 75 72 69 74 79 49 64 65 6e 74 69 66 69 63 61  curityIdentifica
cdf0: 74 69 6f 6e 2c 0d 0a 20 20 53 65 63 75 72 69 74  tion,..  Securit
ce00: 79 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 2c 0d  yImpersonation,.
ce10: 0a 20 20 53 65 63 75 72 69 74 79 44 65 6c 65 67  .  SecurityDeleg
ce20: 61 74 69 6f 6e 2c 0d 0a 7d 0d 0a 61 6c 69 61 73  ation,..}..alias
ce30: 20 5f 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52   _SECURITY_IMPER
ce40: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 53  SONATION_LEVEL S
ce50: 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e  ECURITY_IMPERSON
ce60: 41 54 49 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a 61 6c  ATION_LEVEL;..al
ce70: 69 61 73 20 5f 53 45 43 55 52 49 54 59 5f 49 4d  ias _SECURITY_IM
ce80: 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45  PERSONATION_LEVE
ce90: 4c 2a 20 50 53 45 43 55 52 49 54 59 5f 49 4d 50  L* PSECURITY_IMP
cea0: 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c  ERSONATION_LEVEL
ceb0: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 53 65 63 75 72  ;....alias Secur
cec0: 69 74 79 44 65 6c 65 67 61 74 69 6f 6e 20 53 45  ityDelegation SE
ced0: 43 55 52 49 54 59 5f 4d 41 58 5f 49 4d 50 45 52  CURITY_MAX_IMPER
cee0: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 3b 0d  SONATION_LEVEL;.
cef0: 0a 61 6c 69 61 73 20 53 65 63 75 72 69 74 79 41  .alias SecurityA
cf00: 6e 6f 6e 79 6d 6f 75 73 20 53 45 43 55 52 49 54  nonymous SECURIT
cf10: 59 5f 4d 49 4e 5f 49 4d 50 45 52 53 4f 4e 41 54  Y_MIN_IMPERSONAT
cf20: 49 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a 61 6c 69 61  ION_LEVEL;..alia
cf30: 73 20 53 65 63 75 72 69 74 79 49 6d 70 65 72 73  s SecurityImpers
cf40: 6f 6e 61 74 69 6f 6e 20 44 45 46 41 55 4c 54 5f  onation DEFAULT_
cf50: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45  IMPERSONATION_LE
cf60: 56 45 4c 3b 0d 0a 62 69 74 20 56 41 4c 49 44 5f  VEL;..bit VALID_
cf70: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45  IMPERSONATION_LE
cf80: 56 45 4c 28 53 45 43 55 52 49 54 59 5f 49 4d 50  VEL(SECURITY_IMP
cf90: 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c  ERSONATION_LEVEL
cfa0: 20 4c 29 7b 20 72 65 74 75 72 6e 20 28 4c 20 3e   L){ return (L >
cfb0: 3d 20 53 45 43 55 52 49 54 59 5f 4d 49 4e 5f 49  = SECURITY_MIN_I
cfc0: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56  MPERSONATION_LEV
cfd0: 45 4c 29 20 26 26 20 28 4c 20 3c 3d 20 53 45 43  EL) && (L <= SEC
cfe0: 55 52 49 54 59 5f 4d 41 58 5f 49 4d 50 45 52 53  URITY_MAX_IMPERS
cff0: 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 29 3b 20  ONATION_LEVEL); 
d000: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
d010: 20 7b 20 54 4f 4b 45 4e 5f 41 53 53 49 47 4e 5f   { TOKEN_ASSIGN_
d020: 50 52 49 4d 41 52 59 20 3d 20 30 78 30 30 30 31  PRIMARY = 0x0001
d030: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d040: 7b 20 54 4f 4b 45 4e 5f 44 55 50 4c 49 43 41 54  { TOKEN_DUPLICAT
d050: 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  E = 0x0002 }..en
d060: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45  um : uint { TOKE
d070: 4e 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20 3d 20  N_IMPERSONATE = 
d080: 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
d090: 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 51 55   uint { TOKEN_QU
d0a0: 45 52 59 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  ERY = 0x0008 }..
d0b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f  enum : uint { TO
d0c0: 4b 45 4e 5f 51 55 45 52 59 5f 53 4f 55 52 43 45  KEN_QUERY_SOURCE
d0d0: 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
d0e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e  m : uint { TOKEN
d0f0: 5f 41 44 4a 55 53 54 5f 50 52 49 56 49 4c 45 47  _ADJUST_PRIVILEG
d100: 45 53 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  ES = 0x0020 }..e
d110: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b  num : uint { TOK
d120: 45 4e 5f 41 44 4a 55 53 54 5f 47 52 4f 55 50 53  EN_ADJUST_GROUPS
d130: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
d140: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e  m : uint { TOKEN
d150: 5f 41 44 4a 55 53 54 5f 44 45 46 41 55 4c 54 20  _ADJUST_DEFAULT 
d160: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
d170: 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f   : uint { TOKEN_
d180: 41 44 4a 55 53 54 5f 53 45 53 53 49 4f 4e 49 44  ADJUST_SESSIONID
d190: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 0d 0a 65   = 0x0100 }....e
d1a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b  num : uint { TOK
d1b0: 45 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 5f 50 20  EN_ALL_ACCESS_P 
d1c0: 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54  = STANDARD_RIGHT
d1d0: 53 5f 52 45 51 55 49 52 45 44 20 7c 20 54 4f 4b  S_REQUIRED | TOK
d1e0: 45 4e 5f 41 53 53 49 47 4e 5f 50 52 49 4d 41 52  EN_ASSIGN_PRIMAR
d1f0: 59 20 7c 20 54 4f 4b 45 4e 5f 44 55 50 4c 49 43  Y | TOKEN_DUPLIC
d200: 41 54 45 20 7c 20 54 4f 4b 45 4e 5f 49 4d 50 45  ATE | TOKEN_IMPE
d210: 52 53 4f 4e 41 54 45 20 7c 20 54 4f 4b 45 4e 5f  RSONATE | TOKEN_
d220: 51 55 45 52 59 20 7c 20 54 4f 4b 45 4e 5f 51 55  QUERY | TOKEN_QU
d230: 45 52 59 5f 53 4f 55 52 43 45 20 7c 20 54 4f 4b  ERY_SOURCE | TOK
d240: 45 4e 5f 41 44 4a 55 53 54 5f 50 52 49 56 49 4c  EN_ADJUST_PRIVIL
d250: 45 47 45 53 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a  EGES | TOKEN_ADJ
d260: 55 53 54 5f 47 52 4f 55 50 53 20 7c 20 54 4f 4b  UST_GROUPS | TOK
d270: 45 4e 5f 41 44 4a 55 53 54 5f 44 45 46 41 55 4c  EN_ADJUST_DEFAUL
d280: 54 20 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  T  }....// #if (
d290: 28 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32 5f  (defined(_WIN32_
d2a0: 57 49 4e 4e 54 29 20 26 26 20 28 5f 57 49 4e 33  WINNT) && (_WIN3
d2b0: 32 5f 57 49 4e 4e 54 20 3e 20 30 78 30 34 30 30  2_WINNT > 0x0400
d2c0: 29 29 20 7c 7c 20 28 21 64 65 66 69 6e 65 64 28  )) || (!defined(
d2d0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 29 29 29 0d  _WIN32_WINNT))).
d2e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
d2f0: 4f 4b 45 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20  OKEN_ALL_ACCESS 
d300: 3d 20 54 4f 4b 45 4e 5f 41 4c 4c 5f 41 43 43 45  = TOKEN_ALL_ACCE
d310: 53 53 5f 50 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a  SS_P | TOKEN_ADJ
d320: 55 53 54 5f 53 45 53 53 49 4f 4e 49 44 20 20 7d  UST_SESSIONID  }
d330: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
d340: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
d350: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d360: 54 4f 4b 45 4e 5f 52 45 41 44 20 3d 20 53 54 41  TOKEN_READ = STA
d370: 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 41  NDARD_RIGHTS_REA
d380: 44 20 7c 20 54 4f 4b 45 4e 5f 51 55 45 52 59 20  D | TOKEN_QUERY 
d390: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
d3a0: 20 7b 20 54 4f 4b 45 4e 5f 57 52 49 54 45 20 3d   { TOKEN_WRITE =
d3b0: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
d3c0: 5f 57 52 49 54 45 20 7c 20 54 4f 4b 45 4e 5f 41  _WRITE | TOKEN_A
d3d0: 44 4a 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53  DJUST_PRIVILEGES
d3e0: 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f   | TOKEN_ADJUST_
d3f0: 47 52 4f 55 50 53 20 7c 20 54 4f 4b 45 4e 5f 41  GROUPS | TOKEN_A
d400: 44 4a 55 53 54 5f 44 45 46 41 55 4c 54 20 7d 0d  DJUST_DEFAULT }.
d410: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
d420: 20 54 4f 4b 45 4e 5f 45 58 45 43 55 54 45 20 3d   TOKEN_EXECUTE =
d430: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
d440: 5f 45 58 45 43 55 54 45 20 7d 0d 0a 0d 0a 61 6c  _EXECUTE }....al
d450: 69 61 73 20 69 6e 74 20 5f 54 4f 4b 45 4e 5f 54  ias int _TOKEN_T
d460: 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20  YPE;..enum {..  
d470: 54 6f 6b 65 6e 50 72 69 6d 61 72 79 20 3d 20 31  TokenPrimary = 1
d480: 2c 0d 0a 20 20 54 6f 6b 65 6e 49 6d 70 65 72 73  ,..  TokenImpers
d490: 6f 6e 61 74 69 6f 6e 2c 0d 0a 7d 0d 0a 61 6c 69  onation,..}..ali
d4a0: 61 73 20 5f 54 4f 4b 45 4e 5f 54 59 50 45 20 54  as _TOKEN_TYPE T
d4b0: 4f 4b 45 4e 5f 54 59 50 45 3b 0d 0a 0d 0a 61 6c  OKEN_TYPE;....al
d4c0: 69 61 73 20 54 4f 4b 45 4e 5f 54 59 50 45 2a 20  ias TOKEN_TYPE* 
d4d0: 50 54 4f 4b 45 4e 5f 54 59 50 45 3b 0d 0a 0d 0a  PTOKEN_TYPE;....
d4e0: 61 6c 69 61 73 20 69 6e 74 20 5f 54 4f 4b 45 4e  alias int _TOKEN
d4f0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
d500: 53 53 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 54  SS;..enum {..  T
d510: 6f 6b 65 6e 55 73 65 72 20 3d 20 31 2c 0d 0a 20  okenUser = 1,.. 
d520: 20 54 6f 6b 65 6e 47 72 6f 75 70 73 2c 0d 0a 20   TokenGroups,.. 
d530: 20 54 6f 6b 65 6e 50 72 69 76 69 6c 65 67 65 73   TokenPrivileges
d540: 2c 0d 0a 20 20 54 6f 6b 65 6e 4f 77 6e 65 72 2c  ,..  TokenOwner,
d550: 0d 0a 20 20 54 6f 6b 65 6e 50 72 69 6d 61 72 79  ..  TokenPrimary
d560: 47 72 6f 75 70 2c 0d 0a 20 20 54 6f 6b 65 6e 44  Group,..  TokenD
d570: 65 66 61 75 6c 74 44 61 63 6c 2c 0d 0a 20 20 54  efaultDacl,..  T
d580: 6f 6b 65 6e 53 6f 75 72 63 65 2c 0d 0a 20 20 54  okenSource,..  T
d590: 6f 6b 65 6e 54 79 70 65 2c 0d 0a 20 20 54 6f 6b  okenType,..  Tok
d5a0: 65 6e 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 4c  enImpersonationL
d5b0: 65 76 65 6c 2c 0d 0a 20 20 54 6f 6b 65 6e 53 74  evel,..  TokenSt
d5c0: 61 74 69 73 74 69 63 73 2c 0d 0a 20 20 54 6f 6b  atistics,..  Tok
d5d0: 65 6e 52 65 73 74 72 69 63 74 65 64 53 69 64 73  enRestrictedSids
d5e0: 2c 0d 0a 20 20 54 6f 6b 65 6e 53 65 73 73 69 6f  ,..  TokenSessio
d5f0: 6e 49 64 2c 0d 0a 20 20 54 6f 6b 65 6e 47 72 6f  nId,..  TokenGro
d600: 75 70 73 41 6e 64 50 72 69 76 69 6c 65 67 65 73  upsAndPrivileges
d610: 2c 0d 0a 20 20 54 6f 6b 65 6e 53 65 73 73 69 6f  ,..  TokenSessio
d620: 6e 52 65 66 65 72 65 6e 63 65 2c 0d 0a 20 20 54  nReference,..  T
d630: 6f 6b 65 6e 53 61 6e 64 42 6f 78 49 6e 65 72 74  okenSandBoxInert
d640: 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b  ,..}..alias _TOK
d650: 45 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  EN_INFORMATION_C
d660: 4c 41 53 53 20 54 4f 4b 45 4e 5f 49 4e 46 4f 52  LASS TOKEN_INFOR
d670: 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 3b 0d 0a 61  MATION_CLASS;..a
d680: 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 49 4e 46 4f  lias _TOKEN_INFO
d690: 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 2a 20 50  RMATION_CLASS* P
d6a0: 54 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f  TOKEN_INFORMATIO
d6b0: 4e 5f 43 4c 41 53 53 3b 0d 0a 0d 0a 73 74 72 75  N_CLASS;....stru
d6c0: 63 74 20 5f 54 4f 4b 45 4e 5f 55 53 45 52 20 7b  ct _TOKEN_USER {
d6d0: 0d 0a 20 20 53 49 44 5f 41 4e 44 5f 41 54 54 52  ..  SID_AND_ATTR
d6e0: 49 42 55 54 45 53 20 55 73 65 72 3b 0d 0a 7d 0d  IBUTES User;..}.
d6f0: 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 55 53  .alias _TOKEN_US
d700: 45 52 20 54 4f 4b 45 4e 5f 55 53 45 52 3b 0d 0a  ER TOKEN_USER;..
d710: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 55 53 45  alias _TOKEN_USE
d720: 52 2a 20 50 54 4f 4b 45 4e 5f 55 53 45 52 3b 0d  R* PTOKEN_USER;.
d730: 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b 45 4e  ...struct _TOKEN
d740: 5f 47 52 4f 55 50 53 20 7b 0d 0a 20 20 44 57 4f  _GROUPS {..  DWO
d750: 52 44 20 47 72 6f 75 70 43 6f 75 6e 74 3b 0d 0a  RD GroupCount;..
d760: 20 20 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42    SID_AND_ATTRIB
d770: 55 54 45 53 20 47 72 6f 75 70 73 5b 41 4e 59 53  UTES Groups[ANYS
d780: 49 5a 45 5f 41 52 52 41 59 5d 3b 0d 0a 7d 0d 0a  IZE_ARRAY];..}..
d790: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 47 52 4f  alias _TOKEN_GRO
d7a0: 55 50 53 20 54 4f 4b 45 4e 5f 47 52 4f 55 50 53  UPS TOKEN_GROUPS
d7b0: 3b 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f  ;..alias _TOKEN_
d7c0: 47 52 4f 55 50 53 2a 20 50 54 4f 4b 45 4e 5f 47  GROUPS* PTOKEN_G
d7d0: 52 4f 55 50 53 3b 0d 0a 0d 0a 73 74 72 75 63 74  ROUPS;....struct
d7e0: 20 5f 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47   _TOKEN_PRIVILEG
d7f0: 45 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 50 72  ES {..  DWORD Pr
d800: 69 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0d 0a 20  ivilegeCount;.. 
d810: 20 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42   LUID_AND_ATTRIB
d820: 55 54 45 53 20 50 72 69 76 69 6c 65 67 65 73 5b  UTES Privileges[
d830: 41 4e 59 53 49 5a 45 5f 41 52 52 41 59 5d 3b 0d  ANYSIZE_ARRAY];.
d840: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e  .}..alias _TOKEN
d850: 5f 50 52 49 56 49 4c 45 47 45 53 20 54 4f 4b 45  _PRIVILEGES TOKE
d860: 4e 5f 50 52 49 56 49 4c 45 47 45 53 3b 0d 0a 61  N_PRIVILEGES;..a
d870: 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 50 52 49 56  lias _TOKEN_PRIV
d880: 49 4c 45 47 45 53 2a 20 50 54 4f 4b 45 4e 5f 50  ILEGES* PTOKEN_P
d890: 52 49 56 49 4c 45 47 45 53 3b 0d 0a 0d 0a 73 74  RIVILEGES;....st
d8a0: 72 75 63 74 20 5f 54 4f 4b 45 4e 5f 4f 57 4e 45  ruct _TOKEN_OWNE
d8b0: 52 20 7b 0d 0a 20 20 50 53 49 44 20 4f 77 6e 65  R {..  PSID Owne
d8c0: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f  r;..}..alias _TO
d8d0: 4b 45 4e 5f 4f 57 4e 45 52 20 54 4f 4b 45 4e 5f  KEN_OWNER TOKEN_
d8e0: 4f 57 4e 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 54  OWNER;..alias _T
d8f0: 4f 4b 45 4e 5f 4f 57 4e 45 52 2a 20 50 54 4f 4b  OKEN_OWNER* PTOK
d900: 45 4e 5f 4f 57 4e 45 52 3b 0d 0a 0d 0a 73 74 72  EN_OWNER;....str
d910: 75 63 74 20 5f 54 4f 4b 45 4e 5f 50 52 49 4d 41  uct _TOKEN_PRIMA
d920: 52 59 5f 47 52 4f 55 50 20 7b 0d 0a 20 20 50 53  RY_GROUP {..  PS
d930: 49 44 20 50 72 69 6d 61 72 79 47 72 6f 75 70 3b  ID PrimaryGroup;
d940: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45  ..}..alias _TOKE
d950: 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 50 20  N_PRIMARY_GROUP 
d960: 54 4f 4b 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52  TOKEN_PRIMARY_GR
d970: 4f 55 50 3b 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b  OUP;..alias _TOK
d980: 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 50  EN_PRIMARY_GROUP
d990: 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 4d 41 52 59  * PTOKEN_PRIMARY
d9a0: 5f 47 52 4f 55 50 3b 0d 0a 0d 0a 73 74 72 75 63  _GROUP;....struc
d9b0: 74 20 5f 54 4f 4b 45 4e 5f 44 45 46 41 55 4c 54  t _TOKEN_DEFAULT
d9c0: 5f 44 41 43 4c 20 7b 0d 0a 20 20 50 41 43 4c 20  _DACL {..  PACL 
d9d0: 44 65 66 61 75 6c 74 44 61 63 6c 3b 0d 0a 7d 0d  DefaultDacl;..}.
d9e0: 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 44 45  .alias _TOKEN_DE
d9f0: 46 41 55 4c 54 5f 44 41 43 4c 20 54 4f 4b 45 4e  FAULT_DACL TOKEN
da00: 5f 44 45 46 41 55 4c 54 5f 44 41 43 4c 3b 0d 0a  _DEFAULT_DACL;..
da10: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 44 45 46  alias _TOKEN_DEF
da20: 41 55 4c 54 5f 44 41 43 4c 2a 20 50 54 4f 4b 45  AULT_DACL* PTOKE
da30: 4e 5f 44 45 46 41 55 4c 54 5f 44 41 43 4c 3b 0d  N_DEFAULT_DACL;.
da40: 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b 45 4e  ...struct _TOKEN
da50: 5f 47 52 4f 55 50 53 5f 41 4e 44 5f 50 52 49 56  _GROUPS_AND_PRIV
da60: 49 4c 45 47 45 53 20 7b 0d 0a 20 20 44 57 4f 52  ILEGES {..  DWOR
da70: 44 20 53 69 64 43 6f 75 6e 74 3b 0d 0a 20 20 44  D SidCount;..  D
da80: 57 4f 52 44 20 53 69 64 4c 65 6e 67 74 68 3b 0d  WORD SidLength;.
da90: 0a 20 20 50 53 49 44 5f 41 4e 44 5f 41 54 54 52  .  PSID_AND_ATTR
daa0: 49 42 55 54 45 53 20 53 69 64 73 3b 0d 0a 20 20  IBUTES Sids;..  
dab0: 44 57 4f 52 44 20 52 65 73 74 72 69 63 74 65 64  DWORD Restricted
dac0: 53 69 64 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f  SidCount;..  DWO
dad0: 52 44 20 52 65 73 74 72 69 63 74 65 64 53 69 64  RD RestrictedSid
dae0: 4c 65 6e 67 74 68 3b 0d 0a 20 20 50 53 49 44 5f  Length;..  PSID_
daf0: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 52  AND_ATTRIBUTES R
db00: 65 73 74 72 69 63 74 65 64 53 69 64 73 3b 0d 0a  estrictedSids;..
db10: 20 20 44 57 4f 52 44 20 50 72 69 76 69 6c 65 67    DWORD Privileg
db20: 65 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44  eCount;..  DWORD
db30: 20 50 72 69 76 69 6c 65 67 65 4c 65 6e 67 74 68   PrivilegeLength
db40: 3b 0d 0a 20 20 50 4c 55 49 44 5f 41 4e 44 5f 41  ;..  PLUID_AND_A
db50: 54 54 52 49 42 55 54 45 53 20 50 72 69 76 69 6c  TTRIBUTES Privil
db60: 65 67 65 73 3b 0d 0a 20 20 4c 55 49 44 20 41 75  eges;..  LUID Au
db70: 74 68 65 6e 74 69 63 61 74 69 6f 6e 49 64 3b 0d  thenticationId;.
db80: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e  .}..alias _TOKEN
db90: 5f 47 52 4f 55 50 53 5f 41 4e 44 5f 50 52 49 56  _GROUPS_AND_PRIV
dba0: 49 4c 45 47 45 53 20 54 4f 4b 45 4e 5f 47 52 4f  ILEGES TOKEN_GRO
dbb0: 55 50 53 5f 41 4e 44 5f 50 52 49 56 49 4c 45 47  UPS_AND_PRIVILEG
dbc0: 45 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45  ES;..alias _TOKE
dbd0: 4e 5f 47 52 4f 55 50 53 5f 41 4e 44 5f 50 52 49  N_GROUPS_AND_PRI
dbe0: 56 49 4c 45 47 45 53 2a 20 50 54 4f 4b 45 4e 5f  VILEGES* PTOKEN_
dbf0: 47 52 4f 55 50 53 5f 41 4e 44 5f 50 52 49 56 49  GROUPS_AND_PRIVI
dc00: 4c 45 47 45 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  LEGES;....enum :
dc10: 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 53 4f   uint { TOKEN_SO
dc20: 55 52 43 45 5f 4c 45 4e 47 54 48 20 3d 20 38 20  URCE_LENGTH = 8 
dc30: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b  }....struct _TOK
dc40: 45 4e 5f 53 4f 55 52 43 45 20 7b 0d 0a 20 20 43  EN_SOURCE {..  C
dc50: 48 41 52 20 53 6f 75 72 63 65 4e 61 6d 65 5b 54  HAR SourceName[T
dc60: 4f 4b 45 4e 5f 53 4f 55 52 43 45 5f 4c 45 4e 47  OKEN_SOURCE_LENG
dc70: 54 48 5d 3b 0d 0a 20 20 4c 55 49 44 20 53 6f 75  TH];..  LUID Sou
dc80: 72 63 65 49 64 65 6e 74 69 66 69 65 72 3b 0d 0a  rceIdentifier;..
dc90: 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f  }..alias _TOKEN_
dca0: 53 4f 55 52 43 45 20 54 4f 4b 45 4e 5f 53 4f 55  SOURCE TOKEN_SOU
dcb0: 52 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b  RCE;..alias _TOK
dcc0: 45 4e 5f 53 4f 55 52 43 45 2a 20 50 54 4f 4b 45  EN_SOURCE* PTOKE
dcd0: 4e 5f 53 4f 55 52 43 45 3b 0d 0a 0d 0a 73 74 72  N_SOURCE;....str
dce0: 75 63 74 20 5f 54 4f 4b 45 4e 5f 53 54 41 54 49  uct _TOKEN_STATI
dcf0: 53 54 49 43 53 20 7b 0d 0a 20 20 4c 55 49 44 20  STICS {..  LUID 
dd00: 54 6f 6b 65 6e 49 64 3b 0d 0a 20 20 4c 55 49 44  TokenId;..  LUID
dd10: 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 49   AuthenticationI
dd20: 64 3b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45  d;..  LARGE_INTE
dd30: 47 45 52 20 45 78 70 69 72 61 74 69 6f 6e 54 69  GER ExpirationTi
dd40: 6d 65 3b 0d 0a 20 20 54 4f 4b 45 4e 5f 54 59 50  me;..  TOKEN_TYP
dd50: 45 20 54 6f 6b 65 6e 54 79 70 65 3b 0d 0a 20 20  E TokenType;..  
dd60: 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f  SECURITY_IMPERSO
dd70: 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 49 6d 70  NATION_LEVEL Imp
dd80: 65 72 73 6f 6e 61 74 69 6f 6e 4c 65 76 65 6c 3b  ersonationLevel;
dd90: 0d 0a 20 20 44 57 4f 52 44 20 44 79 6e 61 6d 69  ..  DWORD Dynami
dda0: 63 43 68 61 72 67 65 64 3b 0d 0a 20 20 44 57 4f  cCharged;..  DWO
ddb0: 52 44 20 44 79 6e 61 6d 69 63 41 76 61 69 6c 61  RD DynamicAvaila
ddc0: 62 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 47 72  ble;..  DWORD Gr
ddd0: 6f 75 70 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f  oupCount;..  DWO
dde0: 52 44 20 50 72 69 76 69 6c 65 67 65 43 6f 75 6e  RD PrivilegeCoun
ddf0: 74 3b 0d 0a 20 20 4c 55 49 44 20 4d 6f 64 69 66  t;..  LUID Modif
de00: 69 65 64 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  iedId;..}..alias
de10: 20 5f 54 4f 4b 45 4e 5f 53 54 41 54 49 53 54 49   _TOKEN_STATISTI
de20: 43 53 20 54 4f 4b 45 4e 5f 53 54 41 54 49 53 54  CS TOKEN_STATIST
de30: 49 43 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b  ICS;..alias _TOK
de40: 45 4e 5f 53 54 41 54 49 53 54 49 43 53 2a 20 50  EN_STATISTICS* P
de50: 54 4f 4b 45 4e 5f 53 54 41 54 49 53 54 49 43 53  TOKEN_STATISTICS
de60: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b  ;....struct _TOK
de70: 45 4e 5f 43 4f 4e 54 52 4f 4c 20 7b 0d 0a 20 20  EN_CONTROL {..  
de80: 4c 55 49 44 20 54 6f 6b 65 6e 49 64 3b 0d 0a 20  LUID TokenId;.. 
de90: 20 4c 55 49 44 20 41 75 74 68 65 6e 74 69 63 61   LUID Authentica
dea0: 74 69 6f 6e 49 64 3b 0d 0a 20 20 4c 55 49 44 20  tionId;..  LUID 
deb0: 4d 6f 64 69 66 69 65 64 49 64 3b 0d 0a 20 20 54  ModifiedId;..  T
dec0: 4f 4b 45 4e 5f 53 4f 55 52 43 45 20 54 6f 6b 65  OKEN_SOURCE Toke
ded0: 6e 53 6f 75 72 63 65 3b 0d 0a 7d 0d 0a 61 6c 69  nSource;..}..ali
dee0: 61 73 20 5f 54 4f 4b 45 4e 5f 43 4f 4e 54 52 4f  as _TOKEN_CONTRO
def0: 4c 20 54 4f 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 3b  L TOKEN_CONTROL;
df00: 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 43  ..alias _TOKEN_C
df10: 4f 4e 54 52 4f 4c 2a 20 50 54 4f 4b 45 4e 5f 43  ONTROL* PTOKEN_C
df20: 4f 4e 54 52 4f 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20  ONTROL;....enum 
df30: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
df40: 59 5f 44 59 4e 41 4d 49 43 5f 54 52 41 43 4b 49  Y_DYNAMIC_TRACKI
df50: 4e 47 20 3d 20 54 52 55 45 20 7d 0d 0a 65 6e 75  NG = TRUE }..enu
df60: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52  m : uint { SECUR
df70: 49 54 59 5f 53 54 41 54 49 43 5f 54 52 41 43 4b  ITY_STATIC_TRACK
df80: 49 4e 47 20 3d 20 46 41 4c 53 45 20 7d 0d 0a 0d  ING = FALSE }...
df90: 0a 61 6c 69 61 73 20 42 4f 4f 4c 45 41 4e 20 53  .alias BOOLEAN S
dfa0: 45 43 55 52 49 54 59 5f 43 4f 4e 54 45 58 54 5f  ECURITY_CONTEXT_
dfb0: 54 52 41 43 4b 49 4e 47 5f 4d 4f 44 45 3b 0d 0a  TRACKING_MODE;..
dfc0: 61 6c 69 61 73 20 42 4f 4f 4c 45 41 4e 2a 20 50  alias BOOLEAN* P
dfd0: 53 45 43 55 52 49 54 59 5f 43 4f 4e 54 45 58 54  SECURITY_CONTEXT
dfe0: 5f 54 52 41 43 4b 49 4e 47 5f 4d 4f 44 45 3b 0d  _TRACKING_MODE;.
dff0: 0a 0d 0a 73 74 72 75 63 74 20 5f 53 45 43 55 52  ...struct _SECUR
e000: 49 54 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53  ITY_QUALITY_OF_S
e010: 45 52 56 49 43 45 20 7b 0d 0a 20 20 44 57 4f 52  ERVICE {..  DWOR
e020: 44 20 4c 65 6e 67 74 68 3b 0d 0a 20 20 53 45 43  D Length;..  SEC
e030: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54  URITY_IMPERSONAT
e040: 49 4f 4e 5f 4c 45 56 45 4c 20 49 6d 70 65 72 73  ION_LEVEL Impers
e050: 6f 6e 61 74 69 6f 6e 4c 65 76 65 6c 3b 0d 0a 20  onationLevel;.. 
e060: 20 53 45 43 55 52 49 54 59 5f 43 4f 4e 54 45 58   SECURITY_CONTEX
e070: 54 5f 54 52 41 43 4b 49 4e 47 5f 4d 4f 44 45 20  T_TRACKING_MODE 
e080: 43 6f 6e 74 65 78 74 54 72 61 63 6b 69 6e 67 4d  ContextTrackingM
e090: 6f 64 65 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ode;..  BOOLEAN 
e0a0: 45 66 66 65 63 74 69 76 65 4f 6e 6c 79 3b 0d 0a  EffectiveOnly;..
e0b0: 7d 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55 52 49  }..alias _SECURI
e0c0: 54 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45  TY_QUALITY_OF_SE
e0d0: 52 56 49 43 45 20 53 45 43 55 52 49 54 59 5f 51  RVICE SECURITY_Q
e0e0: 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43  UALITY_OF_SERVIC
e0f0: 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55 52  E;..alias _SECUR
e100: 49 54 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53  ITY_QUALITY_OF_S
e110: 45 52 56 49 43 45 2a 20 50 53 45 43 55 52 49 54  ERVICE* PSECURIT
e120: 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52  Y_QUALITY_OF_SER
e130: 56 49 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  VICE;....struct 
e140: 5f 53 45 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f  _SE_IMPERSONATIO
e150: 4e 5f 53 54 41 54 45 20 7b 0d 0a 20 20 50 41 43  N_STATE {..  PAC
e160: 43 45 53 53 5f 54 4f 4b 45 4e 20 54 6f 6b 65 6e  CESS_TOKEN Token
e170: 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 43 6f 70  ;..  BOOLEAN Cop
e180: 79 4f 6e 4f 70 65 6e 3b 0d 0a 20 20 42 4f 4f 4c  yOnOpen;..  BOOL
e190: 45 41 4e 20 45 66 66 65 63 74 69 76 65 4f 6e 6c  EAN EffectiveOnl
e1a0: 79 3b 0d 0a 20 20 53 45 43 55 52 49 54 59 5f 49  y;..  SECURITY_I
e1b0: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56  MPERSONATION_LEV
e1c0: 45 4c 20 4c 65 76 65 6c 3b 0d 0a 7d 0d 0a 61 6c  EL Level;..}..al
e1d0: 69 61 73 20 5f 53 45 5f 49 4d 50 45 52 53 4f 4e  ias _SE_IMPERSON
e1e0: 41 54 49 4f 4e 5f 53 54 41 54 45 20 53 45 5f 49  ATION_STATE SE_I
e1f0: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 53 54 41  MPERSONATION_STA
e200: 54 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 45 5f 49  TE;..alias _SE_I
e210: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 53 54 41  MPERSONATION_STA
e220: 54 45 2a 20 50 53 45 5f 49 4d 50 45 52 53 4f 4e  TE* PSE_IMPERSON
e230: 41 54 49 4f 4e 5f 53 54 41 54 45 3b 0d 0a 0d 0a  ATION_STATE;....
e240: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49  enum : uint { DI
e250: 53 41 42 4c 45 5f 4d 41 58 5f 50 52 49 56 49 4c  SABLE_MAX_PRIVIL
e260: 45 47 45 20 3d 20 30 78 31 20 7d 0d 0a 65 6e 75  EGE = 0x1 }..enu
e270: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 41 4e 44 42  m : uint { SANDB
e280: 4f 58 5f 49 4e 45 52 54 20 3d 20 30 78 32 20 7d  OX_INERT = 0x2 }
e290: 0d 0a 0d 0a 61 6c 69 61 73 20 44 57 4f 52 44 20  ....alias DWORD 
e2a0: 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41  SECURITY_INFORMA
e2b0: 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 44 57 4f  TION;..alias DWO
e2c0: 52 44 2a 20 50 53 45 43 55 52 49 54 59 5f 49 4e  RD* PSECURITY_IN
e2d0: 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e  FORMATION;....en
e2e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 57 4e 45  um : uint { OWNE
e2f0: 52 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52  R_SECURITY_INFOR
e300: 4d 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  MATION = 0x00000
e310: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
e320: 6e 74 20 7b 20 47 52 4f 55 50 5f 53 45 43 55 52  nt { GROUP_SECUR
e330: 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ITY_INFORMATION 
e340: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
e350: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 41  enum : uint { DA
e360: 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f  CL_SECURITY_INFO
e370: 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30  RMATION = 0x0000
e380: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
e390: 69 6e 74 20 7b 20 53 41 43 4c 5f 53 45 43 55 52  int { SACL_SECUR
e3a0: 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ITY_INFORMATION 
e3b0: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
e3c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e3d0: 50 52 4f 54 45 43 54 45 44 5f 44 41 43 4c 5f 53  PROTECTED_DACL_S
e3e0: 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54  ECURITY_INFORMAT
e3f0: 49 4f 4e 20 3d 20 30 78 38 30 30 30 30 30 30 30  ION = 0x80000000
e400: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e410: 7b 20 50 52 4f 54 45 43 54 45 44 5f 53 41 43 4c  { PROTECTED_SACL
e420: 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d  _SECURITY_INFORM
e430: 41 54 49 4f 4e 20 3d 20 30 78 34 30 30 30 30 30  ATION = 0x400000
e440: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
e450: 74 20 7b 20 55 4e 50 52 4f 54 45 43 54 45 44 5f  t { UNPROTECTED_
e460: 44 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e  DACL_SECURITY_IN
e470: 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 78 32 30  FORMATION = 0x20
e480: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
e490: 20 75 69 6e 74 20 7b 20 55 4e 50 52 4f 54 45 43   uint { UNPROTEC
e4a0: 54 45 44 5f 53 41 43 4c 5f 53 45 43 55 52 49 54  TED_SACL_SECURIT
e4b0: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  Y_INFORMATION = 
e4c0: 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x10000000 }....
e4d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
e4e0: 4f 43 45 53 53 5f 54 45 52 4d 49 4e 41 54 45 20  OCESS_TERMINATE 
e4f0: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
e500: 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
e510: 53 5f 43 52 45 41 54 45 5f 54 48 52 45 41 44 20  S_CREATE_THREAD 
e520: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
e530: 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
e540: 53 5f 53 45 54 5f 53 45 53 53 49 4f 4e 49 44 20  S_SET_SESSIONID 
e550: 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
e560: 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
e570: 53 5f 56 4d 5f 4f 50 45 52 41 54 49 4f 4e 20 3d  S_VM_OPERATION =
e580: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
e590: 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
e5a0: 5f 56 4d 5f 52 45 41 44 20 3d 20 30 78 30 30 31  _VM_READ = 0x001
e5b0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
e5c0: 20 7b 20 50 52 4f 43 45 53 53 5f 56 4d 5f 57 52   { PROCESS_VM_WR
e5d0: 49 54 45 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  ITE = 0x0020 }..
e5e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
e5f0: 4f 43 45 53 53 5f 44 55 50 5f 48 41 4e 44 4c 45  OCESS_DUP_HANDLE
e600: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
e610: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45  m : uint { PROCE
e620: 53 53 5f 43 52 45 41 54 45 5f 50 52 4f 43 45 53  SS_CREATE_PROCES
e630: 53 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e  S = 0x0080 }..en
e640: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43  um : uint { PROC
e650: 45 53 53 5f 53 45 54 5f 51 55 4f 54 41 20 3d 20  ESS_SET_QUOTA = 
e660: 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0100 }..enum :
e670: 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f   uint { PROCESS_
e680: 53 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  SET_INFORMATION 
e690: 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0200 }..enum
e6a0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
e6b0: 53 5f 51 55 45 52 59 5f 49 4e 46 4f 52 4d 41 54  S_QUERY_INFORMAT
e6c0: 49 4f 4e 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a  ION = 0x0400 }..
e6d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
e6e0: 4f 43 45 53 53 5f 53 55 53 50 45 4e 44 5f 52 45  OCESS_SUSPEND_RE
e6f0: 53 55 4d 45 20 3d 20 30 78 30 38 30 30 20 7d 0d  SUME = 0x0800 }.
e700: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
e710: 52 4f 43 45 53 53 5f 41 4c 4c 5f 41 43 43 45 53  ROCESS_ALL_ACCES
e720: 53 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47  S = STANDARD_RIG
e730: 48 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53  HTS_REQUIRED | S
e740: 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 30 78 46  YNCHRONIZE | 0xF
e750: 46 46 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64  FF }....// #if d
e760: 65 66 69 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a  efined(_WIN64)..
e770: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
e780: 23 65 6c 73 65 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  #else....enum : 
e790: 75 69 6e 74 20 7b 20 4d 41 58 49 4d 55 4d 5f 50  uint { MAXIMUM_P
e7a0: 52 4f 43 45 53 53 4f 52 53 20 3d 20 33 32 20 7d  ROCESSORS = 32 }
e7b0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
e7c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e7d0: 48 52 45 41 44 5f 54 45 52 4d 49 4e 41 54 45 20  HREAD_TERMINATE 
e7e0: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
e7f0: 20 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44   : uint { THREAD
e800: 5f 53 55 53 50 45 4e 44 5f 52 45 53 55 4d 45 20  _SUSPEND_RESUME 
e810: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
e820: 20 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44   : uint { THREAD
e830: 5f 47 45 54 5f 43 4f 4e 54 45 58 54 20 3d 20 30  _GET_CONTEXT = 0
e840: 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
e850: 75 69 6e 74 20 7b 20 54 48 52 45 41 44 5f 53 45  uint { THREAD_SE
e860: 54 5f 43 4f 4e 54 45 58 54 20 3d 20 30 78 30 30  T_CONTEXT = 0x00
e870: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
e880: 74 20 7b 20 54 48 52 45 41 44 5f 53 45 54 5f 49  t { THREAD_SET_I
e890: 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30  NFORMATION = 0x0
e8a0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
e8b0: 6e 74 20 7b 20 54 48 52 45 41 44 5f 51 55 45 52  nt { THREAD_QUER
e8c0: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  Y_INFORMATION = 
e8d0: 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0040 }..enum :
e8e0: 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44 5f 53   uint { THREAD_S
e8f0: 45 54 5f 54 48 52 45 41 44 5f 54 4f 4b 45 4e 20  ET_THREAD_TOKEN 
e900: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
e910: 20 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44   : uint { THREAD
e920: 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20 3d 20 30  _IMPERSONATE = 0
e930: 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
e940: 75 69 6e 74 20 7b 20 54 48 52 45 41 44 5f 44 49  uint { THREAD_DI
e950: 52 45 43 54 5f 49 4d 50 45 52 53 4f 4e 41 54 49  RECT_IMPERSONATI
e960: 4f 4e 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 0d  ON = 0x0200 }...
e970: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e980: 48 52 45 41 44 5f 41 4c 4c 5f 41 43 43 45 53 53  HREAD_ALL_ACCESS
e990: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
e9a0: 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53 59  TS_REQUIRED | SY
e9b0: 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 30 78 33 46  NCHRONIZE | 0x3F
e9c0: 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
e9d0: 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
e9e0: 41 53 53 49 47 4e 5f 50 52 4f 43 45 53 53 20 3d  ASSIGN_PROCESS =
e9f0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
ea00: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
ea10: 45 43 54 5f 53 45 54 5f 41 54 54 52 49 42 55 54  ECT_SET_ATTRIBUT
ea20: 45 53 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  ES = 0x0002 }..e
ea30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
ea40: 5f 4f 42 4a 45 43 54 5f 51 55 45 52 59 20 3d 20  _OBJECT_QUERY = 
ea50: 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
ea60: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45   uint { JOB_OBJE
ea70: 43 54 5f 54 45 52 4d 49 4e 41 54 45 20 3d 20 30  CT_TERMINATE = 0
ea80: 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
ea90: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
eaa0: 54 5f 53 45 54 5f 53 45 43 55 52 49 54 59 5f 41  T_SET_SECURITY_A
eab0: 54 54 52 49 42 55 54 45 53 20 3d 20 30 78 30 30  TTRIBUTES = 0x00
eac0: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
ead0: 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 41  t { JOB_OBJECT_A
eae0: 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41 4e  LL_ACCESS = STAN
eaf0: 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55  DARD_RIGHTS_REQU
eb00: 49 52 45 44 20 7c 20 53 59 4e 43 48 52 4f 4e 49  IRED | SYNCHRONI
eb10: 5a 45 20 7c 20 30 78 31 46 20 20 7d 0d 0a 0d 0a  ZE | 0x1F  }....
eb20: 73 74 72 75 63 74 20 5f 4a 4f 42 5f 53 45 54 5f  struct _JOB_SET_
eb30: 41 52 52 41 59 20 7b 0d 0a 20 20 48 41 4e 44 4c  ARRAY {..  HANDL
eb40: 45 20 4a 6f 62 48 61 6e 64 6c 65 3b 0d 0a 20 20  E JobHandle;..  
eb50: 44 57 4f 52 44 20 4d 65 6d 62 65 72 4c 65 76 65  DWORD MemberLeve
eb60: 6c 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67  l;..  DWORD Flag
eb70: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f  s;..}..alias _JO
eb80: 42 5f 53 45 54 5f 41 52 52 41 59 20 4a 4f 42 5f  B_SET_ARRAY JOB_
eb90: 53 45 54 5f 41 52 52 41 59 3b 0d 0a 61 6c 69 61  SET_ARRAY;..alia
eba0: 73 20 5f 4a 4f 42 5f 53 45 54 5f 41 52 52 41 59  s _JOB_SET_ARRAY
ebb0: 2a 20 50 4a 4f 42 5f 53 45 54 5f 41 52 52 41 59  * PJOB_SET_ARRAY
ebc0: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
ebd0: 20 7b 20 54 4c 53 5f 4d 49 4e 49 4d 55 4d 5f 41   { TLS_MINIMUM_A
ebe0: 56 41 49 4c 41 42 4c 45 20 3d 20 36 34 20 7d 0d  VAILABLE = 64 }.
ebf0: 0a 0d 0a 73 74 72 75 63 74 20 5f 4e 54 5f 54 49  ...struct _NT_TI
ec00: 42 20 7b 0d 0a 20 20 5f 45 58 43 45 50 54 49 4f  B {..  _EXCEPTIO
ec10: 4e 5f 52 45 47 49 53 54 52 41 54 49 4f 4e 5f 52  N_REGISTRATION_R
ec20: 45 43 4f 52 44 20 2a 45 78 63 65 70 74 69 6f 6e  ECORD *Exception
ec30: 4c 69 73 74 3b 0d 0a 20 20 50 56 4f 49 44 20 53  List;..  PVOID S
ec40: 74 61 63 6b 42 61 73 65 3b 0d 0a 20 20 50 56 4f  tackBase;..  PVO
ec50: 49 44 20 53 74 61 63 6b 4c 69 6d 69 74 3b 0d 0a  ID StackLimit;..
ec60: 20 20 50 56 4f 49 44 20 53 75 62 53 79 73 74 65    PVOID SubSyste
ec70: 6d 54 69 62 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a  mTib;..union {..
ec80: 20 20 50 56 4f 49 44 20 46 69 62 65 72 44 61 74    PVOID FiberDat
ec90: 61 3b 0d 0a 20 20 44 57 4f 52 44 20 56 65 72 73  a;..  DWORD Vers
eca0: 69 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 20 20 50 56 4f  ion;..}....  PVO
ecb0: 49 44 20 41 72 62 69 74 72 61 72 79 55 73 65 72  ID ArbitraryUser
ecc0: 50 6f 69 6e 74 65 72 3b 0d 0a 20 20 5f 4e 54 5f  Pointer;..  _NT_
ecd0: 54 49 42 20 2a 53 65 6c 66 3b 0d 0a 7d 0d 0a 61  TIB *Self;..}..a
ece0: 6c 69 61 73 20 5f 4e 54 5f 54 49 42 20 4e 54 5f  lias _NT_TIB NT_
ecf0: 54 49 42 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4e 54  TIB;....alias NT
ed00: 5f 54 49 42 2a 20 50 4e 54 5f 54 49 42 3b 0d 0a  _TIB* PNT_TIB;..
ed10: 0d 0a 73 74 72 75 63 74 20 5f 4e 54 5f 54 49 42  ..struct _NT_TIB
ed20: 33 32 20 7b 0d 0a 20 20 44 57 4f 52 44 20 45 78  32 {..  DWORD Ex
ed30: 63 65 70 74 69 6f 6e 4c 69 73 74 3b 0d 0a 20 20  ceptionList;..  
ed40: 44 57 4f 52 44 20 53 74 61 63 6b 42 61 73 65 3b  DWORD StackBase;
ed50: 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 63 6b 4c  ..  DWORD StackL
ed60: 69 6d 69 74 3b 0d 0a 20 20 44 57 4f 52 44 20 53  imit;..  DWORD S
ed70: 75 62 53 79 73 74 65 6d 54 69 62 3b 0d 0a 75 6e  ubSystemTib;..un
ed80: 69 6f 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 46  ion {..  DWORD F
ed90: 69 62 65 72 44 61 74 61 3b 0d 0a 20 20 44 57 4f  iberData;..  DWO
eda0: 52 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 7d 0d 0a  RD Version;..}..
edb0: 0d 0a 20 20 44 57 4f 52 44 20 41 72 62 69 74 72  ..  DWORD Arbitr
edc0: 61 72 79 55 73 65 72 50 6f 69 6e 74 65 72 3b 0d  aryUserPointer;.
edd0: 0a 20 20 44 57 4f 52 44 20 53 65 6c 66 3b 0d 0a  .  DWORD Self;..
ede0: 7d 0d 0a 61 6c 69 61 73 20 5f 4e 54 5f 54 49 42  }..alias _NT_TIB
edf0: 33 32 20 4e 54 5f 54 49 42 33 32 3b 0d 0a 61 6c  32 NT_TIB32;..al
ee00: 69 61 73 20 5f 4e 54 5f 54 49 42 33 32 2a 20 50  ias _NT_TIB32* P
ee10: 4e 54 5f 54 49 42 33 32 3b 0d 0a 0d 0a 73 74 72  NT_TIB32;....str
ee20: 75 63 74 20 5f 4e 54 5f 54 49 42 36 34 20 7b 0d  uct _NT_TIB64 {.
ee30: 0a 20 20 44 57 4f 52 44 36 34 20 45 78 63 65 70  .  DWORD64 Excep
ee40: 74 69 6f 6e 4c 69 73 74 3b 0d 0a 20 20 44 57 4f  tionList;..  DWO
ee50: 52 44 36 34 20 53 74 61 63 6b 42 61 73 65 3b 0d  RD64 StackBase;.
ee60: 0a 20 20 44 57 4f 52 44 36 34 20 53 74 61 63 6b  .  DWORD64 Stack
ee70: 4c 69 6d 69 74 3b 0d 0a 20 20 44 57 4f 52 44 36  Limit;..  DWORD6
ee80: 34 20 53 75 62 53 79 73 74 65 6d 54 69 62 3b 0d  4 SubSystemTib;.
ee90: 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 44 57 4f 52  .union {..  DWOR
eea0: 44 36 34 20 46 69 62 65 72 44 61 74 61 3b 0d 0a  D64 FiberData;..
eeb0: 20 20 44 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b    DWORD Version;
eec0: 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 36 34  ..}....  DWORD64
eed0: 20 41 72 62 69 74 72 61 72 79 55 73 65 72 50 6f   ArbitraryUserPo
eee0: 69 6e 74 65 72 3b 0d 0a 20 20 44 57 4f 52 44 36  inter;..  DWORD6
eef0: 34 20 53 65 6c 66 3b 0d 0a 7d 0d 0a 61 6c 69 61  4 Self;..}..alia
ef00: 73 20 5f 4e 54 5f 54 49 42 36 34 20 4e 54 5f 54  s _NT_TIB64 NT_T
ef10: 49 42 36 34 3b 0d 0a 61 6c 69 61 73 20 5f 4e 54  IB64;..alias _NT
ef20: 5f 54 49 42 36 34 2a 20 50 4e 54 5f 54 49 42 36  _TIB64* PNT_TIB6
ef30: 34 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65  4;....// #if !de
ef40: 66 69 6e 65 64 28 5f 58 38 36 5f 29 20 26 26 20  fined(_X86_) && 
ef50: 21 64 65 66 69 6e 65 64 28 5f 49 41 36 34 5f 29  !defined(_IA64_)
ef60: 20 26 26 20 21 64 65 66 69 6e 65 64 28 5f 41 4d   && !defined(_AM
ef70: 44 36 34 5f 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  D64_)..// #.....
ef80: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
ef90: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41  m : uint { THREA
efa0: 44 5f 42 41 53 45 5f 50 52 49 4f 52 49 54 59 5f  D_BASE_PRIORITY_
efb0: 4c 4f 57 52 54 20 3d 20 31 35 20 7d 0d 0a 65 6e  LOWRT = 15 }..en
efc0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 48 52 45  um : uint { THRE
efd0: 41 44 5f 42 41 53 45 5f 50 52 49 4f 52 49 54 59  AD_BASE_PRIORITY
efe0: 5f 4d 41 58 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  _MAX = 2 }..enum
eff0: 20 7b 20 54 48 52 45 41 44 5f 42 41 53 45 5f 50   { THREAD_BASE_P
f000: 52 49 4f 52 49 54 59 5f 4d 49 4e 20 3d 20 2d 32  RIORITY_MIN = -2
f010: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 54 48 52 45 41   }..enum { THREA
f020: 44 5f 42 41 53 45 5f 50 52 49 4f 52 49 54 59 5f  D_BASE_PRIORITY_
f030: 49 44 4c 45 20 3d 20 2d 31 35 20 7d 0d 0a 0d 0a  IDLE = -15 }....
f040: 73 74 72 75 63 74 20 5f 51 55 4f 54 41 5f 4c 49  struct _QUOTA_LI
f050: 4d 49 54 53 20 7b 0d 0a 20 20 53 49 5a 45 5f 54  MITS {..  SIZE_T
f060: 20 50 61 67 65 64 50 6f 6f 6c 4c 69 6d 69 74 3b   PagedPoolLimit;
f070: 0d 0a 20 20 53 49 5a 45 5f 54 20 4e 6f 6e 50 61  ..  SIZE_T NonPa
f080: 67 65 64 50 6f 6f 6c 4c 69 6d 69 74 3b 0d 0a 20  gedPoolLimit;.. 
f090: 20 53 49 5a 45 5f 54 20 4d 69 6e 69 6d 75 6d 57   SIZE_T MinimumW
f0a0: 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 3b 0d 0a  orkingSetSize;..
f0b0: 20 20 53 49 5a 45 5f 54 20 4d 61 78 69 6d 75 6d    SIZE_T Maximum
f0c0: 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 3b 0d  WorkingSetSize;.
f0d0: 0a 20 20 53 49 5a 45 5f 54 20 50 61 67 65 66 69  .  SIZE_T Pagefi
f0e0: 6c 65 4c 69 6d 69 74 3b 0d 0a 20 20 4c 41 52 47  leLimit;..  LARG
f0f0: 45 5f 49 4e 54 45 47 45 52 20 54 69 6d 65 4c 69  E_INTEGER TimeLi
f100: 6d 69 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  mit;..}..alias _
f110: 51 55 4f 54 41 5f 4c 49 4d 49 54 53 20 51 55 4f  QUOTA_LIMITS QUO
f120: 54 41 5f 4c 49 4d 49 54 53 3b 0d 0a 0d 0a 61 6c  TA_LIMITS;....al
f130: 69 61 73 20 51 55 4f 54 41 5f 4c 49 4d 49 54 53  ias QUOTA_LIMITS
f140: 2a 20 50 51 55 4f 54 41 5f 4c 49 4d 49 54 53 3b  * PQUOTA_LIMITS;
f150: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4f 5f 43  ....struct _IO_C
f160: 4f 55 4e 54 45 52 53 20 7b 0d 0a 20 20 55 4c 4f  OUNTERS {..  ULO
f170: 4e 47 4c 4f 4e 47 20 52 65 61 64 4f 70 65 72 61  NGLONG ReadOpera
f180: 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 55 4c  tionCount;..  UL
f190: 4f 4e 47 4c 4f 4e 47 20 57 72 69 74 65 4f 70 65  ONGLONG WriteOpe
f1a0: 72 61 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20  rationCount;..  
f1b0: 55 4c 4f 4e 47 4c 4f 4e 47 20 4f 74 68 65 72 4f  ULONGLONG OtherO
f1c0: 70 65 72 61 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a  perationCount;..
f1d0: 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 52 65 61 64    ULONGLONG Read
f1e0: 54 72 61 6e 73 66 65 72 43 6f 75 6e 74 3b 0d 0a  TransferCount;..
f1f0: 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 57 72 69 74    ULONGLONG Writ
f200: 65 54 72 61 6e 73 66 65 72 43 6f 75 6e 74 3b 0d  eTransferCount;.
f210: 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 4f 74 68  .  ULONGLONG Oth
f220: 65 72 54 72 61 6e 73 66 65 72 43 6f 75 6e 74 3b  erTransferCount;
f230: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4f 5f 43  ..}..alias _IO_C
f240: 4f 55 4e 54 45 52 53 20 49 4f 5f 43 4f 55 4e 54  OUNTERS IO_COUNT
f250: 45 52 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4f  ERS;....alias IO
f260: 5f 43 4f 55 4e 54 45 52 53 2a 20 50 49 4f 5f 43  _COUNTERS* PIO_C
f270: 4f 55 4e 54 45 52 53 3b 0d 0a 0d 0a 73 74 72 75  OUNTERS;....stru
f280: 63 74 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  ct _JOBOBJECT_BA
f290: 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49  SIC_ACCOUNTING_I
f2a0: 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20  NFORMATION {..  
f2b0: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 54 6f  LARGE_INTEGER To
f2c0: 74 61 6c 55 73 65 72 54 69 6d 65 3b 0d 0a 20 20  talUserTime;..  
f2d0: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 54 6f  LARGE_INTEGER To
f2e0: 74 61 6c 4b 65 72 6e 65 6c 54 69 6d 65 3b 0d 0a  talKernelTime;..
f2f0: 20 20 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20    LARGE_INTEGER 
f300: 54 68 69 73 50 65 72 69 6f 64 54 6f 74 61 6c 55  ThisPeriodTotalU
f310: 73 65 72 54 69 6d 65 3b 0d 0a 20 20 4c 41 52 47  serTime;..  LARG
f320: 45 5f 49 4e 54 45 47 45 52 20 54 68 69 73 50 65  E_INTEGER ThisPe
f330: 72 69 6f 64 54 6f 74 61 6c 4b 65 72 6e 65 6c 54  riodTotalKernelT
f340: 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 54 6f  ime;..  DWORD To
f350: 74 61 6c 50 61 67 65 46 61 75 6c 74 43 6f 75 6e  talPageFaultCoun
f360: 74 3b 0d 0a 20 20 44 57 4f 52 44 20 54 6f 74 61  t;..  DWORD Tota
f370: 6c 50 72 6f 63 65 73 73 65 73 3b 0d 0a 20 20 44  lProcesses;..  D
f380: 57 4f 52 44 20 41 63 74 69 76 65 50 72 6f 63 65  WORD ActiveProce
f390: 73 73 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 54  sses;..  DWORD T
f3a0: 6f 74 61 6c 54 65 72 6d 69 6e 61 74 65 64 50 72  otalTerminatedPr
f3b0: 6f 63 65 73 73 65 73 3b 0d 0a 7d 0d 0a 61 6c 69  ocesses;..}..ali
f3c0: 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  as _JOBOBJECT_BA
f3d0: 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49  SIC_ACCOUNTING_I
f3e0: 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a 4f 42 4f 42  NFORMATION JOBOB
f3f0: 4a 45 43 54 5f 42 41 53 49 43 5f 41 43 43 4f 55  JECT_BASIC_ACCOU
f400: 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f  NTING_INFORMATIO
f410: 4e 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42  N;..alias _JOBOB
f420: 4a 45 43 54 5f 42 41 53 49 43 5f 41 43 43 4f 55  JECT_BASIC_ACCOU
f430: 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f  NTING_INFORMATIO
f440: 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  N* PJOBOBJECT_BA
f450: 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49  SIC_ACCOUNTING_I
f460: 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 73  NFORMATION;....s
f470: 74 72 75 63 74 20 5f 4a 4f 42 4f 42 4a 45 43 54  truct _JOBOBJECT
f480: 5f 42 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46  _BASIC_LIMIT_INF
f490: 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 4c 41  ORMATION {..  LA
f4a0: 52 47 45 5f 49 4e 54 45 47 45 52 20 50 65 72 50  RGE_INTEGER PerP
f4b0: 72 6f 63 65 73 73 55 73 65 72 54 69 6d 65 4c 69  rocessUserTimeLi
f4c0: 6d 69 74 3b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e  mit;..  LARGE_IN
f4d0: 54 45 47 45 52 20 50 65 72 4a 6f 62 55 73 65 72  TEGER PerJobUser
f4e0: 54 69 6d 65 4c 69 6d 69 74 3b 0d 0a 20 20 44 57  TimeLimit;..  DW
f4f0: 4f 52 44 20 4c 69 6d 69 74 46 6c 61 67 73 3b 0d  ORD LimitFlags;.
f500: 0a 20 20 53 49 5a 45 5f 54 20 4d 69 6e 69 6d 75  .  SIZE_T Minimu
f510: 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 3b  mWorkingSetSize;
f520: 0d 0a 20 20 53 49 5a 45 5f 54 20 4d 61 78 69 6d  ..  SIZE_T Maxim
f530: 75 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65  umWorkingSetSize
f540: 3b 0d 0a 20 20 44 57 4f 52 44 20 41 63 74 69 76  ;..  DWORD Activ
f550: 65 50 72 6f 63 65 73 73 4c 69 6d 69 74 3b 0d 0a  eProcessLimit;..
f560: 20 20 55 4c 4f 4e 47 5f 50 54 52 20 41 66 66 69    ULONG_PTR Affi
f570: 6e 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20 50  nity;..  DWORD P
f580: 72 69 6f 72 69 74 79 43 6c 61 73 73 3b 0d 0a 20  riorityClass;.. 
f590: 20 44 57 4f 52 44 20 53 63 68 65 64 75 6c 69 6e   DWORD Schedulin
f5a0: 67 43 6c 61 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61  gClass;..}..alia
f5b0: 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53  s _JOBOBJECT_BAS
f5c0: 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  IC_LIMIT_INFORMA
f5d0: 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45 43 54 5f 42  TION JOBOBJECT_B
f5e0: 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52  ASIC_LIMIT_INFOR
f5f0: 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f  MATION;..alias _
f600: 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
f610: 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  LIMIT_INFORMATIO
f620: 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  N* PJOBOBJECT_BA
f630: 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d  SIC_LIMIT_INFORM
f640: 41 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  ATION;....struct
f650: 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 45 58 54 45   _JOBOBJECT_EXTE
f660: 4e 44 45 44 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52  NDED_LIMIT_INFOR
f670: 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 4a 4f 42 4f  MATION {..  JOBO
f680: 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d 49  BJECT_BASIC_LIMI
f690: 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 42 61  T_INFORMATION Ba
f6a0: 73 69 63 4c 69 6d 69 74 49 6e 66 6f 72 6d 61 74  sicLimitInformat
f6b0: 69 6f 6e 3b 0d 0a 20 20 49 4f 5f 43 4f 55 4e 54  ion;..  IO_COUNT
f6c0: 45 52 53 20 49 6f 49 6e 66 6f 3b 0d 0a 20 20 53  ERS IoInfo;..  S
f6d0: 49 5a 45 5f 54 20 50 72 6f 63 65 73 73 4d 65 6d  IZE_T ProcessMem
f6e0: 6f 72 79 4c 69 6d 69 74 3b 0d 0a 20 20 53 49 5a  oryLimit;..  SIZ
f6f0: 45 5f 54 20 4a 6f 62 4d 65 6d 6f 72 79 4c 69 6d  E_T JobMemoryLim
f700: 69 74 3b 0d 0a 20 20 53 49 5a 45 5f 54 20 50 65  it;..  SIZE_T Pe
f710: 61 6b 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 55  akProcessMemoryU
f720: 73 65 64 3b 0d 0a 20 20 53 49 5a 45 5f 54 20 50  sed;..  SIZE_T P
f730: 65 61 6b 4a 6f 62 4d 65 6d 6f 72 79 55 73 65 64  eakJobMemoryUsed
f740: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ;..}..alias _JOB
f750: 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f  OBJECT_EXTENDED_
f760: 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f  LIMIT_INFORMATIO
f770: 4e 20 4a 4f 42 4f 42 4a 45 43 54 5f 45 58 54 45  N JOBOBJECT_EXTE
f780: 4e 44 45 44 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52  NDED_LIMIT_INFOR
f790: 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f  MATION;..alias _
f7a0: 4a 4f 42 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44  JOBOBJECT_EXTEND
f7b0: 45 44 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  ED_LIMIT_INFORMA
f7c0: 54 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54  TION* PJOBOBJECT
f7d0: 5f 45 58 54 45 4e 44 45 44 5f 4c 49 4d 49 54 5f  _EXTENDED_LIMIT_
f7e0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a  INFORMATION;....
f7f0: 73 74 72 75 63 74 20 5f 4a 4f 42 4f 42 4a 45 43  struct _JOBOBJEC
f800: 54 5f 42 41 53 49 43 5f 50 52 4f 43 45 53 53 5f  T_BASIC_PROCESS_
f810: 49 44 5f 4c 49 53 54 20 7b 0d 0a 20 20 44 57 4f  ID_LIST {..  DWO
f820: 52 44 20 4e 75 6d 62 65 72 4f 66 41 73 73 69 67  RD NumberOfAssig
f830: 6e 65 64 50 72 6f 63 65 73 73 65 73 3b 0d 0a 20  nedProcesses;.. 
f840: 20 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 50   DWORD NumberOfP
f850: 72 6f 63 65 73 73 49 64 73 49 6e 4c 69 73 74 3b  rocessIdsInList;
f860: 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 50 72  ..  ULONG_PTR Pr
f870: 6f 63 65 73 73 49 64 4c 69 73 74 5b 31 5d 3b 0d  ocessIdList[1];.
f880: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42  .}..alias _JOBOB
f890: 4a 45 43 54 5f 42 41 53 49 43 5f 50 52 4f 43 45  JECT_BASIC_PROCE
f8a0: 53 53 5f 49 44 5f 4c 49 53 54 20 4a 4f 42 4f 42  SS_ID_LIST JOBOB
f8b0: 4a 45 43 54 5f 42 41 53 49 43 5f 50 52 4f 43 45  JECT_BASIC_PROCE
f8c0: 53 53 5f 49 44 5f 4c 49 53 54 3b 0d 0a 61 6c 69  SS_ID_LIST;..ali
f8d0: 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  as _JOBOBJECT_BA
f8e0: 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f 4c  SIC_PROCESS_ID_L
f8f0: 49 53 54 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f  IST* PJOBOBJECT_
f900: 42 41 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44  BASIC_PROCESS_ID
f910: 5f 4c 49 53 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  _LIST;....struct
f920: 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49   _JOBOBJECT_BASI
f930: 43 5f 55 49 5f 52 45 53 54 52 49 43 54 49 4f 4e  C_UI_RESTRICTION
f940: 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 55 49 52  S {..  DWORD UIR
f950: 65 73 74 72 69 63 74 69 6f 6e 73 43 6c 61 73 73  estrictionsClass
f960: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ;..}..alias _JOB
f970: 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 55 49 5f  OBJECT_BASIC_UI_
f980: 52 45 53 54 52 49 43 54 49 4f 4e 53 20 4a 4f 42  RESTRICTIONS JOB
f990: 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 55 49 5f  OBJECT_BASIC_UI_
f9a0: 52 45 53 54 52 49 43 54 49 4f 4e 53 3b 0d 0a 61  RESTRICTIONS;..a
f9b0: 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f  lias _JOBOBJECT_
f9c0: 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49 43  BASIC_UI_RESTRIC
f9d0: 54 49 4f 4e 53 2a 20 50 4a 4f 42 4f 42 4a 45 43  TIONS* PJOBOBJEC
f9e0: 54 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52  T_BASIC_UI_RESTR
f9f0: 49 43 54 49 4f 4e 53 3b 0d 0a 0d 0a 73 74 72 75  ICTIONS;....stru
fa00: 63 74 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 53 45  ct _JOBOBJECT_SE
fa10: 43 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49 4e 46  CURITY_LIMIT_INF
fa20: 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 44 57  ORMATION {..  DW
fa30: 4f 52 44 20 53 65 63 75 72 69 74 79 4c 69 6d 69  ORD SecurityLimi
fa40: 74 46 6c 61 67 73 20 3b 0d 0a 20 20 48 41 4e 44  tFlags ;..  HAND
fa50: 4c 45 20 4a 6f 62 54 6f 6b 65 6e 20 3b 0d 0a 20  LE JobToken ;.. 
fa60: 20 50 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 20 53   PTOKEN_GROUPS S
fa70: 69 64 73 54 6f 44 69 73 61 62 6c 65 20 3b 0d 0a  idsToDisable ;..
fa80: 20 20 50 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45    PTOKEN_PRIVILE
fa90: 47 45 53 20 50 72 69 76 69 6c 65 67 65 73 54 6f  GES PrivilegesTo
faa0: 44 65 6c 65 74 65 20 3b 0d 0a 20 20 50 54 4f 4b  Delete ;..  PTOK
fab0: 45 4e 5f 47 52 4f 55 50 53 20 52 65 73 74 72 69  EN_GROUPS Restri
fac0: 63 74 65 64 53 69 64 73 20 3b 0d 0a 7d 0d 0a 61  ctedSids ;..}..a
fad0: 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f  lias _JOBOBJECT_
fae0: 53 45 43 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49  SECURITY_LIMIT_I
faf0: 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a 4f 42 4f 42  NFORMATION JOBOB
fb00: 4a 45 43 54 5f 53 45 43 55 52 49 54 59 5f 4c 49  JECT_SECURITY_LI
fb10: 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  MIT_INFORMATION;
fb20: 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45  ..alias _JOBOBJE
fb30: 43 54 5f 53 45 43 55 52 49 54 59 5f 4c 49 4d 49  CT_SECURITY_LIMI
fb40: 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50  T_INFORMATION* P
fb50: 4a 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49  JOBOBJECT_SECURI
fb60: 54 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  TY_LIMIT_INFORMA
fb70: 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TION;....struct 
fb80: 5f 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f  _JOBOBJECT_END_O
fb90: 46 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52  F_JOB_TIME_INFOR
fba0: 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52  MATION {..  DWOR
fbb0: 44 20 45 6e 64 4f 66 4a 6f 62 54 69 6d 65 41 63  D EndOfJobTimeAc
fbc0: 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tion;..}..alias 
fbd0: 5f 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f  _JOBOBJECT_END_O
fbe0: 46 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52  F_JOB_TIME_INFOR
fbf0: 4d 41 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45 43 54  MATION JOBOBJECT
fc00: 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45  _END_OF_JOB_TIME
fc10: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61  _INFORMATION;..a
fc20: 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f  lias _JOBOBJECT_
fc30: 45 4e 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45 5f  END_OF_JOB_TIME_
fc40: 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f  INFORMATION* PJO
fc50: 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46 5f 4a  BOBJECT_END_OF_J
fc60: 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d 41 54  OB_TIME_INFORMAT
fc70: 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ION;....struct _
fc80: 4a 4f 42 4f 42 4a 45 43 54 5f 41 53 53 4f 43 49  JOBOBJECT_ASSOCI
fc90: 41 54 45 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 50  ATE_COMPLETION_P
fca0: 4f 52 54 20 7b 0d 0a 20 20 50 56 4f 49 44 20 43  ORT {..  PVOID C
fcb0: 6f 6d 70 6c 65 74 69 6f 6e 4b 65 79 3b 0d 0a 20  ompletionKey;.. 
fcc0: 20 48 41 4e 44 4c 45 20 43 6f 6d 70 6c 65 74 69   HANDLE Completi
fcd0: 6f 6e 50 6f 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  onPort;..}..alia
fce0: 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 41 53 53  s _JOBOBJECT_ASS
fcf0: 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49 4f  OCIATE_COMPLETIO
fd00: 4e 5f 50 4f 52 54 20 4a 4f 42 4f 42 4a 45 43 54  N_PORT JOBOBJECT
fd10: 5f 41 53 53 4f 43 49 41 54 45 5f 43 4f 4d 50 4c  _ASSOCIATE_COMPL
fd20: 45 54 49 4f 4e 5f 50 4f 52 54 3b 0d 0a 61 6c 69  ETION_PORT;..ali
fd30: 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 41 53  as _JOBOBJECT_AS
fd40: 53 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49  SOCIATE_COMPLETI
fd50: 4f 4e 5f 50 4f 52 54 2a 20 50 4a 4f 42 4f 42 4a  ON_PORT* PJOBOBJ
fd60: 45 43 54 5f 41 53 53 4f 43 49 41 54 45 5f 43 4f  ECT_ASSOCIATE_CO
fd70: 4d 50 4c 45 54 49 4f 4e 5f 50 4f 52 54 3b 0d 0a  MPLETION_PORT;..
fd80: 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f 42 4a  ..struct _JOBOBJ
fd90: 45 43 54 5f 42 41 53 49 43 5f 41 4e 44 5f 49 4f  ECT_BASIC_AND_IO
fda0: 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f  _ACCOUNTING_INFO
fdb0: 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 4a 4f 42  RMATION {..  JOB
fdc0: 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43 43  OBJECT_BASIC_ACC
fdd0: 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
fde0: 49 4f 4e 20 42 61 73 69 63 49 6e 66 6f 3b 0d 0a  ION BasicInfo;..
fdf0: 20 20 49 4f 5f 43 4f 55 4e 54 45 52 53 20 49 6f    IO_COUNTERS Io
fe00: 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Info;..}..alias 
fe10: 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43  _JOBOBJECT_BASIC
fe20: 5f 41 4e 44 5f 49 4f 5f 41 43 43 4f 55 4e 54 49  _AND_IO_ACCOUNTI
fe30: 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a  NG_INFORMATION J
fe40: 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41  OBOBJECT_BASIC_A
fe50: 4e 44 5f 49 4f 5f 41 43 43 4f 55 4e 54 49 4e 47  ND_IO_ACCOUNTING
fe60: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61  _INFORMATION;..a
fe70: 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f  lias _JOBOBJECT_
fe80: 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43  BASIC_AND_IO_ACC
fe90: 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
fea0: 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f  ION* PJOBOBJECT_
feb0: 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43  BASIC_AND_IO_ACC
fec0: 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54  OUNTING_INFORMAT
fed0: 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ION;....struct _
fee0: 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54  JOBOBJECT_JOBSET
fef0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a  _INFORMATION {..
ff00: 20 20 44 57 4f 52 44 20 4d 65 6d 62 65 72 4c 65    DWORD MemberLe
ff10: 76 65 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  vel;..}..alias _
ff20: 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54  JOBOBJECT_JOBSET
ff30: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a 4f 42  _INFORMATION JOB
ff40: 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e  OBJECT_JOBSET_IN
ff50: 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61  FORMATION;..alia
ff60: 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42  s _JOBOBJECT_JOB
ff70: 53 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a  SET_INFORMATION*
ff80: 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42 53   PJOBOBJECT_JOBS
ff90: 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  ET_INFORMATION;.
ffa0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
ffb0: 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 54 45 52 4d   JOB_OBJECT_TERM
ffc0: 49 4e 41 54 45 5f 41 54 5f 45 4e 44 5f 4f 46 5f  INATE_AT_END_OF_
ffd0: 4a 4f 42 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  JOB = 0 }..enum 
ffe0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
fff0: 45 43 54 5f 50 4f 53 54 5f 41 54 5f 45 4e 44 5f  ECT_POST_AT_END_
10000 4f 46 5f 4a 4f 42 20 3d 20 31 20 7d 0d 0a 0d 0a  OF_JOB = 1 }....
10010 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
10020 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 45 4e 44  B_OBJECT_MSG_END
10030 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45 20 3d 20 31  _OF_JOB_TIME = 1
10040 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10050 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 47  { JOB_OBJECT_MSG
10060 5f 45 4e 44 5f 4f 46 5f 50 52 4f 43 45 53 53 5f  _END_OF_PROCESS_
10070 54 49 4d 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  TIME = 2 }..enum
10080 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10090 4a 45 43 54 5f 4d 53 47 5f 41 43 54 49 56 45 5f  JECT_MSG_ACTIVE_
100a0 50 52 4f 43 45 53 53 5f 4c 49 4d 49 54 20 3d 20  PROCESS_LIMIT = 
100b0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
100c0 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53   { JOB_OBJECT_MS
100d0 47 5f 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53  G_ACTIVE_PROCESS
100e0 5f 5a 45 52 4f 20 3d 20 34 20 7d 0d 0a 65 6e 75  _ZERO = 4 }..enu
100f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10100 42 4a 45 43 54 5f 4d 53 47 5f 4e 45 57 5f 50 52  BJECT_MSG_NEW_PR
10110 4f 43 45 53 53 20 3d 20 36 20 7d 0d 0a 65 6e 75  OCESS = 6 }..enu
10120 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10130 42 4a 45 43 54 5f 4d 53 47 5f 45 58 49 54 5f 50  BJECT_MSG_EXIT_P
10140 52 4f 43 45 53 53 20 3d 20 37 20 7d 0d 0a 65 6e  ROCESS = 7 }..en
10150 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
10160 4f 42 4a 45 43 54 5f 4d 53 47 5f 41 42 4e 4f 52  OBJECT_MSG_ABNOR
10170 4d 41 4c 5f 45 58 49 54 5f 50 52 4f 43 45 53 53  MAL_EXIT_PROCESS
10180 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 8 }..enum : u
10190 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54  int { JOB_OBJECT
101a0 5f 4d 53 47 5f 50 52 4f 43 45 53 53 5f 4d 45 4d  _MSG_PROCESS_MEM
101b0 4f 52 59 5f 4c 49 4d 49 54 20 3d 20 39 20 7d 0d  ORY_LIMIT = 9 }.
101c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
101d0 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 4a 4f  OB_OBJECT_MSG_JO
101e0 42 5f 4d 45 4d 4f 52 59 5f 4c 49 4d 49 54 20 3d  B_MEMORY_LIMIT =
101f0 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20   10 }....enum : 
10200 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10210 54 5f 4c 49 4d 49 54 5f 57 4f 52 4b 49 4e 47 53  T_LIMIT_WORKINGS
10220 45 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ET = 0x00000001 
10230 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10240 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49   JOB_OBJECT_LIMI
10250 54 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45 20 3d  T_PROCESS_TIME =
10260 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
10270 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
10280 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 4a 4f  _OBJECT_LIMIT_JO
10290 42 5f 54 49 4d 45 20 3d 20 30 78 30 30 30 30 30  B_TIME = 0x00000
102a0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
102b0 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
102c0 4c 49 4d 49 54 5f 41 43 54 49 56 45 5f 50 52 4f  LIMIT_ACTIVE_PRO
102d0 43 45 53 53 20 3d 20 30 78 30 30 30 30 30 30 30  CESS = 0x0000000
102e0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
102f0 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49   { JOB_OBJECT_LI
10300 4d 49 54 5f 41 46 46 49 4e 49 54 59 20 3d 20 30  MIT_AFFINITY = 0
10310 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
10320 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10330 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 50 52 49 4f  BJECT_LIMIT_PRIO
10340 52 49 54 59 5f 43 4c 41 53 53 20 3d 20 30 78 30  RITY_CLASS = 0x0
10350 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20  0000020 }..enum 
10360 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
10370 45 43 54 5f 4c 49 4d 49 54 5f 50 52 45 53 45 52  ECT_LIMIT_PRESER
10380 56 45 5f 4a 4f 42 5f 54 49 4d 45 20 3d 20 30 78  VE_JOB_TIME = 0x
10390 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
103a0 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
103b0 4a 45 43 54 5f 4c 49 4d 49 54 5f 53 43 48 45 44  JECT_LIMIT_SCHED
103c0 55 4c 49 4e 47 5f 43 4c 41 53 53 20 3d 20 30 78  ULING_CLASS = 0x
103d0 30 30 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e  00000080 }....en
103e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
103f0 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 50 52 4f  OBJECT_LIMIT_PRO
10400 43 45 53 53 5f 4d 45 4d 4f 52 59 20 3d 20 30 78  CESS_MEMORY = 0x
10410 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  00000100 }..enum
10420 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10430 4a 45 43 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 4d  JECT_LIMIT_JOB_M
10440 45 4d 4f 52 59 20 3d 20 30 78 30 30 30 30 30 32  EMORY = 0x000002
10450 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
10460 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  t { JOB_OBJECT_L
10470 49 4d 49 54 5f 44 49 45 5f 4f 4e 5f 55 4e 48 41  IMIT_DIE_ON_UNHA
10480 4e 44 4c 45 44 5f 45 58 43 45 50 54 49 4f 4e 20  NDLED_EXCEPTION 
10490 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
104a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
104b0 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 42  B_OBJECT_LIMIT_B
104c0 52 45 41 4b 41 57 41 59 5f 4f 4b 20 3d 20 30 78  REAKAWAY_OK = 0x
104d0 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  00000800 }..enum
104e0 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
104f0 4a 45 43 54 5f 4c 49 4d 49 54 5f 53 49 4c 45 4e  JECT_LIMIT_SILEN
10500 54 5f 42 52 45 41 4b 41 57 41 59 5f 4f 4b 20 3d  T_BREAKAWAY_OK =
10510 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65   0x00001000 }..e
10520 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
10530 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 4b 49  _OBJECT_LIMIT_KI
10540 4c 4c 5f 4f 4e 5f 4a 4f 42 5f 43 4c 4f 53 45 20  LL_ON_JOB_CLOSE 
10550 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d 0a  = 0x00002000 }..
10560 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10570 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54  JOB_OBJECT_LIMIT
10580 5f 52 45 53 45 52 56 45 44 32 20 3d 20 30 78 30  _RESERVED2 = 0x0
10590 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0004000 }..enum 
105a0 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
105b0 45 43 54 5f 4c 49 4d 49 54 5f 52 45 53 45 52 56  ECT_LIMIT_RESERV
105c0 45 44 33 20 3d 20 30 78 30 30 30 30 38 30 30 30  ED3 = 0x00008000
105d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
105e0 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d  { JOB_OBJECT_LIM
105f0 49 54 5f 52 45 53 45 52 56 45 44 34 20 3d 20 30  IT_RESERVED4 = 0
10600 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
10610 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10620 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 52 45 53 45  BJECT_LIMIT_RESE
10630 52 56 45 44 35 20 3d 20 30 78 30 30 30 32 30 30  RVED5 = 0x000200
10640 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
10650 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  t { JOB_OBJECT_L
10660 49 4d 49 54 5f 52 45 53 45 52 56 45 44 36 20 3d  IMIT_RESERVED6 =
10670 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 0d   0x00040000 }...
10680 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
10690 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f  OB_OBJECT_LIMIT_
106a0 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30 78  VALID_FLAGS = 0x
106b0 30 30 30 37 66 66 66 66 20 7d 0d 0a 0d 0a 65 6e  0007ffff }....en
106c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
106d0 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d  OBJECT_BASIC_LIM
106e0 49 54 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d  IT_VALID_FLAGS =
106f0 20 30 78 30 30 30 30 30 30 66 66 20 7d 0d 0a 65   0x000000ff }..e
10700 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
10710 5f 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44  _OBJECT_EXTENDED
10720 5f 4c 49 4d 49 54 5f 56 41 4c 49 44 5f 46 4c 41  _LIMIT_VALID_FLA
10730 47 53 20 3d 20 30 78 30 30 30 30 33 66 66 66 20  GS = 0x00003fff 
10740 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10750 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 52 45 53 45   JOB_OBJECT_RESE
10760 52 56 45 44 5f 4c 49 4d 49 54 5f 56 41 4c 49 44  RVED_LIMIT_VALID
10770 5f 46 4c 41 47 53 20 3d 20 30 78 30 30 30 37 66  _FLAGS = 0x0007f
10780 66 66 66 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  fff }....enum : 
10790 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
107a0 54 5f 55 49 4c 49 4d 49 54 5f 4e 4f 4e 45 20 3d  T_UILIMIT_NONE =
107b0 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x00000000 }...
107c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
107d0 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49  OB_OBJECT_UILIMI
107e0 54 5f 48 41 4e 44 4c 45 53 20 3d 20 30 78 30 30  T_HANDLES = 0x00
107f0 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
10800 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45   uint { JOB_OBJE
10810 43 54 5f 55 49 4c 49 4d 49 54 5f 52 45 41 44 43  CT_UILIMIT_READC
10820 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 30 30  LIPBOARD = 0x000
10830 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
10840 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10850 54 5f 55 49 4c 49 4d 49 54 5f 57 52 49 54 45 43  T_UILIMIT_WRITEC
10860 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 30 30  LIPBOARD = 0x000
10870 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
10880 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10890 54 5f 55 49 4c 49 4d 49 54 5f 53 59 53 54 45 4d  T_UILIMIT_SYSTEM
108a0 50 41 52 41 4d 45 54 45 52 53 20 3d 20 30 78 30  PARAMETERS = 0x0
108b0 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
108c0 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
108d0 45 43 54 5f 55 49 4c 49 4d 49 54 5f 44 49 53 50  ECT_UILIMIT_DISP
108e0 4c 41 59 53 45 54 54 49 4e 47 53 20 3d 20 30 78  LAYSETTINGS = 0x
108f0 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
10900 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10910 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f 47 4c 4f  JECT_UILIMIT_GLO
10920 42 41 4c 41 54 4f 4d 53 20 3d 20 30 78 30 30 30  BALATOMS = 0x000
10930 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
10940 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10950 54 5f 55 49 4c 49 4d 49 54 5f 44 45 53 4b 54 4f  T_UILIMIT_DESKTO
10960 50 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  P = 0x00000040 }
10970 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10980 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d  JOB_OBJECT_UILIM
10990 49 54 5f 45 58 49 54 57 49 4e 44 4f 57 53 20 3d  IT_EXITWINDOWS =
109a0 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 0d   0x00000080 }...
109b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
109c0 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49  OB_OBJECT_UILIMI
109d0 54 5f 41 4c 4c 20 3d 20 30 78 30 30 30 30 30 30  T_ALL = 0x000000
109e0 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  FF }....enum : u
109f0 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54  int { JOB_OBJECT
10a00 5f 55 49 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20  _UI_VALID_FLAGS 
10a10 3d 20 30 78 30 30 30 30 30 30 46 46 20 7d 0d 0a  = 0x000000FF }..
10a20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10a30 4a 4f 42 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52  JOB_OBJECT_SECUR
10a40 49 54 59 5f 4e 4f 5f 41 44 4d 49 4e 20 3d 20 30  ITY_NO_ADMIN = 0
10a50 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
10a60 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10a70 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 5f 52  BJECT_SECURITY_R
10a80 45 53 54 52 49 43 54 45 44 5f 54 4f 4b 45 4e 20  ESTRICTED_TOKEN 
10a90 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
10aa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
10ab0 42 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54  B_OBJECT_SECURIT
10ac0 59 5f 4f 4e 4c 59 5f 54 4f 4b 45 4e 20 3d 20 30  Y_ONLY_TOKEN = 0
10ad0 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
10ae0 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10af0 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 5f 46  BJECT_SECURITY_F
10b00 49 4c 54 45 52 5f 54 4f 4b 45 4e 53 20 3d 20 30  ILTER_TOKENS = 0
10b10 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65  x00000008 }....e
10b20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
10b30 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  _OBJECT_SECURITY
10b40 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30  _VALID_FLAGS = 0
10b50 78 30 30 30 30 30 30 30 66 20 7d 0d 0a 0d 0a 61  x0000000f }....a
10b60 6c 69 61 73 20 69 6e 74 20 5f 4a 4f 42 4f 42 4a  lias int _JOBOBJ
10b70 45 43 54 49 4e 46 4f 43 4c 41 53 53 3b 0d 0a 65  ECTINFOCLASS;..e
10b80 6e 75 6d 20 7b 0d 0a 20 20 4a 6f 62 4f 62 6a 65  num {..  JobObje
10b90 63 74 42 61 73 69 63 41 63 63 6f 75 6e 74 69 6e  ctBasicAccountin
10ba0 67 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 31  gInformation = 1
10bb0 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63 74 42 61  ,..  JobObjectBa
10bc0 73 69 63 4c 69 6d 69 74 49 6e 66 6f 72 6d 61 74  sicLimitInformat
10bd0 69 6f 6e 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63  ion,..  JobObjec
10be0 74 42 61 73 69 63 50 72 6f 63 65 73 73 49 64 4c  tBasicProcessIdL
10bf0 69 73 74 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63  ist,..  JobObjec
10c00 74 42 61 73 69 63 55 49 52 65 73 74 72 69 63 74  tBasicUIRestrict
10c10 69 6f 6e 73 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65  ions,..  JobObje
10c20 63 74 53 65 63 75 72 69 74 79 4c 69 6d 69 74 49  ctSecurityLimitI
10c30 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20 20 4a  nformation,..  J
10c40 6f 62 4f 62 6a 65 63 74 45 6e 64 4f 66 4a 6f 62  obObjectEndOfJob
10c50 54 69 6d 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c  TimeInformation,
10c60 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63 74 41 73 73  ..  JobObjectAss
10c70 6f 63 69 61 74 65 43 6f 6d 70 6c 65 74 69 6f 6e  ociateCompletion
10c80 50 6f 72 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c  PortInformation,
10c90 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63 74 42 61 73  ..  JobObjectBas
10ca0 69 63 41 6e 64 49 6f 41 63 63 6f 75 6e 74 69 6e  icAndIoAccountin
10cb0 67 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20  gInformation,.. 
10cc0 20 4a 6f 62 4f 62 6a 65 63 74 45 78 74 65 6e 64   JobObjectExtend
10cd0 65 64 4c 69 6d 69 74 49 6e 66 6f 72 6d 61 74 69  edLimitInformati
10ce0 6f 6e 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65 63 74  on,..  JobObject
10cf0 4a 6f 62 53 65 74 49 6e 66 6f 72 6d 61 74 69 6f  JobSetInformatio
10d00 6e 2c 0d 0a 20 20 4d 61 78 4a 6f 62 4f 62 6a 65  n,..  MaxJobObje
10d10 63 74 49 6e 66 6f 43 6c 61 73 73 2c 0d 0a 7d 0d  ctInfoClass,..}.
10d20 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43  .alias _JOBOBJEC
10d30 54 49 4e 46 4f 43 4c 41 53 53 20 4a 4f 42 4f 42  TINFOCLASS JOBOB
10d40 4a 45 43 54 49 4e 46 4f 43 4c 41 53 53 3b 0d 0a  JECTINFOCLASS;..
10d50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10d60 45 56 45 4e 54 5f 4d 4f 44 49 46 59 5f 53 54 41  EVENT_MODIFY_STA
10d70 54 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  TE = 0x0002 }..e
10d80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
10d90 4e 54 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20  NT_ALL_ACCESS = 
10da0 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f  STANDARD_RIGHTS_
10db0 52 45 51 55 49 52 45 44 7c 53 59 4e 43 48 52 4f  REQUIRED|SYNCHRO
10dc0 4e 49 5a 45 7c 30 78 33 20 7d 0d 0a 65 6e 75 6d  NIZE|0x3 }..enum
10dd0 20 3a 20 75 69 6e 74 20 7b 20 4d 55 54 41 4e 54   : uint { MUTANT
10de0 5f 51 55 45 52 59 5f 53 54 41 54 45 20 3d 20 30  _QUERY_STATE = 0
10df0 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0001 }....enum 
10e00 3a 20 75 69 6e 74 20 7b 20 4d 55 54 41 4e 54 5f  : uint { MUTANT_
10e10 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41  ALL_ACCESS = STA
10e20 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51  NDARD_RIGHTS_REQ
10e30 55 49 52 45 44 7c 53 59 4e 43 48 52 4f 4e 49 5a  UIRED|SYNCHRONIZ
10e40 45 7c 20 4d 55 54 41 4e 54 5f 51 55 45 52 59 5f  E| MUTANT_QUERY_
10e50 53 54 41 54 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  STATE }..enum : 
10e60 75 69 6e 74 20 7b 20 53 45 4d 41 50 48 4f 52 45  uint { SEMAPHORE
10e70 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 3d 20  _MODIFY_STATE = 
10e80 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
10e90 20 75 69 6e 74 20 7b 20 53 45 4d 41 50 48 4f 52   uint { SEMAPHOR
10ea0 45 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53  E_ALL_ACCESS = S
10eb0 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52  TANDARD_RIGHTS_R
10ec0 45 51 55 49 52 45 44 7c 53 59 4e 43 48 52 4f 4e  EQUIRED|SYNCHRON
10ed0 49 5a 45 7c 30 78 33 20 7d 0d 0a 0d 0a 65 6e 75  IZE|0x3 }....enu
10ee0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 52  m : uint { TIMER
10ef0 5f 51 55 45 52 59 5f 53 54 41 54 45 20 3d 20 30  _QUERY_STATE = 0
10f00 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
10f10 75 69 6e 74 20 7b 20 54 49 4d 45 52 5f 4d 4f 44  uint { TIMER_MOD
10f20 49 46 59 5f 53 54 41 54 45 20 3d 20 30 78 30 30  IFY_STATE = 0x00
10f30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  02 }....enum : u
10f40 69 6e 74 20 7b 20 54 49 4d 45 52 5f 41 4c 4c 5f  int { TIMER_ALL_
10f50 41 43 43 45 53 53 20 3d 20 53 54 41 4e 44 41 52  ACCESS = STANDAR
10f60 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45  D_RIGHTS_REQUIRE
10f70 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 20 54  D|SYNCHRONIZE| T
10f80 49 4d 45 52 5f 51 55 45 52 59 5f 53 54 41 54 45  IMER_QUERY_STATE
10f90 7c 54 49 4d 45 52 5f 4d 4f 44 49 46 59 5f 53 54  |TIMER_MODIFY_ST
10fa0 41 54 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ATE }....enum : 
10fb0 75 69 6e 74 20 7b 20 54 49 4d 45 5f 5a 4f 4e 45  uint { TIME_ZONE
10fc0 5f 49 44 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 20  _ID_UNKNOWN = 0 
10fd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10fe0 20 54 49 4d 45 5f 5a 4f 4e 45 5f 49 44 5f 53 54   TIME_ZONE_ID_ST
10ff0 41 4e 44 41 52 44 20 3d 20 31 20 7d 0d 0a 65 6e  ANDARD = 1 }..en
11000 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45  um : uint { TIME
11010 5f 5a 4f 4e 45 5f 49 44 5f 44 41 59 4c 49 47 48  _ZONE_ID_DAYLIGH
11020 54 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T = 2 }....enum 
11030 3a 20 75 69 6e 74 20 7b 20 4d 41 58 49 4d 55 4d  : uint { MAXIMUM
11040 5f 4e 55 4d 41 5f 4e 4f 44 45 53 20 3d 20 31 36  _NUMA_NODES = 16
11050 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59   }....struct _SY
11060 53 54 45 4d 5f 4e 55 4d 41 5f 49 4e 46 4f 52 4d  STEM_NUMA_INFORM
11070 41 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44  ATION {..  DWORD
11080 20 48 69 67 68 65 73 74 4e 6f 64 65 4e 75 6d 62   HighestNodeNumb
11090 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65 73  er;..  DWORD Res
110a0 65 72 76 65 64 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d  erved;..union {.
110b0 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41 63 74  .  ULONGLONG Act
110c0 69 76 65 50 72 6f 63 65 73 73 6f 72 73 41 66 66  iveProcessorsAff
110d0 69 6e 69 74 79 4d 61 73 6b 5b 4d 41 58 49 4d 55  inityMask[MAXIMU
110e0 4d 5f 4e 55 4d 41 5f 4e 4f 44 45 53 5d 3b 0d 0a  M_NUMA_NODES];..
110f0 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41 76 61 69    ULONGLONG Avai
11100 6c 61 62 6c 65 4d 65 6d 6f 72 79 5b 4d 41 58 49  lableMemory[MAXI
11110 4d 55 4d 5f 4e 55 4d 41 5f 4e 4f 44 45 53 5d 3b  MUM_NUMA_NODES];
11120 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ..}....}..alias 
11130 5f 53 59 53 54 45 4d 5f 4e 55 4d 41 5f 49 4e 46  _SYSTEM_NUMA_INF
11140 4f 52 4d 41 54 49 4f 4e 20 53 59 53 54 45 4d 5f  ORMATION SYSTEM_
11150 4e 55 4d 41 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  NUMA_INFORMATION
11160 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d  ;..alias _SYSTEM
11170 5f 4e 55 4d 41 5f 49 4e 46 4f 52 4d 41 54 49 4f  _NUMA_INFORMATIO
11180 4e 2a 20 50 53 59 53 54 45 4d 5f 4e 55 4d 41 5f  N* PSYSTEM_NUMA_
11190 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a  INFORMATION;....
111a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
111b0 4f 43 45 53 53 4f 52 5f 49 4e 54 45 4c 5f 33 38  OCESSOR_INTEL_38
111c0 36 20 3d 20 33 38 36 20 7d 0d 0a 65 6e 75 6d 20  6 = 386 }..enum 
111d0 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
111e0 4f 52 5f 49 4e 54 45 4c 5f 34 38 36 20 3d 20 34  OR_INTEL_486 = 4
111f0 38 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  86 }..enum : uin
11200 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 49 4e  t { PROCESSOR_IN
11210 54 45 4c 5f 50 45 4e 54 49 55 4d 20 3d 20 35 38  TEL_PENTIUM = 58
11220 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
11230 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54   { PROCESSOR_INT
11240 45 4c 5f 49 41 36 34 20 3d 20 32 32 30 30 20 7d  EL_IA64 = 2200 }
11250 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11260 50 52 4f 43 45 53 53 4f 52 5f 4d 49 50 53 5f 52  PROCESSOR_MIPS_R
11270 34 30 30 30 20 3d 20 34 30 30 30 20 7d 0d 0a 65  4000 = 4000 }..e
11280 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
11290 43 45 53 53 4f 52 5f 41 4c 50 48 41 5f 32 31 30  CESSOR_ALPHA_210
112a0 36 34 20 3d 20 32 31 30 36 34 20 7d 0d 0a 65 6e  64 = 21064 }..en
112b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43  um : uint { PROC
112c0 45 53 53 4f 52 5f 50 50 43 5f 36 30 31 20 3d 20  ESSOR_PPC_601 = 
112d0 36 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  601 }..enum : ui
112e0 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 50  nt { PROCESSOR_P
112f0 50 43 5f 36 30 33 20 3d 20 36 30 33 20 7d 0d 0a  PC_603 = 603 }..
11300 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
11310 4f 43 45 53 53 4f 52 5f 50 50 43 5f 36 30 34 20  OCESSOR_PPC_604 
11320 3d 20 36 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 604 }..enum : 
11330 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52  uint { PROCESSOR
11340 5f 50 50 43 5f 36 32 30 20 3d 20 36 32 30 20 7d  _PPC_620 = 620 }
11350 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11360 50 52 4f 43 45 53 53 4f 52 5f 48 49 54 41 43 48  PROCESSOR_HITACH
11370 49 5f 53 48 33 20 3d 20 31 30 30 30 33 20 7d 0d  I_SH3 = 10003 }.
11380 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
11390 52 4f 43 45 53 53 4f 52 5f 48 49 54 41 43 48 49  ROCESSOR_HITACHI
113a0 5f 53 48 33 45 20 3d 20 31 30 30 30 34 20 7d 0d  _SH3E = 10004 }.
113b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
113c0 52 4f 43 45 53 53 4f 52 5f 48 49 54 41 43 48 49  ROCESSOR_HITACHI
113d0 5f 53 48 34 20 3d 20 31 30 30 30 35 20 7d 0d 0a  _SH4 = 10005 }..
113e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
113f0 4f 43 45 53 53 4f 52 5f 4d 4f 54 4f 52 4f 4c 41  OCESSOR_MOTOROLA
11400 5f 38 32 31 20 3d 20 38 32 31 20 7d 0d 0a 65 6e  _821 = 821 }..en
11410 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43  um : uint { PROC
11420 45 53 53 4f 52 5f 53 48 78 5f 53 48 33 20 3d 20  ESSOR_SHx_SH3 = 
11430 31 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  103 }..enum : ui
11440 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 53  nt { PROCESSOR_S
11450 48 78 5f 53 48 34 20 3d 20 31 30 34 20 7d 0d 0a  Hx_SH4 = 104 }..
11460 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
11470 4f 43 45 53 53 4f 52 5f 53 54 52 4f 4e 47 41 52  OCESSOR_STRONGAR
11480 4d 20 3d 20 32 35 37 37 20 7d 0d 0a 65 6e 75 6d  M = 2577 }..enum
11490 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
114a0 53 4f 52 5f 41 52 4d 37 32 30 20 3d 20 31 38 32  SOR_ARM720 = 182
114b0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
114c0 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 4d   { PROCESSOR_ARM
114d0 38 32 30 20 3d 20 32 30 38 30 20 7d 0d 0a 65 6e  820 = 2080 }..en
114e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43  um : uint { PROC
114f0 45 53 53 4f 52 5f 41 52 4d 39 32 30 20 3d 20 32  ESSOR_ARM920 = 2
11500 33 33 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  336 }..enum : ui
11510 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41  nt { PROCESSOR_A
11520 52 4d 5f 37 54 44 4d 49 20 3d 20 37 30 30 30 31  RM_7TDMI = 70001
11530 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11540 7b 20 50 52 4f 43 45 53 53 4f 52 5f 4f 50 54 49  { PROCESSOR_OPTI
11550 4c 20 3d 20 30 78 34 39 34 66 20 7d 0d 0a 0d 0a  L = 0x494f }....
11560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
11570 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43  OCESSOR_ARCHITEC
11580 54 55 52 45 5f 49 4e 54 45 4c 20 3d 20 30 20 7d  TURE_INTEL = 0 }
11590 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
115a0 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54  PROCESSOR_ARCHIT
115b0 45 43 54 55 52 45 5f 4d 49 50 53 20 3d 20 31 20  ECTURE_MIPS = 1 
115c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
115d0 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49   PROCESSOR_ARCHI
115e0 54 45 43 54 55 52 45 5f 41 4c 50 48 41 20 3d 20  TECTURE_ALPHA = 
115f0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
11600 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43   { PROCESSOR_ARC
11610 48 49 54 45 43 54 55 52 45 5f 50 50 43 20 3d 20  HITECTURE_PPC = 
11620 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
11630 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43   { PROCESSOR_ARC
11640 48 49 54 45 43 54 55 52 45 5f 53 48 58 20 3d 20  HITECTURE_SHX = 
11650 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
11660 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43   { PROCESSOR_ARC
11670 48 49 54 45 43 54 55 52 45 5f 41 52 4d 20 3d 20  HITECTURE_ARM = 
11680 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
11690 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43   { PROCESSOR_ARC
116a0 48 49 54 45 43 54 55 52 45 5f 49 41 36 34 20 3d  HITECTURE_IA64 =
116b0 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
116c0 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52  t { PROCESSOR_AR
116d0 43 48 49 54 45 43 54 55 52 45 5f 41 4c 50 48 41  CHITECTURE_ALPHA
116e0 36 34 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a  64 = 7 }..enum :
116f0 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
11700 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f 4d  R_ARCHITECTURE_M
11710 53 49 4c 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  SIL = 8 }..enum 
11720 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
11730 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f  OR_ARCHITECTURE_
11740 41 4d 44 36 34 20 3d 20 39 20 7d 0d 0a 65 6e 75  AMD64 = 9 }..enu
11750 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45  m : uint { PROCE
11760 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52  SSOR_ARCHITECTUR
11770 45 5f 49 41 33 32 5f 4f 4e 5f 57 49 4e 36 34 20  E_IA32_ON_WIN64 
11780 3d 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  = 10 }....enum :
11790 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
117a0 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f 55  R_ARCHITECTURE_U
117b0 4e 4b 4e 4f 57 4e 20 3d 20 30 78 46 46 46 46 20  NKNOWN = 0xFFFF 
117c0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
117d0 20 7b 20 50 46 5f 46 4c 4f 41 54 49 4e 47 5f 50   { PF_FLOATING_P
117e0 4f 49 4e 54 5f 50 52 45 43 49 53 49 4f 4e 5f 45  OINT_PRECISION_E
117f0 52 52 41 54 41 20 3d 20 30 20 7d 0d 0a 65 6e 75  RRATA = 0 }..enu
11800 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 46 4c  m : uint { PF_FL
11810 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 5f 45 4d 55  OATING_POINT_EMU
11820 4c 41 54 45 44 20 3d 20 31 20 7d 0d 0a 65 6e 75  LATED = 1 }..enu
11830 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 43 4f  m : uint { PF_CO
11840 4d 50 41 52 45 5f 45 58 43 48 41 4e 47 45 5f 44  MPARE_EXCHANGE_D
11850 4f 55 42 4c 45 20 3d 20 32 20 7d 0d 0a 65 6e 75  OUBLE = 2 }..enu
11860 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 4d 4d  m : uint { PF_MM
11870 58 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41  X_INSTRUCTIONS_A
11880 56 41 49 4c 41 42 4c 45 20 3d 20 33 20 7d 0d 0a  VAILABLE = 3 }..
11890 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46  enum : uint { PF
118a0 5f 50 50 43 5f 4d 4f 56 45 4d 45 4d 5f 36 34 42  _PPC_MOVEMEM_64B
118b0 49 54 5f 4f 4b 20 3d 20 34 20 7d 0d 0a 65 6e 75  IT_OK = 4 }..enu
118c0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 41 4c  m : uint { PF_AL
118d0 50 48 41 5f 42 59 54 45 5f 49 4e 53 54 52 55 43  PHA_BYTE_INSTRUC
118e0 54 49 4f 4e 53 20 3d 20 35 20 7d 0d 0a 65 6e 75  TIONS = 5 }..enu
118f0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 58 4d  m : uint { PF_XM
11900 4d 49 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f  MI_INSTRUCTIONS_
11910 41 56 41 49 4c 41 42 4c 45 20 3d 20 36 20 7d 0d  AVAILABLE = 6 }.
11920 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
11930 46 5f 33 44 4e 4f 57 5f 49 4e 53 54 52 55 43 54  F_3DNOW_INSTRUCT
11940 49 4f 4e 53 5f 41 56 41 49 4c 41 42 4c 45 20 3d  IONS_AVAILABLE =
11950 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
11960 74 20 7b 20 50 46 5f 52 44 54 53 43 5f 49 4e 53  t { PF_RDTSC_INS
11970 54 52 55 43 54 49 4f 4e 5f 41 56 41 49 4c 41 42  TRUCTION_AVAILAB
11980 4c 45 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  LE = 8 }..enum :
11990 20 75 69 6e 74 20 7b 20 50 46 5f 50 41 45 5f 45   uint { PF_PAE_E
119a0 4e 41 42 4c 45 44 20 3d 20 39 20 7d 0d 0a 65 6e  NABLED = 9 }..en
119b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f 58  um : uint { PF_X
119c0 4d 4d 49 36 34 5f 49 4e 53 54 52 55 43 54 49 4f  MMI64_INSTRUCTIO
119d0 4e 53 5f 41 56 41 49 4c 41 42 4c 45 20 3d 20 31  NS_AVAILABLE = 1
119e0 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d  0 }....struct _M
119f0 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f  EMORY_BASIC_INFO
11a00 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 50 56 4f  RMATION {..  PVO
11a10 49 44 20 42 61 73 65 41 64 64 72 65 73 73 3b 0d  ID BaseAddress;.
11a20 0a 20 20 50 56 4f 49 44 20 41 6c 6c 6f 63 61 74  .  PVOID Allocat
11a30 69 6f 6e 42 61 73 65 3b 0d 0a 20 20 44 57 4f 52  ionBase;..  DWOR
11a40 44 20 41 6c 6c 6f 63 61 74 69 6f 6e 50 72 6f 74  D AllocationProt
11a50 65 63 74 3b 0d 0a 20 20 53 49 5a 45 5f 54 20 52  ect;..  SIZE_T R
11a60 65 67 69 6f 6e 53 69 7a 65 3b 0d 0a 20 20 44 57  egionSize;..  DW
11a70 4f 52 44 20 53 74 61 74 65 3b 0d 0a 20 20 44 57  ORD State;..  DW
11a80 4f 52 44 20 50 72 6f 74 65 63 74 3b 0d 0a 20 20  ORD Protect;..  
11a90 44 57 4f 52 44 20 54 79 70 65 3b 0d 0a 7d 0d 0a  DWORD Type;..}..
11aa0 61 6c 69 61 73 20 5f 4d 45 4d 4f 52 59 5f 42 41  alias _MEMORY_BA
11ab0 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  SIC_INFORMATION 
11ac0 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46  MEMORY_BASIC_INF
11ad0 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73  ORMATION;..alias
11ae0 20 5f 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49   _MEMORY_BASIC_I
11af0 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4d 45 4d  NFORMATION* PMEM
11b00 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d  ORY_BASIC_INFORM
11b10 41 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  ATION;....struct
11b20 20 5f 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49   _MEMORY_BASIC_I
11b30 4e 46 4f 52 4d 41 54 49 4f 4e 33 32 20 7b 0d 0a  NFORMATION32 {..
11b40 20 20 44 57 4f 52 44 20 42 61 73 65 41 64 64 72    DWORD BaseAddr
11b50 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41 6c  ess;..  DWORD Al
11b60 6c 6f 63 61 74 69 6f 6e 42 61 73 65 3b 0d 0a 20  locationBase;.. 
11b70 20 44 57 4f 52 44 20 41 6c 6c 6f 63 61 74 69 6f   DWORD Allocatio
11b80 6e 50 72 6f 74 65 63 74 3b 0d 0a 20 20 44 57 4f  nProtect;..  DWO
11b90 52 44 20 52 65 67 69 6f 6e 53 69 7a 65 3b 0d 0a  RD RegionSize;..
11ba0 20 20 44 57 4f 52 44 20 53 74 61 74 65 3b 0d 0a    DWORD State;..
11bb0 20 20 44 57 4f 52 44 20 50 72 6f 74 65 63 74 3b    DWORD Protect;
11bc0 0d 0a 20 20 44 57 4f 52 44 20 54 79 70 65 3b 0d  ..  DWORD Type;.
11bd0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 45 4d 4f 52  .}..alias _MEMOR
11be0 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54  Y_BASIC_INFORMAT
11bf0 49 4f 4e 33 32 20 4d 45 4d 4f 52 59 5f 42 41 53  ION32 MEMORY_BAS
11c00 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 33 32  IC_INFORMATION32
11c10 3b 0d 0a 61 6c 69 61 73 20 5f 4d 45 4d 4f 52 59  ;..alias _MEMORY
11c20 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49  _BASIC_INFORMATI
11c30 4f 4e 33 32 2a 20 50 4d 45 4d 4f 52 59 5f 42 41  ON32* PMEMORY_BA
11c40 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 33  SIC_INFORMATION3
11c50 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 45  2;....struct _ME
11c60 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52  MORY_BASIC_INFOR
11c70 4d 41 54 49 4f 4e 36 34 20 7b 0d 0a 20 20 55 4c  MATION64 {..  UL
11c80 4f 4e 47 4c 4f 4e 47 20 42 61 73 65 41 64 64 72  ONGLONG BaseAddr
11c90 65 73 73 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  ess;..  ULONGLON
11ca0 47 20 41 6c 6c 6f 63 61 74 69 6f 6e 42 61 73 65  G AllocationBase
11cb0 3b 0d 0a 20 20 44 57 4f 52 44 20 41 6c 6c 6f 63  ;..  DWORD Alloc
11cc0 61 74 69 6f 6e 50 72 6f 74 65 63 74 3b 0d 0a 20  ationProtect;.. 
11cd0 20 44 57 4f 52 44 20 5f 5f 61 6c 69 67 6e 6d 65   DWORD __alignme
11ce0 6e 74 31 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  nt1;..  ULONGLON
11cf0 47 20 52 65 67 69 6f 6e 53 69 7a 65 3b 0d 0a 20  G RegionSize;.. 
11d00 20 44 57 4f 52 44 20 53 74 61 74 65 3b 0d 0a 20   DWORD State;.. 
11d10 20 44 57 4f 52 44 20 50 72 6f 74 65 63 74 3b 0d   DWORD Protect;.
11d20 0a 20 20 44 57 4f 52 44 20 54 79 70 65 3b 0d 0a  .  DWORD Type;..
11d30 20 20 44 57 4f 52 44 20 5f 5f 61 6c 69 67 6e 6d    DWORD __alignm
11d40 65 6e 74 32 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ent2;..}..alias 
11d50 5f 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e  _MEMORY_BASIC_IN
11d60 46 4f 52 4d 41 54 49 4f 4e 36 34 20 4d 45 4d 4f  FORMATION64 MEMO
11d70 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41  RY_BASIC_INFORMA
11d80 54 49 4f 4e 36 34 3b 0d 0a 61 6c 69 61 73 20 5f  TION64;..alias _
11d90 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46  MEMORY_BASIC_INF
11da0 4f 52 4d 41 54 49 4f 4e 36 34 2a 20 50 4d 45 4d  ORMATION64* PMEM
11db0 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d  ORY_BASIC_INFORM
11dc0 41 54 49 4f 4e 36 34 3b 0d 0a 0d 0a 65 6e 75 6d  ATION64;....enum
11dd0 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 54 49 4f   : uint { SECTIO
11de0 4e 5f 51 55 45 52 59 20 3d 20 30 78 30 30 30 31  N_QUERY = 0x0001
11df0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11e00 7b 20 53 45 43 54 49 4f 4e 5f 4d 41 50 5f 57 52  { SECTION_MAP_WR
11e10 49 54 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ITE = 0x0002 }..
11e20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
11e30 43 54 49 4f 4e 5f 4d 41 50 5f 52 45 41 44 20 3d  CTION_MAP_READ =
11e40 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
11e50 3a 20 75 69 6e 74 20 7b 20 53 45 43 54 49 4f 4e  : uint { SECTION
11e60 5f 4d 41 50 5f 45 58 45 43 55 54 45 20 3d 20 30  _MAP_EXECUTE = 0
11e70 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
11e80 75 69 6e 74 20 7b 20 53 45 43 54 49 4f 4e 5f 45  uint { SECTION_E
11e90 58 54 45 4e 44 5f 53 49 5a 45 20 3d 20 30 78 30  XTEND_SIZE = 0x0
11ea0 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  010 }....enum : 
11eb0 75 69 6e 74 20 7b 20 53 45 43 54 49 4f 4e 5f 41  uint { SECTION_A
11ec0 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41 4e  LL_ACCESS = STAN
11ed0 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55  DARD_RIGHTS_REQU
11ee0 49 52 45 44 7c 53 45 43 54 49 4f 4e 5f 51 55 45  IRED|SECTION_QUE
11ef0 52 59 7c 20 53 45 43 54 49 4f 4e 5f 4d 41 50 5f  RY| SECTION_MAP_
11f00 57 52 49 54 45 20 7c 20 53 45 43 54 49 4f 4e 5f  WRITE | SECTION_
11f10 4d 41 50 5f 52 45 41 44 20 7c 20 53 45 43 54 49  MAP_READ | SECTI
11f20 4f 4e 5f 4d 41 50 5f 45 58 45 43 55 54 45 20 7c  ON_MAP_EXECUTE |
11f30 20 53 45 43 54 49 4f 4e 5f 45 58 54 45 4e 44 5f   SECTION_EXTEND_
11f40 53 49 5a 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  SIZE }..enum : u
11f50 69 6e 74 20 7b 20 50 41 47 45 5f 4e 4f 41 43 43  int { PAGE_NOACC
11f60 45 53 53 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e  ESS = 0x01 }..en
11f70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 41 47 45  um : uint { PAGE
11f80 5f 52 45 41 44 4f 4e 4c 59 20 3d 20 30 78 30 32  _READONLY = 0x02
11f90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11fa0 7b 20 50 41 47 45 5f 52 45 41 44 57 52 49 54 45  { PAGE_READWRITE
11fb0 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x04 }..enum 
11fc0 3a 20 75 69 6e 74 20 7b 20 50 41 47 45 5f 57 52  : uint { PAGE_WR
11fd0 49 54 45 43 4f 50 59 20 3d 20 30 78 30 38 20 7d  ITECOPY = 0x08 }
11fe0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11ff0 50 41 47 45 5f 45 58 45 43 55 54 45 20 3d 20 30  PAGE_EXECUTE = 0
12000 78 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x10 }..enum : ui
12010 6e 74 20 7b 20 50 41 47 45 5f 45 58 45 43 55 54  nt { PAGE_EXECUT
12020 45 5f 52 45 41 44 20 3d 20 30 78 32 30 20 7d 0d  E_READ = 0x20 }.
12030 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
12040 41 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41 44  AGE_EXECUTE_READ
12050 57 52 49 54 45 20 3d 20 30 78 34 30 20 7d 0d 0a  WRITE = 0x40 }..
12060 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 41  enum : uint { PA
12070 47 45 5f 45 58 45 43 55 54 45 5f 57 52 49 54 45  GE_EXECUTE_WRITE
12080 43 4f 50 59 20 3d 20 30 78 38 30 20 7d 0d 0a 65  COPY = 0x80 }..e
12090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 41 47  num : uint { PAG
120a0 45 5f 47 55 41 52 44 20 3d 20 30 78 31 30 30 20  E_GUARD = 0x100 
120b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
120c0 20 50 41 47 45 5f 4e 4f 43 41 43 48 45 20 3d 20   PAGE_NOCACHE = 
120d0 30 78 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x200 }..enum : 
120e0 75 69 6e 74 20 7b 20 50 41 47 45 5f 57 52 49 54  uint { PAGE_WRIT
120f0 45 43 4f 4d 42 49 4e 45 20 3d 20 30 78 34 30 30  ECOMBINE = 0x400
12100 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12110 7b 20 4d 45 4d 5f 43 4f 4d 4d 49 54 20 3d 20 30  { MEM_COMMIT = 0
12120 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1000 }..enum : 
12130 75 69 6e 74 20 7b 20 4d 45 4d 5f 52 45 53 45 52  uint { MEM_RESER
12140 56 45 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65  VE = 0x2000 }..e
12150 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 4d  num : uint { MEM
12160 5f 44 45 43 4f 4d 4d 49 54 20 3d 20 30 78 34 30  _DECOMMIT = 0x40
12170 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
12180 74 20 7b 20 4d 45 4d 5f 52 45 4c 45 41 53 45 20  t { MEM_RELEASE 
12190 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x8000 }..enum
121a0 20 3a 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 46 52   : uint { MEM_FR
121b0 45 45 20 3d 20 30 78 31 30 30 30 30 20 7d 0d 0a  EE = 0x10000 }..
121c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45  enum : uint { ME
121d0 4d 5f 50 52 49 56 41 54 45 20 3d 20 30 78 32 30  M_PRIVATE = 0x20
121e0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
121f0 6e 74 20 7b 20 4d 45 4d 5f 4d 41 50 50 45 44 20  nt { MEM_MAPPED 
12200 3d 20 30 78 34 30 30 30 30 20 7d 0d 0a 65 6e 75  = 0x40000 }..enu
12210 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 52  m : uint { MEM_R
12220 45 53 45 54 20 3d 20 30 78 38 30 30 30 30 20 7d  ESET = 0x80000 }
12230 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12240 4d 45 4d 5f 54 4f 50 5f 44 4f 57 4e 20 3d 20 30  MEM_TOP_DOWN = 0
12250 78 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  x100000 }..enum 
12260 3a 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 57 52 49  : uint { MEM_WRI
12270 54 45 5f 57 41 54 43 48 20 3d 20 30 78 32 30 30  TE_WATCH = 0x200
12280 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
12290 6e 74 20 7b 20 4d 45 4d 5f 50 48 59 53 49 43 41  nt { MEM_PHYSICA
122a0 4c 20 3d 20 30 78 34 30 30 30 30 30 20 7d 0d 0a  L = 0x400000 }..
122b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45  enum : uint { ME
122c0 4d 5f 34 4d 42 5f 50 41 47 45 53 20 3d 20 30 78  M_4MB_PAGES = 0x
122d0 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80000000 }..enum
122e0 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 5f 46 49   : uint { SEC_FI
122f0 4c 45 20 3d 20 30 78 38 30 30 30 30 30 20 7d 0d  LE = 0x800000 }.
12300 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
12310 45 43 5f 49 4d 41 47 45 20 3d 20 30 78 31 30 30  EC_IMAGE = 0x100
12320 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
12330 69 6e 74 20 7b 20 53 45 43 5f 52 45 53 45 52 56  int { SEC_RESERV
12340 45 20 3d 20 30 78 34 30 30 30 30 30 30 20 7d 0d  E = 0x4000000 }.
12350 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
12360 45 43 5f 43 4f 4d 4d 49 54 20 3d 20 30 78 38 30  EC_COMMIT = 0x80
12370 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
12380 75 69 6e 74 20 7b 20 53 45 43 5f 4e 4f 43 41 43  uint { SEC_NOCAC
12390 48 45 20 3d 20 30 78 31 30 30 30 30 30 30 30 20  HE = 0x10000000 
123a0 7d 0d 0a 61 6c 69 61 73 20 53 45 43 5f 49 4d 41  }..alias SEC_IMA
123b0 47 45 20 4d 45 4d 5f 49 4d 41 47 45 3b 0d 0a 65  GE MEM_IMAGE;..e
123c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 52 49  num : uint { WRI
123d0 54 45 5f 57 41 54 43 48 5f 46 4c 41 47 5f 52 45  TE_WATCH_FLAG_RE
123e0 53 45 54 20 3d 20 30 78 30 31 20 7d 0d 0a 0d 0a  SET = 0x01 }....
123f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12400 4c 45 5f 52 45 41 44 5f 44 41 54 41 20 3d 20 30  LE_READ_DATA = 0
12410 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
12420 75 69 6e 74 20 7b 20 46 49 4c 45 5f 4c 49 53 54  uint { FILE_LIST
12430 5f 44 49 52 45 43 54 4f 52 59 20 3d 20 30 78 30  _DIRECTORY = 0x0
12440 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  001 }....enum : 
12450 75 69 6e 74 20 7b 20 46 49 4c 45 5f 57 52 49 54  uint { FILE_WRIT
12460 45 5f 44 41 54 41 20 3d 20 30 78 30 30 30 32 20  E_DATA = 0x0002 
12470 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12480 20 46 49 4c 45 5f 41 44 44 5f 46 49 4c 45 20 3d   FILE_ADD_FILE =
12490 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75   0x0002 }....enu
124a0 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
124b0 41 50 50 45 4e 44 5f 44 41 54 41 20 3d 20 30 78  APPEND_DATA = 0x
124c0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
124d0 69 6e 74 20 7b 20 46 49 4c 45 5f 41 44 44 5f 53  int { FILE_ADD_S
124e0 55 42 44 49 52 45 43 54 4f 52 59 20 3d 20 30 78  UBDIRECTORY = 0x
124f0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
12500 69 6e 74 20 7b 20 46 49 4c 45 5f 43 52 45 41 54  int { FILE_CREAT
12510 45 5f 50 49 50 45 5f 49 4e 53 54 41 4e 43 45 20  E_PIPE_INSTANCE 
12520 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e  = 0x0004 }....en
12530 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
12540 5f 52 45 41 44 5f 45 41 20 3d 20 30 78 30 30 30  _READ_EA = 0x000
12550 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
12560 6e 74 20 7b 20 46 49 4c 45 5f 57 52 49 54 45 5f  nt { FILE_WRITE_
12570 45 41 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d  EA = 0x0010 }...
12580 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12590 49 4c 45 5f 45 58 45 43 55 54 45 20 3d 20 30 78  ILE_EXECUTE = 0x
125a0 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
125b0 69 6e 74 20 7b 20 46 49 4c 45 5f 54 52 41 56 45  int { FILE_TRAVE
125c0 52 53 45 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  RSE = 0x0020 }..
125d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
125e0 46 49 4c 45 5f 44 45 4c 45 54 45 5f 43 48 49 4c  FILE_DELETE_CHIL
125f0 44 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 0d 0a  D = 0x0040 }....
12600 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12610 4c 45 5f 52 45 41 44 5f 41 54 54 52 49 42 55 54  LE_READ_ATTRIBUT
12620 45 53 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 0d  ES = 0x0080 }...
12630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12640 49 4c 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42  ILE_WRITE_ATTRIB
12650 55 54 45 53 20 3d 20 30 78 30 31 30 30 20 7d 0d  UTES = 0x0100 }.
12660 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
12670 20 46 49 4c 45 5f 41 4c 4c 5f 41 43 43 45 53 53   FILE_ALL_ACCESS
12680 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
12690 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53 59  TS_REQUIRED | SY
126a0 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 30 78 31 46  NCHRONIZE | 0x1F
126b0 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
126c0 6e 74 20 7b 20 46 49 4c 45 5f 47 45 4e 45 52 49  nt { FILE_GENERI
126d0 43 5f 52 45 41 44 20 3d 20 53 54 41 4e 44 41 52  C_READ = STANDAR
126e0 44 5f 52 49 47 48 54 53 5f 52 45 41 44 20 7c 20  D_RIGHTS_READ | 
126f0 46 49 4c 45 5f 52 45 41 44 5f 44 41 54 41 20 7c  FILE_READ_DATA |
12700 20 46 49 4c 45 5f 52 45 41 44 5f 41 54 54 52 49   FILE_READ_ATTRI
12710 42 55 54 45 53 20 7c 20 46 49 4c 45 5f 52 45 41  BUTES | FILE_REA
12720 44 5f 45 41 20 7c 20 53 59 4e 43 48 52 4f 4e 49  D_EA | SYNCHRONI
12730 5a 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ZE }....enum : u
12740 69 6e 74 20 7b 20 46 49 4c 45 5f 47 45 4e 45 52  int { FILE_GENER
12750 49 43 5f 57 52 49 54 45 20 3d 20 53 54 41 4e 44  IC_WRITE = STAND
12760 41 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45  ARD_RIGHTS_WRITE
12770 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f 44 41   | FILE_WRITE_DA
12780 54 41 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f  TA | FILE_WRITE_
12790 41 54 54 52 49 42 55 54 45 53 20 7c 20 46 49 4c  ATTRIBUTES | FIL
127a0 45 5f 57 52 49 54 45 5f 45 41 20 7c 20 46 49 4c  E_WRITE_EA | FIL
127b0 45 5f 41 50 50 45 4e 44 5f 44 41 54 41 20 7c 20  E_APPEND_DATA | 
127c0 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7d 0d 0a 0d  SYNCHRONIZE }...
127d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
127e0 49 4c 45 5f 47 45 4e 45 52 49 43 5f 45 58 45 43  ILE_GENERIC_EXEC
127f0 55 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  UTE = STANDARD_R
12800 49 47 48 54 53 5f 45 58 45 43 55 54 45 20 7c 20  IGHTS_EXECUTE | 
12810 46 49 4c 45 5f 52 45 41 44 5f 41 54 54 52 49 42  FILE_READ_ATTRIB
12820 55 54 45 53 20 7c 20 46 49 4c 45 5f 45 58 45 43  UTES | FILE_EXEC
12830 55 54 45 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a  UTE | SYNCHRONIZ
12840 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  E }....enum : ui
12850 6e 74 20 7b 20 46 49 4c 45 5f 53 48 41 52 45 5f  nt { FILE_SHARE_
12860 52 45 41 44 20 3d 20 30 78 30 30 30 30 30 30 30  READ = 0x0000000
12870 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
12880 20 7b 20 46 49 4c 45 5f 53 48 41 52 45 5f 57 52   { FILE_SHARE_WR
12890 49 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 32  ITE = 0x00000002
128a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
128b0 7b 20 46 49 4c 45 5f 53 48 41 52 45 5f 44 45 4c  { FILE_SHARE_DEL
128c0 45 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 34  ETE = 0x00000004
128d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
128e0 7b 20 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45  { FILE_ATTRIBUTE
128f0 5f 52 45 41 44 4f 4e 4c 59 20 3d 20 30 78 30 30  _READONLY = 0x00
12900 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
12910 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54   uint { FILE_ATT
12920 52 49 42 55 54 45 5f 48 49 44 44 45 4e 20 3d 20  RIBUTE_HIDDEN = 
12930 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
12940 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
12950 5f 41 54 54 52 49 42 55 54 45 5f 53 59 53 54 45  _ATTRIBUTE_SYSTE
12960 4d 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  M = 0x00000004 }
12970 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12980 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 44  FILE_ATTRIBUTE_D
12990 49 52 45 43 54 4f 52 59 20 3d 20 30 78 30 30 30  IRECTORY = 0x000
129a0 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
129b0 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52  uint { FILE_ATTR
129c0 49 42 55 54 45 5f 41 52 43 48 49 56 45 20 3d 20  IBUTE_ARCHIVE = 
129d0 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
129e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
129f0 5f 41 54 54 52 49 42 55 54 45 5f 44 45 56 49 43  _ATTRIBUTE_DEVIC
12a00 45 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  E = 0x00000040 }
12a10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12a20 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 4e  FILE_ATTRIBUTE_N
12a30 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30  ORMAL = 0x000000
12a40 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
12a50 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49 42 55  t { FILE_ATTRIBU
12a60 54 45 5f 54 45 4d 50 4f 52 41 52 59 20 3d 20 30  TE_TEMPORARY = 0
12a70 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75  x00000100 }..enu
12a80 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
12a90 41 54 54 52 49 42 55 54 45 5f 53 50 41 52 53 45  ATTRIBUTE_SPARSE
12aa0 5f 46 49 4c 45 20 3d 20 30 78 30 30 30 30 30 32  _FILE = 0x000002
12ab0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
12ac0 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49 42 55  t { FILE_ATTRIBU
12ad0 54 45 5f 52 45 50 41 52 53 45 5f 50 4f 49 4e 54  TE_REPARSE_POINT
12ae0 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
12af0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12b00 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 43 4f  ILE_ATTRIBUTE_CO
12b10 4d 50 52 45 53 53 45 44 20 3d 20 30 78 30 30 30  MPRESSED = 0x000
12b20 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00800 }..enum : 
12b30 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52  uint { FILE_ATTR
12b40 49 42 55 54 45 5f 4f 46 46 4c 49 4e 45 20 3d 20  IBUTE_OFFLINE = 
12b50 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e  0x00001000 }..en
12b60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
12b70 5f 41 54 54 52 49 42 55 54 45 5f 4e 4f 54 5f 43  _ATTRIBUTE_NOT_C
12b80 4f 4e 54 45 4e 54 5f 49 4e 44 45 58 45 44 20 3d  ONTENT_INDEXED =
12b90 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d 0a 65   0x00002000 }..e
12ba0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c  num : uint { FIL
12bb0 45 5f 41 54 54 52 49 42 55 54 45 5f 45 4e 43 52  E_ATTRIBUTE_ENCR
12bc0 59 50 54 45 44 20 3d 20 30 78 30 30 30 30 34 30  YPTED = 0x000040
12bd0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
12be0 74 20 7b 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f  t { FILE_NOTIFY_
12bf0 43 48 41 4e 47 45 5f 46 49 4c 45 5f 4e 41 4d 45  CHANGE_FILE_NAME
12c00 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
12c10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12c20 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47  ILE_NOTIFY_CHANG
12c30 45 5f 44 49 52 5f 4e 41 4d 45 20 3d 20 30 78 30  E_DIR_NAME = 0x0
12c40 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
12c50 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f  : uint { FILE_NO
12c60 54 49 46 59 5f 43 48 41 4e 47 45 5f 41 54 54 52  TIFY_CHANGE_ATTR
12c70 49 42 55 54 45 53 20 3d 20 30 78 30 30 30 30 30  IBUTES = 0x00000
12c80 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
12c90 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f 54 49 46 59  nt { FILE_NOTIFY
12ca0 5f 43 48 41 4e 47 45 5f 53 49 5a 45 20 3d 20 30  _CHANGE_SIZE = 0
12cb0 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75  x00000008 }..enu
12cc0 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
12cd0 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41  NOTIFY_CHANGE_LA
12ce0 53 54 5f 57 52 49 54 45 20 3d 20 30 78 30 30 30  ST_WRITE = 0x000
12cf0 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
12d00 75 69 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f 54 49  uint { FILE_NOTI
12d10 46 59 5f 43 48 41 4e 47 45 5f 4c 41 53 54 5f 41  FY_CHANGE_LAST_A
12d20 43 43 45 53 53 20 3d 20 30 78 30 30 30 30 30 30  CCESS = 0x000000
12d30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
12d40 74 20 7b 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f  t { FILE_NOTIFY_
12d50 43 48 41 4e 47 45 5f 43 52 45 41 54 49 4f 4e 20  CHANGE_CREATION 
12d60 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x00000040 }..
12d70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12d80 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  LE_NOTIFY_CHANGE
12d90 5f 53 45 43 55 52 49 54 59 20 3d 20 30 78 30 30  _SECURITY = 0x00
12da0 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000100 }..enum :
12db0 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 43 54   uint { FILE_ACT
12dc0 49 4f 4e 5f 41 44 44 45 44 20 3d 20 30 78 30 30  ION_ADDED = 0x00
12dd0 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
12de0 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 43 54   uint { FILE_ACT
12df0 49 4f 4e 5f 52 45 4d 4f 56 45 44 20 3d 20 30 78  ION_REMOVED = 0x
12e00 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
12e10 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41   : uint { FILE_A
12e20 43 54 49 4f 4e 5f 4d 4f 44 49 46 49 45 44 20 3d  CTION_MODIFIED =
12e30 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65   0x00000003 }..e
12e40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c  num : uint { FIL
12e50 45 5f 41 43 54 49 4f 4e 5f 52 45 4e 41 4d 45 44  E_ACTION_RENAMED
12e60 5f 4f 4c 44 5f 4e 41 4d 45 20 3d 20 30 78 30 30  _OLD_NAME = 0x00
12e70 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
12e80 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 43 54   uint { FILE_ACT
12e90 49 4f 4e 5f 52 45 4e 41 4d 45 44 5f 4e 45 57 5f  ION_RENAMED_NEW_
12ea0 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30  NAME = 0x0000000
12eb0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  5 }..enum : DWOR
12ec0 44 20 7b 20 4d 41 49 4c 53 4c 4f 54 5f 4e 4f 5f  D { MAILSLOT_NO_
12ed0 4d 45 53 53 41 47 45 20 3d 20 63 61 73 74 28 44  MESSAGE = cast(D
12ee0 57 4f 52 44 29 2d 31 20 7d 0d 0a 65 6e 75 6d 20  WORD)-1 }..enum 
12ef0 3a 20 44 57 4f 52 44 20 7b 20 4d 41 49 4c 53 4c  : DWORD { MAILSL
12f00 4f 54 5f 57 41 49 54 5f 46 4f 52 45 56 45 52 20  OT_WAIT_FOREVER 
12f10 3d 20 63 61 73 74 28 44 57 4f 52 44 29 2d 31 20  = cast(DWORD)-1 
12f20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12f30 20 46 49 4c 45 5f 43 41 53 45 5f 53 45 4e 53 49   FILE_CASE_SENSI
12f40 54 49 56 45 5f 53 45 41 52 43 48 20 3d 20 30 78  TIVE_SEARCH = 0x
12f50 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
12f60 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 43   : uint { FILE_C
12f70 41 53 45 5f 50 52 45 53 45 52 56 45 44 5f 4e 41  ASE_PRESERVED_NA
12f80 4d 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 32  MES = 0x00000002
12f90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12fa0 7b 20 46 49 4c 45 5f 55 4e 49 43 4f 44 45 5f 4f  { FILE_UNICODE_O
12fb0 4e 5f 44 49 53 4b 20 3d 20 30 78 30 30 30 30 30  N_DISK = 0x00000
12fc0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
12fd0 6e 74 20 7b 20 46 49 4c 45 5f 50 45 52 53 49 53  nt { FILE_PERSIS
12fe0 54 45 4e 54 5f 41 43 4c 53 20 3d 20 30 78 30 30  TENT_ACLS = 0x00
12ff0 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
13000 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 46 49 4c   uint { FILE_FIL
13010 45 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20 3d 20  E_COMPRESSION = 
13020 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
13030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
13040 5f 56 4f 4c 55 4d 45 5f 51 55 4f 54 41 53 20 3d  _VOLUME_QUOTAS =
13050 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
13060 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c  num : uint { FIL
13070 45 5f 53 55 50 50 4f 52 54 53 5f 53 50 41 52 53  E_SUPPORTS_SPARS
13080 45 5f 46 49 4c 45 53 20 3d 20 30 78 30 30 30 30  E_FILES = 0x0000
13090 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0040 }..enum : u
130a0 69 6e 74 20 7b 20 46 49 4c 45 5f 53 55 50 50 4f  int { FILE_SUPPO
130b0 52 54 53 5f 52 45 50 41 52 53 45 5f 50 4f 49 4e  RTS_REPARSE_POIN
130c0 54 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  TS = 0x00000080 
130d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
130e0 20 46 49 4c 45 5f 53 55 50 50 4f 52 54 53 5f 52   FILE_SUPPORTS_R
130f0 45 4d 4f 54 45 5f 53 54 4f 52 41 47 45 20 3d 20  EMOTE_STORAGE = 
13100 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e  0x00000100 }..en
13110 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
13120 5f 56 4f 4c 55 4d 45 5f 49 53 5f 43 4f 4d 50 52  _VOLUME_IS_COMPR
13130 45 53 53 45 44 20 3d 20 30 78 30 30 30 30 38 30  ESSED = 0x000080
13140 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
13150 74 20 7b 20 46 49 4c 45 5f 53 55 50 50 4f 52 54  t { FILE_SUPPORT
13160 53 5f 4f 42 4a 45 43 54 5f 49 44 53 20 3d 20 30  S_OBJECT_IDS = 0
13170 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
13180 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
13190 53 55 50 50 4f 52 54 53 5f 45 4e 43 52 59 50 54  SUPPORTS_ENCRYPT
131a0 49 4f 4e 20 3d 20 30 78 30 30 30 32 30 30 30 30  ION = 0x00020000
131b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
131c0 7b 20 46 49 4c 45 5f 4e 41 4d 45 44 5f 53 54 52  { FILE_NAMED_STR
131d0 45 41 4d 53 20 3d 20 30 78 30 30 30 34 30 30 30  EAMS = 0x0004000
131e0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
131f0 20 7b 20 46 49 4c 45 5f 52 45 41 44 5f 4f 4e 4c   { FILE_READ_ONL
13200 59 5f 56 4f 4c 55 4d 45 20 3d 20 30 78 30 30 30  Y_VOLUME = 0x000
13210 38 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  80000 }....struc
13220 74 20 5f 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49  t _FILE_NOTIFY_I
13230 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20  NFORMATION {..  
13240 44 57 4f 52 44 20 4e 65 78 74 45 6e 74 72 79 4f  DWORD NextEntryO
13250 66 66 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20  ffset;..  DWORD 
13260 41 63 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44  Action;..  DWORD
13270 20 46 69 6c 65 4e 61 6d 65 4c 65 6e 67 74 68 3b   FileNameLength;
13280 0d 0a 20 20 57 43 48 41 52 20 46 69 6c 65 4e 61  ..  WCHAR FileNa
13290 6d 65 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  me[1];..}..alias
132a0 20 5f 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49 4e   _FILE_NOTIFY_IN
132b0 46 4f 52 4d 41 54 49 4f 4e 20 46 49 4c 45 5f 4e  FORMATION FILE_N
132c0 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41 54 49 4f  OTIFY_INFORMATIO
132d0 4e 3b 0d 0a 61 6c 69 61 73 20 5f 46 49 4c 45 5f  N;..alias _FILE_
132e0 4e 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41 54 49  NOTIFY_INFORMATI
132f0 4f 4e 2a 20 50 46 49 4c 45 5f 4e 4f 54 49 46 59  ON* PFILE_NOTIFY
13300 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d  _INFORMATION;...
13310 0a 75 6e 69 6f 6e 20 5f 46 49 4c 45 5f 53 45 47  .union _FILE_SEG
13320 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54 20 7b 0d 0a  MENT_ELEMENT {..
13330 20 20 50 56 4f 49 44 36 34 20 42 75 66 66 65 72    PVOID64 Buffer
13340 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41  ;..  ULONGLONG A
13350 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c  lignment;..}..al
13360 69 61 73 20 5f 46 49 4c 45 5f 53 45 47 4d 45 4e  ias _FILE_SEGMEN
13370 54 5f 45 4c 45 4d 45 4e 54 20 46 49 4c 45 5f 53  T_ELEMENT FILE_S
13380 45 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54 3b 0d  EGMENT_ELEMENT;.
13390 0a 61 6c 69 61 73 20 5f 46 49 4c 45 5f 53 45 47  .alias _FILE_SEG
133a0 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54 2a 20 50 46  MENT_ELEMENT* PF
133b0 49 4c 45 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d  ILE_SEGMENT_ELEM
133c0 45 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ENT;....struct _
133d0 52 45 50 41 52 53 45 5f 47 55 49 44 5f 44 41 54  REPARSE_GUID_DAT
133e0 41 5f 42 55 46 46 45 52 20 7b 0d 0a 20 20 44 57  A_BUFFER {..  DW
133f0 4f 52 44 20 52 65 70 61 72 73 65 54 61 67 3b 0d  ORD ReparseTag;.
13400 0a 20 20 57 4f 52 44 20 52 65 70 61 72 73 65 44  .  WORD ReparseD
13410 61 74 61 4c 65 6e 67 74 68 3b 0d 0a 20 20 57 4f  ataLength;..  WO
13420 52 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 20 20  RD Reserved;..  
13430 47 55 49 44 20 52 65 70 61 72 73 65 47 75 69 64  GUID ReparseGuid
13440 3b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 42  ;..struct {..  B
13450 59 54 45 20 44 61 74 61 42 75 66 66 65 72 5b 31  YTE DataBuffer[1
13460 5d 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61  ];..}....}..alia
13470 73 20 5f 52 45 50 41 52 53 45 5f 47 55 49 44 5f  s _REPARSE_GUID_
13480 44 41 54 41 5f 42 55 46 46 45 52 20 52 45 50 41  DATA_BUFFER REPA
13490 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55  RSE_GUID_DATA_BU
134a0 46 46 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 52 45  FFER;..alias _RE
134b0 50 41 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f  PARSE_GUID_DATA_
134c0 42 55 46 46 45 52 2a 20 50 52 45 50 41 52 53 45  BUFFER* PREPARSE
134d0 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 46 46 45  _GUID_DATA_BUFFE
134e0 52 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  R;....// #define
134f0 20 52 45 50 41 52 53 45 5f 47 55 49 44 5f 44 41   REPARSE_GUID_DA
13500 54 41 5f 42 55 46 46 45 52 5f 48 45 41 44 45 52  TA_BUFFER_HEADER
13510 5f 53 49 5a 45 20 46 49 45 4c 44 5f 4f 46 46 53  _SIZE FIELD_OFFS
13520 45 54 28 52 45 50 41 52 53 45 5f 47 55 49 44 5f  ET(REPARSE_GUID_
13530 44 41 54 41 5f 42 55 46 46 45 52 2c 20 47 65 6e  DATA_BUFFER, Gen
13540 65 72 69 63 52 65 70 61 72 73 65 42 75 66 66 65  ericReparseBuffe
13550 72 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  r)....enum : uin
13560 74 20 7b 20 4d 41 58 49 4d 55 4d 5f 52 45 50 41  t { MAXIMUM_REPA
13570 52 53 45 5f 44 41 54 41 5f 42 55 46 46 45 52 5f  RSE_DATA_BUFFER_
13580 53 49 5a 45 20 3d 20 20 31 36 20 2a 20 31 30 32  SIZE =  16 * 102
13590 34 20 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  4  }....enum : u
135a0 69 6e 74 20 7b 20 49 4f 5f 52 45 50 41 52 53 45  int { IO_REPARSE
135b0 5f 54 41 47 5f 52 45 53 45 52 56 45 44 5f 5a 45  _TAG_RESERVED_ZE
135c0 52 4f 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  RO = 0 }..enum :
135d0 20 75 69 6e 74 20 7b 20 49 4f 5f 52 45 50 41 52   uint { IO_REPAR
135e0 53 45 5f 54 41 47 5f 52 45 53 45 52 56 45 44 5f  SE_TAG_RESERVED_
135f0 4f 4e 45 20 3d 20 31 20 7d 0d 0a 0d 0a 61 6c 69  ONE = 1 }....ali
13600 61 73 20 49 4f 5f 52 45 50 41 52 53 45 5f 54 41  as IO_REPARSE_TA
13610 47 5f 52 45 53 45 52 56 45 44 5f 4f 4e 45 20 49  G_RESERVED_ONE I
13620 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45  O_REPARSE_TAG_RE
13630 53 45 52 56 45 44 5f 52 41 4e 47 45 3b 0d 0a 0d  SERVED_RANGE;...
13640 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 73 52 65  .// #define IsRe
13650 70 61 72 73 65 54 61 67 4d 69 63 72 6f 73 6f 66  parseTagMicrosof
13660 74 28 5f 74 61 67 29 20 28 20 28 28 5f 74 61 67  t(_tag) ( ((_tag
13670 29 20 26 20 30 78 38 30 30 30 30 30 30 30 29 20  ) & 0x80000000) 
13680 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  )....// #define 
13690 49 73 52 65 70 61 72 73 65 54 61 67 4e 61 6d 65  IsReparseTagName
136a0 53 75 72 72 6f 67 61 74 65 28 5f 74 61 67 29 20  Surrogate(_tag) 
136b0 28 20 28 28 5f 74 61 67 29 20 26 20 30 78 32 30  ( ((_tag) & 0x20
136c0 30 30 30 30 30 30 29 20 29 0d 0a 0d 0a 65 6e 75  000000) )....enu
136d0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4f 5f 52 45  m : uint { IO_RE
136e0 50 41 52 53 45 5f 54 41 47 5f 4d 4f 55 4e 54 5f  PARSE_TAG_MOUNT_
136f0 50 4f 49 4e 54 20 3d 20 30 78 41 30 30 30 30 30  POINT = 0xA00000
13700 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
13710 74 20 7b 20 49 4f 5f 52 45 50 41 52 53 45 5f 54  t { IO_REPARSE_T
13720 41 47 5f 48 53 4d 20 3d 20 30 78 43 30 30 30 30  AG_HSM = 0xC0000
13730 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
13740 6e 74 20 7b 20 49 4f 5f 52 45 50 41 52 53 45 5f  nt { IO_REPARSE_
13750 54 41 47 5f 53 49 53 20 3d 20 30 78 38 30 30 30  TAG_SIS = 0x8000
13760 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0007 }..enum : u
13770 69 6e 74 20 7b 20 49 4f 5f 52 45 50 41 52 53 45  int { IO_REPARSE
13780 5f 54 41 47 5f 46 49 4c 54 45 52 5f 4d 41 4e 41  _TAG_FILTER_MANA
13790 47 45 52 20 3d 20 30 78 38 30 30 30 30 30 30 42  GER = 0x8000000B
137a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
137b0 7b 20 49 4f 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f  { IO_COMPLETION_
137c0 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 3d 20 30  MODIFY_STATE = 0
137d0 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
137e0 75 69 6e 74 20 7b 20 49 4f 5f 43 4f 4d 50 4c 45  uint { IO_COMPLE
137f0 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20  TION_ALL_ACCESS 
13800 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54  = STANDARD_RIGHT
13810 53 5f 52 45 51 55 49 52 45 44 7c 53 59 4e 43 48  S_REQUIRED|SYNCH
13820 52 4f 4e 49 5a 45 7c 30 78 33 20 7d 0d 0a 65 6e  RONIZE|0x3 }..en
13830 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 55 50 4c  um : uint { DUPL
13840 49 43 41 54 45 5f 43 4c 4f 53 45 5f 53 4f 55 52  ICATE_CLOSE_SOUR
13850 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  CE = 0x00000001 
13860 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13870 20 44 55 50 4c 49 43 41 54 45 5f 53 41 4d 45 5f   DUPLICATE_SAME_
13880 41 43 43 45 53 53 20 3d 20 30 78 30 30 30 30 30  ACCESS = 0x00000
13890 30 30 32 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69  002 }....alias i
138a0 6e 74 20 5f 53 59 53 54 45 4d 5f 50 4f 57 45 52  nt _SYSTEM_POWER
138b0 5f 53 54 41 54 45 3b 0d 0a 65 6e 75 6d 20 7b 0d  _STATE;..enum {.
138c0 0a 20 20 50 6f 77 65 72 53 79 73 74 65 6d 55 6e  .  PowerSystemUn
138d0 73 70 65 63 69 66 69 65 64 20 3d 20 30 2c 0d 0a  specified = 0,..
138e0 20 20 50 6f 77 65 72 53 79 73 74 65 6d 57 6f 72    PowerSystemWor
138f0 6b 69 6e 67 20 3d 20 31 2c 0d 0a 20 20 50 6f 77  king = 1,..  Pow
13900 65 72 53 79 73 74 65 6d 53 6c 65 65 70 69 6e 67  erSystemSleeping
13910 31 20 3d 20 32 2c 0d 0a 20 20 50 6f 77 65 72 53  1 = 2,..  PowerS
13920 79 73 74 65 6d 53 6c 65 65 70 69 6e 67 32 20 3d  ystemSleeping2 =
13930 20 33 2c 0d 0a 20 20 50 6f 77 65 72 53 79 73 74   3,..  PowerSyst
13940 65 6d 53 6c 65 65 70 69 6e 67 33 20 3d 20 34 2c  emSleeping3 = 4,
13950 0d 0a 20 20 50 6f 77 65 72 53 79 73 74 65 6d 48  ..  PowerSystemH
13960 69 62 65 72 6e 61 74 65 20 3d 20 35 2c 0d 0a 20  ibernate = 5,.. 
13970 20 50 6f 77 65 72 53 79 73 74 65 6d 53 68 75 74   PowerSystemShut
13980 64 6f 77 6e 20 3d 20 36 2c 0d 0a 20 20 50 6f 77  down = 6,..  Pow
13990 65 72 53 79 73 74 65 6d 4d 61 78 69 6d 75 6d 20  erSystemMaximum 
139a0 3d 20 37 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  = 7,..}..alias _
139b0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41  SYSTEM_POWER_STA
139c0 54 45 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f  TE SYSTEM_POWER_
139d0 53 54 41 54 45 3b 0d 0a 61 6c 69 61 73 20 5f 53  STATE;..alias _S
139e0 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54  YSTEM_POWER_STAT
139f0 45 2a 20 50 53 59 53 54 45 4d 5f 50 4f 57 45 52  E* PSYSTEM_POWER
13a00 5f 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20  _STATE;....enum 
13a10 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f 53  : uint { POWER_S
13a20 59 53 54 45 4d 5f 4d 41 58 49 4d 55 4d 20 3d 20  YSTEM_MAXIMUM = 
13a30 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 5f 34 20 7b  7 }....enum _4 {
13a40 0d 0a 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 4e  ..  PowerActionN
13a50 6f 6e 65 20 3d 20 30 2c 0d 0a 20 20 50 6f 77 65  one = 0,..  Powe
13a60 72 41 63 74 69 6f 6e 52 65 73 65 72 76 65 64 2c  rActionReserved,
13a70 0d 0a 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 53  ..  PowerActionS
13a80 6c 65 65 70 2c 0d 0a 20 20 50 6f 77 65 72 41 63  leep,..  PowerAc
13a90 74 69 6f 6e 48 69 62 65 72 6e 61 74 65 2c 0d 0a  tionHibernate,..
13aa0 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 53 68 75    PowerActionShu
13ab0 74 64 6f 77 6e 2c 0d 0a 20 20 50 6f 77 65 72 41  tdown,..  PowerA
13ac0 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 52 65 73  ctionShutdownRes
13ad0 65 74 2c 0d 0a 20 20 50 6f 77 65 72 41 63 74 69  et,..  PowerActi
13ae0 6f 6e 53 68 75 74 64 6f 77 6e 4f 66 66 2c 0d 0a  onShutdownOff,..
13af0 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 57 61 72    PowerActionWar
13b00 6d 45 6a 65 63 74 2c 0d 0a 7d 0d 0a 61 6c 69 61  mEject,..}..alia
13b10 73 20 5f 34 20 50 4f 57 45 52 5f 41 43 54 49 4f  s _4 POWER_ACTIO
13b20 4e 3b 0d 0a 61 6c 69 61 73 20 5f 34 2a 20 50 50  N;..alias _4* PP
13b30 4f 57 45 52 5f 41 43 54 49 4f 4e 3b 0d 0a 0d 0a  OWER_ACTION;....
13b40 61 6c 69 61 73 20 69 6e 74 20 5f 44 45 56 49 43  alias int _DEVIC
13b50 45 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b 0d 0a  E_POWER_STATE;..
13b60 65 6e 75 6d 20 7b 0d 0a 20 20 50 6f 77 65 72 44  enum {..  PowerD
13b70 65 76 69 63 65 55 6e 73 70 65 63 69 66 69 65 64  eviceUnspecified
13b80 20 3d 20 30 2c 0d 0a 20 20 50 6f 77 65 72 44 65   = 0,..  PowerDe
13b90 76 69 63 65 44 30 2c 0d 0a 20 20 50 6f 77 65 72  viceD0,..  Power
13ba0 44 65 76 69 63 65 44 31 2c 0d 0a 20 20 50 6f 77  DeviceD1,..  Pow
13bb0 65 72 44 65 76 69 63 65 44 32 2c 0d 0a 20 20 50  erDeviceD2,..  P
13bc0 6f 77 65 72 44 65 76 69 63 65 44 33 2c 0d 0a 20  owerDeviceD3,.. 
13bd0 20 50 6f 77 65 72 44 65 76 69 63 65 4d 61 78 69   PowerDeviceMaxi
13be0 6d 75 6d 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  mum,..}..alias _
13bf0 44 45 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41  DEVICE_POWER_STA
13c00 54 45 20 44 45 56 49 43 45 5f 50 4f 57 45 52 5f  TE DEVICE_POWER_
13c10 53 54 41 54 45 3b 0d 0a 61 6c 69 61 73 20 5f 44  STATE;..alias _D
13c20 45 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54  EVICE_POWER_STAT
13c30 45 2a 20 50 44 45 56 49 43 45 5f 50 4f 57 45 52  E* PDEVICE_POWER
13c40 5f 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20  _STATE;....enum 
13c50 3a 20 44 57 4f 52 44 20 7b 20 45 53 5f 53 59 53  : DWORD { ES_SYS
13c60 54 45 4d 5f 52 45 51 55 49 52 45 44 20 3d 20 30  TEM_REQUIRED = 0
13c70 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
13c80 6d 20 3a 20 44 57 4f 52 44 20 7b 20 45 53 5f 44  m : DWORD { ES_D
13c90 49 53 50 4c 41 59 5f 52 45 51 55 49 52 45 44 20  ISPLAY_REQUIRED 
13ca0 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
13cb0 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 45  enum : DWORD { E
13cc0 53 5f 55 53 45 52 5f 50 52 45 53 45 4e 54 20 3d  S_USER_PRESENT =
13cd0 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
13ce0 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 45 53  num : DWORD { ES
13cf0 5f 43 4f 4e 54 49 4e 55 4f 55 53 20 3d 20 30 78  _CONTINUOUS = 0x
13d00 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 61 6c  80000000 }....al
13d10 69 61 73 20 44 57 4f 52 44 20 45 58 45 43 55 54  ias DWORD EXECUT
13d20 49 4f 4e 5f 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e  ION_STATE;....en
13d30 75 6d 20 5f 35 20 7b 0d 0a 20 20 4c 54 5f 44 4f  um _5 {..  LT_DO
13d40 4e 54 5f 43 41 52 45 2c 0d 0a 20 20 4c 54 5f 4c  NT_CARE,..  LT_L
13d50 4f 57 45 53 54 5f 4c 41 54 45 4e 43 59 2c 0d 0a  OWEST_LATENCY,..
13d60 7d 0d 0a 61 6c 69 61 73 20 5f 35 20 4c 41 54 45  }..alias _5 LATE
13d70 4e 43 59 5f 54 49 4d 45 3b 0d 0a 0d 0a 65 6e 75  NCY_TIME;....enu
13d80 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 43 41 50  m : uint { PDCAP
13d90 5f 44 30 5f 53 55 50 50 4f 52 54 45 44 20 3d 20  _D0_SUPPORTED = 
13da0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
13db0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 43 41  um : uint { PDCA
13dc0 50 5f 44 31 5f 53 55 50 50 4f 52 54 45 44 20 3d  P_D1_SUPPORTED =
13dd0 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
13de0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 43  num : uint { PDC
13df0 41 50 5f 44 32 5f 53 55 50 50 4f 52 54 45 44 20  AP_D2_SUPPORTED 
13e00 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
13e10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44  enum : uint { PD
13e20 43 41 50 5f 44 33 5f 53 55 50 50 4f 52 54 45 44  CAP_D3_SUPPORTED
13e30 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
13e40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
13e50 44 43 41 50 5f 57 41 4b 45 5f 46 52 4f 4d 5f 44  DCAP_WAKE_FROM_D
13e60 30 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 30 78  0_SUPPORTED = 0x
13e70 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
13e80 20 3a 20 75 69 6e 74 20 7b 20 50 44 43 41 50 5f   : uint { PDCAP_
13e90 57 41 4b 45 5f 46 52 4f 4d 5f 44 31 5f 53 55 50  WAKE_FROM_D1_SUP
13ea0 50 4f 52 54 45 44 20 3d 20 30 78 30 30 30 30 30  PORTED = 0x00000
13eb0 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
13ec0 6e 74 20 7b 20 50 44 43 41 50 5f 57 41 4b 45 5f  nt { PDCAP_WAKE_
13ed0 46 52 4f 4d 5f 44 32 5f 53 55 50 50 4f 52 54 45  FROM_D2_SUPPORTE
13ee0 44 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  D = 0x00000040 }
13ef0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13f00 50 44 43 41 50 5f 57 41 4b 45 5f 46 52 4f 4d 5f  PDCAP_WAKE_FROM_
13f10 44 33 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 30  D3_SUPPORTED = 0
13f20 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
13f30 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 43 41 50  m : uint { PDCAP
13f40 5f 57 41 52 4d 5f 45 4a 45 43 54 5f 53 55 50 50  _WARM_EJECT_SUPP
13f50 4f 52 54 45 44 20 3d 20 30 78 30 30 30 30 30 31  ORTED = 0x000001
13f60 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 43  00 }....struct C
13f70 4d 5f 50 6f 77 65 72 5f 44 61 74 61 5f 73 20 7b  M_Power_Data_s {
13f80 0d 0a 20 20 44 57 4f 52 44 20 50 44 5f 53 69 7a  ..  DWORD PD_Siz
13f90 65 3b 0d 0a 20 20 44 45 56 49 43 45 5f 50 4f 57  e;..  DEVICE_POW
13fa0 45 52 5f 53 54 41 54 45 20 50 44 5f 4d 6f 73 74  ER_STATE PD_Most
13fb0 52 65 63 65 6e 74 50 6f 77 65 72 53 74 61 74 65  RecentPowerState
13fc0 3b 0d 0a 20 20 44 57 4f 52 44 20 50 44 5f 43 61  ;..  DWORD PD_Ca
13fd0 70 61 62 69 6c 69 74 69 65 73 3b 0d 0a 20 20 44  pabilities;..  D
13fe0 57 4f 52 44 20 50 44 5f 44 31 4c 61 74 65 6e 63  WORD PD_D1Latenc
13ff0 79 3b 0d 0a 20 20 44 57 4f 52 44 20 50 44 5f 44  y;..  DWORD PD_D
14000 32 4c 61 74 65 6e 63 79 3b 0d 0a 20 20 44 57 4f  2Latency;..  DWO
14010 52 44 20 50 44 5f 44 33 4c 61 74 65 6e 63 79 3b  RD PD_D3Latency;
14020 0d 0a 20 20 44 45 56 49 43 45 5f 50 4f 57 45 52  ..  DEVICE_POWER
14030 5f 53 54 41 54 45 20 50 44 5f 50 6f 77 65 72 53  _STATE PD_PowerS
14040 74 61 74 65 4d 61 70 70 69 6e 67 5b 50 4f 57 45  tateMapping[POWE
14050 52 5f 53 59 53 54 45 4d 5f 4d 41 58 49 4d 55 4d  R_SYSTEM_MAXIMUM
14060 5d 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57  ];..  SYSTEM_POW
14070 45 52 5f 53 54 41 54 45 20 50 44 5f 44 65 65 70  ER_STATE PD_Deep
14080 65 73 74 53 79 73 74 65 6d 57 61 6b 65 3b 0d 0a  estSystemWake;..
14090 7d 0d 0a 61 6c 69 61 73 20 43 4d 5f 50 6f 77 65  }..alias CM_Powe
140a0 72 5f 44 61 74 61 5f 73 20 43 4d 5f 50 4f 57 45  r_Data_s CM_POWE
140b0 52 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 43  R_DATA;..alias C
140c0 4d 5f 50 6f 77 65 72 5f 44 61 74 61 5f 73 2a 20  M_Power_Data_s* 
140d0 50 43 4d 5f 50 4f 57 45 52 5f 44 41 54 41 3b 0d  PCM_POWER_DATA;.
140e0 0a 0d 0a 65 6e 75 6d 20 5f 36 20 7b 0d 0a 20 20  ...enum _6 {..  
140f0 53 79 73 74 65 6d 50 6f 77 65 72 50 6f 6c 69 63  SystemPowerPolic
14100 79 41 63 2c 0d 0a 20 20 53 79 73 74 65 6d 50 6f  yAc,..  SystemPo
14110 77 65 72 50 6f 6c 69 63 79 44 63 2c 0d 0a 20 20  werPolicyDc,..  
14120 56 65 72 69 66 79 53 79 73 74 65 6d 50 6f 6c 69  VerifySystemPoli
14130 63 79 41 63 2c 0d 0a 20 20 56 65 72 69 66 79 53  cyAc,..  VerifyS
14140 79 73 74 65 6d 50 6f 6c 69 63 79 44 63 2c 0d 0a  ystemPolicyDc,..
14150 20 20 53 79 73 74 65 6d 50 6f 77 65 72 43 61 70    SystemPowerCap
14160 61 62 69 6c 69 74 69 65 73 2c 0d 0a 20 20 53 79  abilities,..  Sy
14170 73 74 65 6d 42 61 74 74 65 72 79 53 74 61 74 65  stemBatteryState
14180 2c 0d 0a 20 20 53 79 73 74 65 6d 50 6f 77 65 72  ,..  SystemPower
14190 53 74 61 74 65 48 61 6e 64 6c 65 72 2c 0d 0a 20  StateHandler,.. 
141a0 20 50 72 6f 63 65 73 73 6f 72 53 74 61 74 65 48   ProcessorStateH
141b0 61 6e 64 6c 65 72 2c 0d 0a 20 20 53 79 73 74 65  andler,..  Syste
141c0 6d 50 6f 77 65 72 50 6f 6c 69 63 79 43 75 72 72  mPowerPolicyCurr
141d0 65 6e 74 2c 0d 0a 20 20 41 64 6d 69 6e 69 73 74  ent,..  Administ
141e0 72 61 74 6f 72 50 6f 77 65 72 50 6f 6c 69 63 79  ratorPowerPolicy
141f0 2c 0d 0a 20 20 53 79 73 74 65 6d 52 65 73 65 72  ,..  SystemReser
14200 76 65 48 69 62 65 72 46 69 6c 65 2c 0d 0a 20 20  veHiberFile,..  
14210 50 72 6f 63 65 73 73 6f 72 49 6e 66 6f 72 6d 61  ProcessorInforma
14220 74 69 6f 6e 2c 0d 0a 20 20 53 79 73 74 65 6d 50  tion,..  SystemP
14230 6f 77 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c  owerInformation,
14240 0d 0a 20 20 50 72 6f 63 65 73 73 6f 72 53 74 61  ..  ProcessorSta
14250 74 65 48 61 6e 64 6c 65 72 32 2c 0d 0a 20 20 4c  teHandler2,..  L
14260 61 73 74 57 61 6b 65 54 69 6d 65 2c 0d 0a 20 20  astWakeTime,..  
14270 4c 61 73 74 53 6c 65 65 70 54 69 6d 65 2c 0d 0a  LastSleepTime,..
14280 20 20 53 79 73 74 65 6d 45 78 65 63 75 74 69 6f    SystemExecutio
14290 6e 53 74 61 74 65 2c 0d 0a 20 20 53 79 73 74 65  nState,..  Syste
142a0 6d 50 6f 77 65 72 53 74 61 74 65 4e 6f 74 69 66  mPowerStateNotif
142b0 79 48 61 6e 64 6c 65 72 2c 0d 0a 20 20 50 72 6f  yHandler,..  Pro
142c0 63 65 73 73 6f 72 50 6f 77 65 72 50 6f 6c 69 63  cessorPowerPolic
142d0 79 41 63 2c 0d 0a 20 20 50 72 6f 63 65 73 73 6f  yAc,..  Processo
142e0 72 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 2c 0d  rPowerPolicyDc,.
142f0 0a 20 20 56 65 72 69 66 79 50 72 6f 63 65 73 73  .  VerifyProcess
14300 6f 72 50 6f 77 65 72 50 6f 6c 69 63 79 41 63 2c  orPowerPolicyAc,
14310 0d 0a 20 20 56 65 72 69 66 79 50 72 6f 63 65 73  ..  VerifyProces
14320 73 6f 72 50 6f 77 65 72 50 6f 6c 69 63 79 44 63  sorPowerPolicyDc
14330 2c 0d 0a 20 20 50 72 6f 63 65 73 73 6f 72 50 6f  ,..  ProcessorPo
14340 77 65 72 50 6f 6c 69 63 79 43 75 72 72 65 6e 74  werPolicyCurrent
14350 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 36 20 50  ,..}..alias _6 P
14360 4f 57 45 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  OWER_INFORMATION
14370 5f 4c 45 56 45 4c 3b 0d 0a 0d 0a 73 74 72 75 63  _LEVEL;....struc
14380 74 20 5f 37 20 7b 0d 0a 20 20 44 57 4f 52 44 20  t _7 {..  DWORD 
14390 47 72 61 6e 75 6c 61 72 69 74 79 3b 0d 0a 20 20  Granularity;..  
143a0 44 57 4f 52 44 20 43 61 70 61 63 69 74 79 3b 0d  DWORD Capacity;.
143b0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 37 20 42 41 54  .}..alias _7 BAT
143c0 54 45 52 59 5f 52 45 50 4f 52 54 49 4e 47 5f 53  TERY_REPORTING_S
143d0 43 41 4c 45 3b 0d 0a 61 6c 69 61 73 20 5f 37 2a  CALE;..alias _7*
143e0 20 50 42 41 54 54 45 52 59 5f 52 45 50 4f 52 54   PBATTERY_REPORT
143f0 49 4e 47 5f 53 43 41 4c 45 3b 0d 0a 0d 0a 73 74  ING_SCALE;....st
14400 72 75 63 74 20 5f 38 20 7b 0d 0a 20 20 50 4f 57  ruct _8 {..  POW
14410 45 52 5f 41 43 54 49 4f 4e 20 41 63 74 69 6f 6e  ER_ACTION Action
14420 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73  ;..  DWORD Flags
14430 3b 0d 0a 20 20 44 57 4f 52 44 20 45 76 65 6e 74  ;..  DWORD Event
14440 43 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Code;..}..alias 
14450 5f 38 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f  _8 POWER_ACTION_
14460 50 4f 4c 49 43 59 3b 0d 0a 61 6c 69 61 73 20 5f  POLICY;..alias _
14470 38 2a 20 50 50 4f 57 45 52 5f 41 43 54 49 4f 4e  8* PPOWER_ACTION
14480 5f 50 4f 4c 49 43 59 3b 0d 0a 0d 0a 65 6e 75 6d  _POLICY;....enum
14490 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f   : uint { POWER_
144a0 41 43 54 49 4f 4e 5f 51 55 45 52 59 5f 41 4c 4c  ACTION_QUERY_ALL
144b0 4f 57 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  OWED = 0x0000000
144c0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
144d0 20 7b 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f   { POWER_ACTION_
144e0 55 49 5f 41 4c 4c 4f 57 45 44 20 3d 20 30 78 30  UI_ALLOWED = 0x0
144f0 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
14500 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f 41  : uint { POWER_A
14510 43 54 49 4f 4e 5f 4f 56 45 52 52 49 44 45 5f 41  CTION_OVERRIDE_A
14520 50 50 53 20 3d 20 30 78 30 30 30 30 30 30 30 34  PPS = 0x00000004
14530 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14540 7b 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 4c  { POWER_ACTION_L
14550 49 47 48 54 45 53 54 5f 46 49 52 53 54 20 3d 20  IGHTEST_FIRST = 
14560 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x10000000 }..en
14570 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45  um : uint { POWE
14580 52 5f 41 43 54 49 4f 4e 5f 4c 4f 43 4b 5f 43 4f  R_ACTION_LOCK_CO
14590 4e 53 4f 4c 45 20 3d 20 30 78 32 30 30 30 30 30  NSOLE = 0x200000
145a0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
145b0 74 20 7b 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e  t { POWER_ACTION
145c0 5f 44 49 53 41 42 4c 45 5f 57 41 4b 45 53 20 3d  _DISABLE_WAKES =
145d0 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x40000000 }..e
145e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57  num : uint { POW
145f0 45 52 5f 41 43 54 49 4f 4e 5f 43 52 49 54 49 43  ER_ACTION_CRITIC
14600 41 4c 20 3d 20 30 78 38 30 30 30 30 30 30 30 20  AL = 0x80000000 
14610 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
14620 20 7b 20 50 4f 57 45 52 5f 4c 45 56 45 4c 5f 55   { POWER_LEVEL_U
14630 53 45 52 5f 4e 4f 54 49 46 59 5f 54 45 58 54 20  SER_NOTIFY_TEXT 
14640 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
14650 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f  enum : uint { PO
14660 57 45 52 5f 4c 45 56 45 4c 5f 55 53 45 52 5f 4e  WER_LEVEL_USER_N
14670 4f 54 49 46 59 5f 53 4f 55 4e 44 20 3d 20 30 78  OTIFY_SOUND = 0x
14680 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
14690 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f   : uint { POWER_
146a0 4c 45 56 45 4c 5f 55 53 45 52 5f 4e 4f 54 49 46  LEVEL_USER_NOTIF
146b0 59 5f 45 58 45 43 20 3d 20 30 78 30 30 30 30 30  Y_EXEC = 0x00000
146c0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
146d0 6e 74 20 7b 20 50 4f 57 45 52 5f 55 53 45 52 5f  nt { POWER_USER_
146e0 4e 4f 54 49 46 59 5f 42 55 54 54 4f 4e 20 3d 20  NOTIFY_BUTTON = 
146f0 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
14700 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45  um : uint { POWE
14710 52 5f 55 53 45 52 5f 4e 4f 54 49 46 59 5f 53 48  R_USER_NOTIFY_SH
14720 55 54 44 4f 57 4e 20 3d 20 30 78 30 30 30 30 30  UTDOWN = 0x00000
14730 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
14740 6e 74 20 7b 20 50 4f 57 45 52 5f 46 4f 52 43 45  nt { POWER_FORCE
14750 5f 54 52 49 47 47 45 52 5f 52 45 53 45 54 20 3d  _TRIGGER_RESET =
14760 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x80000000 }...
14770 0a 73 74 72 75 63 74 20 5f 39 20 7b 0d 0a 20 20  .struct _9 {..  
14780 42 4f 4f 4c 45 41 4e 20 45 6e 61 62 6c 65 3b 0d  BOOLEAN Enable;.
14790 0a 20 20 42 59 54 45 20 53 70 61 72 65 5b 33 5d  .  BYTE Spare[3]
147a0 3b 0d 0a 20 20 44 57 4f 52 44 20 42 61 74 74 65  ;..  DWORD Batte
147b0 72 79 4c 65 76 65 6c 3b 0d 0a 20 20 50 4f 57 45  ryLevel;..  POWE
147c0 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 20  R_ACTION_POLICY 
147d0 50 6f 77 65 72 50 6f 6c 69 63 79 3b 0d 0a 20 20  PowerPolicy;..  
147e0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41  SYSTEM_POWER_STA
147f0 54 45 20 4d 69 6e 53 79 73 74 65 6d 53 74 61 74  TE MinSystemStat
14800 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 39 20  e;..}..alias _9 
14810 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 4c 45 56  SYSTEM_POWER_LEV
14820 45 4c 3b 0d 0a 61 6c 69 61 73 20 5f 39 2a 20 50  EL;..alias _9* P
14830 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 4c 45 56  SYSTEM_POWER_LEV
14840 45 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  EL;....enum : ui
14850 6e 74 20 7b 20 4e 55 4d 5f 44 49 53 43 48 41 52  nt { NUM_DISCHAR
14860 47 45 5f 50 4f 4c 49 43 49 45 53 20 3d 20 34 20  GE_POLICIES = 4 
14870 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14880 20 44 49 53 43 48 41 52 47 45 5f 50 4f 4c 49 43   DISCHARGE_POLIC
14890 59 5f 43 52 49 54 49 43 41 4c 20 3d 20 30 20 7d  Y_CRITICAL = 0 }
148a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
148b0 44 49 53 43 48 41 52 47 45 5f 50 4f 4c 49 43 59  DISCHARGE_POLICY
148c0 5f 4c 4f 57 20 3d 20 31 20 7d 0d 0a 0d 0a 65 6e  _LOW = 1 }....en
148d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 5f 54  um : uint { PO_T
148e0 48 52 4f 54 54 4c 45 5f 4e 4f 4e 45 20 3d 20 30  HROTTLE_NONE = 0
148f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14900 7b 20 50 4f 5f 54 48 52 4f 54 54 4c 45 5f 43 4f  { PO_THROTTLE_CO
14910 4e 53 54 41 4e 54 20 3d 20 31 20 7d 0d 0a 65 6e  NSTANT = 1 }..en
14920 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 5f 54  um : uint { PO_T
14930 48 52 4f 54 54 4c 45 5f 44 45 47 52 41 44 45 20  HROTTLE_DEGRADE 
14940 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
14950 6e 74 20 7b 20 50 4f 5f 54 48 52 4f 54 54 4c 45  nt { PO_THROTTLE
14960 5f 41 44 41 50 54 49 56 45 20 3d 20 33 20 7d 0d  _ADAPTIVE = 3 }.
14970 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
14980 4f 5f 54 48 52 4f 54 54 4c 45 5f 4d 41 58 49 4d  O_THROTTLE_MAXIM
14990 55 4d 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74 72 75  UM = 4 }....stru
149a0 63 74 20 5f 53 59 53 54 45 4d 5f 50 4f 57 45 52  ct _SYSTEM_POWER
149b0 5f 50 4f 4c 49 43 59 20 7b 0d 0a 20 20 44 57 4f  _POLICY {..  DWO
149c0 52 44 20 52 65 76 69 73 69 6f 6e 3b 0d 0a 0d 0a  RD Revision;....
149d0 20 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 50    POWER_ACTION_P
149e0 4f 4c 49 43 59 20 50 6f 77 65 72 42 75 74 74 6f  OLICY PowerButto
149f0 6e 3b 0d 0a 20 20 50 4f 57 45 52 5f 41 43 54 49  n;..  POWER_ACTI
14a00 4f 4e 5f 50 4f 4c 49 43 59 20 53 6c 65 65 70 42  ON_POLICY SleepB
14a10 75 74 74 6f 6e 3b 0d 0a 20 20 50 4f 57 45 52 5f  utton;..  POWER_
14a20 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 20 4c 69  ACTION_POLICY Li
14a30 64 43 6c 6f 73 65 3b 0d 0a 20 20 53 59 53 54 45  dClose;..  SYSTE
14a40 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4c 69  M_POWER_STATE Li
14a50 64 4f 70 65 6e 57 61 6b 65 3b 0d 0a 20 20 44 57  dOpenWake;..  DW
14a60 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 20  ORD Reserved;.. 
14a70 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 50 4f   POWER_ACTION_PO
14a80 4c 49 43 59 20 49 64 6c 65 3b 0d 0a 20 20 44 57  LICY Idle;..  DW
14a90 4f 52 44 20 49 64 6c 65 54 69 6d 65 6f 75 74 3b  ORD IdleTimeout;
14aa0 0d 0a 20 20 42 59 54 45 20 49 64 6c 65 53 65 6e  ..  BYTE IdleSen
14ab0 73 69 74 69 76 69 74 79 3b 0d 0a 0d 0a 20 20 42  sitivity;....  B
14ac0 59 54 45 20 44 79 6e 61 6d 69 63 54 68 72 6f 74  YTE DynamicThrot
14ad0 74 6c 65 3b 0d 0a 20 20 42 59 54 45 20 53 70 61  tle;..  BYTE Spa
14ae0 72 65 32 5b 32 5d 3b 0d 0a 20 20 53 59 53 54 45  re2[2];..  SYSTE
14af0 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4d 69  M_POWER_STATE Mi
14b00 6e 53 6c 65 65 70 3b 0d 0a 20 20 53 59 53 54 45  nSleep;..  SYSTE
14b10 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4d 61  M_POWER_STATE Ma
14b20 78 53 6c 65 65 70 3b 0d 0a 20 20 53 59 53 54 45  xSleep;..  SYSTE
14b30 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 52 65  M_POWER_STATE Re
14b40 64 75 63 65 64 4c 61 74 65 6e 63 79 53 6c 65 65  ducedLatencySlee
14b50 70 3b 0d 0a 20 20 44 57 4f 52 44 20 57 69 6e 4c  p;..  DWORD WinL
14b60 6f 67 6f 6e 46 6c 61 67 73 3b 0d 0a 20 20 44 57  ogonFlags;..  DW
14b70 4f 52 44 20 53 70 61 72 65 33 3b 0d 0a 20 20 44  ORD Spare3;..  D
14b80 57 4f 52 44 20 44 6f 7a 65 53 34 54 69 6d 65 6f  WORD DozeS4Timeo
14b90 75 74 3b 0d 0a 20 20 44 57 4f 52 44 20 42 72 6f  ut;..  DWORD Bro
14ba0 61 64 63 61 73 74 43 61 70 61 63 69 74 79 52 65  adcastCapacityRe
14bb0 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 20 20 53 59 53  solution;..  SYS
14bc0 54 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 20  TEM_POWER_LEVEL 
14bd0 44 69 73 63 68 61 72 67 65 50 6f 6c 69 63 79 5b  DischargePolicy[
14be0 4e 55 4d 5f 44 49 53 43 48 41 52 47 45 5f 50 4f  NUM_DISCHARGE_PO
14bf0 4c 49 43 49 45 53 5d 3b 0d 0a 20 20 44 57 4f 52  LICIES];..  DWOR
14c00 44 20 56 69 64 65 6f 54 69 6d 65 6f 75 74 3b 0d  D VideoTimeout;.
14c10 0a 20 20 42 4f 4f 4c 45 41 4e 20 56 69 64 65 6f  .  BOOLEAN Video
14c20 44 69 6d 44 69 73 70 6c 61 79 3b 0d 0a 20 20 44  DimDisplay;..  D
14c30 57 4f 52 44 20 56 69 64 65 6f 52 65 73 65 72 76  WORD VideoReserv
14c40 65 64 5b 33 5d 3b 0d 0a 20 20 44 57 4f 52 44 20  ed[3];..  DWORD 
14c50 53 70 69 6e 64 6f 77 6e 54 69 6d 65 6f 75 74 3b  SpindownTimeout;
14c60 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 4f 70 74 69  ..  BOOLEAN Opti
14c70 6d 69 7a 65 46 6f 72 50 6f 77 65 72 3b 0d 0a 20  mizeForPower;.. 
14c80 20 42 59 54 45 20 46 61 6e 54 68 72 6f 74 74 6c   BYTE FanThrottl
14c90 65 54 6f 6c 65 72 61 6e 63 65 3b 0d 0a 20 20 42  eTolerance;..  B
14ca0 59 54 45 20 46 6f 72 63 65 64 54 68 72 6f 74 74  YTE ForcedThrott
14cb0 6c 65 3b 0d 0a 20 20 42 59 54 45 20 4d 69 6e 54  le;..  BYTE MinT
14cc0 68 72 6f 74 74 6c 65 3b 0d 0a 20 20 50 4f 57 45  hrottle;..  POWE
14cd0 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 20  R_ACTION_POLICY 
14ce0 4f 76 65 72 54 68 72 6f 74 74 6c 65 64 3b 0d 0a  OverThrottled;..
14cf0 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d  }..alias _SYSTEM
14d00 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 53 59  _POWER_POLICY SY
14d10 53 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43  STEM_POWER_POLIC
14d20 59 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45  Y;..alias _SYSTE
14d30 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 2a 20  M_POWER_POLICY* 
14d40 50 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 50 4f  PSYSTEM_POWER_PO
14d50 4c 49 43 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  LICY;....struct 
14d60 5f 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52  _PROCESSOR_POWER
14d70 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 20 7b 0d 0a  _POLICY_INFO {..
14d80 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 43 68  ..  DWORD TimeCh
14d90 65 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65  eck;..  DWORD De
14da0 6d 6f 74 65 4c 69 6d 69 74 3b 0d 0a 20 20 44 57  moteLimit;..  DW
14db0 4f 52 44 20 50 72 6f 6d 6f 74 65 4c 69 6d 69 74  ORD PromoteLimit
14dc0 3b 0d 0a 0d 0a 20 20 42 59 54 45 20 44 65 6d 6f  ;....  BYTE Demo
14dd0 74 65 50 65 72 63 65 6e 74 3b 0d 0a 20 20 42 59  tePercent;..  BY
14de0 54 45 20 50 72 6f 6d 6f 74 65 50 65 72 63 65 6e  TE PromotePercen
14df0 74 3b 0d 0a 20 20 42 59 54 45 20 53 70 61 72 65  t;..  BYTE Spare
14e00 5b 32 5d 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20  [2];..// DWORD  
14e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
14e20 20 41 6c 6c 6f 77 44 65 6d 6f 74 69 6f 6e 3a 31   AllowDemotion:1
14e30 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 20 20  ;..// DWORD     
14e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c                Al
14e50 6c 6f 77 50 72 6f 6d 6f 74 69 6f 6e 3a 31 3b 0d  lowPromotion:1;.
14e60 0a 2f 2f 20 44 57 4f 52 44 20 20 20 20 20 20 20  .// DWORD       
14e70 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65              Rese
14e80 72 76 65 64 3a 33 30 3b 0d 0a 0d 0a 7d 0d 0a 61  rved:30;....}..a
14e90 6c 69 61 73 20 5f 50 52 4f 43 45 53 53 4f 52 5f  lias _PROCESSOR_
14ea0 50 4f 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46  POWER_POLICY_INF
14eb0 4f 20 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45  O PROCESSOR_POWE
14ec0 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 3b 0d 0a  R_POLICY_INFO;..
14ed0 61 6c 69 61 73 20 5f 50 52 4f 43 45 53 53 4f 52  alias _PROCESSOR
14ee0 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e  _POWER_POLICY_IN
14ef0 46 4f 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f 50  FO* PPROCESSOR_P
14f00 4f 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f  OWER_POLICY_INFO
14f10 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f  ;....struct _PRO
14f20 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c  CESSOR_POWER_POL
14f30 49 43 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 52  ICY {..  DWORD R
14f40 65 76 69 73 69 6f 6e 3b 0d 0a 0d 0a 20 20 42 59  evision;....  BY
14f50 54 45 20 44 79 6e 61 6d 69 63 54 68 72 6f 74 74  TE DynamicThrott
14f60 6c 65 3b 0d 0a 20 20 42 59 54 45 20 53 70 61 72  le;..  BYTE Spar
14f70 65 5b 33 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 52  e[3];..  DWORD R
14f80 65 73 65 72 76 65 64 3b 0d 0a 0d 0a 20 20 44 57  eserved;....  DW
14f90 4f 52 44 20 50 6f 6c 69 63 79 43 6f 75 6e 74 3b  ORD PolicyCount;
14fa0 0d 0a 20 20 50 52 4f 43 45 53 53 4f 52 5f 50 4f  ..  PROCESSOR_PO
14fb0 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 20  WER_POLICY_INFO 
14fc0 50 6f 6c 69 63 79 5b 33 5d 3b 0d 0a 7d 0d 0a 61  Policy[3];..}..a
14fd0 6c 69 61 73 20 5f 50 52 4f 43 45 53 53 4f 52 5f  lias _PROCESSOR_
14fe0 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 50 52 4f  POWER_POLICY PRO
14ff0 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c  CESSOR_POWER_POL
15000 49 43 59 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f  ICY;..alias _PRO
15010 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c  CESSOR_POWER_POL
15020 49 43 59 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f  ICY* PPROCESSOR_
15030 50 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0d 0a 0d  POWER_POLICY;...
15040 0a 73 74 72 75 63 74 20 5f 41 44 4d 49 4e 49 53  .struct _ADMINIS
15050 54 52 41 54 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c  TRATOR_POWER_POL
15060 49 43 59 20 7b 0d 0a 0d 0a 20 20 53 59 53 54 45  ICY {....  SYSTE
15070 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4d 69  M_POWER_STATE Mi
15080 6e 53 6c 65 65 70 3b 0d 0a 20 20 53 59 53 54 45  nSleep;..  SYSTE
15090 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4d 61  M_POWER_STATE Ma
150a0 78 53 6c 65 65 70 3b 0d 0a 20 20 44 57 4f 52 44  xSleep;..  DWORD
150b0 20 4d 69 6e 56 69 64 65 6f 54 69 6d 65 6f 75 74   MinVideoTimeout
150c0 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 61 78 56 69  ;..  DWORD MaxVi
150d0 64 65 6f 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 44  deoTimeout;..  D
150e0 57 4f 52 44 20 4d 69 6e 53 70 69 6e 64 6f 77 6e  WORD MinSpindown
150f0 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 44 57 4f 52  Timeout;..  DWOR
15100 44 20 4d 61 78 53 70 69 6e 64 6f 77 6e 54 69 6d  D MaxSpindownTim
15110 65 6f 75 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  eout;..}..alias 
15120 5f 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 5f 50  _ADMINISTRATOR_P
15130 4f 57 45 52 5f 50 4f 4c 49 43 59 20 41 44 4d 49  OWER_POLICY ADMI
15140 4e 49 53 54 52 41 54 4f 52 5f 50 4f 57 45 52 5f  NISTRATOR_POWER_
15150 50 4f 4c 49 43 59 3b 0d 0a 61 6c 69 61 73 20 5f  POLICY;..alias _
15160 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f  ADMINISTRATOR_PO
15170 57 45 52 5f 50 4f 4c 49 43 59 2a 20 50 41 44 4d  WER_POLICY* PADM
15180 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f 57 45 52  INISTRATOR_POWER
15190 5f 50 4f 4c 49 43 59 3b 0d 0a 0d 0a 73 74 72 75  _POLICY;....stru
151a0 63 74 20 5f 31 30 20 7b 0d 0a 0d 0a 20 20 42 4f  ct _10 {....  BO
151b0 4f 4c 45 41 4e 20 50 6f 77 65 72 42 75 74 74 6f  OLEAN PowerButto
151c0 6e 50 72 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f  nPresent;..  BOO
151d0 4c 45 41 4e 20 53 6c 65 65 70 42 75 74 74 6f 6e  LEAN SleepButton
151e0 50 72 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c  Present;..  BOOL
151f0 45 41 4e 20 4c 69 64 50 72 65 73 65 6e 74 3b 0d  EAN LidPresent;.
15200 0a 20 20 42 4f 4f 4c 45 41 4e 20 53 79 73 74 65  .  BOOLEAN Syste
15210 6d 53 31 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  mS1;..  BOOLEAN 
15220 53 79 73 74 65 6d 53 32 3b 0d 0a 20 20 42 4f 4f  SystemS2;..  BOO
15230 4c 45 41 4e 20 53 79 73 74 65 6d 53 33 3b 0d 0a  LEAN SystemS3;..
15240 20 20 42 4f 4f 4c 45 41 4e 20 53 79 73 74 65 6d    BOOLEAN System
15250 53 34 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 53  S4;..  BOOLEAN S
15260 79 73 74 65 6d 53 35 3b 0d 0a 20 20 42 4f 4f 4c  ystemS5;..  BOOL
15270 45 41 4e 20 48 69 62 65 72 46 69 6c 65 50 72 65  EAN HiberFilePre
15280 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e  sent;..  BOOLEAN
15290 20 46 75 6c 6c 57 61 6b 65 3b 0d 0a 20 20 42 4f   FullWake;..  BO
152a0 4f 4c 45 41 4e 20 56 69 64 65 6f 44 69 6d 50 72  OLEAN VideoDimPr
152b0 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41  esent;..  BOOLEA
152c0 4e 20 41 70 6d 50 72 65 73 65 6e 74 3b 0d 0a 20  N ApmPresent;.. 
152d0 20 42 4f 4f 4c 45 41 4e 20 55 70 73 50 72 65 73   BOOLEAN UpsPres
152e0 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ent;..  BOOLEAN 
152f0 54 68 65 72 6d 61 6c 43 6f 6e 74 72 6f 6c 3b 0d  ThermalControl;.
15300 0a 20 20 42 4f 4f 4c 45 41 4e 20 50 72 6f 63 65  .  BOOLEAN Proce
15310 73 73 6f 72 54 68 72 6f 74 74 6c 65 3b 0d 0a 20  ssorThrottle;.. 
15320 20 42 59 54 45 20 50 72 6f 63 65 73 73 6f 72 4d   BYTE ProcessorM
15330 69 6e 54 68 72 6f 74 74 6c 65 3b 0d 0a 20 20 42  inThrottle;..  B
15340 59 54 45 20 50 72 6f 63 65 73 73 6f 72 4d 61 78  YTE ProcessorMax
15350 54 68 72 6f 74 74 6c 65 3b 0d 0a 20 20 42 59 54  Throttle;..  BYT
15360 45 20 73 70 61 72 65 32 5b 34 5d 3b 0d 0a 20 20  E spare2[4];..  
15370 42 4f 4f 4c 45 41 4e 20 44 69 73 6b 53 70 69 6e  BOOLEAN DiskSpin
15380 44 6f 77 6e 3b 0d 0a 20 20 42 59 54 45 20 73 70  Down;..  BYTE sp
15390 61 72 65 33 5b 38 5d 3b 0d 0a 20 20 42 4f 4f 4c  are3[8];..  BOOL
153a0 45 41 4e 20 53 79 73 74 65 6d 42 61 74 74 65 72  EAN SystemBatter
153b0 69 65 73 50 72 65 73 65 6e 74 3b 0d 0a 20 20 42  iesPresent;..  B
153c0 4f 4f 4c 45 41 4e 20 42 61 74 74 65 72 69 65 73  OOLEAN Batteries
153d0 41 72 65 53 68 6f 72 74 54 65 72 6d 3b 0d 0a 20  AreShortTerm;.. 
153e0 20 42 41 54 54 45 52 59 5f 52 45 50 4f 52 54 49   BATTERY_REPORTI
153f0 4e 47 5f 53 43 41 4c 45 20 42 61 74 74 65 72 79  NG_SCALE Battery
15400 53 63 61 6c 65 5b 33 5d 3b 0d 0a 20 20 53 59 53  Scale[3];..  SYS
15410 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20  TEM_POWER_STATE 
15420 41 63 4f 6e 4c 69 6e 65 57 61 6b 65 3b 0d 0a 20  AcOnLineWake;.. 
15430 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54   SYSTEM_POWER_ST
15440 41 54 45 20 53 6f 66 74 4c 69 64 57 61 6b 65 3b  ATE SoftLidWake;
15450 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45 52  ..  SYSTEM_POWER
15460 5f 53 54 41 54 45 20 52 74 63 57 61 6b 65 3b 0d  _STATE RtcWake;.
15470 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f  .  SYSTEM_POWER_
15480 53 54 41 54 45 20 4d 69 6e 44 65 76 69 63 65 57  STATE MinDeviceW
15490 61 6b 65 53 74 61 74 65 3b 0d 0a 20 20 53 59 53  akeState;..  SYS
154a0 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20  TEM_POWER_STATE 
154b0 44 65 66 61 75 6c 74 4c 6f 77 4c 61 74 65 6e 63  DefaultLowLatenc
154c0 79 57 61 6b 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  yWake;..}..alias
154d0 20 5f 31 30 20 53 59 53 54 45 4d 5f 50 4f 57 45   _10 SYSTEM_POWE
154e0 52 5f 43 41 50 41 42 49 4c 49 54 49 45 53 3b 0d  R_CAPABILITIES;.
154f0 0a 61 6c 69 61 73 20 5f 31 30 2a 20 50 53 59 53  .alias _10* PSYS
15500 54 45 4d 5f 50 4f 57 45 52 5f 43 41 50 41 42 49  TEM_POWER_CAPABI
15510 4c 49 54 49 45 53 3b 0d 0a 0d 0a 73 74 72 75 63  LITIES;....struc
15520 74 20 5f 31 31 20 7b 0d 0a 20 20 42 4f 4f 4c 45  t _11 {..  BOOLE
15530 41 4e 20 41 63 4f 6e 4c 69 6e 65 3b 0d 0a 20 20  AN AcOnLine;..  
15540 42 4f 4f 4c 45 41 4e 20 42 61 74 74 65 72 79 50  BOOLEAN BatteryP
15550 72 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45  resent;..  BOOLE
15560 41 4e 20 43 68 61 72 67 69 6e 67 3b 0d 0a 20 20  AN Charging;..  
15570 42 4f 4f 4c 45 41 4e 20 44 69 73 63 68 61 72 67  BOOLEAN Discharg
15580 69 6e 67 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ing;..  BOOLEAN 
15590 53 70 61 72 65 31 5b 34 5d 3b 0d 0a 20 20 44 57  Spare1[4];..  DW
155a0 4f 52 44 20 4d 61 78 43 61 70 61 63 69 74 79 3b  ORD MaxCapacity;
155b0 0d 0a 20 20 44 57 4f 52 44 20 52 65 6d 61 69 6e  ..  DWORD Remain
155c0 69 6e 67 43 61 70 61 63 69 74 79 3b 0d 0a 20 20  ingCapacity;..  
155d0 44 57 4f 52 44 20 52 61 74 65 3b 0d 0a 20 20 44  DWORD Rate;..  D
155e0 57 4f 52 44 20 45 73 74 69 6d 61 74 65 64 54 69  WORD EstimatedTi
155f0 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65 66  me;..  DWORD Def
15600 61 75 6c 74 41 6c 65 72 74 31 3b 0d 0a 20 20 44  aultAlert1;..  D
15610 57 4f 52 44 20 44 65 66 61 75 6c 74 41 6c 65 72  WORD DefaultAler
15620 74 32 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31  t2;..}..alias _1
15630 31 20 53 59 53 54 45 4d 5f 42 41 54 54 45 52 59  1 SYSTEM_BATTERY
15640 5f 53 54 41 54 45 3b 0d 0a 61 6c 69 61 73 20 5f  _STATE;..alias _
15650 31 31 2a 20 50 53 59 53 54 45 4d 5f 42 41 54 54  11* PSYSTEM_BATT
15660 45 52 59 5f 53 54 41 54 45 3b 0d 0a 0d 0a 2f 2f  ERY_STATE;....//
15670 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 0d   #ifndef _MAC...
15680 0a 61 6c 69 67 6e 28 34 29 3a 0d 0a 0d 0a 65 6e  .align(4):....en
15690 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
156a0 45 5f 44 4f 53 5f 53 49 47 4e 41 54 55 52 45 20  E_DOS_SIGNATURE 
156b0 3d 20 30 78 35 41 34 44 20 7d 0d 0a 65 6e 75 6d  = 0x5A4D }..enum
156c0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
156d0 4f 53 32 5f 53 49 47 4e 41 54 55 52 45 20 3d 20  OS2_SIGNATURE = 
156e0 30 78 34 35 34 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x454E }..enum :
156f0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 4f 53   uint { IMAGE_OS
15700 32 5f 53 49 47 4e 41 54 55 52 45 5f 4c 45 20 3d  2_SIGNATURE_LE =
15710 20 30 78 34 35 34 43 20 7d 0d 0a 65 6e 75 6d 20   0x454C }..enum 
15720 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 56  : uint { IMAGE_V
15730 58 44 5f 53 49 47 4e 41 54 55 52 45 20 3d 20 30  XD_SIGNATURE = 0
15740 78 34 35 34 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x454C }..enum : 
15750 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 4e 54 5f  uint { IMAGE_NT_
15760 53 49 47 4e 41 54 55 52 45 20 3d 20 30 78 30 30  SIGNATURE = 0x00
15770 30 30 34 35 35 30 20 7d 0d 0a 0d 0a 61 6c 69 67  004550 }....alig
15780 6e 28 32 29 3a 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  n(2):....// #els
15790 65 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  e....// #.......
157a0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
157b0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
157c0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
157d0 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 44  .struct _IMAGE_D
157e0 4f 53 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20 57  OS_HEADER {..  W
157f0 4f 52 44 20 65 5f 6d 61 67 69 63 3b 0d 0a 20 20  ORD e_magic;..  
15800 57 4f 52 44 20 65 5f 63 62 6c 70 3b 0d 0a 20 20  WORD e_cblp;..  
15810 57 4f 52 44 20 65 5f 63 70 3b 0d 0a 20 20 57 4f  WORD e_cp;..  WO
15820 52 44 20 65 5f 63 72 6c 63 3b 0d 0a 20 20 57 4f  RD e_crlc;..  WO
15830 52 44 20 65 5f 63 70 61 72 68 64 72 3b 0d 0a 20  RD e_cparhdr;.. 
15840 20 57 4f 52 44 20 65 5f 6d 69 6e 61 6c 6c 6f 63   WORD e_minalloc
15850 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 6d 61 78 61  ;..  WORD e_maxa
15860 6c 6c 6f 63 3b 0d 0a 20 20 57 4f 52 44 20 65 5f  lloc;..  WORD e_
15870 73 73 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 73 70  ss;..  WORD e_sp
15880 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 63 73 75 6d  ;..  WORD e_csum
15890 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 69 70 3b 0d  ;..  WORD e_ip;.
158a0 0a 20 20 57 4f 52 44 20 65 5f 63 73 3b 0d 0a 20  .  WORD e_cs;.. 
158b0 20 57 4f 52 44 20 65 5f 6c 66 61 72 6c 63 3b 0d   WORD e_lfarlc;.
158c0 0a 20 20 57 4f 52 44 20 65 5f 6f 76 6e 6f 3b 0d  .  WORD e_ovno;.
158d0 0a 20 20 57 4f 52 44 20 65 5f 72 65 73 5b 34 5d  .  WORD e_res[4]
158e0 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 6f 65 6d 69  ;..  WORD e_oemi
158f0 64 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 6f 65 6d  d;..  WORD e_oem
15900 69 6e 66 6f 3b 0d 0a 20 20 57 4f 52 44 20 65 5f  info;..  WORD e_
15910 72 65 73 32 5b 31 30 5d 3b 0d 0a 20 20 4c 4f 4e  res2[10];..  LON
15920 47 20 65 5f 6c 66 61 6e 65 77 3b 0d 0a 7d 0d 0a  G e_lfanew;..}..
15930 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 44 4f 53  alias _IMAGE_DOS
15940 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 44 4f  _HEADER IMAGE_DO
15950 53 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73  S_HEADER;..alias
15960 20 5f 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44   _IMAGE_DOS_HEAD
15970 45 52 2a 20 50 49 4d 41 47 45 5f 44 4f 53 5f 48  ER* PIMAGE_DOS_H
15980 45 41 44 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74  EADER;....struct
15990 20 5f 49 4d 41 47 45 5f 4f 53 32 5f 48 45 41 44   _IMAGE_OS2_HEAD
159a0 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f  ER {..  WORD ne_
159b0 6d 61 67 69 63 3b 0d 0a 20 20 43 48 41 52 20 6e  magic;..  CHAR n
159c0 65 5f 76 65 72 3b 0d 0a 20 20 43 48 41 52 20 6e  e_ver;..  CHAR n
159d0 65 5f 72 65 76 3b 0d 0a 20 20 57 4f 52 44 20 6e  e_rev;..  WORD n
159e0 65 5f 65 6e 74 74 61 62 3b 0d 0a 20 20 57 4f 52  e_enttab;..  WOR
159f0 44 20 6e 65 5f 63 62 65 6e 74 74 61 62 3b 0d 0a  D ne_cbenttab;..
15a00 20 20 4c 4f 4e 47 20 6e 65 5f 63 72 63 3b 0d 0a    LONG ne_crc;..
15a10 20 20 57 4f 52 44 20 6e 65 5f 66 6c 61 67 73 3b    WORD ne_flags;
15a20 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 61 75 74 6f  ..  WORD ne_auto
15a30 64 61 74 61 3b 0d 0a 20 20 57 4f 52 44 20 6e 65  data;..  WORD ne
15a40 5f 68 65 61 70 3b 0d 0a 20 20 57 4f 52 44 20 6e  _heap;..  WORD n
15a50 65 5f 73 74 61 63 6b 3b 0d 0a 20 20 4c 4f 4e 47  e_stack;..  LONG
15a60 20 6e 65 5f 63 73 69 70 3b 0d 0a 20 20 4c 4f 4e   ne_csip;..  LON
15a70 47 20 6e 65 5f 73 73 73 70 3b 0d 0a 20 20 57 4f  G ne_sssp;..  WO
15a80 52 44 20 6e 65 5f 63 73 65 67 3b 0d 0a 20 20 57  RD ne_cseg;..  W
15a90 4f 52 44 20 6e 65 5f 63 6d 6f 64 3b 0d 0a 20 20  ORD ne_cmod;..  
15aa0 57 4f 52 44 20 6e 65 5f 63 62 6e 72 65 73 74 61  WORD ne_cbnresta
15ab0 62 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 73 65  b;..  WORD ne_se
15ac0 67 74 61 62 3b 0d 0a 20 20 57 4f 52 44 20 6e 65  gtab;..  WORD ne
15ad0 5f 72 73 72 63 74 61 62 3b 0d 0a 20 20 57 4f 52  _rsrctab;..  WOR
15ae0 44 20 6e 65 5f 72 65 73 74 61 62 3b 0d 0a 20 20  D ne_restab;..  
15af0 57 4f 52 44 20 6e 65 5f 6d 6f 64 74 61 62 3b 0d  WORD ne_modtab;.
15b00 0a 20 20 57 4f 52 44 20 6e 65 5f 69 6d 70 74 61  .  WORD ne_impta
15b10 62 3b 0d 0a 20 20 4c 4f 4e 47 20 6e 65 5f 6e 72  b;..  LONG ne_nr
15b20 65 73 74 61 62 3b 0d 0a 20 20 57 4f 52 44 20 6e  estab;..  WORD n
15b30 65 5f 63 6d 6f 76 65 6e 74 3b 0d 0a 20 20 57 4f  e_cmovent;..  WO
15b40 52 44 20 6e 65 5f 61 6c 69 67 6e 3b 0d 0a 20 20  RD ne_align;..  
15b50 57 4f 52 44 20 6e 65 5f 63 72 65 73 3b 0d 0a 20  WORD ne_cres;.. 
15b60 20 42 59 54 45 20 6e 65 5f 65 78 65 74 79 70 3b   BYTE ne_exetyp;
15b70 0d 0a 20 20 42 59 54 45 20 6e 65 5f 66 6c 61 67  ..  BYTE ne_flag
15b80 73 6f 74 68 65 72 73 3b 0d 0a 20 20 57 4f 52 44  sothers;..  WORD
15b90 20 6e 65 5f 70 72 65 74 74 68 75 6e 6b 73 3b 0d   ne_pretthunks;.
15ba0 0a 20 20 57 4f 52 44 20 6e 65 5f 70 73 65 67 72  .  WORD ne_psegr
15bb0 65 66 62 79 74 65 73 3b 0d 0a 20 20 57 4f 52 44  efbytes;..  WORD
15bc0 20 6e 65 5f 73 77 61 70 61 72 65 61 3b 0d 0a 20   ne_swaparea;.. 
15bd0 20 57 4f 52 44 20 6e 65 5f 65 78 70 76 65 72 3b   WORD ne_expver;
15be0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ..}..alias _IMAG
15bf0 45 5f 4f 53 32 5f 48 45 41 44 45 52 20 49 4d 41  E_OS2_HEADER IMA
15c00 47 45 5f 4f 53 32 5f 48 45 41 44 45 52 3b 0d 0a  GE_OS2_HEADER;..
15c10 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4f 53 32  alias _IMAGE_OS2
15c20 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45 5f  _HEADER* PIMAGE_
15c30 4f 53 32 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 73  OS2_HEADER;....s
15c40 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 56 58 44  truct _IMAGE_VXD
15c50 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20 57 4f 52  _HEADER {..  WOR
15c60 44 20 65 33 32 5f 6d 61 67 69 63 3b 0d 0a 20 20  D e32_magic;..  
15c70 42 59 54 45 20 65 33 32 5f 62 6f 72 64 65 72 3b  BYTE e32_border;
15c80 0d 0a 20 20 42 59 54 45 20 65 33 32 5f 77 6f 72  ..  BYTE e32_wor
15c90 64 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33  der;..  DWORD e3
15ca0 32 5f 6c 65 76 65 6c 3b 0d 0a 20 20 57 4f 52 44  2_level;..  WORD
15cb0 20 65 33 32 5f 63 70 75 3b 0d 0a 20 20 57 4f 52   e32_cpu;..  WOR
15cc0 44 20 65 33 32 5f 6f 73 3b 0d 0a 20 20 44 57 4f  D e32_os;..  DWO
15cd0 52 44 20 65 33 32 5f 76 65 72 3b 0d 0a 20 20 44  RD e32_ver;..  D
15ce0 57 4f 52 44 20 65 33 32 5f 6d 66 6c 61 67 73 3b  WORD e32_mflags;
15cf0 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 6d 70  ..  DWORD e32_mp
15d00 61 67 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 65  ages;..  DWORD e
15d10 33 32 5f 73 74 61 72 74 6f 62 6a 3b 0d 0a 20 20  32_startobj;..  
15d20 44 57 4f 52 44 20 65 33 32 5f 65 69 70 3b 0d 0a  DWORD e32_eip;..
15d30 20 20 44 57 4f 52 44 20 65 33 32 5f 73 74 61 63    DWORD e32_stac
15d40 6b 6f 62 6a 3b 0d 0a 20 20 44 57 4f 52 44 20 65  kobj;..  DWORD e
15d50 33 32 5f 65 73 70 3b 0d 0a 20 20 44 57 4f 52 44  32_esp;..  DWORD
15d60 20 65 33 32 5f 70 61 67 65 73 69 7a 65 3b 0d 0a   e32_pagesize;..
15d70 20 20 44 57 4f 52 44 20 65 33 32 5f 6c 61 73 74    DWORD e32_last
15d80 70 61 67 65 73 69 7a 65 3b 0d 0a 20 20 44 57 4f  pagesize;..  DWO
15d90 52 44 20 65 33 32 5f 66 69 78 75 70 73 69 7a 65  RD e32_fixupsize
15da0 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 66  ;..  DWORD e32_f
15db0 69 78 75 70 73 75 6d 3b 0d 0a 20 20 44 57 4f 52  ixupsum;..  DWOR
15dc0 44 20 65 33 32 5f 6c 64 72 73 69 7a 65 3b 0d 0a  D e32_ldrsize;..
15dd0 20 20 44 57 4f 52 44 20 65 33 32 5f 6c 64 72 73    DWORD e32_ldrs
15de0 75 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  um;..  DWORD e32
15df0 5f 6f 62 6a 74 61 62 3b 0d 0a 20 20 44 57 4f 52  _objtab;..  DWOR
15e00 44 20 65 33 32 5f 6f 62 6a 63 6e 74 3b 0d 0a 20  D e32_objcnt;.. 
15e10 20 44 57 4f 52 44 20 65 33 32 5f 6f 62 6a 6d 61   DWORD e32_objma
15e20 70 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  p;..  DWORD e32_
15e30 69 74 65 72 6d 61 70 3b 0d 0a 20 20 44 57 4f 52  itermap;..  DWOR
15e40 44 20 65 33 32 5f 72 73 72 63 74 61 62 3b 0d 0a  D e32_rsrctab;..
15e50 20 20 44 57 4f 52 44 20 65 33 32 5f 72 73 72 63    DWORD e32_rsrc
15e60 63 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33  cnt;..  DWORD e3
15e70 32 5f 72 65 73 74 61 62 3b 0d 0a 20 20 44 57 4f  2_restab;..  DWO
15e80 52 44 20 65 33 32 5f 65 6e 74 74 61 62 3b 0d 0a  RD e32_enttab;..
15e90 20 20 44 57 4f 52 44 20 65 33 32 5f 64 69 72 74    DWORD e32_dirt
15ea0 61 62 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  ab;..  DWORD e32
15eb0 5f 64 69 72 63 6e 74 3b 0d 0a 20 20 44 57 4f 52  _dircnt;..  DWOR
15ec0 44 20 65 33 32 5f 66 70 61 67 65 74 61 62 3b 0d  D e32_fpagetab;.
15ed0 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 66 72 65  .  DWORD e32_fre
15ee0 63 74 61 62 3b 0d 0a 20 20 44 57 4f 52 44 20 65  ctab;..  DWORD e
15ef0 33 32 5f 69 6d 70 6d 6f 64 3b 0d 0a 20 20 44 57  32_impmod;..  DW
15f00 4f 52 44 20 65 33 32 5f 69 6d 70 6d 6f 64 63 6e  ORD e32_impmodcn
15f10 74 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  t;..  DWORD e32_
15f20 69 6d 70 70 72 6f 63 3b 0d 0a 20 20 44 57 4f 52  impproc;..  DWOR
15f30 44 20 65 33 32 5f 70 61 67 65 73 75 6d 3b 0d 0a  D e32_pagesum;..
15f40 20 20 44 57 4f 52 44 20 65 33 32 5f 64 61 74 61    DWORD e32_data
15f50 70 61 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20 65  page;..  DWORD e
15f60 33 32 5f 70 72 65 6c 6f 61 64 3b 0d 0a 20 20 44  32_preload;..  D
15f70 57 4f 52 44 20 65 33 32 5f 6e 72 65 73 74 61 62  WORD e32_nrestab
15f80 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 63  ;..  DWORD e32_c
15f90 62 6e 72 65 73 74 61 62 3b 0d 0a 20 20 44 57 4f  bnrestab;..  DWO
15fa0 52 44 20 65 33 32 5f 6e 72 65 73 73 75 6d 3b 0d  RD e32_nressum;.
15fb0 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 61 75 74  .  DWORD e32_aut
15fc0 6f 64 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20  odata;..  DWORD 
15fd0 65 33 32 5f 64 65 62 75 67 69 6e 66 6f 3b 0d 0a  e32_debuginfo;..
15fe0 20 20 44 57 4f 52 44 20 65 33 32 5f 64 65 62 75    DWORD e32_debu
15ff0 67 6c 65 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 65  glen;..  DWORD e
16000 33 32 5f 69 6e 73 74 70 72 65 6c 6f 61 64 3b 0d  32_instpreload;.
16010 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 69 6e 73  .  DWORD e32_ins
16020 74 64 65 6d 61 6e 64 3b 0d 0a 20 20 44 57 4f 52  tdemand;..  DWOR
16030 44 20 65 33 32 5f 68 65 61 70 73 69 7a 65 3b 0d  D e32_heapsize;.
16040 0a 20 20 42 59 54 45 20 65 33 32 5f 72 65 73 33  .  BYTE e32_res3
16050 5b 31 32 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 65  [12];..  DWORD e
16060 33 32 5f 77 69 6e 72 65 73 6f 66 66 3b 0d 0a 20  32_winresoff;.. 
16070 20 44 57 4f 52 44 20 65 33 32 5f 77 69 6e 72 65   DWORD e32_winre
16080 73 6c 65 6e 3b 0d 0a 20 20 57 4f 52 44 20 65 33  slen;..  WORD e3
16090 32 5f 64 65 76 69 64 3b 0d 0a 20 20 57 4f 52 44  2_devid;..  WORD
160a0 20 65 33 32 5f 64 64 6b 76 65 72 3b 0d 0a 7d 0d   e32_ddkver;..}.
160b0 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 56 58  .alias _IMAGE_VX
160c0 44 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 56  D_HEADER IMAGE_V
160d0 58 44 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61  XD_HEADER;..alia
160e0 73 20 5f 49 4d 41 47 45 5f 56 58 44 5f 48 45 41  s _IMAGE_VXD_HEA
160f0 44 45 52 2a 20 50 49 4d 41 47 45 5f 56 58 44 5f  DER* PIMAGE_VXD_
16100 48 45 41 44 45 52 3b 0d 0a 0d 0a 2f 2f 20 23 69  HEADER;....// #i
16110 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 61 6c 69 67  fndef _MAC..alig
16120 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  n:..// #endif...
16130 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 46  .struct _IMAGE_F
16140 49 4c 45 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20  ILE_HEADER {..  
16150 57 4f 52 44 20 4d 61 63 68 69 6e 65 3b 0d 0a 20  WORD Machine;.. 
16160 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 53 65   WORD NumberOfSe
16170 63 74 69 6f 6e 73 3b 0d 0a 20 20 44 57 4f 52 44  ctions;..  DWORD
16180 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d   TimeDateStamp;.
16190 0a 20 20 44 57 4f 52 44 20 50 6f 69 6e 74 65 72  .  DWORD Pointer
161a0 54 6f 53 79 6d 62 6f 6c 54 61 62 6c 65 3b 0d 0a  ToSymbolTable;..
161b0 20 20 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66    DWORD NumberOf
161c0 53 79 6d 62 6f 6c 73 3b 0d 0a 20 20 57 4f 52 44  Symbols;..  WORD
161d0 20 53 69 7a 65 4f 66 4f 70 74 69 6f 6e 61 6c 48   SizeOfOptionalH
161e0 65 61 64 65 72 3b 0d 0a 20 20 57 4f 52 44 20 43  eader;..  WORD C
161f0 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d  haracteristics;.
16200 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
16210 5f 46 49 4c 45 5f 48 45 41 44 45 52 20 49 4d 41  _FILE_HEADER IMA
16220 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 3b 0d  GE_FILE_HEADER;.
16230 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 46 49  .alias _IMAGE_FI
16240 4c 45 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47  LE_HEADER* PIMAG
16250 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 3b 0d 0a  E_FILE_HEADER;..
16260 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16270 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 46 49 4c  IMAGE_SIZEOF_FIL
16280 45 5f 48 45 41 44 45 52 20 3d 20 32 30 20 7d 0d  E_HEADER = 20 }.
16290 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
162a0 20 49 4d 41 47 45 5f 46 49 4c 45 5f 52 45 4c 4f   IMAGE_FILE_RELO
162b0 43 53 5f 53 54 52 49 50 50 45 44 20 3d 20 30 78  CS_STRIPPED = 0x
162c0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
162d0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
162e0 5f 45 58 45 43 55 54 41 42 4c 45 5f 49 4d 41 47  _EXECUTABLE_IMAG
162f0 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  E = 0x0002 }..en
16300 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
16310 45 5f 46 49 4c 45 5f 4c 49 4e 45 5f 4e 55 4d 53  E_FILE_LINE_NUMS
16320 5f 53 54 52 49 50 50 45 44 20 3d 20 30 78 30 30  _STRIPPED = 0x00
16330 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
16340 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4c  t { IMAGE_FILE_L
16350 4f 43 41 4c 5f 53 59 4d 53 5f 53 54 52 49 50 50  OCAL_SYMS_STRIPP
16360 45 44 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  ED = 0x0008 }..e
16370 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
16380 47 45 5f 46 49 4c 45 5f 41 47 47 52 45 53 49 56  GE_FILE_AGGRESIV
16390 45 5f 57 53 5f 54 52 49 4d 20 3d 20 30 78 30 30  E_WS_TRIM = 0x00
163a0 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
163b0 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4c  t { IMAGE_FILE_L
163c0 41 52 47 45 5f 41 44 44 52 45 53 53 5f 41 57 41  ARGE_ADDRESS_AWA
163d0 52 45 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  RE = 0x0020 }..e
163e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
163f0 47 45 5f 46 49 4c 45 5f 42 59 54 45 53 5f 52 45  GE_FILE_BYTES_RE
16400 56 45 52 53 45 44 5f 4c 4f 20 3d 20 30 78 30 30  VERSED_LO = 0x00
16410 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
16420 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 33  t { IMAGE_FILE_3
16430 32 42 49 54 5f 4d 41 43 48 49 4e 45 20 3d 20 30  2BIT_MACHINE = 0
16440 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
16450 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
16460 45 5f 44 45 42 55 47 5f 53 54 52 49 50 50 45 44  E_DEBUG_STRIPPED
16470 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75   = 0x0200 }..enu
16480 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16490 5f 46 49 4c 45 5f 52 45 4d 4f 56 41 42 4c 45 5f  _FILE_REMOVABLE_
164a0 52 55 4e 5f 46 52 4f 4d 5f 53 57 41 50 20 3d 20  RUN_FROM_SWAP = 
164b0 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0400 }..enum :
164c0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49   uint { IMAGE_FI
164d0 4c 45 5f 4e 45 54 5f 52 55 4e 5f 46 52 4f 4d 5f  LE_NET_RUN_FROM_
164e0 53 57 41 50 20 3d 20 30 78 30 38 30 30 20 7d 0d  SWAP = 0x0800 }.
164f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
16500 4d 41 47 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d  MAGE_FILE_SYSTEM
16510 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75   = 0x1000 }..enu
16520 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16530 5f 46 49 4c 45 5f 44 4c 4c 20 3d 20 30 78 32 30  _FILE_DLL = 0x20
16540 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
16550 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 55  t { IMAGE_FILE_U
16560 50 5f 53 59 53 54 45 4d 5f 4f 4e 4c 59 20 3d 20  P_SYSTEM_ONLY = 
16570 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4000 }..enum :
16580 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49   uint { IMAGE_FI
16590 4c 45 5f 42 59 54 45 53 5f 52 45 56 45 52 53 45  LE_BYTES_REVERSE
165a0 44 5f 48 49 20 3d 20 30 78 38 30 30 30 20 7d 0d  D_HI = 0x8000 }.
165b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
165c0 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
165d0 49 4e 45 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 20  INE_UNKNOWN = 0 
165e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
165f0 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
16600 49 4e 45 5f 49 33 38 36 20 3d 20 30 78 30 31 34  INE_I386 = 0x014
16610 63 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  c }..enum : uint
16620 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41   { IMAGE_FILE_MA
16630 43 48 49 4e 45 5f 52 33 30 30 30 20 3d 20 30 78  CHINE_R3000 = 0x
16640 30 31 36 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0162 }..enum : u
16650 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
16660 5f 4d 41 43 48 49 4e 45 5f 52 34 30 30 30 20 3d  _MACHINE_R4000 =
16670 20 30 78 30 31 36 36 20 7d 0d 0a 65 6e 75 6d 20   0x0166 }..enum 
16680 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46  : uint { IMAGE_F
16690 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 52 31 30 30  ILE_MACHINE_R100
166a0 30 30 20 3d 20 30 78 30 31 36 38 20 7d 0d 0a 65  00 = 0x0168 }..e
166b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
166c0 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f  GE_FILE_MACHINE_
166d0 57 43 45 4d 49 50 53 56 32 20 3d 20 30 78 30 31  WCEMIPSV2 = 0x01
166e0 36 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  69 }..enum : uin
166f0 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d  t { IMAGE_FILE_M
16700 41 43 48 49 4e 45 5f 41 4c 50 48 41 20 3d 20 30  ACHINE_ALPHA = 0
16710 78 30 31 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0184 }..enum : 
16720 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
16730 45 5f 4d 41 43 48 49 4e 45 5f 53 48 33 20 3d 20  E_MACHINE_SH3 = 
16740 30 78 30 31 61 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x01a2 }..enum :
16750 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49   uint { IMAGE_FI
16760 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 33 44 53  LE_MACHINE_SH3DS
16770 50 20 3d 20 30 78 30 31 61 33 20 7d 0d 0a 65 6e  P = 0x01a3 }..en
16780 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
16790 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53  E_FILE_MACHINE_S
167a0 48 33 45 20 3d 20 30 78 30 31 61 34 20 7d 0d 0a  H3E = 0x01a4 }..
167b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
167c0 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45  AGE_FILE_MACHINE
167d0 5f 53 48 34 20 3d 20 30 78 30 31 61 36 20 7d 0d  _SH4 = 0x01a6 }.
167e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
167f0 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e  MAGE_FILE_MACHIN
16800 45 5f 53 48 35 20 3d 20 30 78 30 31 61 38 20 7d  E_SH5 = 0x01a8 }
16810 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16820 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49  IMAGE_FILE_MACHI
16830 4e 45 5f 41 52 4d 20 3d 20 30 78 30 31 63 30 20  NE_ARM = 0x01c0 
16840 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16850 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
16860 49 4e 45 5f 54 48 55 4d 42 20 3d 20 30 78 30 31  INE_THUMB = 0x01
16870 63 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  c2 }..enum : uin
16880 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d  t { IMAGE_FILE_M
16890 41 43 48 49 4e 45 5f 41 4d 33 33 20 3d 20 30 78  ACHINE_AM33 = 0x
168a0 30 31 64 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  01d3 }..enum : u
168b0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
168c0 5f 4d 41 43 48 49 4e 45 5f 50 4f 57 45 52 50 43  _MACHINE_POWERPC
168d0 20 3d 20 30 78 30 31 46 30 20 7d 0d 0a 65 6e 75   = 0x01F0 }..enu
168e0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
168f0 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 50 4f  _FILE_MACHINE_PO
16900 57 45 52 50 43 46 50 20 3d 20 30 78 30 31 66 31  WERPCFP = 0x01f1
16910 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16920 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43  { IMAGE_FILE_MAC
16930 48 49 4e 45 5f 49 41 36 34 20 3d 20 30 78 30 32  HINE_IA64 = 0x02
16940 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
16950 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d  t { IMAGE_FILE_M
16960 41 43 48 49 4e 45 5f 4d 49 50 53 31 36 20 3d 20  ACHINE_MIPS16 = 
16970 30 78 30 32 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0266 }..enum :
16980 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49   uint { IMAGE_FI
16990 4c 45 5f 4d 41 43 48 49 4e 45 5f 41 4c 50 48 41  LE_MACHINE_ALPHA
169a0 36 34 20 3d 20 30 78 30 32 38 34 20 7d 0d 0a 65  64 = 0x0284 }..e
169b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
169c0 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f  GE_FILE_MACHINE_
169d0 4d 49 50 53 46 50 55 20 3d 20 30 78 30 33 36 36  MIPSFPU = 0x0366
169e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
169f0 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43  { IMAGE_FILE_MAC
16a00 48 49 4e 45 5f 4d 49 50 53 46 50 55 31 36 20 3d  HINE_MIPSFPU16 =
16a10 20 30 78 30 34 36 36 20 7d 0d 0a 61 6c 69 61 73   0x0466 }..alias
16a20 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
16a30 49 4e 45 5f 41 4c 50 48 41 36 34 20 49 4d 41 47  INE_ALPHA64 IMAG
16a40 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41  E_FILE_MACHINE_A
16a50 58 50 36 34 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69  XP64;..enum : ui
16a60 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f  nt { IMAGE_FILE_
16a70 4d 41 43 48 49 4e 45 5f 54 52 49 43 4f 52 45 20  MACHINE_TRICORE 
16a80 3d 20 30 78 30 35 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0520 }..enum
16a90 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
16aa0 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 43 45 46  FILE_MACHINE_CEF
16ab0 20 3d 20 30 78 30 43 45 46 20 7d 0d 0a 65 6e 75   = 0x0CEF }..enu
16ac0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16ad0 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 45 42  _FILE_MACHINE_EB
16ae0 43 20 3d 20 30 78 30 45 42 43 20 7d 0d 0a 65 6e  C = 0x0EBC }..en
16af0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
16b00 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41  E_FILE_MACHINE_A
16b10 4d 44 36 34 20 3d 20 30 78 38 36 36 34 20 7d 0d  MD64 = 0x8664 }.
16b20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
16b30 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e  MAGE_FILE_MACHIN
16b40 45 5f 4d 33 32 52 20 3d 20 30 78 39 30 34 31 20  E_M32R = 0x9041 
16b50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16b60 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
16b70 49 4e 45 5f 43 45 45 20 3d 20 30 78 43 30 45 45  INE_CEE = 0xC0EE
16b80 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d   }....struct _IM
16b90 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43 54 4f  AGE_DATA_DIRECTO
16ba0 52 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 56 69  RY {..  DWORD Vi
16bb0 72 74 75 61 6c 41 64 64 72 65 73 73 3b 0d 0a 20  rtualAddress;.. 
16bc0 20 44 57 4f 52 44 20 53 69 7a 65 3b 0d 0a 7d 0d   DWORD Size;..}.
16bd0 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 44 41  .alias _IMAGE_DA
16be0 54 41 5f 44 49 52 45 43 54 4f 52 59 20 49 4d 41  TA_DIRECTORY IMA
16bf0 47 45 5f 44 41 54 41 5f 44 49 52 45 43 54 4f 52  GE_DATA_DIRECTOR
16c00 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  Y;..alias _IMAGE
16c10 5f 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 2a  _DATA_DIRECTORY*
16c20 20 50 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52   PIMAGE_DATA_DIR
16c30 45 43 54 4f 52 59 3b 0d 0a 0d 0a 65 6e 75 6d 20  ECTORY;....enum 
16c40 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 4e  : uint { IMAGE_N
16c50 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52  UMBEROF_DIRECTOR
16c60 59 5f 45 4e 54 52 49 45 53 20 3d 20 31 36 20 7d  Y_ENTRIES = 16 }
16c70 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
16c80 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45  E_OPTIONAL_HEADE
16c90 52 20 7b 0d 0a 0d 0a 20 20 57 4f 52 44 20 4d 61  R {....  WORD Ma
16ca0 67 69 63 3b 0d 0a 20 20 42 59 54 45 20 4d 61 6a  gic;..  BYTE Maj
16cb0 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69 6f 6e 3b  orLinkerVersion;
16cc0 0d 0a 20 20 42 59 54 45 20 4d 69 6e 6f 72 4c 69  ..  BYTE MinorLi
16cd0 6e 6b 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  nkerVersion;..  
16ce0 44 57 4f 52 44 20 53 69 7a 65 4f 66 43 6f 64 65  DWORD SizeOfCode
16cf0 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
16d00 66 49 6e 69 74 69 61 6c 69 7a 65 64 44 61 74 61  fInitializedData
16d10 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
16d20 66 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 44 61  fUninitializedDa
16d30 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64 64  ta;..  DWORD Add
16d40 72 65 73 73 4f 66 45 6e 74 72 79 50 6f 69 6e 74  ressOfEntryPoint
16d50 3b 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65 4f  ;..  DWORD BaseO
16d60 66 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44 20  fCode;..  DWORD 
16d70 42 61 73 65 4f 66 44 61 74 61 3b 0d 0a 0d 0a 20  BaseOfData;.... 
16d80 20 44 57 4f 52 44 20 49 6d 61 67 65 42 61 73 65   DWORD ImageBase
16d90 3b 0d 0a 20 20 44 57 4f 52 44 20 53 65 63 74 69  ;..  DWORD Secti
16da0 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 20 20  onAlignment;..  
16db0 44 57 4f 52 44 20 46 69 6c 65 41 6c 69 67 6e 6d  DWORD FileAlignm
16dc0 65 6e 74 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 6a  ent;..  WORD Maj
16dd0 6f 72 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65  orOperatingSyste
16de0 6d 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52  mVersion;..  WOR
16df0 44 20 4d 69 6e 6f 72 4f 70 65 72 61 74 69 6e 67  D MinorOperating
16e00 53 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0d 0a  SystemVersion;..
16e10 20 20 57 4f 52 44 20 4d 61 6a 6f 72 49 6d 61 67    WORD MajorImag
16e20 65 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52  eVersion;..  WOR
16e30 44 20 4d 69 6e 6f 72 49 6d 61 67 65 56 65 72 73  D MinorImageVers
16e40 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 6a  ion;..  WORD Maj
16e50 6f 72 53 75 62 73 79 73 74 65 6d 56 65 72 73 69  orSubsystemVersi
16e60 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
16e70 72 53 75 62 73 79 73 74 65 6d 56 65 72 73 69 6f  rSubsystemVersio
16e80 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 57 69 6e 33  n;..  DWORD Win3
16e90 32 56 65 72 73 69 6f 6e 56 61 6c 75 65 3b 0d 0a  2VersionValue;..
16ea0 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 49 6d    DWORD SizeOfIm
16eb0 61 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  age;..  DWORD Si
16ec0 7a 65 4f 66 48 65 61 64 65 72 73 3b 0d 0a 20 20  zeOfHeaders;..  
16ed0 44 57 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b 0d  DWORD CheckSum;.
16ee0 0a 20 20 57 4f 52 44 20 53 75 62 73 79 73 74 65  .  WORD Subsyste
16ef0 6d 3b 0d 0a 20 20 57 4f 52 44 20 44 6c 6c 43 68  m;..  WORD DllCh
16f00 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d 0a  aracteristics;..
16f10 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 53 74    DWORD SizeOfSt
16f20 61 63 6b 52 65 73 65 72 76 65 3b 0d 0a 20 20 44  ackReserve;..  D
16f30 57 4f 52 44 20 53 69 7a 65 4f 66 53 74 61 63 6b  WORD SizeOfStack
16f40 43 6f 6d 6d 69 74 3b 0d 0a 20 20 44 57 4f 52 44  Commit;..  DWORD
16f50 20 53 69 7a 65 4f 66 48 65 61 70 52 65 73 65 72   SizeOfHeapReser
16f60 76 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a  ve;..  DWORD Siz
16f70 65 4f 66 48 65 61 70 43 6f 6d 6d 69 74 3b 0d 0a  eOfHeapCommit;..
16f80 20 20 44 57 4f 52 44 20 4c 6f 61 64 65 72 46 6c    DWORD LoaderFl
16f90 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 75  ags;..  DWORD Nu
16fa0 6d 62 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65  mberOfRvaAndSize
16fb0 73 3b 0d 0a 20 20 49 4d 41 47 45 5f 44 41 54 41  s;..  IMAGE_DATA
16fc0 5f 44 49 52 45 43 54 4f 52 59 20 44 61 74 61 44  _DIRECTORY DataD
16fd0 69 72 65 63 74 6f 72 79 5b 49 4d 41 47 45 5f 4e  irectory[IMAGE_N
16fe0 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52  UMBEROF_DIRECTOR
16ff0 59 5f 45 4e 54 52 49 45 53 5d 3b 0d 0a 7d 0d 0a  Y_ENTRIES];..}..
17000 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4f 50 54  alias _IMAGE_OPT
17010 49 4f 4e 41 4c 5f 48 45 41 44 45 52 20 49 4d 41  IONAL_HEADER IMA
17020 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  GE_OPTIONAL_HEAD
17030 45 52 33 32 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  ER32;..alias _IM
17040 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17050 44 45 52 2a 20 50 49 4d 41 47 45 5f 4f 50 54 49  DER* PIMAGE_OPTI
17060 4f 4e 41 4c 5f 48 45 41 44 45 52 33 32 3b 0d 0a  ONAL_HEADER32;..
17070 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
17080 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  ROM_OPTIONAL_HEA
17090 44 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 4d 61  DER {..  WORD Ma
170a0 67 69 63 3b 0d 0a 20 20 42 59 54 45 20 4d 61 6a  gic;..  BYTE Maj
170b0 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69 6f 6e 3b  orLinkerVersion;
170c0 0d 0a 20 20 42 59 54 45 20 4d 69 6e 6f 72 4c 69  ..  BYTE MinorLi
170d0 6e 6b 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  nkerVersion;..  
170e0 44 57 4f 52 44 20 53 69 7a 65 4f 66 43 6f 64 65  DWORD SizeOfCode
170f0 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
17100 66 49 6e 69 74 69 61 6c 69 7a 65 64 44 61 74 61  fInitializedData
17110 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
17120 66 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 44 61  fUninitializedDa
17130 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64 64  ta;..  DWORD Add
17140 72 65 73 73 4f 66 45 6e 74 72 79 50 6f 69 6e 74  ressOfEntryPoint
17150 3b 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65 4f  ;..  DWORD BaseO
17160 66 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44 20  fCode;..  DWORD 
17170 42 61 73 65 4f 66 44 61 74 61 3b 0d 0a 20 20 44  BaseOfData;..  D
17180 57 4f 52 44 20 42 61 73 65 4f 66 42 73 73 3b 0d  WORD BaseOfBss;.
17190 0a 20 20 44 57 4f 52 44 20 47 70 72 4d 61 73 6b  .  DWORD GprMask
171a0 3b 0d 0a 20 20 44 57 4f 52 44 20 43 70 72 4d 61  ;..  DWORD CprMa
171b0 73 6b 5b 34 5d 3b 0d 0a 20 20 44 57 4f 52 44 20  sk[4];..  DWORD 
171c0 47 70 56 61 6c 75 65 3b 0d 0a 7d 0d 0a 61 6c 69  GpValue;..}..ali
171d0 61 73 20 5f 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50  as _IMAGE_ROM_OP
171e0 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 20 49 4d  TIONAL_HEADER IM
171f0 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c  AGE_ROM_OPTIONAL
17200 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20  _HEADER;..alias 
17210 5f 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f  _IMAGE_ROM_OPTIO
17220 4e 41 4c 5f 48 45 41 44 45 52 2a 20 50 49 4d 41  NAL_HEADER* PIMA
17230 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f  GE_ROM_OPTIONAL_
17240 48 45 41 44 45 52 3b 0d 0a 0d 0a 73 74 72 75 63  HEADER;....struc
17250 74 20 5f 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41  t _IMAGE_OPTIONA
17260 4c 5f 48 45 41 44 45 52 36 34 20 7b 0d 0a 20 20  L_HEADER64 {..  
17270 57 4f 52 44 20 4d 61 67 69 63 3b 0d 0a 20 20 42  WORD Magic;..  B
17280 59 54 45 20 4d 61 6a 6f 72 4c 69 6e 6b 65 72 56  YTE MajorLinkerV
17290 65 72 73 69 6f 6e 3b 0d 0a 20 20 42 59 54 45 20  ersion;..  BYTE 
172a0 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69  MinorLinkerVersi
172b0 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a  on;..  DWORD Siz
172c0 65 4f 66 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52  eOfCode;..  DWOR
172d0 44 20 53 69 7a 65 4f 66 49 6e 69 74 69 61 6c 69  D SizeOfInitiali
172e0 7a 65 64 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  zedData;..  DWOR
172f0 44 20 53 69 7a 65 4f 66 55 6e 69 6e 69 74 69 61  D SizeOfUninitia
17300 6c 69 7a 65 64 44 61 74 61 3b 0d 0a 20 20 44 57  lizedData;..  DW
17310 4f 52 44 20 41 64 64 72 65 73 73 4f 66 45 6e 74  ORD AddressOfEnt
17320 72 79 50 6f 69 6e 74 3b 0d 0a 20 20 44 57 4f 52  ryPoint;..  DWOR
17330 44 20 42 61 73 65 4f 66 43 6f 64 65 3b 0d 0a 20  D BaseOfCode;.. 
17340 20 55 4c 4f 4e 47 4c 4f 4e 47 20 49 6d 61 67 65   ULONGLONG Image
17350 42 61 73 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53  Base;..  DWORD S
17360 65 63 74 69 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b  ectionAlignment;
17370 0d 0a 20 20 44 57 4f 52 44 20 46 69 6c 65 41 6c  ..  DWORD FileAl
17380 69 67 6e 6d 65 6e 74 3b 0d 0a 20 20 57 4f 52 44  ignment;..  WORD
17390 20 4d 61 6a 6f 72 4f 70 65 72 61 74 69 6e 67 53   MajorOperatingS
173a0 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0d 0a 20  ystemVersion;.. 
173b0 20 57 4f 52 44 20 4d 69 6e 6f 72 4f 70 65 72 61   WORD MinorOpera
173c0 74 69 6e 67 53 79 73 74 65 6d 56 65 72 73 69 6f  tingSystemVersio
173d0 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72  n;..  WORD Major
173e0 49 6d 61 67 65 56 65 72 73 69 6f 6e 3b 0d 0a 20  ImageVersion;.. 
173f0 20 57 4f 52 44 20 4d 69 6e 6f 72 49 6d 61 67 65   WORD MinorImage
17400 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44  Version;..  WORD
17410 20 4d 61 6a 6f 72 53 75 62 73 79 73 74 65 6d 56   MajorSubsystemV
17420 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20  ersion;..  WORD 
17430 4d 69 6e 6f 72 53 75 62 73 79 73 74 65 6d 56 65  MinorSubsystemVe
17440 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  rsion;..  DWORD 
17450 57 69 6e 33 32 56 65 72 73 69 6f 6e 56 61 6c 75  Win32VersionValu
17460 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  e;..  DWORD Size
17470 4f 66 49 6d 61 67 65 3b 0d 0a 20 20 44 57 4f 52  OfImage;..  DWOR
17480 44 20 53 69 7a 65 4f 66 48 65 61 64 65 72 73 3b  D SizeOfHeaders;
17490 0d 0a 20 20 44 57 4f 52 44 20 43 68 65 63 6b 53  ..  DWORD CheckS
174a0 75 6d 3b 0d 0a 20 20 57 4f 52 44 20 53 75 62 73  um;..  WORD Subs
174b0 79 73 74 65 6d 3b 0d 0a 20 20 57 4f 52 44 20 44  ystem;..  WORD D
174c0 6c 6c 43 68 61 72 61 63 74 65 72 69 73 74 69 63  llCharacteristic
174d0 73 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20  s;..  ULONGLONG 
174e0 53 69 7a 65 4f 66 53 74 61 63 6b 52 65 73 65 72  SizeOfStackReser
174f0 76 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  ve;..  ULONGLONG
17500 20 53 69 7a 65 4f 66 53 74 61 63 6b 43 6f 6d 6d   SizeOfStackComm
17510 69 74 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  it;..  ULONGLONG
17520 20 53 69 7a 65 4f 66 48 65 61 70 52 65 73 65 72   SizeOfHeapReser
17530 76 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  ve;..  ULONGLONG
17540 20 53 69 7a 65 4f 66 48 65 61 70 43 6f 6d 6d 69   SizeOfHeapCommi
17550 74 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 6f 61 64  t;..  DWORD Load
17560 65 72 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  erFlags;..  DWOR
17570 44 20 4e 75 6d 62 65 72 4f 66 52 76 61 41 6e 64  D NumberOfRvaAnd
17580 53 69 7a 65 73 3b 0d 0a 20 20 49 4d 41 47 45 5f  Sizes;..  IMAGE_
17590 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20 44  DATA_DIRECTORY D
175a0 61 74 61 44 69 72 65 63 74 6f 72 79 5b 49 4d 41  ataDirectory[IMA
175b0 47 45 5f 4e 55 4d 42 45 52 4f 46 5f 44 49 52 45  GE_NUMBEROF_DIRE
175c0 43 54 4f 52 59 5f 45 4e 54 52 49 45 53 5d 3b 0d  CTORY_ENTRIES];.
175d0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
175e0 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52  _OPTIONAL_HEADER
175f0 36 34 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41  64 IMAGE_OPTIONA
17600 4c 5f 48 45 41 44 45 52 36 34 3b 0d 0a 61 6c 69  L_HEADER64;..ali
17610 61 73 20 5f 49 4d 41 47 45 5f 4f 50 54 49 4f 4e  as _IMAGE_OPTION
17620 41 4c 5f 48 45 41 44 45 52 36 34 2a 20 50 49 4d  AL_HEADER64* PIM
17630 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17640 44 45 52 36 34 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  DER64;....enum :
17650 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 49   uint { IMAGE_SI
17660 5a 45 4f 46 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41  ZEOF_ROM_OPTIONA
17670 4c 5f 48 45 41 44 45 52 20 3d 20 35 36 20 7d 0d  L_HEADER = 56 }.
17680 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
17690 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 54 44 5f  MAGE_SIZEOF_STD_
176a0 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 20  OPTIONAL_HEADER 
176b0 3d 20 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 28 }..enum : u
176c0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 49 5a 45  int { IMAGE_SIZE
176d0 4f 46 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 33 32  OF_NT_OPTIONAL32
176e0 5f 48 45 41 44 45 52 20 3d 20 32 32 34 20 7d 0d  _HEADER = 224 }.
176f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
17700 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 4e 54 5f 4f  MAGE_SIZEOF_NT_O
17710 50 54 49 4f 4e 41 4c 36 34 5f 48 45 41 44 45 52  PTIONAL64_HEADER
17720 20 3d 20 32 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d   = 240 }....enum
17730 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
17740 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 44 52 33  NT_OPTIONAL_HDR3
17750 32 5f 4d 41 47 49 43 20 3d 20 30 78 31 30 62 20  2_MAGIC = 0x10b 
17760 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17770 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e   IMAGE_NT_OPTION
17780 41 4c 5f 48 44 52 36 34 5f 4d 41 47 49 43 20 3d  AL_HDR64_MAGIC =
17790 20 30 78 32 30 62 20 7d 0d 0a 65 6e 75 6d 20 3a   0x20b }..enum :
177a0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 4f   uint { IMAGE_RO
177b0 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 44 52 5f 4d  M_OPTIONAL_HDR_M
177c0 41 47 49 43 20 3d 20 30 78 31 30 37 20 7d 0d 0a  AGIC = 0x107 }..
177d0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
177e0 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  64..// .....// #
177f0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
17800 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 4d   #else..alias IM
17810 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17820 44 45 52 33 32 20 49 4d 41 47 45 5f 4f 50 54 49  DER32 IMAGE_OPTI
17830 4f 4e 41 4c 5f 48 45 41 44 45 52 3b 0d 0a 61 6c  ONAL_HEADER;..al
17840 69 61 73 20 50 49 4d 41 47 45 5f 4f 50 54 49 4f  ias PIMAGE_OPTIO
17850 4e 41 4c 5f 48 45 41 44 45 52 33 32 20 50 49 4d  NAL_HEADER32 PIM
17860 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17870 44 45 52 3b 0d 0a 61 6c 69 61 73 20 49 4d 41 47  DER;..alias IMAG
17880 45 5f 53 49 5a 45 4f 46 5f 4e 54 5f 4f 50 54 49  E_SIZEOF_NT_OPTI
17890 4f 4e 41 4c 33 32 5f 48 45 41 44 45 52 20 49 4d  ONAL32_HEADER IM
178a0 41 47 45 5f 53 49 5a 45 4f 46 5f 4e 54 5f 4f 50  AGE_SIZEOF_NT_OP
178b0 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 3b 0d 0a  TIONAL_HEADER;..
178c0 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e 54 5f 4f  alias IMAGE_NT_O
178d0 50 54 49 4f 4e 41 4c 5f 48 44 52 33 32 5f 4d 41  PTIONAL_HDR32_MA
178e0 47 49 43 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54  GIC IMAGE_NT_OPT
178f0 49 4f 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43 3b  IONAL_HDR_MAGIC;
17900 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
17910 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 4e 54 5f  truct _IMAGE_NT_
17920 48 45 41 44 45 52 53 36 34 20 7b 0d 0a 20 20 44  HEADERS64 {..  D
17930 57 4f 52 44 20 53 69 67 6e 61 74 75 72 65 3b 0d  WORD Signature;.
17940 0a 20 20 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45  .  IMAGE_FILE_HE
17950 41 44 45 52 20 46 69 6c 65 48 65 61 64 65 72 3b  ADER FileHeader;
17960 0d 0a 20 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e  ..  IMAGE_OPTION
17970 41 4c 5f 48 45 41 44 45 52 36 34 20 4f 70 74 69  AL_HEADER64 Opti
17980 6f 6e 61 6c 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a  onalHeader;..}..
17990 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4e 54 5f  alias _IMAGE_NT_
179a0 48 45 41 44 45 52 53 36 34 20 49 4d 41 47 45 5f  HEADERS64 IMAGE_
179b0 4e 54 5f 48 45 41 44 45 52 53 36 34 3b 0d 0a 61  NT_HEADERS64;..a
179c0 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4e 54 5f 48  lias _IMAGE_NT_H
179d0 45 41 44 45 52 53 36 34 2a 20 50 49 4d 41 47 45  EADERS64* PIMAGE
179e0 5f 4e 54 5f 48 45 41 44 45 52 53 36 34 3b 0d 0a  _NT_HEADERS64;..
179f0 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
17a00 4e 54 5f 48 45 41 44 45 52 53 20 7b 0d 0a 20 20  NT_HEADERS {..  
17a10 44 57 4f 52 44 20 53 69 67 6e 61 74 75 72 65 3b  DWORD Signature;
17a20 0d 0a 20 20 49 4d 41 47 45 5f 46 49 4c 45 5f 48  ..  IMAGE_FILE_H
17a30 45 41 44 45 52 20 46 69 6c 65 48 65 61 64 65 72  EADER FileHeader
17a40 3b 0d 0a 20 20 49 4d 41 47 45 5f 4f 50 54 49 4f  ;..  IMAGE_OPTIO
17a50 4e 41 4c 5f 48 45 41 44 45 52 33 32 20 4f 70 74  NAL_HEADER32 Opt
17a60 69 6f 6e 61 6c 48 65 61 64 65 72 3b 0d 0a 7d 0d  ionalHeader;..}.
17a70 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4e 54  .alias _IMAGE_NT
17a80 5f 48 45 41 44 45 52 53 20 49 4d 41 47 45 5f 4e  _HEADERS IMAGE_N
17a90 54 5f 48 45 41 44 45 52 53 33 32 3b 0d 0a 61 6c  T_HEADERS32;..al
17aa0 69 61 73 20 5f 49 4d 41 47 45 5f 4e 54 5f 48 45  ias _IMAGE_NT_HE
17ab0 41 44 45 52 53 2a 20 50 49 4d 41 47 45 5f 4e 54  ADERS* PIMAGE_NT
17ac0 5f 48 45 41 44 45 52 53 33 32 3b 0d 0a 0d 0a 73  _HEADERS32;....s
17ad0 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 52 4f 4d  truct _IMAGE_ROM
17ae0 5f 48 45 41 44 45 52 53 20 7b 0d 0a 20 20 49 4d  _HEADERS {..  IM
17af0 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 20  AGE_FILE_HEADER 
17b00 46 69 6c 65 48 65 61 64 65 72 3b 0d 0a 20 20 49  FileHeader;..  I
17b10 4d 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41  MAGE_ROM_OPTIONA
17b20 4c 5f 48 45 41 44 45 52 20 4f 70 74 69 6f 6e 61  L_HEADER Optiona
17b30 6c 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69  lHeader;..}..ali
17b40 61 73 20 5f 49 4d 41 47 45 5f 52 4f 4d 5f 48 45  as _IMAGE_ROM_HE
17b50 41 44 45 52 53 20 49 4d 41 47 45 5f 52 4f 4d 5f  ADERS IMAGE_ROM_
17b60 48 45 41 44 45 52 53 3b 0d 0a 61 6c 69 61 73 20  HEADERS;..alias 
17b70 5f 49 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45  _IMAGE_ROM_HEADE
17b80 52 53 2a 20 50 49 4d 41 47 45 5f 52 4f 4d 5f 48  RS* PIMAGE_ROM_H
17b90 45 41 44 45 52 53 3b 0d 0a 0d 0a 2f 2f 20 23 69  EADERS;....// #i
17ba0 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20  fdef _WIN64..// 
17bb0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
17bc0 6c 69 61 73 20 49 4d 41 47 45 5f 4e 54 5f 48 45  lias IMAGE_NT_HE
17bd0 41 44 45 52 53 33 32 20 49 4d 41 47 45 5f 4e 54  ADERS32 IMAGE_NT
17be0 5f 48 45 41 44 45 52 53 3b 0d 0a 61 6c 69 61 73  _HEADERS;..alias
17bf0 20 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45   PIMAGE_NT_HEADE
17c00 52 53 33 32 20 50 49 4d 41 47 45 5f 4e 54 5f 48  RS32 PIMAGE_NT_H
17c10 45 41 44 45 52 53 3b 0d 0a 2f 2f 20 23 65 6e 64  EADERS;..// #end
17c20 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  if....// #define
17c30 20 49 4d 41 47 45 5f 46 49 52 53 54 5f 53 45 43   IMAGE_FIRST_SEC
17c40 54 49 4f 4e 28 20 6e 74 68 65 61 64 65 72 20 29  TION( ntheader )
17c50 20 28 28 50 49 4d 41 47 45 5f 53 45 43 54 49 4f   ((PIMAGE_SECTIO
17c60 4e 5f 48 45 41 44 45 52 29 20 28 28 55 4c 4f 4e  N_HEADER) ((ULON
17c70 47 5f 50 54 52 29 6e 74 68 65 61 64 65 72 20 2b  G_PTR)ntheader +
17c80 20 46 49 45 4c 44 5f 4f 46 46 53 45 54 28 20 49   FIELD_OFFSET( I
17c90 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 2c  MAGE_NT_HEADERS,
17ca0 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 72 20   OptionalHeader 
17cb0 29 20 2b 20 28 28 50 49 4d 41 47 45 5f 4e 54 5f  ) + ((PIMAGE_NT_
17cc0 48 45 41 44 45 52 53 29 28 6e 74 68 65 61 64 65  HEADERS)(ntheade
17cd0 72 29 29 2d 3e 46 69 6c 65 48 65 61 64 65 72 2e  r))->FileHeader.
17ce0 53 69 7a 65 4f 66 4f 70 74 69 6f 6e 61 6c 48 65  SizeOfOptionalHe
17cf0 61 64 65 72 20 29 29 0d 0a 0d 0a 65 6e 75 6d 20  ader ))....enum 
17d00 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
17d10 55 42 53 59 53 54 45 4d 5f 55 4e 4b 4e 4f 57 4e  UBSYSTEM_UNKNOWN
17d20 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
17d30 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 55 42 53  int { IMAGE_SUBS
17d40 59 53 54 45 4d 5f 4e 41 54 49 56 45 20 3d 20 31  YSTEM_NATIVE = 1
17d50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17d60 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45  { IMAGE_SUBSYSTE
17d70 4d 5f 57 49 4e 44 4f 57 53 5f 47 55 49 20 3d 20  M_WINDOWS_GUI = 
17d80 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
17d90 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54   { IMAGE_SUBSYST
17da0 45 4d 5f 57 49 4e 44 4f 57 53 5f 43 55 49 20 3d  EM_WINDOWS_CUI =
17db0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
17dc0 74 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53  t { IMAGE_SUBSYS
17dd0 54 45 4d 5f 4f 53 32 5f 43 55 49 20 3d 20 35 20  TEM_OS2_CUI = 5 
17de0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17df0 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d   IMAGE_SUBSYSTEM
17e00 5f 50 4f 53 49 58 5f 43 55 49 20 3d 20 37 20 7d  _POSIX_CUI = 7 }
17e10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17e20 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f  IMAGE_SUBSYSTEM_
17e30 4e 41 54 49 56 45 5f 57 49 4e 44 4f 57 53 20 3d  NATIVE_WINDOWS =
17e40 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
17e50 74 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53  t { IMAGE_SUBSYS
17e60 54 45 4d 5f 57 49 4e 44 4f 57 53 5f 43 45 5f 47  TEM_WINDOWS_CE_G
17e70 55 49 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a  UI = 9 }..enum :
17e80 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 55   uint { IMAGE_SU
17e90 42 53 59 53 54 45 4d 5f 45 46 49 5f 41 50 50 4c  BSYSTEM_EFI_APPL
17ea0 49 43 41 54 49 4f 4e 20 3d 20 31 30 20 7d 0d 0a  ICATION = 10 }..
17eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
17ec0 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 45 46  AGE_SUBSYSTEM_EF
17ed0 49 5f 42 4f 4f 54 5f 53 45 52 56 49 43 45 5f 44  I_BOOT_SERVICE_D
17ee0 52 49 56 45 52 20 3d 20 31 31 20 7d 0d 0a 65 6e  RIVER = 11 }..en
17ef0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
17f00 45 5f 53 55 42 53 59 53 54 45 4d 5f 45 46 49 5f  E_SUBSYSTEM_EFI_
17f10 52 55 4e 54 49 4d 45 5f 44 52 49 56 45 52 20 3d  RUNTIME_DRIVER =
17f20 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   12 }..enum : ui
17f30 6e 74 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59  nt { IMAGE_SUBSY
17f40 53 54 45 4d 5f 45 46 49 5f 52 4f 4d 20 3d 20 31  STEM_EFI_ROM = 1
17f50 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
17f60 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54   { IMAGE_SUBSYST
17f70 45 4d 5f 58 42 4f 58 20 3d 20 31 34 20 7d 0d 0a  EM_XBOX = 14 }..
17f80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17f90 49 4d 41 47 45 5f 44 4c 4c 43 48 41 52 41 43 54  IMAGE_DLLCHARACT
17fa0 45 52 49 53 54 49 43 53 5f 4e 4f 5f 42 49 4e 44  ERISTICS_NO_BIND
17fb0 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65   = 0x0800 }....e
17fc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
17fd0 47 45 5f 44 4c 4c 43 48 41 52 41 43 54 45 52 49  GE_DLLCHARACTERI
17fe0 53 54 49 43 53 5f 57 44 4d 5f 44 52 49 56 45 52  STICS_WDM_DRIVER
17ff0 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 0d 0a 65   = 0x2000 }....e
18000 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18010 47 45 5f 44 4c 4c 43 48 41 52 41 43 54 45 52 49  GE_DLLCHARACTERI
18020 53 54 49 43 53 5f 54 45 52 4d 49 4e 41 4c 5f 53  STICS_TERMINAL_S
18030 45 52 56 45 52 5f 41 57 41 52 45 20 3d 20 30 78  ERVER_AWARE = 0x
18040 38 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  8000 }....enum :
18050 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49   uint { IMAGE_DI
18060 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 45 58  RECTORY_ENTRY_EX
18070 50 4f 52 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  PORT = 0 }..enum
18080 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18090 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f  DIRECTORY_ENTRY_
180a0 49 4d 50 4f 52 54 20 3d 20 31 20 7d 0d 0a 65 6e  IMPORT = 1 }..en
180b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
180c0 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52  E_DIRECTORY_ENTR
180d0 59 5f 52 45 53 4f 55 52 43 45 20 3d 20 32 20 7d  Y_RESOURCE = 2 }
180e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
180f0 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f  IMAGE_DIRECTORY_
18100 45 4e 54 52 59 5f 45 58 43 45 50 54 49 4f 4e 20  ENTRY_EXCEPTION 
18110 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
18120 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49 52 45 43  nt { IMAGE_DIREC
18130 54 4f 52 59 5f 45 4e 54 52 59 5f 53 45 43 55 52  TORY_ENTRY_SECUR
18140 49 54 59 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  ITY = 4 }..enum 
18150 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44  : uint { IMAGE_D
18160 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 42  IRECTORY_ENTRY_B
18170 41 53 45 52 45 4c 4f 43 20 3d 20 35 20 7d 0d 0a  ASERELOC = 5 }..
18180 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18190 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  AGE_DIRECTORY_EN
181a0 54 52 59 5f 44 45 42 55 47 20 3d 20 36 20 7d 0d  TRY_DEBUG = 6 }.
181b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
181c0 20 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 59   IMAGE_DIRECTORY
181d0 5f 45 4e 54 52 59 5f 41 52 43 48 49 54 45 43 54  _ENTRY_ARCHITECT
181e0 55 52 45 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20  URE = 7 }..enum 
181f0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44  : uint { IMAGE_D
18200 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 47  IRECTORY_ENTRY_G
18210 4c 4f 42 41 4c 50 54 52 20 3d 20 38 20 7d 0d 0a  LOBALPTR = 8 }..
18220 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18230 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  AGE_DIRECTORY_EN
18240 54 52 59 5f 54 4c 53 20 3d 20 39 20 7d 0d 0a 65  TRY_TLS = 9 }..e
18250 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18260 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54  GE_DIRECTORY_ENT
18270 52 59 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 20 3d  RY_LOAD_CONFIG =
18280 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   10 }..enum : ui
18290 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49 52 45 43  nt { IMAGE_DIREC
182a0 54 4f 52 59 5f 45 4e 54 52 59 5f 42 4f 55 4e 44  TORY_ENTRY_BOUND
182b0 5f 49 4d 50 4f 52 54 20 3d 20 31 31 20 7d 0d 0a  _IMPORT = 11 }..
182c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
182d0 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  AGE_DIRECTORY_EN
182e0 54 52 59 5f 49 41 54 20 3d 20 31 32 20 7d 0d 0a  TRY_IAT = 12 }..
182f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18300 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  AGE_DIRECTORY_EN
18310 54 52 59 5f 44 45 4c 41 59 5f 49 4d 50 4f 52 54  TRY_DELAY_IMPORT
18320 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 13 }..enum : 
18330 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49 52  uint { IMAGE_DIR
18340 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 43 4f 4d  ECTORY_ENTRY_COM
18350 5f 44 45 53 43 52 49 50 54 4f 52 20 3d 20 31 34  _DESCRIPTOR = 14
18360 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 41 4e 4f   }....struct ANO
18370 4e 5f 4f 42 4a 45 43 54 5f 48 45 41 44 45 52 20  N_OBJECT_HEADER 
18380 7b 0d 0a 20 20 57 4f 52 44 20 53 69 67 31 3b 0d  {..  WORD Sig1;.
18390 0a 20 20 57 4f 52 44 20 53 69 67 32 3b 0d 0a 20  .  WORD Sig2;.. 
183a0 20 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b 0d 0a   WORD Version;..
183b0 20 20 57 4f 52 44 20 4d 61 63 68 69 6e 65 3b 0d    WORD Machine;.
183c0 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74  .  DWORD TimeDat
183d0 65 53 74 61 6d 70 3b 0d 0a 20 20 43 4c 53 49 44  eStamp;..  CLSID
183e0 20 43 6c 61 73 73 49 44 3b 0d 0a 20 20 44 57 4f   ClassID;..  DWO
183f0 52 44 20 53 69 7a 65 4f 66 44 61 74 61 3b 0d 0a  RD SizeOfData;..
18400 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
18410 20 7b 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f   { IMAGE_SIZEOF_
18420 53 48 4f 52 54 5f 4e 41 4d 45 20 3d 20 38 20 7d  SHORT_NAME = 8 }
18430 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
18440 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52  E_SECTION_HEADER
18450 20 7b 0d 0a 20 20 42 59 54 45 20 4e 61 6d 65 5b   {..  BYTE Name[
18460 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 48 4f  IMAGE_SIZEOF_SHO
18470 52 54 5f 4e 41 4d 45 5d 3b 0d 0a 75 6e 69 6f 6e  RT_NAME];..union
18480 20 7b 0d 0a 20 20 44 57 4f 52 44 20 50 68 79 73   {..  DWORD Phys
18490 69 63 61 6c 41 64 64 72 65 73 73 3b 0d 0a 20 20  icalAddress;..  
184a0 44 57 4f 52 44 20 56 69 72 74 75 61 6c 53 69 7a  DWORD VirtualSiz
184b0 65 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44  e;..}....  DWORD
184c0 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 73 3b   VirtualAddress;
184d0 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66  ..  DWORD SizeOf
184e0 52 61 77 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  RawData;..  DWOR
184f0 44 20 50 6f 69 6e 74 65 72 54 6f 52 61 77 44 61  D PointerToRawDa
18500 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69  ta;..  DWORD Poi
18510 6e 74 65 72 54 6f 52 65 6c 6f 63 61 74 69 6f 6e  nterToRelocation
18520 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69 6e  s;..  DWORD Poin
18530 74 65 72 54 6f 4c 69 6e 65 6e 75 6d 62 65 72 73  terToLinenumbers
18540 3b 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62 65 72  ;..  WORD Number
18550 4f 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0d 0a  OfRelocations;..
18560 20 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4c    WORD NumberOfL
18570 69 6e 65 6e 75 6d 62 65 72 73 3b 0d 0a 20 20 44  inenumbers;..  D
18580 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73  WORD Characteris
18590 74 69 63 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tics;..}..alias 
185a0 5f 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48  _IMAGE_SECTION_H
185b0 45 41 44 45 52 20 49 4d 41 47 45 5f 53 45 43 54  EADER IMAGE_SECT
185c0 49 4f 4e 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69  ION_HEADER;..ali
185d0 61 73 20 5f 49 4d 41 47 45 5f 53 45 43 54 49 4f  as _IMAGE_SECTIO
185e0 4e 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45  N_HEADER* PIMAGE
185f0 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 3b  _SECTION_HEADER;
18600 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
18610 7b 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53  { IMAGE_SIZEOF_S
18620 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 20 3d 20  ECTION_HEADER = 
18630 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  40 }....enum : u
18640 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
18650 54 59 50 45 5f 4e 4f 5f 50 41 44 20 3d 20 30 78  TYPE_NO_PAD = 0x
18660 30 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e  00000008 }....en
18670 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18680 45 5f 53 43 4e 5f 43 4e 54 5f 43 4f 44 45 20 3d  E_SCN_CNT_CODE =
18690 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
186a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
186b0 47 45 5f 53 43 4e 5f 43 4e 54 5f 49 4e 49 54 49  GE_SCN_CNT_INITI
186c0 41 4c 49 5a 45 44 5f 44 41 54 41 20 3d 20 30 78  ALIZED_DATA = 0x
186d0 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
186e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
186f0 53 43 4e 5f 43 4e 54 5f 55 4e 49 4e 49 54 49 41  SCN_CNT_UNINITIA
18700 4c 49 5a 45 44 5f 44 41 54 41 20 3d 20 30 78 30  LIZED_DATA = 0x0
18710 30 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75  0000080 }....enu
18720 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18730 5f 53 43 4e 5f 4c 4e 4b 5f 4f 54 48 45 52 20 3d  _SCN_LNK_OTHER =
18740 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
18750 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18760 47 45 5f 53 43 4e 5f 4c 4e 4b 5f 49 4e 46 4f 20  GE_SCN_LNK_INFO 
18770 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
18780 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18790 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b 5f 52 45  IMAGE_SCN_LNK_RE
187a0 4d 4f 56 45 20 3d 20 30 78 30 30 30 30 30 38 30  MOVE = 0x0000080
187b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
187c0 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b   { IMAGE_SCN_LNK
187d0 5f 43 4f 4d 44 41 54 20 3d 20 30 78 30 30 30 30  _COMDAT = 0x0000
187e0 31 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  1000 }....enum :
187f0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43   uint { IMAGE_SC
18800 4e 5f 4e 4f 5f 44 45 46 45 52 5f 53 50 45 43 5f  N_NO_DEFER_SPEC_
18810 45 58 43 20 3d 20 30 78 30 30 30 30 34 30 30 30  EXC = 0x00004000
18820 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18830 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 47 50 52 45  { IMAGE_SCN_GPRE
18840 4c 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d  L = 0x00008000 }
18850 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18860 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 46 41  IMAGE_SCN_MEM_FA
18870 52 44 41 54 41 20 3d 20 30 78 30 30 30 30 38 30  RDATA = 0x000080
18880 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
18890 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
188a0 4d 45 4d 5f 50 55 52 47 45 41 42 4c 45 20 3d 20  MEM_PURGEABLE = 
188b0 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
188c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
188d0 45 5f 53 43 4e 5f 4d 45 4d 5f 31 36 42 49 54 20  E_SCN_MEM_16BIT 
188e0 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
188f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18900 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 4c 4f 43 4b  AGE_SCN_MEM_LOCK
18910 45 44 20 3d 20 30 78 30 30 30 34 30 30 30 30 20  ED = 0x00040000 
18920 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18930 20 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 50   IMAGE_SCN_MEM_P
18940 52 45 4c 4f 41 44 20 3d 20 30 78 30 30 30 38 30  RELOAD = 0x00080
18950 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
18960 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
18970 5f 41 4c 49 47 4e 5f 31 42 59 54 45 53 20 3d 20  _ALIGN_1BYTES = 
18980 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00100000 }..en
18990 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
189a0 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 32 42 59 54  E_SCN_ALIGN_2BYT
189b0 45 53 20 3d 20 30 78 30 30 32 30 30 30 30 30 20  ES = 0x00200000 
189c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
189d0 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e   IMAGE_SCN_ALIGN
189e0 5f 34 42 59 54 45 53 20 3d 20 30 78 30 30 33 30  _4BYTES = 0x0030
189f0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
18a00 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
18a10 41 4c 49 47 4e 5f 38 42 59 54 45 53 20 3d 20 30  ALIGN_8BYTES = 0
18a20 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00400000 }..enu
18a30 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18a40 5f 53 43 4e 5f 41 4c 49 47 4e 5f 31 36 42 59 54  _SCN_ALIGN_16BYT
18a50 45 53 20 3d 20 30 78 30 30 35 30 30 30 30 30 20  ES = 0x00500000 
18a60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18a70 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e   IMAGE_SCN_ALIGN
18a80 5f 33 32 42 59 54 45 53 20 3d 20 30 78 30 30 36  _32BYTES = 0x006
18a90 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
18aa0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
18ab0 5f 41 4c 49 47 4e 5f 36 34 42 59 54 45 53 20 3d  _ALIGN_64BYTES =
18ac0 20 30 78 30 30 37 30 30 30 30 30 20 7d 0d 0a 65   0x00700000 }..e
18ad0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18ae0 47 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 31 32 38  GE_SCN_ALIGN_128
18af0 42 59 54 45 53 20 3d 20 30 78 30 30 38 30 30 30  BYTES = 0x008000
18b00 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18b10 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c  t { IMAGE_SCN_AL
18b20 49 47 4e 5f 32 35 36 42 59 54 45 53 20 3d 20 30  IGN_256BYTES = 0
18b30 78 30 30 39 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00900000 }..enu
18b40 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18b50 5f 53 43 4e 5f 41 4c 49 47 4e 5f 35 31 32 42 59  _SCN_ALIGN_512BY
18b60 54 45 53 20 3d 20 30 78 30 30 41 30 30 30 30 30  TES = 0x00A00000
18b70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18b80 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47  { IMAGE_SCN_ALIG
18b90 4e 5f 31 30 32 34 42 59 54 45 53 20 3d 20 30 78  N_1024BYTES = 0x
18ba0 30 30 42 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00B00000 }..enum
18bb0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18bc0 53 43 4e 5f 41 4c 49 47 4e 5f 32 30 34 38 42 59  SCN_ALIGN_2048BY
18bd0 54 45 53 20 3d 20 30 78 30 30 43 30 30 30 30 30  TES = 0x00C00000
18be0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18bf0 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47  { IMAGE_SCN_ALIG
18c00 4e 5f 34 30 39 36 42 59 54 45 53 20 3d 20 30 78  N_4096BYTES = 0x
18c10 30 30 44 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00D00000 }..enum
18c20 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18c30 53 43 4e 5f 41 4c 49 47 4e 5f 38 31 39 32 42 59  SCN_ALIGN_8192BY
18c40 54 45 53 20 3d 20 30 78 30 30 45 30 30 30 30 30  TES = 0x00E00000
18c50 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
18c60 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c  t { IMAGE_SCN_AL
18c70 49 47 4e 5f 4d 41 53 4b 20 3d 20 30 78 30 30 46  IGN_MASK = 0x00F
18c80 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
18c90 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
18ca0 43 4e 5f 4c 4e 4b 5f 4e 52 45 4c 4f 43 5f 4f 56  CN_LNK_NRELOC_OV
18cb0 46 4c 20 3d 20 30 78 30 31 30 30 30 30 30 30 20  FL = 0x01000000 
18cc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18cd0 20 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 44   IMAGE_SCN_MEM_D
18ce0 49 53 43 41 52 44 41 42 4c 45 20 3d 20 30 78 30  ISCARDABLE = 0x0
18cf0 32 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  2000000 }..enum 
18d00 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
18d10 43 4e 5f 4d 45 4d 5f 4e 4f 54 5f 43 41 43 48 45  CN_MEM_NOT_CACHE
18d20 44 20 3d 20 30 78 30 34 30 30 30 30 30 30 20 7d  D = 0x04000000 }
18d30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18d40 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 4e 4f  IMAGE_SCN_MEM_NO
18d50 54 5f 50 41 47 45 44 20 3d 20 30 78 30 38 30 30  T_PAGED = 0x0800
18d60 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
18d70 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
18d80 4d 45 4d 5f 53 48 41 52 45 44 20 3d 20 30 78 31  MEM_SHARED = 0x1
18d90 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
18da0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
18db0 43 4e 5f 4d 45 4d 5f 45 58 45 43 55 54 45 20 3d  CN_MEM_EXECUTE =
18dc0 20 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x20000000 }..e
18dd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18de0 47 45 5f 53 43 4e 5f 4d 45 4d 5f 52 45 41 44 20  GE_SCN_MEM_READ 
18df0 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
18e00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18e10 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 57 52 49 54  AGE_SCN_MEM_WRIT
18e20 45 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  E = 0x80000000 }
18e30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
18e40 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 53 43 41 4c  { IMAGE_SCN_SCAL
18e50 45 5f 49 4e 44 45 58 20 3d 20 30 78 30 30 30 30  E_INDEX = 0x0000
18e60 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  0001 }....// #if
18e70 6e 64 65 66 20 5f 4d 41 43 0d 0a 61 6c 69 67 6e  ndef _MAC..align
18e80 28 32 29 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  (2):..// #endif.
18e90 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
18ea0 5f 53 59 4d 42 4f 4c 20 7b 0d 0a 75 6e 69 6f 6e  _SYMBOL {..union
18eb0 20 7b 0d 0a 20 20 42 59 54 45 20 53 68 6f 72 74   {..  BYTE Short
18ec0 4e 61 6d 65 5b 38 5d 3b 0d 0a 73 74 72 75 63 74  Name[8];..struct
18ed0 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53 68 6f 72   {..  DWORD Shor
18ee0 74 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 6f 6e 67  t;..  DWORD Long
18ef0 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 20  ;..}....  DWORD 
18f00 4c 6f 6e 67 4e 61 6d 65 5b 32 5d 3b 0d 0a 7d 0d  LongName[2];..}.
18f10 0a 0d 0a 20 20 44 57 4f 52 44 20 56 61 6c 75 65  ...  DWORD Value
18f20 3b 0d 0a 20 20 53 48 4f 52 54 20 53 65 63 74 69  ;..  SHORT Secti
18f30 6f 6e 4e 75 6d 62 65 72 3b 0d 0a 20 20 57 4f 52  onNumber;..  WOR
18f40 44 20 54 79 70 65 3b 0d 0a 20 20 42 59 54 45 20  D Type;..  BYTE 
18f50 53 74 6f 72 61 67 65 43 6c 61 73 73 3b 0d 0a 20  StorageClass;.. 
18f60 20 42 59 54 45 20 4e 75 6d 62 65 72 4f 66 41 75   BYTE NumberOfAu
18f70 78 53 79 6d 62 6f 6c 73 3b 0d 0a 7d 0d 0a 61 6c  xSymbols;..}..al
18f80 69 61 73 20 5f 49 4d 41 47 45 5f 53 59 4d 42 4f  ias _IMAGE_SYMBO
18f90 4c 20 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 3b 0d  L IMAGE_SYMBOL;.
18fa0 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 53  ...alias IMAGE_S
18fb0 59 4d 42 4f 4c 2a 20 50 49 4d 41 47 45 5f 53 59  YMBOL* PIMAGE_SY
18fc0 4d 42 4f 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  MBOL;....enum : 
18fd0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 49 5a  uint { IMAGE_SIZ
18fe0 45 4f 46 5f 53 59 4d 42 4f 4c 20 3d 20 31 38 20  EOF_SYMBOL = 18 
18ff0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 53 48 4f 52  }....enum : SHOR
19000 54 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 55 4e  T { IMAGE_SYM_UN
19010 44 45 46 49 4e 45 44 20 3d 20 30 20 7d 0d 0a 65  DEFINED = 0 }..e
19020 6e 75 6d 20 3a 20 53 48 4f 52 54 20 7b 20 49 4d  num : SHORT { IM
19030 41 47 45 5f 53 59 4d 5f 41 42 53 4f 4c 55 54 45  AGE_SYM_ABSOLUTE
19040 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = -1 }..enum : 
19050 53 48 4f 52 54 20 7b 20 49 4d 41 47 45 5f 53 59  SHORT { IMAGE_SY
19060 4d 5f 44 45 42 55 47 20 3d 20 2d 32 20 7d 0d 0a  M_DEBUG = -2 }..
19070 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
19080 41 47 45 5f 53 59 4d 5f 53 45 43 54 49 4f 4e 5f  AGE_SYM_SECTION_
19090 4d 41 58 20 3d 20 30 78 46 45 46 46 20 7d 0d 0a  MAX = 0xFEFF }..
190a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
190b0 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 4e  IMAGE_SYM_TYPE_N
190c0 55 4c 4c 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  ULL = 0x0000 }..
190d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
190e0 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 56 4f 49  AGE_SYM_TYPE_VOI
190f0 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  D = 0x0001 }..en
19100 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
19110 45 5f 53 59 4d 5f 54 59 50 45 5f 43 48 41 52 20  E_SYM_TYPE_CHAR 
19120 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
19130 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
19140 53 59 4d 5f 54 59 50 45 5f 53 48 4f 52 54 20 3d  SYM_TYPE_SHORT =
19150 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
19160 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19170 59 4d 5f 54 59 50 45 5f 49 4e 54 20 3d 20 30 78  YM_TYPE_INT = 0x
19180 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
19190 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
191a0 54 59 50 45 5f 4c 4f 4e 47 20 3d 20 30 78 30 30  TYPE_LONG = 0x00
191b0 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
191c0 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59  t { IMAGE_SYM_TY
191d0 50 45 5f 46 4c 4f 41 54 20 3d 20 30 78 30 30 30  PE_FLOAT = 0x000
191e0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
191f0 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50   { IMAGE_SYM_TYP
19200 45 5f 44 4f 55 42 4c 45 20 3d 20 30 78 30 30 30  E_DOUBLE = 0x000
19210 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
19220 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50   { IMAGE_SYM_TYP
19230 45 5f 53 54 52 55 43 54 20 3d 20 30 78 30 30 30  E_STRUCT = 0x000
19240 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
19250 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50   { IMAGE_SYM_TYP
19260 45 5f 55 4e 49 4f 4e 20 3d 20 30 78 30 30 30 39  E_UNION = 0x0009
19270 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19280 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45  { IMAGE_SYM_TYPE
19290 5f 45 4e 55 4d 20 3d 20 30 78 30 30 30 41 20 7d  _ENUM = 0x000A }
192a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
192b0 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 4d  IMAGE_SYM_TYPE_M
192c0 4f 45 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65  OE = 0x000B }..e
192d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
192e0 47 45 5f 53 59 4d 5f 54 59 50 45 5f 42 59 54 45  GE_SYM_TYPE_BYTE
192f0 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75   = 0x000C }..enu
19300 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
19310 5f 53 59 4d 5f 54 59 50 45 5f 57 4f 52 44 20 3d  _SYM_TYPE_WORD =
19320 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20   0x000D }..enum 
19330 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19340 59 4d 5f 54 59 50 45 5f 55 49 4e 54 20 3d 20 30  YM_TYPE_UINT = 0
19350 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000E }..enum : 
19360 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d  uint { IMAGE_SYM
19370 5f 54 59 50 45 5f 44 57 4f 52 44 20 3d 20 30 78  _TYPE_DWORD = 0x
19380 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  000F }..enum : u
19390 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
193a0 54 59 50 45 5f 50 43 4f 44 45 20 3d 20 30 78 38  TYPE_PCODE = 0x8
193b0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
193c0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d  uint { IMAGE_SYM
193d0 5f 44 54 59 50 45 5f 4e 55 4c 4c 20 3d 20 30 20  _DTYPE_NULL = 0 
193e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
193f0 20 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 45   IMAGE_SYM_DTYPE
19400 5f 50 4f 49 4e 54 45 52 20 3d 20 31 20 7d 0d 0a  _POINTER = 1 }..
19410 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
19420 41 47 45 5f 53 59 4d 5f 44 54 59 50 45 5f 46 55  AGE_SYM_DTYPE_FU
19430 4e 43 54 49 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e  NCTION = 2 }..en
19440 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
19450 45 5f 53 59 4d 5f 44 54 59 50 45 5f 41 52 52 41  E_SYM_DTYPE_ARRA
19460 59 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  Y = 3 }....enum 
19470 3a 20 42 59 54 45 20 7b 20 49 4d 41 47 45 5f 53  : BYTE { IMAGE_S
19480 59 4d 5f 43 4c 41 53 53 5f 45 4e 44 5f 4f 46 5f  YM_CLASS_END_OF_
19490 46 55 4e 43 54 49 4f 4e 20 3d 20 63 61 73 74 28  FUNCTION = cast(
194a0 42 59 54 45 29 2d 31 20 7d 0d 0a 65 6e 75 6d 20  BYTE)-1 }..enum 
194b0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
194c0 59 4d 5f 43 4c 41 53 53 5f 4e 55 4c 4c 20 3d 20  YM_CLASS_NULL = 
194d0 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
194e0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
194f0 4d 5f 43 4c 41 53 53 5f 41 55 54 4f 4d 41 54 49  M_CLASS_AUTOMATI
19500 43 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  C = 0x0001 }..en
19510 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
19520 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54 45  E_SYM_CLASS_EXTE
19530 52 4e 41 4c 20 3d 20 30 78 30 30 30 32 20 7d 0d  RNAL = 0x0002 }.
19540 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
19550 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 53  MAGE_SYM_CLASS_S
19560 54 41 54 49 43 20 3d 20 30 78 30 30 30 33 20 7d  TATIC = 0x0003 }
19570 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19580 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f  IMAGE_SYM_CLASS_
19590 52 45 47 49 53 54 45 52 20 3d 20 30 78 30 30 30  REGISTER = 0x000
195a0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
195b0 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41   { IMAGE_SYM_CLA
195c0 53 53 5f 45 58 54 45 52 4e 41 4c 5f 44 45 46 20  SS_EXTERNAL_DEF 
195d0 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d  = 0x0005 }..enum
195e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
195f0 53 59 4d 5f 43 4c 41 53 53 5f 4c 41 42 45 4c 20  SYM_CLASS_LABEL 
19600 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x0006 }..enum
19610 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
19620 53 59 4d 5f 43 4c 41 53 53 5f 55 4e 44 45 46 49  SYM_CLASS_UNDEFI
19630 4e 45 44 5f 4c 41 42 45 4c 20 3d 20 30 78 30 30  NED_LABEL = 0x00
19640 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  07 }..enum : uin
19650 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  t { IMAGE_SYM_CL
19660 41 53 53 5f 4d 45 4d 42 45 52 5f 4f 46 5f 53 54  ASS_MEMBER_OF_ST
19670 52 55 43 54 20 3d 20 30 78 30 30 30 38 20 7d 0d  RUCT = 0x0008 }.
19680 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
19690 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 41  MAGE_SYM_CLASS_A
196a0 52 47 55 4d 45 4e 54 20 3d 20 30 78 30 30 30 39  RGUMENT = 0x0009
196b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
196c0 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53  { IMAGE_SYM_CLAS
196d0 53 5f 53 54 52 55 43 54 5f 54 41 47 20 3d 20 30  S_STRUCT_TAG = 0
196e0 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000A }..enum : 
196f0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d  uint { IMAGE_SYM
19700 5f 43 4c 41 53 53 5f 4d 45 4d 42 45 52 5f 4f 46  _CLASS_MEMBER_OF
19710 5f 55 4e 49 4f 4e 20 3d 20 30 78 30 30 30 42 20  _UNION = 0x000B 
19720 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19730 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53   IMAGE_SYM_CLASS
19740 5f 55 4e 49 4f 4e 5f 54 41 47 20 3d 20 30 78 30  _UNION_TAG = 0x0
19750 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00C }..enum : ui
19760 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43  nt { IMAGE_SYM_C
19770 4c 41 53 53 5f 54 59 50 45 5f 44 45 46 49 4e 49  LASS_TYPE_DEFINI
19780 54 49 4f 4e 20 3d 20 30 78 30 30 30 44 20 7d 0d  TION = 0x000D }.
19790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
197a0 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 55  MAGE_SYM_CLASS_U
197b0 4e 44 45 46 49 4e 45 44 5f 53 54 41 54 49 43 20  NDEFINED_STATIC 
197c0 3d 20 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d  = 0x000E }..enum
197d0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
197e0 53 59 4d 5f 43 4c 41 53 53 5f 45 4e 55 4d 5f 54  SYM_CLASS_ENUM_T
197f0 41 47 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a 65  AG = 0x000F }..e
19800 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
19810 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45 4d  GE_SYM_CLASS_MEM
19820 42 45 52 5f 4f 46 5f 45 4e 55 4d 20 3d 20 30 78  BER_OF_ENUM = 0x
19830 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
19840 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
19850 43 4c 41 53 53 5f 52 45 47 49 53 54 45 52 5f 50  CLASS_REGISTER_P
19860 41 52 41 4d 20 3d 20 30 78 30 30 31 31 20 7d 0d  ARAM = 0x0011 }.
19870 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
19880 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42  MAGE_SYM_CLASS_B
19890 49 54 5f 46 49 45 4c 44 20 3d 20 30 78 30 30 31  IT_FIELD = 0x001
198a0 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
198b0 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43  nt { IMAGE_SYM_C
198c0 4c 41 53 53 5f 46 41 52 5f 45 58 54 45 52 4e 41  LASS_FAR_EXTERNA
198d0 4c 20 3d 20 30 78 30 30 34 34 20 7d 0d 0a 0d 0a  L = 0x0044 }....
198e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
198f0 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42 4c  AGE_SYM_CLASS_BL
19900 4f 43 4b 20 3d 20 30 78 30 30 36 34 20 7d 0d 0a  OCK = 0x0064 }..
19910 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
19920 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 46 55  AGE_SYM_CLASS_FU
19930 4e 43 54 49 4f 4e 20 3d 20 30 78 30 30 36 35 20  NCTION = 0x0065 
19940 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19950 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53   IMAGE_SYM_CLASS
19960 5f 45 4e 44 5f 4f 46 5f 53 54 52 55 43 54 20 3d  _END_OF_STRUCT =
19970 20 30 78 30 30 36 36 20 7d 0d 0a 65 6e 75 6d 20   0x0066 }..enum 
19980 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19990 59 4d 5f 43 4c 41 53 53 5f 46 49 4c 45 20 3d 20  YM_CLASS_FILE = 
199a0 30 78 30 30 36 37 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0067 }....enum
199b0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
199c0 53 59 4d 5f 43 4c 41 53 53 5f 53 45 43 54 49 4f  SYM_CLASS_SECTIO
199d0 4e 20 3d 20 30 78 30 30 36 38 20 7d 0d 0a 65 6e  N = 0x0068 }..en
199e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
199f0 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 57 45 41 4b  E_SYM_CLASS_WEAK
19a00 5f 45 58 54 45 52 4e 41 4c 20 3d 20 30 78 30 30  _EXTERNAL = 0x00
19a10 36 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  69 }....enum : u
19a20 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
19a30 43 4c 41 53 53 5f 43 4c 52 5f 54 4f 4b 45 4e 20  CLASS_CLR_TOKEN 
19a40 3d 20 30 78 30 30 36 42 20 7d 0d 0a 0d 0a 65 6e  = 0x006B }....en
19a50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 5f 42 54  um : uint { N_BT
19a60 4d 41 53 4b 20 3d 20 30 78 30 30 30 46 20 7d 0d  MASK = 0x000F }.
19a70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
19a80 5f 54 4d 41 53 4b 20 3d 20 30 78 30 30 33 30 20  _TMASK = 0x0030 
19a90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19aa0 20 4e 5f 54 4d 41 53 4b 31 20 3d 20 30 78 30 30   N_TMASK1 = 0x00
19ab0 43 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  C0 }..enum : uin
19ac0 74 20 7b 20 4e 5f 54 4d 41 53 4b 32 20 3d 20 30  t { N_TMASK2 = 0
19ad0 78 30 30 46 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00F0 }..enum : 
19ae0 75 69 6e 74 20 7b 20 4e 5f 42 54 53 48 46 54 20  uint { N_BTSHFT 
19af0 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
19b00 6e 74 20 7b 20 4e 5f 54 53 48 49 46 54 20 3d 20  nt { N_TSHIFT = 
19b10 32 20 7d 0d 0a 0d 0a 42 59 54 45 20 42 54 59 50  2 }....BYTE BTYP
19b20 45 28 42 59 54 45 20 78 29 7b 20 72 65 74 75 72  E(BYTE x){ retur
19b30 6e 20 78 20 26 20 4e 5f 42 54 4d 41 53 4b 3b 20  n x & N_BTMASK; 
19b40 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  }....// #ifndef 
19b50 49 53 50 54 52 0d 0a 62 69 74 20 49 53 50 54 52  ISPTR..bit ISPTR
19b60 28 75 69 6e 74 20 78 29 7b 20 72 65 74 75 72 6e  (uint x){ return
19b70 20 28 78 20 26 20 4e 5f 54 4d 41 53 4b 29 20 3d   (x & N_TMASK) =
19b80 3d 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59  = (IMAGE_SYM_DTY
19b90 50 45 5f 50 4f 49 4e 54 45 52 20 3c 3c 20 4e 5f  PE_POINTER << N_
19ba0 42 54 53 48 46 54 29 3b 20 7d 0d 0a 2f 2f 20 23  BTSHFT); }..// #
19bb0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
19bc0 64 65 66 20 49 53 46 43 4e 0d 0a 62 69 74 20 49  def ISFCN..bit I
19bd0 53 46 43 4e 28 75 69 6e 74 20 78 29 7b 20 72 65  SFCN(uint x){ re
19be0 74 75 72 6e 20 28 78 20 26 20 4e 5f 54 4d 41 53  turn (x & N_TMAS
19bf0 4b 29 20 3d 3d 20 28 49 4d 41 47 45 5f 53 59 4d  K) == (IMAGE_SYM
19c00 5f 44 54 59 50 45 5f 46 55 4e 43 54 49 4f 4e 20  _DTYPE_FUNCTION 
19c10 3c 3c 20 4e 5f 42 54 53 48 46 54 29 3b 20 7d 0d  << N_BTSHFT); }.
19c20 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
19c30 20 23 69 66 6e 64 65 66 20 49 53 41 52 59 0d 0a   #ifndef ISARY..
19c40 62 69 74 20 49 53 41 52 59 28 75 69 6e 74 20 78  bit ISARY(uint x
19c50 29 7b 20 72 65 74 75 72 6e 20 28 78 20 26 20 4e  ){ return (x & N
19c60 5f 54 4d 41 53 4b 29 20 3d 3d 20 28 49 4d 41 47  _TMASK) == (IMAG
19c70 45 5f 53 59 4d 5f 44 54 59 50 45 5f 41 52 52 41  E_SYM_DTYPE_ARRA
19c80 59 20 3c 3c 20 4e 5f 42 54 53 48 46 54 29 3b 20  Y << N_BTSHFT); 
19c90 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
19ca0 2f 2f 20 23 69 66 6e 64 65 66 20 49 53 54 41 47  // #ifndef ISTAG
19cb0 0d 0a 62 69 74 20 49 53 54 41 47 28 75 69 6e 74  ..bit ISTAG(uint
19cc0 20 78 29 7b 20 72 65 74 75 72 6e 20 78 20 3d 3d   x){ return x ==
19cd0 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53   IMAGE_SYM_CLASS
19ce0 5f 53 54 52 55 43 54 5f 54 41 47 20 7c 7c 20 78  _STRUCT_TAG || x
19cf0 20 3d 3d 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c   == IMAGE_SYM_CL
19d00 41 53 53 5f 55 4e 49 4f 4e 5f 54 41 47 20 7c 7c  ASS_UNION_TAG ||
19d10 20 78 20 3d 3d 20 49 4d 41 47 45 5f 53 59 4d 5f   x == IMAGE_SYM_
19d20 43 4c 41 53 53 5f 45 4e 55 4d 5f 54 41 47 3b 20  CLASS_ENUM_TAG; 
19d30 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
19d40 2f 2f 20 23 69 66 6e 64 65 66 20 49 4e 43 52 45  // #ifndef INCRE
19d50 46 0d 0a 75 69 6e 74 20 49 4e 43 52 45 46 28 75  F..uint INCREF(u
19d60 69 6e 74 20 78 29 7b 20 72 65 74 75 72 6e 20 28  int x){ return (
19d70 28 78 26 7e 4e 5f 42 54 4d 41 53 4b 29 3c 3c 4e  (x&~N_BTMASK)<<N
19d80 5f 54 53 48 49 46 54 29 7c 28 49 4d 41 47 45 5f  _TSHIFT)|(IMAGE_
19d90 53 59 4d 5f 44 54 59 50 45 5f 50 4f 49 4e 54 45  SYM_DTYPE_POINTE
19da0 52 3c 3c 4e 5f 42 54 53 48 46 54 29 7c 28 78 26  R<<N_BTSHFT)|(x&
19db0 4e 5f 42 54 4d 41 53 4b 29 3b 20 7d 0d 0a 2f 2f  N_BTMASK); }..//
19dc0 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 6e   #endif..// #ifn
19dd0 64 65 66 20 44 45 43 52 45 46 0d 0a 75 69 6e 74  def DECREF..uint
19de0 20 44 45 43 52 45 46 28 75 69 6e 74 20 78 29 7b   DECREF(uint x){
19df0 20 72 65 74 75 72 6e 20 28 28 78 20 3e 3e 3e 20   return ((x >>> 
19e00 4e 5f 54 53 48 49 46 54 29 20 26 20 7e 4e 5f 42  N_TSHIFT) & ~N_B
19e10 54 4d 41 53 4b 29 7c 28 78 20 26 20 4e 5f 42 54  TMASK)|(x & N_BT
19e20 4d 41 53 4b 29 3b 20 7d 0d 0a 2f 2f 20 23 65 6e  MASK); }..// #en
19e30 64 69 66 0d 0a 0d 0a 75 6e 69 6f 6e 20 5f 49 4d  dif....union _IM
19e40 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 20 7b  AGE_AUX_SYMBOL {
19e50 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 44 57  ..struct {..  DW
19e60 4f 52 44 20 54 61 67 49 6e 64 65 78 3b 0d 0a 75  ORD TagIndex;..u
19e70 6e 69 6f 6e 20 7b 0d 0a 73 74 72 75 63 74 20 7b  nion {..struct {
19e80 0d 0a 20 20 57 4f 52 44 20 4c 69 6e 65 6e 75 6d  ..  WORD Linenum
19e90 62 65 72 3b 0d 0a 20 20 57 4f 52 44 20 53 69 7a  ber;..  WORD Siz
19ea0 65 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44  e;..}....  DWORD
19eb0 20 54 6f 74 61 6c 53 69 7a 65 3b 0d 0a 7d 0d 0a   TotalSize;..}..
19ec0 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 73 74 72 75 63  ..union {..struc
19ed0 74 20 7b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69  t {..  DWORD Poi
19ee0 6e 74 65 72 54 6f 4c 69 6e 65 6e 75 6d 62 65 72  nterToLinenumber
19ef0 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69 6e 74  ;..  DWORD Point
19f00 65 72 54 6f 4e 65 78 74 46 75 6e 63 74 69 6f 6e  erToNextFunction
19f10 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 7b  ;..}....struct {
19f20 0d 0a 20 20 57 4f 52 44 20 44 69 6d 65 6e 73 69  ..  WORD Dimensi
19f30 6f 6e 5b 34 5d 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a  on[4];..}....}..
19f40 0d 0a 20 20 57 4f 52 44 20 54 76 49 6e 64 65 78  ..  WORD TvIndex
19f50 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 7b  ;..}....struct {
19f60 0d 0a 20 20 42 59 54 45 20 4e 61 6d 65 5b 49 4d  ..  BYTE Name[IM
19f70 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59 4d 42 4f  AGE_SIZEOF_SYMBO
19f80 4c 5d 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74  L];..}....struct
19f90 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4c 65 6e 67   {..  DWORD Leng
19fa0 74 68 3b 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62  th;..  WORD Numb
19fb0 65 72 4f 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b  erOfRelocations;
19fc0 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f  ..  WORD NumberO
19fd0 66 4c 69 6e 65 6e 75 6d 62 65 72 73 3b 0d 0a 20  fLinenumbers;.. 
19fe0 20 44 57 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b   DWORD CheckSum;
19ff0 0d 0a 20 20 53 48 4f 52 54 20 4e 75 6d 62 65 72  ..  SHORT Number
1a000 3b 0d 0a 20 20 42 59 54 45 20 53 65 6c 65 63 74  ;..  BYTE Select
1a010 69 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c  ion;..}....}..al
1a020 69 61 73 20 5f 49 4d 41 47 45 5f 41 55 58 5f 53  ias _IMAGE_AUX_S
1a030 59 4d 42 4f 4c 20 49 4d 41 47 45 5f 41 55 58 5f  YMBOL IMAGE_AUX_
1a040 53 59 4d 42 4f 4c 3b 0d 0a 0d 0a 61 6c 69 61 73  SYMBOL;....alias
1a050 20 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f   IMAGE_AUX_SYMBO
1a060 4c 2a 20 50 49 4d 41 47 45 5f 41 55 58 5f 53 59  L* PIMAGE_AUX_SY
1a070 4d 42 4f 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  MBOL;....enum : 
1a080 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 49 5a  uint { IMAGE_SIZ
1a090 45 4f 46 5f 41 55 58 5f 53 59 4d 42 4f 4c 20 3d  EOF_AUX_SYMBOL =
1a0a0 20 31 38 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69   18 }....alias i
1a0b0 6e 74 20 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d  nt IMAGE_AUX_SYM
1a0c0 42 4f 4c 5f 54 59 50 45 3b 0d 0a 65 6e 75 6d 20  BOL_TYPE;..enum 
1a0d0 7b 0d 0a 20 20 49 4d 41 47 45 5f 41 55 58 5f 53  {..  IMAGE_AUX_S
1a0e0 59 4d 42 4f 4c 5f 54 59 50 45 5f 54 4f 4b 45 4e  YMBOL_TYPE_TOKEN
1a0f0 5f 44 45 46 20 3d 20 31 2c 0d 0a 7d 0d 0a 0d 0a  _DEF = 1,..}....
1a100 61 6c 69 67 6e 28 32 29 3a 0d 0a 0d 0a 73 74 72  align(2):....str
1a110 75 63 74 20 49 4d 41 47 45 5f 41 55 58 5f 53 59  uct IMAGE_AUX_SY
1a120 4d 42 4f 4c 5f 54 4f 4b 45 4e 5f 44 45 46 20 7b  MBOL_TOKEN_DEF {
1a130 0d 0a 20 20 42 59 54 45 20 62 41 75 78 54 79 70  ..  BYTE bAuxTyp
1a140 65 3b 0d 0a 20 20 42 59 54 45 20 62 52 65 73 65  e;..  BYTE bRese
1a150 72 76 65 64 3b 0d 0a 20 20 44 57 4f 52 44 20 53  rved;..  DWORD S
1a160 79 6d 62 6f 6c 54 61 62 6c 65 49 6e 64 65 78 3b  ymbolTableIndex;
1a170 0d 0a 20 20 42 59 54 45 20 72 67 62 52 65 73 65  ..  BYTE rgbRese
1a180 72 76 65 64 5b 31 32 5d 3b 0d 0a 7d 0d 0a 0d 0a  rved[12];..}....
1a190 61 6c 69 61 73 20 49 4d 41 47 45 5f 41 55 58 5f  alias IMAGE_AUX_
1a1a0 53 59 4d 42 4f 4c 5f 54 4f 4b 45 4e 5f 44 45 46  SYMBOL_TOKEN_DEF
1a1b0 2a 20 50 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d  * PIMAGE_AUX_SYM
1a1c0 42 4f 4c 5f 54 4f 4b 45 4e 5f 44 45 46 3b 0d 0a  BOL_TOKEN_DEF;..
1a1d0 0d 0a 61 6c 69 67 6e 3a 0d 0a 0d 0a 65 6e 75 6d  ..align:....enum
1a1e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a1f0 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4e 4f  COMDAT_SELECT_NO
1a200 44 55 50 4c 49 43 41 54 45 53 20 3d 20 31 20 7d  DUPLICATES = 1 }
1a210 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a220 49 4d 41 47 45 5f 43 4f 4d 44 41 54 5f 53 45 4c  IMAGE_COMDAT_SEL
1a230 45 43 54 5f 41 4e 59 20 3d 20 32 20 7d 0d 0a 65  ECT_ANY = 2 }..e
1a240 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1a250 47 45 5f 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54  GE_COMDAT_SELECT
1a260 5f 53 41 4d 45 5f 53 49 5a 45 20 3d 20 33 20 7d  _SAME_SIZE = 3 }
1a270 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a280 49 4d 41 47 45 5f 43 4f 4d 44 41 54 5f 53 45 4c  IMAGE_COMDAT_SEL
1a290 45 43 54 5f 45 58 41 43 54 5f 4d 41 54 43 48 20  ECT_EXACT_MATCH 
1a2a0 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
1a2b0 6e 74 20 7b 20 49 4d 41 47 45 5f 43 4f 4d 44 41  nt { IMAGE_COMDA
1a2c0 54 5f 53 45 4c 45 43 54 5f 41 53 53 4f 43 49 41  T_SELECT_ASSOCIA
1a2d0 54 49 56 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d  TIVE = 5 }..enum
1a2e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a2f0 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4c 41  COMDAT_SELECT_LA
1a300 52 47 45 53 54 20 3d 20 36 20 7d 0d 0a 65 6e 75  RGEST = 6 }..enu
1a310 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1a320 5f 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4e  _COMDAT_SELECT_N
1a330 45 57 45 53 54 20 3d 20 37 20 7d 0d 0a 0d 0a 65  EWEST = 7 }....e
1a340 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1a350 47 45 5f 57 45 41 4b 5f 45 58 54 45 52 4e 5f 53  GE_WEAK_EXTERN_S
1a360 45 41 52 43 48 5f 4e 4f 4c 49 42 52 41 52 59 20  EARCH_NOLIBRARY 
1a370 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
1a380 6e 74 20 7b 20 49 4d 41 47 45 5f 57 45 41 4b 5f  nt { IMAGE_WEAK_
1a390 45 58 54 45 52 4e 5f 53 45 41 52 43 48 5f 4c 49  EXTERN_SEARCH_LI
1a3a0 42 52 41 52 59 20 3d 20 32 20 7d 0d 0a 65 6e 75  BRARY = 2 }..enu
1a3b0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1a3c0 5f 57 45 41 4b 5f 45 58 54 45 52 4e 5f 53 45 41  _WEAK_EXTERN_SEA
1a3d0 52 43 48 5f 41 4c 49 41 53 20 3d 20 33 20 7d 0d  RCH_ALIAS = 3 }.
1a3e0 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1a3f0 5f 52 45 4c 4f 43 41 54 49 4f 4e 20 7b 0d 0a 75  _RELOCATION {..u
1a400 6e 69 6f 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20  nion {..  DWORD 
1a410 56 69 72 74 75 61 6c 41 64 64 72 65 73 73 3b 0d  VirtualAddress;.
1a420 0a 20 20 44 57 4f 52 44 20 52 65 6c 6f 63 43 6f  .  DWORD RelocCo
1a430 75 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f  unt;..}....  DWO
1a440 52 44 20 53 79 6d 62 6f 6c 54 61 62 6c 65 49 6e  RD SymbolTableIn
1a450 64 65 78 3b 0d 0a 20 20 57 4f 52 44 20 54 79 70  dex;..  WORD Typ
1a460 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d  e;..}..alias _IM
1a470 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 20 49  AGE_RELOCATION I
1a480 4d 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b  MAGE_RELOCATION;
1a490 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f  ....alias IMAGE_
1a4a0 52 45 4c 4f 43 41 54 49 4f 4e 2a 20 50 49 4d 41  RELOCATION* PIMA
1a4b0 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b 0d 0a  GE_RELOCATION;..
1a4c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a4d0 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52 45 4c  IMAGE_SIZEOF_REL
1a4e0 4f 43 41 54 49 4f 4e 20 3d 20 31 30 20 7d 0d 0a  OCATION = 10 }..
1a4f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a500 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 41  IMAGE_REL_I386_A
1a510 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30  BSOLUTE = 0x0000
1a520 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a530 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36  { IMAGE_REL_I386
1a540 5f 44 49 52 31 36 20 3d 20 30 78 30 30 30 31 20  _DIR16 = 0x0001 
1a550 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a560 20 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f   IMAGE_REL_I386_
1a570 52 45 4c 31 36 20 3d 20 30 78 30 30 30 32 20 7d  REL16 = 0x0002 }
1a580 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a590 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 44  IMAGE_REL_I386_D
1a5a0 49 52 33 32 20 3d 20 30 78 30 30 30 36 20 7d 0d  IR32 = 0x0006 }.
1a5b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a5c0 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 44 49  MAGE_REL_I386_DI
1a5d0 52 33 32 4e 42 20 3d 20 30 78 30 30 30 37 20 7d  R32NB = 0x0007 }
1a5e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a5f0 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53  IMAGE_REL_I386_S
1a600 45 47 31 32 20 3d 20 30 78 30 30 30 39 20 7d 0d  EG12 = 0x0009 }.
1a610 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a620 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45  MAGE_REL_I386_SE
1a630 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 41 20 7d  CTION = 0x000A }
1a640 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a650 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53  IMAGE_REL_I386_S
1a660 45 43 52 45 4c 20 3d 20 30 78 30 30 30 42 20 7d  ECREL = 0x000B }
1a670 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a680 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 54  IMAGE_REL_I386_T
1a690 4f 4b 45 4e 20 3d 20 30 78 30 30 30 43 20 7d 0d  OKEN = 0x000C }.
1a6a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a6b0 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45  MAGE_REL_I386_SE
1a6c0 43 52 45 4c 37 20 3d 20 30 78 30 30 30 44 20 7d  CREL7 = 0x000D }
1a6d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a6e0 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 52  IMAGE_REL_I386_R
1a6f0 45 4c 33 32 20 3d 20 30 78 30 30 31 34 20 7d 0d  EL32 = 0x0014 }.
1a700 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1a710 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f   IMAGE_REL_MIPS_
1a720 41 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30  ABSOLUTE = 0x000
1a730 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1a740 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50   { IMAGE_REL_MIP
1a750 53 5f 52 45 46 48 41 4c 46 20 3d 20 30 78 30 30  S_REFHALF = 0x00
1a760 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1a770 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49  t { IMAGE_REL_MI
1a780 50 53 5f 52 45 46 57 4f 52 44 20 3d 20 30 78 30  PS_REFWORD = 0x0
1a790 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1a7a0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1a7b0 49 50 53 5f 4a 4d 50 41 44 44 52 20 3d 20 30 78  IPS_JMPADDR = 0x
1a7c0 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0003 }..enum : u
1a7d0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1a7e0 4d 49 50 53 5f 52 45 46 48 49 20 3d 20 30 78 30  MIPS_REFHI = 0x0
1a7f0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
1a800 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1a810 49 50 53 5f 52 45 46 4c 4f 20 3d 20 30 78 30 30  IPS_REFLO = 0x00
1a820 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
1a830 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49  t { IMAGE_REL_MI
1a840 50 53 5f 47 50 52 45 4c 20 3d 20 30 78 30 30 30  PS_GPREL = 0x000
1a850 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
1a860 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50   { IMAGE_REL_MIP
1a870 53 5f 4c 49 54 45 52 41 4c 20 3d 20 30 78 30 30  S_LITERAL = 0x00
1a880 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  07 }..enum : uin
1a890 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49  t { IMAGE_REL_MI
1a8a0 50 53 5f 53 45 43 54 49 4f 4e 20 3d 20 30 78 30  PS_SECTION = 0x0
1a8b0 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00A }..enum : ui
1a8c0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1a8d0 49 50 53 5f 53 45 43 52 45 4c 20 3d 20 30 78 30  IPS_SECREL = 0x0
1a8e0 30 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00B }..enum : ui
1a8f0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1a900 49 50 53 5f 53 45 43 52 45 4c 4c 4f 20 3d 20 30  IPS_SECRELLO = 0
1a910 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000C }..enum : 
1a920 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1a930 5f 4d 49 50 53 5f 53 45 43 52 45 4c 48 49 20 3d  _MIPS_SECRELHI =
1a940 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20   0x000D }..enum 
1a950 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1a960 45 4c 5f 4d 49 50 53 5f 54 4f 4b 45 4e 20 3d 20  EL_MIPS_TOKEN = 
1a970 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000E }..enum :
1a980 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1a990 4c 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 52 31 36  L_MIPS_JMPADDR16
1a9a0 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
1a9b0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1a9c0 5f 52 45 4c 5f 4d 49 50 53 5f 52 45 46 57 4f 52  _REL_MIPS_REFWOR
1a9d0 44 4e 42 20 3d 20 30 78 30 30 32 32 20 7d 0d 0a  DNB = 0x0022 }..
1a9e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1a9f0 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 50 41 49  AGE_REL_MIPS_PAI
1aa00 52 20 3d 20 30 78 30 30 32 35 20 7d 0d 0a 0d 0a  R = 0x0025 }....
1aa10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1aa20 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 41 42  AGE_REL_ALPHA_AB
1aa30 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30 20  SOLUTE = 0x0000 
1aa40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1aa50 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41   IMAGE_REL_ALPHA
1aa60 5f 52 45 46 4c 4f 4e 47 20 3d 20 30 78 30 30 30  _REFLONG = 0x000
1aa70 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1aa80 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50   { IMAGE_REL_ALP
1aa90 48 41 5f 52 45 46 51 55 41 44 20 3d 20 30 78 30  HA_REFQUAD = 0x0
1aaa0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1aab0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1aac0 4c 50 48 41 5f 47 50 52 45 4c 33 32 20 3d 20 30  LPHA_GPREL32 = 0
1aad0 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0003 }..enum : 
1aae0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1aaf0 5f 41 4c 50 48 41 5f 4c 49 54 45 52 41 4c 20 3d  _ALPHA_LITERAL =
1ab00 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
1ab10 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1ab20 45 4c 5f 41 4c 50 48 41 5f 4c 49 54 55 53 45 20  EL_ALPHA_LITUSE 
1ab30 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d  = 0x0005 }..enum
1ab40 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1ab50 52 45 4c 5f 41 4c 50 48 41 5f 47 50 44 49 53 50  REL_ALPHA_GPDISP
1ab60 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75   = 0x0006 }..enu
1ab70 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1ab80 5f 52 45 4c 5f 41 4c 50 48 41 5f 42 52 41 44 44  _REL_ALPHA_BRADD
1ab90 52 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e  R = 0x0007 }..en
1aba0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1abb0 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 48 49 4e 54  E_REL_ALPHA_HINT
1abc0 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75   = 0x0008 }..enu
1abd0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1abe0 5f 52 45 4c 5f 41 4c 50 48 41 5f 49 4e 4c 49 4e  _REL_ALPHA_INLIN
1abf0 45 5f 52 45 46 4c 4f 4e 47 20 3d 20 30 78 30 30  E_REFLONG = 0x00
1ac00 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  09 }..enum : uin
1ac10 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  t { IMAGE_REL_AL
1ac20 50 48 41 5f 52 45 46 48 49 20 3d 20 30 78 30 30  PHA_REFHI = 0x00
1ac30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
1ac40 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  t { IMAGE_REL_AL
1ac50 50 48 41 5f 52 45 46 4c 4f 20 3d 20 30 78 30 30  PHA_REFLO = 0x00
1ac60 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0B }..enum : uin
1ac70 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  t { IMAGE_REL_AL
1ac80 50 48 41 5f 50 41 49 52 20 3d 20 30 78 30 30 30  PHA_PAIR = 0x000
1ac90 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  C }..enum : uint
1aca0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50   { IMAGE_REL_ALP
1acb0 48 41 5f 4d 41 54 43 48 20 3d 20 30 78 30 30 30  HA_MATCH = 0x000
1acc0 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
1acd0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50   { IMAGE_REL_ALP
1ace0 48 41 5f 53 45 43 54 49 4f 4e 20 3d 20 30 78 30  HA_SECTION = 0x0
1acf0 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00E }..enum : ui
1ad00 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1ad10 4c 50 48 41 5f 53 45 43 52 45 4c 20 3d 20 30 78  LPHA_SECREL = 0x
1ad20 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  000F }..enum : u
1ad30 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1ad40 41 4c 50 48 41 5f 52 45 46 4c 4f 4e 47 4e 42 20  ALPHA_REFLONGNB 
1ad50 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
1ad60 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1ad70 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43 52 45 4c  REL_ALPHA_SECREL
1ad80 4c 4f 20 3d 20 30 78 30 30 31 31 20 7d 0d 0a 65  LO = 0x0011 }..e
1ad90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1ada0 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43  GE_REL_ALPHA_SEC
1adb0 52 45 4c 48 49 20 3d 20 30 78 30 30 31 32 20 7d  RELHI = 0x0012 }
1adc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1add0 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
1ade0 52 45 46 51 33 20 3d 20 30 78 30 30 31 33 20 7d  REFQ3 = 0x0013 }
1adf0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ae00 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
1ae10 52 45 46 51 32 20 3d 20 30 78 30 30 31 34 20 7d  REFQ2 = 0x0014 }
1ae20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ae30 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
1ae40 52 45 46 51 31 20 3d 20 30 78 30 30 31 35 20 7d  REFQ1 = 0x0015 }
1ae50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ae60 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
1ae70 47 50 52 45 4c 4c 4f 20 3d 20 30 78 30 30 31 36  GPRELLO = 0x0016
1ae80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1ae90 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48  { IMAGE_REL_ALPH
1aea0 41 5f 47 50 52 45 4c 48 49 20 3d 20 30 78 30 30  A_GPRELHI = 0x00
1aeb0 31 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  17 }....enum : u
1aec0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1aed0 50 50 43 5f 41 42 53 4f 4c 55 54 45 20 3d 20 30  PPC_ABSOLUTE = 0
1aee0 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1aef0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1af00 5f 50 50 43 5f 41 44 44 52 36 34 20 3d 20 30 78  _PPC_ADDR64 = 0x
1af10 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
1af20 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1af30 50 50 43 5f 41 44 44 52 33 32 20 3d 20 30 78 30  PPC_ADDR32 = 0x0
1af40 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1af50 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50  nt { IMAGE_REL_P
1af60 50 43 5f 41 44 44 52 32 34 20 3d 20 30 78 30 30  PC_ADDR24 = 0x00
1af70 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
1af80 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50  t { IMAGE_REL_PP
1af90 43 5f 41 44 44 52 31 36 20 3d 20 30 78 30 30 30  C_ADDR16 = 0x000
1afa0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1afb0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43   { IMAGE_REL_PPC
1afc0 5f 41 44 44 52 31 34 20 3d 20 30 78 30 30 30 35  _ADDR14 = 0x0005
1afd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1afe0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  { IMAGE_REL_PPC_
1aff0 52 45 4c 32 34 20 3d 20 30 78 30 30 30 36 20 7d  REL24 = 0x0006 }
1b000 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b010 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 52 45  IMAGE_REL_PPC_RE
1b020 4c 31 34 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a  L14 = 0x0007 }..
1b030 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b040 41 47 45 5f 52 45 4c 5f 50 50 43 5f 54 4f 43 52  AGE_REL_PPC_TOCR
1b050 45 4c 31 36 20 3d 20 30 78 30 30 30 38 20 7d 0d  EL16 = 0x0008 }.
1b060 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b070 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 54 4f 43  MAGE_REL_PPC_TOC
1b080 52 45 4c 31 34 20 3d 20 30 78 30 30 30 39 20 7d  REL14 = 0x0009 }
1b090 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1b0a0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  { IMAGE_REL_PPC_
1b0b0 41 44 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30  ADDR32NB = 0x000
1b0c0 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
1b0d0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43   { IMAGE_REL_PPC
1b0e0 5f 53 45 43 52 45 4c 20 3d 20 30 78 30 30 30 42  _SECREL = 0x000B
1b0f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b100 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  { IMAGE_REL_PPC_
1b110 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 43  SECTION = 0x000C
1b120 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b130 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f  { IMAGE_REL_PPC_
1b140 49 46 47 4c 55 45 20 3d 20 30 78 30 30 30 44 20  IFGLUE = 0x000D 
1b150 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b160 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 49   IMAGE_REL_PPC_I
1b170 4d 47 4c 55 45 20 3d 20 30 78 30 30 30 45 20 7d  MGLUE = 0x000E }
1b180 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b190 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 53 45  IMAGE_REL_PPC_SE
1b1a0 43 52 45 4c 31 36 20 3d 20 30 78 30 30 30 46 20  CREL16 = 0x000F 
1b1b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b1c0 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 52   IMAGE_REL_PPC_R
1b1d0 45 46 48 49 20 3d 20 30 78 30 30 31 30 20 7d 0d  EFHI = 0x0010 }.
1b1e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b1f0 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 52 45 46  MAGE_REL_PPC_REF
1b200 4c 4f 20 3d 20 30 78 30 30 31 31 20 7d 0d 0a 65  LO = 0x0011 }..e
1b210 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b220 47 45 5f 52 45 4c 5f 50 50 43 5f 50 41 49 52 20  GE_REL_PPC_PAIR 
1b230 3d 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75 6d  = 0x0012 }..enum
1b240 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b250 52 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c 4c 4f  REL_PPC_SECRELLO
1b260 20 3d 20 30 78 30 30 31 33 20 7d 0d 0a 65 6e 75   = 0x0013 }..enu
1b270 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1b280 5f 52 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c 48  _REL_PPC_SECRELH
1b290 49 20 3d 20 30 78 30 30 31 34 20 7d 0d 0a 65 6e  I = 0x0014 }..en
1b2a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b2b0 45 5f 52 45 4c 5f 50 50 43 5f 47 50 52 45 4c 20  E_REL_PPC_GPREL 
1b2c0 3d 20 30 78 30 30 31 35 20 7d 0d 0a 65 6e 75 6d  = 0x0015 }..enum
1b2d0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b2e0 52 45 4c 5f 50 50 43 5f 54 4f 4b 45 4e 20 3d 20  REL_PPC_TOKEN = 
1b2f0 30 78 30 30 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0016 }....enum
1b300 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b310 52 45 4c 5f 50 50 43 5f 54 59 50 45 4d 41 53 4b  REL_PPC_TYPEMASK
1b320 20 3d 20 30 78 30 30 46 46 20 7d 0d 0a 0d 0a 65   = 0x00FF }....e
1b330 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b340 47 45 5f 52 45 4c 5f 50 50 43 5f 4e 45 47 20 3d  GE_REL_PPC_NEG =
1b350 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0100 }..enum 
1b360 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b370 45 4c 5f 50 50 43 5f 42 52 54 41 4b 45 4e 20 3d  EL_PPC_BRTAKEN =
1b380 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0200 }..enum 
1b390 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b3a0 45 4c 5f 50 50 43 5f 42 52 4e 54 41 4b 45 4e 20  EL_PPC_BRNTAKEN 
1b3b0 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0400 }..enum
1b3c0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b3d0 52 45 4c 5f 50 50 43 5f 54 4f 43 44 45 46 4e 20  REL_PPC_TOCDEFN 
1b3e0 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e  = 0x0800 }....en
1b3f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b400 45 5f 52 45 4c 5f 53 48 33 5f 41 42 53 4f 4c 55  E_REL_SH3_ABSOLU
1b410 54 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  TE = 0x0000 }..e
1b420 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b430 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 43  GE_REL_SH3_DIREC
1b440 54 31 36 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  T16 = 0x0001 }..
1b450 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b460 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45  AGE_REL_SH3_DIRE
1b470 43 54 33 32 20 3d 20 30 78 30 30 30 32 20 7d 0d  CT32 = 0x0002 }.
1b480 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b490 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52  MAGE_REL_SH3_DIR
1b4a0 45 43 54 38 20 3d 20 30 78 30 30 30 33 20 7d 0d  ECT8 = 0x0003 }.
1b4b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b4c0 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52  MAGE_REL_SH3_DIR
1b4d0 45 43 54 38 5f 57 4f 52 44 20 3d 20 30 78 30 30  ECT8_WORD = 0x00
1b4e0 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
1b4f0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48  t { IMAGE_REL_SH
1b500 33 5f 44 49 52 45 43 54 38 5f 4c 4f 4e 47 20 3d  3_DIRECT8_LONG =
1b510 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20   0x0005 }..enum 
1b520 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b530 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 34 20 3d  EL_SH3_DIRECT4 =
1b540 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20   0x0006 }..enum 
1b550 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b560 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 34 5f 57  EL_SH3_DIRECT4_W
1b570 4f 52 44 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a  ORD = 0x0007 }..
1b580 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b590 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45  AGE_REL_SH3_DIRE
1b5a0 43 54 34 5f 4c 4f 4e 47 20 3d 20 30 78 30 30 30  CT4_LONG = 0x000
1b5b0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1b5c0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33   { IMAGE_REL_SH3
1b5d0 5f 50 43 52 45 4c 38 5f 57 4f 52 44 20 3d 20 30  _PCREL8_WORD = 0
1b5e0 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0009 }..enum : 
1b5f0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b600 5f 53 48 33 5f 50 43 52 45 4c 38 5f 4c 4f 4e 47  _SH3_PCREL8_LONG
1b610 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75   = 0x000A }..enu
1b620 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1b630 5f 52 45 4c 5f 53 48 33 5f 50 43 52 45 4c 31 32  _REL_SH3_PCREL12
1b640 5f 57 4f 52 44 20 3d 20 30 78 30 30 30 42 20 7d  _WORD = 0x000B }
1b650 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b660 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 53 54  IMAGE_REL_SH3_ST
1b670 41 52 54 4f 46 5f 53 45 43 54 49 4f 4e 20 3d 20  ARTOF_SECTION = 
1b680 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000C }..enum :
1b690 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b6a0 4c 5f 53 48 33 5f 53 49 5a 45 4f 46 5f 53 45 43  L_SH3_SIZEOF_SEC
1b6b0 54 49 4f 4e 20 3d 20 30 78 30 30 30 44 20 7d 0d  TION = 0x000D }.
1b6c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b6d0 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 53 45 43  MAGE_REL_SH3_SEC
1b6e0 54 49 4f 4e 20 3d 20 30 78 30 30 30 45 20 7d 0d  TION = 0x000E }.
1b6f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1b700 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 53 45 43  MAGE_REL_SH3_SEC
1b710 52 45 4c 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a  REL = 0x000F }..
1b720 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b730 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45  AGE_REL_SH3_DIRE
1b740 43 54 33 32 5f 4e 42 20 3d 20 30 78 30 30 31 30  CT32_NB = 0x0010
1b750 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b760 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f  { IMAGE_REL_SH3_
1b770 47 50 52 45 4c 34 5f 4c 4f 4e 47 20 3d 20 30 78  GPREL4_LONG = 0x
1b780 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0011 }..enum : u
1b790 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b7a0 53 48 33 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30  SH3_TOKEN = 0x00
1b7b0 31 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  12 }....enum : u
1b7c0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b7d0 41 52 4d 5f 41 42 53 4f 4c 55 54 45 20 3d 20 30  ARM_ABSOLUTE = 0
1b7e0 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1b7f0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b800 5f 41 52 4d 5f 41 44 44 52 33 32 20 3d 20 30 78  _ARM_ADDR32 = 0x
1b810 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
1b820 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b830 41 52 4d 5f 41 44 44 52 33 32 4e 42 20 3d 20 30  ARM_ADDR32NB = 0
1b840 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
1b850 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b860 5f 41 52 4d 5f 42 52 41 4e 43 48 32 34 20 3d 20  _ARM_BRANCH24 = 
1b870 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
1b880 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b890 4c 5f 41 52 4d 5f 42 52 41 4e 43 48 31 31 20 3d  L_ARM_BRANCH11 =
1b8a0 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
1b8b0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b8c0 45 4c 5f 41 52 4d 5f 54 4f 4b 45 4e 20 3d 20 30  EL_ARM_TOKEN = 0
1b8d0 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0005 }..enum : 
1b8e0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b8f0 5f 41 52 4d 5f 47 50 52 45 4c 31 32 20 3d 20 30  _ARM_GPREL12 = 0
1b900 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0006 }..enum : 
1b910 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b920 5f 41 52 4d 5f 47 50 52 45 4c 37 20 3d 20 30 78  _ARM_GPREL7 = 0x
1b930 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0007 }..enum : u
1b940 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b950 41 52 4d 5f 42 4c 58 32 34 20 3d 20 30 78 30 30  ARM_BLX24 = 0x00
1b960 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1b970 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52  t { IMAGE_REL_AR
1b980 4d 5f 42 4c 58 31 31 20 3d 20 30 78 30 30 30 39  M_BLX11 = 0x0009
1b990 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b9a0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f  { IMAGE_REL_ARM_
1b9b0 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 45  SECTION = 0x000E
1b9c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b9d0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f  { IMAGE_REL_ARM_
1b9e0 53 45 43 52 45 4c 20 3d 20 30 78 30 30 30 46 20  SECREL = 0x000F 
1b9f0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1ba00 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f   { IMAGE_REL_AM_
1ba10 41 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30  ABSOLUTE = 0x000
1ba20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1ba30 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f   { IMAGE_REL_AM_
1ba40 41 44 44 52 33 32 20 3d 20 30 78 30 30 30 31 20  ADDR32 = 0x0001 
1ba50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1ba60 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f 41 44   IMAGE_REL_AM_AD
1ba70 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30 32 20  DR32NB = 0x0002 
1ba80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1ba90 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f 43 41   IMAGE_REL_AM_CA
1baa0 4c 4c 33 32 20 3d 20 30 78 30 30 30 33 20 7d 0d  LL32 = 0x0003 }.
1bab0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1bac0 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f 46 55 4e 43  MAGE_REL_AM_FUNC
1bad0 49 4e 46 4f 20 3d 20 30 78 30 30 30 34 20 7d 0d  INFO = 0x0004 }.
1bae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1baf0 4d 41 47 45 5f 52 45 4c 5f 41 4d 5f 52 45 4c 33  MAGE_REL_AM_REL3
1bb00 32 5f 31 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a  2_1 = 0x0005 }..
1bb10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1bb20 41 47 45 5f 52 45 4c 5f 41 4d 5f 52 45 4c 33 32  AGE_REL_AM_REL32
1bb30 5f 32 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65  _2 = 0x0006 }..e
1bb40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1bb50 47 45 5f 52 45 4c 5f 41 4d 5f 53 45 43 52 45 4c  GE_REL_AM_SECREL
1bb60 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75   = 0x0007 }..enu
1bb70 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bb80 5f 52 45 4c 5f 41 4d 5f 53 45 43 54 49 4f 4e 20  _REL_AM_SECTION 
1bb90 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
1bba0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1bbb0 52 45 4c 5f 41 4d 5f 54 4f 4b 45 4e 20 3d 20 30  REL_AM_TOKEN = 0
1bbc0 78 30 30 30 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0009 }....enum 
1bbd0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1bbe0 45 4c 5f 41 4d 44 36 34 5f 41 42 53 4f 4c 55 54  EL_AMD64_ABSOLUT
1bbf0 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  E = 0x0000 }..en
1bc00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1bc10 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 41 44 44 52  E_REL_AMD64_ADDR
1bc20 36 34 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  64 = 0x0001 }..e
1bc30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1bc40 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 41 44 44  GE_REL_AMD64_ADD
1bc50 52 33 32 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  R32 = 0x0002 }..
1bc60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1bc70 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 41 44  AGE_REL_AMD64_AD
1bc80 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30 33 20  DR32NB = 0x0003 
1bc90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bca0 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34   IMAGE_REL_AMD64
1bcb0 5f 52 45 4c 33 32 20 3d 20 30 78 30 30 30 34 20  _REL32 = 0x0004 
1bcc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bcd0 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34   IMAGE_REL_AMD64
1bce0 5f 52 45 4c 33 32 5f 31 20 3d 20 30 78 30 30 30  _REL32_1 = 0x000
1bcf0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
1bd00 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44   { IMAGE_REL_AMD
1bd10 36 34 5f 52 45 4c 33 32 5f 32 20 3d 20 30 78 30  64_REL32_2 = 0x0
1bd20 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  006 }..enum : ui
1bd30 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1bd40 4d 44 36 34 5f 52 45 4c 33 32 5f 33 20 3d 20 30  MD64_REL32_3 = 0
1bd50 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0007 }..enum : 
1bd60 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1bd70 5f 41 4d 44 36 34 5f 52 45 4c 33 32 5f 34 20 3d  _AMD64_REL32_4 =
1bd80 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
1bd90 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1bda0 45 4c 5f 41 4d 44 36 34 5f 52 45 4c 33 32 5f 35  EL_AMD64_REL32_5
1bdb0 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75   = 0x0009 }..enu
1bdc0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bdd0 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43 54 49  _REL_AMD64_SECTI
1bde0 4f 4e 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65  ON = 0x000A }..e
1bdf0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1be00 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43  GE_REL_AMD64_SEC
1be10 52 45 4c 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  REL = 0x000B }..
1be20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1be30 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 45  AGE_REL_AMD64_SE
1be40 43 52 45 4c 37 20 3d 20 30 78 30 30 30 43 20 7d  CREL7 = 0x000C }
1be50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1be60 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f  IMAGE_REL_AMD64_
1be70 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 44 20 7d  TOKEN = 0x000D }
1be80 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1be90 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1bea0 5f 41 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30  _ABSOLUTE = 0x00
1beb0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1bec0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41  t { IMAGE_REL_IA
1bed0 36 34 5f 49 4d 4d 31 34 20 3d 20 30 78 30 30 30  64_IMM14 = 0x000
1bee0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1bef0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36   { IMAGE_REL_IA6
1bf00 34 5f 49 4d 4d 32 32 20 3d 20 30 78 30 30 30 32  4_IMM22 = 0x0002
1bf10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1bf20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1bf30 5f 49 4d 4d 36 34 20 3d 20 30 78 30 30 30 33 20  _IMM64 = 0x0003 
1bf40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bf50 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f   IMAGE_REL_IA64_
1bf60 44 49 52 33 32 20 3d 20 30 78 30 30 30 34 20 7d  DIR32 = 0x0004 }
1bf70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1bf80 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 44  IMAGE_REL_IA64_D
1bf90 49 52 36 34 20 3d 20 30 78 30 30 30 35 20 7d 0d  IR64 = 0x0005 }.
1bfa0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1bfb0 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43  MAGE_REL_IA64_PC
1bfc0 52 45 4c 32 31 42 20 3d 20 30 78 30 30 30 36 20  REL21B = 0x0006 
1bfd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bfe0 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f   IMAGE_REL_IA64_
1bff0 50 43 52 45 4c 32 31 4d 20 3d 20 30 78 30 30 30  PCREL21M = 0x000
1c000 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
1c010 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36   { IMAGE_REL_IA6
1c020 34 5f 50 43 52 45 4c 32 31 46 20 3d 20 30 78 30  4_PCREL21F = 0x0
1c030 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1c040 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49  nt { IMAGE_REL_I
1c050 41 36 34 5f 47 50 52 45 4c 32 32 20 3d 20 30 78  A64_GPREL22 = 0x
1c060 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0009 }..enum : u
1c070 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1c080 49 41 36 34 5f 4c 54 4f 46 46 32 32 20 3d 20 30  IA64_LTOFF22 = 0
1c090 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000A }..enum : 
1c0a0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c0b0 5f 49 41 36 34 5f 53 45 43 54 49 4f 4e 20 3d 20  _IA64_SECTION = 
1c0c0 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000B }..enum :
1c0d0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1c0e0 4c 5f 49 41 36 34 5f 53 45 43 52 45 4c 32 32 20  L_IA64_SECREL22 
1c0f0 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d  = 0x000C }..enum
1c100 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c110 52 45 4c 5f 49 41 36 34 5f 53 45 43 52 45 4c 36  REL_IA64_SECREL6
1c120 34 49 20 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65  4I = 0x000D }..e
1c130 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1c140 47 45 5f 52 45 4c 5f 49 41 36 34 5f 53 45 43 52  GE_REL_IA64_SECR
1c150 45 4c 33 32 20 3d 20 30 78 30 30 30 45 20 7d 0d  EL32 = 0x000E }.
1c160 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1c170 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f   IMAGE_REL_IA64_
1c180 44 49 52 33 32 4e 42 20 3d 20 30 78 30 30 31 30  DIR32NB = 0x0010
1c190 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c1a0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c1b0 5f 53 52 45 4c 31 34 20 3d 20 30 78 30 30 31 31  _SREL14 = 0x0011
1c1c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c1d0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c1e0 5f 53 52 45 4c 32 32 20 3d 20 30 78 30 30 31 32  _SREL22 = 0x0012
1c1f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c200 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c210 5f 53 52 45 4c 33 32 20 3d 20 30 78 30 30 31 33  _SREL32 = 0x0013
1c220 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c230 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c240 5f 55 52 45 4c 33 32 20 3d 20 30 78 30 30 31 34  _UREL32 = 0x0014
1c250 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c260 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c270 5f 50 43 52 45 4c 36 30 58 20 3d 20 30 78 30 30  _PCREL60X = 0x00
1c280 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  15 }..enum : uin
1c290 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41  t { IMAGE_REL_IA
1c2a0 36 34 5f 50 43 52 45 4c 36 30 42 20 3d 20 30 78  64_PCREL60B = 0x
1c2b0 30 30 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0016 }..enum : u
1c2c0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1c2d0 49 41 36 34 5f 50 43 52 45 4c 36 30 46 20 3d 20  IA64_PCREL60F = 
1c2e0 30 78 30 30 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0017 }..enum :
1c2f0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1c300 4c 5f 49 41 36 34 5f 50 43 52 45 4c 36 30 49 20  L_IA64_PCREL60I 
1c310 3d 20 30 78 30 30 31 38 20 7d 0d 0a 65 6e 75 6d  = 0x0018 }..enum
1c320 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c330 52 45 4c 5f 49 41 36 34 5f 50 43 52 45 4c 36 30  REL_IA64_PCREL60
1c340 4d 20 3d 20 30 78 30 30 31 39 20 7d 0d 0a 65 6e  M = 0x0019 }..en
1c350 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c360 45 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 47 50  E_REL_IA64_IMMGP
1c370 52 45 4c 36 34 20 3d 20 30 78 30 30 31 41 20 7d  REL64 = 0x001A }
1c380 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c390 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 54  IMAGE_REL_IA64_T
1c3a0 4f 4b 45 4e 20 3d 20 30 78 30 30 31 42 20 7d 0d  OKEN = 0x001B }.
1c3b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1c3c0 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 47 50  MAGE_REL_IA64_GP
1c3d0 52 45 4c 33 32 20 3d 20 30 78 30 30 31 43 20 7d  REL32 = 0x001C }
1c3e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c3f0 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 41  IMAGE_REL_IA64_A
1c400 44 44 45 4e 44 20 3d 20 30 78 30 30 31 46 20 7d  DDEND = 0x001F }
1c410 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1c420 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f  { IMAGE_REL_CEF_
1c430 41 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30  ABSOLUTE = 0x000
1c440 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1c450 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46   { IMAGE_REL_CEF
1c460 5f 41 44 44 52 33 32 20 3d 20 30 78 30 30 30 31  _ADDR32 = 0x0001
1c470 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c480 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f  { IMAGE_REL_CEF_
1c490 41 44 44 52 36 34 20 3d 20 30 78 30 30 30 32 20  ADDR64 = 0x0002 
1c4a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c4b0 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f 41   IMAGE_REL_CEF_A
1c4c0 44 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30 33  DDR32NB = 0x0003
1c4d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c4e0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f  { IMAGE_REL_CEF_
1c4f0 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 34  SECTION = 0x0004
1c500 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c510 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f  { IMAGE_REL_CEF_
1c520 53 45 43 52 45 4c 20 3d 20 30 78 30 30 30 35 20  SECREL = 0x0005 
1c530 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c540 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 46 5f 54   IMAGE_REL_CEF_T
1c550 4f 4b 45 4e 20 3d 20 30 78 30 30 30 36 20 7d 0d  OKEN = 0x0006 }.
1c560 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1c570 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 41   IMAGE_REL_CEE_A
1c580 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30  BSOLUTE = 0x0000
1c590 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c5a0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f  { IMAGE_REL_CEE_
1c5b0 41 44 44 52 33 32 20 3d 20 30 78 30 30 30 31 20  ADDR32 = 0x0001 
1c5c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c5d0 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 41   IMAGE_REL_CEE_A
1c5e0 44 44 52 36 34 20 3d 20 30 78 30 30 30 32 20 7d  DDR64 = 0x0002 }
1c5f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c600 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 41 44  IMAGE_REL_CEE_AD
1c610 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30 33 20  DR32NB = 0x0003 
1c620 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c630 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 53   IMAGE_REL_CEE_S
1c640 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 20  ECTION = 0x0004 
1c650 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c660 20 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 53   IMAGE_REL_CEE_S
1c670 45 43 52 45 4c 20 3d 20 30 78 30 30 30 35 20 7d  ECREL = 0x0005 }
1c680 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c690 49 4d 41 47 45 5f 52 45 4c 5f 43 45 45 5f 54 4f  IMAGE_REL_CEE_TO
1c6a0 4b 45 4e 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a  KEN = 0x0006 }..
1c6b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c6c0 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 41  IMAGE_REL_M32R_A
1c6d0 42 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30  BSOLUTE = 0x0000
1c6e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c6f0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52  { IMAGE_REL_M32R
1c700 5f 41 44 44 52 33 32 20 3d 20 30 78 30 30 30 31  _ADDR32 = 0x0001
1c710 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c720 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52  { IMAGE_REL_M32R
1c730 5f 41 44 44 52 33 32 4e 42 20 3d 20 30 78 30 30  _ADDR32NB = 0x00
1c740 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
1c750 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33  t { IMAGE_REL_M3
1c760 32 52 5f 41 44 44 52 32 34 20 3d 20 30 78 30 30  2R_ADDR24 = 0x00
1c770 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
1c780 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33  t { IMAGE_REL_M3
1c790 32 52 5f 47 50 52 45 4c 31 36 20 3d 20 30 78 30  2R_GPREL16 = 0x0
1c7a0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
1c7b0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1c7c0 33 32 52 5f 50 43 52 45 4c 32 34 20 3d 20 30 78  32R_PCREL24 = 0x
1c7d0 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0005 }..enum : u
1c7e0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1c7f0 4d 33 32 52 5f 50 43 52 45 4c 31 36 20 3d 20 30  M32R_PCREL16 = 0
1c800 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0006 }..enum : 
1c810 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c820 5f 4d 33 32 52 5f 50 43 52 45 4c 38 20 3d 20 30  _M32R_PCREL8 = 0
1c830 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0007 }..enum : 
1c840 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c850 5f 4d 33 32 52 5f 52 45 46 48 41 4c 46 20 3d 20  _M32R_REFHALF = 
1c860 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
1c870 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1c880 4c 5f 4d 33 32 52 5f 52 45 46 48 49 20 3d 20 30  L_M32R_REFHI = 0
1c890 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0009 }..enum : 
1c8a0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c8b0 5f 4d 33 32 52 5f 52 45 46 4c 4f 20 3d 20 30 78  _M32R_REFLO = 0x
1c8c0 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  000A }..enum : u
1c8d0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1c8e0 4d 33 32 52 5f 50 41 49 52 20 3d 20 30 78 30 30  M32R_PAIR = 0x00
1c8f0 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0B }..enum : uin
1c900 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33  t { IMAGE_REL_M3
1c910 32 52 5f 53 45 43 54 49 4f 4e 20 3d 20 30 78 30  2R_SECTION = 0x0
1c920 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00C }..enum : ui
1c930 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1c940 33 32 52 5f 53 45 43 52 45 4c 33 32 20 3d 20 30  32R_SECREL32 = 0
1c950 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000D }..enum : 
1c960 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c970 5f 4d 33 32 52 5f 54 4f 4b 45 4e 20 3d 20 30 78  _M32R_TOKEN = 0x
1c980 30 30 30 45 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65  000E }....// #de
1c990 66 69 6e 65 20 45 58 54 5f 49 4d 4d 36 34 28 56  fine EXT_IMM64(V
1c9a0 61 6c 75 65 2c 20 41 64 64 72 65 73 73 2c 20 53  alue, Address, S
1c9b0 69 7a 65 2c 20 49 6e 73 74 50 6f 73 2c 20 56 61  ize, InstPos, Va
1c9c0 6c 50 6f 73 29 20 56 61 6c 75 65 20 7c 3d 20 28  lPos) Value |= (
1c9d0 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29 28 28 2a 28  ((ULONGLONG)((*(
1c9e0 41 64 64 72 65 73 73 29 20 3e 3e 20 49 6e 73 74  Address) >> Inst
1c9f0 50 6f 73 29 20 26 20 28 28 28 55 4c 4f 4e 47 4c  Pos) & (((ULONGL
1ca00 4f 4e 47 29 31 20 3c 3c 20 53 69 7a 65 29 20 2d  ONG)1 << Size) -
1ca10 20 31 29 29 29 20 3c 3c 20 56 61 6c 50 6f 73 29   1))) << ValPos)
1ca20 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49  ....// #define I
1ca30 4e 53 5f 49 4d 4d 36 34 28 56 61 6c 75 65 2c 20  NS_IMM64(Value, 
1ca40 41 64 64 72 65 73 73 2c 20 53 69 7a 65 2c 20 49  Address, Size, I
1ca50 6e 73 74 50 6f 73 2c 20 56 61 6c 50 6f 73 29 20  nstPos, ValPos) 
1ca60 2a 28 50 44 57 4f 52 44 29 41 64 64 72 65 73 73  *(PDWORD)Address
1ca70 20 3d 20 28 2a 28 50 44 57 4f 52 44 29 41 64 64   = (*(PDWORD)Add
1ca80 72 65 73 73 20 26 20 7e 28 28 28 31 20 3c 3c 20  ress & ~(((1 << 
1ca90 53 69 7a 65 29 20 2d 20 31 29 20 3c 3c 20 49 6e  Size) - 1) << In
1caa0 73 74 50 6f 73 29 29 20 7c 20 28 28 44 57 4f 52  stPos)) | ((DWOR
1cab0 44 29 28 28 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29  D)((((ULONGLONG)
1cac0 56 61 6c 75 65 20 3e 3e 20 56 61 6c 50 6f 73 29  Value >> ValPos)
1cad0 20 26 20 28 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29   & (((ULONGLONG)
1cae0 31 20 3c 3c 20 53 69 7a 65 29 20 2d 20 31 29 29  1 << Size) - 1))
1caf0 29 20 3c 3c 20 49 6e 73 74 50 6f 73 29 0d 0a 0d  ) << InstPos)...
1cb00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
1cb10 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d  MARCH_ENC_I17_IM
1cb20 4d 37 42 5f 49 4e 53 54 5f 57 4f 52 44 5f 58 20  M7B_INST_WORD_X 
1cb30 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
1cb40 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f  nt { EMARCH_ENC_
1cb50 49 31 37 5f 49 4d 4d 37 42 5f 53 49 5a 45 5f 58  I17_IMM7B_SIZE_X
1cb60 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
1cb70 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43  int { EMARCH_ENC
1cb80 5f 49 31 37 5f 49 4d 4d 37 42 5f 49 4e 53 54 5f  _I17_IMM7B_INST_
1cb90 57 4f 52 44 5f 50 4f 53 5f 58 20 3d 20 34 20 7d  WORD_POS_X = 4 }
1cba0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1cbb0 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1cbc0 4d 4d 37 42 5f 56 41 4c 5f 50 4f 53 5f 58 20 3d  MM7B_VAL_POS_X =
1cbd0 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   0 }....enum : u
1cbe0 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43  int { EMARCH_ENC
1cbf0 5f 49 31 37 5f 49 4d 4d 39 44 5f 49 4e 53 54 5f  _I17_IMM9D_INST_
1cc00 57 4f 52 44 5f 58 20 3d 20 33 20 7d 0d 0a 65 6e  WORD_X = 3 }..en
1cc10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52  um : uint { EMAR
1cc20 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 39 44  CH_ENC_I17_IMM9D
1cc30 5f 53 49 5a 45 5f 58 20 3d 20 39 20 7d 0d 0a 65  _SIZE_X = 9 }..e
1cc40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41  num : uint { EMA
1cc50 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 39  RCH_ENC_I17_IMM9
1cc60 44 5f 49 4e 53 54 5f 57 4f 52 44 5f 50 4f 53 5f  D_INST_WORD_POS_
1cc70 58 20 3d 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a  X = 18 }..enum :
1cc80 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45   uint { EMARCH_E
1cc90 4e 43 5f 49 31 37 5f 49 4d 4d 39 44 5f 56 41 4c  NC_I17_IMM9D_VAL
1cca0 5f 50 4f 53 5f 58 20 3d 20 37 20 7d 0d 0a 0d 0a  _POS_X = 7 }....
1ccb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
1ccc0 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d  ARCH_ENC_I17_IMM
1ccd0 35 43 5f 49 4e 53 54 5f 57 4f 52 44 5f 58 20 3d  5C_INST_WORD_X =
1cce0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
1ccf0 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49  t { EMARCH_ENC_I
1cd00 31 37 5f 49 4d 4d 35 43 5f 53 49 5a 45 5f 58 20  17_IMM5C_SIZE_X 
1cd10 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
1cd20 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f  nt { EMARCH_ENC_
1cd30 49 31 37 5f 49 4d 4d 35 43 5f 49 4e 53 54 5f 57  I17_IMM5C_INST_W
1cd40 4f 52 44 5f 50 4f 53 5f 58 20 3d 20 31 33 20 7d  ORD_POS_X = 13 }
1cd50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1cd60 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1cd70 4d 4d 35 43 5f 56 41 4c 5f 50 4f 53 5f 58 20 3d  MM5C_VAL_POS_X =
1cd80 20 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20   16 }....enum : 
1cd90 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e  uint { EMARCH_EN
1cda0 43 5f 49 31 37 5f 49 43 5f 49 4e 53 54 5f 57 4f  C_I17_IC_INST_WO
1cdb0 52 44 5f 58 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  RD_X = 3 }..enum
1cdc0 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48   : uint { EMARCH
1cdd0 5f 45 4e 43 5f 49 31 37 5f 49 43 5f 53 49 5a 45  _ENC_I17_IC_SIZE
1cde0 5f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  _X = 1 }..enum :
1cdf0 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45   uint { EMARCH_E
1ce00 4e 43 5f 49 31 37 5f 49 43 5f 49 4e 53 54 5f 57  NC_I17_IC_INST_W
1ce10 4f 52 44 5f 50 4f 53 5f 58 20 3d 20 31 32 20 7d  ORD_POS_X = 12 }
1ce20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ce30 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1ce40 43 5f 56 41 4c 5f 50 4f 53 5f 58 20 3d 20 32 31  C_VAL_POS_X = 21
1ce50 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1ce60 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49  t { EMARCH_ENC_I
1ce70 31 37 5f 49 4d 4d 34 31 61 5f 49 4e 53 54 5f 57  17_IMM41a_INST_W
1ce80 4f 52 44 5f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75  ORD_X = 1 }..enu
1ce90 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43  m : uint { EMARC
1cea0 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 61  H_ENC_I17_IMM41a
1ceb0 5f 53 49 5a 45 5f 58 20 3d 20 31 30 20 7d 0d 0a  _SIZE_X = 10 }..
1cec0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
1ced0 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d  ARCH_ENC_I17_IMM
1cee0 34 31 61 5f 49 4e 53 54 5f 57 4f 52 44 5f 50 4f  41a_INST_WORD_PO
1cef0 53 5f 58 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d  S_X = 14 }..enum
1cf00 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48   : uint { EMARCH
1cf10 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 61 5f  _ENC_I17_IMM41a_
1cf20 56 41 4c 5f 50 4f 53 5f 58 20 3d 20 32 32 20 7d  VAL_POS_X = 22 }
1cf30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1cf40 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37  { EMARCH_ENC_I17
1cf50 5f 49 4d 4d 34 31 62 5f 49 4e 53 54 5f 57 4f 52  _IMM41b_INST_WOR
1cf60 44 5f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  D_X = 1 }..enum 
1cf70 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f  : uint { EMARCH_
1cf80 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 62 5f 53  ENC_I17_IMM41b_S
1cf90 49 5a 45 5f 58 20 3d 20 38 20 7d 0d 0a 65 6e 75  IZE_X = 8 }..enu
1cfa0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43  m : uint { EMARC
1cfb0 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 62  H_ENC_I17_IMM41b
1cfc0 5f 49 4e 53 54 5f 57 4f 52 44 5f 50 4f 53 5f 58  _INST_WORD_POS_X
1cfd0 20 3d 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 24 }..enum : 
1cfe0 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e  uint { EMARCH_EN
1cff0 43 5f 49 31 37 5f 49 4d 4d 34 31 62 5f 56 41 4c  C_I17_IMM41b_VAL
1d000 5f 50 4f 53 5f 58 20 3d 20 33 32 20 7d 0d 0a 0d  _POS_X = 32 }...
1d010 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
1d020 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d  MARCH_ENC_I17_IM
1d030 4d 34 31 63 5f 49 4e 53 54 5f 57 4f 52 44 5f 58  M41c_INST_WORD_X
1d040 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
1d050 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43  int { EMARCH_ENC
1d060 5f 49 31 37 5f 49 4d 4d 34 31 63 5f 53 49 5a 45  _I17_IMM41c_SIZE
1d070 5f 58 20 3d 20 32 33 20 7d 0d 0a 65 6e 75 6d 20  _X = 23 }..enum 
1d080 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f  : uint { EMARCH_
1d090 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 63 5f 49  ENC_I17_IMM41c_I
1d0a0 4e 53 54 5f 57 4f 52 44 5f 50 4f 53 5f 58 20 3d  NST_WORD_POS_X =
1d0b0 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
1d0c0 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49  t { EMARCH_ENC_I
1d0d0 31 37 5f 49 4d 4d 34 31 63 5f 56 41 4c 5f 50 4f  17_IMM41c_VAL_PO
1d0e0 53 5f 58 20 3d 20 34 30 20 7d 0d 0a 0d 0a 65 6e  S_X = 40 }....en
1d0f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52  um : uint { EMAR
1d100 43 48 5f 45 4e 43 5f 49 31 37 5f 53 49 47 4e 5f  CH_ENC_I17_SIGN_
1d110 49 4e 53 54 5f 57 4f 52 44 5f 58 20 3d 20 33 20  INST_WORD_X = 3 
1d120 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1d130 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f   EMARCH_ENC_I17_
1d140 53 49 47 4e 5f 53 49 5a 45 5f 58 20 3d 20 31 20  SIGN_SIZE_X = 1 
1d150 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1d160 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f   EMARCH_ENC_I17_
1d170 53 49 47 4e 5f 49 4e 53 54 5f 57 4f 52 44 5f 50  SIGN_INST_WORD_P
1d180 4f 53 5f 58 20 3d 20 32 37 20 7d 0d 0a 65 6e 75  OS_X = 27 }..enu
1d190 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43  m : uint { EMARC
1d1a0 48 5f 45 4e 43 5f 49 31 37 5f 53 49 47 4e 5f 56  H_ENC_I17_SIGN_V
1d1b0 41 4c 5f 50 4f 53 5f 58 20 3d 20 36 33 20 7d 0d  AL_POS_X = 63 }.
1d1c0 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1d1d0 5f 4c 49 4e 45 4e 55 4d 42 45 52 20 7b 0d 0a 75  _LINENUMBER {..u
1d1e0 6e 69 6f 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20  nion {..  DWORD 
1d1f0 53 79 6d 62 6f 6c 54 61 62 6c 65 49 6e 64 65 78  SymbolTableIndex
1d200 3b 0d 0a 20 20 44 57 4f 52 44 20 56 69 72 74 75  ;..  DWORD Virtu
1d210 61 6c 41 64 64 72 65 73 73 3b 0d 0a 7d 0d 0a 0d  alAddress;..}...
1d220 0a 20 20 57 4f 52 44 20 4c 69 6e 65 6e 75 6d 62  .  WORD Linenumb
1d230 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  er;..}..alias _I
1d240 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 20  MAGE_LINENUMBER 
1d250 49 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52  IMAGE_LINENUMBER
1d260 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  ;....alias IMAGE
1d270 5f 4c 49 4e 45 4e 55 4d 42 45 52 2a 20 50 49 4d  _LINENUMBER* PIM
1d280 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 3b 0d  AGE_LINENUMBER;.
1d290 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1d2a0 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 4c 49   IMAGE_SIZEOF_LI
1d2b0 4e 45 4e 55 4d 42 45 52 20 3d 20 36 20 7d 0d 0a  NENUMBER = 6 }..
1d2c0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41  ..// #ifndef _MA
1d2d0 43 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f 2f 20 23 65  C..align:..// #e
1d2e0 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ndif....struct _
1d2f0 49 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c 4f 43  IMAGE_BASE_RELOC
1d300 41 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44  ATION {..  DWORD
1d310 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 73 3b   VirtualAddress;
1d320 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66  ..  DWORD SizeOf
1d330 42 6c 6f 63 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Block;..}..alias
1d340 20 5f 49 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c   _IMAGE_BASE_REL
1d350 4f 43 41 54 49 4f 4e 20 49 4d 41 47 45 5f 42 41  OCATION IMAGE_BA
1d360 53 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b 0d 0a  SE_RELOCATION;..
1d370 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 42 41  ..alias IMAGE_BA
1d380 53 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 2a 20 50  SE_RELOCATION* P
1d390 49 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c 4f 43  IMAGE_BASE_RELOC
1d3a0 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ATION;....enum :
1d3b0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 49   uint { IMAGE_SI
1d3c0 5a 45 4f 46 5f 42 41 53 45 5f 52 45 4c 4f 43 41  ZEOF_BASE_RELOCA
1d3d0 54 49 4f 4e 20 3d 20 38 20 7d 0d 0a 0d 0a 65 6e  TION = 8 }....en
1d3e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1d3f0 45 5f 52 45 4c 5f 42 41 53 45 44 5f 41 42 53 4f  E_REL_BASED_ABSO
1d400 4c 55 54 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  LUTE = 0 }..enum
1d410 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1d420 52 45 4c 5f 42 41 53 45 44 5f 48 49 47 48 20 3d  REL_BASED_HIGH =
1d430 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
1d440 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 42 41  t { IMAGE_REL_BA
1d450 53 45 44 5f 4c 4f 57 20 3d 20 32 20 7d 0d 0a 65  SED_LOW = 2 }..e
1d460 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1d470 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 48 49 47  GE_REL_BASED_HIG
1d480 48 4c 4f 57 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  HLOW = 3 }..enum
1d490 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1d4a0 52 45 4c 5f 42 41 53 45 44 5f 48 49 47 48 41 44  REL_BASED_HIGHAD
1d4b0 4a 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  J = 4 }..enum : 
1d4c0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1d4d0 5f 42 41 53 45 44 5f 4d 49 50 53 5f 4a 4d 50 41  _BASED_MIPS_JMPA
1d4e0 44 44 52 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  DDR = 5 }..enum 
1d4f0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1d500 45 4c 5f 42 41 53 45 44 5f 4d 49 50 53 5f 4a 4d  EL_BASED_MIPS_JM
1d510 50 41 44 44 52 31 36 20 3d 20 39 20 7d 0d 0a 65  PADDR16 = 9 }..e
1d520 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1d530 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 49 41 36  GE_REL_BASED_IA6
1d540 34 5f 49 4d 4d 36 34 20 3d 20 39 20 7d 0d 0a 65  4_IMM64 = 9 }..e
1d550 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1d560 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 44 49 52  GE_REL_BASED_DIR
1d570 36 34 20 3d 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75  64 = 10 }....enu
1d580 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1d590 5f 41 52 43 48 49 56 45 5f 53 54 41 52 54 5f 53  _ARCHIVE_START_S
1d5a0 49 5a 45 20 3d 20 38 20 7d 0d 0a 63 6f 6e 73 74  IZE = 8 }..const
1d5b0 20 63 68 61 72 5b 5d 20 49 4d 41 47 45 5f 41 52   char[] IMAGE_AR
1d5c0 43 48 49 56 45 5f 53 54 41 52 54 20 3d 20 22 21  CHIVE_START = "!
1d5d0 3c 61 72 63 68 3e 5c 6e 22 3b 0d 0a 63 6f 6e 73  <arch>\n";..cons
1d5e0 74 20 63 68 61 72 5b 5d 20 49 4d 41 47 45 5f 41  t char[] IMAGE_A
1d5f0 52 43 48 49 56 45 5f 45 4e 44 20 3d 20 22 60 5c  RCHIVE_END = "`\
1d600 6e 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b  n";..const char[
1d610 5d 20 49 4d 41 47 45 5f 41 52 43 48 49 56 45 5f  ] IMAGE_ARCHIVE_
1d620 50 41 44 20 3d 20 22 5c 6e 22 3b 0d 0a 63 6f 6e  PAD = "\n";..con
1d630 73 74 20 63 68 61 72 5b 5d 20 49 4d 41 47 45 5f  st char[] IMAGE_
1d640 41 52 43 48 49 56 45 5f 4c 49 4e 4b 45 52 5f 4d  ARCHIVE_LINKER_M
1d650 45 4d 42 45 52 20 3d 20 22 2f 20 22 3b 0d 0a 63  EMBER = "/ ";..c
1d660 6f 6e 73 74 20 63 68 61 72 5b 5d 20 49 4d 41 47  onst char[] IMAG
1d670 45 5f 41 52 43 48 49 56 45 5f 4c 4f 4e 47 4e 41  E_ARCHIVE_LONGNA
1d680 4d 45 53 5f 4d 45 4d 42 45 52 20 3d 20 22 2f 2f  MES_MEMBER = "//
1d690 20 22 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49   ";....struct _I
1d6a0 4d 41 47 45 5f 41 52 43 48 49 56 45 5f 4d 45 4d  MAGE_ARCHIVE_MEM
1d6b0 42 45 52 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20  BER_HEADER {..  
1d6c0 42 59 54 45 20 4e 61 6d 65 5b 31 36 5d 3b 0d 0a  BYTE Name[16];..
1d6d0 20 20 42 59 54 45 20 44 61 74 65 5b 31 32 5d 3b    BYTE Date[12];
1d6e0 0d 0a 20 20 42 59 54 45 20 55 73 65 72 49 44 5b  ..  BYTE UserID[
1d6f0 36 5d 3b 0d 0a 20 20 42 59 54 45 20 47 72 6f 75  6];..  BYTE Grou
1d700 70 49 44 5b 36 5d 3b 0d 0a 20 20 42 59 54 45 20  pID[6];..  BYTE 
1d710 4d 6f 64 65 5b 38 5d 3b 0d 0a 20 20 42 59 54 45  Mode[8];..  BYTE
1d720 20 53 69 7a 65 5b 31 30 5d 3b 0d 0a 20 20 42 59   Size[10];..  BY
1d730 54 45 20 45 6e 64 48 65 61 64 65 72 5b 32 5d 3b  TE EndHeader[2];
1d740 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ..}..alias _IMAG
1d750 45 5f 41 52 43 48 49 56 45 5f 4d 45 4d 42 45 52  E_ARCHIVE_MEMBER
1d760 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 41 52  _HEADER IMAGE_AR
1d770 43 48 49 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41  CHIVE_MEMBER_HEA
1d780 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  DER;..alias _IMA
1d790 47 45 5f 41 52 43 48 49 56 45 5f 4d 45 4d 42 45  GE_ARCHIVE_MEMBE
1d7a0 52 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45  R_HEADER* PIMAGE
1d7b0 5f 41 52 43 48 49 56 45 5f 4d 45 4d 42 45 52 5f  _ARCHIVE_MEMBER_
1d7c0 48 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20  HEADER;....enum 
1d7d0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
1d7e0 49 5a 45 4f 46 5f 41 52 43 48 49 56 45 5f 4d 45  IZEOF_ARCHIVE_ME
1d7f0 4d 42 45 52 5f 48 44 52 20 3d 20 36 30 20 7d 0d  MBER_HDR = 60 }.
1d800 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1d810 5f 45 58 50 4f 52 54 5f 44 49 52 45 43 54 4f 52  _EXPORT_DIRECTOR
1d820 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43 68 61  Y {..  DWORD Cha
1d830 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d 0a 20  racteristics;.. 
1d840 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74 65 53   DWORD TimeDateS
1d850 74 61 6d 70 3b 0d 0a 20 20 57 4f 52 44 20 4d 61  tamp;..  WORD Ma
1d860 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57  jorVersion;..  W
1d870 4f 52 44 20 4d 69 6e 6f 72 56 65 72 73 69 6f 6e  ORD MinorVersion
1d880 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 61 6d 65 3b  ;..  DWORD Name;
1d890 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65 3b 0d  ..  DWORD Base;.
1d8a0 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f  .  DWORD NumberO
1d8b0 66 46 75 6e 63 74 69 6f 6e 73 3b 0d 0a 20 20 44  fFunctions;..  D
1d8c0 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4e 61 6d  WORD NumberOfNam
1d8d0 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64 64  es;..  DWORD Add
1d8e0 72 65 73 73 4f 66 46 75 6e 63 74 69 6f 6e 73 3b  ressOfFunctions;
1d8f0 0d 0a 20 20 44 57 4f 52 44 20 41 64 64 72 65 73  ..  DWORD Addres
1d900 73 4f 66 4e 61 6d 65 73 3b 0d 0a 20 20 44 57 4f  sOfNames;..  DWO
1d910 52 44 20 41 64 64 72 65 73 73 4f 66 4e 61 6d 65  RD AddressOfName
1d920 4f 72 64 69 6e 61 6c 73 3b 0d 0a 7d 0d 0a 61 6c  Ordinals;..}..al
1d930 69 61 73 20 5f 49 4d 41 47 45 5f 45 58 50 4f 52  ias _IMAGE_EXPOR
1d940 54 5f 44 49 52 45 43 54 4f 52 59 20 49 4d 41 47  T_DIRECTORY IMAG
1d950 45 5f 45 58 50 4f 52 54 5f 44 49 52 45 43 54 4f  E_EXPORT_DIRECTO
1d960 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  RY;..alias _IMAG
1d970 45 5f 45 58 50 4f 52 54 5f 44 49 52 45 43 54 4f  E_EXPORT_DIRECTO
1d980 52 59 2a 20 50 49 4d 41 47 45 5f 45 58 50 4f 52  RY* PIMAGE_EXPOR
1d990 54 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 0d 0a  T_DIRECTORY;....
1d9a0 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 49 4d  struct _IMAGE_IM
1d9b0 50 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 7b 0d 0a  PORT_BY_NAME {..
1d9c0 20 20 57 4f 52 44 20 48 69 6e 74 3b 0d 0a 20 20    WORD Hint;..  
1d9d0 42 59 54 45 20 4e 61 6d 65 5b 31 5d 3b 0d 0a 7d  BYTE Name[1];..}
1d9e0 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 49  ..alias _IMAGE_I
1d9f0 4d 50 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 49 4d  MPORT_BY_NAME IM
1da00 41 47 45 5f 49 4d 50 4f 52 54 5f 42 59 5f 4e 41  AGE_IMPORT_BY_NA
1da10 4d 45 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ME;..alias _IMAG
1da20 45 5f 49 4d 50 4f 52 54 5f 42 59 5f 4e 41 4d 45  E_IMPORT_BY_NAME
1da30 2a 20 50 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f  * PIMAGE_IMPORT_
1da40 42 59 5f 4e 41 4d 45 3b 0d 0a 0d 0a 61 6c 69 67  BY_NAME;....alig
1da50 6e 28 38 29 3a 0d 0a 0d 0a 73 74 72 75 63 74 20  n(8):....struct 
1da60 5f 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54  _IMAGE_THUNK_DAT
1da70 41 36 34 20 7b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a  A64 {..union {..
1da80 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 46 6f 72 77    ULONGLONG Forw
1da90 61 72 64 65 72 53 74 72 69 6e 67 3b 0d 0a 20 20  arderString;..  
1daa0 55 4c 4f 4e 47 4c 4f 4e 47 20 46 75 6e 63 74 69  ULONGLONG Functi
1dab0 6f 6e 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  on;..  ULONGLONG
1dac0 20 4f 72 64 69 6e 61 6c 3b 0d 0a 20 20 55 4c 4f   Ordinal;..  ULO
1dad0 4e 47 4c 4f 4e 47 20 41 64 64 72 65 73 73 4f 66  NGLONG AddressOf
1dae0 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61  Data;..}....}..a
1daf0 6c 69 61 73 20 5f 49 4d 41 47 45 5f 54 48 55 4e  lias _IMAGE_THUN
1db00 4b 5f 44 41 54 41 36 34 20 49 4d 41 47 45 5f 54  K_DATA64 IMAGE_T
1db10 48 55 4e 4b 5f 44 41 54 41 36 34 3b 0d 0a 0d 0a  HUNK_DATA64;....
1db20 61 6c 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e  alias IMAGE_THUN
1db30 4b 5f 44 41 54 41 36 34 2a 20 50 49 4d 41 47 45  K_DATA64* PIMAGE
1db40 5f 54 48 55 4e 4b 5f 44 41 54 41 36 34 3b 0d 0a  _THUNK_DATA64;..
1db50 0d 0a 61 6c 69 67 6e 3a 0d 0a 0d 0a 73 74 72 75  ..align:....stru
1db60 63 74 20 5f 49 4d 41 47 45 5f 54 48 55 4e 4b 5f  ct _IMAGE_THUNK_
1db70 44 41 54 41 33 32 20 7b 0d 0a 75 6e 69 6f 6e 20  DATA32 {..union 
1db80 7b 0d 0a 20 20 44 57 4f 52 44 20 46 6f 72 77 61  {..  DWORD Forwa
1db90 72 64 65 72 53 74 72 69 6e 67 3b 0d 0a 20 20 44  rderString;..  D
1dba0 57 4f 52 44 20 46 75 6e 63 74 69 6f 6e 3b 0d 0a  WORD Function;..
1dbb0 20 20 44 57 4f 52 44 20 4f 72 64 69 6e 61 6c 3b    DWORD Ordinal;
1dbc0 0d 0a 20 20 44 57 4f 52 44 20 41 64 64 72 65 73  ..  DWORD Addres
1dbd0 73 4f 66 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a 7d  sOfData;..}....}
1dbe0 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 54  ..alias _IMAGE_T
1dbf0 48 55 4e 4b 5f 44 41 54 41 33 32 20 49 4d 41 47  HUNK_DATA32 IMAG
1dc00 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33 32 3b 0d  E_THUNK_DATA32;.
1dc10 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 54  ...alias IMAGE_T
1dc20 48 55 4e 4b 5f 44 41 54 41 33 32 2a 20 50 49 4d  HUNK_DATA32* PIM
1dc30 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33 32  AGE_THUNK_DATA32
1dc40 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 6c 6f 6e 67  ;....const ulong
1dc50 20 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 5f 46   IMAGE_ORDINAL_F
1dc60 4c 41 47 36 34 20 3d 20 30 78 38 30 30 30 30 30  LAG64 = 0x800000
1dc70 30 30 30 30 30 30 30 30 30 30 3b 0d 0a 65 6e 75  0000000000;..enu
1dc80 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1dc90 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 33 32 20  _ORDINAL_FLAG32 
1dca0 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x80000000 }..
1dcb0 75 6c 6f 6e 67 20 49 4d 41 47 45 5f 4f 52 44 49  ulong IMAGE_ORDI
1dcc0 4e 41 4c 36 34 28 75 6c 6f 6e 67 20 4f 72 64 69  NAL64(ulong Ordi
1dcd0 6e 61 6c 29 7b 20 72 65 74 75 72 6e 20 4f 72 64  nal){ return Ord
1dce0 69 6e 61 6c 20 26 20 30 78 66 66 66 66 3b 20 7d  inal & 0xffff; }
1dcf0 0d 0a 75 69 6e 74 20 49 4d 41 47 45 5f 4f 52 44  ..uint IMAGE_ORD
1dd00 49 4e 41 4c 33 32 28 75 69 6e 74 20 4f 72 64 69  INAL32(uint Ordi
1dd10 6e 61 6c 29 7b 20 72 65 74 75 72 6e 20 4f 72 64  nal){ return Ord
1dd20 69 6e 61 6c 20 26 20 30 78 66 66 66 66 3b 20 7d  inal & 0xffff; }
1dd30 0d 0a 62 69 74 20 49 4d 41 47 45 5f 53 4e 41 50  ..bit IMAGE_SNAP
1dd40 5f 42 59 5f 4f 52 44 49 4e 41 4c 36 34 28 75 6c  _BY_ORDINAL64(ul
1dd50 6f 6e 67 20 4f 72 64 69 6e 61 6c 29 7b 20 72 65  ong Ordinal){ re
1dd60 74 75 72 6e 20 28 4f 72 64 69 6e 61 6c 20 26 20  turn (Ordinal & 
1dd70 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c  IMAGE_ORDINAL_FL
1dd80 41 47 36 34 29 20 21 3d 20 30 3b 20 7d 0d 0a 62  AG64) != 0; }..b
1dd90 69 74 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 59  it IMAGE_SNAP_BY
1dda0 5f 4f 52 44 49 4e 41 4c 33 32 28 75 69 6e 74 20  _ORDINAL32(uint 
1ddb0 4f 72 64 69 6e 61 6c 29 7b 20 72 65 74 75 72 6e  Ordinal){ return
1ddc0 20 28 4f 72 64 69 6e 61 6c 20 26 20 49 4d 41 47   (Ordinal & IMAG
1ddd0 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 33 32  E_ORDINAL_FLAG32
1dde0 29 20 21 3d 20 30 3b 20 7d 0d 0a 0d 0a 65 78 74  ) != 0; }....ext
1ddf0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
1de00 61 73 20 56 4f 49 44 20 66 75 6e 63 74 69 6f 6e  as VOID function
1de10 28 20 50 56 4f 49 44 20 44 6c 6c 48 61 6e 64 6c  ( PVOID DllHandl
1de20 65 2c 20 44 57 4f 52 44 20 52 65 61 73 6f 6e 2c  e, DWORD Reason,
1de30 20 50 56 4f 49 44 20 52 65 73 65 72 76 65 64 20   PVOID Reserved 
1de40 29 20 50 49 4d 41 47 45 5f 54 4c 53 5f 43 41 4c  ) PIMAGE_TLS_CAL
1de50 4c 42 41 43 4b 3b 0d 0a 0d 0a 73 74 72 75 63 74  LBACK;....struct
1de60 20 5f 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45   _IMAGE_TLS_DIRE
1de70 43 54 4f 52 59 36 34 20 7b 0d 0a 20 20 55 4c 4f  CTORY64 {..  ULO
1de80 4e 47 4c 4f 4e 47 20 53 74 61 72 74 41 64 64 72  NGLONG StartAddr
1de90 65 73 73 4f 66 52 61 77 44 61 74 61 3b 0d 0a 20  essOfRawData;.. 
1dea0 20 55 4c 4f 4e 47 4c 4f 4e 47 20 45 6e 64 41 64   ULONGLONG EndAd
1deb0 64 72 65 73 73 4f 66 52 61 77 44 61 74 61 3b 0d  dressOfRawData;.
1dec0 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41 64 64  .  ULONGLONG Add
1ded0 72 65 73 73 4f 66 49 6e 64 65 78 3b 0d 0a 20 20  ressOfIndex;..  
1dee0 55 4c 4f 4e 47 4c 4f 4e 47 20 41 64 64 72 65 73  ULONGLONG Addres
1def0 73 4f 66 43 61 6c 6c 42 61 63 6b 73 3b 0d 0a 20  sOfCallBacks;.. 
1df00 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 5a 65 72   DWORD SizeOfZer
1df10 6f 46 69 6c 6c 3b 0d 0a 20 20 44 57 4f 52 44 20  oFill;..  DWORD 
1df20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b  Characteristics;
1df30 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ..}..alias _IMAG
1df40 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36  E_TLS_DIRECTORY6
1df50 34 20 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45  4 IMAGE_TLS_DIRE
1df60 43 54 4f 52 59 36 34 3b 0d 0a 0d 0a 61 6c 69 61  CTORY64;....alia
1df70 73 20 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45  s IMAGE_TLS_DIRE
1df80 43 54 4f 52 59 36 34 2a 20 50 49 4d 41 47 45 5f  CTORY64* PIMAGE_
1df90 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36 34 3b  TLS_DIRECTORY64;
1dfa0 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
1dfb0 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33  E_TLS_DIRECTORY3
1dfc0 32 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61  2 {..  DWORD Sta
1dfd0 72 74 41 64 64 72 65 73 73 4f 66 52 61 77 44 61  rtAddressOfRawDa
1dfe0 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 45 6e 64  ta;..  DWORD End
1dff0 41 64 64 72 65 73 73 4f 66 52 61 77 44 61 74 61  AddressOfRawData
1e000 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64 64 72 65  ;..  DWORD Addre
1e010 73 73 4f 66 49 6e 64 65 78 3b 0d 0a 20 20 44 57  ssOfIndex;..  DW
1e020 4f 52 44 20 41 64 64 72 65 73 73 4f 66 43 61 6c  ORD AddressOfCal
1e030 6c 42 61 63 6b 73 3b 0d 0a 20 20 44 57 4f 52 44  lBacks;..  DWORD
1e040 20 53 69 7a 65 4f 66 5a 65 72 6f 46 69 6c 6c 3b   SizeOfZeroFill;
1e050 0d 0a 20 20 44 57 4f 52 44 20 43 68 61 72 61 63  ..  DWORD Charac
1e060 74 65 72 69 73 74 69 63 73 3b 0d 0a 7d 0d 0a 61  teristics;..}..a
1e070 6c 69 61 73 20 5f 49 4d 41 47 45 5f 54 4c 53 5f  lias _IMAGE_TLS_
1e080 44 49 52 45 43 54 4f 52 59 33 32 20 49 4d 41 47  DIRECTORY32 IMAG
1e090 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33  E_TLS_DIRECTORY3
1e0a0 32 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47  2;....alias IMAG
1e0b0 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33  E_TLS_DIRECTORY3
1e0c0 32 2a 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44 49  2* PIMAGE_TLS_DI
1e0d0 52 45 43 54 4f 52 59 33 32 3b 0d 0a 0d 0a 2f 2f  RECTORY32;....//
1e0e0 20 23 69 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a   #ifdef _WIN64..
1e0f0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
1e100 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  ..// .....// #..
1e110 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  ...// .....// #e
1e120 6c 73 65 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  lse..alias IMAGE
1e130 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 33 32 20  _ORDINAL_FLAG32 
1e140 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c  IMAGE_ORDINAL_FL
1e150 41 47 3b 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  AG;..alias IMAGE
1e160 5f 4f 52 44 49 4e 41 4c 33 32 20 49 4d 41 47 45  _ORDINAL32 IMAGE
1e170 5f 4f 52 44 49 4e 41 4c 3b 0d 0a 61 6c 69 61 73  _ORDINAL;..alias
1e180 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54   IMAGE_THUNK_DAT
1e190 41 33 32 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f  A32 IMAGE_THUNK_
1e1a0 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 50 49 4d  DATA;..alias PIM
1e1b0 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33 32  AGE_THUNK_DATA32
1e1c0 20 50 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41   PIMAGE_THUNK_DA
1e1d0 54 41 3b 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  TA;..alias IMAGE
1e1e0 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e 41 4c  _SNAP_BY_ORDINAL
1e1f0 33 32 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 59  32 IMAGE_SNAP_BY
1e200 5f 4f 52 44 49 4e 41 4c 3b 0d 0a 61 6c 69 61 73  _ORDINAL;..alias
1e210 20 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43   IMAGE_TLS_DIREC
1e220 54 4f 52 59 33 32 20 49 4d 41 47 45 5f 54 4c 53  TORY32 IMAGE_TLS
1e230 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 61 6c 69  _DIRECTORY;..ali
1e240 61 73 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44 49  as PIMAGE_TLS_DI
1e250 52 45 43 54 4f 52 59 33 32 20 50 49 4d 41 47 45  RECTORY32 PIMAGE
1e260 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 3b 0d  _TLS_DIRECTORY;.
1e270 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
1e280 72 75 63 74 20 5f 49 4d 41 47 45 5f 49 4d 50 4f  ruct _IMAGE_IMPO
1e290 52 54 5f 44 45 53 43 52 49 50 54 4f 52 20 7b 0d  RT_DESCRIPTOR {.
1e2a0 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 44 57 4f 52  .union {..  DWOR
1e2b0 44 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63  D Characteristic
1e2c0 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4f 72 69 67  s;..  DWORD Orig
1e2d0 69 6e 61 6c 46 69 72 73 74 54 68 75 6e 6b 3b 0d  inalFirstThunk;.
1e2e0 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 54 69  .}....  DWORD Ti
1e2f0 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 0d 0a  meDateStamp;....
1e300 20 20 44 57 4f 52 44 20 46 6f 72 77 61 72 64 65    DWORD Forwarde
1e310 72 43 68 61 69 6e 3b 0d 0a 20 20 44 57 4f 52 44  rChain;..  DWORD
1e320 20 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20   Name;..  DWORD 
1e330 46 69 72 73 74 54 68 75 6e 6b 3b 0d 0a 7d 0d 0a  FirstThunk;..}..
1e340 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 49 4d 50  alias _IMAGE_IMP
1e350 4f 52 54 5f 44 45 53 43 52 49 50 54 4f 52 20 49  ORT_DESCRIPTOR I
1e360 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 44 45 53 43  MAGE_IMPORT_DESC
1e370 52 49 50 54 4f 52 3b 0d 0a 0d 0a 61 6c 69 61 73  RIPTOR;....alias
1e380 20 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 44 45   IMAGE_IMPORT_DE
1e390 53 43 52 49 50 54 4f 52 2a 20 50 49 4d 41 47 45  SCRIPTOR* PIMAGE
1e3a0 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54  _IMPORT_DESCRIPT
1e3b0 4f 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49  OR;....struct _I
1e3c0 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f 52  MAGE_BOUND_IMPOR
1e3d0 54 5f 44 45 53 43 52 49 50 54 4f 52 20 7b 0d 0a  T_DESCRIPTOR {..
1e3e0 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74 65    DWORD TimeDate
1e3f0 53 74 61 6d 70 3b 0d 0a 20 20 57 4f 52 44 20 4f  Stamp;..  WORD O
1e400 66 66 73 65 74 4d 6f 64 75 6c 65 4e 61 6d 65 3b  ffsetModuleName;
1e410 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f  ..  WORD NumberO
1e420 66 4d 6f 64 75 6c 65 46 6f 72 77 61 72 64 65 72  fModuleForwarder
1e430 52 65 66 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Refs;..}..alias 
1e440 5f 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50  _IMAGE_BOUND_IMP
1e450 4f 52 54 5f 44 45 53 43 52 49 50 54 4f 52 20 49  ORT_DESCRIPTOR I
1e460 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f 52  MAGE_BOUND_IMPOR
1e470 54 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 61  T_DESCRIPTOR;..a
1e480 6c 69 61 73 20 5f 49 4d 41 47 45 5f 42 4f 55 4e  lias _IMAGE_BOUN
1e490 44 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50  D_IMPORT_DESCRIP
1e4a0 54 4f 52 2a 20 50 49 4d 41 47 45 5f 42 4f 55 4e  TOR* PIMAGE_BOUN
1e4b0 44 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50  D_IMPORT_DESCRIP
1e4c0 54 4f 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  TOR;....struct _
1e4d0 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 46 4f 52 57  IMAGE_BOUND_FORW
1e4e0 41 52 44 45 52 5f 52 45 46 20 7b 0d 0a 20 20 44  ARDER_REF {..  D
1e4f0 57 4f 52 44 20 54 69 6d 65 44 61 74 65 53 74 61  WORD TimeDateSta
1e500 6d 70 3b 0d 0a 20 20 57 4f 52 44 20 4f 66 66 73  mp;..  WORD Offs
1e510 65 74 4d 6f 64 75 6c 65 4e 61 6d 65 3b 0d 0a 20  etModuleName;.. 
1e520 20 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0d   WORD Reserved;.
1e530 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
1e540 5f 42 4f 55 4e 44 5f 46 4f 52 57 41 52 44 45 52  _BOUND_FORWARDER
1e550 5f 52 45 46 20 49 4d 41 47 45 5f 42 4f 55 4e 44  _REF IMAGE_BOUND
1e560 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46 3b 0d  _FORWARDER_REF;.
1e570 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 42 4f  .alias _IMAGE_BO
1e580 55 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f 52 45  UND_FORWARDER_RE
1e590 46 2a 20 50 49 4d 41 47 45 5f 42 4f 55 4e 44 5f  F* PIMAGE_BOUND_
1e5a0 46 4f 52 57 41 52 44 45 52 5f 52 45 46 3b 0d 0a  FORWARDER_REF;..
1e5b0 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
1e5c0 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f  RESOURCE_DIRECTO
1e5d0 52 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43 68  RY {..  DWORD Ch
1e5e0 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d 0a  aracteristics;..
1e5f0 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74 65    DWORD TimeDate
1e600 53 74 61 6d 70 3b 0d 0a 20 20 57 4f 52 44 20 4d  Stamp;..  WORD M
1e610 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  ajorVersion;..  
1e620 57 4f 52 44 20 4d 69 6e 6f 72 56 65 72 73 69 6f  WORD MinorVersio
1e630 6e 3b 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62 65  n;..  WORD Numbe
1e640 72 4f 66 4e 61 6d 65 64 45 6e 74 72 69 65 73 3b  rOfNamedEntries;
1e650 0d 0a 20 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f  ..  WORD NumberO
1e660 66 49 64 45 6e 74 72 69 65 73 3b 0d 0a 7d 0d 0a  fIdEntries;..}..
1e670 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 45 53  alias _IMAGE_RES
1e680 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 20  OURCE_DIRECTORY 
1e690 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44  IMAGE_RESOURCE_D
1e6a0 49 52 45 43 54 4f 52 59 3b 0d 0a 61 6c 69 61 73  IRECTORY;..alias
1e6b0 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45   _IMAGE_RESOURCE
1e6c0 5f 44 49 52 45 43 54 4f 52 59 2a 20 50 49 4d 41  _DIRECTORY* PIMA
1e6d0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45  GE_RESOURCE_DIRE
1e6e0 43 54 4f 52 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  CTORY;....enum :
1e6f0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1e700 53 4f 55 52 43 45 5f 4e 41 4d 45 5f 49 53 5f 53  SOURCE_NAME_IS_S
1e710 54 52 49 4e 47 20 3d 20 30 78 38 30 30 30 30 30  TRING = 0x800000
1e720 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1e730 74 20 7b 20 49 4d 41 47 45 5f 52 45 53 4f 55 52  t { IMAGE_RESOUR
1e740 43 45 5f 44 41 54 41 5f 49 53 5f 44 49 52 45 43  CE_DATA_IS_DIREC
1e750 54 4f 52 59 20 3d 20 30 78 38 30 30 30 30 30 30  TORY = 0x8000000
1e760 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49  0 }....struct _I
1e770 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49  MAGE_RESOURCE_DI
1e780 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 20 7b 0d  RECTORY_ENTRY {.
1e790 0a 75 6e 69 6f 6e 20 7b 0d 0a 73 74 72 75 63 74  .union {..struct
1e7a0 20 7b 0d 0a 2f 2f 20 44 57 4f 52 44 20 4e 61 6d   {..// DWORD Nam
1e7b0 65 4f 66 66 73 65 74 3a 33 31 3b 0d 0a 2f 2f 20  eOffset:31;..// 
1e7c0 44 57 4f 52 44 20 4e 61 6d 65 49 73 53 74 72 69  DWORD NameIsStri
1e7d0 6e 67 3a 31 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57  ng:1;..}....  DW
1e7e0 4f 52 44 20 4e 61 6d 65 3b 0d 0a 20 20 57 4f 52  ORD Name;..  WOR
1e7f0 44 20 49 64 3b 0d 0a 7d 0d 0a 0d 0a 75 6e 69 6f  D Id;..}....unio
1e800 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4f 66 66  n {..  DWORD Off
1e810 73 65 74 54 6f 44 61 74 61 3b 0d 0a 73 74 72 75  setToData;..stru
1e820 63 74 20 7b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20  ct {..// DWORD  
1e830 20 4f 66 66 73 65 74 54 6f 44 69 72 65 63 74 6f   OffsetToDirecto
1e840 72 79 3a 33 31 3b 0d 0a 2f 2f 20 44 57 4f 52 44  ry:31;..// DWORD
1e850 20 20 20 44 61 74 61 49 73 44 69 72 65 63 74 6f     DataIsDirecto
1e860 72 79 3a 31 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d  ry:1;..}....}...
1e870 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
1e880 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54  _RESOURCE_DIRECT
1e890 4f 52 59 5f 45 4e 54 52 59 20 49 4d 41 47 45 5f  ORY_ENTRY IMAGE_
1e8a0 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f  RESOURCE_DIRECTO
1e8b0 52 59 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73  RY_ENTRY;..alias
1e8c0 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45   _IMAGE_RESOURCE
1e8d0 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59  _DIRECTORY_ENTRY
1e8e0 2a 20 50 49 4d 41 47 45 5f 52 45 53 4f 55 52 43  * PIMAGE_RESOURC
1e8f0 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52  E_DIRECTORY_ENTR
1e900 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d  Y;....struct _IM
1e910 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52  AGE_RESOURCE_DIR
1e920 45 43 54 4f 52 59 5f 53 54 52 49 4e 47 20 7b 0d  ECTORY_STRING {.
1e930 0a 20 20 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0d  .  WORD Length;.
1e940 0a 20 20 43 48 41 52 20 4e 61 6d 65 53 74 72 69  .  CHAR NameStri
1e950 6e 67 5b 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69  ng[ 1 ];..}..ali
1e960 61 73 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52  as _IMAGE_RESOUR
1e970 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 53 54 52  CE_DIRECTORY_STR
1e980 49 4e 47 20 49 4d 41 47 45 5f 52 45 53 4f 55 52  ING IMAGE_RESOUR
1e990 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 53 54 52  CE_DIRECTORY_STR
1e9a0 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  ING;..alias _IMA
1e9b0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45  GE_RESOURCE_DIRE
1e9c0 43 54 4f 52 59 5f 53 54 52 49 4e 47 2a 20 50 49  CTORY_STRING* PI
1e9d0 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49  MAGE_RESOURCE_DI
1e9e0 52 45 43 54 4f 52 59 5f 53 54 52 49 4e 47 3b 0d  RECTORY_STRING;.
1e9f0 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1ea00 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 5f 53 54  _RESOURCE_DIR_ST
1ea10 52 49 4e 47 5f 55 20 7b 0d 0a 20 20 57 4f 52 44  RING_U {..  WORD
1ea20 20 4c 65 6e 67 74 68 3b 0d 0a 20 20 57 43 48 41   Length;..  WCHA
1ea30 52 20 4e 61 6d 65 53 74 72 69 6e 67 5b 20 31 20  R NameString[ 1 
1ea40 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d  ];..}..alias _IM
1ea50 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52  AGE_RESOURCE_DIR
1ea60 5f 53 54 52 49 4e 47 5f 55 20 49 4d 41 47 45 5f  _STRING_U IMAGE_
1ea70 52 45 53 4f 55 52 43 45 5f 44 49 52 5f 53 54 52  RESOURCE_DIR_STR
1ea80 49 4e 47 5f 55 3b 0d 0a 61 6c 69 61 73 20 5f 49  ING_U;..alias _I
1ea90 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49  MAGE_RESOURCE_DI
1eaa0 52 5f 53 54 52 49 4e 47 5f 55 2a 20 50 49 4d 41  R_STRING_U* PIMA
1eab0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 5f  GE_RESOURCE_DIR_
1eac0 53 54 52 49 4e 47 5f 55 3b 0d 0a 0d 0a 73 74 72  STRING_U;....str
1ead0 75 63 74 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55  uct _IMAGE_RESOU
1eae0 52 43 45 5f 44 41 54 41 5f 45 4e 54 52 59 20 7b  RCE_DATA_ENTRY {
1eaf0 0d 0a 20 20 44 57 4f 52 44 20 4f 66 66 73 65 74  ..  DWORD Offset
1eb00 54 6f 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44  ToData;..  DWORD
1eb10 20 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20   Size;..  DWORD 
1eb20 43 6f 64 65 50 61 67 65 3b 0d 0a 20 20 44 57 4f  CodePage;..  DWO
1eb30 52 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d  RD Reserved;..}.
1eb40 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 45  .alias _IMAGE_RE
1eb50 53 4f 55 52 43 45 5f 44 41 54 41 5f 45 4e 54 52  SOURCE_DATA_ENTR
1eb60 59 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45  Y IMAGE_RESOURCE
1eb70 5f 44 41 54 41 5f 45 4e 54 52 59 3b 0d 0a 61 6c  _DATA_ENTRY;..al
1eb80 69 61 73 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55  ias _IMAGE_RESOU
1eb90 52 43 45 5f 44 41 54 41 5f 45 4e 54 52 59 2a 20  RCE_DATA_ENTRY* 
1eba0 50 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  PIMAGE_RESOURCE_
1ebb0 44 41 54 41 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 73  DATA_ENTRY;....s
1ebc0 74 72 75 63 74 20 5f 31 32 20 7b 0d 0a 20 20 44  truct _12 {..  D
1ebd0 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73  WORD Characteris
1ebe0 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52 44 20 54  tics;..  DWORD T
1ebf0 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20  imeDateStamp;.. 
1ec00 20 57 4f 52 44 20 4d 61 6a 6f 72 56 65 72 73 69   WORD MajorVersi
1ec10 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
1ec20 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f  rVersion;..  DWO
1ec30 52 44 20 47 6c 6f 62 61 6c 46 6c 61 67 73 43 6c  RD GlobalFlagsCl
1ec40 65 61 72 3b 0d 0a 20 20 44 57 4f 52 44 20 47 6c  ear;..  DWORD Gl
1ec50 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b 0d 0a 20  obalFlagsSet;.. 
1ec60 20 44 57 4f 52 44 20 43 72 69 74 69 63 61 6c 53   DWORD CriticalS
1ec70 65 63 74 69 6f 6e 44 65 66 61 75 6c 74 54 69 6d  ectionDefaultTim
1ec80 65 6f 75 74 3b 0d 0a 20 20 44 57 4f 52 44 20 44  eout;..  DWORD D
1ec90 65 43 6f 6d 6d 69 74 46 72 65 65 42 6c 6f 63 6b  eCommitFreeBlock
1eca0 54 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 44 57  Threshold;..  DW
1ecb0 4f 52 44 20 44 65 43 6f 6d 6d 69 74 54 6f 74 61  ORD DeCommitTota
1ecc0 6c 46 72 65 65 54 68 72 65 73 68 6f 6c 64 3b 0d  lFreeThreshold;.
1ecd0 0a 20 20 44 57 4f 52 44 20 4c 6f 63 6b 50 72 65  .  DWORD LockPre
1ece0 66 69 78 54 61 62 6c 65 3b 0d 0a 20 20 44 57 4f  fixTable;..  DWO
1ecf0 52 44 20 4d 61 78 69 6d 75 6d 41 6c 6c 6f 63 61  RD MaximumAlloca
1ed00 74 69 6f 6e 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  tionSize;..  DWO
1ed10 52 44 20 56 69 72 74 75 61 6c 4d 65 6d 6f 72 79  RD VirtualMemory
1ed20 54 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 44 57  Threshold;..  DW
1ed30 4f 52 44 20 50 72 6f 63 65 73 73 48 65 61 70 46  ORD ProcessHeapF
1ed40 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50  lags;..  DWORD P
1ed50 72 6f 63 65 73 73 41 66 66 69 6e 69 74 79 4d 61  rocessAffinityMa
1ed60 73 6b 3b 0d 0a 20 20 57 4f 52 44 20 43 53 44 56  sk;..  WORD CSDV
1ed70 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20  ersion;..  WORD 
1ed80 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57  Reserved1;..  DW
1ed90 4f 52 44 20 45 64 69 74 4c 69 73 74 3b 0d 0a 20  ORD EditList;.. 
1eda0 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 5b   DWORD Reserved[
1edb0 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   1 ];..}..alias 
1edc0 5f 31 32 20 49 4d 41 47 45 5f 4c 4f 41 44 5f 43  _12 IMAGE_LOAD_C
1edd0 4f 4e 46 49 47 5f 44 49 52 45 43 54 4f 52 59 33  ONFIG_DIRECTORY3
1ede0 32 3b 0d 0a 61 6c 69 61 73 20 5f 31 32 2a 20 50  2;..alias _12* P
1edf0 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49  IMAGE_LOAD_CONFI
1ee00 47 5f 44 49 52 45 43 54 4f 52 59 33 32 3b 0d 0a  G_DIRECTORY32;..
1ee10 0d 0a 73 74 72 75 63 74 20 5f 31 33 20 7b 0d 0a  ..struct _13 {..
1ee20 20 20 44 57 4f 52 44 20 43 68 61 72 61 63 74 65    DWORD Characte
1ee30 72 69 73 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52  ristics;..  DWOR
1ee40 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b  D TimeDateStamp;
1ee50 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72 56 65  ..  WORD MajorVe
1ee60 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d  rsion;..  WORD M
1ee70 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  inorVersion;..  
1ee80 44 57 4f 52 44 20 47 6c 6f 62 61 6c 46 6c 61 67  DWORD GlobalFlag
1ee90 73 43 6c 65 61 72 3b 0d 0a 20 20 44 57 4f 52 44  sClear;..  DWORD
1eea0 20 47 6c 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b   GlobalFlagsSet;
1eeb0 0d 0a 20 20 44 57 4f 52 44 20 43 72 69 74 69 63  ..  DWORD Critic
1eec0 61 6c 53 65 63 74 69 6f 6e 44 65 66 61 75 6c 74  alSectionDefault
1eed0 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 55 4c 4f 4e  Timeout;..  ULON
1eee0 47 4c 4f 4e 47 20 44 65 43 6f 6d 6d 69 74 46 72  GLONG DeCommitFr
1eef0 65 65 42 6c 6f 63 6b 54 68 72 65 73 68 6f 6c 64  eeBlockThreshold
1ef00 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 44  ;..  ULONGLONG D
1ef10 65 43 6f 6d 6d 69 74 54 6f 74 61 6c 46 72 65 65  eCommitTotalFree
1ef20 54 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 55 4c  Threshold;..  UL
1ef30 4f 4e 47 4c 4f 4e 47 20 4c 6f 63 6b 50 72 65 66  ONGLONG LockPref
1ef40 69 78 54 61 62 6c 65 3b 0d 0a 20 20 55 4c 4f 4e  ixTable;..  ULON
1ef50 47 4c 4f 4e 47 20 4d 61 78 69 6d 75 6d 41 6c 6c  GLONG MaximumAll
1ef60 6f 63 61 74 69 6f 6e 53 69 7a 65 3b 0d 0a 20 20  ocationSize;..  
1ef70 55 4c 4f 4e 47 4c 4f 4e 47 20 56 69 72 74 75 61  ULONGLONG Virtua
1ef80 6c 4d 65 6d 6f 72 79 54 68 72 65 73 68 6f 6c 64  lMemoryThreshold
1ef90 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 50  ;..  ULONGLONG P
1efa0 72 6f 63 65 73 73 41 66 66 69 6e 69 74 79 4d 61  rocessAffinityMa
1efb0 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 6f  sk;..  DWORD Pro
1efc0 63 65 73 73 48 65 61 70 46 6c 61 67 73 3b 0d 0a  cessHeapFlags;..
1efd0 20 20 57 4f 52 44 20 43 53 44 56 65 72 73 69 6f    WORD CSDVersio
1efe0 6e 3b 0d 0a 20 20 57 4f 52 44 20 52 65 73 65 72  n;..  WORD Reser
1eff0 76 65 64 31 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f  ved1;..  ULONGLO
1f000 4e 47 20 45 64 69 74 4c 69 73 74 3b 0d 0a 20 20  NG EditList;..  
1f010 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 5b 20  DWORD Reserved[ 
1f020 32 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  2 ];..}..alias _
1f030 31 33 20 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f  13 IMAGE_LOAD_CO
1f040 4e 46 49 47 5f 44 49 52 45 43 54 4f 52 59 36 34  NFIG_DIRECTORY64
1f050 3b 0d 0a 61 6c 69 61 73 20 5f 31 33 2a 20 50 49  ;..alias _13* PI
1f060 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47  MAGE_LOAD_CONFIG
1f070 5f 44 49 52 45 43 54 4f 52 59 36 34 3b 0d 0a 0d  _DIRECTORY64;...
1f080 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 36  .// #ifdef _WIN6
1f090 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  4..// .....// #e
1f0a0 6c 73 65 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  lse..alias IMAGE
1f0b0 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52  _LOAD_CONFIG_DIR
1f0c0 45 43 54 4f 52 59 33 32 20 49 4d 41 47 45 5f 4c  ECTORY32 IMAGE_L
1f0d0 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43  OAD_CONFIG_DIREC
1f0e0 54 4f 52 59 3b 0d 0a 61 6c 69 61 73 20 50 49 4d  TORY;..alias PIM
1f0f0 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f  AGE_LOAD_CONFIG_
1f100 44 49 52 45 43 54 4f 52 59 33 32 20 50 49 4d 41  DIRECTORY32 PIMA
1f110 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44  GE_LOAD_CONFIG_D
1f120 49 52 45 43 54 4f 52 59 3b 0d 0a 2f 2f 20 23 65  IRECTORY;..// #e
1f130 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ndif....struct _
1f140 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 4d 45  IMAGE_CE_RUNTIME
1f150 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20  _FUNCTION_ENTRY 
1f160 7b 0d 0a 20 20 44 57 4f 52 44 20 46 75 6e 63 53  {..  DWORD FuncS
1f170 74 61 72 74 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20  tart;..// DWORD 
1f180 50 72 6f 6c 6f 67 4c 65 6e 20 3a 20 38 3b 0d 0a  PrologLen : 8;..
1f190 2f 2f 20 44 57 4f 52 44 20 46 75 6e 63 4c 65 6e  // DWORD FuncLen
1f1a0 20 3a 20 32 32 3b 0d 0a 2f 2f 20 44 57 4f 52 44   : 22;..// DWORD
1f1b0 20 54 68 69 72 74 79 54 77 6f 42 69 74 20 3a 20   ThirtyTwoBit : 
1f1c0 31 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 45 78 63  1;..// DWORD Exc
1f1d0 65 70 74 69 6f 6e 46 6c 61 67 20 3a 20 31 3b 0d  eptionFlag : 1;.
1f1e0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
1f1f0 5f 43 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43  _CE_RUNTIME_FUNC
1f200 54 49 4f 4e 5f 45 4e 54 52 59 20 49 4d 41 47 45  TION_ENTRY IMAGE
1f210 5f 43 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43  _CE_RUNTIME_FUNC
1f220 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69  TION_ENTRY;..ali
1f230 61 73 20 5f 49 4d 41 47 45 5f 43 45 5f 52 55 4e  as _IMAGE_CE_RUN
1f240 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e  TIME_FUNCTION_EN
1f250 54 52 59 2a 20 50 49 4d 41 47 45 5f 43 45 5f 52  TRY* PIMAGE_CE_R
1f260 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f  UNTIME_FUNCTION_
1f270 45 4e 54 52 59 3b 0d 0a 0d 0a 73 74 72 75 63 74  ENTRY;....struct
1f280 20 5f 49 4d 41 47 45 5f 41 4c 50 48 41 36 34 5f   _IMAGE_ALPHA64_
1f290 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e  RUNTIME_FUNCTION
1f2a0 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 55 4c 4f 4e  _ENTRY {..  ULON
1f2b0 47 4c 4f 4e 47 20 42 65 67 69 6e 41 64 64 72 65  GLONG BeginAddre
1f2c0 73 73 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  ss;..  ULONGLONG
1f2d0 20 45 6e 64 41 64 64 72 65 73 73 3b 0d 0a 20 20   EndAddress;..  
1f2e0 55 4c 4f 4e 47 4c 4f 4e 47 20 45 78 63 65 70 74  ULONGLONG Except
1f2f0 69 6f 6e 48 61 6e 64 6c 65 72 3b 0d 0a 20 20 55  ionHandler;..  U
1f300 4c 4f 4e 47 4c 4f 4e 47 20 48 61 6e 64 6c 65 72  LONGLONG Handler
1f310 44 61 74 61 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f  Data;..  ULONGLO
1f320 4e 47 20 50 72 6f 6c 6f 67 45 6e 64 41 64 64 72  NG PrologEndAddr
1f330 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ess;..}..alias _
1f340 49 4d 41 47 45 5f 41 4c 50 48 41 36 34 5f 52 55  IMAGE_ALPHA64_RU
1f350 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f360 4e 54 52 59 20 49 4d 41 47 45 5f 41 4c 50 48 41  NTRY IMAGE_ALPHA
1f370 36 34 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54  64_RUNTIME_FUNCT
1f380 49 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61  ION_ENTRY;..alia
1f390 73 20 5f 49 4d 41 47 45 5f 41 4c 50 48 41 36 34  s _IMAGE_ALPHA64
1f3a0 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f  _RUNTIME_FUNCTIO
1f3b0 4e 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47 45 5f  N_ENTRY* PIMAGE_
1f3c0 41 4c 50 48 41 36 34 5f 52 55 4e 54 49 4d 45 5f  ALPHA64_RUNTIME_
1f3d0 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d  FUNCTION_ENTRY;.
1f3e0 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1f3f0 5f 41 4c 50 48 41 5f 52 55 4e 54 49 4d 45 5f 46  _ALPHA_RUNTIME_F
1f400 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 7b 0d  UNCTION_ENTRY {.
1f410 0a 20 20 44 57 4f 52 44 20 42 65 67 69 6e 41 64  .  DWORD BeginAd
1f420 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20  dress;..  DWORD 
1f430 45 6e 64 41 64 64 72 65 73 73 3b 0d 0a 20 20 44  EndAddress;..  D
1f440 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 48 61  WORD ExceptionHa
1f450 6e 64 6c 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20  ndler;..  DWORD 
1f460 48 61 6e 64 6c 65 72 44 61 74 61 3b 0d 0a 20 20  HandlerData;..  
1f470 44 57 4f 52 44 20 50 72 6f 6c 6f 67 45 6e 64 41  DWORD PrologEndA
1f480 64 64 72 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61  ddress;..}..alia
1f490 73 20 5f 49 4d 41 47 45 5f 41 4c 50 48 41 5f 52  s _IMAGE_ALPHA_R
1f4a0 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f  UNTIME_FUNCTION_
1f4b0 45 4e 54 52 59 20 49 4d 41 47 45 5f 41 4c 50 48  ENTRY IMAGE_ALPH
1f4c0 41 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  A_RUNTIME_FUNCTI
1f4d0 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73  ON_ENTRY;..alias
1f4e0 20 5f 49 4d 41 47 45 5f 41 4c 50 48 41 5f 52 55   _IMAGE_ALPHA_RU
1f4f0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f500 4e 54 52 59 2a 20 50 49 4d 41 47 45 5f 41 4c 50  NTRY* PIMAGE_ALP
1f510 48 41 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54  HA_RUNTIME_FUNCT
1f520 49 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 73 74  ION_ENTRY;....st
1f530 72 75 63 74 20 5f 49 4d 41 47 45 5f 52 55 4e 54  ruct _IMAGE_RUNT
1f540 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54  IME_FUNCTION_ENT
1f550 52 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 42 65  RY {..  DWORD Be
1f560 67 69 6e 41 64 64 72 65 73 73 3b 0d 0a 20 20 44  ginAddress;..  D
1f570 57 4f 52 44 20 45 6e 64 41 64 64 72 65 73 73 3b  WORD EndAddress;
1f580 0d 0a 20 20 44 57 4f 52 44 20 55 6e 77 69 6e 64  ..  DWORD Unwind
1f590 49 6e 66 6f 41 64 64 72 65 73 73 3b 0d 0a 7d 0d  InfoAddress;..}.
1f5a0 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 55  .alias _IMAGE_RU
1f5b0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f5c0 4e 54 52 59 2a 20 5f 50 49 4d 41 47 45 5f 52 55  NTRY* _PIMAGE_RU
1f5d0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f5e0 4e 54 52 59 3b 0d 0a 0d 0a 61 6c 69 61 73 20 5f  NTRY;....alias _
1f5f0 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55  IMAGE_RUNTIME_FU
1f600 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 49 4d 41  NCTION_ENTRY IMA
1f610 47 45 5f 49 41 36 34 5f 52 55 4e 54 49 4d 45 5f  GE_IA64_RUNTIME_
1f620 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d  FUNCTION_ENTRY;.
1f630 0a 61 6c 69 61 73 20 5f 50 49 4d 41 47 45 5f 52  .alias _PIMAGE_R
1f640 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f  UNTIME_FUNCTION_
1f650 45 4e 54 52 59 20 50 49 4d 41 47 45 5f 49 41 36  ENTRY PIMAGE_IA6
1f660 34 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  4_RUNTIME_FUNCTI
1f670 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 2f 2f 20  ON_ENTRY;....// 
1f680 23 69 66 20 64 65 66 69 6e 65 64 28 5f 41 58 50  #if defined(_AXP
1f690 36 34 5f 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  64_)....// .....
1f6a0 0d 0a 2f 2f 20 23 65 6c 69 66 20 64 65 66 69 6e  ..// #elif defin
1f6b0 65 64 28 5f 41 4c 50 48 41 5f 29 0d 0a 0d 0a 2f  ed(_ALPHA_)..../
1f6c0 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  / .......// #els
1f6d0 65 0d 0a 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  e....alias _IMAG
1f6e0 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  E_RUNTIME_FUNCTI
1f6f0 4f 4e 5f 45 4e 54 52 59 20 49 4d 41 47 45 5f 52  ON_ENTRY IMAGE_R
1f700 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f  UNTIME_FUNCTION_
1f710 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 50  ENTRY;..alias _P
1f720 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55  IMAGE_RUNTIME_FU
1f730 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 50 49 4d  NCTION_ENTRY PIM
1f740 41 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43  AGE_RUNTIME_FUNC
1f750 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 2f  TION_ENTRY;..../
1f760 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
1f770 63 74 20 5f 49 4d 41 47 45 5f 44 45 42 55 47 5f  ct _IMAGE_DEBUG_
1f780 44 49 52 45 43 54 4f 52 59 20 7b 0d 0a 20 20 44  DIRECTORY {..  D
1f790 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73  WORD Characteris
1f7a0 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52 44 20 54  tics;..  DWORD T
1f7b0 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20  imeDateStamp;.. 
1f7c0 20 57 4f 52 44 20 4d 61 6a 6f 72 56 65 72 73 69   WORD MajorVersi
1f7d0 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
1f7e0 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f  rVersion;..  DWO
1f7f0 52 44 20 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52  RD Type;..  DWOR
1f800 44 20 53 69 7a 65 4f 66 44 61 74 61 3b 0d 0a 20  D SizeOfData;.. 
1f810 20 44 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66   DWORD AddressOf
1f820 52 61 77 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  RawData;..  DWOR
1f830 44 20 50 6f 69 6e 74 65 72 54 6f 52 61 77 44 61  D PointerToRawDa
1f840 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  ta;..}..alias _I
1f850 4d 41 47 45 5f 44 45 42 55 47 5f 44 49 52 45 43  MAGE_DEBUG_DIREC
1f860 54 4f 52 59 20 49 4d 41 47 45 5f 44 45 42 55 47  TORY IMAGE_DEBUG
1f870 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 61 6c 69  _DIRECTORY;..ali
1f880 61 73 20 5f 49 4d 41 47 45 5f 44 45 42 55 47 5f  as _IMAGE_DEBUG_
1f890 44 49 52 45 43 54 4f 52 59 2a 20 50 49 4d 41 47  DIRECTORY* PIMAG
1f8a0 45 5f 44 45 42 55 47 5f 44 49 52 45 43 54 4f 52  E_DEBUG_DIRECTOR
1f8b0 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  Y;....enum : uin
1f8c0 74 20 7b 20 49 4d 41 47 45 5f 44 45 42 55 47 5f  t { IMAGE_DEBUG_
1f8d0 54 59 50 45 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30  TYPE_UNKNOWN = 0
1f8e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1f8f0 7b 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59  { IMAGE_DEBUG_TY
1f900 50 45 5f 43 4f 46 46 20 3d 20 31 20 7d 0d 0a 65  PE_COFF = 1 }..e
1f910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1f920 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 43 4f  GE_DEBUG_TYPE_CO
1f930 44 45 56 49 45 57 20 3d 20 32 20 7d 0d 0a 65 6e  DEVIEW = 2 }..en
1f940 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1f950 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 46 50 4f  E_DEBUG_TYPE_FPO
1f960 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
1f970 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 45 42 55  int { IMAGE_DEBU
1f980 47 5f 54 59 50 45 5f 4d 49 53 43 20 3d 20 34 20  G_TYPE_MISC = 4 
1f990 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f9a0 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 50   IMAGE_DEBUG_TYP
1f9b0 45 5f 45 58 43 45 50 54 49 4f 4e 20 3d 20 35 20  E_EXCEPTION = 5 
1f9c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f9d0 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 50   IMAGE_DEBUG_TYP
1f9e0 45 5f 46 49 58 55 50 20 3d 20 36 20 7d 0d 0a 65  E_FIXUP = 6 }..e
1f9f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1fa00 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 4f 4d  GE_DEBUG_TYPE_OM
1fa10 41 50 5f 54 4f 5f 53 52 43 20 3d 20 37 20 7d 0d  AP_TO_SRC = 7 }.
1fa20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1fa30 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f  MAGE_DEBUG_TYPE_
1fa40 4f 4d 41 50 5f 46 52 4f 4d 5f 53 52 43 20 3d 20  OMAP_FROM_SRC = 
1fa50 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1fa60 20 7b 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54   { IMAGE_DEBUG_T
1fa70 59 50 45 5f 42 4f 52 4c 41 4e 44 20 3d 20 39 20  YPE_BORLAND = 9 
1fa80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1fa90 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 50   IMAGE_DEBUG_TYP
1faa0 45 5f 52 45 53 45 52 56 45 44 31 30 20 3d 20 31  E_RESERVED10 = 1
1fab0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1fac0 20 7b 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 54   { IMAGE_DEBUG_T
1fad0 59 50 45 5f 43 4c 53 49 44 20 3d 20 31 31 20 7d  YPE_CLSID = 11 }
1fae0 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
1faf0 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48  E_COFF_SYMBOLS_H
1fb00 45 41 44 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44  EADER {..  DWORD
1fb10 20 4e 75 6d 62 65 72 4f 66 53 79 6d 62 6f 6c 73   NumberOfSymbols
1fb20 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 76 61 54 6f  ;..  DWORD LvaTo
1fb30 46 69 72 73 74 53 79 6d 62 6f 6c 3b 0d 0a 20 20  FirstSymbol;..  
1fb40 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4c 69  DWORD NumberOfLi
1fb50 6e 65 6e 75 6d 62 65 72 73 3b 0d 0a 20 20 44 57  nenumbers;..  DW
1fb60 4f 52 44 20 4c 76 61 54 6f 46 69 72 73 74 4c 69  ORD LvaToFirstLi
1fb70 6e 65 6e 75 6d 62 65 72 3b 0d 0a 20 20 44 57 4f  nenumber;..  DWO
1fb80 52 44 20 52 76 61 54 6f 46 69 72 73 74 42 79 74  RD RvaToFirstByt
1fb90 65 4f 66 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52  eOfCode;..  DWOR
1fba0 44 20 52 76 61 54 6f 4c 61 73 74 42 79 74 65 4f  D RvaToLastByteO
1fbb0 66 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44 20  fCode;..  DWORD 
1fbc0 52 76 61 54 6f 46 69 72 73 74 42 79 74 65 4f 66  RvaToFirstByteOf
1fbd0 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 52  Data;..  DWORD R
1fbe0 76 61 54 6f 4c 61 73 74 42 79 74 65 4f 66 44 61  vaToLastByteOfDa
1fbf0 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  ta;..}..alias _I
1fc00 4d 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c  MAGE_COFF_SYMBOL
1fc10 53 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 43  S_HEADER IMAGE_C
1fc20 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 44  OFF_SYMBOLS_HEAD
1fc30 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ER;..alias _IMAG
1fc40 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48  E_COFF_SYMBOLS_H
1fc50 45 41 44 45 52 2a 20 50 49 4d 41 47 45 5f 43 4f  EADER* PIMAGE_CO
1fc60 46 46 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 44 45  FF_SYMBOLS_HEADE
1fc70 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  R;....enum : uin
1fc80 74 20 7b 20 46 52 41 4d 45 5f 46 50 4f 20 3d 20  t { FRAME_FPO = 
1fc90 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1fca0 20 7b 20 46 52 41 4d 45 5f 54 52 41 50 20 3d 20   { FRAME_TRAP = 
1fcb0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1fcc0 20 7b 20 46 52 41 4d 45 5f 54 53 53 20 3d 20 32   { FRAME_TSS = 2
1fcd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1fce0 7b 20 46 52 41 4d 45 5f 4e 4f 4e 46 50 4f 20 3d  { FRAME_NONFPO =
1fcf0 20 33 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f   3 }....struct _
1fd00 46 50 4f 5f 44 41 54 41 20 7b 0d 0a 20 20 44 57  FPO_DATA {..  DW
1fd10 4f 52 44 20 75 6c 4f 66 66 53 74 61 72 74 3b 0d  ORD ulOffStart;.
1fd20 0a 20 20 44 57 4f 52 44 20 63 62 50 72 6f 63 53  .  DWORD cbProcS
1fd30 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 63 64  ize;..  DWORD cd
1fd40 77 4c 6f 63 61 6c 73 3b 0d 0a 20 20 57 4f 52 44  wLocals;..  WORD
1fd50 20 63 64 77 50 61 72 61 6d 73 3b 0d 0a 2f 2f 20   cdwParams;..// 
1fd60 57 4f 52 44 20 20 20 20 20 20 20 20 63 62 50 72  WORD        cbPr
1fd70 6f 6c 6f 67 20 3a 20 38 3b 0d 0a 2f 2f 20 57 4f  olog : 8;..// WO
1fd80 52 44 20 20 20 20 20 20 20 20 63 62 52 65 67 73  RD        cbRegs
1fd90 20 20 20 3a 20 33 3b 0d 0a 2f 2f 20 57 4f 52 44     : 3;..// WORD
1fda0 20 20 20 20 20 20 20 20 66 48 61 73 53 45 48 20          fHasSEH 
1fdb0 20 3a 20 31 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20   : 1;..// WORD  
1fdc0 20 20 20 20 20 20 66 55 73 65 42 50 20 20 20 3a        fUseBP   :
1fdd0 20 31 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20 20 20   1;..// WORD    
1fde0 20 20 20 20 72 65 73 65 72 76 65 64 20 3a 20 31      reserved : 1
1fdf0 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20 20 20 20 20  ;..// WORD      
1fe00 20 20 63 62 46 72 61 6d 65 20 20 3a 20 32 3b 0d    cbFrame  : 2;.
1fe10 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46 50 4f 5f 44  .}..alias _FPO_D
1fe20 41 54 41 20 46 50 4f 5f 44 41 54 41 3b 0d 0a 61  ATA FPO_DATA;..a
1fe30 6c 69 61 73 20 5f 46 50 4f 5f 44 41 54 41 2a 20  lias _FPO_DATA* 
1fe40 50 46 50 4f 5f 44 41 54 41 3b 0d 0a 0d 0a 65 6e  PFPO_DATA;....en
1fe50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49 5a 45  um : uint { SIZE
1fe60 4f 46 5f 52 46 50 4f 5f 44 41 54 41 20 3d 20 31  OF_RFPO_DATA = 1
1fe70 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  6 }....enum : ui
1fe80 6e 74 20 7b 20 49 4d 41 47 45 5f 44 45 42 55 47  nt { IMAGE_DEBUG
1fe90 5f 4d 49 53 43 5f 45 58 45 4e 41 4d 45 20 3d 20  _MISC_EXENAME = 
1fea0 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49  1 }....struct _I
1feb0 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 20  MAGE_DEBUG_MISC 
1fec0 7b 0d 0a 20 20 44 57 4f 52 44 20 44 61 74 61 54  {..  DWORD DataT
1fed0 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 65  ype;..  DWORD Le
1fee0 6e 67 74 68 3b 0d 0a 0d 0a 20 20 42 4f 4f 4c 45  ngth;....  BOOLE
1fef0 41 4e 20 55 6e 69 63 6f 64 65 3b 0d 0a 20 20 42  AN Unicode;..  B
1ff00 59 54 45 20 52 65 73 65 72 76 65 64 5b 20 33 20  YTE Reserved[ 3 
1ff10 5d 3b 0d 0a 20 20 42 59 54 45 20 44 61 74 61 5b  ];..  BYTE Data[
1ff20 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   1 ];..}..alias 
1ff30 5f 49 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53  _IMAGE_DEBUG_MIS
1ff40 43 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49  C IMAGE_DEBUG_MI
1ff50 53 43 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  SC;..alias _IMAG
1ff60 45 5f 44 45 42 55 47 5f 4d 49 53 43 2a 20 50 49  E_DEBUG_MISC* PI
1ff70 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 3b  MAGE_DEBUG_MISC;
1ff80 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
1ff90 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
1ffa0 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 72   {..  DWORD Star
1ffb0 74 69 6e 67 41 64 64 72 65 73 73 3b 0d 0a 20 20  tingAddress;..  
1ffc0 44 57 4f 52 44 20 45 6e 64 69 6e 67 41 64 64 72  DWORD EndingAddr
1ffd0 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 45 6e  ess;..  DWORD En
1ffe0 64 4f 66 50 72 6f 6c 6f 67 75 65 3b 0d 0a 7d 0d  dOfPrologue;..}.
1fff0 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 46 55  .alias _IMAGE_FU
20000 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 49 4d 41  NCTION_ENTRY IMA
20010 47 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52  GE_FUNCTION_ENTR
20020 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  Y;..alias _IMAGE
20030 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a  _FUNCTION_ENTRY*
20040 20 50 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e   PIMAGE_FUNCTION
20050 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 73 74 72 75 63  _ENTRY;....struc
20060 74 20 5f 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f  t _IMAGE_FUNCTIO
20070 4e 5f 45 4e 54 52 59 36 34 20 7b 0d 0a 20 20 55  N_ENTRY64 {..  U
20080 4c 4f 4e 47 4c 4f 4e 47 20 53 74 61 72 74 69 6e  LONGLONG Startin
20090 67 41 64 64 72 65 73 73 3b 0d 0a 20 20 55 4c 4f  gAddress;..  ULO
200a0 4e 47 4c 4f 4e 47 20 45 6e 64 69 6e 67 41 64 64  NGLONG EndingAdd
200b0 72 65 73 73 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a  ress;..union {..
200c0 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 45 6e 64 4f    ULONGLONG EndO
200d0 66 50 72 6f 6c 6f 67 75 65 3b 0d 0a 20 20 55 4c  fPrologue;..  UL
200e0 4f 4e 47 4c 4f 4e 47 20 55 6e 77 69 6e 64 49 6e  ONGLONG UnwindIn
200f0 66 6f 41 64 64 72 65 73 73 3b 0d 0a 7d 0d 0a 0d  foAddress;..}...
20100 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
20110 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 36  _FUNCTION_ENTRY6
20120 34 20 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e  4 IMAGE_FUNCTION
20130 5f 45 4e 54 52 59 36 34 3b 0d 0a 61 6c 69 61 73  _ENTRY64;..alias
20140 20 5f 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e   _IMAGE_FUNCTION
20150 5f 45 4e 54 52 59 36 34 2a 20 50 49 4d 41 47 45  _ENTRY64* PIMAGE
20160 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 36  _FUNCTION_ENTRY6
20170 34 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d  4;....struct _IM
20180 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42  AGE_SEPARATE_DEB
20190 55 47 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20 57  UG_HEADER {..  W
201a0 4f 52 44 20 53 69 67 6e 61 74 75 72 65 3b 0d 0a  ORD Signature;..
201b0 20 20 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20    WORD Flags;.. 
201c0 20 57 4f 52 44 20 4d 61 63 68 69 6e 65 3b 0d 0a   WORD Machine;..
201d0 20 20 57 4f 52 44 20 43 68 61 72 61 63 74 65 72    WORD Character
201e0 69 73 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52 44  istics;..  DWORD
201f0 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d   TimeDateStamp;.
20200 0a 20 20 44 57 4f 52 44 20 43 68 65 63 6b 53 75  .  DWORD CheckSu
20210 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 49 6d 61 67  m;..  DWORD Imag
20220 65 42 61 73 65 3b 0d 0a 20 20 44 57 4f 52 44 20  eBase;..  DWORD 
20230 53 69 7a 65 4f 66 49 6d 61 67 65 3b 0d 0a 20 20  SizeOfImage;..  
20240 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 53 65  DWORD NumberOfSe
20250 63 74 69 6f 6e 73 3b 0d 0a 20 20 44 57 4f 52 44  ctions;..  DWORD
20260 20 45 78 70 6f 72 74 65 64 4e 61 6d 65 73 53 69   ExportedNamesSi
20270 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65 62  ze;..  DWORD Deb
20280 75 67 44 69 72 65 63 74 6f 72 79 53 69 7a 65 3b  ugDirectorySize;
20290 0d 0a 20 20 44 57 4f 52 44 20 53 65 63 74 69 6f  ..  DWORD Sectio
202a0 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 20 20 44  nAlignment;..  D
202b0 57 4f 52 44 20 52 65 73 65 72 76 65 64 5b 32 5d  WORD Reserved[2]
202c0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  ;..}..alias _IMA
202d0 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42 55  GE_SEPARATE_DEBU
202e0 47 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 53  G_HEADER IMAGE_S
202f0 45 50 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45  EPARATE_DEBUG_HE
20300 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  ADER;..alias _IM
20310 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42  AGE_SEPARATE_DEB
20320 55 47 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47  UG_HEADER* PIMAG
20330 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42 55 47  E_SEPARATE_DEBUG
20340 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 73 74 72 75  _HEADER;....stru
20350 63 74 20 5f 4e 4f 4e 5f 50 41 47 45 44 5f 44 45  ct _NON_PAGED_DE
20360 42 55 47 5f 49 4e 46 4f 20 7b 0d 0a 20 20 57 4f  BUG_INFO {..  WO
20370 52 44 20 53 69 67 6e 61 74 75 72 65 3b 0d 0a 20  RD Signature;.. 
20380 20 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20   WORD Flags;..  
20390 44 57 4f 52 44 20 53 69 7a 65 3b 0d 0a 20 20 57  DWORD Size;..  W
203a0 4f 52 44 20 4d 61 63 68 69 6e 65 3b 0d 0a 20 20  ORD Machine;..  
203b0 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73  WORD Characteris
203c0 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52 44 20 54  tics;..  DWORD T
203d0 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20  imeDateStamp;.. 
203e0 20 44 57 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b   DWORD CheckSum;
203f0 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66  ..  DWORD SizeOf
20400 49 6d 61 67 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  Image;..  ULONGL
20410 4f 4e 47 20 49 6d 61 67 65 42 61 73 65 3b 0d 0a  ONG ImageBase;..
20420 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4e 4f 4e 5f  ..}..alias _NON_
20430 50 41 47 45 44 5f 44 45 42 55 47 5f 49 4e 46 4f  PAGED_DEBUG_INFO
20440 20 4e 4f 4e 5f 50 41 47 45 44 5f 44 45 42 55 47   NON_PAGED_DEBUG
20450 5f 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 4e  _INFO;..alias _N
20460 4f 4e 5f 50 41 47 45 44 5f 44 45 42 55 47 5f 49  ON_PAGED_DEBUG_I
20470 4e 46 4f 2a 20 50 4e 4f 4e 5f 50 41 47 45 44 5f  NFO* PNON_PAGED_
20480 44 45 42 55 47 5f 49 4e 46 4f 3b 0d 0a 0d 0a 2f  DEBUG_INFO;..../
20490 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a  / #ifndef _MAC..
204a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
204b0 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42  AGE_SEPARATE_DEB
204c0 55 47 5f 53 49 47 4e 41 54 55 52 45 20 3d 20 30  UG_SIGNATURE = 0
204d0 78 34 39 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x4944 }..enum : 
204e0 75 69 6e 74 20 7b 20 4e 4f 4e 5f 50 41 47 45 44  uint { NON_PAGED
204f0 5f 44 45 42 55 47 5f 53 49 47 4e 41 54 55 52 45  _DEBUG_SIGNATURE
20500 20 3d 20 30 78 34 39 34 45 20 7d 0d 0a 2f 2f 20   = 0x494E }..// 
20510 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
20520 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
20530 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
20540 74 20 7b 20 49 4d 41 47 45 5f 53 45 50 41 52 41  t { IMAGE_SEPARA
20550 54 45 5f 44 45 42 55 47 5f 46 4c 41 47 53 5f 4d  TE_DEBUG_FLAGS_M
20560 41 53 4b 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a  ASK = 0x8000 }..
20570 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
20580 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42  AGE_SEPARATE_DEB
20590 55 47 5f 4d 49 53 4d 41 54 43 48 20 3d 20 30 78  UG_MISMATCH = 0x
205a0 38 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  8000 }....struct
205b0 20 5f 49 6d 61 67 65 41 72 63 68 69 74 65 63 74   _ImageArchitect
205c0 75 72 65 48 65 61 64 65 72 20 7b 0d 0a 2f 2f 20  ureHeader {..// 
205d0 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 41 6d 61  unsigned int Ama
205e0 73 6b 56 61 6c 75 65 3a 20 31 3b 0d 0a 0d 0a 2f  skValue: 1;..../
205f0 2f 20 69 6e 74 20 3a 37 3b 0d 0a 2f 2f 20 75 6e  / int :7;..// un
20600 73 69 67 6e 65 64 20 69 6e 74 20 41 6d 61 73 6b  signed int Amask
20610 53 68 69 66 74 3a 20 38 3b 0d 0a 2f 2f 20 69 6e  Shift: 8;..// in
20620 74 20 3a 31 36 3b 0d 0a 20 20 44 57 4f 52 44 20  t :16;..  DWORD 
20630 46 69 72 73 74 45 6e 74 72 79 52 56 41 3b 0d 0a  FirstEntryRVA;..
20640 7d 0d 0a 61 6c 69 61 73 20 5f 49 6d 61 67 65 41  }..alias _ImageA
20650 72 63 68 69 74 65 63 74 75 72 65 48 65 61 64 65  rchitectureHeade
20660 72 20 49 4d 41 47 45 5f 41 52 43 48 49 54 45 43  r IMAGE_ARCHITEC
20670 54 55 52 45 5f 48 45 41 44 45 52 3b 0d 0a 61 6c  TURE_HEADER;..al
20680 69 61 73 20 5f 49 6d 61 67 65 41 72 63 68 69 74  ias _ImageArchit
20690 65 63 74 75 72 65 48 65 61 64 65 72 2a 20 50 49  ectureHeader* PI
206a0 4d 41 47 45 5f 41 52 43 48 49 54 45 43 54 55 52  MAGE_ARCHITECTUR
206b0 45 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 73 74 72  E_HEADER;....str
206c0 75 63 74 20 5f 49 6d 61 67 65 41 72 63 68 69 74  uct _ImageArchit
206d0 65 63 74 75 72 65 45 6e 74 72 79 20 7b 0d 0a 20  ectureEntry {.. 
206e0 20 44 57 4f 52 44 20 46 69 78 75 70 49 6e 73 74   DWORD FixupInst
206f0 52 56 41 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 65  RVA;..  DWORD Ne
20700 77 49 6e 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  wInst;..}..alias
20710 20 5f 49 6d 61 67 65 41 72 63 68 69 74 65 63 74   _ImageArchitect
20720 75 72 65 45 6e 74 72 79 20 49 4d 41 47 45 5f 41  ureEntry IMAGE_A
20730 52 43 48 49 54 45 43 54 55 52 45 5f 45 4e 54 52  RCHITECTURE_ENTR
20740 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 6d 61 67 65  Y;..alias _Image
20750 41 72 63 68 69 74 65 63 74 75 72 65 45 6e 74 72  ArchitectureEntr
20760 79 2a 20 50 49 4d 41 47 45 5f 41 52 43 48 49 54  y* PIMAGE_ARCHIT
20770 45 43 54 55 52 45 5f 45 4e 54 52 59 3b 0d 0a 0d  ECTURE_ENTRY;...
20780 0a 61 6c 69 67 6e 3a 0d 0a 0d 0a 65 6e 75 6d 20  .align:....enum 
20790 3a 20 75 69 6e 74 20 7b 20 49 4d 50 4f 52 54 5f  : uint { IMPORT_
207a0 4f 42 4a 45 43 54 5f 48 44 52 5f 53 49 47 32 20  OBJECT_HDR_SIG2 
207b0 3d 20 30 78 66 66 66 66 20 7d 0d 0a 0d 0a 73 74  = 0xffff }....st
207c0 72 75 63 74 20 49 4d 50 4f 52 54 5f 4f 42 4a 45  ruct IMPORT_OBJE
207d0 43 54 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20 57  CT_HEADER {..  W
207e0 4f 52 44 20 53 69 67 31 3b 0d 0a 20 20 57 4f 52  ORD Sig1;..  WOR
207f0 44 20 53 69 67 32 3b 0d 0a 20 20 57 4f 52 44 20  D Sig2;..  WORD 
20800 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44  Version;..  WORD
20810 20 4d 61 63 68 69 6e 65 3b 0d 0a 20 20 44 57 4f   Machine;..  DWO
20820 52 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70  RD TimeDateStamp
20830 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
20840 66 44 61 74 61 3b 0d 0a 0d 0a 75 6e 69 6f 6e 20  fData;....union 
20850 7b 0d 0a 20 20 57 4f 52 44 20 4f 72 64 69 6e 61  {..  WORD Ordina
20860 6c 3b 0d 0a 20 20 57 4f 52 44 20 48 69 6e 74 3b  l;..  WORD Hint;
20870 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 57 4f 52 44 20 20  ..}....// WORD  
20880 20 20 54 79 70 65 20 3a 20 32 3b 0d 0a 2f 2f 20    Type : 2;..// 
20890 57 4f 52 44 20 20 20 20 4e 61 6d 65 54 79 70 65  WORD    NameType
208a0 20 3a 20 33 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20   : 3;..// WORD  
208b0 20 20 52 65 73 65 72 76 65 64 20 3a 20 31 31 3b    Reserved : 11;
208c0 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74  ..}....alias int
208d0 20 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 54   IMPORT_OBJECT_T
208e0 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20  YPE;..enum {..  
208f0 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 43 4f  IMPORT_OBJECT_CO
20900 44 45 20 3d 20 30 2c 0d 0a 20 20 49 4d 50 4f 52  DE = 0,..  IMPOR
20910 54 5f 4f 42 4a 45 43 54 5f 44 41 54 41 20 3d 20  T_OBJECT_DATA = 
20920 31 2c 0d 0a 20 20 49 4d 50 4f 52 54 5f 4f 42 4a  1,..  IMPORT_OBJ
20930 45 43 54 5f 43 4f 4e 53 54 20 3d 20 32 2c 0d 0a  ECT_CONST = 2,..
20940 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 49  }....alias int I
20950 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 4e 41 4d  MPORT_OBJECT_NAM
20960 45 5f 54 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d  E_TYPE;..enum {.
20970 0a 20 20 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54  .  IMPORT_OBJECT
20980 5f 4f 52 44 49 4e 41 4c 20 3d 20 30 2c 0d 0a 20  _ORDINAL = 0,.. 
20990 20 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 4e   IMPORT_OBJECT_N
209a0 41 4d 45 20 3d 20 31 2c 0d 0a 20 20 49 4d 50 4f  AME = 1,..  IMPO
209b0 52 54 5f 4f 42 4a 45 43 54 5f 4e 41 4d 45 5f 4e  RT_OBJECT_NAME_N
209c0 4f 5f 50 52 45 46 49 58 20 3d 20 32 2c 0d 0a 20  O_PREFIX = 2,.. 
209d0 20 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 4e   IMPORT_OBJECT_N
209e0 41 4d 45 5f 55 4e 44 45 43 4f 52 41 54 45 20 3d  AME_UNDECORATE =
209f0 20 33 2c 0d 0a 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23   3,....}....// #
20a00 69 66 6e 64 65 66 20 5f 5f 49 4d 41 47 45 5f 43  ifndef __IMAGE_C
20a10 4f 52 32 30 5f 48 45 41 44 45 52 5f 44 45 46 49  OR20_HEADER_DEFI
20a20 4e 45 44 5f 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e  NED__..// #defin
20a30 65 20 5f 5f 49 4d 41 47 45 5f 43 4f 52 32 30 5f  e __IMAGE_COR20_
20a40 48 45 41 44 45 52 5f 44 45 46 49 4e 45 44 5f 5f  HEADER_DEFINED__
20a50 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 52 65  ....alias int Re
20a60 70 6c 61 63 65 73 43 6f 72 48 64 72 4e 75 6d 65  placesCorHdrNume
20a70 72 69 63 44 65 66 69 6e 65 73 3b 0d 0a 65 6e 75  ricDefines;..enu
20a80 6d 20 7b 0d 0a 0d 0a 20 20 43 4f 4d 49 4d 41 47  m {....  COMIMAG
20a90 45 5f 46 4c 41 47 53 5f 49 4c 4f 4e 4c 59 20 3d  E_FLAGS_ILONLY =
20aa0 20 30 78 30 30 30 30 30 30 30 31 2c 0d 0a 20 20   0x00000001,..  
20ab0 43 4f 4d 49 4d 41 47 45 5f 46 4c 41 47 53 5f 33  COMIMAGE_FLAGS_3
20ac0 32 42 49 54 52 45 51 55 49 52 45 44 20 3d 20 30  2BITREQUIRED = 0
20ad0 78 30 30 30 30 30 30 30 32 2c 0d 0a 20 20 43 4f  x00000002,..  CO
20ae0 4d 49 4d 41 47 45 5f 46 4c 41 47 53 5f 49 4c 5f  MIMAGE_FLAGS_IL_
20af0 4c 49 42 52 41 52 59 20 3d 20 30 78 30 30 30 30  LIBRARY = 0x0000
20b00 30 30 30 34 2c 0d 0a 20 20 43 4f 4d 49 4d 41 47  0004,..  COMIMAG
20b10 45 5f 46 4c 41 47 53 5f 54 52 41 43 4b 44 45 42  E_FLAGS_TRACKDEB
20b20 55 47 44 41 54 41 20 3d 20 30 78 30 30 30 31 30  UGDATA = 0x00010
20b30 30 30 30 2c 0d 0a 0d 0a 20 20 43 4f 52 5f 56 45  000,....  COR_VE
20b40 52 53 49 4f 4e 5f 4d 41 4a 4f 52 5f 56 32 20 3d  RSION_MAJOR_V2 =
20b50 20 32 2c 0d 0a 20 20 43 4f 52 5f 56 45 52 53 49   2,..  COR_VERSI
20b60 4f 4e 5f 4d 41 4a 4f 52 20 3d 20 43 4f 52 5f 56  ON_MAJOR = COR_V
20b70 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 5f 56 32 2c  ERSION_MAJOR_V2,
20b80 0d 0a 20 20 43 4f 52 5f 56 45 52 53 49 4f 4e 5f  ..  COR_VERSION_
20b90 4d 49 4e 4f 52 20 3d 20 30 2c 0d 0a 20 20 43 4f  MINOR = 0,..  CO
20ba0 52 5f 44 45 4c 45 54 45 44 5f 4e 41 4d 45 5f 4c  R_DELETED_NAME_L
20bb0 45 4e 47 54 48 20 3d 20 38 2c 0d 0a 20 20 43 4f  ENGTH = 8,..  CO
20bc0 52 5f 56 54 41 42 4c 45 47 41 50 5f 4e 41 4d 45  R_VTABLEGAP_NAME
20bd0 5f 4c 45 4e 47 54 48 20 3d 20 38 2c 0d 0a 0d 0a  _LENGTH = 8,....
20be0 20 20 4e 41 54 49 56 45 5f 54 59 50 45 5f 4d 41    NATIVE_TYPE_MA
20bf0 58 5f 43 42 20 3d 20 31 2c 0d 0a 20 20 43 4f 52  X_CB = 1,..  COR
20c00 5f 49 4c 4d 45 54 48 4f 44 5f 53 45 43 54 5f 53  _ILMETHOD_SECT_S
20c10 4d 41 4c 4c 5f 4d 41 58 5f 44 41 54 41 53 49 5a  MALL_MAX_DATASIZ
20c20 45 20 3d 20 30 78 46 46 2c 0d 0a 0d 0a 20 20 49  E = 0xFF,....  I
20c30 4d 41 47 45 5f 43 4f 52 5f 4d 49 48 5f 4d 45 54  MAGE_COR_MIH_MET
20c40 48 4f 44 52 56 41 20 3d 20 30 78 30 31 2c 0d 0a  HODRVA = 0x01,..
20c50 20 20 49 4d 41 47 45 5f 43 4f 52 5f 4d 49 48 5f    IMAGE_COR_MIH_
20c60 45 48 52 56 41 20 3d 20 30 78 30 32 2c 0d 0a 20  EHRVA = 0x02,.. 
20c70 20 49 4d 41 47 45 5f 43 4f 52 5f 4d 49 48 5f 42   IMAGE_COR_MIH_B
20c80 41 53 49 43 42 4c 4f 43 4b 20 3d 20 30 78 30 38  ASICBLOCK = 0x08
20c90 2c 0d 0a 0d 0a 20 20 43 4f 52 5f 56 54 41 42 4c  ,....  COR_VTABL
20ca0 45 5f 33 32 42 49 54 20 3d 20 30 78 30 31 2c 0d  E_32BIT = 0x01,.
20cb0 0a 20 20 43 4f 52 5f 56 54 41 42 4c 45 5f 36 34  .  COR_VTABLE_64
20cc0 42 49 54 20 3d 20 30 78 30 32 2c 0d 0a 20 20 43  BIT = 0x02,..  C
20cd0 4f 52 5f 56 54 41 42 4c 45 5f 46 52 4f 4d 5f 55  OR_VTABLE_FROM_U
20ce0 4e 4d 41 4e 41 47 45 44 20 3d 20 30 78 30 34 2c  NMANAGED = 0x04,
20cf0 0d 0a 20 20 43 4f 52 5f 56 54 41 42 4c 45 5f 43  ..  COR_VTABLE_C
20d00 41 4c 4c 5f 4d 4f 53 54 5f 44 45 52 49 56 45 44  ALL_MOST_DERIVED
20d10 20 3d 20 30 78 31 30 2c 0d 0a 0d 0a 20 20 49 4d   = 0x10,....  IM
20d20 41 47 45 5f 43 4f 52 5f 45 41 54 4a 5f 54 48 55  AGE_COR_EATJ_THU
20d30 4e 4b 5f 53 49 5a 45 20 3d 20 33 32 2c 0d 0a 0d  NK_SIZE = 32,...
20d40 0a 20 20 4d 41 58 5f 43 4c 41 53 53 5f 4e 41 4d  .  MAX_CLASS_NAM
20d50 45 20 3d 20 31 30 32 34 2c 0d 0a 20 20 4d 41 58  E = 1024,..  MAX
20d60 5f 50 41 43 4b 41 47 45 5f 4e 41 4d 45 20 3d 20  _PACKAGE_NAME = 
20d70 31 30 32 34 2c 0d 0a 7d 0d 0a 0d 0a 73 74 72 75  1024,..}....stru
20d80 63 74 20 49 4d 41 47 45 5f 43 4f 52 32 30 5f 48  ct IMAGE_COR20_H
20d90 45 41 44 45 52 20 7b 0d 0a 0d 0a 20 20 44 57 4f  EADER {....  DWO
20da0 52 44 20 63 62 3b 0d 0a 20 20 57 4f 52 44 20 4d  RD cb;..  WORD M
20db0 61 6a 6f 72 52 75 6e 74 69 6d 65 56 65 72 73 69  ajorRuntimeVersi
20dc0 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
20dd0 72 52 75 6e 74 69 6d 65 56 65 72 73 69 6f 6e 3b  rRuntimeVersion;
20de0 0d 0a 20 20 49 4d 41 47 45 5f 44 41 54 41 5f 44  ..  IMAGE_DATA_D
20df0 49 52 45 43 54 4f 52 59 20 4d 65 74 61 44 61 74  IRECTORY MetaDat
20e00 61 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67  a;..  DWORD Flag
20e10 73 3b 0d 0a 20 20 44 57 4f 52 44 20 45 6e 74 72  s;..  DWORD Entr
20e20 79 50 6f 69 6e 74 54 6f 6b 65 6e 3b 0d 0a 20 20  yPointToken;..  
20e30 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43  IMAGE_DATA_DIREC
20e40 54 4f 52 59 20 52 65 73 6f 75 72 63 65 73 3b 0d  TORY Resources;.
20e50 0a 20 20 49 4d 41 47 45 5f 44 41 54 41 5f 44 49  .  IMAGE_DATA_DI
20e60 52 45 43 54 4f 52 59 20 53 74 72 6f 6e 67 4e 61  RECTORY StrongNa
20e70 6d 65 53 69 67 6e 61 74 75 72 65 3b 0d 0a 20 20  meSignature;..  
20e80 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43  IMAGE_DATA_DIREC
20e90 54 4f 52 59 20 43 6f 64 65 4d 61 6e 61 67 65 72  TORY CodeManager
20ea0 54 61 62 6c 65 3b 0d 0a 20 20 49 4d 41 47 45 5f  Table;..  IMAGE_
20eb0 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20 56  DATA_DIRECTORY V
20ec0 54 61 62 6c 65 46 69 78 75 70 73 3b 0d 0a 20 20  TableFixups;..  
20ed0 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43  IMAGE_DATA_DIREC
20ee0 54 4f 52 59 20 45 78 70 6f 72 74 41 64 64 72 65  TORY ExportAddre
20ef0 73 73 54 61 62 6c 65 4a 75 6d 70 73 3b 0d 0a 20  ssTableJumps;.. 
20f00 20 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45   IMAGE_DATA_DIRE
20f10 43 54 4f 52 59 20 4d 61 6e 61 67 65 64 4e 61 74  CTORY ManagedNat
20f20 69 76 65 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a 61  iveHeader;..}..a
20f30 6c 69 61 73 20 49 4d 41 47 45 5f 43 4f 52 32 30  lias IMAGE_COR20
20f40 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45 5f  _HEADER* PIMAGE_
20f50 43 4f 52 32 30 5f 48 45 41 44 45 52 3b 0d 0a 0d  COR20_HEADER;...
20f60 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f 5f  .// #endif // __
20f70 49 4d 41 47 45 5f 43 4f 52 32 30 5f 48 45 41 44  IMAGE_COR20_HEAD
20f80 45 52 5f 44 45 46 49 4e 45 44 5f 5f 0d 0a 0d 0a  ER_DEFINED__....
20f90 2f 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a  // #ifdef _MAC..
20fa0 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4e 43 5f  // #ifndef _INC_
20fb0 53 54 52 49 4e 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d  STRING..// #....
20fc0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 49  .// #endif /* _I
20fd0 4e 43 5f 53 54 52 49 4e 47 20 2a 2f 0d 0a 2f 2f  NC_STRING */..//
20fe0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 6e 63 6c   #else..// #incl
20ff0 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0d 0a  ude <string.h>..
21000 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f 4d 41  // #endif // _MA
21010 43 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  C....// #ifndef 
21020 5f 53 4c 49 53 54 5f 48 45 41 44 45 52 5f 0d 0a  _SLIST_HEADER_..
21030 2f 2f 20 23 64 65 66 69 6e 65 20 5f 53 4c 49 53  // #define _SLIS
21040 54 5f 48 45 41 44 45 52 5f 0d 0a 0d 0a 61 6c 69  T_HEADER_....ali
21050 61 73 20 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45  as SINGLE_LIST_E
21060 4e 54 52 59 20 53 4c 49 53 54 5f 45 4e 54 52 59  NTRY SLIST_ENTRY
21070 3b 0d 0a 61 6c 69 61 73 20 5f 53 49 4e 47 4c 45  ;..alias _SINGLE
21080 5f 4c 49 53 54 5f 45 4e 54 52 59 20 5f 53 4c 49  _LIST_ENTRY _SLI
21090 53 54 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73  ST_ENTRY;..alias
210a0 20 50 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e   PSINGLE_LIST_EN
210b0 54 52 59 20 50 53 4c 49 53 54 5f 45 4e 54 52 59  TRY PSLIST_ENTRY
210c0 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  ;....// #if defi
210d0 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a 0d 0a 2f  ned(_WIN64)..../
210e0 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
210f0 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 0d 0a 75  ...// #else....u
21100 6e 69 6f 6e 20 5f 53 4c 49 53 54 5f 48 45 41 44  nion _SLIST_HEAD
21110 45 52 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  ER {..  ULONGLON
21120 47 20 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 73 74  G Alignment;..st
21130 72 75 63 74 20 7b 0d 0a 20 20 53 4c 49 53 54 5f  ruct {..  SLIST_
21140 45 4e 54 52 59 20 4e 65 78 74 3b 0d 0a 20 20 57  ENTRY Next;..  W
21150 4f 52 44 20 44 65 70 74 68 3b 0d 0a 20 20 57 4f  ORD Depth;..  WO
21160 52 44 20 53 65 71 75 65 6e 63 65 3b 0d 0a 7d 0d  RD Sequence;..}.
21170 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 4c 49  ...}..alias _SLI
21180 53 54 5f 48 45 41 44 45 52 20 53 4c 49 53 54 5f  ST_HEADER SLIST_
21190 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f  HEADER;..alias _
211a0 53 4c 49 53 54 5f 48 45 41 44 45 52 2a 20 50 53  SLIST_HEADER* PS
211b0 4c 49 53 54 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a  LIST_HEADER;....
211c0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
211d0 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e  #endif....extern
211e0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
211f0 20 56 4f 49 44 20 52 74 6c 49 6e 69 74 69 61 6c   VOID RtlInitial
21200 69 7a 65 53 4c 69 73 74 48 65 61 64 28 0d 0a 20  izeSListHead(.. 
21210 20 50 53 4c 49 53 54 5f 48 45 41 44 45 52 20 4c   PSLIST_HEADER L
21220 69 73 74 48 65 61 64 29 3b 0d 0a 0d 0a 65 78 74  istHead);....ext
21230 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21240 6f 72 74 20 50 53 4c 49 53 54 5f 45 4e 54 52 59  ort PSLIST_ENTRY
21250 20 52 74 6c 46 69 72 73 74 45 6e 74 72 79 53 4c   RtlFirstEntrySL
21260 69 73 74 28 0d 0a 20 20 53 4c 49 53 54 5f 48 45  ist(..  SLIST_HE
21270 41 44 45 52 20 2a 4c 69 73 74 48 65 61 64 29 3b  ADER *ListHead);
21280 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
21290 77 73 29 20 65 78 70 6f 72 74 20 50 53 4c 49 53  ws) export PSLIS
212a0 54 5f 45 4e 54 52 59 20 52 74 6c 49 6e 74 65 72  T_ENTRY RtlInter
212b0 6c 6f 63 6b 65 64 50 6f 70 45 6e 74 72 79 53 4c  lockedPopEntrySL
212c0 69 73 74 28 0d 0a 20 20 50 53 4c 49 53 54 5f 48  ist(..  PSLIST_H
212d0 45 41 44 45 52 20 4c 69 73 74 48 65 61 64 29 3b  EADER ListHead);
212e0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
212f0 77 73 29 20 65 78 70 6f 72 74 20 50 53 4c 49 53  ws) export PSLIS
21300 54 5f 45 4e 54 52 59 20 52 74 6c 49 6e 74 65 72  T_ENTRY RtlInter
21310 6c 6f 63 6b 65 64 50 75 73 68 45 6e 74 72 79 53  lockedPushEntryS
21320 4c 69 73 74 28 0d 0a 20 20 50 53 4c 49 53 54 5f  List(..  PSLIST_
21330 48 45 41 44 45 52 20 4c 69 73 74 48 65 61 64 2c  HEADER ListHead,
21340 0d 0a 20 20 50 53 4c 49 53 54 5f 45 4e 54 52 59  ..  PSLIST_ENTRY
21350 20 4c 69 73 74 45 6e 74 72 79 29 3b 0d 0a 0d 0a   ListEntry);....
21360 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21370 65 78 70 6f 72 74 20 50 53 4c 49 53 54 5f 45 4e  export PSLIST_EN
21380 54 52 59 20 52 74 6c 49 6e 74 65 72 6c 6f 63 6b  TRY RtlInterlock
21390 65 64 46 6c 75 73 68 53 4c 69 73 74 28 0d 0a 20  edFlushSList(.. 
213a0 20 50 53 4c 49 53 54 5f 48 45 41 44 45 52 20 4c   PSLIST_HEADER L
213b0 69 73 74 48 65 61 64 29 3b 0d 0a 0d 0a 65 78 74  istHead);....ext
213c0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
213d0 6f 72 74 20 57 4f 52 44 20 52 74 6c 51 75 65 72  ort WORD RtlQuer
213e0 79 44 65 70 74 68 53 4c 69 73 74 28 0d 0a 20 20  yDepthSList(..  
213f0 50 53 4c 49 53 54 5f 48 45 41 44 45 52 20 4c 69  PSLIST_HEADER Li
21400 73 74 48 65 61 64 29 3b 0d 0a 0d 0a 65 6e 75 6d  stHead);....enum
21410 20 3a 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 4e   : uint { HEAP_N
21420 4f 5f 53 45 52 49 41 4c 49 5a 45 20 3d 20 30 78  O_SERIALIZE = 0x
21430 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
21440 20 3a 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 47   : uint { HEAP_G
21450 52 4f 57 41 42 4c 45 20 3d 20 30 78 30 30 30 30  ROWABLE = 0x0000
21460 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
21470 69 6e 74 20 7b 20 48 45 41 50 5f 47 45 4e 45 52  int { HEAP_GENER
21480 41 54 45 5f 45 58 43 45 50 54 49 4f 4e 53 20 3d  ATE_EXCEPTIONS =
21490 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
214a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 41  num : uint { HEA
214b0 50 5f 5a 45 52 4f 5f 4d 45 4d 4f 52 59 20 3d 20  P_ZERO_MEMORY = 
214c0 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
214d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 41 50  um : uint { HEAP
214e0 5f 52 45 41 4c 4c 4f 43 5f 49 4e 5f 50 4c 41 43  _REALLOC_IN_PLAC
214f0 45 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30  E_ONLY = 0x00000
21500 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
21510 6e 74 20 7b 20 48 45 41 50 5f 54 41 49 4c 5f 43  nt { HEAP_TAIL_C
21520 48 45 43 4b 49 4e 47 5f 45 4e 41 42 4c 45 44 20  HECKING_ENABLED 
21530 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
21540 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45  enum : uint { HE
21550 41 50 5f 46 52 45 45 5f 43 48 45 43 4b 49 4e 47  AP_FREE_CHECKING
21560 5f 45 4e 41 42 4c 45 44 20 3d 20 30 78 30 30 30  _ENABLED = 0x000
21570 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00040 }..enum : 
21580 75 69 6e 74 20 7b 20 48 45 41 50 5f 44 49 53 41  uint { HEAP_DISA
21590 42 4c 45 5f 43 4f 41 4c 45 53 43 45 5f 4f 4e 5f  BLE_COALESCE_ON_
215a0 46 52 45 45 20 3d 20 30 78 30 30 30 30 30 30 38  FREE = 0x0000008
215b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
215c0 20 7b 20 48 45 41 50 5f 43 52 45 41 54 45 5f 41   { HEAP_CREATE_A
215d0 4c 49 47 4e 5f 31 36 20 3d 20 30 78 30 30 30 31  LIGN_16 = 0x0001
215e0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
215f0 69 6e 74 20 7b 20 48 45 41 50 5f 43 52 45 41 54  int { HEAP_CREAT
21600 45 5f 45 4e 41 42 4c 45 5f 54 52 41 43 49 4e 47  E_ENABLE_TRACING
21610 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d   = 0x00020000 }.
21620 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
21630 45 41 50 5f 4d 41 58 49 4d 55 4d 5f 54 41 47 20  EAP_MAXIMUM_TAG 
21640 3d 20 30 78 30 46 46 46 20 7d 0d 0a 65 6e 75 6d  = 0x0FFF }..enum
21650 20 3a 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 50   : uint { HEAP_P
21660 53 45 55 44 4f 5f 54 41 47 5f 46 4c 41 47 20 3d  SEUDO_TAG_FLAG =
21670 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x8000 }..enum 
21680 3a 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 54 41  : uint { HEAP_TA
21690 47 5f 53 48 49 46 54 20 3d 20 31 38 20 7d 0d 0a  G_SHIFT = 18 }..
216a0 75 69 6e 74 20 48 45 41 50 5f 4d 41 4b 45 5f 54  uint HEAP_MAKE_T
216b0 41 47 5f 46 4c 41 47 53 28 75 69 6e 74 20 62 2c  AG_FLAGS(uint b,
216c0 20 75 69 6e 74 20 6f 29 7b 20 72 65 74 75 72 6e   uint o){ return
216d0 20 62 20 2b 20 28 6f 20 3c 3c 20 31 38 29 3b 20   b + (o << 18); 
216e0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
216f0 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f   { IS_TEXT_UNICO
21700 44 45 5f 41 53 43 49 49 31 36 20 3d 20 30 78 30  DE_ASCII16 = 0x0
21710 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
21720 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49  nt { IS_TEXT_UNI
21730 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 41 53 43  CODE_REVERSE_ASC
21740 49 49 31 36 20 3d 20 30 78 30 30 31 30 20 7d 0d  II16 = 0x0010 }.
21750 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
21760 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45   IS_TEXT_UNICODE
21770 5f 53 54 41 54 49 53 54 49 43 53 20 3d 20 30 78  _STATISTICS = 0x
21780 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
21790 69 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e  int { IS_TEXT_UN
217a0 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 53 54  ICODE_REVERSE_ST
217b0 41 54 49 53 54 49 43 53 20 3d 20 30 78 30 30 32  ATISTICS = 0x002
217c0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
217d0 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49  nt { IS_TEXT_UNI
217e0 43 4f 44 45 5f 43 4f 4e 54 52 4f 4c 53 20 3d 20  CODE_CONTROLS = 
217f0 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
21800 20 75 69 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f   uint { IS_TEXT_
21810 55 4e 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f  UNICODE_REVERSE_
21820 43 4f 4e 54 52 4f 4c 53 20 3d 20 30 78 30 30 34  CONTROLS = 0x004
21830 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
21840 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49  nt { IS_TEXT_UNI
21850 43 4f 44 45 5f 53 49 47 4e 41 54 55 52 45 20 3d  CODE_SIGNATURE =
21860 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
21870 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54 45 58 54  : uint { IS_TEXT
21880 5f 55 4e 49 43 4f 44 45 5f 52 45 56 45 52 53 45  _UNICODE_REVERSE
21890 5f 53 49 47 4e 41 54 55 52 45 20 3d 20 30 78 30  _SIGNATURE = 0x0
218a0 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  080 }....enum : 
218b0 75 69 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55  uint { IS_TEXT_U
218c0 4e 49 43 4f 44 45 5f 49 4c 4c 45 47 41 4c 5f 43  NICODE_ILLEGAL_C
218d0 48 41 52 53 20 3d 20 30 78 30 31 30 30 20 7d 0d  HARS = 0x0100 }.
218e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
218f0 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 4f  S_TEXT_UNICODE_O
21900 44 44 5f 4c 45 4e 47 54 48 20 3d 20 30 78 30 32  DD_LENGTH = 0x02
21910 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
21920 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43  t { IS_TEXT_UNIC
21930 4f 44 45 5f 44 42 43 53 5f 4c 45 41 44 42 59 54  ODE_DBCS_LEADBYT
21940 45 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e  E = 0x0400 }..en
21950 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54  um : uint { IS_T
21960 45 58 54 5f 55 4e 49 43 4f 44 45 5f 4e 55 4c 4c  EXT_UNICODE_NULL
21970 5f 42 59 54 45 53 20 3d 20 30 78 31 30 30 30 20  _BYTES = 0x1000 
21980 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
21990 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f   { IS_TEXT_UNICO
219a0 44 45 5f 55 4e 49 43 4f 44 45 5f 4d 41 53 4b 20  DE_UNICODE_MASK 
219b0 3d 20 30 78 30 30 30 46 20 7d 0d 0a 65 6e 75 6d  = 0x000F }..enum
219c0 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54 45 58   : uint { IS_TEX
219d0 54 5f 55 4e 49 43 4f 44 45 5f 52 45 56 45 52 53  T_UNICODE_REVERS
219e0 45 5f 4d 41 53 4b 20 3d 20 30 78 30 30 46 30 20  E_MASK = 0x00F0 
219f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21a00 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45   IS_TEXT_UNICODE
21a10 5f 4e 4f 54 5f 55 4e 49 43 4f 44 45 5f 4d 41 53  _NOT_UNICODE_MAS
21a20 4b 20 3d 20 30 78 30 46 30 30 20 7d 0d 0a 65 6e  K = 0x0F00 }..en
21a30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54  um : uint { IS_T
21a40 45 58 54 5f 55 4e 49 43 4f 44 45 5f 4e 4f 54 5f  EXT_UNICODE_NOT_
21a50 41 53 43 49 49 5f 4d 41 53 4b 20 3d 20 30 78 46  ASCII_MASK = 0xF
21a60 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
21a70 75 69 6e 74 20 7b 20 43 4f 4d 50 52 45 53 53 49  uint { COMPRESSI
21a80 4f 4e 5f 46 4f 52 4d 41 54 5f 4e 4f 4e 45 20 3d  ON_FORMAT_NONE =
21a90 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
21aa0 3a 20 75 69 6e 74 20 7b 20 43 4f 4d 50 52 45 53  : uint { COMPRES
21ab0 53 49 4f 4e 5f 46 4f 52 4d 41 54 5f 44 45 46 41  SION_FORMAT_DEFA
21ac0 55 4c 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  ULT = 0x0001 }..
21ad0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
21ae0 4d 50 52 45 53 53 49 4f 4e 5f 46 4f 52 4d 41 54  MPRESSION_FORMAT
21af0 5f 4c 5a 4e 54 31 20 3d 20 30 78 30 30 30 32 20  _LZNT1 = 0x0002 
21b00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21b10 20 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 45 4e 47   COMPRESSION_ENG
21b20 49 4e 45 5f 53 54 41 4e 44 41 52 44 20 3d 20 30  INE_STANDARD = 0
21b30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
21b40 75 69 6e 74 20 7b 20 43 4f 4d 50 52 45 53 53 49  uint { COMPRESSI
21b50 4f 4e 5f 45 4e 47 49 4e 45 5f 4d 41 58 49 4d 55  ON_ENGINE_MAXIMU
21b60 4d 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e  M = 0x0100 }..en
21b70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4d 50  um : uint { COMP
21b80 52 45 53 53 49 4f 4e 5f 45 4e 47 49 4e 45 5f 48  RESSION_ENGINE_H
21b90 49 42 45 52 20 3d 20 30 78 30 32 30 30 20 7d 0d  IBER = 0x0200 }.
21ba0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
21bb0 73 29 20 65 78 70 6f 72 74 20 53 49 5a 45 5f 54  s) export SIZE_T
21bc0 20 52 74 6c 43 6f 6d 70 61 72 65 4d 65 6d 6f 72   RtlCompareMemor
21bd0 79 28 0d 0a 20 20 56 4f 49 44 20 2a 53 6f 75 72  y(..  VOID *Sour
21be0 63 65 31 2c 0d 0a 20 20 56 4f 49 44 20 2a 53 6f  ce1,..  VOID *So
21bf0 75 72 63 65 32 2c 0d 0a 20 20 53 49 5a 45 5f 54  urce2,..  SIZE_T
21c00 20 4c 65 6e 67 74 68 29 3b 0d 0a 0d 0a 2f 2f 20   Length);....// 
21c10 23 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 41  #if defined(_M_A
21c20 4d 44 36 34 29 20 7c 7c 20 64 65 66 69 6e 65 64  MD64) || defined
21c30 28 5f 4d 5f 49 41 36 34 29 0d 0a 0d 0a 2f 2f 20  (_M_IA64)....// 
21c40 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  #.....// .......
21c50 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  // .......// #if
21c60 20 21 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4d 44   !defined(_M_AMD
21c70 36 34 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  64)....// ......
21c80 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
21c90 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
21ca0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
21cb0 65 6c 73 65 0d 0a 0d 0a 62 69 74 20 52 74 6c 45  else....bit RtlE
21cc0 71 75 61 6c 4d 65 6d 6f 72 79 28 76 6f 69 64 2a  qualMemory(void*
21cd0 20 78 2c 20 76 6f 69 64 2a 20 79 2c 20 75 69 6e   x, void* y, uin
21ce0 74 20 6c 65 6e 29 7b 20 72 65 74 75 72 6e 20 6d  t len){ return m
21cf0 65 6d 63 6d 70 28 78 2c 20 79 2c 20 6c 65 6e 29  emcmp(x, y, len)
21d00 20 3d 3d 20 30 3b 20 7d 0d 0a 76 6f 69 64 20 52   == 0; }..void R
21d10 74 6c 4d 6f 76 65 4d 65 6d 6f 72 79 28 76 6f 69  tlMoveMemory(voi
21d20 64 2a 20 64 2c 20 76 6f 69 64 2a 20 73 2c 20 75  d* d, void* s, u
21d30 69 6e 74 20 6c 65 6e 29 7b 20 6d 65 6d 6d 6f 76  int len){ memmov
21d40 65 28 64 2c 20 73 2c 20 6c 65 6e 29 3b 20 7d 0d  e(d, s, len); }.
21d50 0a 76 6f 69 64 20 52 74 6c 43 6f 70 79 4d 65 6d  .void RtlCopyMem
21d60 6f 72 79 28 76 6f 69 64 2a 20 64 2c 20 76 6f 69  ory(void* d, voi
21d70 64 2a 20 73 2c 20 75 69 6e 74 20 6c 65 6e 29 7b  d* s, uint len){
21d80 20 6d 65 6d 63 70 79 28 64 2c 20 73 2c 20 6c 65   memcpy(d, s, le
21d90 6e 29 3b 20 7d 0d 0a 76 6f 69 64 20 52 74 6c 46  n); }..void RtlF
21da0 69 6c 6c 4d 65 6d 6f 72 79 28 76 6f 69 64 2a 20  illMemory(void* 
21db0 64 2c 20 75 69 6e 74 20 6c 65 6e 2c 20 75 62 79  d, uint len, uby
21dc0 74 65 20 66 29 7b 20 6d 65 6d 73 65 74 28 64 2c  te f){ memset(d,
21dd0 20 66 2c 20 6c 65 6e 29 3b 20 7d 0d 0a 76 6f 69   f, len); }..voi
21de0 64 20 52 74 6c 5a 65 72 6f 4d 65 6d 6f 72 79 28  d RtlZeroMemory(
21df0 76 6f 69 64 2a 20 64 2c 20 75 69 6e 74 20 6c 65  void* d, uint le
21e00 6e 29 7b 20 6d 65 6d 73 65 74 28 64 2c 20 30 2c  n){ memset(d, 0,
21e10 20 6c 65 6e 29 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23   len); }....// #
21e20 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
21e30 5f 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43  _MESSAGE_RESOURC
21e40 45 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 57 4f 52  E_ENTRY {..  WOR
21e50 44 20 4c 65 6e 67 74 68 3b 0d 0a 20 20 57 4f 52  D Length;..  WOR
21e60 44 20 46 6c 61 67 73 3b 0d 0a 20 20 42 59 54 45  D Flags;..  BYTE
21e70 20 54 65 78 74 5b 20 31 20 5d 3b 0d 0a 7d 0d 0a   Text[ 1 ];..}..
21e80 61 6c 69 61 73 20 5f 4d 45 53 53 41 47 45 5f 52  alias _MESSAGE_R
21e90 45 53 4f 55 52 43 45 5f 45 4e 54 52 59 20 4d 45  ESOURCE_ENTRY ME
21ea0 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 45  SSAGE_RESOURCE_E
21eb0 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 4d 45  NTRY;..alias _ME
21ec0 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 45  SSAGE_RESOURCE_E
21ed0 4e 54 52 59 2a 20 50 4d 45 53 53 41 47 45 5f 52  NTRY* PMESSAGE_R
21ee0 45 53 4f 55 52 43 45 5f 45 4e 54 52 59 3b 0d 0a  ESOURCE_ENTRY;..
21ef0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21f00 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45  MESSAGE_RESOURCE
21f10 5f 55 4e 49 43 4f 44 45 20 3d 20 30 78 30 30 30  _UNICODE = 0x000
21f20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d  1 }....struct _M
21f30 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  ESSAGE_RESOURCE_
21f40 42 4c 4f 43 4b 20 7b 0d 0a 20 20 44 57 4f 52 44  BLOCK {..  DWORD
21f50 20 4c 6f 77 49 64 3b 0d 0a 20 20 44 57 4f 52 44   LowId;..  DWORD
21f60 20 48 69 67 68 49 64 3b 0d 0a 20 20 44 57 4f 52   HighId;..  DWOR
21f70 44 20 4f 66 66 73 65 74 54 6f 45 6e 74 72 69 65  D OffsetToEntrie
21f80 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 45  s;..}..alias _ME
21f90 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42  SSAGE_RESOURCE_B
21fa0 4c 4f 43 4b 20 4d 45 53 53 41 47 45 5f 52 45 53  LOCK MESSAGE_RES
21fb0 4f 55 52 43 45 5f 42 4c 4f 43 4b 3b 0d 0a 61 6c  OURCE_BLOCK;..al
21fc0 69 61 73 20 5f 4d 45 53 53 41 47 45 5f 52 45 53  ias _MESSAGE_RES
21fd0 4f 55 52 43 45 5f 42 4c 4f 43 4b 2a 20 50 4d 45  OURCE_BLOCK* PME
21fe0 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42  SSAGE_RESOURCE_B
21ff0 4c 4f 43 4b 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  LOCK;....struct 
22000 5f 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43  _MESSAGE_RESOURC
22010 45 5f 44 41 54 41 20 7b 0d 0a 20 20 44 57 4f 52  E_DATA {..  DWOR
22020 44 20 4e 75 6d 62 65 72 4f 66 42 6c 6f 63 6b 73  D NumberOfBlocks
22030 3b 0d 0a 20 20 4d 45 53 53 41 47 45 5f 52 45 53  ;..  MESSAGE_RES
22040 4f 55 52 43 45 5f 42 4c 4f 43 4b 20 42 6c 6f 63  OURCE_BLOCK Bloc
22050 6b 73 5b 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69  ks[ 1 ];..}..ali
22060 61 73 20 5f 4d 45 53 53 41 47 45 5f 52 45 53 4f  as _MESSAGE_RESO
22070 55 52 43 45 5f 44 41 54 41 20 4d 45 53 53 41 47  URCE_DATA MESSAG
22080 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41 3b  E_RESOURCE_DATA;
22090 0d 0a 61 6c 69 61 73 20 5f 4d 45 53 53 41 47 45  ..alias _MESSAGE
220a0 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41 2a 20  _RESOURCE_DATA* 
220b0 50 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43  PMESSAGE_RESOURC
220c0 45 5f 44 41 54 41 3b 0d 0a 0d 0a 73 74 72 75 63  E_DATA;....struc
220d0 74 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  t _OSVERSIONINFO
220e0 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4f  A {..  DWORD dwO
220f0 53 56 65 72 73 69 6f 6e 49 6e 66 6f 53 69 7a 65  SVersionInfoSize
22100 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 6a  ;..  DWORD dwMaj
22110 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  orVersion;..  DW
22120 4f 52 44 20 64 77 4d 69 6e 6f 72 56 65 72 73 69  ORD dwMinorVersi
22130 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 42  on;..  DWORD dwB
22140 75 69 6c 64 4e 75 6d 62 65 72 3b 0d 0a 20 20 44  uildNumber;..  D
22150 57 4f 52 44 20 64 77 50 6c 61 74 66 6f 72 6d 49  WORD dwPlatformI
22160 64 3b 0d 0a 20 20 43 48 41 52 20 73 7a 43 53 44  d;..  CHAR szCSD
22170 56 65 72 73 69 6f 6e 5b 20 31 32 38 20 5d 3b 0d  Version[ 128 ];.
22180 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  .}..alias _OSVER
22190 53 49 4f 4e 49 4e 46 4f 41 20 4f 53 56 45 52 53  SIONINFOA OSVERS
221a0 49 4f 4e 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73  IONINFOA;..alias
221b0 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41   _OSVERSIONINFOA
221c0 2a 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  * POSVERSIONINFO
221d0 41 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  A;..alias _OSVER
221e0 53 49 4f 4e 49 4e 46 4f 41 2a 20 4c 50 4f 53 56  SIONINFOA* LPOSV
221f0 45 52 53 49 4f 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a  ERSIONINFOA;....
22200 73 74 72 75 63 74 20 5f 4f 53 56 45 52 53 49 4f  struct _OSVERSIO
22210 4e 49 4e 46 4f 57 20 7b 0d 0a 20 20 44 57 4f 52  NINFOW {..  DWOR
22220 44 20 64 77 4f 53 56 65 72 73 69 6f 6e 49 6e 66  D dwOSVersionInf
22230 6f 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  oSize;..  DWORD 
22240 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d  dwMajorVersion;.
22250 0a 20 20 44 57 4f 52 44 20 64 77 4d 69 6e 6f 72  .  DWORD dwMinor
22260 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52  Version;..  DWOR
22270 44 20 64 77 42 75 69 6c 64 4e 75 6d 62 65 72 3b  D dwBuildNumber;
22280 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 6c 61 74  ..  DWORD dwPlat
22290 66 6f 72 6d 49 64 3b 0d 0a 20 20 57 43 48 41 52  formId;..  WCHAR
222a0 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 5b 20 31   szCSDVersion[ 1
222b0 32 38 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  28 ];..}..alias 
222c0 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57 20  _OSVERSIONINFOW 
222d0 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57 3b 0d  OSVERSIONINFOW;.
222e0 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52 53 49 4f  .alias _OSVERSIO
222f0 4e 49 4e 46 4f 57 2a 20 50 4f 53 56 45 52 53 49  NINFOW* POSVERSI
22300 4f 4e 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  ONINFOW;..alias 
22310 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57 2a  _OSVERSIONINFOW*
22320 20 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f   LPOSVERSIONINFO
22330 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  W;..alias _OSVER
22340 53 49 4f 4e 49 4e 46 4f 57 20 52 54 4c 5f 4f 53  SIONINFOW RTL_OS
22350 56 45 52 53 49 4f 4e 49 4e 46 4f 57 3b 0d 0a 61  VERSIONINFOW;..a
22360 6c 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49  lias _OSVERSIONI
22370 4e 46 4f 57 2a 20 50 52 54 4c 5f 4f 53 56 45 52  NFOW* PRTL_OSVER
22380 53 49 4f 4e 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f  SIONINFOW;....//
22390 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
223a0 0a 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e  .alias OSVERSION
223b0 49 4e 46 4f 57 20 4f 53 56 45 52 53 49 4f 4e 49  INFOW OSVERSIONI
223c0 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 50 4f 53 56  NFO;..alias POSV
223d0 45 52 53 49 4f 4e 49 4e 46 4f 57 20 50 4f 53 56  ERSIONINFOW POSV
223e0 45 52 53 49 4f 4e 49 4e 46 4f 3b 0d 0a 61 6c 69  ERSIONINFO;..ali
223f0 61 73 20 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e  as LPOSVERSIONIN
22400 46 4f 57 20 4c 50 4f 53 56 45 52 53 49 4f 4e 49  FOW LPOSVERSIONI
22410 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  NFO;..// #else..
22420 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
22430 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
22440 73 74 72 75 63 74 20 5f 4f 53 56 45 52 53 49 4f  struct _OSVERSIO
22450 4e 49 4e 46 4f 45 58 41 20 7b 0d 0a 20 20 44 57  NINFOEXA {..  DW
22460 4f 52 44 20 64 77 4f 53 56 65 72 73 69 6f 6e 49  ORD dwOSVersionI
22470 6e 66 6f 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52  nfoSize;..  DWOR
22480 44 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f 6e  D dwMajorVersion
22490 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 69 6e  ;..  DWORD dwMin
224a0 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  orVersion;..  DW
224b0 4f 52 44 20 64 77 42 75 69 6c 64 4e 75 6d 62 65  ORD dwBuildNumbe
224c0 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 6c  r;..  DWORD dwPl
224d0 61 74 66 6f 72 6d 49 64 3b 0d 0a 20 20 43 48 41  atformId;..  CHA
224e0 52 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 5b 20  R szCSDVersion[ 
224f0 31 32 38 20 5d 3b 0d 0a 20 20 57 4f 52 44 20 77  128 ];..  WORD w
22500 53 65 72 76 69 63 65 50 61 63 6b 4d 61 6a 6f 72  ServicePackMajor
22510 3b 0d 0a 20 20 57 4f 52 44 20 77 53 65 72 76 69  ;..  WORD wServi
22520 63 65 50 61 63 6b 4d 69 6e 6f 72 3b 0d 0a 20 20  cePackMinor;..  
22530 57 4f 52 44 20 77 53 75 69 74 65 4d 61 73 6b 3b  WORD wSuiteMask;
22540 0d 0a 20 20 42 59 54 45 20 77 50 72 6f 64 75 63  ..  BYTE wProduc
22550 74 54 79 70 65 3b 0d 0a 20 20 42 59 54 45 20 77  tType;..  BYTE w
22560 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c  Reserved;..}..al
22570 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e  ias _OSVERSIONIN
22580 46 4f 45 58 41 20 4f 53 56 45 52 53 49 4f 4e 49  FOEXA OSVERSIONI
22590 4e 46 4f 45 58 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFOEXA;..alias _
225a0 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 41  OSVERSIONINFOEXA
225b0 2a 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  * POSVERSIONINFO
225c0 45 58 41 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56  EXA;..alias _OSV
225d0 45 52 53 49 4f 4e 49 4e 46 4f 45 58 41 2a 20 4c  ERSIONINFOEXA* L
225e0 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58  POSVERSIONINFOEX
225f0 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4f 53  A;....struct _OS
22600 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57 20 7b  VERSIONINFOEXW {
22610 0d 0a 20 20 44 57 4f 52 44 20 64 77 4f 53 56 65  ..  DWORD dwOSVe
22620 72 73 69 6f 6e 49 6e 66 6f 53 69 7a 65 3b 0d 0a  rsionInfoSize;..
22630 20 20 44 57 4f 52 44 20 64 77 4d 61 6a 6f 72 56    DWORD dwMajorV
22640 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44  ersion;..  DWORD
22650 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b   dwMinorVersion;
22660 0d 0a 20 20 44 57 4f 52 44 20 64 77 42 75 69 6c  ..  DWORD dwBuil
22670 64 4e 75 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52  dNumber;..  DWOR
22680 44 20 64 77 50 6c 61 74 66 6f 72 6d 49 64 3b 0d  D dwPlatformId;.
22690 0a 20 20 57 43 48 41 52 20 73 7a 43 53 44 56 65  .  WCHAR szCSDVe
226a0 72 73 69 6f 6e 5b 20 31 32 38 20 5d 3b 0d 0a 20  rsion[ 128 ];.. 
226b0 20 57 4f 52 44 20 77 53 65 72 76 69 63 65 50 61   WORD wServicePa
226c0 63 6b 4d 61 6a 6f 72 3b 0d 0a 20 20 57 4f 52 44  ckMajor;..  WORD
226d0 20 77 53 65 72 76 69 63 65 50 61 63 6b 4d 69 6e   wServicePackMin
226e0 6f 72 3b 0d 0a 20 20 57 4f 52 44 20 77 53 75 69  or;..  WORD wSui
226f0 74 65 4d 61 73 6b 3b 0d 0a 20 20 42 59 54 45 20  teMask;..  BYTE 
22700 77 50 72 6f 64 75 63 74 54 79 70 65 3b 0d 0a 20  wProductType;.. 
22710 20 42 59 54 45 20 77 52 65 73 65 72 76 65 64 3b   BYTE wReserved;
22720 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45  ..}..alias _OSVE
22730 52 53 49 4f 4e 49 4e 46 4f 45 58 57 20 4f 53 56  RSIONINFOEXW OSV
22740 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57 3b 0d 0a  ERSIONINFOEXW;..
22750 61 6c 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e  alias _OSVERSION
22760 49 4e 46 4f 45 58 57 2a 20 50 4f 53 56 45 52 53  INFOEXW* POSVERS
22770 49 4f 4e 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c 69  IONINFOEXW;..ali
22780 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46  as _OSVERSIONINF
22790 4f 45 58 57 2a 20 4c 50 4f 53 56 45 52 53 49 4f  OEXW* LPOSVERSIO
227a0 4e 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c 69 61 73  NINFOEXW;..alias
227b0 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45   _OSVERSIONINFOE
227c0 58 57 20 52 54 4c 5f 4f 53 56 45 52 53 49 4f 4e  XW RTL_OSVERSION
227d0 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c 69 61 73 20  INFOEXW;..alias 
227e0 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58  _OSVERSIONINFOEX
227f0 57 2a 20 50 52 54 4c 5f 4f 53 56 45 52 53 49 4f  W* PRTL_OSVERSIO
22800 4e 49 4e 46 4f 45 58 57 3b 0d 0a 0d 0a 2f 2f 20  NINFOEXW;....// 
22810 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
22820 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e 49  alias OSVERSIONI
22830 4e 46 4f 45 58 57 20 4f 53 56 45 52 53 49 4f 4e  NFOEXW OSVERSION
22840 49 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61 73 20 50  INFOEX;..alias P
22850 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57  OSVERSIONINFOEXW
22860 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45   POSVERSIONINFOE
22870 58 3b 0d 0a 61 6c 69 61 73 20 4c 50 4f 53 56 45  X;..alias LPOSVE
22880 52 53 49 4f 4e 49 4e 46 4f 45 58 57 20 4c 50 4f  RSIONINFOEXW LPO
22890 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0d  SVERSIONINFOEX;.
228a0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
228b0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
228c0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
228d0 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 45 51 55  : uint { VER_EQU
228e0 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  AL = 1 }..enum :
228f0 20 75 69 6e 74 20 7b 20 56 45 52 5f 47 52 45 41   uint { VER_GREA
22900 54 45 52 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  TER = 2 }..enum 
22910 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 47 52 45  : uint { VER_GRE
22920 41 54 45 52 5f 45 51 55 41 4c 20 3d 20 33 20 7d  ATER_EQUAL = 3 }
22930 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22940 56 45 52 5f 4c 45 53 53 20 3d 20 34 20 7d 0d 0a  VER_LESS = 4 }..
22950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45  enum : uint { VE
22960 52 5f 4c 45 53 53 5f 45 51 55 41 4c 20 3d 20 35  R_LESS_EQUAL = 5
22970 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22980 7b 20 56 45 52 5f 41 4e 44 20 3d 20 36 20 7d 0d  { VER_AND = 6 }.
22990 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
229a0 45 52 5f 4f 52 20 3d 20 37 20 7d 0d 0a 0d 0a 65  ER_OR = 7 }....e
229b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52  num : uint { VER
229c0 5f 43 4f 4e 44 49 54 49 4f 4e 5f 4d 41 53 4b 20  _CONDITION_MASK 
229d0 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 7 }..enum : ui
229e0 6e 74 20 7b 20 56 45 52 5f 4e 55 4d 5f 42 49 54  nt { VER_NUM_BIT
229f0 53 5f 50 45 52 5f 43 4f 4e 44 49 54 49 4f 4e 5f  S_PER_CONDITION_
22a00 4d 41 53 4b 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e  MASK = 3 }....en
22a10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
22a20 4d 49 4e 4f 52 56 45 52 53 49 4f 4e 20 3d 20 30  MINORVERSION = 0
22a30 78 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  x0000001 }..enum
22a40 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 4d 41   : uint { VER_MA
22a50 4a 4f 52 56 45 52 53 49 4f 4e 20 3d 20 30 78 30  JORVERSION = 0x0
22a60 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
22a70 20 75 69 6e 74 20 7b 20 56 45 52 5f 42 55 49 4c   uint { VER_BUIL
22a80 44 4e 55 4d 42 45 52 20 3d 20 30 78 30 30 30 30  DNUMBER = 0x0000
22a90 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
22aa0 6e 74 20 7b 20 56 45 52 5f 50 4c 41 54 46 4f 52  nt { VER_PLATFOR
22ab0 4d 49 44 20 3d 20 30 78 30 30 30 30 30 30 38 20  MID = 0x0000008 
22ac0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22ad0 20 56 45 52 5f 53 45 52 56 49 43 45 50 41 43 4b   VER_SERVICEPACK
22ae0 4d 49 4e 4f 52 20 3d 20 30 78 30 30 30 30 30 31  MINOR = 0x000001
22af0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
22b00 20 7b 20 56 45 52 5f 53 45 52 56 49 43 45 50 41   { VER_SERVICEPA
22b10 43 4b 4d 41 4a 4f 52 20 3d 20 30 78 30 30 30 30  CKMAJOR = 0x0000
22b20 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
22b30 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45 4e 41  nt { VER_SUITENA
22b40 4d 45 20 3d 20 30 78 30 30 30 30 30 34 30 20 7d  ME = 0x0000040 }
22b50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22b60 56 45 52 5f 50 52 4f 44 55 43 54 5f 54 59 50 45  VER_PRODUCT_TYPE
22b70 20 3d 20 30 78 30 30 30 30 30 38 30 20 7d 0d 0a   = 0x0000080 }..
22b80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22b90 56 45 52 5f 4e 54 5f 57 4f 52 4b 53 54 41 54 49  VER_NT_WORKSTATI
22ba0 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 31 20 7d  ON = 0x0000001 }
22bb0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22bc0 56 45 52 5f 4e 54 5f 44 4f 4d 41 49 4e 5f 43 4f  VER_NT_DOMAIN_CO
22bd0 4e 54 52 4f 4c 4c 45 52 20 3d 20 30 78 30 30 30  NTROLLER = 0x000
22be0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
22bf0 69 6e 74 20 7b 20 56 45 52 5f 4e 54 5f 53 45 52  int { VER_NT_SER
22c00 56 45 52 20 3d 20 30 78 30 30 30 30 30 30 33 20  VER = 0x0000003 
22c10 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
22c20 20 7b 20 56 45 52 5f 50 4c 41 54 46 4f 52 4d 5f   { VER_PLATFORM_
22c30 57 49 4e 33 32 73 20 3d 20 30 20 7d 0d 0a 65 6e  WIN32s = 0 }..en
22c40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
22c50 50 4c 41 54 46 4f 52 4d 5f 57 49 4e 33 32 5f 57  PLATFORM_WIN32_W
22c60 49 4e 44 4f 57 53 20 3d 20 31 20 7d 0d 0a 65 6e  INDOWS = 1 }..en
22c70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
22c80 50 4c 41 54 46 4f 52 4d 5f 57 49 4e 33 32 5f 4e  PLATFORM_WIN32_N
22c90 54 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 64  T = 2 }....// #d
22ca0 65 66 69 6e 65 20 56 45 52 5f 53 45 54 5f 43 4f  efine VER_SET_CO
22cb0 4e 44 49 54 49 4f 4e 28 5f 6d 5f 2c 5f 74 5f 2c  NDITION(_m_,_t_,
22cc0 5f 63 5f 29 20 28 28 5f 6d 5f 29 3d 56 65 72 53  _c_) ((_m_)=VerS
22cd0 65 74 43 6f 6e 64 69 74 69 6f 6e 4d 61 73 6b 28  etConditionMask(
22ce0 28 5f 6d 5f 29 2c 28 5f 74 5f 29 2c 28 5f 63 5f  (_m_),(_t_),(_c_
22cf0 29 29 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  )))....extern(Wi
22d00 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 4c  ndows) export UL
22d10 4f 4e 47 4c 4f 4e 47 20 56 65 72 53 65 74 43 6f  ONGLONG VerSetCo
22d20 6e 64 69 74 69 6f 6e 4d 61 73 6b 28 0d 0a 20 20  nditionMask(..  
22d30 55 4c 4f 4e 47 4c 4f 4e 47 20 43 6f 6e 64 69 74  ULONGLONG Condit
22d40 69 6f 6e 4d 61 73 6b 2c 0d 0a 20 20 44 57 4f 52  ionMask,..  DWOR
22d50 44 20 54 79 70 65 4d 61 73 6b 2c 0d 0a 20 20 42  D TypeMask,..  B
22d60 59 54 45 20 43 6f 6e 64 69 74 69 6f 6e 29 3b 0d  YTE Condition);.
22d70 0a 0d 0a 73 74 72 75 63 74 20 5f 52 54 4c 5f 43  ...struct _RTL_C
22d80 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f  RITICAL_SECTION_
22d90 44 45 42 55 47 20 7b 0d 0a 20 20 57 4f 52 44 20  DEBUG {..  WORD 
22da0 54 79 70 65 3b 0d 0a 20 20 57 4f 52 44 20 43 72  Type;..  WORD Cr
22db0 65 61 74 6f 72 42 61 63 6b 54 72 61 63 65 49 6e  eatorBackTraceIn
22dc0 64 65 78 3b 0d 0a 20 20 5f 52 54 4c 5f 43 52 49  dex;..  _RTL_CRI
22dd0 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 20 2a 43  TICAL_SECTION *C
22de0 72 69 74 69 63 61 6c 53 65 63 74 69 6f 6e 3b 0d  riticalSection;.
22df0 0a 20 20 4c 49 53 54 5f 45 4e 54 52 59 20 50 72  .  LIST_ENTRY Pr
22e00 6f 63 65 73 73 4c 6f 63 6b 73 4c 69 73 74 3b 0d  ocessLocksList;.
22e10 0a 20 20 44 57 4f 52 44 20 45 6e 74 72 79 43 6f  .  DWORD EntryCo
22e20 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 43 6f  unt;..  DWORD Co
22e30 6e 74 65 6e 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a  ntentionCount;..
22e40 20 20 44 57 4f 52 44 20 53 70 61 72 65 5b 20 32    DWORD Spare[ 2
22e50 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52   ];..}..alias _R
22e60 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54  TL_CRITICAL_SECT
22e70 49 4f 4e 5f 44 45 42 55 47 20 52 54 4c 5f 43 52  ION_DEBUG RTL_CR
22e80 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44  ITICAL_SECTION_D
22e90 45 42 55 47 3b 0d 0a 61 6c 69 61 73 20 5f 52 54  EBUG;..alias _RT
22ea0 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49  L_CRITICAL_SECTI
22eb0 4f 4e 5f 44 45 42 55 47 2a 20 50 52 54 4c 5f 43  ON_DEBUG* PRTL_C
22ec0 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f  RITICAL_SECTION_
22ed0 44 45 42 55 47 3b 0d 0a 61 6c 69 61 73 20 5f 52  DEBUG;..alias _R
22ee0 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54  TL_CRITICAL_SECT
22ef0 49 4f 4e 5f 44 45 42 55 47 20 52 54 4c 5f 52 45  ION_DEBUG RTL_RE
22f00 53 4f 55 52 43 45 5f 44 45 42 55 47 3b 0d 0a 61  SOURCE_DEBUG;..a
22f10 6c 69 61 73 20 5f 52 54 4c 5f 43 52 49 54 49 43  lias _RTL_CRITIC
22f20 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47  AL_SECTION_DEBUG
22f30 2a 20 50 52 54 4c 5f 52 45 53 4f 55 52 43 45 5f  * PRTL_RESOURCE_
22f40 44 45 42 55 47 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  DEBUG;....enum :
22f50 20 75 69 6e 74 20 7b 20 52 54 4c 5f 43 52 49 54   uint { RTL_CRIT
22f60 53 45 43 54 5f 54 59 50 45 20 3d 20 30 20 7d 0d  SECT_TYPE = 0 }.
22f70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
22f80 54 4c 5f 52 45 53 4f 55 52 43 45 5f 54 59 50 45  TL_RESOURCE_TYPE
22f90 20 3d 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 1 }....struct
22fa0 20 5f 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53   _RTL_CRITICAL_S
22fb0 45 43 54 49 4f 4e 20 7b 0d 0a 20 20 50 52 54 4c  ECTION {..  PRTL
22fc0 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f  _CRITICAL_SECTIO
22fd0 4e 5f 44 45 42 55 47 20 44 65 62 75 67 49 6e 66  N_DEBUG DebugInf
22fe0 6f 3b 0d 0a 0d 0a 20 20 4c 4f 4e 47 20 4c 6f 63  o;....  LONG Loc
22ff0 6b 43 6f 75 6e 74 3b 0d 0a 20 20 4c 4f 4e 47 20  kCount;..  LONG 
23000 52 65 63 75 72 73 69 6f 6e 43 6f 75 6e 74 3b 0d  RecursionCount;.
23010 0a 20 20 48 41 4e 44 4c 45 20 4f 77 6e 69 6e 67  .  HANDLE Owning
23020 54 68 72 65 61 64 3b 0d 0a 20 20 48 41 4e 44 4c  Thread;..  HANDL
23030 45 20 4c 6f 63 6b 53 65 6d 61 70 68 6f 72 65 3b  E LockSemaphore;
23040 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 53 70  ..  ULONG_PTR Sp
23050 69 6e 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69  inCount;..}..ali
23060 61 73 20 5f 52 54 4c 5f 43 52 49 54 49 43 41 4c  as _RTL_CRITICAL
23070 5f 53 45 43 54 49 4f 4e 20 52 54 4c 5f 43 52 49  _SECTION RTL_CRI
23080 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 3b 0d 0a  TICAL_SECTION;..
23090 61 6c 69 61 73 20 5f 52 54 4c 5f 43 52 49 54 49  alias _RTL_CRITI
230a0 43 41 4c 5f 53 45 43 54 49 4f 4e 2a 20 50 52 54  CAL_SECTION* PRT
230b0 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49  L_CRITICAL_SECTI
230c0 4f 4e 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ON;....extern(Wi
230d0 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f 49  ndows) alias VOI
230e0 44 20 66 75 6e 63 74 69 6f 6e 28 20 50 57 53 54  D function( PWST
230f0 52 20 44 6c 6c 4e 61 6d 65 2c 20 50 56 4f 49 44  R DllName, PVOID
23100 20 44 6c 6c 42 61 73 65 2c 20 53 49 5a 45 5f 54   DllBase, SIZE_T
23110 20 44 6c 6c 53 69 7a 65 2c 20 50 56 4f 49 44 20   DllSize, PVOID 
23120 52 65 73 65 72 76 65 64 20 29 20 52 54 4c 5f 56  Reserved ) RTL_V
23130 45 52 49 46 49 45 52 5f 44 4c 4c 5f 4c 4f 41 44  ERIFIER_DLL_LOAD
23140 5f 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a 65 78  _CALLBACK;....ex
23150 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
23160 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74 69 6f  ias VOID functio
23170 6e 28 20 50 57 53 54 52 20 44 6c 6c 4e 61 6d 65  n( PWSTR DllName
23180 2c 20 50 56 4f 49 44 20 44 6c 6c 42 61 73 65 2c  , PVOID DllBase,
23190 20 53 49 5a 45 5f 54 20 44 6c 6c 53 69 7a 65 2c   SIZE_T DllSize,
231a0 20 50 56 4f 49 44 20 52 65 73 65 72 76 65 64 20   PVOID Reserved 
231b0 29 20 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 44  ) RTL_VERIFIER_D
231c0 4c 4c 5f 55 4e 4c 4f 41 44 5f 43 41 4c 4c 42 41  LL_UNLOAD_CALLBA
231d0 43 4b 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 52  CK;....struct _R
231e0 54 4c 5f 56 45 52 49 46 49 45 52 5f 54 48 55 4e  TL_VERIFIER_THUN
231f0 4b 5f 44 45 53 43 52 49 50 54 4f 52 20 7b 0d 0a  K_DESCRIPTOR {..
23200 0d 0a 20 20 50 43 48 41 52 20 54 68 75 6e 6b 4e  ..  PCHAR ThunkN
23210 61 6d 65 3b 0d 0a 20 20 50 56 4f 49 44 20 54 68  ame;..  PVOID Th
23220 75 6e 6b 4f 6c 64 41 64 64 72 65 73 73 3b 0d 0a  unkOldAddress;..
23230 20 20 50 56 4f 49 44 20 54 68 75 6e 6b 4e 65 77    PVOID ThunkNew
23240 41 64 64 72 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69  Address;..}..ali
23250 61 73 20 5f 52 54 4c 5f 56 45 52 49 46 49 45 52  as _RTL_VERIFIER
23260 5f 54 48 55 4e 4b 5f 44 45 53 43 52 49 50 54 4f  _THUNK_DESCRIPTO
23270 52 20 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 54  R RTL_VERIFIER_T
23280 48 55 4e 4b 5f 44 45 53 43 52 49 50 54 4f 52 3b  HUNK_DESCRIPTOR;
23290 0d 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 56 45 52  ..alias _RTL_VER
232a0 49 46 49 45 52 5f 54 48 55 4e 4b 5f 44 45 53 43  IFIER_THUNK_DESC
232b0 52 49 50 54 4f 52 2a 20 50 52 54 4c 5f 56 45 52  RIPTOR* PRTL_VER
232c0 49 46 49 45 52 5f 54 48 55 4e 4b 5f 44 45 53 43  IFIER_THUNK_DESC
232d0 52 49 50 54 4f 52 3b 0d 0a 0d 0a 73 74 72 75 63  RIPTOR;....struc
232e0 74 20 5f 52 54 4c 5f 56 45 52 49 46 49 45 52 5f  t _RTL_VERIFIER_
232f0 44 4c 4c 5f 44 45 53 43 52 49 50 54 4f 52 20 7b  DLL_DESCRIPTOR {
23300 0d 0a 0d 0a 20 20 50 57 43 48 41 52 20 44 6c 6c  ....  PWCHAR Dll
23310 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 44  Name;..  DWORD D
23320 6c 6c 46 6c 61 67 73 3b 0d 0a 20 20 50 56 4f 49  llFlags;..  PVOI
23330 44 20 44 6c 6c 41 64 64 72 65 73 73 3b 0d 0a 20  D DllAddress;.. 
23340 20 50 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 54   PRTL_VERIFIER_T
23350 48 55 4e 4b 5f 44 45 53 43 52 49 50 54 4f 52 20  HUNK_DESCRIPTOR 
23360 44 6c 6c 54 68 75 6e 6b 73 3b 0d 0a 7d 0d 0a 61  DllThunks;..}..a
23370 6c 69 61 73 20 5f 52 54 4c 5f 56 45 52 49 46 49  lias _RTL_VERIFI
23380 45 52 5f 44 4c 4c 5f 44 45 53 43 52 49 50 54 4f  ER_DLL_DESCRIPTO
23390 52 20 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 44  R RTL_VERIFIER_D
233a0 4c 4c 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a  LL_DESCRIPTOR;..
233b0 61 6c 69 61 73 20 5f 52 54 4c 5f 56 45 52 49 46  alias _RTL_VERIF
233c0 49 45 52 5f 44 4c 4c 5f 44 45 53 43 52 49 50 54  IER_DLL_DESCRIPT
233d0 4f 52 2a 20 50 52 54 4c 5f 56 45 52 49 46 49 45  OR* PRTL_VERIFIE
233e0 52 5f 44 4c 4c 5f 44 45 53 43 52 49 50 54 4f 52  R_DLL_DESCRIPTOR
233f0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 52 54 4c  ;....struct _RTL
23400 5f 56 45 52 49 46 49 45 52 5f 50 52 4f 56 49 44  _VERIFIER_PROVID
23410 45 52 5f 44 45 53 43 52 49 50 54 4f 52 20 7b 0d  ER_DESCRIPTOR {.
23420 0a 0d 0a 20 20 44 57 4f 52 44 20 4c 65 6e 67 74  ...  DWORD Lengt
23430 68 3b 0d 0a 20 20 50 52 54 4c 5f 56 45 52 49 46  h;..  PRTL_VERIF
23440 49 45 52 5f 44 4c 4c 5f 44 45 53 43 52 49 50 54  IER_DLL_DESCRIPT
23450 4f 52 20 50 72 6f 76 69 64 65 72 44 6c 6c 73 3b  OR ProviderDlls;
23460 0d 0a 20 20 52 54 4c 5f 56 45 52 49 46 49 45 52  ..  RTL_VERIFIER
23470 5f 44 4c 4c 5f 4c 4f 41 44 5f 43 41 4c 4c 42 41  _DLL_LOAD_CALLBA
23480 43 4b 20 50 72 6f 76 69 64 65 72 44 6c 6c 4c 6f  CK ProviderDllLo
23490 61 64 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 52  adCallback;..  R
234a0 54 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f  TL_VERIFIER_DLL_
234b0 55 4e 4c 4f 41 44 5f 43 41 4c 4c 42 41 43 4b 20  UNLOAD_CALLBACK 
234c0 50 72 6f 76 69 64 65 72 44 6c 6c 55 6e 6c 6f 61  ProviderDllUnloa
234d0 64 43 61 6c 6c 62 61 63 6b 3b 0d 0a 0d 0a 20 20  dCallback;....  
234e0 50 57 53 54 52 20 56 65 72 69 66 69 65 72 49 6d  PWSTR VerifierIm
234f0 61 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20 56 65  age;..  DWORD Ve
23500 72 69 66 69 65 72 46 6c 61 67 73 3b 0d 0a 20 20  rifierFlags;..  
23510 44 57 4f 52 44 20 56 65 72 69 66 69 65 72 44 65  DWORD VerifierDe
23520 62 75 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  bug;..}..alias _
23530 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 50 52 4f  RTL_VERIFIER_PRO
23540 56 49 44 45 52 5f 44 45 53 43 52 49 50 54 4f 52  VIDER_DESCRIPTOR
23550 20 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 50 52   RTL_VERIFIER_PR
23560 4f 56 49 44 45 52 5f 44 45 53 43 52 49 50 54 4f  OVIDER_DESCRIPTO
23570 52 3b 0d 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 56  R;..alias _RTL_V
23580 45 52 49 46 49 45 52 5f 50 52 4f 56 49 44 45 52  ERIFIER_PROVIDER
23590 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50 52 54  _DESCRIPTOR* PRT
235a0 4c 5f 56 45 52 49 46 49 45 52 5f 50 52 4f 56 49  L_VERIFIER_PROVI
235b0 44 45 52 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d  DER_DESCRIPTOR;.
235c0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
235d0 20 52 54 4c 5f 56 52 46 5f 46 4c 47 5f 46 55 4c   RTL_VRF_FLG_FUL
235e0 4c 5f 50 41 47 45 5f 48 45 41 50 20 3d 20 30 78  L_PAGE_HEAP = 0x
235f0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
23600 69 6e 74 20 7b 20 52 54 4c 5f 56 52 46 5f 46 4c  int { RTL_VRF_FL
23610 47 5f 4c 4f 43 4b 5f 43 48 45 43 4b 53 20 3d 20  G_LOCK_CHECKS = 
23620 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
23630 20 75 69 6e 74 20 7b 20 52 54 4c 5f 56 52 46 5f   uint { RTL_VRF_
23640 46 4c 47 5f 48 41 4e 44 4c 45 5f 43 48 45 43 4b  FLG_HANDLE_CHECK
23650 53 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  S = 0x0004 }..en
23660 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 54 4c 5f  um : uint { RTL_
23670 56 52 46 5f 46 4c 47 5f 53 54 41 43 4b 5f 43 48  VRF_FLG_STACK_CH
23680 45 43 4b 53 20 3d 20 30 78 30 30 30 38 20 7d 0d  ECKS = 0x0008 }.
23690 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
236a0 54 4c 5f 56 52 46 5f 46 4c 47 5f 41 50 50 43 4f  TL_VRF_FLG_APPCO
236b0 4d 50 41 54 5f 43 48 45 43 4b 53 20 3d 20 30 78  MPAT_CHECKS = 0x
236c0 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0010 }....enum :
236d0 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54   uint { APPLICAT
236e0 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 49 4e 54  ION_VERIFIER_INT
236f0 45 52 4e 41 4c 5f 45 52 52 4f 52 20 3d 20 30 78  ERNAL_ERROR = 0x
23700 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80000000 }..enum
23710 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43   : uint { APPLIC
23720 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 49  ATION_VERIFIER_I
23730 4e 54 45 52 4e 41 4c 5f 57 41 52 4e 49 4e 47 20  NTERNAL_WARNING 
23740 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
23750 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
23760 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49  PLICATION_VERIFI
23770 45 52 5f 4e 4f 5f 42 52 45 41 4b 20 3d 20 30 78  ER_NO_BREAK = 0x
23780 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  20000000 }..enum
23790 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43   : uint { APPLIC
237a0 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 52  ATION_VERIFIER_R
237b0 45 53 45 52 56 45 44 5f 42 49 54 5f 32 38 20 3d  ESERVED_BIT_28 =
237c0 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x10000000 }...
237d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
237e0 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46  PPLICATION_VERIF
237f0 49 45 52 5f 55 4e 4b 4e 4f 57 4e 5f 45 52 52 4f  IER_UNKNOWN_ERRO
23800 52 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  R = 0x0001 }..en
23810 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c  um : uint { APPL
23820 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52  ICATION_VERIFIER
23830 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 4f  _ACCESS_VIOLATIO
23840 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  N = 0x0002 }..en
23850 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c  um : uint { APPL
23860 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52  ICATION_VERIFIER
23870 5f 55 4e 53 59 4e 43 48 52 4f 4e 49 5a 45 44 5f  _UNSYNCHRONIZED_
23880 41 43 43 45 53 53 20 3d 20 30 78 30 30 30 33 20  ACCESS = 0x0003 
23890 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
238a0 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52   APPLICATION_VER
238b0 49 46 49 45 52 5f 45 58 54 52 45 4d 45 5f 53 49  IFIER_EXTREME_SI
238c0 5a 45 5f 52 45 51 55 45 53 54 20 3d 20 30 78 30  ZE_REQUEST = 0x0
238d0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
238e0 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e  nt { APPLICATION
238f0 5f 56 45 52 49 46 49 45 52 5f 42 41 44 5f 48 45  _VERIFIER_BAD_HE
23900 41 50 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 30  AP_HANDLE = 0x00
23910 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
23920 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f  t { APPLICATION_
23930 56 45 52 49 46 49 45 52 5f 53 57 49 54 43 48 45  VERIFIER_SWITCHE
23940 44 5f 48 45 41 50 5f 48 41 4e 44 4c 45 20 3d 20  D_HEAP_HANDLE = 
23950 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0006 }..enum :
23960 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54   uint { APPLICAT
23970 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 44 4f 55  ION_VERIFIER_DOU
23980 42 4c 45 5f 46 52 45 45 20 3d 20 30 78 30 30 30  BLE_FREE = 0x000
23990 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
239a0 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56   { APPLICATION_V
239b0 45 52 49 46 49 45 52 5f 43 4f 52 52 55 50 54 45  ERIFIER_CORRUPTE
239c0 44 5f 48 45 41 50 5f 42 4c 4f 43 4b 20 3d 20 30  D_HEAP_BLOCK = 0
239d0 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
239e0 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49  uint { APPLICATI
239f0 4f 4e 5f 56 45 52 49 46 49 45 52 5f 44 45 53 54  ON_VERIFIER_DEST
23a00 52 4f 59 5f 50 52 4f 43 45 53 53 5f 48 45 41 50  ROY_PROCESS_HEAP
23a10 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75   = 0x0009 }..enu
23a20 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23a30 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
23a40 55 4e 45 58 50 45 43 54 45 44 5f 45 58 43 45 50  UNEXPECTED_EXCEP
23a50 54 49 4f 4e 20 3d 20 30 78 30 30 30 41 20 7d 0d  TION = 0x000A }.
23a60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
23a70 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46  PPLICATION_VERIF
23a80 49 45 52 5f 53 54 41 43 4b 5f 4f 56 45 52 46 4c  IER_STACK_OVERFL
23a90 4f 57 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 0d  OW = 0x000B }...
23aa0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
23ab0 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46  PPLICATION_VERIF
23ac0 49 45 52 5f 54 45 52 4d 49 4e 41 54 45 5f 54 48  IER_TERMINATE_TH
23ad0 52 45 41 44 5f 43 41 4c 4c 20 3d 20 30 78 30 31  READ_CALL = 0x01
23ae0 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
23af0 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f  int { APPLICATIO
23b00 4e 5f 56 45 52 49 46 49 45 52 5f 45 58 49 54 5f  N_VERIFIER_EXIT_
23b10 54 48 52 45 41 44 5f 4f 57 4e 53 5f 4c 4f 43 4b  THREAD_OWNS_LOCK
23b20 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75   = 0x0200 }..enu
23b30 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23b40 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
23b50 4c 4f 43 4b 5f 49 4e 5f 55 4e 4c 4f 41 44 45 44  LOCK_IN_UNLOADED
23b60 5f 44 4c 4c 20 3d 20 30 78 30 32 30 31 20 7d 0d  _DLL = 0x0201 }.
23b70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
23b80 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46  PPLICATION_VERIF
23b90 49 45 52 5f 4c 4f 43 4b 5f 49 4e 5f 46 52 45 45  IER_LOCK_IN_FREE
23ba0 44 5f 48 45 41 50 20 3d 20 30 78 30 32 30 32 20  D_HEAP = 0x0202 
23bb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
23bc0 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52   APPLICATION_VER
23bd0 49 46 49 45 52 5f 4c 4f 43 4b 5f 44 4f 55 42 4c  IFIER_LOCK_DOUBL
23be0 45 5f 49 4e 49 54 49 41 4c 49 5a 45 20 3d 20 30  E_INITIALIZE = 0
23bf0 78 30 32 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0203 }..enum : 
23c00 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49  uint { APPLICATI
23c10 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43 4b  ON_VERIFIER_LOCK
23c20 5f 49 4e 5f 46 52 45 45 44 5f 4d 45 4d 4f 52 59  _IN_FREED_MEMORY
23c30 20 3d 20 30 78 30 32 30 34 20 7d 0d 0a 65 6e 75   = 0x0204 }..enu
23c40 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23c50 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
23c60 4c 4f 43 4b 5f 43 4f 52 52 55 50 54 45 44 20 3d  LOCK_CORRUPTED =
23c70 20 30 78 30 32 30 35 20 7d 0d 0a 65 6e 75 6d 20   0x0205 }..enum 
23c80 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
23c90 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c 4f  TION_VERIFIER_LO
23ca0 43 4b 5f 49 4e 56 41 4c 49 44 5f 4f 57 4e 45 52  CK_INVALID_OWNER
23cb0 20 3d 20 30 78 30 32 30 36 20 7d 0d 0a 65 6e 75   = 0x0206 }..enu
23cc0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23cd0 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
23ce0 4c 4f 43 4b 5f 49 4e 56 41 4c 49 44 5f 52 45 43  LOCK_INVALID_REC
23cf0 55 52 53 49 4f 4e 5f 43 4f 55 4e 54 20 3d 20 30  URSION_COUNT = 0
23d00 78 30 32 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0207 }..enum : 
23d10 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49  uint { APPLICATI
23d20 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43 4b  ON_VERIFIER_LOCK
23d30 5f 49 4e 56 41 4c 49 44 5f 4c 4f 43 4b 5f 43 4f  _INVALID_LOCK_CO
23d40 55 4e 54 20 3d 20 30 78 30 32 30 38 20 7d 0d 0a  UNT = 0x0208 }..
23d50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
23d60 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49  PLICATION_VERIFI
23d70 45 52 5f 4c 4f 43 4b 5f 4f 56 45 52 5f 52 45 4c  ER_LOCK_OVER_REL
23d80 45 41 53 45 44 20 3d 20 30 78 30 32 30 39 20 7d  EASED = 0x0209 }
23d90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
23da0 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49  APPLICATION_VERI
23db0 46 49 45 52 5f 4c 4f 43 4b 5f 4e 4f 54 5f 49 4e  FIER_LOCK_NOT_IN
23dc0 49 54 49 41 4c 49 5a 45 44 20 3d 20 30 78 30 32  ITIALIZED = 0x02
23dd0 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  10 }....enum : u
23de0 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f  int { APPLICATIO
23df0 4e 5f 56 45 52 49 46 49 45 52 5f 49 4e 56 41 4c  N_VERIFIER_INVAL
23e00 49 44 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 33  ID_HANDLE = 0x03
23e10 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  00 }....// #defi
23e20 6e 65 20 56 45 52 49 46 49 45 52 5f 53 54 4f 50  ne VERIFIER_STOP
23e30 28 43 6f 64 65 2c 20 4d 73 67 2c 20 50 31 2c 20  (Code, Msg, P1, 
23e40 53 31 2c 20 50 32 2c 20 53 32 2c 20 50 33 2c 20  S1, P2, S2, P3, 
23e50 53 33 2c 20 50 34 2c 20 53 34 29 20 7b 20 52 74  S3, P4, S4) { Rt
23e60 6c 41 70 70 6c 69 63 61 74 69 6f 6e 56 65 72 69  lApplicationVeri
23e70 66 69 65 72 53 74 6f 70 20 28 28 43 6f 64 65 29  fierStop ((Code)
23e80 2c 20 28 4d 73 67 29 2c 20 28 55 4c 4f 4e 47 5f  , (Msg), (ULONG_
23e90 50 54 52 29 28 50 31 29 2c 28 53 31 29 2c 20 28  PTR)(P1),(S1), (
23ea0 55 4c 4f 4e 47 5f 50 54 52 29 28 50 32 29 2c 28  ULONG_PTR)(P2),(
23eb0 53 32 29 2c 20 28 55 4c 4f 4e 47 5f 50 54 52 29  S2), (ULONG_PTR)
23ec0 28 50 33 29 2c 28 53 33 29 2c 20 28 55 4c 4f 4e  (P3),(S3), (ULON
23ed0 47 5f 50 54 52 29 28 50 34 29 2c 28 53 34 29 29  G_PTR)(P4),(S4))
23ee0 3b 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ; }....extern(Wi
23ef0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 56 4f  ndows) export VO
23f00 49 44 20 52 74 6c 41 70 70 6c 69 63 61 74 69 6f  ID RtlApplicatio
23f10 6e 56 65 72 69 66 69 65 72 53 74 6f 70 28 0d 0a  nVerifierStop(..
23f20 20 20 55 4c 4f 4e 47 5f 50 54 52 20 43 6f 64 65    ULONG_PTR Code
23f30 2c 0d 0a 20 20 50 43 48 41 52 20 4d 65 73 73 61  ,..  PCHAR Messa
23f40 67 65 2c 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52  ge,..  ULONG_PTR
23f50 20 50 61 72 61 6d 31 2c 20 50 43 48 41 52 20 44   Param1, PCHAR D
23f60 65 73 63 72 69 70 74 69 6f 6e 31 2c 0d 0a 20 20  escription1,..  
23f70 55 4c 4f 4e 47 5f 50 54 52 20 50 61 72 61 6d 32  ULONG_PTR Param2
23f80 2c 20 50 43 48 41 52 20 44 65 73 63 72 69 70 74  , PCHAR Descript
23f90 69 6f 6e 32 2c 0d 0a 20 20 55 4c 4f 4e 47 5f 50  ion2,..  ULONG_P
23fa0 54 52 20 50 61 72 61 6d 33 2c 20 50 43 48 41 52  TR Param3, PCHAR
23fb0 20 44 65 73 63 72 69 70 74 69 6f 6e 33 2c 0d 0a   Description3,..
23fc0 20 20 55 4c 4f 4e 47 5f 50 54 52 20 50 61 72 61    ULONG_PTR Para
23fd0 6d 34 2c 20 50 43 48 41 52 20 44 65 73 63 72 69  m4, PCHAR Descri
23fe0 70 74 69 6f 6e 34 29 3b 0d 0a 0d 0a 65 78 74 65  ption4);....exte
23ff0 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61  rn(Windows) alia
24000 73 20 4c 4f 4e 47 20 66 75 6e 63 74 69 6f 6e 28  s LONG function(
24010 20 20 5f 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49    _EXCEPTION_POI
24020 4e 54 45 52 53 20 2a 45 78 63 65 70 74 69 6f 6e  NTERS *Exception
24030 49 6e 66 6f 20 29 20 50 56 45 43 54 4f 52 45 44  Info ) PVECTORED
24040 5f 45 58 43 45 50 54 49 4f 4e 5f 48 41 4e 44 4c  _EXCEPTION_HANDL
24050 45 52 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ER;..enum : uint
24060 20 7b 20 53 45 46 5f 44 41 43 4c 5f 41 55 54 4f   { SEF_DACL_AUTO
24070 5f 49 4e 48 45 52 49 54 20 3d 20 30 78 30 31 20  _INHERIT = 0x01 
24080 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24090 20 53 45 46 5f 53 41 43 4c 5f 41 55 54 4f 5f 49   SEF_SACL_AUTO_I
240a0 4e 48 45 52 49 54 20 3d 20 30 78 30 32 20 7d 0d  NHERIT = 0x02 }.
240b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
240c0 45 46 5f 44 45 46 41 55 4c 54 5f 44 45 53 43 52  EF_DEFAULT_DESCR
240d0 49 50 54 4f 52 5f 46 4f 52 5f 4f 42 4a 45 43 54  IPTOR_FOR_OBJECT
240e0 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x04 }..enum 
240f0 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 41 56 4f  : uint { SEF_AVO
24100 49 44 5f 50 52 49 56 49 4c 45 47 45 5f 43 48 45  ID_PRIVILEGE_CHE
24110 43 4b 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e 75  CK = 0x08 }..enu
24120 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 41  m : uint { SEF_A
24130 56 4f 49 44 5f 4f 57 4e 45 52 5f 43 48 45 43 4b  VOID_OWNER_CHECK
24140 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x10 }..enum 
24150 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 44 45 46  : uint { SEF_DEF
24160 41 55 4c 54 5f 4f 57 4e 45 52 5f 46 52 4f 4d 5f  AULT_OWNER_FROM_
24170 50 41 52 45 4e 54 20 3d 20 30 78 32 30 20 7d 0d  PARENT = 0x20 }.
24180 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
24190 45 46 5f 44 45 46 41 55 4c 54 5f 47 52 4f 55 50  EF_DEFAULT_GROUP
241a0 5f 46 52 4f 4d 5f 50 41 52 45 4e 54 20 3d 20 30  _FROM_PARENT = 0
241b0 78 34 30 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69  x40 }....alias i
241c0 6e 74 20 5f 48 45 41 50 5f 49 4e 46 4f 52 4d 41  nt _HEAP_INFORMA
241d0 54 49 4f 4e 5f 43 4c 41 53 53 3b 0d 0a 65 6e 75  TION_CLASS;..enu
241e0 6d 20 7b 0d 0a 0d 0a 20 20 48 65 61 70 43 6f 6d  m {....  HeapCom
241f0 70 61 74 69 62 69 6c 69 74 79 49 6e 66 6f 72 6d  patibilityInform
24200 61 74 69 6f 6e 2c 0d 0a 0d 0a 7d 0d 0a 61 6c 69  ation,....}..ali
24210 61 73 20 5f 48 45 41 50 5f 49 4e 46 4f 52 4d 41  as _HEAP_INFORMA
24220 54 49 4f 4e 5f 43 4c 41 53 53 20 48 45 41 50 5f  TION_CLASS HEAP_
24230 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53  INFORMATION_CLAS
24240 53 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  S;....extern(Win
24250 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
24260 52 44 20 52 74 6c 53 65 74 48 65 61 70 49 6e 66  RD RtlSetHeapInf
24270 6f 72 6d 61 74 69 6f 6e 28 0d 0a 20 20 50 56 4f  ormation(..  PVO
24280 49 44 20 48 65 61 70 48 61 6e 64 6c 65 2c 0d 0a  ID HeapHandle,..
24290 20 20 48 45 41 50 5f 49 4e 46 4f 52 4d 41 54 49    HEAP_INFORMATI
242a0 4f 4e 5f 43 4c 41 53 53 20 48 65 61 70 49 6e 66  ON_CLASS HeapInf
242b0 6f 72 6d 61 74 69 6f 6e 43 6c 61 73 73 2c 0d 0a  ormationClass,..
242c0 20 20 50 56 4f 49 44 20 48 65 61 70 49 6e 66 6f    PVOID HeapInfo
242d0 72 6d 61 74 69 6f 6e 20 2c 0d 0a 20 20 53 49 5a  rmation ,..  SIZ
242e0 45 5f 54 20 48 65 61 70 49 6e 66 6f 72 6d 61 74  E_T HeapInformat
242f0 69 6f 6e 4c 65 6e 67 74 68 20 29 3b 0d 0a 0d 0a  ionLength );....
24300 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
24310 65 78 70 6f 72 74 20 44 57 4f 52 44 20 52 74 6c  export DWORD Rtl
24320 51 75 65 72 79 48 65 61 70 49 6e 66 6f 72 6d 61  QueryHeapInforma
24330 74 69 6f 6e 28 0d 0a 20 20 50 56 4f 49 44 20 48  tion(..  PVOID H
24340 65 61 70 48 61 6e 64 6c 65 2c 0d 0a 20 20 48 45  eapHandle,..  HE
24350 41 50 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  AP_INFORMATION_C
24360 4c 41 53 53 20 48 65 61 70 49 6e 66 6f 72 6d 61  LASS HeapInforma
24370 74 69 6f 6e 43 6c 61 73 73 2c 0d 0a 20 20 50 56  tionClass,..  PV
24380 4f 49 44 20 48 65 61 70 49 6e 66 6f 72 6d 61 74  OID HeapInformat
24390 69 6f 6e 20 2c 0d 0a 20 20 53 49 5a 45 5f 54 20  ion ,..  SIZE_T 
243a0 48 65 61 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 4c  HeapInformationL
243b0 65 6e 67 74 68 20 2c 0d 0a 20 20 50 53 49 5a 45  ength ,..  PSIZE
243c0 5f 54 20 52 65 74 75 72 6e 4c 65 6e 67 74 68 20  _T ReturnLength 
243d0 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  );....enum : uin
243e0 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45 44 45  t { WT_EXECUTEDE
243f0 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30  FAULT = 0x000000
24400 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
24410 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45 49 4e  t { WT_EXECUTEIN
24420 49 4f 54 48 52 45 41 44 20 3d 20 30 78 30 30 30  IOTHREAD = 0x000
24430 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
24440 75 69 6e 74 20 7b 20 57 54 5f 45 58 45 43 55 54  uint { WT_EXECUT
24450 45 49 4e 55 49 54 48 52 45 41 44 20 3d 20 30 78  EINUITHREAD = 0x
24460 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
24470 20 3a 20 75 69 6e 74 20 7b 20 57 54 5f 45 58 45   : uint { WT_EXE
24480 43 55 54 45 49 4e 57 41 49 54 54 48 52 45 41 44  CUTEINWAITTHREAD
24490 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
244a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
244b0 54 5f 45 58 45 43 55 54 45 4f 4e 4c 59 4f 4e 43  T_EXECUTEONLYONC
244c0 45 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  E = 0x00000008 }
244d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
244e0 57 54 5f 45 58 45 43 55 54 45 49 4e 54 49 4d 45  WT_EXECUTEINTIME
244f0 52 54 48 52 45 41 44 20 3d 20 30 78 30 30 30 30  RTHREAD = 0x0000
24500 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
24510 69 6e 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45  int { WT_EXECUTE
24520 4c 4f 4e 47 46 55 4e 43 54 49 4f 4e 20 3d 20 30  LONGFUNCTION = 0
24530 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
24540 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 5f 45 58  m : uint { WT_EX
24550 45 43 55 54 45 49 4e 50 45 52 53 49 53 54 45 4e  ECUTEINPERSISTEN
24560 54 49 4f 54 48 52 45 41 44 20 3d 20 30 78 30 30  TIOTHREAD = 0x00
24570 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
24580 20 75 69 6e 74 20 7b 20 57 54 5f 45 58 45 43 55   uint { WT_EXECU
24590 54 45 49 4e 50 45 52 53 49 53 54 45 4e 54 54 48  TEINPERSISTENTTH
245a0 52 45 41 44 20 3d 20 30 78 30 30 30 30 30 30 38  READ = 0x0000008
245b0 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  0 }..// #define 
245c0 57 54 5f 53 45 54 5f 4d 41 58 5f 54 48 52 45 41  WT_SET_MAX_THREA
245d0 44 50 4f 4f 4c 5f 54 48 52 45 41 44 53 28 46 6c  DPOOL_THREADS(Fl
245e0 61 67 73 2c 20 4c 69 6d 69 74 29 20 28 28 46 6c  ags, Limit) ((Fl
245f0 61 67 73 29 20 7c 3d 20 28 4c 69 6d 69 74 29 3c  ags) |= (Limit)<
24600 3c 31 36 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e  <16)..extern(Win
24610 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f 49 44  dows) alias VOID
24620 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c   function(PVOID,
24630 20 42 4f 4f 4c 45 41 4e 20 29 20 57 41 49 54 4f   BOOLEAN ) WAITO
24640 52 54 49 4d 45 52 43 41 4c 4c 42 41 43 4b 46 55  RTIMERCALLBACKFU
24650 4e 43 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  NC;..extern(Wind
24660 6f 77 73 29 20 61 6c 69 61 73 20 56 4f 49 44 20  ows) alias VOID 
24670 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 20 29  function(PVOID )
24680 20 57 4f 52 4b 45 52 43 41 4c 4c 42 41 43 4b 46   WORKERCALLBACKF
24690 55 4e 43 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  UNC;..extern(Win
246a0 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f 49 44  dows) alias VOID
246b0 20 66 75 6e 63 74 69 6f 6e 28 44 57 4f 52 44 20   function(DWORD 
246c0 2c 20 50 56 4f 49 44 2c 20 50 56 4f 49 44 29 20  , PVOID, PVOID) 
246d0 41 50 43 5f 43 41 4c 4c 42 41 43 4b 5f 46 55 4e  APC_CALLBACK_FUN
246e0 43 54 49 4f 4e 3b 0d 0a 65 6e 75 6d 20 3a 20 75  CTION;..enum : u
246f0 69 6e 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45  int { WT_EXECUTE
24700 49 4e 4c 4f 4e 47 54 48 52 45 41 44 20 3d 20 30  INLONGTHREAD = 0
24710 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
24720 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 5f 45 58  m : uint { WT_EX
24730 45 43 55 54 45 44 45 4c 45 54 45 57 41 49 54 20  ECUTEDELETEWAIT 
24740 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
24750 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 41 43 54  ..alias int _ACT
24760 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
24770 49 4e 46 4f 5f 43 4c 41 53 53 3b 0d 0a 65 6e 75  INFO_CLASS;..enu
24780 6d 20 7b 0d 0a 20 20 41 63 74 69 76 61 74 69 6f  m {..  Activatio
24790 6e 43 6f 6e 74 65 78 74 42 61 73 69 63 49 6e 66  nContextBasicInf
247a0 6f 72 6d 61 74 69 6f 6e 20 3d 20 31 2c 0d 0a 20  ormation = 1,.. 
247b0 20 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65   ActivationConte
247c0 78 74 44 65 74 61 69 6c 65 64 49 6e 66 6f 72 6d  xtDetailedInform
247d0 61 74 69 6f 6e 20 3d 20 32 2c 0d 0a 20 20 41 73  ation = 2,..  As
247e0 73 65 6d 62 6c 79 44 65 74 61 69 6c 65 64 49 6e  semblyDetailedIn
247f0 66 6f 72 6d 61 74 69 6f 6e 49 6e 41 63 74 69 76  formationInActiv
24800 61 74 69 6f 6e 43 6f 6e 74 65 78 74 20 3d 20 33  ationContext = 3
24810 2c 0d 0a 20 20 46 69 6c 65 49 6e 66 6f 72 6d 61  ,..  FileInforma
24820 74 69 6f 6e 49 6e 41 73 73 65 6d 62 6c 79 4f 66  tionInAssemblyOf
24830 41 73 73 65 6d 62 6c 79 49 6e 41 63 74 69 76 61  AssemblyInActiva
24840 74 69 6f 6e 43 6f 6e 74 65 78 74 20 3d 20 34 2c  tionContext = 4,
24850 0d 0a 20 20 4d 61 78 41 63 74 69 76 61 74 69 6f  ..  MaxActivatio
24860 6e 43 6f 6e 74 65 78 74 49 6e 66 6f 43 6c 61 73  nContextInfoClas
24870 73 2c 0d 0a 0d 0a 20 20 41 73 73 65 6d 62 6c 79  s,....  Assembly
24880 44 65 74 61 69 6c 65 64 49 6e 66 6f 72 6d 61 74  DetailedInformat
24890 69 6f 6e 49 6e 41 63 74 69 76 61 74 69 6f 6e 43  ionInActivationC
248a0 6f 6e 74 78 74 20 3d 20 33 2c 0d 0a 20 20 46 69  ontxt = 3,..  Fi
248b0 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 49 6e 41  leInformationInA
248c0 73 73 65 6d 62 6c 79 4f 66 41 73 73 65 6d 62 6c  ssemblyOfAssembl
248d0 79 49 6e 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e  yInActivationCon
248e0 74 78 74 20 3d 20 34 2c 0d 0a 7d 0d 0a 61 6c 69  txt = 4,..}..ali
248f0 61 73 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43  as _ACTIVATION_C
24900 4f 4e 54 45 58 54 5f 49 4e 46 4f 5f 43 4c 41 53  ONTEXT_INFO_CLAS
24910 53 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  S ACTIVATION_CON
24920 54 45 58 54 5f 49 4e 46 4f 5f 43 4c 41 53 53 3b  TEXT_INFO_CLASS;
24930 0d 0a 0d 0a 61 6c 69 61 73 20 41 43 54 49 56 41  ....alias ACTIVA
24940 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 49 4e 46  TION_CONTEXT_INF
24950 4f 5f 43 4c 41 53 53 20 41 43 54 49 56 41 54 49  O_CLASS ACTIVATI
24960 4f 4e 43 4f 4e 54 45 58 54 49 4e 46 4f 43 4c 41  ONCONTEXTINFOCLA
24970 53 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41  SS;....struct _A
24980 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58  CTIVATION_CONTEX
24990 54 5f 51 55 45 52 59 5f 49 4e 44 45 58 20 7b 0d  T_QUERY_INDEX {.
249a0 0a 20 20 44 57 4f 52 44 20 75 6c 41 73 73 65 6d  .  DWORD ulAssem
249b0 62 6c 79 49 6e 64 65 78 3b 0d 0a 20 20 44 57 4f  blyIndex;..  DWO
249c0 52 44 20 75 6c 46 69 6c 65 49 6e 64 65 78 49 6e  RD ulFileIndexIn
249d0 41 73 73 65 6d 62 6c 79 3b 0d 0a 7d 0d 0a 61 6c  Assembly;..}..al
249e0 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f  ias _ACTIVATION_
249f0 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 4e  CONTEXT_QUERY_IN
24a00 44 45 58 20 41 43 54 49 56 41 54 49 4f 4e 5f 43  DEX ACTIVATION_C
24a10 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 4e 44  ONTEXT_QUERY_IND
24a20 45 58 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 54 49  EX;..alias _ACTI
24a30 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51  VATION_CONTEXT_Q
24a40 55 45 52 59 5f 49 4e 44 45 58 2a 20 50 41 43 54  UERY_INDEX* PACT
24a50 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
24a60 51 55 45 52 59 5f 49 4e 44 45 58 3b 0d 0a 0d 0a  QUERY_INDEX;....
24a70 61 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f  alias _ACTIVATIO
24a80 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f  N_CONTEXT_QUERY_
24a90 49 4e 44 45 58 2a 20 50 43 41 43 54 49 56 41 54  INDEX* PCACTIVAT
24aa0 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52  ION_CONTEXT_QUER
24ab0 59 5f 49 4e 44 45 58 3b 0d 0a 0d 0a 65 6e 75 6d  Y_INDEX;....enum
24ac0 20 3a 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41   : uint { ACTIVA
24ad0 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 50 41 54  TION_CONTEXT_PAT
24ae0 48 5f 54 59 50 45 5f 4e 4f 4e 45 20 3d 20 31 20  H_TYPE_NONE = 1 
24af0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24b00 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54   ACTIVATION_CONT
24b10 45 58 54 5f 50 41 54 48 5f 54 59 50 45 5f 57 49  EXT_PATH_TYPE_WI
24b20 4e 33 32 5f 46 49 4c 45 20 3d 20 32 20 7d 0d 0a  N32_FILE = 2 }..
24b30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
24b40 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
24b50 5f 50 41 54 48 5f 54 59 50 45 5f 55 52 4c 20 3d  _PATH_TYPE_URL =
24b60 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
24b70 74 20 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43  t { ACTIVATION_C
24b80 4f 4e 54 45 58 54 5f 50 41 54 48 5f 54 59 50 45  ONTEXT_PATH_TYPE
24b90 5f 41 53 53 45 4d 42 4c 59 52 45 46 20 3d 20 34  _ASSEMBLYREF = 4
24ba0 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41 53   }....struct _AS
24bb0 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41  SEMBLY_FILE_DETA
24bc0 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ILED_INFORMATION
24bd0 20 7b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 46 6c   {..  DWORD ulFl
24be0 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c  ags;..  DWORD ul
24bf0 46 69 6c 65 6e 61 6d 65 4c 65 6e 67 74 68 3b 0d  FilenameLength;.
24c00 0a 20 20 44 57 4f 52 44 20 75 6c 50 61 74 68 4c  .  DWORD ulPathL
24c10 65 6e 67 74 68 3b 0d 0a 20 20 50 43 57 53 54 52  ength;..  PCWSTR
24c20 20 6c 70 46 69 6c 65 4e 61 6d 65 3b 0d 0a 20 20   lpFileName;..  
24c30 50 43 57 53 54 52 20 6c 70 46 69 6c 65 50 61 74  PCWSTR lpFilePat
24c40 68 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 53  h;..}..alias _AS
24c50 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41  SEMBLY_FILE_DETA
24c60 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ILED_INFORMATION
24c70 20 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44   ASSEMBLY_FILE_D
24c80 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54  ETAILED_INFORMAT
24c90 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f 41 53 53  ION;..alias _ASS
24ca0 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49  EMBLY_FILE_DETAI
24cb0 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a  LED_INFORMATION*
24cc0 20 50 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f   PASSEMBLY_FILE_
24cd0 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41  DETAILED_INFORMA
24ce0 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20 41  TION;....alias A
24cf0 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54  SSEMBLY_FILE_DET
24d00 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f  AILED_INFORMATIO
24d10 4e 2a 20 50 43 41 53 53 45 4d 42 4c 59 5f 46 49  N* PCASSEMBLY_FI
24d20 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  LE_DETAILED_INFO
24d30 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61  RMATION;....alia
24d40 73 20 5f 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45  s _ASSEMBLY_FILE
24d50 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
24d60 41 54 49 4f 4e 20 5f 41 53 53 45 4d 42 4c 59 5f  ATION _ASSEMBLY_
24d70 44 4c 4c 5f 52 45 44 49 52 45 43 54 49 4f 4e 5f  DLL_REDIRECTION_
24d80 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41  DETAILED_INFORMA
24d90 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 41 53 53  TION;..alias ASS
24da0 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49  EMBLY_FILE_DETAI
24db0 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  LED_INFORMATION 
24dc0 41 53 53 45 4d 42 4c 59 5f 44 4c 4c 5f 52 45 44  ASSEMBLY_DLL_RED
24dd0 49 52 45 43 54 49 4f 4e 5f 44 45 54 41 49 4c 45  IRECTION_DETAILE
24de0 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  D_INFORMATION;..
24df0 61 6c 69 61 73 20 50 41 53 53 45 4d 42 4c 59 5f  alias PASSEMBLY_
24e00 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e  FILE_DETAILED_IN
24e10 46 4f 52 4d 41 54 49 4f 4e 20 50 41 53 53 45 4d  FORMATION PASSEM
24e20 42 4c 59 5f 44 4c 4c 5f 52 45 44 49 52 45 43 54  BLY_DLL_REDIRECT
24e30 49 4f 4e 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46  ION_DETAILED_INF
24e40 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73  ORMATION;..alias
24e50 20 50 43 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45   PCASSEMBLY_FILE
24e60 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
24e70 41 54 49 4f 4e 20 50 43 41 53 53 45 4d 42 4c 59  ATION PCASSEMBLY
24e80 5f 44 4c 4c 5f 52 45 44 49 52 45 43 54 49 4f 4e  _DLL_REDIRECTION
24e90 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
24ea0 41 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  ATION;....struct
24eb0 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e   _ACTIVATION_CON
24ec0 54 45 58 54 5f 41 53 53 45 4d 42 4c 59 5f 44 45  TEXT_ASSEMBLY_DE
24ed0 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49  TAILED_INFORMATI
24ee0 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 75 6c  ON {..  DWORD ul
24ef0 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20  Flags;..  DWORD 
24f00 75 6c 45 6e 63 6f 64 65 64 41 73 73 65 6d 62 6c  ulEncodedAssembl
24f10 79 49 64 65 6e 74 69 74 79 4c 65 6e 67 74 68 3b  yIdentityLength;
24f20 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4d 61 6e 69  ..  DWORD ulMani
24f30 66 65 73 74 50 61 74 68 54 79 70 65 3b 0d 0a 20  festPathType;.. 
24f40 20 44 57 4f 52 44 20 75 6c 4d 61 6e 69 66 65 73   DWORD ulManifes
24f50 74 50 61 74 68 4c 65 6e 67 74 68 3b 0d 0a 20 20  tPathLength;..  
24f60 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 6c 69  LARGE_INTEGER li
24f70 4d 61 6e 69 66 65 73 74 4c 61 73 74 57 72 69 74  ManifestLastWrit
24f80 65 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20  eTime;..  DWORD 
24f90 75 6c 50 6f 6c 69 63 79 50 61 74 68 54 79 70 65  ulPolicyPathType
24fa0 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 50 6f 6c  ;..  DWORD ulPol
24fb0 69 63 79 50 61 74 68 4c 65 6e 67 74 68 3b 0d 0a  icyPathLength;..
24fc0 20 20 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20    LARGE_INTEGER 
24fd0 6c 69 50 6f 6c 69 63 79 4c 61 73 74 57 72 69 74  liPolicyLastWrit
24fe0 65 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20  eTime;..  DWORD 
24ff0 75 6c 4d 65 74 61 64 61 74 61 53 61 74 65 6c 6c  ulMetadataSatell
25000 69 74 65 52 6f 73 74 65 72 49 6e 64 65 78 3b 0d  iteRosterIndex;.
25010 0a 20 20 44 57 4f 52 44 20 75 6c 4d 61 6e 69 66  .  DWORD ulManif
25020 65 73 74 56 65 72 73 69 6f 6e 4d 61 6a 6f 72 3b  estVersionMajor;
25030 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4d 61 6e 69  ..  DWORD ulMani
25040 66 65 73 74 56 65 72 73 69 6f 6e 4d 69 6e 6f 72  festVersionMinor
25050 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 50 6f 6c  ;..  DWORD ulPol
25060 69 63 79 56 65 72 73 69 6f 6e 4d 61 6a 6f 72 3b  icyVersionMajor;
25070 0d 0a 20 20 44 57 4f 52 44 20 75 6c 50 6f 6c 69  ..  DWORD ulPoli
25080 63 79 56 65 72 73 69 6f 6e 4d 69 6e 6f 72 3b 0d  cyVersionMinor;.
25090 0a 20 20 44 57 4f 52 44 20 75 6c 41 73 73 65 6d  .  DWORD ulAssem
250a0 62 6c 79 44 69 72 65 63 74 6f 72 79 4e 61 6d 65  blyDirectoryName
250b0 4c 65 6e 67 74 68 3b 0d 0a 0d 0a 20 20 50 43 57  Length;....  PCW
250c0 53 54 52 20 6c 70 41 73 73 65 6d 62 6c 79 45 6e  STR lpAssemblyEn
250d0 63 6f 64 65 64 41 73 73 65 6d 62 6c 79 49 64 65  codedAssemblyIde
250e0 6e 74 69 74 79 3b 0d 0a 20 20 50 43 57 53 54 52  ntity;..  PCWSTR
250f0 20 6c 70 41 73 73 65 6d 62 6c 79 4d 61 6e 69 66   lpAssemblyManif
25100 65 73 74 50 61 74 68 3b 0d 0a 20 20 50 43 57 53  estPath;..  PCWS
25110 54 52 20 6c 70 41 73 73 65 6d 62 6c 79 50 6f 6c  TR lpAssemblyPol
25120 69 63 79 50 61 74 68 3b 0d 0a 20 20 50 43 57 53  icyPath;..  PCWS
25130 54 52 20 6c 70 41 73 73 65 6d 62 6c 79 44 69 72  TR lpAssemblyDir
25140 65 63 74 6f 72 79 4e 61 6d 65 3b 0d 0a 20 20 44  ectoryName;..  D
25150 57 4f 52 44 20 75 6c 46 69 6c 65 43 6f 75 6e 74  WORD ulFileCount
25160 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 54  ;..}..alias _ACT
25170 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
25180 41 53 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c 45  ASSEMBLY_DETAILE
25190 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 41 43  D_INFORMATION AC
251a0 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
251b0 5f 41 53 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c  _ASSEMBLY_DETAIL
251c0 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  ED_INFORMATION;.
251d0 0a 61 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49  .alias _ACTIVATI
251e0 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d  ON_CONTEXT_ASSEM
251f0 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46  BLY_DETAILED_INF
25200 4f 52 4d 41 54 49 4f 4e 2a 20 50 41 43 54 49 56  ORMATION* PACTIV
25210 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53  ATION_CONTEXT_AS
25220 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f  SEMBLY_DETAILED_
25230 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a  INFORMATION;....
25240 61 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f  alias _ACTIVATIO
25250 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42  N_CONTEXT_ASSEMB
25260 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  LY_DETAILED_INFO
25270 52 4d 41 54 49 4f 4e 2a 20 50 43 41 43 54 49 56  RMATION* PCACTIV
25280 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53  ATION_CONTEXT_AS
25290 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f  SEMBLY_DETAILED_
252a0 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a  INFORMATION;....
252b0 73 74 72 75 63 74 20 5f 41 43 54 49 56 41 54 49  struct _ACTIVATI
252c0 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41 49  ON_CONTEXT_DETAI
252d0 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  LED_INFORMATION 
252e0 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  {..  DWORD dwFla
252f0 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 46  gs;..  DWORD ulF
25300 6f 72 6d 61 74 56 65 72 73 69 6f 6e 3b 0d 0a 20  ormatVersion;.. 
25310 20 44 57 4f 52 44 20 75 6c 41 73 73 65 6d 62 6c   DWORD ulAssembl
25320 79 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44  yCount;..  DWORD
25330 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73 74 50   ulRootManifestP
25340 61 74 68 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52  athType;..  DWOR
25350 44 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73 74  D ulRootManifest
25360 50 61 74 68 43 68 61 72 73 3b 0d 0a 20 20 44 57  PathChars;..  DW
25370 4f 52 44 20 75 6c 52 6f 6f 74 43 6f 6e 66 69 67  ORD ulRootConfig
25380 75 72 61 74 69 6f 6e 50 61 74 68 54 79 70 65 3b  urationPathType;
25390 0d 0a 20 20 44 57 4f 52 44 20 75 6c 52 6f 6f 74  ..  DWORD ulRoot
253a0 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 50 61 74  ConfigurationPat
253b0 68 43 68 61 72 73 3b 0d 0a 20 20 44 57 4f 52 44  hChars;..  DWORD
253c0 20 75 6c 41 70 70 44 69 72 50 61 74 68 54 79 70   ulAppDirPathTyp
253d0 65 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 41 70  e;..  DWORD ulAp
253e0 70 44 69 72 50 61 74 68 43 68 61 72 73 3b 0d 0a  pDirPathChars;..
253f0 20 20 50 43 57 53 54 52 20 6c 70 52 6f 6f 74 4d    PCWSTR lpRootM
25400 61 6e 69 66 65 73 74 50 61 74 68 3b 0d 0a 20 20  anifestPath;..  
25410 50 43 57 53 54 52 20 6c 70 52 6f 6f 74 43 6f 6e  PCWSTR lpRootCon
25420 66 69 67 75 72 61 74 69 6f 6e 50 61 74 68 3b 0d  figurationPath;.
25430 0a 20 20 50 43 57 53 54 52 20 6c 70 41 70 70 44  .  PCWSTR lpAppD
25440 69 72 50 61 74 68 3b 0d 0a 7d 0d 0a 61 6c 69 61  irPath;..}..alia
25450 73 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  s _ACTIVATION_CO
25460 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49  NTEXT_DETAILED_I
25470 4e 46 4f 52 4d 41 54 49 4f 4e 20 41 43 54 49 56  NFORMATION ACTIV
25480 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44 45  ATION_CONTEXT_DE
25490 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49  TAILED_INFORMATI
254a0 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 54 49  ON;..alias _ACTI
254b0 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44  VATION_CONTEXT_D
254c0 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54  ETAILED_INFORMAT
254d0 49 4f 4e 2a 20 50 41 43 54 49 56 41 54 49 4f 4e  ION* PACTIVATION
254e0 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41 49 4c 45  _CONTEXT_DETAILE
254f0 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  D_INFORMATION;..
25500 0d 0a 61 6c 69 61 73 20 5f 41 43 54 49 56 41 54  ..alias _ACTIVAT
25510 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41  ION_CONTEXT_DETA
25520 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ILED_INFORMATION
25530 2a 20 50 43 41 43 54 49 56 41 54 49 4f 4e 5f 43  * PCACTIVATION_C
25540 4f 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f  ONTEXT_DETAILED_
25550 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a  INFORMATION;....
25560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c  enum : uint { DL
25570 4c 5f 50 52 4f 43 45 53 53 5f 41 54 54 41 43 48  L_PROCESS_ATTACH
25580 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
25590 69 6e 74 20 7b 20 44 4c 4c 5f 54 48 52 45 41 44  int { DLL_THREAD
255a0 5f 41 54 54 41 43 48 20 3d 20 32 20 7d 0d 0a 65  _ATTACH = 2 }..e
255b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 4c  num : uint { DLL
255c0 5f 54 48 52 45 41 44 5f 44 45 54 41 43 48 20 3d  _THREAD_DETACH =
255d0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
255e0 74 20 7b 20 44 4c 4c 5f 50 52 4f 43 45 53 53 5f  t { DLL_PROCESS_
255f0 44 45 54 41 43 48 20 3d 20 30 20 7d 0d 0a 65 6e  DETACH = 0 }..en
25600 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 4c 5f  um : uint { DLL_
25610 50 52 4f 43 45 53 53 5f 56 45 52 49 46 49 45 52  PROCESS_VERIFIER
25620 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 4 }....enum :
25630 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
25640 5f 53 45 51 55 45 4e 54 49 41 4c 5f 52 45 41 44  _SEQUENTIAL_READ
25650 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
25660 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
25670 4c 4f 47 5f 53 45 45 4b 5f 52 45 41 44 20 3d 20  LOG_SEEK_READ = 
25680 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
25690 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
256a0 5f 46 4f 52 57 41 52 44 53 5f 52 45 41 44 20 3d  _FORWARDS_READ =
256b0 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
256c0 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f  : uint { EVENTLO
256d0 47 5f 42 41 43 4b 57 41 52 44 53 5f 52 45 41 44  G_BACKWARDS_READ
256e0 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d 0a 65   = 0x0008 }....e
256f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
25700 4e 54 4c 4f 47 5f 53 55 43 43 45 53 53 20 3d 20  NTLOG_SUCCESS = 
25710 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
25720 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
25730 5f 45 52 52 4f 52 5f 54 59 50 45 20 3d 20 30 78  _ERROR_TYPE = 0x
25740 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
25750 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 57  int { EVENTLOG_W
25760 41 52 4e 49 4e 47 5f 54 59 50 45 20 3d 20 30 78  ARNING_TYPE = 0x
25770 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
25780 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 49  int { EVENTLOG_I
25790 4e 46 4f 52 4d 41 54 49 4f 4e 5f 54 59 50 45 20  NFORMATION_TYPE 
257a0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
257b0 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c   : uint { EVENTL
257c0 4f 47 5f 41 55 44 49 54 5f 53 55 43 43 45 53 53  OG_AUDIT_SUCCESS
257d0 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75   = 0x0008 }..enu
257e0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
257f0 4c 4f 47 5f 41 55 44 49 54 5f 46 41 49 4c 55 52  LOG_AUDIT_FAILUR
25800 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d 0a  E = 0x0010 }....
25810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
25820 45 4e 54 4c 4f 47 5f 53 54 41 52 54 5f 50 41 49  ENTLOG_START_PAI
25830 52 45 44 5f 45 56 45 4e 54 20 3d 20 30 78 30 30  RED_EVENT = 0x00
25840 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
25850 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 45 4e 44  t { EVENTLOG_END
25860 5f 50 41 49 52 45 44 5f 45 56 45 4e 54 20 3d 20  _PAIRED_EVENT = 
25870 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
25880 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
25890 5f 45 4e 44 5f 41 4c 4c 5f 50 41 49 52 45 44 5f  _END_ALL_PAIRED_
258a0 45 56 45 4e 54 53 20 3d 20 30 78 30 30 30 34 20  EVENTS = 0x0004 
258b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
258c0 20 45 56 45 4e 54 4c 4f 47 5f 50 41 49 52 45 44   EVENTLOG_PAIRED
258d0 5f 45 56 45 4e 54 5f 41 43 54 49 56 45 20 3d 20  _EVENT_ACTIVE = 
258e0 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
258f0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
25900 5f 50 41 49 52 45 44 5f 45 56 45 4e 54 5f 49 4e  _PAIRED_EVENT_IN
25910 41 43 54 49 56 45 20 3d 20 30 78 30 30 31 30 20  ACTIVE = 0x0010 
25920 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 45 56 45  }....struct _EVE
25930 4e 54 4c 4f 47 52 45 43 4f 52 44 20 7b 0d 0a 20  NTLOGRECORD {.. 
25940 20 44 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0d 0a   DWORD Length;..
25950 20 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64    DWORD Reserved
25960 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65 63 6f 72  ;..  DWORD Recor
25970 64 4e 75 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52  dNumber;..  DWOR
25980 44 20 54 69 6d 65 47 65 6e 65 72 61 74 65 64 3b  D TimeGenerated;
25990 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 57 72  ..  DWORD TimeWr
259a0 69 74 74 65 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  itten;..  DWORD 
259b0 45 76 65 6e 74 49 44 3b 0d 0a 20 20 57 4f 52 44  EventID;..  WORD
259c0 20 45 76 65 6e 74 54 79 70 65 3b 0d 0a 20 20 57   EventType;..  W
259d0 4f 52 44 20 4e 75 6d 53 74 72 69 6e 67 73 3b 0d  ORD NumStrings;.
259e0 0a 20 20 57 4f 52 44 20 45 76 65 6e 74 43 61 74  .  WORD EventCat
259f0 65 67 6f 72 79 3b 0d 0a 20 20 57 4f 52 44 20 52  egory;..  WORD R
25a00 65 73 65 72 76 65 64 46 6c 61 67 73 3b 0d 0a 20  eservedFlags;.. 
25a10 20 44 57 4f 52 44 20 43 6c 6f 73 69 6e 67 52 65   DWORD ClosingRe
25a20 63 6f 72 64 4e 75 6d 62 65 72 3b 0d 0a 20 20 44  cordNumber;..  D
25a30 57 4f 52 44 20 53 74 72 69 6e 67 4f 66 66 73 65  WORD StringOffse
25a40 74 3b 0d 0a 20 20 44 57 4f 52 44 20 55 73 65 72  t;..  DWORD User
25a50 53 69 64 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57  SidLength;..  DW
25a60 4f 52 44 20 55 73 65 72 53 69 64 4f 66 66 73 65  ORD UserSidOffse
25a70 74 3b 0d 0a 20 20 44 57 4f 52 44 20 44 61 74 61  t;..  DWORD Data
25a80 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57 4f 52 44  Length;..  DWORD
25a90 20 44 61 74 61 4f 66 66 73 65 74 3b 0d 0a 0d 0a   DataOffset;....
25aa0 7d 0d 0a 61 6c 69 61 73 20 5f 45 56 45 4e 54 4c  }..alias _EVENTL
25ab0 4f 47 52 45 43 4f 52 44 20 45 56 45 4e 54 4c 4f  OGRECORD EVENTLO
25ac0 47 52 45 43 4f 52 44 3b 0d 0a 61 6c 69 61 73 20  GRECORD;..alias 
25ad0 5f 45 56 45 4e 54 4c 4f 47 52 45 43 4f 52 44 2a  _EVENTLOGRECORD*
25ae0 20 50 45 56 45 4e 54 4c 4f 47 52 45 43 4f 52 44   PEVENTLOGRECORD
25af0 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
25b00 20 7b 20 4d 41 58 4c 4f 47 49 43 41 4c 4c 4f 47   { MAXLOGICALLOG
25b10 4e 41 4d 45 53 49 5a 45 20 3d 20 32 35 36 20 7d  NAMESIZE = 256 }
25b20 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 43 5f  ....// #if _MSC_
25b30 56 45 52 20 3e 3d 20 31 32 30 30 0d 0a 2f 2f 20  VER >= 1200..// 
25b40 23 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28  #pragma warning(
25b50 70 75 73 68 29 0d 0a 2f 2f 20 23 65 6e 64 69 66  push)..// #endif
25b60 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72  ..// #pragma war
25b70 6e 69 6e 67 28 64 69 73 61 62 6c 65 20 3a 20 34  ning(disable : 4
25b80 32 30 30 29 0d 0a 73 74 72 75 63 74 20 5f 45 56  200)..struct _EV
25b90 45 4e 54 53 46 4f 52 4c 4f 47 46 49 4c 45 20 7b  ENTSFORLOGFILE {
25ba0 0d 0a 20 20 44 57 4f 52 44 20 75 6c 53 69 7a 65  ..  DWORD ulSize
25bb0 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 4c 6f 67  ;..  WCHAR szLog
25bc0 69 63 61 6c 4c 6f 67 46 69 6c 65 5b 4d 41 58 4c  icalLogFile[MAXL
25bd0 4f 47 49 43 41 4c 4c 4f 47 4e 41 4d 45 53 49 5a  OGICALLOGNAMESIZ
25be0 45 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4e  E];..  DWORD ulN
25bf0 75 6d 52 65 63 6f 72 64 73 3b 0d 0a 20 20 45 56  umRecords;..  EV
25c00 45 4e 54 4c 4f 47 52 45 43 4f 52 44 20 70 45 76  ENTLOGRECORD pEv
25c10 65 6e 74 4c 6f 67 52 65 63 6f 72 64 73 5b 5d 3b  entLogRecords[];
25c20 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 45 56 45 4e  ..}..alias _EVEN
25c30 54 53 46 4f 52 4c 4f 47 46 49 4c 45 20 45 56 45  TSFORLOGFILE EVE
25c40 4e 54 53 46 4f 52 4c 4f 47 46 49 4c 45 3b 0d 0a  NTSFORLOGFILE;..
25c50 61 6c 69 61 73 20 5f 45 56 45 4e 54 53 46 4f 52  alias _EVENTSFOR
25c60 4c 4f 47 46 49 4c 45 2a 20 50 45 56 45 4e 54 53  LOGFILE* PEVENTS
25c70 46 4f 52 4c 4f 47 46 49 4c 45 3b 0d 0a 0d 0a 73  FORLOGFILE;....s
25c80 74 72 75 63 74 20 5f 50 41 43 4b 45 44 45 56 45  truct _PACKEDEVE
25c90 4e 54 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52  NTINFO {..  DWOR
25ca0 44 20 75 6c 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  D ulSize;..  DWO
25cb0 52 44 20 75 6c 4e 75 6d 45 76 65 6e 74 73 46 6f  RD ulNumEventsFo
25cc0 72 4c 6f 67 46 69 6c 65 3b 0d 0a 20 20 44 57 4f  rLogFile;..  DWO
25cd0 52 44 20 75 6c 4f 66 66 73 65 74 73 5b 5d 3b 0d  RD ulOffsets[];.
25ce0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 41 43 4b 45  .}..alias _PACKE
25cf0 44 45 56 45 4e 54 49 4e 46 4f 20 50 41 43 4b 45  DEVENTINFO PACKE
25d00 44 45 56 45 4e 54 49 4e 46 4f 3b 0d 0a 61 6c 69  DEVENTINFO;..ali
25d10 61 73 20 5f 50 41 43 4b 45 44 45 56 45 4e 54 49  as _PACKEDEVENTI
25d20 4e 46 4f 2a 20 50 50 41 43 4b 45 44 45 56 45 4e  NFO* PPACKEDEVEN
25d30 54 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  TINFO;....// #if
25d40 20 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30   _MSC_VER >= 120
25d50 30 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61  0..// #pragma wa
25d60 72 6e 69 6e 67 28 70 6f 70 29 0d 0a 2f 2f 20 23  rning(pop)..// #
25d70 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
25d80 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
25d90 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 51 55   : uint { KEY_QU
25da0 45 52 59 5f 56 41 4c 55 45 20 3d 20 30 78 30 30  ERY_VALUE = 0x00
25db0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
25dc0 74 20 7b 20 4b 45 59 5f 53 45 54 5f 56 41 4c 55  t { KEY_SET_VALU
25dd0 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  E = 0x0002 }..en
25de0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f  um : uint { KEY_
25df0 43 52 45 41 54 45 5f 53 55 42 5f 4b 45 59 20 3d  CREATE_SUB_KEY =
25e00 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
25e10 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 45 4e 55  : uint { KEY_ENU
25e20 4d 45 52 41 54 45 5f 53 55 42 5f 4b 45 59 53 20  MERATE_SUB_KEYS 
25e30 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
25e40 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 4e 4f   : uint { KEY_NO
25e50 54 49 46 59 20 3d 20 30 78 30 30 31 30 20 7d 0d  TIFY = 0x0010 }.
25e60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b  .enum : uint { K
25e70 45 59 5f 43 52 45 41 54 45 5f 4c 49 4e 4b 20 3d  EY_CREATE_LINK =
25e80 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
25e90 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 57 4f 57  : uint { KEY_WOW
25ea0 36 34 5f 33 32 4b 45 59 20 3d 20 30 78 30 32 30  64_32KEY = 0x020
25eb0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25ec0 20 7b 20 4b 45 59 5f 57 4f 57 36 34 5f 36 34 4b   { KEY_WOW64_64K
25ed0 45 59 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65  EY = 0x0100 }..e
25ee0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59  num : uint { KEY
25ef0 5f 57 4f 57 36 34 5f 52 45 53 20 3d 20 30 78 30  _WOW64_RES = 0x0
25f00 33 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  300 }....enum : 
25f10 75 69 6e 74 20 7b 20 4b 45 59 5f 52 45 41 44 20  uint { KEY_READ 
25f20 3d 20 28 53 54 41 4e 44 41 52 44 5f 52 49 47 48  = (STANDARD_RIGH
25f30 54 53 5f 52 45 41 44 20 7c 20 4b 45 59 5f 51 55  TS_READ | KEY_QU
25f40 45 52 59 5f 56 41 4c 55 45 20 7c 20 4b 45 59 5f  ERY_VALUE | KEY_
25f50 45 4e 55 4d 45 52 41 54 45 5f 53 55 42 5f 4b 45  ENUMERATE_SUB_KE
25f60 59 53 20 7c 20 4b 45 59 5f 4e 4f 54 49 46 59 29  YS | KEY_NOTIFY)
25f70 20 26 20 28 7e 53 59 4e 43 48 52 4f 4e 49 5a 45   & (~SYNCHRONIZE
25f80 29 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ) }....enum : ui
25f90 6e 74 20 7b 20 4b 45 59 5f 57 52 49 54 45 20 3d  nt { KEY_WRITE =
25fa0 20 28 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54   (STANDARD_RIGHT
25fb0 53 5f 57 52 49 54 45 20 7c 20 4b 45 59 5f 53 45  S_WRITE | KEY_SE
25fc0 54 5f 56 41 4c 55 45 20 7c 20 4b 45 59 5f 43 52  T_VALUE | KEY_CR
25fd0 45 41 54 45 5f 53 55 42 5f 4b 45 59 29 20 26 20  EATE_SUB_KEY) & 
25fe0 28 7e 53 59 4e 43 48 52 4f 4e 49 5a 45 29 20 7d  (~SYNCHRONIZE) }
25ff0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
26000 7b 20 4b 45 59 5f 45 58 45 43 55 54 45 20 3d 20  { KEY_EXECUTE = 
26010 4b 45 59 5f 52 45 41 44 20 26 20 7e 53 59 4e 43  KEY_READ & ~SYNC
26020 48 52 4f 4e 49 5a 45 20 7d 0d 0a 0d 0a 65 6e 75  HRONIZE }....enu
26030 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 41  m : uint { KEY_A
26040 4c 4c 5f 41 43 43 45 53 53 20 3d 20 28 53 54 41  LL_ACCESS = (STA
26050 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 41 4c 4c  NDARD_RIGHTS_ALL
26060 20 7c 20 4b 45 59 5f 51 55 45 52 59 5f 56 41 4c   | KEY_QUERY_VAL
26070 55 45 20 7c 20 4b 45 59 5f 53 45 54 5f 56 41 4c  UE | KEY_SET_VAL
26080 55 45 20 7c 20 4b 45 59 5f 43 52 45 41 54 45 5f  UE | KEY_CREATE_
26090 53 55 42 5f 4b 45 59 20 7c 20 4b 45 59 5f 45 4e  SUB_KEY | KEY_EN
260a0 55 4d 45 52 41 54 45 5f 53 55 42 5f 4b 45 59 53  UMERATE_SUB_KEYS
260b0 20 7c 20 4b 45 59 5f 4e 4f 54 49 46 59 20 7c 20   | KEY_NOTIFY | 
260c0 4b 45 59 5f 43 52 45 41 54 45 5f 4c 49 4e 4b 29  KEY_CREATE_LINK)
260d0 20 26 20 28 7e 53 59 4e 43 48 52 4f 4e 49 5a 45   & (~SYNCHRONIZE
260e0 29 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ) }....enum : ui
260f0 6e 74 20 7b 20 52 45 47 5f 4f 50 54 49 4f 4e 5f  nt { REG_OPTION_
26100 52 45 53 45 52 56 45 44 20 3d 20 30 78 30 30 30  RESERVED = 0x000
26110 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
26120 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4f 50 54  : uint { REG_OPT
26130 49 4f 4e 5f 4e 4f 4e 5f 56 4f 4c 41 54 49 4c 45  ION_NON_VOLATILE
26140 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
26150 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
26160 20 52 45 47 5f 4f 50 54 49 4f 4e 5f 56 4f 4c 41   REG_OPTION_VOLA
26170 54 49 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30  TILE = 0x0000000
26180 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  1 }....enum : ui
26190 6e 74 20 7b 20 52 45 47 5f 4f 50 54 49 4f 4e 5f  nt { REG_OPTION_
261a0 43 52 45 41 54 45 5f 4c 49 4e 4b 20 3d 20 30 78  CREATE_LINK = 0x
261b0 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e  00000002 }....en
261c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
261d0 4f 50 54 49 4f 4e 5f 42 41 43 4b 55 50 5f 52 45  OPTION_BACKUP_RE
261e0 53 54 4f 52 45 20 3d 20 30 78 30 30 30 30 30 30  STORE = 0x000000
261f0 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  04 }....enum : u
26200 69 6e 74 20 7b 20 52 45 47 5f 4f 50 54 49 4f 4e  int { REG_OPTION
26210 5f 4f 50 45 4e 5f 4c 49 4e 4b 20 3d 20 30 78 30  _OPEN_LINK = 0x0
26220 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75  0000008 }....enu
26230 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4c  m : uint { REG_L
26240 45 47 41 4c 5f 4f 50 54 49 4f 4e 20 3d 20 52 45  EGAL_OPTION = RE
26250 47 5f 4f 50 54 49 4f 4e 5f 52 45 53 45 52 56 45  G_OPTION_RESERVE
26260 44 20 7c 20 52 45 47 5f 4f 50 54 49 4f 4e 5f 4e  D | REG_OPTION_N
26270 4f 4e 5f 56 4f 4c 41 54 49 4c 45 20 7c 20 52 45  ON_VOLATILE | RE
26280 47 5f 4f 50 54 49 4f 4e 5f 56 4f 4c 41 54 49 4c  G_OPTION_VOLATIL
26290 45 20 7c 20 52 45 47 5f 4f 50 54 49 4f 4e 5f 43  E | REG_OPTION_C
262a0 52 45 41 54 45 5f 4c 49 4e 4b 20 7c 20 52 45 47  REATE_LINK | REG
262b0 5f 4f 50 54 49 4f 4e 5f 42 41 43 4b 55 50 5f 52  _OPTION_BACKUP_R
262c0 45 53 54 4f 52 45 20 7c 20 52 45 47 5f 4f 50 54  ESTORE | REG_OPT
262d0 49 4f 4e 5f 4f 50 45 4e 5f 4c 49 4e 4b 20 7d 0d  ION_OPEN_LINK }.
262e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
262f0 20 52 45 47 5f 43 52 45 41 54 45 44 5f 4e 45 57   REG_CREATED_NEW
26300 5f 4b 45 59 20 3d 20 30 78 30 30 30 30 30 30 30  _KEY = 0x0000000
26310 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
26320 20 7b 20 52 45 47 5f 4f 50 45 4e 45 44 5f 45 58   { REG_OPENED_EX
26330 49 53 54 49 4e 47 5f 4b 45 59 20 3d 20 30 78 30  ISTING_KEY = 0x0
26340 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75  0000002 }....enu
26350 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 53  m : uint { REG_S
26360 54 41 4e 44 41 52 44 5f 46 4f 52 4d 41 54 20 3d  TANDARD_FORMAT =
26370 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
26380 74 20 7b 20 52 45 47 5f 4c 41 54 45 53 54 5f 46  t { REG_LATEST_F
26390 4f 52 4d 41 54 20 3d 20 32 20 7d 0d 0a 65 6e 75  ORMAT = 2 }..enu
263a0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4e  m : uint { REG_N
263b0 4f 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20 3d 20  O_COMPRESSION = 
263c0 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
263d0 6e 74 20 7b 20 52 45 47 5f 57 48 4f 4c 45 5f 48  nt { REG_WHOLE_H
263e0 49 56 45 5f 56 4f 4c 41 54 49 4c 45 20 3d 20 30  IVE_VOLATILE = 0
263f0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
26400 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 52  m : uint { REG_R
26410 45 46 52 45 53 48 5f 48 49 56 45 20 3d 20 30 78  EFRESH_HIVE = 0x
26420 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
26430 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4e 4f   : uint { REG_NO
26440 5f 4c 41 5a 59 5f 46 4c 55 53 48 20 3d 20 30 78  _LAZY_FLUSH = 0x
26450 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
26460 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 46 4f   : uint { REG_FO
26470 52 43 45 5f 52 45 53 54 4f 52 45 20 3d 20 30 78  RCE_RESTORE = 0x
26480 30 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e  00000008 }....en
26490 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
264a0 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4e 41  NOTIFY_CHANGE_NA
264b0 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ME = 0x00000001 
264c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
264d0 20 52 45 47 5f 4e 4f 54 49 46 59 5f 43 48 41 4e   REG_NOTIFY_CHAN
264e0 47 45 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20  GE_ATTRIBUTES = 
264f0 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
26500 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
26510 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41  NOTIFY_CHANGE_LA
26520 53 54 5f 53 45 54 20 3d 20 30 78 30 30 30 30 30  ST_SET = 0x00000
26530 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
26540 6e 74 20 7b 20 52 45 47 5f 4e 4f 54 49 46 59 5f  nt { REG_NOTIFY_
26550 43 48 41 4e 47 45 5f 53 45 43 55 52 49 54 59 20  CHANGE_SECURITY 
26560 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
26570 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26580 52 45 47 5f 4c 45 47 41 4c 5f 43 48 41 4e 47 45  REG_LEGAL_CHANGE
26590 5f 46 49 4c 54 45 52 20 3d 20 52 45 47 5f 4e 4f  _FILTER = REG_NO
265a0 54 49 46 59 5f 43 48 41 4e 47 45 5f 4e 41 4d 45  TIFY_CHANGE_NAME
265b0 20 7c 20 52 45 47 5f 4e 4f 54 49 46 59 5f 43 48   | REG_NOTIFY_CH
265c0 41 4e 47 45 5f 41 54 54 52 49 42 55 54 45 53 20  ANGE_ATTRIBUTES 
265d0 7c 20 52 45 47 5f 4e 4f 54 49 46 59 5f 43 48 41  | REG_NOTIFY_CHA
265e0 4e 47 45 5f 4c 41 53 54 5f 53 45 54 20 7c 20 52  NGE_LAST_SET | R
265f0 45 47 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  EG_NOTIFY_CHANGE
26600 5f 53 45 43 55 52 49 54 59 20 7d 0d 0a 0d 0a 65  _SECURITY }....e
26610 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47  num : uint { REG
26620 5f 4e 4f 4e 45 20 3d 20 30 20 7d 0d 0a 65 6e 75  _NONE = 0 }..enu
26630 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 53  m : uint { REG_S
26640 5a 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  Z = 1 }..enum : 
26650 75 69 6e 74 20 7b 20 52 45 47 5f 45 58 50 41 4e  uint { REG_EXPAN
26660 44 5f 53 5a 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e  D_SZ = 2 }....en
26670 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
26680 42 49 4e 41 52 59 20 3d 20 33 20 7d 0d 0a 65 6e  BINARY = 3 }..en
26690 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
266a0 44 57 4f 52 44 20 3d 20 34 20 7d 0d 0a 65 6e 75  DWORD = 4 }..enu
266b0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 44  m : uint { REG_D
266c0 57 4f 52 44 5f 4c 49 54 54 4c 45 5f 45 4e 44 49  WORD_LITTLE_ENDI
266d0 41 4e 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  AN = 4 }..enum :
266e0 20 75 69 6e 74 20 7b 20 52 45 47 5f 44 57 4f 52   uint { REG_DWOR
266f0 44 5f 42 49 47 5f 45 4e 44 49 41 4e 20 3d 20 35  D_BIG_ENDIAN = 5
26700 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
26710 7b 20 52 45 47 5f 4c 49 4e 4b 20 3d 20 36 20 7d  { REG_LINK = 6 }
26720 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26730 52 45 47 5f 4d 55 4c 54 49 5f 53 5a 20 3d 20 37  REG_MULTI_SZ = 7
26740 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
26750 7b 20 52 45 47 5f 52 45 53 4f 55 52 43 45 5f 4c  { REG_RESOURCE_L
26760 49 53 54 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  IST = 8 }..enum 
26770 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 46 55 4c  : uint { REG_FUL
26780 4c 5f 52 45 53 4f 55 52 43 45 5f 44 45 53 43 52  L_RESOURCE_DESCR
26790 49 50 54 4f 52 20 3d 20 39 20 7d 0d 0a 65 6e 75  IPTOR = 9 }..enu
267a0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 52  m : uint { REG_R
267b0 45 53 4f 55 52 43 45 5f 52 45 51 55 49 52 45 4d  ESOURCE_REQUIREM
267c0 45 4e 54 53 5f 4c 49 53 54 20 3d 20 31 30 20 7d  ENTS_LIST = 10 }
267d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
267e0 52 45 47 5f 51 57 4f 52 44 20 3d 20 31 31 20 7d  REG_QWORD = 11 }
267f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26800 52 45 47 5f 51 57 4f 52 44 5f 4c 49 54 54 4c 45  REG_QWORD_LITTLE
26810 5f 45 4e 44 49 41 4e 20 3d 20 31 31 20 7d 0d 0a  _ENDIAN = 11 }..
26820 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26830 53 45 52 56 49 43 45 5f 4b 45 52 4e 45 4c 5f 44  SERVICE_KERNEL_D
26840 52 49 56 45 52 20 3d 20 30 78 30 30 30 30 30 30  RIVER = 0x000000
26850 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
26860 74 20 7b 20 53 45 52 56 49 43 45 5f 46 49 4c 45  t { SERVICE_FILE
26870 5f 53 59 53 54 45 4d 5f 44 52 49 56 45 52 20 3d  _SYSTEM_DRIVER =
26880 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
26890 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 52  num : uint { SER
268a0 56 49 43 45 5f 41 44 41 50 54 45 52 20 3d 20 30  VICE_ADAPTER = 0
268b0 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
268c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49  m : uint { SERVI
268d0 43 45 5f 52 45 43 4f 47 4e 49 5a 45 52 5f 44 52  CE_RECOGNIZER_DR
268e0 49 56 45 52 20 3d 20 30 78 30 30 30 30 30 30 30  IVER = 0x0000000
268f0 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
26900 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 44 52 49  nt { SERVICE_DRI
26910 56 45 52 20 3d 20 53 45 52 56 49 43 45 5f 4b 45  VER = SERVICE_KE
26920 52 4e 45 4c 5f 44 52 49 56 45 52 20 7c 20 53 45  RNEL_DRIVER | SE
26930 52 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45  RVICE_FILE_SYSTE
26940 4d 5f 44 52 49 56 45 52 20 7c 20 53 45 52 56 49  M_DRIVER | SERVI
26950 43 45 5f 52 45 43 4f 47 4e 49 5a 45 52 5f 44 52  CE_RECOGNIZER_DR
26960 49 56 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  IVER }....enum :
26970 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f   uint { SERVICE_
26980 57 49 4e 33 32 5f 4f 57 4e 5f 50 52 4f 43 45 53  WIN32_OWN_PROCES
26990 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  S = 0x00000010 }
269a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
269b0 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f 53 48  SERVICE_WIN32_SH
269c0 41 52 45 5f 50 52 4f 43 45 53 53 20 3d 20 30 78  ARE_PROCESS = 0x
269d0 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  00000020 }..enum
269e0 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43   : uint { SERVIC
269f0 45 5f 57 49 4e 33 32 20 3d 20 53 45 52 56 49 43  E_WIN32 = SERVIC
26a00 45 5f 57 49 4e 33 32 5f 4f 57 4e 5f 50 52 4f 43  E_WIN32_OWN_PROC
26a10 45 53 53 20 7c 20 53 45 52 56 49 43 45 5f 57 49  ESS | SERVICE_WI
26a20 4e 33 32 5f 53 48 41 52 45 5f 50 52 4f 43 45 53  N32_SHARE_PROCES
26a30 53 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  S }....enum : ui
26a40 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 49 4e 54  nt { SERVICE_INT
26a50 45 52 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53  ERACTIVE_PROCESS
26a60 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
26a70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
26a80 20 53 45 52 56 49 43 45 5f 54 59 50 45 5f 41 4c   SERVICE_TYPE_AL
26a90 4c 20 3d 20 53 45 52 56 49 43 45 5f 57 49 4e 33  L = SERVICE_WIN3
26aa0 32 20 7c 20 53 45 52 56 49 43 45 5f 41 44 41 50  2 | SERVICE_ADAP
26ab0 54 45 52 20 7c 20 53 45 52 56 49 43 45 5f 44 52  TER | SERVICE_DR
26ac0 49 56 45 52 20 7c 20 53 45 52 56 49 43 45 5f 49  IVER | SERVICE_I
26ad0 4e 54 45 52 41 43 54 49 56 45 5f 50 52 4f 43 45  NTERACTIVE_PROCE
26ae0 53 53 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  SS }....enum : u
26af0 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 42 4f  int { SERVICE_BO
26b00 4f 54 5f 53 54 41 52 54 20 3d 20 30 78 30 30 30  OT_START = 0x000
26b10 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
26b20 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 53  uint { SERVICE_S
26b30 59 53 54 45 4d 5f 53 54 41 52 54 20 3d 20 30 78  YSTEM_START = 0x
26b40 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
26b50 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43   : uint { SERVIC
26b60 45 5f 41 55 54 4f 5f 53 54 41 52 54 20 3d 20 30  E_AUTO_START = 0
26b70 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
26b80 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49  m : uint { SERVI
26b90 43 45 5f 44 45 4d 41 4e 44 5f 53 54 41 52 54 20  CE_DEMAND_START 
26ba0 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a  = 0x00000003 }..
26bb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
26bc0 52 56 49 43 45 5f 44 49 53 41 42 4c 45 44 20 3d  RVICE_DISABLED =
26bd0 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d   0x00000004 }...
26be0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
26bf0 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 49 47 4e  ERVICE_ERROR_IGN
26c00 4f 52 45 20 3d 20 30 78 30 30 30 30 30 30 30 30  ORE = 0x00000000
26c10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
26c20 7b 20 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f  { SERVICE_ERROR_
26c30 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30  NORMAL = 0x00000
26c40 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
26c50 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 45 52 52  nt { SERVICE_ERR
26c60 4f 52 5f 53 45 56 45 52 45 20 3d 20 30 78 30 30  OR_SEVERE = 0x00
26c70 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
26c80 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f   uint { SERVICE_
26c90 45 52 52 4f 52 5f 43 52 49 54 49 43 41 4c 20 3d  ERROR_CRITICAL =
26ca0 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 0d   0x00000003 }...
26cb0 0a 61 6c 69 61 73 20 69 6e 74 20 5f 43 4d 5f 53  .alias int _CM_S
26cc0 45 52 56 49 43 45 5f 4e 4f 44 45 5f 54 59 50 45  ERVICE_NODE_TYPE
26cd0 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 44 72 69  ;..enum {..  Dri
26ce0 76 65 72 54 79 70 65 20 3d 20 53 45 52 56 49 43  verType = SERVIC
26cf0 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56 45 52 2c  E_KERNEL_DRIVER,
26d00 0d 0a 20 20 46 69 6c 65 53 79 73 74 65 6d 54 79  ..  FileSystemTy
26d10 70 65 20 3d 20 53 45 52 56 49 43 45 5f 46 49 4c  pe = SERVICE_FIL
26d20 45 5f 53 59 53 54 45 4d 5f 44 52 49 56 45 52 2c  E_SYSTEM_DRIVER,
26d30 0d 0a 20 20 57 69 6e 33 32 53 65 72 76 69 63 65  ..  Win32Service
26d40 4f 77 6e 50 72 6f 63 65 73 73 20 3d 20 53 45 52  OwnProcess = SER
26d50 56 49 43 45 5f 57 49 4e 33 32 5f 4f 57 4e 5f 50  VICE_WIN32_OWN_P
26d60 52 4f 43 45 53 53 2c 0d 0a 20 20 57 69 6e 33 32  ROCESS,..  Win32
26d70 53 65 72 76 69 63 65 53 68 61 72 65 50 72 6f 63  ServiceShareProc
26d80 65 73 73 20 3d 20 53 45 52 56 49 43 45 5f 57 49  ess = SERVICE_WI
26d90 4e 33 32 5f 53 48 41 52 45 5f 50 52 4f 43 45 53  N32_SHARE_PROCES
26da0 53 2c 0d 0a 20 20 41 64 61 70 74 65 72 54 79 70  S,..  AdapterTyp
26db0 65 20 3d 20 53 45 52 56 49 43 45 5f 41 44 41 50  e = SERVICE_ADAP
26dc0 54 45 52 2c 0d 0a 20 20 52 65 63 6f 67 6e 69 7a  TER,..  Recogniz
26dd0 65 72 54 79 70 65 20 3d 20 53 45 52 56 49 43 45  erType = SERVICE
26de0 5f 52 45 43 4f 47 4e 49 5a 45 52 5f 44 52 49 56  _RECOGNIZER_DRIV
26df0 45 52 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43  ER,..}..alias _C
26e00 4d 5f 53 45 52 56 49 43 45 5f 4e 4f 44 45 5f 54  M_SERVICE_NODE_T
26e10 59 50 45 20 53 45 52 56 49 43 45 5f 4e 4f 44 45  YPE SERVICE_NODE
26e20 5f 54 59 50 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20  _TYPE;....alias 
26e30 69 6e 74 20 5f 43 4d 5f 53 45 52 56 49 43 45 5f  int _CM_SERVICE_
26e40 4c 4f 41 44 5f 54 59 50 45 3b 0d 0a 65 6e 75 6d  LOAD_TYPE;..enum
26e50 20 7b 0d 0a 20 20 42 6f 6f 74 4c 6f 61 64 20 3d   {..  BootLoad =
26e60 20 53 45 52 56 49 43 45 5f 42 4f 4f 54 5f 53 54   SERVICE_BOOT_ST
26e70 41 52 54 2c 0d 0a 20 20 53 79 73 74 65 6d 4c 6f  ART,..  SystemLo
26e80 61 64 20 3d 20 53 45 52 56 49 43 45 5f 53 59 53  ad = SERVICE_SYS
26e90 54 45 4d 5f 53 54 41 52 54 2c 0d 0a 20 20 41 75  TEM_START,..  Au
26ea0 74 6f 4c 6f 61 64 20 3d 20 53 45 52 56 49 43 45  toLoad = SERVICE
26eb0 5f 41 55 54 4f 5f 53 54 41 52 54 2c 0d 0a 20 20  _AUTO_START,..  
26ec0 44 65 6d 61 6e 64 4c 6f 61 64 20 3d 20 53 45 52  DemandLoad = SER
26ed0 56 49 43 45 5f 44 45 4d 41 4e 44 5f 53 54 41 52  VICE_DEMAND_STAR
26ee0 54 2c 0d 0a 20 20 44 69 73 61 62 6c 65 4c 6f 61  T,..  DisableLoa
26ef0 64 20 3d 20 53 45 52 56 49 43 45 5f 44 49 53 41  d = SERVICE_DISA
26f00 42 4c 45 44 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20  BLED,..}..alias 
26f10 5f 43 4d 5f 53 45 52 56 49 43 45 5f 4c 4f 41 44  _CM_SERVICE_LOAD
26f20 5f 54 59 50 45 20 53 45 52 56 49 43 45 5f 4c 4f  _TYPE SERVICE_LO
26f30 41 44 5f 54 59 50 45 3b 0d 0a 0d 0a 61 6c 69 61  AD_TYPE;....alia
26f40 73 20 69 6e 74 20 5f 43 4d 5f 45 52 52 4f 52 5f  s int _CM_ERROR_
26f50 43 4f 4e 54 52 4f 4c 5f 54 59 50 45 3b 0d 0a 65  CONTROL_TYPE;..e
26f60 6e 75 6d 20 7b 0d 0a 20 20 49 67 6e 6f 72 65 45  num {..  IgnoreE
26f70 72 72 6f 72 20 3d 20 53 45 52 56 49 43 45 5f 45  rror = SERVICE_E
26f80 52 52 4f 52 5f 49 47 4e 4f 52 45 2c 0d 0a 20 20  RROR_IGNORE,..  
26f90 4e 6f 72 6d 61 6c 45 72 72 6f 72 20 3d 20 53 45  NormalError = SE
26fa0 52 56 49 43 45 5f 45 52 52 4f 52 5f 4e 4f 52 4d  RVICE_ERROR_NORM
26fb0 41 4c 2c 0d 0a 20 20 53 65 76 65 72 65 45 72 72  AL,..  SevereErr
26fc0 6f 72 20 3d 20 53 45 52 56 49 43 45 5f 45 52 52  or = SERVICE_ERR
26fd0 4f 52 5f 53 45 56 45 52 45 2c 0d 0a 20 20 43 72  OR_SEVERE,..  Cr
26fe0 69 74 69 63 61 6c 45 72 72 6f 72 20 3d 20 53 45  iticalError = SE
26ff0 52 56 49 43 45 5f 45 52 52 4f 52 5f 43 52 49 54  RVICE_ERROR_CRIT
27000 49 43 41 4c 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ICAL,..}..alias 
27010 5f 43 4d 5f 45 52 52 4f 52 5f 43 4f 4e 54 52 4f  _CM_ERROR_CONTRO
27020 4c 5f 54 59 50 45 20 53 45 52 56 49 43 45 5f 45  L_TYPE SERVICE_E
27030 52 52 4f 52 5f 54 59 50 45 3b 0d 0a 0d 0a 65 6e  RROR_TYPE;....en
27040 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27050 5f 45 52 41 53 45 5f 53 48 4f 52 54 20 3d 20 30  _ERASE_SHORT = 0
27060 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27070 7b 20 54 41 50 45 5f 45 52 41 53 45 5f 4c 4f 4e  { TAPE_ERASE_LON
27080 47 20 3d 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63  G = 1 }....struc
27090 74 20 5f 54 41 50 45 5f 45 52 41 53 45 20 7b 0d  t _TAPE_ERASE {.
270a0 0a 20 20 44 57 4f 52 44 20 54 79 70 65 3b 0d 0a  .  DWORD Type;..
270b0 20 20 42 4f 4f 4c 45 41 4e 20 49 6d 6d 65 64 69    BOOLEAN Immedi
270c0 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ate;..}..alias _
270d0 54 41 50 45 5f 45 52 41 53 45 20 54 41 50 45 5f  TAPE_ERASE TAPE_
270e0 45 52 41 53 45 3b 0d 0a 61 6c 69 61 73 20 5f 54  ERASE;..alias _T
270f0 41 50 45 5f 45 52 41 53 45 2a 20 50 54 41 50 45  APE_ERASE* PTAPE
27100 5f 45 52 41 53 45 3b 0d 0a 0d 0a 65 6e 75 6d 20  _ERASE;....enum 
27110 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 4c 4f  : uint { TAPE_LO
27120 41 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  AD = 0 }..enum :
27130 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 55 4e 4c   uint { TAPE_UNL
27140 4f 41 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  OAD = 1 }..enum 
27150 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 54 45  : uint { TAPE_TE
27160 4e 53 49 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75  NSION = 2 }..enu
27170 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
27180 4c 4f 43 4b 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  LOCK = 3 }..enum
27190 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 55   : uint { TAPE_U
271a0 4e 4c 4f 43 4b 20 3d 20 34 20 7d 0d 0a 65 6e 75  NLOCK = 4 }..enu
271b0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
271c0 46 4f 52 4d 41 54 20 3d 20 35 20 7d 0d 0a 0d 0a  FORMAT = 5 }....
271d0 73 74 72 75 63 74 20 5f 54 41 50 45 5f 50 52 45  struct _TAPE_PRE
271e0 50 41 52 45 20 7b 0d 0a 20 20 44 57 4f 52 44 20  PARE {..  DWORD 
271f0 4f 70 65 72 61 74 69 6f 6e 3b 0d 0a 20 20 42 4f  Operation;..  BO
27200 4f 4c 45 41 4e 20 49 6d 6d 65 64 69 61 74 65 3b  OLEAN Immediate;
27210 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45  ..}..alias _TAPE
27220 5f 50 52 45 50 41 52 45 20 54 41 50 45 5f 50 52  _PREPARE TAPE_PR
27230 45 50 41 52 45 3b 0d 0a 61 6c 69 61 73 20 5f 54  EPARE;..alias _T
27240 41 50 45 5f 50 52 45 50 41 52 45 2a 20 50 54 41  APE_PREPARE* PTA
27250 50 45 5f 50 52 45 50 41 52 45 3b 0d 0a 0d 0a 65  PE_PREPARE;....e
27260 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27270 45 5f 53 45 54 4d 41 52 4b 53 20 3d 20 30 20 7d  E_SETMARKS = 0 }
27280 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27290 54 41 50 45 5f 46 49 4c 45 4d 41 52 4b 53 20 3d  TAPE_FILEMARKS =
272a0 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
272b0 74 20 7b 20 54 41 50 45 5f 53 48 4f 52 54 5f 46  t { TAPE_SHORT_F
272c0 49 4c 45 4d 41 52 4b 53 20 3d 20 32 20 7d 0d 0a  ILEMARKS = 2 }..
272d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
272e0 50 45 5f 4c 4f 4e 47 5f 46 49 4c 45 4d 41 52 4b  PE_LONG_FILEMARK
272f0 53 20 3d 20 33 20 7d 0d 0a 0d 0a 73 74 72 75 63  S = 3 }....struc
27300 74 20 5f 54 41 50 45 5f 57 52 49 54 45 5f 4d 41  t _TAPE_WRITE_MA
27310 52 4b 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 54  RKS {..  DWORD T
27320 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 43 6f  ype;..  DWORD Co
27330 75 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  unt;..  BOOLEAN 
27340 49 6d 6d 65 64 69 61 74 65 3b 0d 0a 7d 0d 0a 61  Immediate;..}..a
27350 6c 69 61 73 20 5f 54 41 50 45 5f 57 52 49 54 45  lias _TAPE_WRITE
27360 5f 4d 41 52 4b 53 20 54 41 50 45 5f 57 52 49 54  _MARKS TAPE_WRIT
27370 45 5f 4d 41 52 4b 53 3b 0d 0a 61 6c 69 61 73 20  E_MARKS;..alias 
27380 5f 54 41 50 45 5f 57 52 49 54 45 5f 4d 41 52 4b  _TAPE_WRITE_MARK
27390 53 2a 20 50 54 41 50 45 5f 57 52 49 54 45 5f 4d  S* PTAPE_WRITE_M
273a0 41 52 4b 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ARKS;....enum : 
273b0 75 69 6e 74 20 7b 20 54 41 50 45 5f 41 42 53 4f  uint { TAPE_ABSO
273c0 4c 55 54 45 5f 50 4f 53 49 54 49 4f 4e 20 3d 20  LUTE_POSITION = 
273d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
273e0 20 7b 20 54 41 50 45 5f 4c 4f 47 49 43 41 4c 5f   { TAPE_LOGICAL_
273f0 50 4f 53 49 54 49 4f 4e 20 3d 20 31 20 7d 0d 0a  POSITION = 1 }..
27400 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27410 50 45 5f 50 53 45 55 44 4f 5f 4c 4f 47 49 43 41  PE_PSEUDO_LOGICA
27420 4c 5f 50 4f 53 49 54 49 4f 4e 20 3d 20 32 20 7d  L_POSITION = 2 }
27430 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50 45  ....struct _TAPE
27440 5f 47 45 54 5f 50 4f 53 49 54 49 4f 4e 20 7b 0d  _GET_POSITION {.
27450 0a 20 20 44 57 4f 52 44 20 54 79 70 65 3b 0d 0a  .  DWORD Type;..
27460 20 20 44 57 4f 52 44 20 50 61 72 74 69 74 69 6f    DWORD Partitio
27470 6e 3b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45  n;..  LARGE_INTE
27480 47 45 52 20 4f 66 66 73 65 74 3b 0d 0a 7d 0d 0a  GER Offset;..}..
27490 61 6c 69 61 73 20 5f 54 41 50 45 5f 47 45 54 5f  alias _TAPE_GET_
274a0 50 4f 53 49 54 49 4f 4e 20 54 41 50 45 5f 47 45  POSITION TAPE_GE
274b0 54 5f 50 4f 53 49 54 49 4f 4e 3b 0d 0a 61 6c 69  T_POSITION;..ali
274c0 61 73 20 5f 54 41 50 45 5f 47 45 54 5f 50 4f 53  as _TAPE_GET_POS
274d0 49 54 49 4f 4e 2a 20 50 54 41 50 45 5f 47 45 54  ITION* PTAPE_GET
274e0 5f 50 4f 53 49 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e  _POSITION;....en
274f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27500 5f 52 45 57 49 4e 44 20 3d 20 30 20 7d 0d 0a 65  _REWIND = 0 }..e
27510 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27520 45 5f 41 42 53 4f 4c 55 54 45 5f 42 4c 4f 43 4b  E_ABSOLUTE_BLOCK
27530 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
27540 69 6e 74 20 7b 20 54 41 50 45 5f 4c 4f 47 49 43  int { TAPE_LOGIC
27550 41 4c 5f 42 4c 4f 43 4b 20 3d 20 32 20 7d 0d 0a  AL_BLOCK = 2 }..
27560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27570 50 45 5f 50 53 45 55 44 4f 5f 4c 4f 47 49 43 41  PE_PSEUDO_LOGICA
27580 4c 5f 42 4c 4f 43 4b 20 3d 20 33 20 7d 0d 0a 65  L_BLOCK = 3 }..e
27590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
275a0 45 5f 53 50 41 43 45 5f 45 4e 44 5f 4f 46 5f 44  E_SPACE_END_OF_D
275b0 41 54 41 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  ATA = 4 }..enum 
275c0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 53 50  : uint { TAPE_SP
275d0 41 43 45 5f 52 45 4c 41 54 49 56 45 5f 42 4c 4f  ACE_RELATIVE_BLO
275e0 43 4b 53 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  CKS = 5 }..enum 
275f0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 53 50  : uint { TAPE_SP
27600 41 43 45 5f 46 49 4c 45 4d 41 52 4b 53 20 3d 20  ACE_FILEMARKS = 
27610 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
27620 20 7b 20 54 41 50 45 5f 53 50 41 43 45 5f 53 45   { TAPE_SPACE_SE
27630 51 55 45 4e 54 49 41 4c 5f 46 4d 4b 53 20 3d 20  QUENTIAL_FMKS = 
27640 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
27650 20 7b 20 54 41 50 45 5f 53 50 41 43 45 5f 53 45   { TAPE_SPACE_SE
27660 54 4d 41 52 4b 53 20 3d 20 38 20 7d 0d 0a 65 6e  TMARKS = 8 }..en
27670 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27680 5f 53 50 41 43 45 5f 53 45 51 55 45 4e 54 49 41  _SPACE_SEQUENTIA
27690 4c 5f 53 4d 4b 53 20 3d 20 39 20 7d 0d 0a 0d 0a  L_SMKS = 9 }....
276a0 73 74 72 75 63 74 20 5f 54 41 50 45 5f 53 45 54  struct _TAPE_SET
276b0 5f 50 4f 53 49 54 49 4f 4e 20 7b 0d 0a 20 20 44  _POSITION {..  D
276c0 57 4f 52 44 20 4d 65 74 68 6f 64 3b 0d 0a 20 20  WORD Method;..  
276d0 44 57 4f 52 44 20 50 61 72 74 69 74 69 6f 6e 3b  DWORD Partition;
276e0 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45 47 45  ..  LARGE_INTEGE
276f0 52 20 4f 66 66 73 65 74 3b 0d 0a 20 20 42 4f 4f  R Offset;..  BOO
27700 4c 45 41 4e 20 49 6d 6d 65 64 69 61 74 65 3b 0d  LEAN Immediate;.
27710 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f  .}..alias _TAPE_
27720 53 45 54 5f 50 4f 53 49 54 49 4f 4e 20 54 41 50  SET_POSITION TAP
27730 45 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 3b 0d  E_SET_POSITION;.
27740 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 53 45 54  .alias _TAPE_SET
27750 5f 50 4f 53 49 54 49 4f 4e 2a 20 50 54 41 50 45  _POSITION* PTAPE
27760 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 3b 0d 0a  _SET_POSITION;..
27770 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27780 54 41 50 45 5f 44 52 49 56 45 5f 46 49 58 45 44  TAPE_DRIVE_FIXED
27790 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
277a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
277b0 41 50 45 5f 44 52 49 56 45 5f 53 45 4c 45 43 54  APE_DRIVE_SELECT
277c0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
277d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
277e0 41 50 45 5f 44 52 49 56 45 5f 49 4e 49 54 49 41  APE_DRIVE_INITIA
277f0 54 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30 34  TOR = 0x00000004
27800 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
27810 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 45  t { TAPE_DRIVE_E
27820 52 41 53 45 5f 53 48 4f 52 54 20 3d 20 30 78 30  RASE_SHORT = 0x0
27830 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
27840 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27850 49 56 45 5f 45 52 41 53 45 5f 4c 4f 4e 47 20 3d  IVE_ERASE_LONG =
27860 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
27870 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27880 45 5f 44 52 49 56 45 5f 45 52 41 53 45 5f 42 4f  E_DRIVE_ERASE_BO
27890 50 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30  P_ONLY = 0x00000
278a0 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
278b0 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f  nt { TAPE_DRIVE_
278c0 45 52 41 53 45 5f 49 4d 4d 45 44 49 41 54 45 20  ERASE_IMMEDIATE 
278d0 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a  = 0x00000080 }..
278e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
278f0 54 41 50 45 5f 44 52 49 56 45 5f 54 41 50 45 5f  TAPE_DRIVE_TAPE_
27900 43 41 50 41 43 49 54 59 20 3d 20 30 78 30 30 30  CAPACITY = 0x000
27910 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00100 }..enum : 
27920 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56  uint { TAPE_DRIV
27930 45 5f 54 41 50 45 5f 52 45 4d 41 49 4e 49 4e 47  E_TAPE_REMAINING
27940 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d   = 0x00000200 }.
27950 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27960 41 50 45 5f 44 52 49 56 45 5f 46 49 58 45 44 5f  APE_DRIVE_FIXED_
27970 42 4c 4f 43 4b 20 3d 20 30 78 30 30 30 30 30 34  BLOCK = 0x000004
27980 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
27990 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 56  t { TAPE_DRIVE_V
279a0 41 52 49 41 42 4c 45 5f 42 4c 4f 43 4b 20 3d 20  ARIABLE_BLOCK = 
279b0 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 0d 0a  0x00000800 }....
279c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
279d0 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 50  PE_DRIVE_WRITE_P
279e0 52 4f 54 45 43 54 20 3d 20 30 78 30 30 30 30 31  ROTECT = 0x00001
279f0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
27a00 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f  nt { TAPE_DRIVE_
27a10 45 4f 54 5f 57 5a 5f 53 49 5a 45 20 3d 20 30 78  EOT_WZ_SIZE = 0x
27a20 30 30 30 30 32 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00002000 }....en
27a30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27a40 5f 44 52 49 56 45 5f 45 43 43 20 3d 20 30 78 30  _DRIVE_ECC = 0x0
27a50 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
27a60 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27a70 49 56 45 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20  IVE_COMPRESSION 
27a80 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
27a90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27aa0 50 45 5f 44 52 49 56 45 5f 50 41 44 44 49 4e 47  PE_DRIVE_PADDING
27ab0 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d   = 0x00040000 }.
27ac0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27ad0 41 50 45 5f 44 52 49 56 45 5f 52 45 50 4f 52 54  APE_DRIVE_REPORT
27ae0 5f 53 4d 4b 53 20 3d 20 30 78 30 30 30 38 30 30  _SMKS = 0x000800
27af0 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
27b00 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45  int { TAPE_DRIVE
27b10 5f 47 45 54 5f 41 42 53 4f 4c 55 54 45 5f 42 4c  _GET_ABSOLUTE_BL
27b20 4b 20 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d  K = 0x00100000 }
27b30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27b40 54 41 50 45 5f 44 52 49 56 45 5f 47 45 54 5f 4c  TAPE_DRIVE_GET_L
27b50 4f 47 49 43 41 4c 5f 42 4c 4b 20 3d 20 30 78 30  OGICAL_BLK = 0x0
27b60 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0200000 }..enum 
27b70 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27b80 49 56 45 5f 53 45 54 5f 45 4f 54 5f 57 5a 5f 53  IVE_SET_EOT_WZ_S
27b90 49 5a 45 20 3d 20 30 78 30 30 34 30 30 30 30 30  IZE = 0x00400000
27ba0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
27bb0 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 45  t { TAPE_DRIVE_E
27bc0 4a 45 43 54 5f 4d 45 44 49 41 20 3d 20 30 78 30  JECT_MEDIA = 0x0
27bd0 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  1000000 }..enum 
27be0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27bf0 49 56 45 5f 43 4c 45 41 4e 5f 52 45 51 55 45 53  IVE_CLEAN_REQUES
27c00 54 53 20 3d 20 30 78 30 32 30 30 30 30 30 30 20  TS = 0x02000000 
27c10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27c20 20 54 41 50 45 5f 44 52 49 56 45 5f 53 45 54 5f   TAPE_DRIVE_SET_
27c30 43 4d 50 5f 42 4f 50 5f 4f 4e 4c 59 20 3d 20 30  CMP_BOP_ONLY = 0
27c40 78 30 34 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65  x04000000 }....e
27c50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27c60 45 5f 44 52 49 56 45 5f 52 45 53 45 52 56 45 44  E_DRIVE_RESERVED
27c70 5f 42 49 54 20 3d 20 30 78 38 30 30 30 30 30 30  _BIT = 0x8000000
27c80 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
27c90 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f  nt { TAPE_DRIVE_
27ca0 4c 4f 41 44 5f 55 4e 4c 4f 41 44 20 3d 20 30 78  LOAD_UNLOAD = 0x
27cb0 38 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  80000001 }..enum
27cc0 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
27cd0 52 49 56 45 5f 54 45 4e 53 49 4f 4e 20 3d 20 30  RIVE_TENSION = 0
27ce0 78 38 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x80000002 }..enu
27cf0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
27d00 44 52 49 56 45 5f 4c 4f 43 4b 5f 55 4e 4c 4f 43  DRIVE_LOCK_UNLOC
27d10 4b 20 3d 20 30 78 38 30 30 30 30 30 30 34 20 7d  K = 0x80000004 }
27d20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27d30 54 41 50 45 5f 44 52 49 56 45 5f 52 45 57 49 4e  TAPE_DRIVE_REWIN
27d40 44 5f 49 4d 4d 45 44 49 41 54 45 20 3d 20 30 78  D_IMMEDIATE = 0x
27d50 38 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e  80000008 }....en
27d60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27d70 5f 44 52 49 56 45 5f 53 45 54 5f 42 4c 4f 43 4b  _DRIVE_SET_BLOCK
27d80 5f 53 49 5a 45 20 3d 20 30 78 38 30 30 30 30 30  _SIZE = 0x800000
27d90 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
27da0 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 4c  t { TAPE_DRIVE_L
27db0 4f 41 44 5f 55 4e 4c 44 5f 49 4d 4d 45 44 20 3d  OAD_UNLD_IMMED =
27dc0 20 30 78 38 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x80000020 }..e
27dd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27de0 45 5f 44 52 49 56 45 5f 54 45 4e 53 49 4f 4e 5f  E_DRIVE_TENSION_
27df0 49 4d 4d 45 44 20 3d 20 30 78 38 30 30 30 30 30  IMMED = 0x800000
27e00 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
27e10 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 4c  t { TAPE_DRIVE_L
27e20 4f 43 4b 5f 55 4e 4c 4b 5f 49 4d 4d 45 44 20 3d  OCK_UNLK_IMMED =
27e30 20 30 78 38 30 30 30 30 30 38 30 20 7d 0d 0a 0d   0x80000080 }...
27e40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27e50 41 50 45 5f 44 52 49 56 45 5f 53 45 54 5f 45 43  APE_DRIVE_SET_EC
27e60 43 20 3d 20 30 78 38 30 30 30 30 31 30 30 20 7d  C = 0x80000100 }
27e70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27e80 54 41 50 45 5f 44 52 49 56 45 5f 53 45 54 5f 43  TAPE_DRIVE_SET_C
27e90 4f 4d 50 52 45 53 53 49 4f 4e 20 3d 20 30 78 38  OMPRESSION = 0x8
27ea0 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
27eb0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27ec0 49 56 45 5f 53 45 54 5f 50 41 44 44 49 4e 47 20  IVE_SET_PADDING 
27ed0 3d 20 30 78 38 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x80000400 }..
27ee0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27ef0 50 45 5f 44 52 49 56 45 5f 53 45 54 5f 52 45 50  PE_DRIVE_SET_REP
27f00 4f 52 54 5f 53 4d 4b 53 20 3d 20 30 78 38 30 30  ORT_SMKS = 0x800
27f10 30 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00800 }....enum 
27f20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27f30 49 56 45 5f 41 42 53 4f 4c 55 54 45 5f 42 4c 4b  IVE_ABSOLUTE_BLK
27f40 20 3d 20 30 78 38 30 30 30 31 30 30 30 20 7d 0d   = 0x80001000 }.
27f50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27f60 41 50 45 5f 44 52 49 56 45 5f 41 42 53 5f 42 4c  APE_DRIVE_ABS_BL
27f70 4b 5f 49 4d 4d 45 44 20 3d 20 30 78 38 30 30 30  K_IMMED = 0x8000
27f80 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
27f90 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45  int { TAPE_DRIVE
27fa0 5f 4c 4f 47 49 43 41 4c 5f 42 4c 4b 20 3d 20 30  _LOGICAL_BLK = 0
27fb0 78 38 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75  x80004000 }..enu
27fc0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
27fd0 44 52 49 56 45 5f 4c 4f 47 5f 42 4c 4b 5f 49 4d  DRIVE_LOG_BLK_IM
27fe0 4d 45 44 20 3d 20 30 78 38 30 30 30 38 30 30 30  MED = 0x80008000
27ff0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
28000 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 45  t { TAPE_DRIVE_E
28010 4e 44 5f 4f 46 5f 44 41 54 41 20 3d 20 30 78 38  ND_OF_DATA = 0x8
28020 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
28030 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
28040 49 56 45 5f 52 45 4c 41 54 49 56 45 5f 42 4c 4b  IVE_RELATIVE_BLK
28050 53 20 3d 20 30 78 38 30 30 32 30 30 30 30 20 7d  S = 0x80020000 }
28060 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28070 54 41 50 45 5f 44 52 49 56 45 5f 46 49 4c 45 4d  TAPE_DRIVE_FILEM
28080 41 52 4b 53 20 3d 20 30 78 38 30 30 34 30 30 30  ARKS = 0x8004000
28090 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
280a0 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 53 45   { TAPE_DRIVE_SE
280b0 51 55 45 4e 54 49 41 4c 5f 46 4d 4b 53 20 3d 20  QUENTIAL_FMKS = 
280c0 30 78 38 30 30 38 30 30 30 30 20 7d 0d 0a 0d 0a  0x80080000 }....
280d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
280e0 50 45 5f 44 52 49 56 45 5f 53 45 54 4d 41 52 4b  PE_DRIVE_SETMARK
280f0 53 20 3d 20 30 78 38 30 31 30 30 30 30 30 20 7d  S = 0x80100000 }
28100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28110 54 41 50 45 5f 44 52 49 56 45 5f 53 45 51 55 45  TAPE_DRIVE_SEQUE
28120 4e 54 49 41 4c 5f 53 4d 4b 53 20 3d 20 30 78 38  NTIAL_SMKS = 0x8
28130 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0200000 }..enum 
28140 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
28150 49 56 45 5f 52 45 56 45 52 53 45 5f 50 4f 53 49  IVE_REVERSE_POSI
28160 54 49 4f 4e 20 3d 20 30 78 38 30 34 30 30 30 30  TION = 0x8040000
28170 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28180 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 53 50   { TAPE_DRIVE_SP
28190 41 43 45 5f 49 4d 4d 45 44 49 41 54 45 20 3d 20  ACE_IMMEDIATE = 
281a0 30 78 38 30 38 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x80800000 }....
281b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
281c0 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 53  PE_DRIVE_WRITE_S
281d0 45 54 4d 41 52 4b 53 20 3d 20 30 78 38 31 30 30  ETMARKS = 0x8100
281e0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
281f0 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45  int { TAPE_DRIVE
28200 5f 57 52 49 54 45 5f 46 49 4c 45 4d 41 52 4b 53  _WRITE_FILEMARKS
28210 20 3d 20 30 78 38 32 30 30 30 30 30 30 20 7d 0d   = 0x82000000 }.
28220 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
28230 41 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f  APE_DRIVE_WRITE_
28240 53 48 4f 52 54 5f 46 4d 4b 53 20 3d 20 30 78 38  SHORT_FMKS = 0x8
28250 34 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  4000000 }..enum 
28260 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
28270 49 56 45 5f 57 52 49 54 45 5f 4c 4f 4e 47 5f 46  IVE_WRITE_LONG_F
28280 4d 4b 53 20 3d 20 30 78 38 38 30 30 30 30 30 30  MKS = 0x88000000
28290 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
282a0 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 57  t { TAPE_DRIVE_W
282b0 52 49 54 45 5f 4d 41 52 4b 5f 49 4d 4d 45 44 20  RITE_MARK_IMMED 
282c0 3d 20 30 78 39 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x90000000 }..
282d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
282e0 50 45 5f 44 52 49 56 45 5f 46 4f 52 4d 41 54 20  PE_DRIVE_FORMAT 
282f0 3d 20 30 78 41 30 30 30 30 30 30 30 20 7d 0d 0a  = 0xA0000000 }..
28300 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
28310 50 45 5f 44 52 49 56 45 5f 46 4f 52 4d 41 54 5f  PE_DRIVE_FORMAT_
28320 49 4d 4d 45 44 49 41 54 45 20 3d 20 30 78 43 30  IMMEDIATE = 0xC0
28330 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
28340 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
28350 56 45 5f 48 49 47 48 5f 46 45 41 54 55 52 45 53  VE_HIGH_FEATURES
28360 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d   = 0x80000000 }.
28370 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50 45 5f  ...struct _TAPE_
28380 47 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45  GET_DRIVE_PARAME
28390 54 45 52 53 20 7b 0d 0a 20 20 42 4f 4f 4c 45 41  TERS {..  BOOLEA
283a0 4e 20 45 43 43 3b 0d 0a 20 20 42 4f 4f 4c 45 41  N ECC;..  BOOLEA
283b0 4e 20 43 6f 6d 70 72 65 73 73 69 6f 6e 3b 0d 0a  N Compression;..
283c0 20 20 42 4f 4f 4c 45 41 4e 20 44 61 74 61 50 61    BOOLEAN DataPa
283d0 64 64 69 6e 67 3b 0d 0a 20 20 42 4f 4f 4c 45 41  dding;..  BOOLEA
283e0 4e 20 52 65 70 6f 72 74 53 65 74 6d 61 72 6b 73  N ReportSetmarks
283f0 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65 66 61 75  ;..  DWORD Defau
28400 6c 74 42 6c 6f 63 6b 53 69 7a 65 3b 0d 0a 20 20  ltBlockSize;..  
28410 44 57 4f 52 44 20 4d 61 78 69 6d 75 6d 42 6c 6f  DWORD MaximumBlo
28420 63 6b 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  ckSize;..  DWORD
28430 20 4d 69 6e 69 6d 75 6d 42 6c 6f 63 6b 53 69 7a   MinimumBlockSiz
28440 65 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 61 78 69  e;..  DWORD Maxi
28450 6d 75 6d 50 61 72 74 69 74 69 6f 6e 43 6f 75 6e  mumPartitionCoun
28460 74 3b 0d 0a 20 20 44 57 4f 52 44 20 46 65 61 74  t;..  DWORD Feat
28470 75 72 65 73 4c 6f 77 3b 0d 0a 20 20 44 57 4f 52  uresLow;..  DWOR
28480 44 20 46 65 61 74 75 72 65 73 48 69 67 68 3b 0d  D FeaturesHigh;.
28490 0a 20 20 44 57 4f 52 44 20 45 4f 54 57 61 72 6e  .  DWORD EOTWarn
284a0 69 6e 67 5a 6f 6e 65 53 69 7a 65 3b 0d 0a 7d 0d  ingZoneSize;..}.
284b0 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 47 45 54  .alias _TAPE_GET
284c0 5f 44 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52  _DRIVE_PARAMETER
284d0 53 20 54 41 50 45 5f 47 45 54 5f 44 52 49 56 45  S TAPE_GET_DRIVE
284e0 5f 50 41 52 41 4d 45 54 45 52 53 3b 0d 0a 61 6c  _PARAMETERS;..al
284f0 69 61 73 20 5f 54 41 50 45 5f 47 45 54 5f 44 52  ias _TAPE_GET_DR
28500 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 2a 20  IVE_PARAMETERS* 
28510 50 54 41 50 45 5f 47 45 54 5f 44 52 49 56 45 5f  PTAPE_GET_DRIVE_
28520 50 41 52 41 4d 45 54 45 52 53 3b 0d 0a 0d 0a 73  PARAMETERS;....s
28530 74 72 75 63 74 20 5f 54 41 50 45 5f 53 45 54 5f  truct _TAPE_SET_
28540 44 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53  DRIVE_PARAMETERS
28550 20 7b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 45 43   {..  BOOLEAN EC
28560 43 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 43 6f  C;..  BOOLEAN Co
28570 6d 70 72 65 73 73 69 6f 6e 3b 0d 0a 20 20 42 4f  mpression;..  BO
28580 4f 4c 45 41 4e 20 44 61 74 61 50 61 64 64 69 6e  OLEAN DataPaddin
28590 67 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 52 65  g;..  BOOLEAN Re
285a0 70 6f 72 74 53 65 74 6d 61 72 6b 73 3b 0d 0a 20  portSetmarks;.. 
285b0 20 44 57 4f 52 44 20 45 4f 54 57 61 72 6e 69 6e   DWORD EOTWarnin
285c0 67 5a 6f 6e 65 53 69 7a 65 3b 0d 0a 7d 0d 0a 61  gZoneSize;..}..a
285d0 6c 69 61 73 20 5f 54 41 50 45 5f 53 45 54 5f 44  lias _TAPE_SET_D
285e0 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20  RIVE_PARAMETERS 
285f0 54 41 50 45 5f 53 45 54 5f 44 52 49 56 45 5f 50  TAPE_SET_DRIVE_P
28600 41 52 41 4d 45 54 45 52 53 3b 0d 0a 61 6c 69 61  ARAMETERS;..alia
28610 73 20 5f 54 41 50 45 5f 53 45 54 5f 44 52 49 56  s _TAPE_SET_DRIV
28620 45 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 50 54  E_PARAMETERS* PT
28630 41 50 45 5f 53 45 54 5f 44 52 49 56 45 5f 50 41  APE_SET_DRIVE_PA
28640 52 41 4d 45 54 45 52 53 3b 0d 0a 0d 0a 73 74 72  RAMETERS;....str
28650 75 63 74 20 5f 54 41 50 45 5f 47 45 54 5f 4d 45  uct _TAPE_GET_ME
28660 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 7b  DIA_PARAMETERS {
28670 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45 47 45  ..  LARGE_INTEGE
28680 52 20 43 61 70 61 63 69 74 79 3b 0d 0a 20 20 4c  R Capacity;..  L
28690 41 52 47 45 5f 49 4e 54 45 47 45 52 20 52 65 6d  ARGE_INTEGER Rem
286a0 61 69 6e 69 6e 67 3b 0d 0a 20 20 44 57 4f 52 44  aining;..  DWORD
286b0 20 42 6c 6f 63 6b 53 69 7a 65 3b 0d 0a 20 20 44   BlockSize;..  D
286c0 57 4f 52 44 20 50 61 72 74 69 74 69 6f 6e 43 6f  WORD PartitionCo
286d0 75 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  unt;..  BOOLEAN 
286e0 57 72 69 74 65 50 72 6f 74 65 63 74 65 64 3b 0d  WriteProtected;.
286f0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f  .}..alias _TAPE_
28700 47 45 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45  GET_MEDIA_PARAME
28710 54 45 52 53 20 54 41 50 45 5f 47 45 54 5f 4d 45  TERS TAPE_GET_ME
28720 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 3b 0d  DIA_PARAMETERS;.
28730 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 47 45 54  .alias _TAPE_GET
28740 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54 45 52  _MEDIA_PARAMETER
28750 53 2a 20 50 54 41 50 45 5f 47 45 54 5f 4d 45 44  S* PTAPE_GET_MED
28760 49 41 5f 50 41 52 41 4d 45 54 45 52 53 3b 0d 0a  IA_PARAMETERS;..
28770 0d 0a 73 74 72 75 63 74 20 5f 54 41 50 45 5f 53  ..struct _TAPE_S
28780 45 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54  ET_MEDIA_PARAMET
28790 45 52 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 42  ERS {..  DWORD B
287a0 6c 6f 63 6b 53 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c  lockSize;..}..al
287b0 69 61 73 20 5f 54 41 50 45 5f 53 45 54 5f 4d 45  ias _TAPE_SET_ME
287c0 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 54  DIA_PARAMETERS T
287d0 41 50 45 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41  APE_SET_MEDIA_PA
287e0 52 41 4d 45 54 45 52 53 3b 0d 0a 61 6c 69 61 73  RAMETERS;..alias
287f0 20 5f 54 41 50 45 5f 53 45 54 5f 4d 45 44 49 41   _TAPE_SET_MEDIA
28800 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 50 54 41  _PARAMETERS* PTA
28810 50 45 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41 52  PE_SET_MEDIA_PAR
28820 41 4d 45 54 45 52 53 3b 0d 0a 0d 0a 65 6e 75 6d  AMETERS;....enum
28830 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 46   : uint { TAPE_F
28840 49 58 45 44 5f 50 41 52 54 49 54 49 4f 4e 53 20  IXED_PARTITIONS 
28850 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
28860 6e 74 20 7b 20 54 41 50 45 5f 53 45 4c 45 43 54  nt { TAPE_SELECT
28870 5f 50 41 52 54 49 54 49 4f 4e 53 20 3d 20 31 20  _PARTITIONS = 1 
28880 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28890 20 54 41 50 45 5f 49 4e 49 54 49 41 54 4f 52 5f   TAPE_INITIATOR_
288a0 50 41 52 54 49 54 49 4f 4e 53 20 3d 20 32 20 7d  PARTITIONS = 2 }
288b0 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50 45  ....struct _TAPE
288c0 5f 43 52 45 41 54 45 5f 50 41 52 54 49 54 49 4f  _CREATE_PARTITIO
288d0 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4d 65 74  N {..  DWORD Met
288e0 68 6f 64 3b 0d 0a 20 20 44 57 4f 52 44 20 43 6f  hod;..  DWORD Co
288f0 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  unt;..  DWORD Si
28900 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54  ze;..}..alias _T
28910 41 50 45 5f 43 52 45 41 54 45 5f 50 41 52 54 49  APE_CREATE_PARTI
28920 54 49 4f 4e 20 54 41 50 45 5f 43 52 45 41 54 45  TION TAPE_CREATE
28930 5f 50 41 52 54 49 54 49 4f 4e 3b 0d 0a 61 6c 69  _PARTITION;..ali
28940 61 73 20 5f 54 41 50 45 5f 43 52 45 41 54 45 5f  as _TAPE_CREATE_
28950 50 41 52 54 49 54 49 4f 4e 2a 20 50 54 41 50 45  PARTITION* PTAPE
28960 5f 43 52 45 41 54 45 5f 50 41 52 54 49 54 49 4f  _CREATE_PARTITIO
28970 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  N;....enum : uin
28980 74 20 7b 20 54 41 50 45 5f 51 55 45 52 59 5f 44  t { TAPE_QUERY_D
28990 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20  RIVE_PARAMETERS 
289a0 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
289b0 6e 74 20 7b 20 54 41 50 45 5f 51 55 45 52 59 5f  nt { TAPE_QUERY_
289c0 4d 45 44 49 41 5f 43 41 50 41 43 49 54 59 20 3d  MEDIA_CAPACITY =
289d0 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
289e0 74 20 7b 20 54 41 50 45 5f 43 48 45 43 4b 5f 46  t { TAPE_CHECK_F
289f0 4f 52 5f 44 52 49 56 45 5f 50 52 4f 42 4c 45 4d  OR_DRIVE_PROBLEM
28a00 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
28a10 69 6e 74 20 7b 20 54 41 50 45 5f 51 55 45 52 59  int { TAPE_QUERY
28a20 5f 49 4f 5f 45 52 52 4f 52 5f 44 41 54 41 20 3d  _IO_ERROR_DATA =
28a30 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
28a40 74 20 7b 20 54 41 50 45 5f 51 55 45 52 59 5f 44  t { TAPE_QUERY_D
28a50 45 56 49 43 45 5f 45 52 52 4f 52 5f 44 41 54 41  EVICE_ERROR_DATA
28a60 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 4 }....struct
28a70 20 5f 54 41 50 45 5f 57 4d 49 5f 4f 50 45 52 41   _TAPE_WMI_OPERA
28a80 54 49 4f 4e 53 20 7b 0d 0a 20 20 44 57 4f 52 44  TIONS {..  DWORD
28a90 20 4d 65 74 68 6f 64 3b 0d 0a 20 20 44 57 4f 52   Method;..  DWOR
28aa0 44 20 44 61 74 61 42 75 66 66 65 72 53 69 7a 65  D DataBufferSize
28ab0 3b 0d 0a 20 20 50 56 4f 49 44 20 44 61 74 61 42  ;..  PVOID DataB
28ac0 75 66 66 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  uffer;..}..alias
28ad0 20 5f 54 41 50 45 5f 57 4d 49 5f 4f 50 45 52 41   _TAPE_WMI_OPERA
28ae0 54 49 4f 4e 53 20 54 41 50 45 5f 57 4d 49 5f 4f  TIONS TAPE_WMI_O
28af0 50 45 52 41 54 49 4f 4e 53 3b 0d 0a 61 6c 69 61  PERATIONS;..alia
28b00 73 20 5f 54 41 50 45 5f 57 4d 49 5f 4f 50 45 52  s _TAPE_WMI_OPER
28b10 41 54 49 4f 4e 53 2a 20 50 54 41 50 45 5f 57 4d  ATIONS* PTAPE_WM
28b20 49 5f 4f 50 45 52 41 54 49 4f 4e 53 3b 0d 0a 0d  I_OPERATIONS;...
28b30 0a 61 6c 69 61 73 20 69 6e 74 20 5f 54 41 50 45  .alias int _TAPE
28b40 5f 44 52 49 56 45 5f 50 52 4f 42 4c 45 4d 5f 54  _DRIVE_PROBLEM_T
28b50 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20  YPE;..enum {..  
28b60 54 61 70 65 44 72 69 76 65 50 72 6f 62 6c 65 6d  TapeDriveProblem
28b70 4e 6f 6e 65 2c 0d 0a 20 20 54 61 70 65 44 72 69  None,..  TapeDri
28b80 76 65 52 65 61 64 57 72 69 74 65 57 61 72 6e 69  veReadWriteWarni
28b90 6e 67 2c 0d 0a 20 20 54 61 70 65 44 72 69 76 65  ng,..  TapeDrive
28ba0 52 65 61 64 57 72 69 74 65 45 72 72 6f 72 2c 0d  ReadWriteError,.
28bb0 0a 20 20 54 61 70 65 44 72 69 76 65 52 65 61 64  .  TapeDriveRead
28bc0 57 61 72 6e 69 6e 67 2c 0d 0a 20 20 54 61 70 65  Warning,..  Tape
28bd0 44 72 69 76 65 57 72 69 74 65 57 61 72 6e 69 6e  DriveWriteWarnin
28be0 67 2c 0d 0a 20 20 54 61 70 65 44 72 69 76 65 52  g,..  TapeDriveR
28bf0 65 61 64 45 72 72 6f 72 2c 0d 0a 20 20 54 61 70  eadError,..  Tap
28c00 65 44 72 69 76 65 57 72 69 74 65 45 72 72 6f 72  eDriveWriteError
28c10 2c 0d 0a 20 20 54 61 70 65 44 72 69 76 65 48 61  ,..  TapeDriveHa
28c20 72 64 77 61 72 65 45 72 72 6f 72 2c 0d 0a 20 20  rdwareError,..  
28c30 54 61 70 65 44 72 69 76 65 55 6e 73 75 70 70 6f  TapeDriveUnsuppo
28c40 72 74 65 64 4d 65 64 69 61 2c 0d 0a 20 20 54 61  rtedMedia,..  Ta
28c50 70 65 44 72 69 76 65 53 63 73 69 43 6f 6e 6e 65  peDriveScsiConne
28c60 63 74 69 6f 6e 45 72 72 6f 72 2c 0d 0a 20 20 54  ctionError,..  T
28c70 61 70 65 44 72 69 76 65 54 69 6d 65 74 6f 43 6c  apeDriveTimetoCl
28c80 65 61 6e 2c 0d 0a 20 20 54 61 70 65 44 72 69 76  ean,..  TapeDriv
28c90 65 43 6c 65 61 6e 44 72 69 76 65 4e 6f 77 2c 0d  eCleanDriveNow,.
28ca0 0a 20 20 54 61 70 65 44 72 69 76 65 4d 65 64 69  .  TapeDriveMedi
28cb0 61 4c 69 66 65 45 78 70 69 72 65 64 2c 0d 0a 20  aLifeExpired,.. 
28cc0 20 54 61 70 65 44 72 69 76 65 53 6e 61 70 70 65   TapeDriveSnappe
28cd0 64 54 61 70 65 2c 0d 0a 7d 0d 0a 61 6c 69 61 73  dTape,..}..alias
28ce0 20 5f 54 41 50 45 5f 44 52 49 56 45 5f 50 52 4f   _TAPE_DRIVE_PRO
28cf0 42 4c 45 4d 5f 54 59 50 45 20 54 41 50 45 5f 44  BLEM_TYPE TAPE_D
28d00 52 49 56 45 5f 50 52 4f 42 4c 45 4d 5f 54 59 50  RIVE_PROBLEM_TYP
28d10 45 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  E;....// #if def
28d20 69 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 20 26  ined(_M_AMD64) &
28d30 26 20 21 64 65 66 69 6e 65 64 28 5f 5f 6d 69 64  & !defined(__mid
28d40 6c 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  l)....// .......
28d50 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
28d60 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
28d70 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
28d80 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f  ..// #endif // _
28d90 4d 5f 41 4d 44 36 34 20 26 26 20 21 64 65 66 69  M_AMD64 && !defi
28da0 6e 65 64 28 5f 5f 6d 69 64 6c 29 0d 0a 0d 0a 2f  ned(__midl)..../
28db0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
28dc0 4e 4e 54 20 3e 20 30 78 30 35 30 30 29 20 7c 7c  NNT > 0x0500) ||
28dd0 20 28 5f 57 49 4e 33 32 5f 46 55 53 49 4f 4e 20   (_WIN32_FUSION 
28de0 3e 3d 20 30 78 30 31 30 30 29 20 7c 7c 20 49 53  >= 0x0100) || IS
28df0 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45 4e  OLATION_AWARE_EN
28e00 41 42 4c 45 44 20 2f 2f 20 77 69 6e 6e 74 5f 6f  ABLED // winnt_o
28e10 6e 6c 79 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  nly..enum : uint
28e20 20 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f   { ACTIVATION_CO
28e30 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 41 53  NTEXT_SECTION_AS
28e40 53 45 4d 42 4c 59 5f 49 4e 46 4f 52 4d 41 54 49  SEMBLY_INFORMATI
28e50 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 1 }..enum :
28e60 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41 54 49   uint { ACTIVATI
28e70 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49  ON_CONTEXT_SECTI
28e80 4f 4e 5f 44 4c 4c 5f 52 45 44 49 52 45 43 54 49  ON_DLL_REDIRECTI
28e90 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 2 }..enum :
28ea0 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41 54 49   uint { ACTIVATI
28eb0 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49  ON_CONTEXT_SECTI
28ec0 4f 4e 5f 57 49 4e 44 4f 57 5f 43 4c 41 53 53 5f  ON_WINDOW_CLASS_
28ed0 52 45 44 49 52 45 43 54 49 4f 4e 20 3d 20 33 20  REDIRECTION = 3 
28ee0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28ef0 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54   ACTIVATION_CONT
28f00 45 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d 5f  EXT_SECTION_COM_
28f10 53 45 52 56 45 52 5f 52 45 44 49 52 45 43 54 49  SERVER_REDIRECTI
28f20 4f 4e 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 4 }..enum :
28f30 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41 54 49   uint { ACTIVATI
28f40 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49  ON_CONTEXT_SECTI
28f50 4f 4e 5f 43 4f 4d 5f 49 4e 54 45 52 46 41 43 45  ON_COM_INTERFACE
28f60 5f 52 45 44 49 52 45 43 54 49 4f 4e 20 3d 20 35  _REDIRECTION = 5
28f70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28f80 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  { ACTIVATION_CON
28f90 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d  TEXT_SECTION_COM
28fa0 5f 54 59 50 45 5f 4c 49 42 52 41 52 59 5f 52 45  _TYPE_LIBRARY_RE
28fb0 44 49 52 45 43 54 49 4f 4e 20 3d 20 36 20 7d 0d  DIRECTION = 6 }.
28fc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
28fd0 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58  CTIVATION_CONTEX
28fe0 54 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d 5f 50 52  T_SECTION_COM_PR
28ff0 4f 47 49 44 5f 52 45 44 49 52 45 43 54 49 4f 4e  OGID_REDIRECTION
29000 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
29010 69 6e 74 20 7b 20 41 43 54 49 56 41 54 49 4f 4e  int { ACTIVATION
29020 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e  _CONTEXT_SECTION
29030 5f 47 4c 4f 42 41 4c 5f 4f 42 4a 45 43 54 5f 52  _GLOBAL_OBJECT_R
29040 45 4e 41 4d 45 5f 54 41 42 4c 45 20 3d 20 38 20  ENAME_TABLE = 8 
29050 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  }..// #endif // 
29060 77 69 6e 6e 74 5f 6f 6e 6c 79 0d 0a 0d 0a 2f 2f  winnt_only....//
29070 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70   #ifdef __cplusp
29080 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23 65  lus..// }..// #e
29090 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ndif....// #endi
290a0 66 20 2f 2a 20 5f 57 49 4e 4e 54 5f 20 2a 2f 0d  f /* _WINNT_ */.
290b0 0a 0d 0a                                         ...