Hex Artifact Content

Not logged in

Artifact 31fd23d74d91fa9463c18cee61e424bc75c6a6d4:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 77 69 6e 6e 74 3b 0d 0a 0d 0a 2f 2f 20 54  i.winnt;....// T
0020: 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d  ranslated from M
0030: 69 63 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72  icrosoft Platfor
0040: 6d 20 53 44 4b 20 41 75 67 75 73 74 20 32 30 30  m SDK August 200
0050: 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79  1 Edition..// by
0060: 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f   Y.Tomino (demoo
0070: 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d  nlit@inter7.jp).
0080: 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  ...import win32.
0090: 61 6e 73 69 2e 77 69 6e 64 65 66 3b 0d 0a 61 6c  ansi.windef;..al
00a0: 69 61 73 20 76 6f 69 64 20 5f 54 45 42 3b 0d 0a  ias void _TEB;..
00b0: 61 6c 69 61 73 20 76 6f 69 64 20 5f 45 58 43 45  alias void _EXCE
00c0: 50 54 49 4f 4e 5f 52 45 47 49 53 54 52 41 54 49  PTION_REGISTRATI
00d0: 4f 4e 5f 52 45 43 4f 52 44 3b 0d 0a 70 72 69 76  ON_RECORD;..priv
00e0: 61 74 65 20 65 78 74 65 72 6e 28 43 29 20 7b 0d  ate extern(C) {.
00f0: 0a 20 20 69 6e 74 20 6d 65 6d 63 6d 70 28 76 6f  .  int memcmp(vo
0100: 69 64 2a 2c 20 76 6f 69 64 2a 2c 20 75 69 6e 74  id*, void*, uint
0110: 29 3b 0d 0a 20 20 76 6f 69 64 2a 20 6d 65 6d 6d  );..  void* memm
0120: 6f 76 65 28 76 6f 69 64 2a 2c 20 76 6f 69 64 2a  ove(void*, void*
0130: 2c 20 75 69 6e 74 29 3b 0d 0a 20 20 76 6f 69 64  , uint);..  void
0140: 2a 20 6d 65 6d 63 70 79 28 76 6f 69 64 2a 2c 20  * memcpy(void*, 
0150: 76 6f 69 64 2a 2c 20 75 69 6e 74 29 3b 0d 0a 20  void*, uint);.. 
0160: 20 76 6f 69 64 2a 20 6d 65 6d 73 65 74 28 76 6f   void* memset(vo
0170: 69 64 2a 2c 20 75 69 6e 74 2c 20 75 69 6e 74 29  id*, uint, uint)
0180: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ;..}....// #ifnd
0190: 65 66 20 5f 57 49 4e 4e 54 5f 0d 0a 2f 2f 20 23  ef _WINNT_..// #
01a0: 64 65 66 69 6e 65 20 5f 57 49 4e 4e 54 5f 0d 0a  define _WINNT_..
01b0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70  ..// #ifdef __cp
01c0: 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65  lusplus..// exte
01d0: 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e  rn "C" {..// #en
01e0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75  dif....// #inclu
01f0: 64 65 20 3c 63 74 79 70 65 2e 68 3e 20 20 0d 0a  de <ctype.h>  ..
0200: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 4e  enum : uint { AN
0210: 59 53 49 5a 45 5f 41 52 52 41 59 20 3d 20 31 20  YSIZE_ARRAY = 1 
0220: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  }....// #if defi
0230: 6e 65 64 28 5f 4d 5f 4d 52 58 30 30 30 29 20 26  ned(_M_MRX000) &
0240: 26 20 21 28 64 65 66 69 6e 65 64 28 4d 49 44 4c  & !(defined(MIDL
0250: 5f 50 41 53 53 29 20 7c 7c 20 64 65 66 69 6e 65  _PASS) || define
0260: 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29 29 20 26  d(RC_INVOKED)) &
0270: 26 20 64 65 66 69 6e 65 64 28 45 4e 41 42 4c 45  & defined(ENABLE
0280: 5f 52 45 53 54 52 49 43 54 45 44 29 0d 0a 2f 2f  _RESTRICTED)..//
0290: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
02a0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52 45 53 54  .// #define REST
02b0: 52 49 43 54 45 44 5f 50 4f 49 4e 54 45 52 0d 0a  RICTED_POINTER..
02c0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
02d0: 23 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 4d  #if defined(_M_M
02e0: 52 58 30 30 30 29 20 7c 7c 20 64 65 66 69 6e 65  RX000) || define
02f0: 64 28 5f 4d 5f 41 4c 50 48 41 29 20 7c 7c 20 64  d(_M_ALPHA) || d
0300: 65 66 69 6e 65 64 28 5f 4d 5f 50 50 43 29 20 7c  efined(_M_PPC) |
0310: 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41 36  | defined(_M_IA6
0320: 34 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d  4) || defined(_M
0330: 5f 41 4d 44 36 34 29 0d 0a 2f 2f 20 23 2e 2e 2e  _AMD64)..// #...
0340: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
0350: 28 5f 57 49 4e 36 34 29 0d 0a 2f 2f 20 23 2e 2e  (_WIN64)..// #..
0360: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
0370: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
0380: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 64  .// #else..// #d
0390: 65 66 69 6e 65 20 55 4e 41 4c 49 47 4e 45 44 0d  efine UNALIGNED.
03a0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 55 4e 41 4c  .// #define UNAL
03b0: 49 47 4e 45 44 36 34 0d 0a 2f 2f 20 23 65 6e 64  IGNED64..// #end
03c0: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  if....// #if def
03d0: 69 6e 65 64 28 5f 57 49 4e 36 34 29 20 7c 7c 20  ined(_WIN64) || 
03e0: 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4c 50 48 41  defined(_M_ALPHA
03f0: 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
0400: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 63  .....// #else..c
0410: 6f 6e 73 74 20 75 69 6e 74 20 4d 41 58 5f 4e 41  onst uint MAX_NA
0420: 54 55 52 41 4c 5f 41 4c 49 47 4e 4d 45 4e 54 20  TURAL_ALIGNMENT 
0430: 3d 20 44 57 4f 52 44 2e 73 69 7a 65 6f 66 3b 0d  = DWORD.sizeof;.
0440: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
0450: 45 4d 4f 52 59 5f 41 4c 4c 4f 43 41 54 49 4f 4e  EMORY_ALLOCATION
0460: 5f 41 4c 49 47 4e 4d 45 4e 54 20 3d 20 38 20 7d  _ALIGNMENT = 8 }
0470: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0480: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
0490: 70 6c 75 73 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53  plus..// #if _MS
04a0: 43 5f 56 45 52 20 3e 3d 20 31 33 30 30 0d 0a 2f  C_VER >= 1300../
04b0: 2f 20 23 64 65 66 69 6e 65 20 54 59 50 45 5f 41  / #define TYPE_A
04c0: 4c 49 47 4e 4d 45 4e 54 28 20 74 20 29 20 5f 5f  LIGNMENT( t ) __
04d0: 61 6c 69 67 6e 6f 66 28 74 29 0d 0a 2f 2f 20 23  alignof(t)..// #
04e0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d  endif..// #else.
04f0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e  .// #.....// ...
0500: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0510: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 57  / #if defined(_W
0520: 49 4e 36 34 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  IN64)....// #...
0530: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
0540: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  .......// #else.
0550: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 52  ...// #define PR
0560: 4f 42 45 5f 41 4c 49 47 4e 4d 45 4e 54 28 20 5f  OBE_ALIGNMENT( _
0570: 73 20 29 20 54 59 50 45 5f 41 4c 49 47 4e 4d 45  s ) TYPE_ALIGNME
0580: 4e 54 28 20 44 57 4f 52 44 20 29 0d 0a 0d 0a 2f  NT( DWORD )..../
0590: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
05a0: 64 65 66 69 6e 65 20 43 5f 41 53 53 45 52 54 28  define C_ASSERT(
05b0: 65 29 20 74 79 70 65 64 65 66 20 63 68 61 72 20  e) typedef char 
05c0: 5f 5f 43 5f 41 53 53 45 52 54 5f 5f 5b 28 65 29  __C_ASSERT__[(e)
05d0: 3f 31 3a 2d 31 5d 0d 0a 0d 0a 2f 2f 20 23 69 66  ?1:-1]....// #if
05e0: 20 21 64 65 66 69 6e 65 64 28 5f 4d 41 43 29 20   !defined(_MAC) 
05f0: 26 26 20 28 64 65 66 69 6e 65 64 28 5f 4d 5f 4d  && (defined(_M_M
0600: 52 58 30 30 30 29 20 7c 7c 20 64 65 66 69 6e 65  RX000) || define
0610: 64 28 5f 4d 5f 41 4d 44 36 34 29 20 7c 7c 20 64  d(_M_AMD64) || d
0620: 65 66 69 6e 65 64 28 5f 4d 5f 49 41 36 34 29 29  efined(_M_IA64))
0630: 20 26 26 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d   && (_MSC_VER >=
0640: 20 31 31 30 30 29 20 26 26 20 21 28 64 65 66 69   1100) && !(defi
0650: 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53 29 20 7c  ned(MIDL_PASS) |
0660: 7c 20 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56  | defined(RC_INV
0670: 4f 4b 45 44 29 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d  OKED))..// #....
0680: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20  .// .....// #if 
0690: 64 65 66 69 6e 65 64 28 5f 57 49 4e 36 34 29 0d  defined(_WIN64).
06a0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
06b0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
06c0: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65  #endif..// #else
06d0: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
06e0: 28 5f 4d 41 43 29 20 26 26 20 64 65 66 69 6e 65  (_MAC) && define
06f0: 64 28 5f 4d 41 43 5f 49 4e 54 5f 36 34 29 0d 0a  d(_MAC_INT_64)..
0700: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d  // #.....// ....
0710: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 64  .// #else..// #d
0720: 65 66 69 6e 65 20 50 4f 49 4e 54 45 52 5f 36 34  efine POINTER_64
0730: 0d 0a 61 6c 69 61 73 20 75 69 6e 74 20 50 4f 49  ..alias uint POI
0740: 4e 54 45 52 5f 36 34 5f 49 4e 54 3b 0d 0a 2f 2f  NTER_64_INT;..//
0750: 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 76   #endif..alias v
0760: 6f 69 64 2a 20 50 4f 49 4e 54 45 52 5f 33 32 3b  oid* POINTER_32;
0770: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0780: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 49  / #if defined(_I
0790: 41 36 34 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64  A64_) || defined
07a0: 28 5f 41 4d 44 36 34 5f 29 0d 0a 2f 2f 20 23 2e  (_AMD64_)..// #.
07b0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
07c0: 69 61 73 20 50 4f 49 4e 54 45 52 5f 33 32 20 46  ias POINTER_32 F
07d0: 49 52 4d 57 41 52 45 5f 50 54 52 3b 0d 0a 2f 2f  IRMWARE_PTR;..//
07e0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
07f0: 6e 63 6c 75 64 65 20 3c 62 61 73 65 74 73 64 2e  nclude <basetsd.
0800: 68 3e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 64 65  h>....// #if (de
0810: 66 69 6e 65 64 28 5f 4d 5f 49 58 38 36 29 20 7c  fined(_M_IX86) |
0820: 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41 36  | defined(_M_IA6
0830: 34 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d  4) || defined(_M
0840: 5f 41 4d 44 36 34 29 29 20 26 26 20 21 64 65 66  _AMD64)) && !def
0850: 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53 29 0d  ined(MIDL_PASS).
0860: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43 4c  .// #define DECL
0870: 53 50 45 43 5f 49 4d 50 4f 52 54 20 5f 5f 64 65  SPEC_IMPORT __de
0880: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74  clspec(dllimport
0890: 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  )..// #else..// 
08a0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
08b0: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 45  ...// #ifndef DE
08c0: 43 4c 53 50 45 43 5f 4e 4f 52 45 54 55 52 4e 0d  CLSPEC_NORETURN.
08d0: 0a 2f 2f 20 23 69 66 20 28 5f 4d 53 43 5f 56 45  .// #if (_MSC_VE
08e0: 52 20 3e 3d 20 31 32 30 30 29 20 26 26 20 21 64  R >= 1200) && !d
08f0: 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53  efined(MIDL_PASS
0900: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45  )..// #define DE
0910: 43 4c 53 50 45 43 5f 4e 4f 52 45 54 55 52 4e 20  CLSPEC_NORETURN 
0920: 5f 5f 64 65 63 6c 73 70 65 63 28 6e 6f 72 65 74  __declspec(noret
0930: 75 72 6e 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  urn)..// #else..
0940: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
0950: 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  if..// #endif...
0960: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 45 43 4c  .// #ifndef DECL
0970: 53 50 45 43 5f 41 4c 49 47 4e 0d 0a 2f 2f 20 23  SPEC_ALIGN..// #
0980: 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  if (_MSC_VER >= 
0990: 31 33 30 30 29 20 26 26 20 21 64 65 66 69 6e 65  1300) && !define
09a0: 64 28 4d 49 44 4c 5f 50 41 53 53 29 0d 0a 2f 2f  d(MIDL_PASS)..//
09b0: 20 23 64 65 66 69 6e 65 20 44 45 43 4c 53 50 45   #define DECLSPE
09c0: 43 5f 41 4c 49 47 4e 28 78 29 20 5f 5f 64 65 63  C_ALIGN(x) __dec
09d0: 6c 73 70 65 63 28 61 6c 69 67 6e 28 78 29 29 0d  lspec(align(x)).
09e0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
09f0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
0a00: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
0a10: 69 66 6e 64 65 66 20 44 45 43 4c 53 50 45 43 5f  ifndef DECLSPEC_
0a20: 43 41 43 48 45 41 4c 49 47 4e 0d 0a 2f 2f 20 23  CACHEALIGN..// #
0a30: 64 65 66 69 6e 65 20 44 45 43 4c 53 50 45 43 5f  define DECLSPEC_
0a40: 43 41 43 48 45 41 4c 49 47 4e 20 44 45 43 4c 53  CACHEALIGN DECLS
0a50: 50 45 43 5f 41 4c 49 47 4e 28 31 32 38 29 0d 0a  PEC_ALIGN(128)..
0a60: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
0a70: 23 69 66 6e 64 65 66 20 44 45 43 4c 53 50 45 43  #ifndef DECLSPEC
0a80: 5f 55 55 49 44 0d 0a 2f 2f 20 23 69 66 20 28 5f  _UUID..// #if (_
0a90: 4d 53 43 5f 56 45 52 20 3e 3d 20 31 31 30 30 29  MSC_VER >= 1100)
0aa0: 20 26 26 20 64 65 66 69 6e 65 64 20 28 5f 5f 63   && defined (__c
0ab0: 70 6c 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 23 64  plusplus)..// #d
0ac0: 65 66 69 6e 65 20 44 45 43 4c 53 50 45 43 5f 55  efine DECLSPEC_U
0ad0: 55 49 44 28 78 29 20 5f 5f 64 65 63 6c 73 70 65  UID(x) __declspe
0ae0: 63 28 75 75 69 64 28 78 29 29 0d 0a 2f 2f 20 23  c(uuid(x))..// #
0af0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
0b00: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
0b10: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
0b20: 66 20 44 45 43 4c 53 50 45 43 5f 4e 4f 56 54 41  f DECLSPEC_NOVTA
0b30: 42 4c 45 0d 0a 2f 2f 20 23 69 66 20 28 5f 4d 53  BLE..// #if (_MS
0b40: 43 5f 56 45 52 20 3e 3d 20 31 31 30 30 29 20 26  C_VER >= 1100) &
0b50: 26 20 64 65 66 69 6e 65 64 28 5f 5f 63 70 6c 75  & defined(__cplu
0b60: 73 70 6c 75 73 29 0d 0a 2f 2f 20 23 64 65 66 69  splus)..// #defi
0b70: 6e 65 20 44 45 43 4c 53 50 45 43 5f 4e 4f 56 54  ne DECLSPEC_NOVT
0b80: 41 42 4c 45 20 5f 5f 64 65 63 6c 73 70 65 63 28  ABLE __declspec(
0b90: 6e 6f 76 74 61 62 6c 65 29 0d 0a 2f 2f 20 23 65  novtable)..// #e
0ba0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
0bb0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
0bc0: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  if....// #ifndef
0bd0: 20 44 45 43 4c 53 50 45 43 5f 53 45 4c 45 43 54   DECLSPEC_SELECT
0be0: 41 4e 59 0d 0a 2f 2f 20 23 69 66 20 28 5f 4d 53  ANY..// #if (_MS
0bf0: 43 5f 56 45 52 20 3e 3d 20 31 31 30 30 29 0d 0a  C_VER >= 1100)..
0c00: 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43 4c 53  // #define DECLS
0c10: 50 45 43 5f 53 45 4c 45 43 54 41 4e 59 20 5f 5f  PEC_SELECTANY __
0c20: 64 65 63 6c 73 70 65 63 28 73 65 6c 65 63 74 61  declspec(selecta
0c30: 6e 79 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ny)..// #else../
0c40: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0c50: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
0c60: 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 50 5f 46  // #ifndef NOP_F
0c70: 55 4e 43 54 49 4f 4e 0d 0a 2f 2f 20 23 69 66 20  UNCTION..// #if 
0c80: 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 31  (_MSC_VER >= 121
0c90: 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  0)..// #.....// 
0ca0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
0cb0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
0cc0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ndif....// #ifnd
0cd0: 65 66 20 44 45 43 4c 53 50 45 43 5f 41 44 44 52  ef DECLSPEC_ADDR
0ce0: 53 41 46 45 0d 0a 2f 2f 20 23 69 66 20 28 5f 4d  SAFE..// #if (_M
0cf0: 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30 29 20  SC_VER >= 1200) 
0d00: 26 26 20 28 64 65 66 69 6e 65 64 28 5f 4d 5f 41  && (defined(_M_A
0d10: 4c 50 48 41 29 20 7c 7c 20 64 65 66 69 6e 65 64  LPHA) || defined
0d20: 28 5f 4d 5f 41 58 50 36 34 29 29 0d 0a 2f 2f 20  (_M_AXP64))..// 
0d30: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
0d40: 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43 4c 53  // #define DECLS
0d50: 50 45 43 5f 41 44 44 52 53 41 46 45 0d 0a 2f 2f  PEC_ADDRSAFE..//
0d60: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
0d70: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  if....// #ifndef
0d80: 20 46 4f 52 43 45 49 4e 4c 49 4e 45 0d 0a 2f 2f   FORCEINLINE..//
0d90: 20 23 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e   #if (_MSC_VER >
0da0: 3d 20 31 32 30 30 29 0d 0a 2f 2f 20 23 64 65 66  = 1200)..// #def
0db0: 69 6e 65 20 46 4f 52 43 45 49 4e 4c 49 4e 45 20  ine FORCEINLINE 
0dc0: 5f 5f 66 6f 72 63 65 69 6e 6c 69 6e 65 0d 0a 2f  __forceinline../
0dd0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
0de0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
0df0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
0e00: 6e 64 65 66 20 44 45 43 4c 53 50 45 43 5f 44 45  ndef DECLSPEC_DE
0e10: 50 52 45 43 41 54 45 44 0d 0a 2f 2f 20 23 69 66  PRECATED..// #if
0e20: 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 33   (_MSC_VER >= 13
0e30: 30 30 29 20 26 26 20 21 64 65 66 69 6e 65 64 28  00) && !defined(
0e40: 4d 49 44 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 23  MIDL_PASS)..// #
0e50: 64 65 66 69 6e 65 20 44 45 43 4c 53 50 45 43 5f  define DECLSPEC_
0e60: 44 45 50 52 45 43 41 54 45 44 20 5f 5f 64 65 63  DEPRECATED __dec
0e70: 6c 73 70 65 63 28 64 65 70 72 65 63 61 74 65 64  lspec(deprecated
0e80: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45  )..// #define DE
0e90: 50 52 45 43 41 54 45 5f 53 55 50 50 4f 52 54 45  PRECATE_SUPPORTE
0ea0: 44 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  D..// #else..// 
0eb0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
0ec0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
0ed0: 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f 69  dif....alias voi
0ee0: 64 2a 20 50 56 4f 49 44 3b 0d 0a 64 65 70 72 65  d* PVOID;..depre
0ef0: 63 61 74 65 64 20 61 6c 69 61 73 20 76 6f 69 64  cated alias void
0f00: 2a 20 50 56 4f 49 44 36 34 3b 20 2f 2a 20 77 61  * PVOID64; /* wa
0f10: 72 6e 69 6e 67 3a 20 36 34 2d 62 69 74 20 2a 2f  rning: 64-bit */
0f20: 20 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 28 5f 4d   ....// #if ((_M
0f30: 53 43 5f 56 45 52 20 3e 3d 20 38 30 30 29 20 7c  SC_VER >= 800) |
0f40: 7c 20 64 65 66 69 6e 65 64 28 5f 53 54 44 43 41  | defined(_STDCA
0f50: 4c 4c 5f 53 55 50 50 4f 52 54 45 44 29 29 20 26  LL_SUPPORTED)) &
0f60: 26 20 21 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4d  & !defined(_M_AM
0f70: 44 36 34 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  D64)..// #define
0f80: 20 4e 54 41 50 49 20 5f 5f 73 74 64 63 61 6c 6c   NTAPI __stdcall
0f90: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
0fa0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
0fb0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
0fc0: 66 20 21 64 65 66 69 6e 65 64 28 5f 4e 54 53 59  f !defined(_NTSY
0fd0: 53 54 45 4d 5f 29 0d 0a 2f 2f 20 23 64 65 66 69  STEM_)..// #defi
0fe0: 6e 65 20 4e 54 53 59 53 41 50 49 20 44 45 43 4c  ne NTSYSAPI DECL
0ff0: 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20  SPEC_IMPORT..// 
1000: 23 64 65 66 69 6e 65 20 4e 54 53 59 53 43 41 4c  #define NTSYSCAL
1010: 4c 41 50 49 20 44 45 43 4c 53 50 45 43 5f 49 4d  LAPI DECLSPEC_IM
1020: 50 4f 52 54 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  PORT..// #else..
1030: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20  // #.....// #if 
1040: 64 65 66 69 6e 65 64 28 5f 4e 54 44 4c 4c 42 55  defined(_NTDLLBU
1050: 49 4c 44 5f 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ILD_)..// #.....
1060: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1070: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
1080: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
1090: 23 69 66 6e 64 65 66 20 56 4f 49 44 0d 0a 61 6c  #ifndef VOID..al
10a0: 69 61 73 20 76 6f 69 64 20 56 4f 49 44 3b 0d 0a  ias void VOID;..
10b0: 61 6c 69 61 73 20 63 68 61 72 20 43 48 41 52 3b  alias char CHAR;
10c0: 0d 0a 61 6c 69 61 73 20 73 68 6f 72 74 20 53 48  ..alias short SH
10d0: 4f 52 54 3b 0d 0a 61 6c 69 61 73 20 69 6e 74 20  ORT;..alias int 
10e0: 4c 4f 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  LONG;..// #endif
10f0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
1100: 4d 41 43 0d 0a 61 6c 69 61 73 20 77 63 68 61 72  MAC..alias wchar
1110: 20 57 43 48 41 52 3b 0d 0a 2f 2f 20 23 65 6c 73   WCHAR;..// #els
1120: 65 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  e....// .....// 
1130: 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
1140: 57 43 48 41 52 2a 20 50 57 43 48 41 52 3b 0d 0a  WCHAR* PWCHAR;..
1150: 61 6c 69 61 73 20 57 43 48 41 52 2a 20 4c 50 57  alias WCHAR* LPW
1160: 43 48 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41 52  CH;..alias WCHAR
1170: 2a 20 50 57 43 48 3b 0d 0a 61 6c 69 61 73 20 57  * PWCH;..alias W
1180: 43 48 41 52 2a 20 4c 50 43 57 43 48 3b 0d 0a 61  CHAR* LPCWCH;..a
1190: 6c 69 61 73 20 57 43 48 41 52 2a 20 50 43 57 43  lias WCHAR* PCWC
11a0: 48 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41 52 2a  H;..alias WCHAR*
11b0: 20 4e 57 50 53 54 52 3b 0d 0a 61 6c 69 61 73 20   NWPSTR;..alias 
11c0: 57 43 48 41 52 2a 20 4c 50 57 53 54 52 3b 0d 0a  WCHAR* LPWSTR;..
11d0: 61 6c 69 61 73 20 57 43 48 41 52 2a 20 50 57 53  alias WCHAR* PWS
11e0: 54 52 3b 0d 0a 61 6c 69 61 73 20 57 43 48 41 52  TR;..alias WCHAR
11f0: 2a 20 4c 50 55 57 53 54 52 3b 0d 0a 61 6c 69 61  * LPUWSTR;..alia
1200: 73 20 57 43 48 41 52 2a 20 50 55 57 53 54 52 3b  s WCHAR* PUWSTR;
1210: 0d 0a 0d 0a 61 6c 69 61 73 20 57 43 48 41 52 2a  ....alias WCHAR*
1220: 20 4c 50 43 57 53 54 52 3b 0d 0a 61 6c 69 61 73   LPCWSTR;..alias
1230: 20 57 43 48 41 52 2a 20 50 43 57 53 54 52 3b 0d   WCHAR* PCWSTR;.
1240: 0a 61 6c 69 61 73 20 57 43 48 41 52 2a 20 4c 50  .alias WCHAR* LP
1250: 43 55 57 53 54 52 3b 0d 0a 61 6c 69 61 73 20 57  CUWSTR;..alias W
1260: 43 48 41 52 2a 20 50 43 55 57 53 54 52 3b 0d 0a  CHAR* PCUWSTR;..
1270: 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a 20 50 43  ..alias CHAR* PC
1280: 48 41 52 3b 0d 0a 61 6c 69 61 73 20 43 48 41 52  HAR;..alias CHAR
1290: 2a 20 4c 50 43 48 3b 0d 0a 61 6c 69 61 73 20 43  * LPCH;..alias C
12a0: 48 41 52 2a 20 50 43 48 3b 0d 0a 0d 0a 61 6c 69  HAR* PCH;....ali
12b0: 61 73 20 43 48 41 52 2a 20 4c 50 43 43 48 3b 0d  as CHAR* LPCCH;.
12c0: 0a 61 6c 69 61 73 20 43 48 41 52 2a 20 50 43 43  .alias CHAR* PCC
12d0: 48 3b 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a 20  H;..alias CHAR* 
12e0: 4e 50 53 54 52 3b 0d 0a 61 6c 69 61 73 20 43 48  NPSTR;..alias CH
12f0: 41 52 2a 20 4c 50 53 54 52 3b 0d 0a 61 6c 69 61  AR* LPSTR;..alia
1300: 73 20 43 48 41 52 2a 20 50 53 54 52 3b 0d 0a 61  s CHAR* PSTR;..a
1310: 6c 69 61 73 20 43 48 41 52 2a 20 4c 50 43 53 54  lias CHAR* LPCST
1320: 52 3b 0d 0a 61 6c 69 61 73 20 43 48 41 52 2a 20  R;..alias CHAR* 
1330: 50 43 53 54 52 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  PCSTR;....// #if
1340: 64 65 66 20 20 55 4e 49 43 4f 44 45 20 20 20 20  def  UNICODE    
1350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1360: 20 2f 2f 20 72 5f 77 69 6e 6e 74 0d 0a 0d 0a 2f   // r_winnt..../
1370: 2f 20 23 69 66 6e 64 65 66 20 5f 54 43 48 41 52  / #ifndef _TCHAR
1380: 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 2e 2e 2e  _DEFINED..// ...
1390: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
13a0: 6e 64 69 66 20 2f 2a 20 21 5f 54 43 48 41 52 5f  ndif /* !_TCHAR_
13b0: 44 45 46 49 4e 45 44 20 2a 2f 0d 0a 0d 0a 2f 2f  DEFINED */....//
13c0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d   .....// #......
13d0: 0a 2f 2f 20 23 65 6c 73 65 20 20 20 2f 2a 20 55  .// #else   /* U
13e0: 4e 49 43 4f 44 45 20 2a 2f 20 20 20 20 20 20 20  NICODE */       
13f0: 20 20 20 20 20 20 20 20 2f 2f 20 72 5f 77 69 6e          // r_win
1400: 6e 74 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  nt....// #ifndef
1410: 20 5f 54 43 48 41 52 5f 44 45 46 49 4e 45 44 0d   _TCHAR_DEFINED.
1420: 0a 61 6c 69 61 73 20 63 68 61 72 20 54 43 48 41  .alias char TCHA
1430: 52 3b 0d 0a 61 6c 69 61 73 20 63 68 61 72 2a 20  R;..alias char* 
1440: 50 54 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20 75  PTCHAR;..alias u
1450: 62 79 74 65 20 54 42 59 54 45 3b 0d 0a 61 6c 69  byte TBYTE;..ali
1460: 61 73 20 75 62 79 74 65 2a 20 50 54 42 59 54 45  as ubyte* PTBYTE
1470: 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 54  ;..// #define _T
1480: 43 48 41 52 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f  CHAR_DEFINED..//
1490: 20 23 65 6e 64 69 66 20 2f 2a 20 21 5f 54 43 48   #endif /* !_TCH
14a0: 41 52 5f 44 45 46 49 4e 45 44 20 2a 2f 0d 0a 0d  AR_DEFINED */...
14b0: 0a 61 6c 69 61 73 20 4c 50 53 54 52 20 4c 50 54  .alias LPSTR LPT
14c0: 43 48 3b 0d 0a 61 6c 69 61 73 20 4c 50 53 54 52  CH;..alias LPSTR
14d0: 20 50 54 43 48 3b 0d 0a 61 6c 69 61 73 20 4c 50   PTCH;..alias LP
14e0: 53 54 52 20 50 54 53 54 52 3b 0d 0a 61 6c 69 61  STR PTSTR;..alia
14f0: 73 20 4c 50 53 54 52 20 4c 50 54 53 54 52 3b 0d  s LPSTR LPTSTR;.
1500: 0a 61 6c 69 61 73 20 4c 50 53 54 52 20 50 55 54  .alias LPSTR PUT
1510: 53 54 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 53 54  STR;..alias LPST
1520: 52 20 4c 50 55 54 53 54 52 3b 0d 0a 61 6c 69 61  R LPUTSTR;..alia
1530: 73 20 4c 50 43 53 54 52 20 50 43 54 53 54 52 3b  s LPCSTR PCTSTR;
1540: 0d 0a 61 6c 69 61 73 20 4c 50 43 53 54 52 20 4c  ..alias LPCSTR L
1550: 50 43 54 53 54 52 3b 0d 0a 61 6c 69 61 73 20 4c  PCTSTR;..alias L
1560: 50 43 53 54 52 20 50 43 55 54 53 54 52 3b 0d 0a  PCSTR PCUTSTR;..
1570: 61 6c 69 61 73 20 4c 50 43 53 54 52 20 4c 50 43  alias LPCSTR LPC
1580: 55 54 53 54 52 3b 0d 0a 2f 2f 20 23 64 65 66 69  UTSTR;..// #defi
1590: 6e 65 20 5f 5f 54 45 58 54 28 71 75 6f 74 65 29  ne __TEXT(quote)
15a0: 20 71 75 6f 74 65 0d 0a 0d 0a 2f 2f 20 23 65 6e   quote....// #en
15b0: 64 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a  dif /* UNICODE *
15c0: 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  /               
15d0: 20 2f 2f 20 72 5f 77 69 6e 6e 74 0d 0a 54 43 48   // r_winnt..TCH
15e0: 41 52 5b 5d 20 54 45 58 54 28 54 43 48 41 52 5b  AR[] TEXT(TCHAR[
15f0: 5d 20 71 75 6f 74 65 29 7b 20 72 65 74 75 72 6e  ] quote){ return
1600: 20 71 75 6f 74 65 3b 20 7d 0d 0a 0d 0a 61 6c 69   quote; }....ali
1610: 61 73 20 53 48 4f 52 54 2a 20 50 53 48 4f 52 54  as SHORT* PSHORT
1620: 3b 0d 0a 61 6c 69 61 73 20 4c 4f 4e 47 2a 20 50  ;..alias LONG* P
1630: 4c 4f 4e 47 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  LONG;....// #ifd
1640: 65 66 20 53 54 52 49 43 54 0d 0a 61 6c 69 61 73  ef STRICT..alias
1650: 20 76 6f 69 64 2a 20 48 41 4e 44 4c 45 3b 0d 0a   void* HANDLE;..
1660: 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 43 4c 41  // #define DECLA
1670: 52 45 5f 48 41 4e 44 4c 45 28 6e 61 6d 65 29 20  RE_HANDLE(name) 
1680: 73 74 72 75 63 74 20 6e 61 6d 65 23 23 5f 5f 20  struct name##__ 
1690: 7b 20 69 6e 74 20 75 6e 75 73 65 64 3b 20 7d 3b  { int unused; };
16a0: 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20   typedef struct 
16b0: 6e 61 6d 65 23 23 5f 5f 20 2a 6e 61 6d 65 0d 0a  name##__ *name..
16c0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
16d0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
16e0: 6e 64 69 66 0d 0a 61 6c 69 61 73 20 48 41 4e 44  ndif..alias HAND
16f0: 4c 45 2a 20 50 48 41 4e 44 4c 45 3b 0d 0a 0d 0a  LE* PHANDLE;....
1700: 61 6c 69 61 73 20 42 59 54 45 20 46 43 48 41 52  alias BYTE FCHAR
1710: 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 46 53  ;..alias WORD FS
1720: 48 4f 52 54 3b 0d 0a 61 6c 69 61 73 20 44 57 4f  HORT;..alias DWO
1730: 52 44 20 46 4c 4f 4e 47 3b 0d 0a 0d 0a 2f 2f 20  RD FLONG;....// 
1740: 23 69 66 6e 64 65 66 20 5f 48 52 45 53 55 4c 54  #ifndef _HRESULT
1750: 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 23 64 65  _DEFINED..// #de
1760: 66 69 6e 65 20 5f 48 52 45 53 55 4c 54 5f 44 45  fine _HRESULT_DE
1770: 46 49 4e 45 44 0d 0a 61 6c 69 61 73 20 4c 4f 4e  FINED..alias LON
1780: 47 20 48 52 45 53 55 4c 54 3b 0d 0a 0d 0a 2f 2f  G HRESULT;....//
1790: 20 23 65 6e 64 69 66 20 2f 2f 20 21 5f 48 52 45   #endif // !_HRE
17a0: 53 55 4c 54 5f 44 45 46 49 4e 45 44 0d 0a 0d 0a  SULT_DEFINED....
17b0: 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75  // #ifdef __cplu
17c0: 73 70 6c 75 73 0d 0a 2f 2f 20 20 20 20 20 23 64  splus..//     #d
17d0: 65 66 69 6e 65 20 45 58 54 45 52 4e 5f 43 20 65  efine EXTERN_C e
17e0: 78 74 65 72 6e 20 22 43 22 0d 0a 2f 2f 20 23 65  xtern "C"..// #e
17f0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
1800: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
1810: 66 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32  f defined(_WIN32
1820: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 50  ) || defined(_MP
1830: 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  PC_)....// #ifde
1840: 66 20 5f 36 38 4b 5f 0d 0a 2f 2f 20 23 2e 2e 2e  f _68K_..// #...
1850: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
1860: 64 65 66 69 6e 65 20 53 54 44 4d 45 54 48 4f 44  define STDMETHOD
1870: 43 41 4c 4c 54 59 50 45 20 5f 5f 73 74 64 63 61  CALLTYPE __stdca
1880: 6c 6c 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ll..// #endif../
1890: 2f 20 23 64 65 66 69 6e 65 20 53 54 44 4d 45 54  / #define STDMET
18a0: 48 4f 44 56 43 41 4c 4c 54 59 50 45 20 5f 5f 63  HODVCALLTYPE __c
18b0: 64 65 63 6c 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  decl....// #defi
18c0: 6e 65 20 53 54 44 41 50 49 43 41 4c 4c 54 59 50  ne STDAPICALLTYP
18d0: 45 20 5f 5f 73 74 64 63 61 6c 6c 0d 0a 2f 2f 20  E __stdcall..// 
18e0: 23 64 65 66 69 6e 65 20 53 54 44 41 50 49 56 43  #define STDAPIVC
18f0: 41 4c 4c 54 59 50 45 20 5f 5f 63 64 65 63 6c 0d  ALLTYPE __cdecl.
1900: 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 0d 0a 2f  ...// #else..../
1910: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
1920: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
1930: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  .......// #endif
1940: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53  ....// #define S
1950: 54 44 41 50 49 20 45 58 54 45 52 4e 5f 43 20 48  TDAPI EXTERN_C H
1960: 52 45 53 55 4c 54 20 53 54 44 41 50 49 43 41 4c  RESULT STDAPICAL
1970: 4c 54 59 50 45 0d 0a 2f 2f 20 23 64 65 66 69 6e  LTYPE..// #defin
1980: 65 20 53 54 44 41 50 49 5f 28 74 79 70 65 29 20  e STDAPI_(type) 
1990: 45 58 54 45 52 4e 5f 43 20 74 79 70 65 20 53 54  EXTERN_C type ST
19a0: 44 41 50 49 43 41 4c 4c 54 59 50 45 0d 0a 0d 0a  DAPICALLTYPE....
19b0: 2f 2f 20 23 64 65 66 69 6e 65 20 53 54 44 4d 45  // #define STDME
19c0: 54 48 4f 44 49 4d 50 20 48 52 45 53 55 4c 54 20  THODIMP HRESULT 
19d0: 53 54 44 4d 45 54 48 4f 44 43 41 4c 4c 54 59 50  STDMETHODCALLTYP
19e0: 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 54  E..// #define ST
19f0: 44 4d 45 54 48 4f 44 49 4d 50 5f 28 74 79 70 65  DMETHODIMP_(type
1a00: 29 20 74 79 70 65 20 53 54 44 4d 45 54 48 4f 44  ) type STDMETHOD
1a10: 43 41 4c 4c 54 59 50 45 0d 0a 0d 0a 2f 2f 20 23  CALLTYPE....// #
1a20: 64 65 66 69 6e 65 20 53 54 44 41 50 49 56 20 45  define STDAPIV E
1a30: 58 54 45 52 4e 5f 43 20 48 52 45 53 55 4c 54 20  XTERN_C HRESULT 
1a40: 53 54 44 41 50 49 56 43 41 4c 4c 54 59 50 45 0d  STDAPIVCALLTYPE.
1a50: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 54 44 41  .// #define STDA
1a60: 50 49 56 5f 28 74 79 70 65 29 20 45 58 54 45 52  PIV_(type) EXTER
1a70: 4e 5f 43 20 74 79 70 65 20 53 54 44 41 50 49 56  N_C type STDAPIV
1a80: 43 41 4c 4c 54 59 50 45 0d 0a 0d 0a 2f 2f 20 23  CALLTYPE....// #
1a90: 64 65 66 69 6e 65 20 53 54 44 4d 45 54 48 4f 44  define STDMETHOD
1aa0: 49 4d 50 56 20 48 52 45 53 55 4c 54 20 53 54 44  IMPV HRESULT STD
1ab0: 4d 45 54 48 4f 44 56 43 41 4c 4c 54 59 50 45 0d  METHODVCALLTYPE.
1ac0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 54 44 4d  .// #define STDM
1ad0: 45 54 48 4f 44 49 4d 50 56 5f 28 74 79 70 65 29  ETHODIMPV_(type)
1ae0: 20 74 79 70 65 20 53 54 44 4d 45 54 48 4f 44 56   type STDMETHODV
1af0: 43 41 4c 4c 54 59 50 45 0d 0a 0d 0a 61 6c 69 61  CALLTYPE....alia
1b00: 73 20 63 68 61 72 20 43 43 48 41 52 3b 0d 0a 61  s char CCHAR;..a
1b10: 6c 69 61 73 20 44 57 4f 52 44 20 4c 43 49 44 3b  lias DWORD LCID;
1b20: 0d 0a 61 6c 69 61 73 20 50 44 57 4f 52 44 20 50  ..alias PDWORD P
1b30: 4c 43 49 44 3b 0d 0a 61 6c 69 61 73 20 57 4f 52  LCID;..alias WOR
1b40: 44 20 4c 41 4e 47 49 44 3b 0d 0a 65 6e 75 6d 20  D LANGID;..enum 
1b50: 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
1b60: 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20  TION_ERROR_MASK 
1b70: 3d 20 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x20000000 }..
1b80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 52  enum : uint { ER
1b90: 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 53 55 43  ROR_SEVERITY_SUC
1ba0: 43 45 53 53 20 3d 20 30 78 30 30 30 30 30 30 30  CESS = 0x0000000
1bb0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1bc0: 20 7b 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54   { ERROR_SEVERIT
1bd0: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 41 4c 20  Y_INFORMATIONAL 
1be0: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
1bf0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 52  enum : uint { ER
1c00: 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 57 41 52  ROR_SEVERITY_WAR
1c10: 4e 49 4e 47 20 3d 20 30 78 38 30 30 30 30 30 30  NING = 0x8000000
1c20: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1c30: 20 7b 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54   { ERROR_SEVERIT
1c40: 59 5f 45 52 52 4f 52 20 3d 20 30 78 43 30 30 30  Y_ERROR = 0xC000
1c50: 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  0000 }....// #if
1c60: 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41 36 34   defined(_M_IA64
1c70: 29 20 26 26 20 21 64 65 66 69 6e 65 64 28 4d 49  ) && !defined(MI
1c80: 44 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 2e 2e 2e  DL_PASS)..// ...
1c90: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 73 74 72  ..// #endif..str
1ca0: 75 63 74 20 5f 46 4c 4f 41 54 31 32 38 20 7b 0d  uct _FLOAT128 {.
1cb0: 0a 20 20 5f 5f 69 6e 74 36 34 20 4c 6f 77 50 61  .  __int64 LowPa
1cc0: 72 74 3b 0d 0a 20 20 5f 5f 69 6e 74 36 34 20 48  rt;..  __int64 H
1cd0: 69 67 68 50 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  ighPart;..}..ali
1ce0: 61 73 20 5f 46 4c 4f 41 54 31 32 38 20 46 4c 4f  as _FLOAT128 FLO
1cf0: 41 54 31 32 38 3b 0d 0a 0d 0a 61 6c 69 61 73 20  AT128;....alias 
1d00: 46 4c 4f 41 54 31 32 38 2a 20 50 46 4c 4f 41 54  FLOAT128* PFLOAT
1d10: 31 32 38 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  128;....// #defi
1d20: 6e 65 20 5f 55 4c 4f 4e 47 4c 4f 4e 47 5f 0d 0a  ne _ULONGLONG_..
1d30: 2f 2f 20 23 69 66 20 28 21 64 65 66 69 6e 65 64  // #if (!defined
1d40: 20 28 5f 4d 41 43 29 20 26 26 20 28 21 64 65 66   (_MAC) && (!def
1d50: 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53 29 20  ined(MIDL_PASS) 
1d60: 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 6d 69 64  || defined(__mid
1d70: 6c 29 29 20 26 26 20 28 21 64 65 66 69 6e 65 64  l)) && (!defined
1d80: 28 5f 4d 5f 49 58 38 36 29 20 7c 7c 20 28 64 65  (_M_IX86) || (de
1d90: 66 69 6e 65 64 28 5f 49 4e 54 45 47 52 41 4c 5f  fined(_INTEGRAL_
1da0: 4d 41 58 5f 42 49 54 53 29 20 26 26 20 5f 49 4e  MAX_BITS) && _IN
1db0: 54 45 47 52 41 4c 5f 4d 41 58 5f 42 49 54 53 20  TEGRAL_MAX_BITS 
1dc0: 3e 3d 20 36 34 29 29 29 0d 0a 2f 2f 20 2e 2e 2e  >= 64)))..// ...
1dd0: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
1de0: 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 69 66 20  #else....// #if 
1df0: 64 65 66 69 6e 65 64 28 5f 4d 41 43 29 20 26 26  defined(_MAC) &&
1e00: 20 64 65 66 69 6e 65 64 28 5f 4d 41 43 5f 49 4e   defined(_MAC_IN
1e10: 54 5f 36 34 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  T_64)..// ......
1e20: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
1e30: 73 65 0d 0a 61 6c 69 61 73 20 64 6f 75 62 6c 65  se..alias double
1e40: 20 4c 4f 4e 47 4c 4f 4e 47 3b 0d 0a 61 6c 69 61   LONGLONG;..alia
1e50: 73 20 64 6f 75 62 6c 65 20 55 4c 4f 4e 47 4c 4f  s double ULONGLO
1e60: 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  NG;..// #endif /
1e70: 2f 5f 4d 41 43 20 61 6e 64 20 69 6e 74 36 34 0d  /_MAC and int64.
1e80: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
1e90: 61 6c 69 61 73 20 4c 4f 4e 47 4c 4f 4e 47 2a 20  alias LONGLONG* 
1ea0: 50 4c 4f 4e 47 4c 4f 4e 47 3b 0d 0a 61 6c 69 61  PLONGLONG;..alia
1eb0: 73 20 55 4c 4f 4e 47 4c 4f 4e 47 2a 20 50 55 4c  s ULONGLONG* PUL
1ec0: 4f 4e 47 4c 4f 4e 47 3b 0d 0a 0d 0a 61 6c 69 61  ONGLONG;....alia
1ed0: 73 20 4c 4f 4e 47 4c 4f 4e 47 20 55 53 4e 3b 0d  s LONGLONG USN;.
1ee0: 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  ...// #if define
1ef0: 64 28 4d 49 44 4c 5f 50 41 53 53 29 0d 0a 2f 2f  d(MIDL_PASS)..//
1f00: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f   .....// #else /
1f10: 2f 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 75 6e 69  / MIDL_PASS..uni
1f20: 6f 6e 20 5f 4c 41 52 47 45 5f 49 4e 54 45 47 45  on _LARGE_INTEGE
1f30: 52 20 7b 0d 0a 73 74 72 75 63 74 20 5f 30 20 7b  R {..struct _0 {
1f40: 0d 0a 20 20 44 57 4f 52 44 20 4c 6f 77 50 61 72  ..  DWORD LowPar
1f50: 74 3b 0d 0a 20 20 4c 4f 4e 47 20 48 69 67 68 50  t;..  LONG HighP
1f60: 61 72 74 3b 0d 0a 7d 0d 0a 5f 30 20 5f 3b 0d 0a  art;..}.._0 _;..
1f70: 0d 0a 73 74 72 75 63 74 20 5f 31 20 7b 0d 0a 20  ..struct _1 {.. 
1f80: 20 44 57 4f 52 44 20 4c 6f 77 50 61 72 74 3b 0d   DWORD LowPart;.
1f90: 0a 20 20 4c 4f 4e 47 20 48 69 67 68 50 61 72 74  .  LONG HighPart
1fa0: 3b 0d 0a 7d 0d 0a 5f 31 20 75 3b 0d 0a 0d 0a 2f  ;..}.._1 u;..../
1fb0: 2f 20 23 65 6e 64 69 66 20 2f 2f 4d 49 44 4c 5f  / #endif //MIDL_
1fc0: 50 41 53 53 0d 0a 20 20 4c 4f 4e 47 4c 4f 4e 47  PASS..  LONGLONG
1fd0: 20 51 75 61 64 50 61 72 74 3b 0d 0a 7d 0d 0a 61   QuadPart;..}..a
1fe0: 6c 69 61 73 20 5f 4c 41 52 47 45 5f 49 4e 54 45  lias _LARGE_INTE
1ff0: 47 45 52 20 4c 41 52 47 45 5f 49 4e 54 45 47 45  GER LARGE_INTEGE
2000: 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 41 52 47  R;....alias LARG
2010: 45 5f 49 4e 54 45 47 45 52 2a 20 50 4c 41 52 47  E_INTEGER* PLARG
2020: 45 5f 49 4e 54 45 47 45 52 3b 0d 0a 0d 0a 2f 2f  E_INTEGER;....//
2030: 20 23 69 66 20 64 65 66 69 6e 65 64 28 4d 49 44   #if defined(MID
2040: 4c 5f 50 41 53 53 29 0d 0a 2f 2f 20 2e 2e 2e 0d  L_PASS)..// ....
2050: 0a 2f 2f 20 23 65 6c 73 65 20 2f 2f 20 4d 49 44  .// #else // MID
2060: 4c 5f 50 41 53 53 0d 0a 75 6e 69 6f 6e 20 5f 55  L_PASS..union _U
2070: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 7b 0d  LARGE_INTEGER {.
2080: 0a 73 74 72 75 63 74 20 5f 32 20 7b 0d 0a 20 20  .struct _2 {..  
2090: 44 57 4f 52 44 20 4c 6f 77 50 61 72 74 3b 0d 0a  DWORD LowPart;..
20a0: 20 20 44 57 4f 52 44 20 48 69 67 68 50 61 72 74    DWORD HighPart
20b0: 3b 0d 0a 7d 0d 0a 5f 32 20 5f 3b 0d 0a 0d 0a 73  ;..}.._2 _;....s
20c0: 74 72 75 63 74 20 5f 33 20 7b 0d 0a 20 20 44 57  truct _3 {..  DW
20d0: 4f 52 44 20 4c 6f 77 50 61 72 74 3b 0d 0a 20 20  ORD LowPart;..  
20e0: 44 57 4f 52 44 20 48 69 67 68 50 61 72 74 3b 0d  DWORD HighPart;.
20f0: 0a 7d 0d 0a 5f 33 20 75 3b 0d 0a 0d 0a 2f 2f 20  .}.._3 u;....// 
2100: 23 65 6e 64 69 66 20 2f 2f 4d 49 44 4c 5f 50 41  #endif //MIDL_PA
2110: 53 53 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20  SS..  ULONGLONG 
2120: 51 75 61 64 50 61 72 74 3b 0d 0a 7d 0d 0a 61 6c  QuadPart;..}..al
2130: 69 61 73 20 5f 55 4c 41 52 47 45 5f 49 4e 54 45  ias _ULARGE_INTE
2140: 47 45 52 20 55 4c 41 52 47 45 5f 49 4e 54 45 47  GER ULARGE_INTEG
2150: 45 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 55 4c 41  ER;....alias ULA
2160: 52 47 45 5f 49 4e 54 45 47 45 52 2a 20 50 55 4c  RGE_INTEGER* PUL
2170: 41 52 47 45 5f 49 4e 54 45 47 45 52 3b 0d 0a 0d  ARGE_INTEGER;...
2180: 0a 73 74 72 75 63 74 20 5f 4c 55 49 44 20 7b 0d  .struct _LUID {.
2190: 0a 20 20 44 57 4f 52 44 20 4c 6f 77 50 61 72 74  .  DWORD LowPart
21a0: 3b 0d 0a 20 20 4c 4f 4e 47 20 48 69 67 68 50 61  ;..  LONG HighPa
21b0: 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4c  rt;..}..alias _L
21c0: 55 49 44 20 4c 55 49 44 3b 0d 0a 61 6c 69 61 73  UID LUID;..alias
21d0: 20 5f 4c 55 49 44 2a 20 50 4c 55 49 44 3b 0d 0a   _LUID* PLUID;..
21e0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 44 57  ..// #define _DW
21f0: 4f 52 44 4c 4f 4e 47 5f 0d 0a 61 6c 69 61 73 20  ORDLONG_..alias 
2200: 55 4c 4f 4e 47 4c 4f 4e 47 20 44 57 4f 52 44 4c  ULONGLONG DWORDL
2210: 4f 4e 47 3b 0d 0a 61 6c 69 61 73 20 44 57 4f 52  ONG;..alias DWOR
2220: 44 4c 4f 4e 47 2a 20 50 44 57 4f 52 44 4c 4f 4e  DLONG* PDWORDLON
2230: 47 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  G;....// #if def
2240: 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53 53 29 20  ined(MIDL_PASS) 
2250: 7c 7c 20 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  || defined(RC_IN
2260: 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  VOKED)....// #..
2270: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
2280: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
2290: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  // #.......// #e
22a0: 6c 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 4d  lif defined(_M_M
22b0: 52 58 30 30 30 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  RX000)....// #..
22c0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
22d0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
22e0: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69  // #.......// #i
22f0: 66 20 64 65 66 69 6e 65 64 20 28 5f 5f 63 70 6c  f defined (__cpl
2300: 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 2e 2e 2e 0d  usplus)..// ....
2310: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
2320: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
2330: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
2340: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
2350: 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 20 28  // #if defined (
2360: 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d 0a 2f 2f  __cplusplus)..//
2370: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
2380: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
2390: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  .......// #.....
23a0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
23b0: 0d 0a 0d 0a 2f 2f 20 23 65 6c 69 66 20 64 65 66  ....// #elif def
23c0: 69 6e 65 64 28 5f 4d 5f 49 58 38 36 29 0d 0a 0d  ined(_M_IX86)...
23d0: 0a 6c 6f 6e 67 20 49 6e 74 33 32 78 33 32 54 6f  .long Int32x32To
23e0: 36 34 28 69 6e 74 20 61 2c 20 69 6e 74 20 62 29  64(int a, int b)
23f0: 20 7b 20 72 65 74 75 72 6e 20 28 63 61 73 74 28   { return (cast(
2400: 6c 6f 6e 67 29 61 29 20 2a 20 62 3b 20 7d 0d 0a  long)a) * b; }..
2410: 75 6c 6f 6e 67 20 55 49 6e 74 33 32 78 33 32 54  ulong UInt32x32T
2420: 6f 36 34 28 75 69 6e 74 20 61 2c 20 75 69 6e 74  o64(uint a, uint
2430: 20 62 29 20 7b 20 72 65 74 75 72 6e 20 28 63 61   b) { return (ca
2440: 73 74 28 75 6c 6f 6e 67 29 61 29 20 2a 20 62 3b  st(ulong)a) * b;
2450: 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
2460: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 4c 4f  dows) export ULO
2470: 4e 47 4c 4f 4e 47 20 49 6e 74 36 34 53 68 6c 6c  NGLONG Int64Shll
2480: 4d 6f 64 33 32 28 0d 0a 20 20 55 4c 4f 4e 47 4c  Mod32(..  ULONGL
2490: 4f 4e 47 20 56 61 6c 75 65 2c 0d 0a 20 20 44 57  ONG Value,..  DW
24a0: 4f 52 44 20 53 68 69 66 74 43 6f 75 6e 74 29 3b  ORD ShiftCount);
24b0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
24c0: 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 4c  ws) export LONGL
24d0: 4f 4e 47 20 49 6e 74 36 34 53 68 72 61 4d 6f 64  ONG Int64ShraMod
24e0: 33 32 28 0d 0a 20 20 4c 4f 4e 47 4c 4f 4e 47 20  32(..  LONGLONG 
24f0: 56 61 6c 75 65 2c 0d 0a 20 20 44 57 4f 52 44 20  Value,..  DWORD 
2500: 53 68 69 66 74 43 6f 75 6e 74 29 3b 0d 0a 0d 0a  ShiftCount);....
2510: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2520: 65 78 70 6f 72 74 20 55 4c 4f 4e 47 4c 4f 4e 47  export ULONGLONG
2530: 20 49 6e 74 36 34 53 68 72 6c 4d 6f 64 33 32 28   Int64ShrlMod32(
2540: 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 56 61  ..  ULONGLONG Va
2550: 6c 75 65 2c 0d 0a 20 20 44 57 4f 52 44 20 53 68  lue,..  DWORD Sh
2560: 69 66 74 43 6f 75 6e 74 29 3b 0d 0a 0d 0a 2f 2f  iftCount);....//
2570: 20 23 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e 3d   #if _MSC_VER >=
2580: 20 31 32 30 30 0d 0a 2f 2f 20 23 70 72 61 67 6d   1200..// #pragm
2590: 61 20 77 61 72 6e 69 6e 67 28 70 75 73 68 29 0d  a warning(push).
25a0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
25b0: 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28 64  pragma warning(d
25c0: 69 73 61 62 6c 65 3a 34 30 33 35 29 20 20 20 20  isable:4035)    
25d0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65             // re
25e0: 2d 65 6e 61 62 6c 65 20 62 65 6c 6f 77 0d 0a 0d  -enable below...
25f0: 0a 2f 2f 20 5f 5f 69 6e 6c 69 6e 65 20 55 4c 4f  .// __inline ULO
2600: 4e 47 4c 4f 4e 47 20 49 6e 74 36 34 53 68 6c 6c  NGLONG Int64Shll
2610: 4d 6f 64 33 32 28 20 20 20 20 20 55 4c 4f 4e 47  Mod32(     ULONG
2620: 4c 4f 4e 47 20 56 61 6c 75 65 2c 20 20 20 20 20  LONG Value,     
2630: 44 57 4f 52 44 20 53 68 69 66 74 43 6f 75 6e 74  DWORD ShiftCount
2640: 20 20 20 20 20 29 3b 0d 0a 0d 0a 2f 2f 20 5f 5f       );....// __
2650: 69 6e 6c 69 6e 65 20 4c 4f 4e 47 4c 4f 4e 47 20  inline LONGLONG 
2660: 49 6e 74 36 34 53 68 72 61 4d 6f 64 33 32 28 20  Int64ShraMod32( 
2670: 20 20 20 20 4c 4f 4e 47 4c 4f 4e 47 20 56 61 6c      LONGLONG Val
2680: 75 65 2c 20 20 20 20 20 44 57 4f 52 44 20 53 68  ue,     DWORD Sh
2690: 69 66 74 43 6f 75 6e 74 20 20 20 20 20 29 3b 0d  iftCount     );.
26a0: 0a 0d 0a 2f 2f 20 5f 5f 69 6e 6c 69 6e 65 20 55  ...// __inline U
26b0: 4c 4f 4e 47 4c 4f 4e 47 20 49 6e 74 36 34 53 68  LONGLONG Int64Sh
26c0: 72 6c 4d 6f 64 33 32 28 20 20 20 20 20 55 4c 4f  rlMod32(     ULO
26d0: 4e 47 4c 4f 4e 47 20 56 61 6c 75 65 2c 20 20 20  NGLONG Value,   
26e0: 20 20 44 57 4f 52 44 20 53 68 69 66 74 43 6f 75    DWORD ShiftCou
26f0: 6e 74 20 20 20 20 20 29 3b 0d 0a 0d 0a 2f 2f 20  nt     );....// 
2700: 23 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  #if _MSC_VER >= 
2710: 31 32 30 30 0d 0a 2f 2f 20 23 70 72 61 67 6d 61  1200..// #pragma
2720: 20 77 61 72 6e 69 6e 67 28 70 6f 70 29 0d 0a 2f   warning(pop)../
2730: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
2740: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
2750: 2f 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28  / #elif defined(
2760: 5f 4d 5f 41 4c 50 48 41 29 0d 0a 0d 0a 2f 2f 20  _M_ALPHA)....// 
2770: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  #.....// #......
2780: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
2790: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
27a0: 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f   #elif defined(_
27b0: 4d 5f 50 50 43 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  M_PPC)....// #..
27c0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
27d0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
27e0: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  // #.......// #e
27f0: 6c 69 66 20 64 65 66 69 6e 65 64 28 5f 36 38 4b  lif defined(_68K
2800: 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d  _) || defined(_M
2810: 50 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  PPC_)....// #...
2820: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
2830: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2840: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c  / #.......// #el
2850: 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41  if defined(_M_IA
2860: 36 34 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f  64) || defined(_
2870: 4d 5f 41 4d 44 36 34 29 0d 0a 0d 0a 2f 2f 20 23  M_AMD64)....// #
2880: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
2890: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
28a0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
28b0: 23 65 6c 73 65 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  #else....// #...
28c0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
28d0: 0a 65 6e 75 6d 20 3a 20 43 48 41 52 20 7b 20 41  .enum : CHAR { A
28e0: 4e 53 49 5f 4e 55 4c 4c 20 3d 20 30 20 7d 0d 0a  NSI_NULL = 0 }..
28f0: 65 6e 75 6d 20 3a 20 57 43 48 41 52 20 7b 20 55  enum : WCHAR { U
2900: 4e 49 43 4f 44 45 5f 4e 55 4c 4c 20 3d 20 30 20  NICODE_NULL = 0 
2910: 7d 0d 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b  }..enum : WORD {
2920: 20 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 5f   UNICODE_STRING_
2930: 4d 41 58 5f 42 59 54 45 53 20 3d 20 36 35 35 33  MAX_BYTES = 6553
2940: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2950: 20 7b 20 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e   { UNICODE_STRIN
2960: 47 5f 4d 41 58 5f 43 48 41 52 53 20 3d 20 33 32  G_MAX_CHARS = 32
2970: 37 36 37 20 7d 0d 0a 61 6c 69 61 73 20 42 59 54  767 }..alias BYT
2980: 45 20 42 4f 4f 4c 45 41 4e 3b 0d 0a 61 6c 69 61  E BOOLEAN;..alia
2990: 73 20 42 4f 4f 4c 45 41 4e 2a 20 50 42 4f 4f 4c  s BOOLEAN* PBOOL
29a0: 45 41 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  EAN;....struct _
29b0: 4c 49 53 54 5f 45 4e 54 52 59 20 7b 0d 0a 20 20  LIST_ENTRY {..  
29c0: 5f 4c 49 53 54 5f 45 4e 54 52 59 20 2a 46 6c 69  _LIST_ENTRY *Fli
29d0: 6e 6b 3b 0d 0a 20 20 5f 4c 49 53 54 5f 45 4e 54  nk;..  _LIST_ENT
29e0: 52 59 20 2a 42 6c 69 6e 6b 3b 0d 0a 7d 0d 0a 61  RY *Blink;..}..a
29f0: 6c 69 61 73 20 5f 4c 49 53 54 5f 45 4e 54 52 59  lias _LIST_ENTRY
2a00: 20 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 61 6c   LIST_ENTRY;..al
2a10: 69 61 73 20 5f 4c 49 53 54 5f 45 4e 54 52 59 2a  ias _LIST_ENTRY*
2a20: 20 50 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 61   PLIST_ENTRY;..a
2a30: 6c 69 61 73 20 5f 4c 49 53 54 5f 45 4e 54 52 59  lias _LIST_ENTRY
2a40: 2a 20 52 45 53 54 52 49 43 54 45 44 5f 50 4f 49  * RESTRICTED_POI
2a50: 4e 54 45 52 50 52 4c 49 53 54 5f 45 4e 54 52 59  NTERPRLIST_ENTRY
2a60: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 49 4e  ;....struct _SIN
2a70: 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 52 59 20 7b  GLE_LIST_ENTRY {
2a80: 0d 0a 20 20 5f 53 49 4e 47 4c 45 5f 4c 49 53 54  ..  _SINGLE_LIST
2a90: 5f 45 4e 54 52 59 20 2a 4e 65 78 74 3b 0d 0a 7d  _ENTRY *Next;..}
2aa0: 0d 0a 61 6c 69 61 73 20 5f 53 49 4e 47 4c 45 5f  ..alias _SINGLE_
2ab0: 4c 49 53 54 5f 45 4e 54 52 59 20 53 49 4e 47 4c  LIST_ENTRY SINGL
2ac0: 45 5f 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 61  E_LIST_ENTRY;..a
2ad0: 6c 69 61 73 20 5f 53 49 4e 47 4c 45 5f 4c 49 53  lias _SINGLE_LIS
2ae0: 54 5f 45 4e 54 52 59 2a 20 50 53 49 4e 47 4c 45  T_ENTRY* PSINGLE
2af0: 5f 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 0d 0a  _LIST_ENTRY;....
2b00: 73 74 72 75 63 74 20 4c 49 53 54 5f 45 4e 54 52  struct LIST_ENTR
2b10: 59 33 32 20 7b 0d 0a 20 20 44 57 4f 52 44 20 46  Y32 {..  DWORD F
2b20: 6c 69 6e 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 42  link;..  DWORD B
2b30: 6c 69 6e 6b 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61  link;..}....alia
2b40: 73 20 4c 49 53 54 5f 45 4e 54 52 59 33 32 2a 20  s LIST_ENTRY32* 
2b50: 50 4c 49 53 54 5f 45 4e 54 52 59 33 32 3b 0d 0a  PLIST_ENTRY32;..
2b60: 0d 0a 73 74 72 75 63 74 20 4c 49 53 54 5f 45 4e  ..struct LIST_EN
2b70: 54 52 59 36 34 20 7b 0d 0a 20 20 55 4c 4f 4e 47  TRY64 {..  ULONG
2b80: 4c 4f 4e 47 20 46 6c 69 6e 6b 3b 0d 0a 20 20 55  LONG Flink;..  U
2b90: 4c 4f 4e 47 4c 4f 4e 47 20 42 6c 69 6e 6b 3b 0d  LONGLONG Blink;.
2ba0: 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 49 53 54  .}....alias LIST
2bb0: 5f 45 4e 54 52 59 36 34 2a 20 50 4c 49 53 54 5f  _ENTRY64* PLIST_
2bc0: 45 4e 54 52 59 36 34 3b 0d 0a 0d 0a 69 6d 70 6f  ENTRY64;....impo
2bd0: 72 74 20 77 69 6e 33 32 2e 61 6e 73 69 2e 67 75  rt win32.ansi.gu
2be0: 69 64 64 65 66 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  iddef;....// #if
2bf0: 6e 64 65 66 20 5f 5f 4f 42 4a 45 43 54 49 44 5f  ndef __OBJECTID_
2c00: 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 23 64 65 66  DEFINED..// #def
2c10: 69 6e 65 20 5f 5f 4f 42 4a 45 43 54 49 44 5f 44  ine __OBJECTID_D
2c20: 45 46 49 4e 45 44 0d 0a 0d 0a 73 74 72 75 63 74  EFINED....struct
2c30: 20 5f 4f 42 4a 45 43 54 49 44 20 7b 0d 0a 20 20   _OBJECTID {..  
2c40: 47 55 49 44 20 4c 69 6e 65 61 67 65 3b 0d 0a 20  GUID Lineage;.. 
2c50: 20 44 57 4f 52 44 20 55 6e 69 71 75 69 66 69 65   DWORD Uniquifie
2c60: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 42  r;..}..alias _OB
2c70: 4a 45 43 54 49 44 20 4f 42 4a 45 43 54 49 44 3b  JECTID OBJECTID;
2c80: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
2c90: 20 21 5f 4f 42 4a 45 43 54 49 44 5f 44 45 46 49   !_OBJECTID_DEFI
2ca0: 4e 45 44 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  NED....enum : ui
2cb0: 6e 74 20 7b 20 4d 49 4e 43 48 41 52 20 3d 20 30  nt { MINCHAR = 0
2cc0: 78 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x80 }..enum : ui
2cd0: 6e 74 20 7b 20 4d 41 58 43 48 41 52 20 3d 20 30  nt { MAXCHAR = 0
2ce0: 78 37 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x7f }..enum : ui
2cf0: 6e 74 20 7b 20 4d 49 4e 53 48 4f 52 54 20 3d 20  nt { MINSHORT = 
2d00: 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8000 }..enum :
2d10: 20 75 69 6e 74 20 7b 20 4d 41 58 53 48 4f 52 54   uint { MAXSHORT
2d20: 20 3d 20 30 78 37 66 66 66 20 7d 0d 0a 65 6e 75   = 0x7fff }..enu
2d30: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4e 4c 4f  m : uint { MINLO
2d40: 4e 47 20 3d 20 30 78 38 30 30 30 30 30 30 30 20  NG = 0x80000000 
2d50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d60: 20 4d 41 58 4c 4f 4e 47 20 3d 20 30 78 37 66 66   MAXLONG = 0x7ff
2d70: 66 66 66 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20  fffff }..enum : 
2d80: 75 69 6e 74 20 7b 20 4d 41 58 42 59 54 45 20 3d  uint { MAXBYTE =
2d90: 20 30 78 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xff }..enum : 
2da0: 75 69 6e 74 20 7b 20 4d 41 58 57 4f 52 44 20 3d  uint { MAXWORD =
2db0: 20 30 78 66 66 66 66 20 7d 0d 0a 65 6e 75 6d 20   0xffff }..enum 
2dc0: 3a 20 75 69 6e 74 20 7b 20 4d 41 58 44 57 4f 52  : uint { MAXDWOR
2dd0: 44 20 3d 20 30 78 66 66 66 66 66 66 66 66 20 7d  D = 0xffffffff }
2de0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 46  ....// #define F
2df0: 49 45 4c 44 5f 4f 46 46 53 45 54 28 74 79 70 65  IELD_OFFSET(type
2e00: 2c 20 66 69 65 6c 64 29 20 28 28 4c 4f 4e 47 29  , field) ((LONG)
2e10: 28 4c 4f 4e 47 5f 50 54 52 29 26 28 28 28 74 79  (LONG_PTR)&(((ty
2e20: 70 65 20 2a 29 30 29 2d 3e 66 69 65 6c 64 29 29  pe *)0)->field))
2e30: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33  ....// #if(_WIN3
2e40: 32 5f 57 49 4e 4e 54 20 3e 20 30 78 30 35 30 30  2_WINNT > 0x0500
2e50: 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  )....// #define 
2e60: 52 54 4c 5f 46 49 45 4c 44 5f 53 49 5a 45 28 74  RTL_FIELD_SIZE(t
2e70: 79 70 65 2c 20 66 69 65 6c 64 29 20 28 73 69 7a  ype, field) (siz
2e80: 65 6f 66 28 28 28 74 79 70 65 20 2a 29 30 29 2d  eof(((type *)0)-
2e90: 3e 66 69 65 6c 64 29 29 0d 0a 0d 0a 2f 2f 20 23  >field))....// #
2ea0: 64 65 66 69 6e 65 20 52 54 4c 5f 53 49 5a 45 4f  define RTL_SIZEO
2eb0: 46 5f 54 48 52 4f 55 47 48 5f 46 49 45 4c 44 28  F_THROUGH_FIELD(
2ec0: 74 79 70 65 2c 20 66 69 65 6c 64 29 20 28 46 49  type, field) (FI
2ed0: 45 4c 44 5f 4f 46 46 53 45 54 28 74 79 70 65 2c  ELD_OFFSET(type,
2ee0: 20 66 69 65 6c 64 29 20 2b 20 52 54 4c 5f 46 49   field) + RTL_FI
2ef0: 45 4c 44 5f 53 49 5a 45 28 74 79 70 65 2c 20 66  ELD_SIZE(type, f
2f00: 69 65 6c 64 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65  ield))....// #de
2f10: 66 69 6e 65 20 52 54 4c 5f 43 4f 4e 54 41 49 4e  fine RTL_CONTAIN
2f20: 53 5f 46 49 45 4c 44 28 53 74 72 75 63 74 2c 20  S_FIELD(Struct, 
2f30: 53 69 7a 65 2c 20 46 69 65 6c 64 29 20 28 20 28  Size, Field) ( (
2f40: 28 28 50 43 48 41 52 29 28 26 28 53 74 72 75 63  ((PCHAR)(&(Struc
2f50: 74 29 2d 3e 46 69 65 6c 64 29 29 20 2b 20 73 69  t)->Field)) + si
2f60: 7a 65 6f 66 28 28 53 74 72 75 63 74 29 2d 3e 46  zeof((Struct)->F
2f70: 69 65 6c 64 29 29 20 3c 3d 20 28 28 28 50 43 48  ield)) <= (((PCH
2f80: 41 52 29 28 53 74 72 75 63 74 29 29 2b 28 53 69  AR)(Struct))+(Si
2f90: 7a 65 29 29 20 29 0d 0a 0d 0a 2f 2f 20 23 64 65  ze)) )....// #de
2fa0: 66 69 6e 65 20 52 54 4c 5f 4e 55 4d 42 45 52 5f  fine RTL_NUMBER_
2fb0: 4f 46 28 41 29 20 28 73 69 7a 65 6f 66 28 41 29  OF(A) (sizeof(A)
2fc0: 2f 73 69 7a 65 6f 66 28 28 41 29 5b 30 5d 29 29  /sizeof((A)[0]))
2fd0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52  ....// #define R
2fe0: 54 4c 5f 46 49 45 4c 44 5f 54 59 50 45 28 74 79  TL_FIELD_TYPE(ty
2ff0: 70 65 2c 20 66 69 65 6c 64 29 20 28 28 28 74 79  pe, field) (((ty
3000: 70 65 2a 29 30 29 2d 3e 66 69 65 6c 64 29 0d 0a  pe*)0)->field)..
3010: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52 54 4c  ..// #define RTL
3020: 5f 4e 55 4d 42 45 52 5f 4f 46 5f 46 49 45 4c 44  _NUMBER_OF_FIELD
3030: 28 74 79 70 65 2c 20 66 69 65 6c 64 29 20 28 52  (type, field) (R
3040: 54 4c 5f 4e 55 4d 42 45 52 5f 4f 46 28 52 54 4c  TL_NUMBER_OF(RTL
3050: 5f 46 49 45 4c 44 5f 54 59 50 45 28 74 79 70 65  _FIELD_TYPE(type
3060: 2c 20 66 69 65 6c 64 29 29 29 0d 0a 0d 0a 2f 2f  , field)))....//
3070: 20 23 64 65 66 69 6e 65 20 52 54 4c 5f 50 41 44   #define RTL_PAD
3080: 44 49 4e 47 5f 42 45 54 57 45 45 4e 5f 46 49 45  DING_BETWEEN_FIE
3090: 4c 44 53 28 54 2c 20 46 31 2c 20 46 32 29 20 28  LDS(T, F1, F2) (
30a0: 28 46 49 45 4c 44 5f 4f 46 46 53 45 54 28 54 2c  (FIELD_OFFSET(T,
30b0: 20 46 32 29 20 3e 20 46 49 45 4c 44 5f 4f 46 46   F2) > FIELD_OFF
30c0: 53 45 54 28 54 2c 20 46 31 29 29 20 3f 20 28 46  SET(T, F1)) ? (F
30d0: 49 45 4c 44 5f 4f 46 46 53 45 54 28 54 2c 20 46  IELD_OFFSET(T, F
30e0: 32 29 20 2d 20 46 49 45 4c 44 5f 4f 46 46 53 45  2) - FIELD_OFFSE
30f0: 54 28 54 2c 20 46 31 29 20 2d 20 52 54 4c 5f 46  T(T, F1) - RTL_F
3100: 49 45 4c 44 5f 53 49 5a 45 28 54 2c 20 46 31 29  IELD_SIZE(T, F1)
3110: 29 20 3a 20 28 46 49 45 4c 44 5f 4f 46 46 53 45  ) : (FIELD_OFFSE
3120: 54 28 54 2c 20 46 31 29 20 2d 20 46 49 45 4c 44  T(T, F1) - FIELD
3130: 5f 4f 46 46 53 45 54 28 54 2c 20 46 32 29 20 2d  _OFFSET(T, F2) -
3140: 20 52 54 4c 5f 46 49 45 4c 44 5f 53 49 5a 45 28   RTL_FIELD_SIZE(
3150: 54 2c 20 46 32 29 29 29 0d 0a 0d 0a 2f 2f 20 23  T, F2)))....// #
3160: 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 63 70 6c  if defined(__cpl
3170: 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 23 64 65 66  usplus)..// #def
3180: 69 6e 65 20 52 54 4c 5f 43 4f 4e 53 54 5f 43 41  ine RTL_CONST_CA
3190: 53 54 28 74 79 70 65 29 20 63 6f 6e 73 74 5f 63  ST(type) const_c
31a0: 61 73 74 3c 74 79 70 65 3e 0d 0a 2f 2f 20 23 65  ast<type>..// #e
31b0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
31c0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64   #endif....// #d
31d0: 65 66 69 6e 65 20 52 54 4c 5f 42 49 54 53 5f 4f  efine RTL_BITS_O
31e0: 46 28 73 69 7a 65 4f 66 41 72 67 29 20 28 73 69  F(sizeOfArg) (si
31f0: 7a 65 6f 66 28 73 69 7a 65 4f 66 41 72 67 29 20  zeof(sizeOfArg) 
3200: 2a 20 38 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  * 8)....// #defi
3210: 6e 65 20 52 54 4c 5f 42 49 54 53 5f 4f 46 5f 46  ne RTL_BITS_OF_F
3220: 49 45 4c 44 28 74 79 70 65 2c 20 66 69 65 6c 64  IELD(type, field
3230: 29 20 28 52 54 4c 5f 42 49 54 53 5f 4f 46 28 52  ) (RTL_BITS_OF(R
3240: 54 4c 5f 46 49 45 4c 44 5f 54 59 50 45 28 74 79  TL_FIELD_TYPE(ty
3250: 70 65 2c 20 66 69 65 6c 64 29 29 29 0d 0a 0d 0a  pe, field)))....
3260: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
3270: 4e 33 32 5f 57 49 4e 4e 54 20 3e 20 30 78 30 35  N32_WINNT > 0x05
3280: 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 64 65 66  00 */....// #def
3290: 69 6e 65 20 43 4f 4e 54 41 49 4e 49 4e 47 5f 52  ine CONTAINING_R
32a0: 45 43 4f 52 44 28 61 64 64 72 65 73 73 2c 20 74  ECORD(address, t
32b0: 79 70 65 2c 20 66 69 65 6c 64 29 20 28 28 74 79  ype, field) ((ty
32c0: 70 65 20 2a 29 28 20 28 50 43 48 41 52 29 28 61  pe *)( (PCHAR)(a
32d0: 64 64 72 65 73 73 29 20 2d 20 28 55 4c 4f 4e 47  ddress) - (ULONG
32e0: 5f 50 54 52 29 28 26 28 28 74 79 70 65 20 2a 29  _PTR)(&((type *)
32f0: 30 29 2d 3e 66 69 65 6c 64 29 29 29 0d 0a 0d 0a  0)->field)))....
3300: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45  enum : uint { VE
3310: 52 5f 53 45 52 56 45 52 5f 4e 54 20 3d 20 30 78  R_SERVER_NT = 0x
3320: 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80000000 }..enum
3330: 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 57 4f   : uint { VER_WO
3340: 52 4b 53 54 41 54 49 4f 4e 5f 4e 54 20 3d 20 30  RKSTATION_NT = 0
3350: 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x40000000 }..enu
3360: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 53  m : uint { VER_S
3370: 55 49 54 45 5f 53 4d 41 4c 4c 42 55 53 49 4e 45  UITE_SMALLBUSINE
3380: 53 53 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  SS = 0x00000001 
3390: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
33a0: 20 56 45 52 5f 53 55 49 54 45 5f 45 4e 54 45 52   VER_SUITE_ENTER
33b0: 50 52 49 53 45 20 3d 20 30 78 30 30 30 30 30 30  PRISE = 0x000000
33c0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
33d0: 74 20 7b 20 56 45 52 5f 53 55 49 54 45 5f 42 41  t { VER_SUITE_BA
33e0: 43 4b 4f 46 46 49 43 45 20 3d 20 30 78 30 30 30  CKOFFICE = 0x000
33f0: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
3400: 75 69 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45  uint { VER_SUITE
3410: 5f 43 4f 4d 4d 55 4e 49 43 41 54 49 4f 4e 53 20  _COMMUNICATIONS 
3420: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
3430: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45  enum : uint { VE
3440: 52 5f 53 55 49 54 45 5f 54 45 52 4d 49 4e 41 4c  R_SUITE_TERMINAL
3450: 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
3460: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
3470: 45 52 5f 53 55 49 54 45 5f 53 4d 41 4c 4c 42 55  ER_SUITE_SMALLBU
3480: 53 49 4e 45 53 53 5f 52 45 53 54 52 49 43 54 45  SINESS_RESTRICTE
3490: 44 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  D = 0x00000020 }
34a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34b0: 56 45 52 5f 53 55 49 54 45 5f 45 4d 42 45 44 44  VER_SUITE_EMBEDD
34c0: 45 44 4e 54 20 3d 20 30 78 30 30 30 30 30 30 34  EDNT = 0x0000004
34d0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
34e0: 20 7b 20 56 45 52 5f 53 55 49 54 45 5f 44 41 54   { VER_SUITE_DAT
34f0: 41 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30 30  ACENTER = 0x0000
3500: 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
3510: 69 6e 74 20 7b 20 56 45 52 5f 53 55 49 54 45 5f  int { VER_SUITE_
3520: 53 49 4e 47 4c 45 55 53 45 52 54 53 20 3d 20 30  SINGLEUSERTS = 0
3530: 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75  x00000100 }..enu
3540: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 53  m : uint { VER_S
3550: 55 49 54 45 5f 50 45 52 53 4f 4e 41 4c 20 3d 20  UITE_PERSONAL = 
3560: 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e  0x00000200 }..en
3570: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
3580: 53 55 49 54 45 5f 42 4c 41 44 45 20 3d 20 30 78  SUITE_BLADE = 0x
3590: 30 30 30 30 30 34 30 30 20 7d 0d 0a 0d 0a 65 6e  00000400 }....en
35a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
35b0: 5f 4e 45 55 54 52 41 4c 20 3d 20 30 78 30 30 20  _NEUTRAL = 0x00 
35c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
35d0: 20 4c 41 4e 47 5f 49 4e 56 41 52 49 41 4e 54 20   LANG_INVARIANT 
35e0: 3d 20 30 78 37 66 20 7d 0d 0a 0d 0a 65 6e 75 6d  = 0x7f }....enum
35f0: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 41   : uint { LANG_A
3600: 46 52 49 4b 41 41 4e 53 20 3d 20 30 78 33 36 20  FRIKAANS = 0x36 
3610: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3620: 20 4c 41 4e 47 5f 41 4c 42 41 4e 49 41 4e 20 3d   LANG_ALBANIAN =
3630: 20 30 78 31 63 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x1c }..enum : 
3640: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 41 52 41 42  uint { LANG_ARAB
3650: 49 43 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75  IC = 0x01 }..enu
3660: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3670: 41 52 4d 45 4e 49 41 4e 20 3d 20 30 78 32 62 20  ARMENIAN = 0x2b 
3680: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3690: 20 4c 41 4e 47 5f 41 53 53 41 4d 45 53 45 20 3d   LANG_ASSAMESE =
36a0: 20 30 78 34 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x4d }..enum : 
36b0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 41 5a 45 52  uint { LANG_AZER
36c0: 49 20 3d 20 30 78 32 63 20 7d 0d 0a 65 6e 75 6d  I = 0x2c }..enum
36d0: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 42   : uint { LANG_B
36e0: 41 53 51 55 45 20 3d 20 30 78 32 64 20 7d 0d 0a  ASQUE = 0x2d }..
36f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3700: 4e 47 5f 42 45 4c 41 52 55 53 49 41 4e 20 3d 20  NG_BELARUSIAN = 
3710: 30 78 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x23 }..enum : u
3720: 69 6e 74 20 7b 20 4c 41 4e 47 5f 42 45 4e 47 41  int { LANG_BENGA
3730: 4c 49 20 3d 20 30 78 34 35 20 7d 0d 0a 65 6e 75  LI = 0x45 }..enu
3740: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3750: 42 55 4c 47 41 52 49 41 4e 20 3d 20 30 78 30 32  BULGARIAN = 0x02
3760: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3770: 7b 20 4c 41 4e 47 5f 43 41 54 41 4c 41 4e 20 3d  { LANG_CATALAN =
3780: 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x03 }..enum : 
3790: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 43 48 49 4e  uint { LANG_CHIN
37a0: 45 53 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e  ESE = 0x04 }..en
37b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
37c0: 5f 43 52 4f 41 54 49 41 4e 20 3d 20 30 78 31 61  _CROATIAN = 0x1a
37d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37e0: 7b 20 4c 41 4e 47 5f 43 5a 45 43 48 20 3d 20 30  { LANG_CZECH = 0
37f0: 78 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x05 }..enum : ui
3800: 6e 74 20 7b 20 4c 41 4e 47 5f 44 41 4e 49 53 48  nt { LANG_DANISH
3810: 20 3d 20 30 78 30 36 20 7d 0d 0a 65 6e 75 6d 20   = 0x06 }..enum 
3820: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 44 49  : uint { LANG_DI
3830: 56 45 48 49 20 3d 20 30 78 36 35 20 7d 0d 0a 65  VEHI = 0x65 }..e
3840: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3850: 47 5f 44 55 54 43 48 20 3d 20 30 78 31 33 20 7d  G_DUTCH = 0x13 }
3860: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3870: 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 20 3d 20 30  LANG_ENGLISH = 0
3880: 78 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x09 }..enum : ui
3890: 6e 74 20 7b 20 4c 41 4e 47 5f 45 53 54 4f 4e 49  nt { LANG_ESTONI
38a0: 41 4e 20 3d 20 30 78 32 35 20 7d 0d 0a 65 6e 75  AN = 0x25 }..enu
38b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
38c0: 46 41 45 52 4f 45 53 45 20 3d 20 30 78 33 38 20  FAEROESE = 0x38 
38d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
38e0: 20 4c 41 4e 47 5f 46 41 52 53 49 20 3d 20 30 78   LANG_FARSI = 0x
38f0: 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  29 }..enum : uin
3900: 74 20 7b 20 4c 41 4e 47 5f 46 49 4e 4e 49 53 48  t { LANG_FINNISH
3910: 20 3d 20 30 78 30 62 20 7d 0d 0a 65 6e 75 6d 20   = 0x0b }..enum 
3920: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 46 52  : uint { LANG_FR
3930: 45 4e 43 48 20 3d 20 30 78 30 63 20 7d 0d 0a 65  ENCH = 0x0c }..e
3940: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3950: 47 5f 47 41 4c 49 43 49 41 4e 20 3d 20 30 78 35  G_GALICIAN = 0x5
3960: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
3970: 20 7b 20 4c 41 4e 47 5f 47 45 4f 52 47 49 41 4e   { LANG_GEORGIAN
3980: 20 3d 20 30 78 33 37 20 7d 0d 0a 65 6e 75 6d 20   = 0x37 }..enum 
3990: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 47 45  : uint { LANG_GE
39a0: 52 4d 41 4e 20 3d 20 30 78 30 37 20 7d 0d 0a 65  RMAN = 0x07 }..e
39b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
39c0: 47 5f 47 52 45 45 4b 20 3d 20 30 78 30 38 20 7d  G_GREEK = 0x08 }
39d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
39e0: 4c 41 4e 47 5f 47 55 4a 41 52 41 54 49 20 3d 20  LANG_GUJARATI = 
39f0: 30 78 34 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x47 }..enum : u
3a00: 69 6e 74 20 7b 20 4c 41 4e 47 5f 48 45 42 52 45  int { LANG_HEBRE
3a10: 57 20 3d 20 30 78 30 64 20 7d 0d 0a 65 6e 75 6d  W = 0x0d }..enum
3a20: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 48   : uint { LANG_H
3a30: 49 4e 44 49 20 3d 20 30 78 33 39 20 7d 0d 0a 65  INDI = 0x39 }..e
3a40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3a50: 47 5f 48 55 4e 47 41 52 49 41 4e 20 3d 20 30 78  G_HUNGARIAN = 0x
3a60: 30 65 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0e }..enum : uin
3a70: 74 20 7b 20 4c 41 4e 47 5f 49 43 45 4c 41 4e 44  t { LANG_ICELAND
3a80: 49 43 20 3d 20 30 78 30 66 20 7d 0d 0a 65 6e 75  IC = 0x0f }..enu
3a90: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
3aa0: 49 4e 44 4f 4e 45 53 49 41 4e 20 3d 20 30 78 32  INDONESIAN = 0x2
3ab0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
3ac0: 20 7b 20 4c 41 4e 47 5f 49 54 41 4c 49 41 4e 20   { LANG_ITALIAN 
3ad0: 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x10 }..enum :
3ae0: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4a 41 50   uint { LANG_JAP
3af0: 41 4e 45 53 45 20 3d 20 30 78 31 31 20 7d 0d 0a  ANESE = 0x11 }..
3b00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3b10: 4e 47 5f 4b 41 4e 4e 41 44 41 20 3d 20 30 78 34  NG_KANNADA = 0x4
3b20: 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  b }..enum : uint
3b30: 20 7b 20 4c 41 4e 47 5f 4b 41 53 48 4d 49 52 49   { LANG_KASHMIRI
3b40: 20 3d 20 30 78 36 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x60 }..enum 
3b50: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4b 41  : uint { LANG_KA
3b60: 5a 41 4b 20 3d 20 30 78 33 66 20 7d 0d 0a 65 6e  ZAK = 0x3f }..en
3b70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
3b80: 5f 4b 4f 4e 4b 41 4e 49 20 3d 20 30 78 35 37 20  _KONKANI = 0x57 
3b90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3ba0: 20 4c 41 4e 47 5f 4b 4f 52 45 41 4e 20 3d 20 30   LANG_KOREAN = 0
3bb0: 78 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x12 }..enum : ui
3bc0: 6e 74 20 7b 20 4c 41 4e 47 5f 4b 59 52 47 59 5a  nt { LANG_KYRGYZ
3bd0: 20 3d 20 30 78 34 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x40 }..enum 
3be0: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4c 41  : uint { LANG_LA
3bf0: 54 56 49 41 4e 20 3d 20 30 78 32 36 20 7d 0d 0a  TVIAN = 0x26 }..
3c00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3c10: 4e 47 5f 4c 49 54 48 55 41 4e 49 41 4e 20 3d 20  NG_LITHUANIAN = 
3c20: 30 78 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x27 }..enum : u
3c30: 69 6e 74 20 7b 20 4c 41 4e 47 5f 4d 41 43 45 44  int { LANG_MACED
3c40: 4f 4e 49 41 4e 20 3d 20 30 78 32 66 20 7d 0d 0a  ONIAN = 0x2f }..
3c50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3c60: 4e 47 5f 4d 41 4c 41 59 20 3d 20 30 78 33 65 20  NG_MALAY = 0x3e 
3c70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3c80: 20 4c 41 4e 47 5f 4d 41 4c 41 59 41 4c 41 4d 20   LANG_MALAYALAM 
3c90: 3d 20 30 78 34 63 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x4c }..enum :
3ca0: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4d 41 4e   uint { LANG_MAN
3cb0: 49 50 55 52 49 20 3d 20 30 78 35 38 20 7d 0d 0a  IPURI = 0x58 }..
3cc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3cd0: 4e 47 5f 4d 41 52 41 54 48 49 20 3d 20 30 78 34  NG_MARATHI = 0x4
3ce0: 65 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  e }..enum : uint
3cf0: 20 7b 20 4c 41 4e 47 5f 4d 4f 4e 47 4f 4c 49 41   { LANG_MONGOLIA
3d00: 4e 20 3d 20 30 78 35 30 20 7d 0d 0a 65 6e 75 6d  N = 0x50 }..enum
3d10: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 4e   : uint { LANG_N
3d20: 45 50 41 4c 49 20 3d 20 30 78 36 31 20 7d 0d 0a  EPALI = 0x61 }..
3d30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3d40: 4e 47 5f 4e 4f 52 57 45 47 49 41 4e 20 3d 20 30  NG_NORWEGIAN = 0
3d50: 78 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x14 }..enum : ui
3d60: 6e 74 20 7b 20 4c 41 4e 47 5f 4f 52 49 59 41 20  nt { LANG_ORIYA 
3d70: 3d 20 30 78 34 38 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x48 }..enum :
3d80: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 50 4f 4c   uint { LANG_POL
3d90: 49 53 48 20 3d 20 30 78 31 35 20 7d 0d 0a 65 6e  ISH = 0x15 }..en
3da0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47  um : uint { LANG
3db0: 5f 50 4f 52 54 55 47 55 45 53 45 20 3d 20 30 78  _PORTUGUESE = 0x
3dc0: 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  16 }..enum : uin
3dd0: 74 20 7b 20 4c 41 4e 47 5f 50 55 4e 4a 41 42 49  t { LANG_PUNJABI
3de0: 20 3d 20 30 78 34 36 20 7d 0d 0a 65 6e 75 6d 20   = 0x46 }..enum 
3df0: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 52 4f  : uint { LANG_RO
3e00: 4d 41 4e 49 41 4e 20 3d 20 30 78 31 38 20 7d 0d  MANIAN = 0x18 }.
3e10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3e20: 41 4e 47 5f 52 55 53 53 49 41 4e 20 3d 20 30 78  ANG_RUSSIAN = 0x
3e30: 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  19 }..enum : uin
3e40: 74 20 7b 20 4c 41 4e 47 5f 53 41 4e 53 4b 52 49  t { LANG_SANSKRI
3e50: 54 20 3d 20 30 78 34 66 20 7d 0d 0a 65 6e 75 6d  T = 0x4f }..enum
3e60: 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53   : uint { LANG_S
3e70: 45 52 42 49 41 4e 20 3d 20 30 78 31 61 20 7d 0d  ERBIAN = 0x1a }.
3e80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
3e90: 41 4e 47 5f 53 49 4e 44 48 49 20 3d 20 30 78 35  ANG_SINDHI = 0x5
3ea0: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
3eb0: 20 7b 20 4c 41 4e 47 5f 53 4c 4f 56 41 4b 20 3d   { LANG_SLOVAK =
3ec0: 20 30 78 31 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x1b }..enum : 
3ed0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53 4c 4f 56  uint { LANG_SLOV
3ee0: 45 4e 49 41 4e 20 3d 20 30 78 32 34 20 7d 0d 0a  ENIAN = 0x24 }..
3ef0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
3f00: 4e 47 5f 53 50 41 4e 49 53 48 20 3d 20 30 78 30  NG_SPANISH = 0x0
3f10: 61 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  a }..enum : uint
3f20: 20 7b 20 4c 41 4e 47 5f 53 57 41 48 49 4c 49 20   { LANG_SWAHILI 
3f30: 3d 20 30 78 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x41 }..enum :
3f40: 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 53 57 45   uint { LANG_SWE
3f50: 44 49 53 48 20 3d 20 30 78 31 64 20 7d 0d 0a 65  DISH = 0x1d }..e
3f60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
3f70: 47 5f 53 59 52 49 41 43 20 3d 20 30 78 35 61 20  G_SYRIAC = 0x5a 
3f80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3f90: 20 4c 41 4e 47 5f 54 41 4d 49 4c 20 3d 20 30 78   LANG_TAMIL = 0x
3fa0: 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  49 }..enum : uin
3fb0: 74 20 7b 20 4c 41 4e 47 5f 54 41 54 41 52 20 3d  t { LANG_TATAR =
3fc0: 20 30 78 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x44 }..enum : 
3fd0: 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 54 45 4c 55  uint { LANG_TELU
3fe0: 47 55 20 3d 20 30 78 34 61 20 7d 0d 0a 65 6e 75  GU = 0x4a }..enu
3ff0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
4000: 54 48 41 49 20 3d 20 30 78 31 65 20 7d 0d 0a 65  THAI = 0x1e }..e
4010: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
4020: 47 5f 54 55 52 4b 49 53 48 20 3d 20 30 78 31 66  G_TURKISH = 0x1f
4030: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4040: 7b 20 4c 41 4e 47 5f 55 4b 52 41 49 4e 49 41 4e  { LANG_UKRAINIAN
4050: 20 3d 20 30 78 32 32 20 7d 0d 0a 65 6e 75 6d 20   = 0x22 }..enum 
4060: 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f 55 52  : uint { LANG_UR
4070: 44 55 20 3d 20 30 78 32 30 20 7d 0d 0a 65 6e 75  DU = 0x20 }..enu
4080: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
4090: 55 5a 42 45 4b 20 3d 20 30 78 34 33 20 7d 0d 0a  UZBEK = 0x43 }..
40a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41  enum : uint { LA
40b0: 4e 47 5f 56 49 45 54 4e 41 4d 45 53 45 20 3d 20  NG_VIETNAMESE = 
40c0: 30 78 32 61 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x2a }....enum :
40d0: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
40e0: 4e 45 55 54 52 41 4c 20 3d 20 30 78 30 30 20 7d  NEUTRAL = 0x00 }
40f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4100: 53 55 42 4c 41 4e 47 5f 44 45 46 41 55 4c 54 20  SUBLANG_DEFAULT 
4110: 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x01 }..enum :
4120: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4130: 53 59 53 5f 44 45 46 41 55 4c 54 20 3d 20 30 78  SYS_DEFAULT = 0x
4140: 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  02 }....enum : u
4150: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52  int { SUBLANG_AR
4160: 41 42 49 43 5f 53 41 55 44 49 5f 41 52 41 42 49  ABIC_SAUDI_ARABI
4170: 41 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d  A = 0x01 }..enum
4180: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4190: 47 5f 41 52 41 42 49 43 5f 49 52 41 51 20 3d 20  G_ARABIC_IRAQ = 
41a0: 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x02 }..enum : u
41b0: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52  int { SUBLANG_AR
41c0: 41 42 49 43 5f 45 47 59 50 54 20 3d 20 30 78 30  ABIC_EGYPT = 0x0
41d0: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
41e0: 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41 42 49   { SUBLANG_ARABI
41f0: 43 5f 4c 49 42 59 41 20 3d 20 30 78 30 34 20 7d  C_LIBYA = 0x04 }
4200: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4210: 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 41  SUBLANG_ARABIC_A
4220: 4c 47 45 52 49 41 20 3d 20 30 78 30 35 20 7d 0d  LGERIA = 0x05 }.
4230: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
4240: 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4d 4f  UBLANG_ARABIC_MO
4250: 52 4f 43 43 4f 20 3d 20 30 78 30 36 20 7d 0d 0a  ROCCO = 0x06 }..
4260: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4270: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 54 55 4e  BLANG_ARABIC_TUN
4280: 49 53 49 41 20 3d 20 30 78 30 37 20 7d 0d 0a 65  ISIA = 0x07 }..e
4290: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
42a0: 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4f 4d 41 4e  LANG_ARABIC_OMAN
42b0: 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e 75 6d 20   = 0x08 }..enum 
42c0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
42d0: 5f 41 52 41 42 49 43 5f 59 45 4d 45 4e 20 3d 20  _ARABIC_YEMEN = 
42e0: 30 78 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x09 }..enum : u
42f0: 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52  int { SUBLANG_AR
4300: 41 42 49 43 5f 53 59 52 49 41 20 3d 20 30 78 30  ABIC_SYRIA = 0x0
4310: 61 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  a }..enum : uint
4320: 20 7b 20 53 55 42 4c 41 4e 47 5f 41 52 41 42 49   { SUBLANG_ARABI
4330: 43 5f 4a 4f 52 44 41 4e 20 3d 20 30 78 30 62 20  C_JORDAN = 0x0b 
4340: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4350: 20 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f   SUBLANG_ARABIC_
4360: 4c 45 42 41 4e 4f 4e 20 3d 20 30 78 30 63 20 7d  LEBANON = 0x0c }
4370: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4380: 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4b  SUBLANG_ARABIC_K
4390: 55 57 41 49 54 20 3d 20 30 78 30 64 20 7d 0d 0a  UWAIT = 0x0d }..
43a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
43b0: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 55 41 45  BLANG_ARABIC_UAE
43c0: 20 3d 20 30 78 30 65 20 7d 0d 0a 65 6e 75 6d 20   = 0x0e }..enum 
43d0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
43e0: 5f 41 52 41 42 49 43 5f 42 41 48 52 41 49 4e 20  _ARABIC_BAHRAIN 
43f0: 3d 20 30 78 30 66 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0f }..enum :
4400: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4410: 41 52 41 42 49 43 5f 51 41 54 41 52 20 3d 20 30  ARABIC_QATAR = 0
4420: 78 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x10 }..enum : ui
4430: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 41 5a 45  nt { SUBLANG_AZE
4440: 52 49 5f 4c 41 54 49 4e 20 3d 20 30 78 30 31 20  RI_LATIN = 0x01 
4450: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4460: 20 53 55 42 4c 41 4e 47 5f 41 5a 45 52 49 5f 43   SUBLANG_AZERI_C
4470: 59 52 49 4c 4c 49 43 20 3d 20 30 78 30 32 20 7d  YRILLIC = 0x02 }
4480: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4490: 53 55 42 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f  SUBLANG_CHINESE_
44a0: 54 52 41 44 49 54 49 4f 4e 41 4c 20 3d 20 30 78  TRADITIONAL = 0x
44b0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
44c0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 43 48 49 4e  t { SUBLANG_CHIN
44d0: 45 53 45 5f 53 49 4d 50 4c 49 46 49 45 44 20 3d  ESE_SIMPLIFIED =
44e0: 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x02 }..enum : 
44f0: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 43  uint { SUBLANG_C
4500: 48 49 4e 45 53 45 5f 48 4f 4e 47 4b 4f 4e 47 20  HINESE_HONGKONG 
4510: 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x03 }..enum :
4520: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4530: 43 48 49 4e 45 53 45 5f 53 49 4e 47 41 50 4f 52  CHINESE_SINGAPOR
4540: 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d  E = 0x04 }..enum
4550: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4560: 47 5f 43 48 49 4e 45 53 45 5f 4d 41 43 41 55 20  G_CHINESE_MACAU 
4570: 3d 20 30 78 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x05 }..enum :
4580: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4590: 44 55 54 43 48 20 3d 20 30 78 30 31 20 7d 0d 0a  DUTCH = 0x01 }..
45a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
45b0: 42 4c 41 4e 47 5f 44 55 54 43 48 5f 42 45 4c 47  BLANG_DUTCH_BELG
45c0: 49 41 4e 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e  IAN = 0x02 }..en
45d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
45e0: 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 55 53 20 3d  ANG_ENGLISH_US =
45f0: 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
4600: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 45  uint { SUBLANG_E
4610: 4e 47 4c 49 53 48 5f 55 4b 20 3d 20 30 78 30 32  NGLISH_UK = 0x02
4620: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4630: 7b 20 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53  { SUBLANG_ENGLIS
4640: 48 5f 41 55 53 20 3d 20 30 78 30 33 20 7d 0d 0a  H_AUS = 0x03 }..
4650: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4660: 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 43 41  BLANG_ENGLISH_CA
4670: 4e 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d  N = 0x04 }..enum
4680: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4690: 47 5f 45 4e 47 4c 49 53 48 5f 4e 5a 20 3d 20 30  G_ENGLISH_NZ = 0
46a0: 78 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x05 }..enum : ui
46b0: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 45 4e 47  nt { SUBLANG_ENG
46c0: 4c 49 53 48 5f 45 49 52 45 20 3d 20 30 78 30 36  LISH_EIRE = 0x06
46d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
46e0: 7b 20 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53  { SUBLANG_ENGLIS
46f0: 48 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 3d  H_SOUTH_AFRICA =
4700: 20 30 78 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x07 }..enum : 
4710: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 45  uint { SUBLANG_E
4720: 4e 47 4c 49 53 48 5f 4a 41 4d 41 49 43 41 20 3d  NGLISH_JAMAICA =
4730: 20 30 78 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x08 }..enum : 
4740: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 45  uint { SUBLANG_E
4750: 4e 47 4c 49 53 48 5f 43 41 52 49 42 42 45 41 4e  NGLISH_CARIBBEAN
4760: 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e 75 6d 20   = 0x09 }..enum 
4770: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4780: 5f 45 4e 47 4c 49 53 48 5f 42 45 4c 49 5a 45 20  _ENGLISH_BELIZE 
4790: 3d 20 30 78 30 61 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0a }..enum :
47a0: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
47b0: 45 4e 47 4c 49 53 48 5f 54 52 49 4e 49 44 41 44  ENGLISH_TRINIDAD
47c0: 20 3d 20 30 78 30 62 20 7d 0d 0a 65 6e 75 6d 20   = 0x0b }..enum 
47d0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
47e0: 5f 45 4e 47 4c 49 53 48 5f 5a 49 4d 42 41 42 57  _ENGLISH_ZIMBABW
47f0: 45 20 3d 20 30 78 30 63 20 7d 0d 0a 65 6e 75 6d  E = 0x0c }..enum
4800: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4810: 47 5f 45 4e 47 4c 49 53 48 5f 50 48 49 4c 49 50  G_ENGLISH_PHILIP
4820: 50 49 4e 45 53 20 3d 20 30 78 30 64 20 7d 0d 0a  PINES = 0x0d }..
4830: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4840: 42 4c 41 4e 47 5f 46 52 45 4e 43 48 20 3d 20 30  BLANG_FRENCH = 0
4850: 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x01 }..enum : ui
4860: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 46 52 45  nt { SUBLANG_FRE
4870: 4e 43 48 5f 42 45 4c 47 49 41 4e 20 3d 20 30 78  NCH_BELGIAN = 0x
4880: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
4890: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 46 52 45 4e  t { SUBLANG_FREN
48a0: 43 48 5f 43 41 4e 41 44 49 41 4e 20 3d 20 30 78  CH_CANADIAN = 0x
48b0: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
48c0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 46 52 45 4e  t { SUBLANG_FREN
48d0: 43 48 5f 53 57 49 53 53 20 3d 20 30 78 30 34 20  CH_SWISS = 0x04 
48e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
48f0: 20 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43 48 5f   SUBLANG_FRENCH_
4900: 4c 55 58 45 4d 42 4f 55 52 47 20 3d 20 30 78 30  LUXEMBOURG = 0x0
4910: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
4920: 20 7b 20 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43   { SUBLANG_FRENC
4930: 48 5f 4d 4f 4e 41 43 4f 20 3d 20 30 78 30 36 20  H_MONACO = 0x06 
4940: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4950: 20 53 55 42 4c 41 4e 47 5f 47 45 52 4d 41 4e 20   SUBLANG_GERMAN 
4960: 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x01 }..enum :
4970: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4980: 47 45 52 4d 41 4e 5f 53 57 49 53 53 20 3d 20 30  GERMAN_SWISS = 0
4990: 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x02 }..enum : ui
49a0: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 47 45 52  nt { SUBLANG_GER
49b0: 4d 41 4e 5f 41 55 53 54 52 49 41 4e 20 3d 20 30  MAN_AUSTRIAN = 0
49c0: 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x03 }..enum : ui
49d0: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 47 45 52  nt { SUBLANG_GER
49e0: 4d 41 4e 5f 4c 55 58 45 4d 42 4f 55 52 47 20 3d  MAN_LUXEMBOURG =
49f0: 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x04 }..enum : 
4a00: 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 47  uint { SUBLANG_G
4a10: 45 52 4d 41 4e 5f 4c 49 45 43 48 54 45 4e 53 54  ERMAN_LIECHTENST
4a20: 45 49 4e 20 3d 20 30 78 30 35 20 7d 0d 0a 65 6e  EIN = 0x05 }..en
4a30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
4a40: 41 4e 47 5f 49 54 41 4c 49 41 4e 20 3d 20 30 78  ANG_ITALIAN = 0x
4a50: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
4a60: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 49 54 41 4c  t { SUBLANG_ITAL
4a70: 49 41 4e 5f 53 57 49 53 53 20 3d 20 30 78 30 32  IAN_SWISS = 0x02
4a80: 20 7d 0d 0a 2f 2f 20 23 69 66 20 5f 57 49 4e 33   }..// #if _WIN3
4a90: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
4aa0: 31 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  1..enum : uint {
4ab0: 20 53 55 42 4c 41 4e 47 5f 4b 41 53 48 4d 49 52   SUBLANG_KASHMIR
4ac0: 49 5f 53 41 53 49 41 20 3d 20 30 78 30 32 20 7d  I_SASIA = 0x02 }
4ad0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75  ..// #endif..enu
4ae0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4af0: 4e 47 5f 4b 41 53 48 4d 49 52 49 5f 49 4e 44 49  NG_KASHMIRI_INDI
4b00: 41 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d  A = 0x02 }..enum
4b10: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4b20: 47 5f 4b 4f 52 45 41 4e 20 3d 20 30 78 30 31 20  G_KOREAN = 0x01 
4b30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4b40: 20 53 55 42 4c 41 4e 47 5f 4c 49 54 48 55 41 4e   SUBLANG_LITHUAN
4b50: 49 41 4e 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e  IAN = 0x01 }..en
4b60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
4b70: 41 4e 47 5f 4d 41 4c 41 59 5f 4d 41 4c 41 59 53  ANG_MALAY_MALAYS
4b80: 49 41 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75  IA = 0x01 }..enu
4b90: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4ba0: 4e 47 5f 4d 41 4c 41 59 5f 42 52 55 4e 45 49 5f  NG_MALAY_BRUNEI_
4bb0: 44 41 52 55 53 53 41 4c 41 4d 20 3d 20 30 78 30  DARUSSALAM = 0x0
4bc0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
4bd0: 20 7b 20 53 55 42 4c 41 4e 47 5f 4e 45 50 41 4c   { SUBLANG_NEPAL
4be0: 49 5f 49 4e 44 49 41 20 3d 20 30 78 30 32 20 7d  I_INDIA = 0x02 }
4bf0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4c00: 53 55 42 4c 41 4e 47 5f 4e 4f 52 57 45 47 49 41  SUBLANG_NORWEGIA
4c10: 4e 5f 42 4f 4b 4d 41 4c 20 3d 20 30 78 30 31 20  N_BOKMAL = 0x01 
4c20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4c30: 20 53 55 42 4c 41 4e 47 5f 4e 4f 52 57 45 47 49   SUBLANG_NORWEGI
4c40: 41 4e 5f 4e 59 4e 4f 52 53 4b 20 3d 20 30 78 30  AN_NYNORSK = 0x0
4c50: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
4c60: 20 7b 20 53 55 42 4c 41 4e 47 5f 50 4f 52 54 55   { SUBLANG_PORTU
4c70: 47 55 45 53 45 20 3d 20 30 78 30 32 20 7d 0d 0a  GUESE = 0x02 }..
4c80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4c90: 42 4c 41 4e 47 5f 50 4f 52 54 55 47 55 45 53 45  BLANG_PORTUGUESE
4ca0: 5f 42 52 41 5a 49 4c 49 41 4e 20 3d 20 30 78 30  _BRAZILIAN = 0x0
4cb0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
4cc0: 20 7b 20 53 55 42 4c 41 4e 47 5f 53 45 52 42 49   { SUBLANG_SERBI
4cd0: 41 4e 5f 4c 41 54 49 4e 20 3d 20 30 78 30 32 20  AN_LATIN = 0x02 
4ce0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4cf0: 20 53 55 42 4c 41 4e 47 5f 53 45 52 42 49 41 4e   SUBLANG_SERBIAN
4d00: 5f 43 59 52 49 4c 4c 49 43 20 3d 20 30 78 30 33  _CYRILLIC = 0x03
4d10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4d20: 7b 20 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53  { SUBLANG_SPANIS
4d30: 48 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d  H = 0x01 }..enum
4d40: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4d50: 47 5f 53 50 41 4e 49 53 48 5f 4d 45 58 49 43 41  G_SPANISH_MEXICA
4d60: 4e 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d  N = 0x02 }..enum
4d70: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4d80: 47 5f 53 50 41 4e 49 53 48 5f 4d 4f 44 45 52 4e  G_SPANISH_MODERN
4d90: 20 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20   = 0x03 }..enum 
4da0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
4db0: 5f 53 50 41 4e 49 53 48 5f 47 55 41 54 45 4d 41  _SPANISH_GUATEMA
4dc0: 4c 41 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75  LA = 0x04 }..enu
4dd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4de0: 4e 47 5f 53 50 41 4e 49 53 48 5f 43 4f 53 54 41  NG_SPANISH_COSTA
4df0: 5f 52 49 43 41 20 3d 20 30 78 30 35 20 7d 0d 0a  _RICA = 0x05 }..
4e00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
4e10: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 50 41  BLANG_SPANISH_PA
4e20: 4e 41 4d 41 20 3d 20 30 78 30 36 20 7d 0d 0a 65  NAMA = 0x06 }..e
4e30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
4e40: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 44 4f 4d  LANG_SPANISH_DOM
4e50: 49 4e 49 43 41 4e 5f 52 45 50 55 42 4c 49 43 20  INICAN_REPUBLIC 
4e60: 3d 20 30 78 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x07 }..enum :
4e70: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4e80: 53 50 41 4e 49 53 48 5f 56 45 4e 45 5a 55 45 4c  SPANISH_VENEZUEL
4e90: 41 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e 75 6d  A = 0x08 }..enum
4ea0: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4eb0: 47 5f 53 50 41 4e 49 53 48 5f 43 4f 4c 4f 4d 42  G_SPANISH_COLOMB
4ec0: 49 41 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e 75  IA = 0x09 }..enu
4ed0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41  m : uint { SUBLA
4ee0: 4e 47 5f 53 50 41 4e 49 53 48 5f 50 45 52 55 20  NG_SPANISH_PERU 
4ef0: 3d 20 30 78 30 61 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0a }..enum :
4f00: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4f10: 53 50 41 4e 49 53 48 5f 41 52 47 45 4e 54 49 4e  SPANISH_ARGENTIN
4f20: 41 20 3d 20 30 78 30 62 20 7d 0d 0a 65 6e 75 6d  A = 0x0b }..enum
4f30: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4f40: 47 5f 53 50 41 4e 49 53 48 5f 45 43 55 41 44 4f  G_SPANISH_ECUADO
4f50: 52 20 3d 20 30 78 30 63 20 7d 0d 0a 65 6e 75 6d  R = 0x0c }..enum
4f60: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
4f70: 47 5f 53 50 41 4e 49 53 48 5f 43 48 49 4c 45 20  G_SPANISH_CHILE 
4f80: 3d 20 30 78 30 64 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0d }..enum :
4f90: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4fa0: 53 50 41 4e 49 53 48 5f 55 52 55 47 55 41 59 20  SPANISH_URUGUAY 
4fb0: 3d 20 30 78 30 65 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0e }..enum :
4fc0: 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f   uint { SUBLANG_
4fd0: 53 50 41 4e 49 53 48 5f 50 41 52 41 47 55 41 59  SPANISH_PARAGUAY
4fe0: 20 3d 20 30 78 30 66 20 7d 0d 0a 65 6e 75 6d 20   = 0x0f }..enum 
4ff0: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
5000: 5f 53 50 41 4e 49 53 48 5f 42 4f 4c 49 56 49 41  _SPANISH_BOLIVIA
5010: 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x10 }..enum 
5020: 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e 47  : uint { SUBLANG
5030: 5f 53 50 41 4e 49 53 48 5f 45 4c 5f 53 41 4c 56  _SPANISH_EL_SALV
5040: 41 44 4f 52 20 3d 20 30 78 31 31 20 7d 0d 0a 65  ADOR = 0x11 }..e
5050: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42  num : uint { SUB
5060: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 48 4f 4e  LANG_SPANISH_HON
5070: 44 55 52 41 53 20 3d 20 30 78 31 32 20 7d 0d 0a  DURAS = 0x12 }..
5080: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55  enum : uint { SU
5090: 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 4e 49  BLANG_SPANISH_NI
50a0: 43 41 52 41 47 55 41 20 3d 20 30 78 31 33 20 7d  CARAGUA = 0x13 }
50b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
50c0: 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f  SUBLANG_SPANISH_
50d0: 50 55 45 52 54 4f 5f 52 49 43 4f 20 3d 20 30 78  PUERTO_RICO = 0x
50e0: 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  14 }..enum : uin
50f0: 74 20 7b 20 53 55 42 4c 41 4e 47 5f 53 57 45 44  t { SUBLANG_SWED
5100: 49 53 48 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e  ISH = 0x01 }..en
5110: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
5120: 41 4e 47 5f 53 57 45 44 49 53 48 5f 46 49 4e 4c  ANG_SWEDISH_FINL
5130: 41 4e 44 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e  AND = 0x02 }..en
5140: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c  um : uint { SUBL
5150: 41 4e 47 5f 55 52 44 55 5f 50 41 4b 49 53 54 41  ANG_URDU_PAKISTA
5160: 4e 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d  N = 0x01 }..enum
5170: 20 3a 20 75 69 6e 74 20 7b 20 53 55 42 4c 41 4e   : uint { SUBLAN
5180: 47 5f 55 52 44 55 5f 49 4e 44 49 41 20 3d 20 30  G_URDU_INDIA = 0
5190: 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x02 }..enum : ui
51a0: 6e 74 20 7b 20 53 55 42 4c 41 4e 47 5f 55 5a 42  nt { SUBLANG_UZB
51b0: 45 4b 5f 4c 41 54 49 4e 20 3d 20 30 78 30 31 20  EK_LATIN = 0x01 
51c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
51d0: 20 53 55 42 4c 41 4e 47 5f 55 5a 42 45 4b 5f 43   SUBLANG_UZBEK_C
51e0: 59 52 49 4c 4c 49 43 20 3d 20 30 78 30 32 20 7d  YRILLIC = 0x02 }
51f0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
5200: 7b 20 53 4f 52 54 5f 44 45 46 41 55 4c 54 20 3d  { SORT_DEFAULT =
5210: 20 30 78 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   0x0 }....enum :
5220: 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 4a 41 50   uint { SORT_JAP
5230: 41 4e 45 53 45 5f 58 4a 49 53 20 3d 20 30 78 30  ANESE_XJIS = 0x0
5240: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5250: 7b 20 53 4f 52 54 5f 4a 41 50 41 4e 45 53 45 5f  { SORT_JAPANESE_
5260: 55 4e 49 43 4f 44 45 20 3d 20 30 78 31 20 7d 0d  UNICODE = 0x1 }.
5270: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5280: 20 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 42 49   SORT_CHINESE_BI
5290: 47 35 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75 6d  G5 = 0x0 }..enum
52a0: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 43   : uint { SORT_C
52b0: 48 49 4e 45 53 45 5f 50 52 43 50 20 3d 20 30 78  HINESE_PRCP = 0x
52c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
52d0: 20 7b 20 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f   { SORT_CHINESE_
52e0: 55 4e 49 43 4f 44 45 20 3d 20 30 78 31 20 7d 0d  UNICODE = 0x1 }.
52f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
5300: 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52 43 20  ORT_CHINESE_PRC 
5310: 3d 20 30 78 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 0x2 }..enum : 
5320: 75 69 6e 74 20 7b 20 53 4f 52 54 5f 43 48 49 4e  uint { SORT_CHIN
5330: 45 53 45 5f 42 4f 50 4f 4d 4f 46 4f 20 3d 20 30  ESE_BOPOMOFO = 0
5340: 78 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  x3 }....enum : u
5350: 69 6e 74 20 7b 20 53 4f 52 54 5f 4b 4f 52 45 41  int { SORT_KOREA
5360: 4e 5f 4b 53 43 20 3d 20 30 78 30 20 7d 0d 0a 65  N_KSC = 0x0 }..e
5370: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52  num : uint { SOR
5380: 54 5f 4b 4f 52 45 41 4e 5f 55 4e 49 43 4f 44 45  T_KOREAN_UNICODE
5390: 20 3d 20 30 78 31 20 7d 0d 0a 0d 0a 65 6e 75 6d   = 0x1 }....enum
53a0: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 47   : uint { SORT_G
53b0: 45 52 4d 41 4e 5f 50 48 4f 4e 45 5f 42 4f 4f 4b  ERMAN_PHONE_BOOK
53c0: 20 3d 20 30 78 31 20 7d 0d 0a 0d 0a 65 6e 75 6d   = 0x1 }....enum
53d0: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 48   : uint { SORT_H
53e0: 55 4e 47 41 52 49 41 4e 5f 44 45 46 41 55 4c 54  UNGARIAN_DEFAULT
53f0: 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75 6d 20 3a   = 0x0 }..enum :
5400: 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 48 55 4e   uint { SORT_HUN
5410: 47 41 52 49 41 4e 5f 54 45 43 48 4e 49 43 41 4c  GARIAN_TECHNICAL
5420: 20 3d 20 30 78 31 20 7d 0d 0a 0d 0a 65 6e 75 6d   = 0x1 }....enum
5430: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f 47   : uint { SORT_G
5440: 45 4f 52 47 49 41 4e 5f 54 52 41 44 49 54 49 4f  EORGIAN_TRADITIO
5450: 4e 41 4c 20 3d 20 30 78 30 20 7d 0d 0a 65 6e 75  NAL = 0x0 }..enu
5460: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 52 54 5f  m : uint { SORT_
5470: 47 45 4f 52 47 49 41 4e 5f 4d 4f 44 45 52 4e 20  GEORGIAN_MODERN 
5480: 3d 20 30 78 31 20 7d 0d 0a 0d 0a 57 4f 52 44 20  = 0x1 }....WORD 
5490: 4d 41 4b 45 4c 41 4e 47 49 44 28 55 53 48 4f 52  MAKELANGID(USHOR
54a0: 54 20 70 2c 20 55 53 48 4f 52 54 20 73 29 20 7b  T p, USHORT s) {
54b0: 20 72 65 74 75 72 6e 20 28 28 28 63 61 73 74 28   return (((cast(
54c0: 57 4f 52 44 29 28 73 29 29 20 3c 3c 20 31 30 29  WORD)(s)) << 10)
54d0: 20 7c 20 63 61 73 74 28 57 4f 52 44 29 28 70 29   | cast(WORD)(p)
54e0: 29 3b 20 7d 0d 0a 57 4f 52 44 20 50 52 49 4d 41  ); }..WORD PRIMA
54f0: 52 59 4c 41 4e 47 49 44 28 57 4f 52 44 20 6c 67  RYLANGID(WORD lg
5500: 69 64 29 20 7b 20 72 65 74 75 72 6e 20 6c 67 69  id) { return lgi
5510: 64 20 26 20 30 78 33 66 66 3b 20 7d 0d 0a 57 4f  d & 0x3ff; }..WO
5520: 52 44 20 53 55 42 4c 41 4e 47 49 44 28 57 4f 52  RD SUBLANGID(WOR
5530: 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75 72 6e  D lgid) { return
5540: 20 6c 67 69 64 20 3e 3e 3e 20 31 30 3b 20 7d 0d   lgid >>> 10; }.
5550: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5560: 20 4e 4c 53 5f 56 41 4c 49 44 5f 4c 4f 43 41 4c   NLS_VALID_LOCAL
5570: 45 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 66 66  E_MASK = 0x000ff
5580: 66 66 66 20 7d 0d 0a 0d 0a 44 57 4f 52 44 20 4d  fff }....DWORD M
5590: 41 4b 45 4c 43 49 44 28 57 4f 52 44 20 6c 67 69  AKELCID(WORD lgi
55a0: 64 2c 20 57 4f 52 44 20 73 72 74 69 64 29 20 7b  d, WORD srtid) {
55b0: 20 72 65 74 75 72 6e 20 28 28 63 61 73 74 28 44   return ((cast(D
55c0: 57 4f 52 44 29 73 72 74 69 64 29 20 3c 3c 20 31  WORD)srtid) << 1
55d0: 36 29 20 7c 20 28 63 61 73 74 28 44 57 4f 52 44  6) | (cast(DWORD
55e0: 29 6c 67 69 64 29 3b 20 7d 0d 0a 44 57 4f 52 44  )lgid); }..DWORD
55f0: 20 4d 41 4b 45 53 4f 52 54 4c 43 49 44 28 57 4f   MAKESORTLCID(WO
5600: 52 44 20 6c 67 69 64 2c 20 57 4f 52 44 20 73 72  RD lgid, WORD sr
5610: 74 69 64 2c 20 57 4f 52 44 20 76 65 72 29 20 7b  tid, WORD ver) {
5620: 20 72 65 74 75 72 6e 20 28 4d 41 4b 45 4c 43 49   return (MAKELCI
5630: 44 28 6c 67 69 64 2c 20 73 72 74 69 64 29 29 20  D(lgid, srtid)) 
5640: 7c 20 28 28 63 61 73 74 28 44 57 4f 52 44 29 76  | ((cast(DWORD)v
5650: 65 72 29 20 3c 3c 20 32 30 29 3b 20 7d 0d 0a 57  er) << 20); }..W
5660: 4f 52 44 20 4c 41 4e 47 49 44 46 52 4f 4d 4c 43  ORD LANGIDFROMLC
5670: 49 44 28 4c 43 49 44 20 6c 63 69 64 29 20 7b 20  ID(LCID lcid) { 
5680: 72 65 74 75 72 6e 20 6c 63 69 64 3b 20 7d 0d 0a  return lcid; }..
5690: 57 4f 52 44 20 53 4f 52 54 49 44 46 52 4f 4d 4c  WORD SORTIDFROML
56a0: 43 49 44 28 4c 43 49 44 20 6c 63 69 64 29 20 7b  CID(LCID lcid) {
56b0: 20 72 65 74 75 72 6e 20 28 63 61 73 74 28 44 57   return (cast(DW
56c0: 4f 52 44 29 6c 63 69 64 20 3e 3e 3e 20 31 36 29  ORD)lcid >>> 16)
56d0: 20 26 20 30 78 66 3b 20 7d 0d 0a 57 4f 52 44 20   & 0xf; }..WORD 
56e0: 53 4f 52 54 56 45 52 53 49 4f 4e 46 52 4f 4d 4c  SORTVERSIONFROML
56f0: 43 49 44 28 4c 43 49 44 20 6c 63 69 64 29 20 7b  CID(LCID lcid) {
5700: 20 72 65 74 75 72 6e 20 28 63 61 73 74 28 44 57   return (cast(DW
5710: 4f 52 44 29 6c 63 69 64 20 3e 3e 3e 20 32 30 29  ORD)lcid >>> 20)
5720: 20 26 20 30 78 66 3b 20 7d 0d 0a 0d 0a 65 6e 75   & 0xf; }....enu
5730: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e 47 5f  m : uint { LANG_
5740: 53 59 53 54 45 4d 5f 44 45 46 41 55 4c 54 20 3d  SYSTEM_DEFAULT =
5750: 20 28 53 55 42 4c 41 4e 47 5f 53 59 53 5f 44 45   (SUBLANG_SYS_DE
5760: 46 41 55 4c 54 20 3c 3c 20 31 30 29 20 7c 20 4c  FAULT << 10) | L
5770: 41 4e 47 5f 4e 45 55 54 52 41 4c 20 7d 0d 0a 65  ANG_NEUTRAL }..e
5780: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 41 4e  num : uint { LAN
5790: 47 5f 55 53 45 52 5f 44 45 46 41 55 4c 54 20 3d  G_USER_DEFAULT =
57a0: 20 28 53 55 42 4c 41 4e 47 5f 44 45 46 41 55 4c   (SUBLANG_DEFAUL
57b0: 54 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e 47 5f  T << 10) | LANG_
57c0: 4e 45 55 54 52 41 4c 20 7d 0d 0a 0d 0a 65 6e 75  NEUTRAL }....enu
57d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4f 43 41 4c  m : uint { LOCAL
57e0: 45 5f 53 59 53 54 45 4d 5f 44 45 46 41 55 4c 54  E_SYSTEM_DEFAULT
57f0: 20 3d 20 28 53 4f 52 54 5f 44 45 46 41 55 4c 54   = (SORT_DEFAULT
5800: 20 3c 3c 20 31 36 29 20 7c 20 4c 41 4e 47 5f 53   << 16) | LANG_S
5810: 59 53 54 45 4d 5f 44 45 46 41 55 4c 54 20 7d 0d  YSTEM_DEFAULT }.
5820: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
5830: 4f 43 41 4c 45 5f 55 53 45 52 5f 44 45 46 41 55  OCALE_USER_DEFAU
5840: 4c 54 20 3d 20 28 53 4f 52 54 5f 44 45 46 41 55  LT = (SORT_DEFAU
5850: 4c 54 20 3c 3c 20 31 36 29 20 7c 20 4c 41 4e 47  LT << 16) | LANG
5860: 5f 55 53 45 52 5f 44 45 46 41 55 4c 54 20 7d 0d  _USER_DEFAULT }.
5870: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5880: 20 4c 4f 43 41 4c 45 5f 4e 45 55 54 52 41 4c 20   LOCALE_NEUTRAL 
5890: 3d 20 28 53 4f 52 54 5f 44 45 46 41 55 4c 54 20  = (SORT_DEFAULT 
58a0: 3c 3c 20 31 36 29 20 7c 20 28 53 55 42 4c 41 4e  << 16) | (SUBLAN
58b0: 47 5f 4e 45 55 54 52 41 4c 20 3c 3c 20 31 30 29  G_NEUTRAL << 10)
58c0: 20 7c 20 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20   | LANG_NEUTRAL 
58d0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
58e0: 20 7b 20 4c 4f 43 41 4c 45 5f 49 4e 56 41 52 49   { LOCALE_INVARI
58f0: 41 4e 54 20 3d 20 28 53 4f 52 54 5f 44 45 46 41  ANT = (SORT_DEFA
5900: 55 4c 54 20 3c 3c 20 31 36 29 20 7c 20 28 53 55  ULT << 16) | (SU
5910: 42 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 20 3c 3c  BLANG_NEUTRAL <<
5920: 20 31 30 29 20 7c 20 4c 41 4e 47 5f 49 4e 56 41   10) | LANG_INVA
5930: 52 49 41 4e 54 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  RIANT }....// #i
5940: 66 20 21 20 64 65 66 69 6e 65 64 28 6c 69 6e 74  f ! defined(lint
5950: 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
5960: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
5970: 2f 2f 20 23 65 6c 73 65 20 2f 2f 20 6c 69 6e 74  // #else // lint
5980: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 55  ....// #define U
5990: 4e 52 45 46 45 52 45 4e 43 45 44 5f 50 41 52 41  NREFERENCED_PARA
59a0: 4d 45 54 45 52 28 50 29 20 7b 20 28 50 29 20 3d  METER(P) { (P) =
59b0: 20 28 50 29 3b 20 7d 0d 0a 2f 2f 20 23 64 65 66   (P); }..// #def
59c0: 69 6e 65 20 44 42 47 5f 55 4e 52 45 46 45 52 45  ine DBG_UNREFERE
59d0: 4e 43 45 44 5f 50 41 52 41 4d 45 54 45 52 28 50  NCED_PARAMETER(P
59e0: 29 20 7b 20 28 50 29 20 3d 20 28 50 29 3b 20 7d  ) { (P) = (P); }
59f0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 42 47  ..// #define DBG
5a00: 5f 55 4e 52 45 46 45 52 45 4e 43 45 44 5f 4c 4f  _UNREFERENCED_LO
5a10: 43 41 4c 5f 56 41 52 49 41 42 4c 45 28 56 29 20  CAL_VARIABLE(V) 
5a20: 7b 20 28 56 29 20 3d 20 28 56 29 3b 20 7d 0d 0a  { (V) = (V); }..
5a30: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 6c  ..// #endif // l
5a40: 69 6e 74 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  int....// #if (_
5a50: 4d 53 43 5f 56 45 52 20 3e 20 31 32 30 30 29 0d  MSC_VER > 1200).
5a60: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 45 46 41  .// #define DEFA
5a70: 55 4c 54 5f 55 4e 52 45 41 43 48 41 42 4c 45 20  ULT_UNREACHABLE 
5a80: 64 65 66 61 75 6c 74 3a 20 5f 5f 61 73 73 75 6d  default: __assum
5a90: 65 28 30 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  e(0)..// #else..
5aa0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
5ab0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
5ac0: 6e 64 65 66 20 57 49 4e 33 32 5f 4e 4f 5f 53 54  ndef WIN32_NO_ST
5ad0: 41 54 55 53 20 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ATUS ....enum : 
5ae0: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 57  DWORD { STATUS_W
5af0: 41 49 54 5f 30 20 3d 20 30 78 30 30 30 30 30 30  AIT_0 = 0x000000
5b00: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f  00 }..enum : DWO
5b10: 52 44 20 7b 20 53 54 41 54 55 53 5f 41 42 41 4e  RD { STATUS_ABAN
5b20: 44 4f 4e 45 44 5f 57 41 49 54 5f 30 20 3d 20 30  DONED_WAIT_0 = 0
5b30: 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
5b40: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54  m : DWORD { STAT
5b50: 55 53 5f 55 53 45 52 5f 41 50 43 20 3d 20 30 78  US_USER_APC = 0x
5b60: 30 30 30 30 30 30 43 30 20 7d 0d 0a 65 6e 75 6d  000000C0 }..enum
5b70: 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55   : DWORD { STATU
5b80: 53 5f 54 49 4d 45 4f 55 54 20 3d 20 30 78 30 30  S_TIMEOUT = 0x00
5b90: 30 30 30 31 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000102 }..enum :
5ba0: 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f   DWORD { STATUS_
5bb0: 50 45 4e 44 49 4e 47 20 3d 20 30 78 30 30 30 30  PENDING = 0x0000
5bc0: 30 31 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  0103 }..enum : D
5bd0: 57 4f 52 44 20 7b 20 44 42 47 5f 45 58 43 45 50  WORD { DBG_EXCEP
5be0: 54 49 4f 4e 5f 48 41 4e 44 4c 45 44 20 3d 20 30  TION_HANDLED = 0
5bf0: 78 30 30 30 31 30 30 30 31 20 7d 0d 0a 65 6e 75  x00010001 }..enu
5c00: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 44 42 47 5f  m : DWORD { DBG_
5c10: 43 4f 4e 54 49 4e 55 45 20 3d 20 30 78 30 30 30  CONTINUE = 0x000
5c20: 31 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  10002 }..enum : 
5c30: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 53  DWORD { STATUS_S
5c40: 45 47 4d 45 4e 54 5f 4e 4f 54 49 46 49 43 41 54  EGMENT_NOTIFICAT
5c50: 49 4f 4e 20 3d 20 30 78 34 30 30 30 30 30 30 35  ION = 0x40000005
5c60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44   }..enum : DWORD
5c70: 20 7b 20 44 42 47 5f 54 45 52 4d 49 4e 41 54 45   { DBG_TERMINATE
5c80: 5f 54 48 52 45 41 44 20 3d 20 30 78 34 30 30 31  _THREAD = 0x4001
5c90: 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  0003 }..enum : D
5ca0: 57 4f 52 44 20 7b 20 44 42 47 5f 54 45 52 4d 49  WORD { DBG_TERMI
5cb0: 4e 41 54 45 5f 50 52 4f 43 45 53 53 20 3d 20 30  NATE_PROCESS = 0
5cc0: 78 34 30 30 31 30 30 30 34 20 7d 0d 0a 65 6e 75  x40010004 }..enu
5cd0: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 44 42 47 5f  m : DWORD { DBG_
5ce0: 43 4f 4e 54 52 4f 4c 5f 43 20 3d 20 30 78 34 30  CONTROL_C = 0x40
5cf0: 30 31 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  010005 }..enum :
5d00: 20 44 57 4f 52 44 20 7b 20 44 42 47 5f 43 4f 4e   DWORD { DBG_CON
5d10: 54 52 4f 4c 5f 42 52 45 41 4b 20 3d 20 30 78 34  TROL_BREAK = 0x4
5d20: 30 30 31 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0010008 }..enum 
5d30: 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53  : DWORD { STATUS
5d40: 5f 47 55 41 52 44 5f 50 41 47 45 5f 56 49 4f 4c  _GUARD_PAGE_VIOL
5d50: 41 54 49 4f 4e 20 3d 20 30 78 38 30 30 30 30 30  ATION = 0x800000
5d60: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f  01 }..enum : DWO
5d70: 52 44 20 7b 20 53 54 41 54 55 53 5f 44 41 54 41  RD { STATUS_DATA
5d80: 54 59 50 45 5f 4d 49 53 41 4c 49 47 4e 4d 45 4e  TYPE_MISALIGNMEN
5d90: 54 20 3d 20 30 78 38 30 30 30 30 30 30 32 20 7d  T = 0x80000002 }
5da0: 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
5db0: 20 53 54 41 54 55 53 5f 42 52 45 41 4b 50 4f 49   STATUS_BREAKPOI
5dc0: 4e 54 20 3d 20 30 78 38 30 30 30 30 30 30 33 20  NT = 0x80000003 
5dd0: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
5de0: 7b 20 53 54 41 54 55 53 5f 53 49 4e 47 4c 45 5f  { STATUS_SINGLE_
5df0: 53 54 45 50 20 3d 20 30 78 38 30 30 30 30 30 30  STEP = 0x8000000
5e00: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  4 }..enum : DWOR
5e10: 44 20 7b 20 44 42 47 5f 45 58 43 45 50 54 49 4f  D { DBG_EXCEPTIO
5e20: 4e 5f 4e 4f 54 5f 48 41 4e 44 4c 45 44 20 3d 20  N_NOT_HANDLED = 
5e30: 30 78 38 30 30 31 30 30 30 31 20 7d 0d 0a 65 6e  0x80010001 }..en
5e40: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
5e50: 54 55 53 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41  TUS_ACCESS_VIOLA
5e60: 54 49 4f 4e 20 3d 20 30 78 43 30 30 30 30 30 30  TION = 0xC000000
5e70: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  5 }..enum : DWOR
5e80: 44 20 7b 20 53 54 41 54 55 53 5f 49 4e 5f 50 41  D { STATUS_IN_PA
5e90: 47 45 5f 45 52 52 4f 52 20 3d 20 30 78 43 30 30  GE_ERROR = 0xC00
5ea0: 30 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00006 }..enum : 
5eb0: 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 49  DWORD { STATUS_I
5ec0: 4e 56 41 4c 49 44 5f 48 41 4e 44 4c 45 20 3d 20  NVALID_HANDLE = 
5ed0: 30 78 43 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0xC0000008 }..en
5ee0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
5ef0: 54 55 53 5f 4e 4f 5f 4d 45 4d 4f 52 59 20 3d 20  TUS_NO_MEMORY = 
5f00: 30 78 43 30 30 30 30 30 31 37 20 7d 0d 0a 65 6e  0xC0000017 }..en
5f10: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
5f20: 54 55 53 5f 49 4c 4c 45 47 41 4c 5f 49 4e 53 54  TUS_ILLEGAL_INST
5f30: 52 55 43 54 49 4f 4e 20 3d 20 30 78 43 30 30 30  RUCTION = 0xC000
5f40: 30 30 31 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  001D }..enum : D
5f50: 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 4e 4f  WORD { STATUS_NO
5f60: 4e 43 4f 4e 54 49 4e 55 41 42 4c 45 5f 45 58 43  NCONTINUABLE_EXC
5f70: 45 50 54 49 4f 4e 20 3d 20 30 78 43 30 30 30 30  EPTION = 0xC0000
5f80: 30 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57  025 }..enum : DW
5f90: 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 49 4e 56  ORD { STATUS_INV
5fa0: 41 4c 49 44 5f 44 49 53 50 4f 53 49 54 49 4f 4e  ALID_DISPOSITION
5fb0: 20 3d 20 30 78 43 30 30 30 30 30 32 36 20 7d 0d   = 0xC0000026 }.
5fc0: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20  .enum : DWORD { 
5fd0: 53 54 41 54 55 53 5f 41 52 52 41 59 5f 42 4f 55  STATUS_ARRAY_BOU
5fe0: 4e 44 53 5f 45 58 43 45 45 44 45 44 20 3d 20 30  NDS_EXCEEDED = 0
5ff0: 78 43 30 30 30 30 30 38 43 20 7d 0d 0a 65 6e 75  xC000008C }..enu
6000: 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54  m : DWORD { STAT
6010: 55 53 5f 46 4c 4f 41 54 5f 44 45 4e 4f 52 4d 41  US_FLOAT_DENORMA
6020: 4c 5f 4f 50 45 52 41 4e 44 20 3d 20 30 78 43 30  L_OPERAND = 0xC0
6030: 30 30 30 30 38 44 20 7d 0d 0a 65 6e 75 6d 20 3a  00008D }..enum :
6040: 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f   DWORD { STATUS_
6050: 46 4c 4f 41 54 5f 44 49 56 49 44 45 5f 42 59 5f  FLOAT_DIVIDE_BY_
6060: 5a 45 52 4f 20 3d 20 30 78 43 30 30 30 30 30 38  ZERO = 0xC000008
6070: 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  E }..enum : DWOR
6080: 44 20 7b 20 53 54 41 54 55 53 5f 46 4c 4f 41 54  D { STATUS_FLOAT
6090: 5f 49 4e 45 58 41 43 54 5f 52 45 53 55 4c 54 20  _INEXACT_RESULT 
60a0: 3d 20 30 78 43 30 30 30 30 30 38 46 20 7d 0d 0a  = 0xC000008F }..
60b0: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53  enum : DWORD { S
60c0: 54 41 54 55 53 5f 46 4c 4f 41 54 5f 49 4e 56 41  TATUS_FLOAT_INVA
60d0: 4c 49 44 5f 4f 50 45 52 41 54 49 4f 4e 20 3d 20  LID_OPERATION = 
60e0: 30 78 43 30 30 30 30 30 39 30 20 7d 0d 0a 65 6e  0xC0000090 }..en
60f0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
6100: 54 55 53 5f 46 4c 4f 41 54 5f 4f 56 45 52 46 4c  TUS_FLOAT_OVERFL
6110: 4f 57 20 3d 20 30 78 43 30 30 30 30 30 39 31 20  OW = 0xC0000091 
6120: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
6130: 7b 20 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 53  { STATUS_FLOAT_S
6140: 54 41 43 4b 5f 43 48 45 43 4b 20 3d 20 30 78 43  TACK_CHECK = 0xC
6150: 30 30 30 30 30 39 32 20 7d 0d 0a 65 6e 75 6d 20  0000092 }..enum 
6160: 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55 53  : DWORD { STATUS
6170: 5f 46 4c 4f 41 54 5f 55 4e 44 45 52 46 4c 4f 57  _FLOAT_UNDERFLOW
6180: 20 3d 20 30 78 43 30 30 30 30 30 39 33 20 7d 0d   = 0xC0000093 }.
6190: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20  .enum : DWORD { 
61a0: 53 54 41 54 55 53 5f 49 4e 54 45 47 45 52 5f 44  STATUS_INTEGER_D
61b0: 49 56 49 44 45 5f 42 59 5f 5a 45 52 4f 20 3d 20  IVIDE_BY_ZERO = 
61c0: 30 78 43 30 30 30 30 30 39 34 20 7d 0d 0a 65 6e  0xC0000094 }..en
61d0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41  um : DWORD { STA
61e0: 54 55 53 5f 49 4e 54 45 47 45 52 5f 4f 56 45 52  TUS_INTEGER_OVER
61f0: 46 4c 4f 57 20 3d 20 30 78 43 30 30 30 30 30 39  FLOW = 0xC000009
6200: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  5 }..enum : DWOR
6210: 44 20 7b 20 53 54 41 54 55 53 5f 50 52 49 56 49  D { STATUS_PRIVI
6220: 4c 45 47 45 44 5f 49 4e 53 54 52 55 43 54 49 4f  LEGED_INSTRUCTIO
6230: 4e 20 3d 20 30 78 43 30 30 30 30 30 39 36 20 7d  N = 0xC0000096 }
6240: 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
6250: 20 53 54 41 54 55 53 5f 53 54 41 43 4b 5f 4f 56   STATUS_STACK_OV
6260: 45 52 46 4c 4f 57 20 3d 20 30 78 43 30 30 30 30  ERFLOW = 0xC0000
6270: 30 46 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57  0FD }..enum : DW
6280: 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 43 4f 4e  ORD { STATUS_CON
6290: 54 52 4f 4c 5f 43 5f 45 58 49 54 20 3d 20 30 78  TROL_C_EXIT = 0x
62a0: 43 30 30 30 30 31 33 41 20 7d 0d 0a 65 6e 75 6d  C000013A }..enum
62b0: 20 3a 20 44 57 4f 52 44 20 7b 20 53 54 41 54 55   : DWORD { STATU
62c0: 53 5f 46 4c 4f 41 54 5f 4d 55 4c 54 49 50 4c 45  S_FLOAT_MULTIPLE
62d0: 5f 46 41 55 4c 54 53 20 3d 20 30 78 43 30 30 30  _FAULTS = 0xC000
62e0: 30 32 42 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44  02B4 }..enum : D
62f0: 57 4f 52 44 20 7b 20 53 54 41 54 55 53 5f 46 4c  WORD { STATUS_FL
6300: 4f 41 54 5f 4d 55 4c 54 49 50 4c 45 5f 54 52 41  OAT_MULTIPLE_TRA
6310: 50 53 20 3d 20 30 78 43 30 30 30 30 32 42 35 20  PS = 0xC00002B5 
6320: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
6330: 7b 20 53 54 41 54 55 53 5f 52 45 47 5f 4e 41 54  { STATUS_REG_NAT
6340: 5f 43 4f 4e 53 55 4d 50 54 49 4f 4e 20 3d 20 30  _CONSUMPTION = 0
6350: 78 43 30 30 30 30 32 43 39 20 7d 0d 0a 2f 2f 20  xC00002C9 }..// 
6360: 23 69 66 20 64 65 66 69 6e 65 64 28 53 54 41 54  #if defined(STAT
6370: 55 53 5f 53 55 43 43 45 53 53 29 20 7c 7c 20 28  US_SUCCESS) || (
6380: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 20 30  _WIN32_WINNT > 0
6390: 78 30 35 30 30 29 20 7c 7c 20 28 5f 57 49 4e 33  x0500) || (_WIN3
63a0: 32 5f 46 55 53 49 4f 4e 20 3e 3d 20 30 78 30 31  2_FUSION >= 0x01
63b0: 30 30 29 20 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f  00) ..enum : DWO
63c0: 52 44 20 7b 20 53 54 41 54 55 53 5f 53 58 53 5f  RD { STATUS_SXS_
63d0: 45 41 52 4c 59 5f 44 45 41 43 54 49 56 41 54 49  EARLY_DEACTIVATI
63e0: 4f 4e 20 3d 20 30 78 43 30 31 35 30 30 30 46 20  ON = 0xC015000F 
63f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
6400: 7b 20 53 54 41 54 55 53 5f 53 58 53 5f 49 4e 56  { STATUS_SXS_INV
6410: 41 4c 49 44 5f 44 45 41 43 54 49 56 41 54 49 4f  ALID_DEACTIVATIO
6420: 4e 20 3d 20 30 78 43 30 31 35 30 30 31 30 20 7d  N = 0xC0150010 }
6430: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 0d 0a 0d 0a  ..// #endif ....
6440: 2f 2f 20 23 65 6e 64 69 66 20 0d 0a 65 6e 75 6d  // #endif ..enum
6450: 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58 49 4d 55   : uint { MAXIMU
6460: 4d 5f 57 41 49 54 5f 4f 42 4a 45 43 54 53 20 3d  M_WAIT_OBJECTS =
6470: 20 36 34 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d   64 }....alias M
6480: 41 58 43 48 41 52 20 4d 41 58 49 4d 55 4d 5f 53  AXCHAR MAXIMUM_S
6490: 55 53 50 45 4e 44 5f 43 4f 55 4e 54 3b 0d 0a 0d  USPEND_COUNT;...
64a0: 0a 61 6c 69 61 73 20 55 4c 4f 4e 47 5f 50 54 52  .alias ULONG_PTR
64b0: 20 4b 53 50 49 4e 5f 4c 4f 43 4b 3b 0d 0a 61 6c   KSPIN_LOCK;..al
64c0: 69 61 73 20 4b 53 50 49 4e 5f 4c 4f 43 4b 2a 20  ias KSPIN_LOCK* 
64d0: 50 4b 53 50 49 4e 5f 4c 4f 43 4b 3b 0d 0a 0d 0a  PKSPIN_LOCK;....
64e0: 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f  // #if defined(_
64f0: 41 4d 44 36 34 5f 29 0d 0a 0d 0a 2f 2f 20 23 69  AMD64_)....// #i
6500: 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4d 44  f defined(_M_AMD
6510: 36 34 29 20 26 26 20 21 64 65 66 69 6e 65 64 28  64) && !defined(
6520: 52 43 5f 49 4e 56 4f 4b 45 44 29 20 26 26 20 21  RC_INVOKED) && !
6530: 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53  defined(MIDL_PAS
6540: 53 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  S)....// #......
6550: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  .// .......// #.
6560: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  ......// #......
6570: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e  .// .......// #.
6580: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
6590: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
65a0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
65b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
65c0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
65d0: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
65e0: 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  #.......// .....
65f0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
6600: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
6610: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
6620: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
6630: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
6640: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
6650: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
6660: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
6670: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
6680: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
6690: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
66a0: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  / #.......// #en
66b0: 64 69 66 20 2f 2f 20 64 65 66 69 6e 65 64 28 5f  dif // defined(_
66c0: 4d 5f 41 4d 44 36 34 29 20 26 26 20 21 64 65 66  M_AMD64) && !def
66d0: 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29  ined(RC_INVOKED)
66e0: 20 26 26 20 21 64 65 66 69 6e 65 64 28 4d 49 44   && !defined(MID
66f0: 4c 5f 50 41 53 53 29 0d 0a 0d 0a 2f 2f 20 23 69  L_PASS)....// #i
6700: 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  f !defined(RC_IN
6710: 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  VOKED)....// #..
6720: 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
6730: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
6740: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
6750: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
6760: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 64 65 66  / #endif // !def
6770: 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29  ined(RC_INVOKED)
6780: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
6790: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d   .......// #....
67a0: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
67b0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
67c0: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
67d0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
67e0: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
67f0: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
6800: 23 65 6e 64 69 66 20 2f 2f 20 5f 41 4d 44 36 34  #endif // _AMD64
6810: 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  _....// #ifdef _
6820: 41 4c 50 48 41 5f 20 20 20 20 20 20 20 20 20 20  ALPHA_          
6830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6840: 2f 2f 20 77 69 6e 6e 74 0d 0a 2f 2f 20 2e 2e 2e  // winnt..// ...
6850: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
6860: 28 5f 4d 5f 41 4c 50 48 41 29 20 20 20 20 20 20  (_M_ALPHA)      
6870: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20               // 
6880: 77 69 6e 6e 74 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  winnt..// #.....
6890: 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 20  // #endif       
68a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68b0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 69             // wi
68c0: 6e 6e 74 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  nnt..// #endif  
68d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68f0: 2f 2f 20 77 69 6e 6e 74 0d 0a 0d 0a 2f 2f 20 23  // winnt....// #
6900: 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 41 4c  if defined(_M_AL
6910: 50 48 41 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  PHA)..// #...../
6920: 2f 20 23 65 6c 73 65 0d 0a 65 78 74 65 72 6e 28  / #else..extern(
6930: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
6940: 5f 54 45 42 20 4e 74 43 75 72 72 65 6e 74 54 65  _TEB NtCurrentTe
6950: 62 28 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  b();..// #endif.
6960: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 41 4c  ...// #ifdef _AL
6970: 50 48 41 5f 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d  PHA_....// #....
6980: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  .// #.......// #
6990: 69 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49  if !defined(RC_I
69a0: 4e 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e  NVOKED)....// #.
69b0: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  ......// #...../
69c0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
69d0: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
69e0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
69f0: 66 6e 64 65 66 20 5f 50 4f 52 54 41 42 4c 45 5f  fndef _PORTABLE_
6a00: 33 32 42 49 54 5f 43 4f 4e 54 45 58 54 0d 0a 0d  32BIT_CONTEXT...
6a10: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
6a20: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
6a30: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
6a40: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
6a50: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  .......// #else.
6a60: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
6a70: 20 23 65 6e 64 69 66 20 2f 2f 20 5f 50 4f 52 54   #endif // _PORT
6a80: 41 42 4c 45 5f 33 32 42 49 54 5f 43 4f 4e 54 45  ABLE_32BIT_CONTE
6a90: 58 54 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  XT....// #endif 
6aa0: 2f 2f 20 5f 41 4c 50 48 41 5f 0d 0a 0d 0a 2f 2f  // _ALPHA_....//
6ab0: 20 23 69 66 64 65 66 20 5f 41 4c 50 48 41 5f 0d   #ifdef _ALPHA_.
6ac0: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
6ad0: 23 65 6e 64 69 66 20 2f 2f 20 5f 41 4c 50 48 41  #endif // _ALPHA
6ae0: 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  _....// #ifdef _
6af0: 58 38 36 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21  X86_....// #if !
6b00: 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41 53  defined(MIDL_PAS
6b10: 53 29 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  S)..// #if !defi
6b20: 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d  ned(RC_INVOKED).
6b30: 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 43 5f 56  ...// #if _MSC_V
6b40: 45 52 20 3e 3d 20 31 32 30 30 0d 0a 2f 2f 20 23  ER >= 1200..// #
6b50: 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28 70  pragma warning(p
6b60: 75 73 68 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  ush)..// #endif.
6b70: 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72 6e  .// #pragma warn
6b80: 69 6e 67 28 64 69 73 61 62 6c 65 3a 34 31 36 34  ing(disable:4164
6b90: 29 20 20 20 2f 2f 20 64 69 73 61 62 6c 65 20 43  )   // disable C
6ba0: 34 31 36 34 20 77 61 72 6e 69 6e 67 20 73 6f 20  4164 warning so 
6bb0: 74 68 61 74 20 61 70 70 73 20 74 68 61 74 0d 0a  that apps that..
6bc0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4d 5f 49  ..// #ifdef _M_I
6bd0: 58 38 36 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20  X86..// #pragma 
6be0: 66 75 6e 63 74 69 6f 6e 28 5f 65 6e 61 62 6c 65  function(_enable
6bf0: 29 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 66 75  )..// #pragma fu
6c00: 6e 63 74 69 6f 6e 28 5f 64 69 73 61 62 6c 65 29  nction(_disable)
6c10: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
6c20: 2f 20 23 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e  / #if _MSC_VER >
6c30: 3d 20 31 32 30 30 0d 0a 2f 2f 20 23 70 72 61 67  = 1200..// #prag
6c40: 6d 61 20 77 61 72 6e 69 6e 67 28 70 6f 70 29 0d  ma warning(pop).
6c50: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
6c60: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
6c70: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
6c80: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
6c90: 21 64 65 66 69 6e 65 64 28 4d 49 44 4c 5f 50 41  !defined(MIDL_PA
6ca0: 53 53 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f  SS) && defined(_
6cb0: 4d 5f 49 58 38 36 29 0d 0a 2f 2f 20 23 69 66 20  M_IX86)..// #if 
6cc0: 5f 4d 53 43 5f 56 45 52 20 3e 3d 20 31 32 30 30  _MSC_VER >= 1200
6cd0: 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 77 61 72  ..// #pragma war
6ce0: 6e 69 6e 67 28 70 75 73 68 29 0d 0a 2f 2f 20 23  ning(push)..// #
6cf0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 70 72 61 67 6d  endif..// #pragm
6d00: 61 20 77 61 72 6e 69 6e 67 20 28 64 69 73 61 62  a warning (disab
6d10: 6c 65 3a 34 30 33 35 29 20 20 20 20 20 20 20 20  le:4035)        
6d20: 2f 2f 20 64 69 73 61 62 6c 65 20 34 30 33 35 20  // disable 4035 
6d30: 28 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 72  (function must r
6d40: 65 74 75 72 6e 20 73 6f 6d 65 74 68 69 6e 67 29  eturn something)
6d50: 0d 0a 50 56 4f 49 44 20 47 65 74 46 69 62 65 72  ..PVOID GetFiber
6d60: 44 61 74 61 28 29 20 7b 20 61 73 6d 20 7b 20 6d  Data() { asm { m
6d70: 6f 76 20 45 41 58 2c 20 46 53 3a 5b 30 78 31 30  ov EAX, FS:[0x10
6d80: 5d 3b 20 6d 6f 76 20 45 41 58 2c 20 5b 45 41 58  ]; mov EAX, [EAX
6d90: 5d 3b 20 7d 20 7d 0d 0a 50 56 4f 49 44 20 47 65  ]; } }..PVOID Ge
6da0: 74 43 75 72 72 65 6e 74 46 69 62 65 72 28 29 20  tCurrentFiber() 
6db0: 7b 20 61 73 6d 20 7b 20 6d 6f 76 20 45 41 58 2c  { asm { mov EAX,
6dc0: 20 46 53 3a 5b 30 78 31 30 5d 3b 20 7d 20 7d 0d   FS:[0x10]; } }.
6dd0: 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 43 5f 56  ...// #if _MSC_V
6de0: 45 52 20 3e 3d 20 31 32 30 30 0d 0a 2f 2f 20 23  ER >= 1200..// #
6df0: 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28 70  pragma warning(p
6e00: 6f 70 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  op)..// #else../
6e10: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
6e20: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
6e30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49  enum : uint { SI
6e40: 5a 45 5f 4f 46 5f 38 30 33 38 37 5f 52 45 47 49  ZE_OF_80387_REGI
6e50: 53 54 45 52 53 20 3d 20 38 30 20 7d 0d 0a 0d 0a  STERS = 80 }....
6e60: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
6e70: 52 43 5f 49 4e 56 4f 4b 45 44 29 0d 0a 0d 0a 65  RC_INVOKED)....e
6e80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e  num : uint { CON
6e90: 54 45 58 54 5f 69 33 38 36 20 3d 20 30 78 30 30  TEXT_i386 = 0x00
6ea0: 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  010000 }..enum :
6eb0: 20 75 69 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f   uint { CONTEXT_
6ec0: 69 34 38 36 20 3d 20 30 78 30 30 30 31 30 30 30  i486 = 0x0001000
6ed0: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
6ee0: 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f 43 4f 4e  nt { CONTEXT_CON
6ef0: 54 52 4f 4c 20 3d 20 43 4f 4e 54 45 58 54 5f 69  TROL = CONTEXT_i
6f00: 33 38 36 20 7c 20 30 78 30 30 30 30 30 30 30 31  386 | 0x00000001
6f10: 4c 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  L }..enum : uint
6f20: 20 7b 20 43 4f 4e 54 45 58 54 5f 49 4e 54 45 47   { CONTEXT_INTEG
6f30: 45 52 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 38  ER = CONTEXT_i38
6f40: 36 20 7c 20 30 78 30 30 30 30 30 30 30 32 4c 20  6 | 0x00000002L 
6f50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
6f60: 20 43 4f 4e 54 45 58 54 5f 53 45 47 4d 45 4e 54   CONTEXT_SEGMENT
6f70: 53 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 38 36  S = CONTEXT_i386
6f80: 20 7c 20 30 78 30 30 30 30 30 30 30 34 4c 20 7d   | 0x00000004L }
6f90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
6fa0: 43 4f 4e 54 45 58 54 5f 46 4c 4f 41 54 49 4e 47  CONTEXT_FLOATING
6fb0: 5f 50 4f 49 4e 54 20 3d 20 43 4f 4e 54 45 58 54  _POINT = CONTEXT
6fc0: 5f 69 33 38 36 20 7c 20 30 78 30 30 30 30 30 30  _i386 | 0x000000
6fd0: 30 38 4c 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  08L }..enum : ui
6fe0: 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f 44 45 42  nt { CONTEXT_DEB
6ff0: 55 47 5f 52 45 47 49 53 54 45 52 53 20 3d 20 43  UG_REGISTERS = C
7000: 4f 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78  ONTEXT_i386 | 0x
7010: 30 30 30 30 30 30 31 30 4c 20 7d 0d 0a 65 6e 75  00000010L }..enu
7020: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 54 45  m : uint { CONTE
7030: 58 54 5f 45 58 54 45 4e 44 45 44 5f 52 45 47 49  XT_EXTENDED_REGI
7040: 53 54 45 52 53 20 3d 20 43 4f 4e 54 45 58 54 5f  STERS = CONTEXT_
7050: 69 33 38 36 20 7c 20 30 78 30 30 30 30 30 30 32  i386 | 0x0000002
7060: 30 4c 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0L }....enum : u
7070: 69 6e 74 20 7b 20 43 4f 4e 54 45 58 54 5f 46 55  int { CONTEXT_FU
7080: 4c 4c 20 3d 20 43 4f 4e 54 45 58 54 5f 43 4f 4e  LL = CONTEXT_CON
7090: 54 52 4f 4c 20 7c 20 43 4f 4e 54 45 58 54 5f 49  TROL | CONTEXT_I
70a0: 4e 54 45 47 45 52 20 7c 20 43 4f 4e 54 45 58 54  NTEGER | CONTEXT
70b0: 5f 53 45 47 4d 45 4e 54 53 20 7d 0d 0a 0d 0a 2f  _SEGMENTS }..../
70c0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
70d0: 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58 49 4d 55   : uint { MAXIMU
70e0: 4d 5f 53 55 50 50 4f 52 54 45 44 5f 45 58 54 45  M_SUPPORTED_EXTE
70f0: 4e 53 49 4f 4e 20 3d 20 35 31 32 20 7d 0d 0a 0d  NSION = 512 }...
7100: 0a 73 74 72 75 63 74 20 5f 46 4c 4f 41 54 49 4e  .struct _FLOATIN
7110: 47 5f 53 41 56 45 5f 41 52 45 41 20 7b 0d 0a 20  G_SAVE_AREA {.. 
7120: 20 44 57 4f 52 44 20 43 6f 6e 74 72 6f 6c 57 6f   DWORD ControlWo
7130: 72 64 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61  rd;..  DWORD Sta
7140: 74 75 73 57 6f 72 64 3b 0d 0a 20 20 44 57 4f 52  tusWord;..  DWOR
7150: 44 20 54 61 67 57 6f 72 64 3b 0d 0a 20 20 44 57  D TagWord;..  DW
7160: 4f 52 44 20 45 72 72 6f 72 4f 66 66 73 65 74 3b  ORD ErrorOffset;
7170: 0d 0a 20 20 44 57 4f 52 44 20 45 72 72 6f 72 53  ..  DWORD ErrorS
7180: 65 6c 65 63 74 6f 72 3b 0d 0a 20 20 44 57 4f 52  elector;..  DWOR
7190: 44 20 44 61 74 61 4f 66 66 73 65 74 3b 0d 0a 20  D DataOffset;.. 
71a0: 20 44 57 4f 52 44 20 44 61 74 61 53 65 6c 65 63   DWORD DataSelec
71b0: 74 6f 72 3b 0d 0a 20 20 42 59 54 45 20 52 65 67  tor;..  BYTE Reg
71c0: 69 73 74 65 72 41 72 65 61 5b 53 49 5a 45 5f 4f  isterArea[SIZE_O
71d0: 46 5f 38 30 33 38 37 5f 52 45 47 49 53 54 45 52  F_80387_REGISTER
71e0: 53 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 43 72 30  S];..  DWORD Cr0
71f0: 4e 70 78 53 74 61 74 65 3b 0d 0a 7d 0d 0a 61 6c  NpxState;..}..al
7200: 69 61 73 20 5f 46 4c 4f 41 54 49 4e 47 5f 53 41  ias _FLOATING_SA
7210: 56 45 5f 41 52 45 41 20 46 4c 4f 41 54 49 4e 47  VE_AREA FLOATING
7220: 5f 53 41 56 45 5f 41 52 45 41 3b 0d 0a 0d 0a 61  _SAVE_AREA;....a
7230: 6c 69 61 73 20 46 4c 4f 41 54 49 4e 47 5f 53 41  lias FLOATING_SA
7240: 56 45 5f 41 52 45 41 2a 20 50 46 4c 4f 41 54 49  VE_AREA* PFLOATI
7250: 4e 47 5f 53 41 56 45 5f 41 52 45 41 3b 0d 0a 0d  NG_SAVE_AREA;...
7260: 0a 73 74 72 75 63 74 20 5f 43 4f 4e 54 45 58 54  .struct _CONTEXT
7270: 20 7b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 43 6f   {....  DWORD Co
7280: 6e 74 65 78 74 46 6c 61 67 73 3b 0d 0a 0d 0a 20  ntextFlags;.... 
7290: 20 44 57 4f 52 44 20 44 72 30 3b 0d 0a 20 20 44   DWORD Dr0;..  D
72a0: 57 4f 52 44 20 44 72 31 3b 0d 0a 20 20 44 57 4f  WORD Dr1;..  DWO
72b0: 52 44 20 44 72 32 3b 0d 0a 20 20 44 57 4f 52 44  RD Dr2;..  DWORD
72c0: 20 44 72 33 3b 0d 0a 20 20 44 57 4f 52 44 20 44   Dr3;..  DWORD D
72d0: 72 36 3b 0d 0a 20 20 44 57 4f 52 44 20 44 72 37  r6;..  DWORD Dr7
72e0: 3b 0d 0a 0d 0a 20 20 46 4c 4f 41 54 49 4e 47 5f  ;....  FLOATING_
72f0: 53 41 56 45 5f 41 52 45 41 20 46 6c 6f 61 74 53  SAVE_AREA FloatS
7300: 61 76 65 3b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20  ave;....  DWORD 
7310: 53 65 67 47 73 3b 0d 0a 20 20 44 57 4f 52 44 20  SegGs;..  DWORD 
7320: 53 65 67 46 73 3b 0d 0a 20 20 44 57 4f 52 44 20  SegFs;..  DWORD 
7330: 53 65 67 45 73 3b 0d 0a 20 20 44 57 4f 52 44 20  SegEs;..  DWORD 
7340: 53 65 67 44 73 3b 0d 0a 0d 0a 20 20 44 57 4f 52  SegDs;....  DWOR
7350: 44 20 45 64 69 3b 0d 0a 20 20 44 57 4f 52 44 20  D Edi;..  DWORD 
7360: 45 73 69 3b 0d 0a 20 20 44 57 4f 52 44 20 45 62  Esi;..  DWORD Eb
7370: 78 3b 0d 0a 20 20 44 57 4f 52 44 20 45 64 78 3b  x;..  DWORD Edx;
7380: 0d 0a 20 20 44 57 4f 52 44 20 45 63 78 3b 0d 0a  ..  DWORD Ecx;..
7390: 20 20 44 57 4f 52 44 20 45 61 78 3b 0d 0a 0d 0a    DWORD Eax;....
73a0: 20 20 44 57 4f 52 44 20 45 62 70 3b 0d 0a 20 20    DWORD Ebp;..  
73b0: 44 57 4f 52 44 20 45 69 70 3b 0d 0a 20 20 44 57  DWORD Eip;..  DW
73c0: 4f 52 44 20 53 65 67 43 73 3b 0d 0a 20 20 44 57  ORD SegCs;..  DW
73d0: 4f 52 44 20 45 46 6c 61 67 73 3b 0d 0a 20 20 44  ORD EFlags;..  D
73e0: 57 4f 52 44 20 45 73 70 3b 0d 0a 20 20 44 57 4f  WORD Esp;..  DWO
73f0: 52 44 20 53 65 67 53 73 3b 0d 0a 0d 0a 20 20 42  RD SegSs;....  B
7400: 59 54 45 20 45 78 74 65 6e 64 65 64 52 65 67 69  YTE ExtendedRegi
7410: 73 74 65 72 73 5b 4d 41 58 49 4d 55 4d 5f 53 55  sters[MAXIMUM_SU
7420: 50 50 4f 52 54 45 44 5f 45 58 54 45 4e 53 49 4f  PPORTED_EXTENSIO
7430: 4e 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43  N];..}..alias _C
7440: 4f 4e 54 45 58 54 20 43 4f 4e 54 45 58 54 3b 0d  ONTEXT CONTEXT;.
7450: 0a 0d 0a 61 6c 69 61 73 20 43 4f 4e 54 45 58 54  ...alias CONTEXT
7460: 2a 20 50 43 4f 4e 54 45 58 54 3b 0d 0a 0d 0a 2f  * PCONTEXT;..../
7470: 2f 20 23 65 6e 64 69 66 20 2f 2f 5f 58 38 36 5f  / #endif //_X86_
7480: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
7490: 4c 44 54 5f 45 4e 54 52 59 5f 44 45 46 49 4e 45  LDT_ENTRY_DEFINE
74a0: 44 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 4c  D..// #define _L
74b0: 44 54 5f 45 4e 54 52 59 5f 44 45 46 49 4e 45 44  DT_ENTRY_DEFINED
74c0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4c 44 54 5f  ....struct _LDT_
74d0: 45 4e 54 52 59 20 7b 0d 0a 20 20 57 4f 52 44 20  ENTRY {..  WORD 
74e0: 4c 69 6d 69 74 4c 6f 77 3b 0d 0a 20 20 57 4f 52  LimitLow;..  WOR
74f0: 44 20 42 61 73 65 4c 6f 77 3b 0d 0a 75 6e 69 6f  D BaseLow;..unio
7500: 6e 20 7b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20  n {..struct {.. 
7510: 20 42 59 54 45 20 42 61 73 65 4d 69 64 3b 0d 0a   BYTE BaseMid;..
7520: 20 20 42 59 54 45 20 46 6c 61 67 73 31 3b 0d 0a    BYTE Flags1;..
7530: 20 20 42 59 54 45 20 46 6c 61 67 73 32 3b 0d 0a    BYTE Flags2;..
7540: 20 20 42 59 54 45 20 42 61 73 65 48 69 3b 0d 0a    BYTE BaseHi;..
7550: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 2f  }....struct {../
7560: 2f 20 44 57 4f 52 44 20 20 20 42 61 73 65 4d 69  / DWORD   BaseMi
7570: 64 20 3a 20 38 3b 0d 0a 2f 2f 20 44 57 4f 52 44  d : 8;..// DWORD
7580: 20 20 20 54 79 70 65 20 3a 20 35 3b 0d 0a 2f 2f     Type : 5;..//
7590: 20 44 57 4f 52 44 20 20 20 44 70 6c 20 3a 20 32   DWORD   Dpl : 2
75a0: 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 50 72  ;..// DWORD   Pr
75b0: 65 73 20 3a 20 31 3b 0d 0a 2f 2f 20 44 57 4f 52  es : 1;..// DWOR
75c0: 44 20 20 20 4c 69 6d 69 74 48 69 20 3a 20 34 3b  D   LimitHi : 4;
75d0: 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 53 79 73  ..// DWORD   Sys
75e0: 20 3a 20 31 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20   : 1;..// DWORD 
75f0: 20 20 52 65 73 65 72 76 65 64 5f 30 20 3a 20 31    Reserved_0 : 1
7600: 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 44 65  ;..// DWORD   De
7610: 66 61 75 6c 74 5f 42 69 67 20 3a 20 31 3b 0d 0a  fault_Big : 1;..
7620: 2f 2f 20 44 57 4f 52 44 20 20 20 47 72 61 6e 75  // DWORD   Granu
7630: 6c 61 72 69 74 79 20 3a 20 31 3b 0d 0a 2f 2f 20  larity : 1;..// 
7640: 44 57 4f 52 44 20 20 20 42 61 73 65 48 69 20 3a  DWORD   BaseHi :
7650: 20 38 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 7d   8;..}....}....}
7660: 0d 0a 61 6c 69 61 73 20 5f 4c 44 54 5f 45 4e 54  ..alias _LDT_ENT
7670: 52 59 20 4c 44 54 5f 45 4e 54 52 59 3b 0d 0a 61  RY LDT_ENTRY;..a
7680: 6c 69 61 73 20 5f 4c 44 54 5f 45 4e 54 52 59 2a  lias _LDT_ENTRY*
7690: 20 50 4c 44 54 5f 45 4e 54 52 59 3b 0d 0a 0d 0a   PLDT_ENTRY;....
76a0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
76b0: 23 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 49 50  #if defined(_MIP
76c0: 53 5f 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  S_)....// #.....
76d0: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69  // #.......// #i
76e0: 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  f !defined(RC_IN
76f0: 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  VOKED)....// #..
7700: 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
7710: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
7720: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
7730: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
7740: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  .......// #endif
7750: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7760: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7770: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7780: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7790: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
77a0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
77b0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
77c0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
77d0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
77e0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
77f0: 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
7800: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4d 49 50 53  / #endif // MIPS
7810: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e  ....// #if defin
7820: 65 64 28 5f 4d 49 50 53 5f 29 0d 0a 0d 0a 2f 2f  ed(_MIPS_)....//
7830: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69   .......// #endi
7840: 66 20 2f 2f 20 4d 49 50 53 0d 0a 0d 0a 2f 2f 20  f // MIPS....// 
7850: 23 69 66 20 64 65 66 69 6e 65 64 28 5f 50 50 43  #if defined(_PPC
7860: 5f 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  _)....// #if def
7870: 69 6e 65 64 28 5f 4d 5f 50 50 43 29 20 26 26 20  ined(_M_PPC) && 
7880: 64 65 66 69 6e 65 64 28 5f 4d 53 43 5f 56 45 52  defined(_MSC_VER
7890: 29 20 26 26 20 28 5f 4d 53 43 5f 56 45 52 3e 3d  ) && (_MSC_VER>=
78a0: 31 30 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  1000)..// ...../
78b0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 69 66  / #.....// #elif
78c0: 20 64 65 66 69 6e 65 64 28 5f 4d 5f 50 50 43 29   defined(_M_PPC)
78d0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  ..// .....// #..
78e0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
78f0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
7900: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  ....// #if !defi
7910: 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44 29 0d  ned(RC_INVOKED).
7920: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
7930: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
7940: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e   #.......// #...
7950: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
7960: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7970: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
7980: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
7990: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
79a0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
79b0: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
79c0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
79d0: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
79e0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
79f0: 64 65 66 69 6e 65 64 28 5f 50 50 43 5f 29 0d 0a  defined(_PPC_)..
7a00: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
7a10: 28 5f 4d 50 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23  (_MPPC_)....// #
7a20: 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 50 50  if defined(_M_PP
7a30: 43 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 4d  C) && defined(_M
7a40: 53 43 5f 56 45 52 29 20 26 26 20 28 5f 4d 53 43  SC_VER) && (_MSC
7a50: 5f 56 45 52 3e 3d 31 30 30 30 29 0d 0a 2f 2f 20  _VER>=1000)..// 
7a60: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
7a70: 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f   #elif defined(_
7a80: 4d 5f 50 50 43 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  M_PPC)..// .....
7a90: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
7aa0: 69 66 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  if....// #...../
7ab0: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  / #.......// #if
7ac0: 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56   !defined(RC_INV
7ad0: 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  OKED)....// #...
7ae0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
7af0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
7b00: 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  / #.......// #en
7b10: 64 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  dif....// ......
7b20: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7b30: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
7b40: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
7b50: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
7b60: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
7b70: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
7b80: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
7b90: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  / .......// #end
7ba0: 69 66 20 2f 2f 20 64 65 66 69 6e 65 64 28 5f 4d  if // defined(_M
7bb0: 50 50 43 5f 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  PPC_)....// #if 
7bc0: 21 64 65 66 69 6e 65 64 28 5f 5f 6d 69 64 6c 29  !defined(__midl)
7bd0: 20 26 26 20 21 64 65 66 69 6e 65 64 28 47 45 4e   && !defined(GEN
7be0: 55 54 49 4c 29 20 26 26 20 21 64 65 66 69 6e 65  UTIL) && !define
7bf0: 64 28 5f 47 45 4e 49 41 36 34 5f 29 20 26 26 20  d(_GENIA64_) && 
7c00: 64 65 66 69 6e 65 64 28 5f 49 41 36 34 5f 29 0d  defined(_IA64_).
7c10: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69  ...// .....// #i
7c20: 66 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41 36  f defined(_M_IA6
7c30: 34 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20  4)              
7c40: 20 20 20 20 20 20 2f 2f 20 77 69 6e 6e 74 0d 0a        // winnt..
7c50: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
7c60: 69 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20  if              
7c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7c80: 20 20 20 20 2f 2f 20 77 69 6e 6e 74 0d 0a 0d 0a      // winnt....
7c90: 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f  // #if defined(_
7ca0: 4d 5f 49 41 36 34 29 0d 0a 2f 2f 20 23 2e 2e 2e  M_IA64)..// #...
7cb0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
7cc0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
7cd0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
7ce0: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  .....// #endif  
7cf0: 2f 2f 20 21 64 65 66 69 6e 65 64 28 5f 5f 6d 69  // !defined(__mi
7d00: 64 6c 29 20 26 26 20 21 64 65 66 69 6e 65 64 28  dl) && !defined(
7d10: 47 45 4e 55 54 49 4c 29 20 26 26 20 21 64 65 66  GENUTIL) && !def
7d20: 69 6e 65 64 28 5f 47 45 4e 49 41 36 34 5f 29 20  ined(_GENIA64_) 
7d30: 26 26 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41  && defined(_M_IA
7d40: 36 34 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  64)....// #ifdef
7d50: 20 5f 49 41 36 34 5f 0d 0a 0d 0a 2f 2f 20 23 69   _IA64_....// #i
7d60: 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e  f !defined(RC_IN
7d70: 56 4f 4b 45 44 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e  VOKED)....// #..
7d80: 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
7d90: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
7da0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
7db0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
7dc0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  #.....// #......
7dd0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 64  .// #endif // !d
7de0: 65 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45  efined(RC_INVOKE
7df0: 44 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  D)....// .......
7e00: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7e10: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7e20: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7e30: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7e40: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7e50: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7e60: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7e70: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7e80: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7e90: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7ea0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7eb0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
7ec0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
7ed0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
7ee0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
7ef0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
7f00: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
7f10: 20 5f 49 41 36 34 5f 0d 0a 0d 0a 2f 2f 20 23 69   _IA64_....// #i
7f20: 66 64 65 66 20 5f 49 41 36 34 5f 0d 0a 0d 0a 2f  fdef _IA64_..../
7f30: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  / .......// #end
7f40: 69 66 20 2f 2f 20 5f 49 41 36 34 5f 0d 0a 0d 0a  if // _IA64_....
7f50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 58  enum : uint { EX
7f60: 43 45 50 54 49 4f 4e 5f 4e 4f 4e 43 4f 4e 54 49  CEPTION_NONCONTI
7f70: 4e 55 41 42 4c 45 20 3d 20 30 78 31 20 7d 0d 0a  NUABLE = 0x1 }..
7f80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 58  enum : uint { EX
7f90: 43 45 50 54 49 4f 4e 5f 4d 41 58 49 4d 55 4d 5f  CEPTION_MAXIMUM_
7fa0: 50 41 52 41 4d 45 54 45 52 53 20 3d 20 31 35 20  PARAMETERS = 15 
7fb0: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 45 58 43  }....struct _EXC
7fc0: 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 20 7b 0d  EPTION_RECORD {.
7fd0: 0a 20 20 44 57 4f 52 44 20 45 78 63 65 70 74 69  .  DWORD Excepti
7fe0: 6f 6e 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44  onCode;..  DWORD
7ff0: 20 45 78 63 65 70 74 69 6f 6e 46 6c 61 67 73 3b   ExceptionFlags;
8000: 0d 0a 20 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52  ..  _EXCEPTION_R
8010: 45 43 4f 52 44 20 2a 45 78 63 65 70 74 69 6f 6e  ECORD *Exception
8020: 52 65 63 6f 72 64 3b 0d 0a 20 20 50 56 4f 49 44  Record;..  PVOID
8030: 20 45 78 63 65 70 74 69 6f 6e 41 64 64 72 65 73   ExceptionAddres
8040: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62  s;..  DWORD Numb
8050: 65 72 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20  erParameters;.. 
8060: 20 55 4c 4f 4e 47 5f 50 54 52 20 45 78 63 65 70   ULONG_PTR Excep
8070: 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b  tionInformation[
8080: 45 58 43 45 50 54 49 4f 4e 5f 4d 41 58 49 4d 55  EXCEPTION_MAXIMU
8090: 4d 5f 50 41 52 41 4d 45 54 45 52 53 5d 3b 0d 0a  M_PARAMETERS];..
80a0: 7d 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45 50 54  }..alias _EXCEPT
80b0: 49 4f 4e 5f 52 45 43 4f 52 44 20 45 58 43 45 50  ION_RECORD EXCEP
80c0: 54 49 4f 4e 5f 52 45 43 4f 52 44 3b 0d 0a 0d 0a  TION_RECORD;....
80d0: 61 6c 69 61 73 20 45 58 43 45 50 54 49 4f 4e 5f  alias EXCEPTION_
80e0: 52 45 43 4f 52 44 2a 20 50 45 58 43 45 50 54 49  RECORD* PEXCEPTI
80f0: 4f 4e 5f 52 45 43 4f 52 44 3b 0d 0a 0d 0a 73 74  ON_RECORD;....st
8100: 72 75 63 74 20 5f 45 58 43 45 50 54 49 4f 4e 5f  ruct _EXCEPTION_
8110: 52 45 43 4f 52 44 33 32 20 7b 0d 0a 20 20 44 57  RECORD32 {..  DW
8120: 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 43 6f 64  ORD ExceptionCod
8130: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 45 78 63 65  e;..  DWORD Exce
8140: 70 74 69 6f 6e 46 6c 61 67 73 3b 0d 0a 20 20 44  ptionFlags;..  D
8150: 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 52 65  WORD ExceptionRe
8160: 63 6f 72 64 3b 0d 0a 20 20 44 57 4f 52 44 20 45  cord;..  DWORD E
8170: 78 63 65 70 74 69 6f 6e 41 64 64 72 65 73 73 3b  xceptionAddress;
8180: 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62 65 72  ..  DWORD Number
8190: 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20 20 44  Parameters;..  D
81a0: 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 49 6e  WORD ExceptionIn
81b0: 66 6f 72 6d 61 74 69 6f 6e 5b 45 58 43 45 50 54  formation[EXCEPT
81c0: 49 4f 4e 5f 4d 41 58 49 4d 55 4d 5f 50 41 52 41  ION_MAXIMUM_PARA
81d0: 4d 45 54 45 52 53 5d 3b 0d 0a 7d 0d 0a 61 6c 69  METERS];..}..ali
81e0: 61 73 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52 45  as _EXCEPTION_RE
81f0: 43 4f 52 44 33 32 20 45 58 43 45 50 54 49 4f 4e  CORD32 EXCEPTION
8200: 5f 52 45 43 4f 52 44 33 32 3b 0d 0a 61 6c 69 61  _RECORD32;..alia
8210: 73 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52 45 43  s _EXCEPTION_REC
8220: 4f 52 44 33 32 2a 20 50 45 58 43 45 50 54 49 4f  ORD32* PEXCEPTIO
8230: 4e 5f 52 45 43 4f 52 44 33 32 3b 0d 0a 0d 0a 73  N_RECORD32;....s
8240: 74 72 75 63 74 20 5f 45 58 43 45 50 54 49 4f 4e  truct _EXCEPTION
8250: 5f 52 45 43 4f 52 44 36 34 20 7b 0d 0a 20 20 44  _RECORD64 {..  D
8260: 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 43 6f  WORD ExceptionCo
8270: 64 65 3b 0d 0a 20 20 44 57 4f 52 44 20 45 78 63  de;..  DWORD Exc
8280: 65 70 74 69 6f 6e 46 6c 61 67 73 3b 0d 0a 20 20  eptionFlags;..  
8290: 44 57 4f 52 44 36 34 20 45 78 63 65 70 74 69 6f  DWORD64 Exceptio
82a0: 6e 52 65 63 6f 72 64 3b 0d 0a 20 20 44 57 4f 52  nRecord;..  DWOR
82b0: 44 36 34 20 45 78 63 65 70 74 69 6f 6e 41 64 64  D64 ExceptionAdd
82c0: 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4e  ress;..  DWORD N
82d0: 75 6d 62 65 72 50 61 72 61 6d 65 74 65 72 73 3b  umberParameters;
82e0: 0d 0a 20 20 44 57 4f 52 44 20 5f 5f 75 6e 75 73  ..  DWORD __unus
82f0: 65 64 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 20 20  edAlignment;..  
8300: 44 57 4f 52 44 36 34 20 45 78 63 65 70 74 69 6f  DWORD64 Exceptio
8310: 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 45 58 43  nInformation[EXC
8320: 45 50 54 49 4f 4e 5f 4d 41 58 49 4d 55 4d 5f 50  EPTION_MAXIMUM_P
8330: 41 52 41 4d 45 54 45 52 53 5d 3b 0d 0a 7d 0d 0a  ARAMETERS];..}..
8340: 61 6c 69 61 73 20 5f 45 58 43 45 50 54 49 4f 4e  alias _EXCEPTION
8350: 5f 52 45 43 4f 52 44 36 34 20 45 58 43 45 50 54  _RECORD64 EXCEPT
8360: 49 4f 4e 5f 52 45 43 4f 52 44 36 34 3b 0d 0a 61  ION_RECORD64;..a
8370: 6c 69 61 73 20 5f 45 58 43 45 50 54 49 4f 4e 5f  lias _EXCEPTION_
8380: 52 45 43 4f 52 44 36 34 2a 20 50 45 58 43 45 50  RECORD64* PEXCEP
8390: 54 49 4f 4e 5f 52 45 43 4f 52 44 36 34 3b 0d 0a  TION_RECORD64;..
83a0: 0d 0a 73 74 72 75 63 74 20 5f 45 58 43 45 50 54  ..struct _EXCEPT
83b0: 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 20 7b 0d 0a  ION_POINTERS {..
83c0: 20 20 50 45 58 43 45 50 54 49 4f 4e 5f 52 45 43    PEXCEPTION_REC
83d0: 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 52 65 63  ORD ExceptionRec
83e0: 6f 72 64 3b 0d 0a 20 20 50 43 4f 4e 54 45 58 54  ord;..  PCONTEXT
83f0: 20 43 6f 6e 74 65 78 74 52 65 63 6f 72 64 3b 0d   ContextRecord;.
8400: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45 50  .}..alias _EXCEP
8410: 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 20 45 58  TION_POINTERS EX
8420: 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53  CEPTION_POINTERS
8430: 3b 0d 0a 61 6c 69 61 73 20 5f 45 58 43 45 50 54  ;..alias _EXCEPT
8440: 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 2a 20 50 45  ION_POINTERS* PE
8450: 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52  XCEPTION_POINTER
8460: 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 56 4f 49  S;....alias PVOI
8470: 44 20 50 41 43 43 45 53 53 5f 54 4f 4b 45 4e 3b  D PACCESS_TOKEN;
8480: 0d 0a 61 6c 69 61 73 20 50 56 4f 49 44 20 50 53  ..alias PVOID PS
8490: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
84a0: 4f 52 3b 0d 0a 61 6c 69 61 73 20 50 56 4f 49 44  OR;..alias PVOID
84b0: 20 50 53 49 44 3b 0d 0a 0d 0a 61 6c 69 61 73 20   PSID;....alias 
84c0: 44 57 4f 52 44 20 41 43 43 45 53 53 5f 4d 41 53  DWORD ACCESS_MAS
84d0: 4b 3b 0d 0a 61 6c 69 61 73 20 41 43 43 45 53 53  K;..alias ACCESS
84e0: 5f 4d 41 53 4b 2a 20 50 41 43 43 45 53 53 5f 4d  _MASK* PACCESS_M
84f0: 41 53 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ASK;....enum : u
8500: 69 6e 74 20 7b 20 44 45 4c 45 54 45 20 3d 20 30  int { DELETE = 0
8510: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
8520: 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 41 44 5f  m : uint { READ_
8530: 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 30 30 32  CONTROL = 0x0002
8540: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
8550: 69 6e 74 20 7b 20 57 52 49 54 45 5f 44 41 43 20  int { WRITE_DAC 
8560: 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a  = 0x00040000 }..
8570: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 52  enum : uint { WR
8580: 49 54 45 5f 4f 57 4e 45 52 20 3d 20 30 78 30 30  ITE_OWNER = 0x00
8590: 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  080000 }..enum :
85a0: 20 75 69 6e 74 20 7b 20 53 59 4e 43 48 52 4f 4e   uint { SYNCHRON
85b0: 49 5a 45 20 3d 20 30 78 30 30 31 30 30 30 30 30  IZE = 0x00100000
85c0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
85d0: 74 20 7b 20 53 54 41 4e 44 41 52 44 5f 52 49 47  t { STANDARD_RIG
85e0: 48 54 53 5f 52 45 51 55 49 52 45 44 20 3d 20 30  HTS_REQUIRED = 0
85f0: 78 30 30 30 46 30 30 30 30 20 7d 0d 0a 0d 0a 65  x000F0000 }....e
8600: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41  num : uint { STA
8610: 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 41  NDARD_RIGHTS_REA
8620: 44 20 3d 20 52 45 41 44 5f 43 4f 4e 54 52 4f 4c  D = READ_CONTROL
8630: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
8640: 7b 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54  { STANDARD_RIGHT
8650: 53 5f 57 52 49 54 45 20 3d 20 52 45 41 44 5f 43  S_WRITE = READ_C
8660: 4f 4e 54 52 4f 4c 20 7d 0d 0a 65 6e 75 6d 20 3a  ONTROL }..enum :
8670: 20 75 69 6e 74 20 7b 20 53 54 41 4e 44 41 52 44   uint { STANDARD
8680: 5f 52 49 47 48 54 53 5f 45 58 45 43 55 54 45 20  _RIGHTS_EXECUTE 
8690: 3d 20 52 45 41 44 5f 43 4f 4e 54 52 4f 4c 20 7d  = READ_CONTROL }
86a0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
86b0: 7b 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54  { STANDARD_RIGHT
86c0: 53 5f 41 4c 4c 20 3d 20 30 78 30 30 31 46 30 30  S_ALL = 0x001F00
86d0: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
86e0: 69 6e 74 20 7b 20 53 50 45 43 49 46 49 43 5f 52  int { SPECIFIC_R
86f0: 49 47 48 54 53 5f 41 4c 4c 20 3d 20 30 78 30 30  IGHTS_ALL = 0x00
8700: 30 30 46 46 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d  00FFFF }....enum
8710: 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53   : uint { ACCESS
8720: 5f 53 59 53 54 45 4d 5f 53 45 43 55 52 49 54 59  _SYSTEM_SECURITY
8730: 20 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d   = 0x01000000 }.
8740: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
8750: 20 4d 41 58 49 4d 55 4d 5f 41 4c 4c 4f 57 45 44   MAXIMUM_ALLOWED
8760: 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d   = 0x02000000 }.
8770: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
8780: 20 47 45 4e 45 52 49 43 5f 52 45 41 44 20 3d 20   GENERIC_READ = 
8790: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x80000000 }..en
87a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 45 4e 45  um : uint { GENE
87b0: 52 49 43 5f 57 52 49 54 45 20 3d 20 30 78 34 30  RIC_WRITE = 0x40
87c0: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
87d0: 20 75 69 6e 74 20 7b 20 47 45 4e 45 52 49 43 5f   uint { GENERIC_
87e0: 45 58 45 43 55 54 45 20 3d 20 30 78 32 30 30 30  EXECUTE = 0x2000
87f0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
8800: 69 6e 74 20 7b 20 47 45 4e 45 52 49 43 5f 41 4c  int { GENERIC_AL
8810: 4c 20 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d  L = 0x10000000 }
8820: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 47 45 4e 45  ....struct _GENE
8830: 52 49 43 5f 4d 41 50 50 49 4e 47 20 7b 0d 0a 20  RIC_MAPPING {.. 
8840: 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 6e   ACCESS_MASK Gen
8850: 65 72 69 63 52 65 61 64 3b 0d 0a 20 20 41 43 43  ericRead;..  ACC
8860: 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72 69 63  ESS_MASK Generic
8870: 57 72 69 74 65 3b 0d 0a 20 20 41 43 43 45 53 53  Write;..  ACCESS
8880: 5f 4d 41 53 4b 20 47 65 6e 65 72 69 63 45 78 65  _MASK GenericExe
8890: 63 75 74 65 3b 0d 0a 20 20 41 43 43 45 53 53 5f  cute;..  ACCESS_
88a0: 4d 41 53 4b 20 47 65 6e 65 72 69 63 41 6c 6c 3b  MASK GenericAll;
88b0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 47 45 4e 45  ..}..alias _GENE
88c0: 52 49 43 5f 4d 41 50 50 49 4e 47 20 47 45 4e 45  RIC_MAPPING GENE
88d0: 52 49 43 5f 4d 41 50 50 49 4e 47 3b 0d 0a 0d 0a  RIC_MAPPING;....
88e0: 61 6c 69 61 73 20 47 45 4e 45 52 49 43 5f 4d 41  alias GENERIC_MA
88f0: 50 50 49 4e 47 2a 20 50 47 45 4e 45 52 49 43 5f  PPING* PGENERIC_
8900: 4d 41 50 50 49 4e 47 3b 0d 0a 0d 0a 61 6c 69 67  MAPPING;....alig
8910: 6e 28 34 29 3a 0d 0a 0d 0a 73 74 72 75 63 74 20  n(4):....struct 
8920: 5f 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42  _LUID_AND_ATTRIB
8930: 55 54 45 53 20 7b 0d 0a 20 20 4c 55 49 44 20 4c  UTES {..  LUID L
8940: 75 69 64 3b 0d 0a 20 20 44 57 4f 52 44 20 41 74  uid;..  DWORD At
8950: 74 72 69 62 75 74 65 73 3b 0d 0a 7d 0d 0a 61 6c  tributes;..}..al
8960: 69 61 73 20 5f 4c 55 49 44 5f 41 4e 44 5f 41 54  ias _LUID_AND_AT
8970: 54 52 49 42 55 54 45 53 20 4c 55 49 44 5f 41 4e  TRIBUTES LUID_AN
8980: 44 5f 41 54 54 52 49 42 55 54 45 53 3b 0d 0a 61  D_ATTRIBUTES;..a
8990: 6c 69 61 73 20 5f 4c 55 49 44 5f 41 4e 44 5f 41  lias _LUID_AND_A
89a0: 54 54 52 49 42 55 54 45 53 2a 20 50 4c 55 49 44  TTRIBUTES* PLUID
89b0: 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 3b  _AND_ATTRIBUTES;
89c0: 0d 0a 0d 0a 61 6c 69 61 73 20 4c 55 49 44 5f 41  ....alias LUID_A
89d0: 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 4c 55  ND_ATTRIBUTES LU
89e0: 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45  ID_AND_ATTRIBUTE
89f0: 53 5f 41 52 52 41 59 5b 41 4e 59 53 49 5a 45 5f  S_ARRAY[ANYSIZE_
8a00: 41 52 52 41 59 5d 3b 0d 0a 61 6c 69 61 73 20 4c  ARRAY];..alias L
8a10: 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54  UID_AND_ATTRIBUT
8a20: 45 53 5f 41 52 52 41 59 2a 20 50 4c 55 49 44 5f  ES_ARRAY* PLUID_
8a30: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 5f 41  AND_ATTRIBUTES_A
8a40: 52 52 41 59 3b 0d 0a 0d 0a 61 6c 69 67 6e 3a 0d  RRAY;....align:.
8a50: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 53 49  ...// #ifndef SI
8a60: 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54  D_IDENTIFIER_AUT
8a70: 48 4f 52 49 54 59 5f 44 45 46 49 4e 45 44 0d 0a  HORITY_DEFINED..
8a80: 2f 2f 20 23 64 65 66 69 6e 65 20 53 49 44 5f 49  // #define SID_I
8a90: 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f 52  DENTIFIER_AUTHOR
8aa0: 49 54 59 5f 44 45 46 49 4e 45 44 0d 0a 73 74 72  ITY_DEFINED..str
8ab0: 75 63 74 20 5f 53 49 44 5f 49 44 45 4e 54 49 46  uct _SID_IDENTIF
8ac0: 49 45 52 5f 41 55 54 48 4f 52 49 54 59 20 7b 0d  IER_AUTHORITY {.
8ad0: 0a 20 20 42 59 54 45 20 56 61 6c 75 65 5b 36 5d  .  BYTE Value[6]
8ae0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 49 44  ;..}..alias _SID
8af0: 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48  _IDENTIFIER_AUTH
8b00: 4f 52 49 54 59 20 53 49 44 5f 49 44 45 4e 54 49  ORITY SID_IDENTI
8b10: 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59 3b 0d  FIER_AUTHORITY;.
8b20: 0a 61 6c 69 61 73 20 5f 53 49 44 5f 49 44 45 4e  .alias _SID_IDEN
8b30: 54 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59  TIFIER_AUTHORITY
8b40: 2a 20 50 53 49 44 5f 49 44 45 4e 54 49 46 49 45  * PSID_IDENTIFIE
8b50: 52 5f 41 55 54 48 4f 52 49 54 59 3b 0d 0a 0d 0a  R_AUTHORITY;....
8b60: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
8b70: 23 69 66 6e 64 65 66 20 53 49 44 5f 44 45 46 49  #ifndef SID_DEFI
8b80: 4e 45 44 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  NED..// #define 
8b90: 53 49 44 5f 44 45 46 49 4e 45 44 0d 0a 73 74 72  SID_DEFINED..str
8ba0: 75 63 74 20 5f 53 49 44 20 7b 0d 0a 20 20 42 59  uct _SID {..  BY
8bb0: 54 45 20 52 65 76 69 73 69 6f 6e 3b 0d 0a 20 20  TE Revision;..  
8bc0: 42 59 54 45 20 53 75 62 41 75 74 68 6f 72 69 74  BYTE SubAuthorit
8bd0: 79 43 6f 75 6e 74 3b 0d 0a 20 20 53 49 44 5f 49  yCount;..  SID_I
8be0: 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f 52  DENTIFIER_AUTHOR
8bf0: 49 54 59 20 49 64 65 6e 74 69 66 69 65 72 41 75  ITY IdentifierAu
8c00: 74 68 6f 72 69 74 79 3b 0d 0a 2f 2f 20 23 69 66  thority;..// #if
8c10: 64 65 66 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 2f  def MIDL_PASS../
8c20: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 20  / .....// #else 
8c30: 2f 2f 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 20 20  // MIDL_PASS..  
8c40: 44 57 4f 52 44 20 53 75 62 41 75 74 68 6f 72 69  DWORD SubAuthori
8c50: 74 79 5b 41 4e 59 53 49 5a 45 5f 41 52 52 41 59  ty[ANYSIZE_ARRAY
8c60: 5d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ];..// #endif //
8c70: 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 7d 0d 0a 61   MIDL_PASS..}..a
8c80: 6c 69 61 73 20 5f 53 49 44 20 53 49 44 3b 0d 0a  lias _SID SID;..
8c90: 61 6c 69 61 73 20 5f 53 49 44 2a 20 50 49 53 49  alias _SID* PISI
8ca0: 44 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  D;....// #endif.
8cb0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
8cc0: 20 53 49 44 5f 52 45 56 49 53 49 4f 4e 20 3d 20   SID_REVISION = 
8cd0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
8ce0: 20 7b 20 53 49 44 5f 4d 41 58 5f 53 55 42 5f 41   { SID_MAX_SUB_A
8cf0: 55 54 48 4f 52 49 54 49 45 53 20 3d 20 31 35 20  UTHORITIES = 15 
8d00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8d10: 20 53 49 44 5f 52 45 43 4f 4d 4d 45 4e 44 45 44   SID_RECOMMENDED
8d20: 5f 53 55 42 5f 41 55 54 48 4f 52 49 54 49 45 53  _SUB_AUTHORITIES
8d30: 20 3d 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   = 1 }....// #if
8d40: 6e 64 65 66 20 4d 49 44 4c 5f 50 41 53 53 0d 0a  ndef MIDL_PASS..
8d50: 63 6f 6e 73 74 20 75 69 6e 74 20 53 45 43 55 52  const uint SECUR
8d60: 49 54 59 5f 4d 41 58 5f 53 49 44 5f 53 49 5a 45  ITY_MAX_SID_SIZE
8d70: 20 3d 20 53 49 44 2e 73 69 7a 65 6f 66 20 2d 20   = SID.sizeof - 
8d80: 44 57 4f 52 44 2e 73 69 7a 65 6f 66 20 2b 20 28  DWORD.sizeof + (
8d90: 53 49 44 5f 4d 41 58 5f 53 55 42 5f 41 55 54 48  SID_MAX_SUB_AUTH
8da0: 4f 52 49 54 49 45 53 20 2a 20 44 57 4f 52 44 2e  ORITIES * DWORD.
8db0: 73 69 7a 65 6f 66 29 3b 0d 0a 2f 2f 20 23 65 6e  sizeof);..// #en
8dc0: 64 69 66 20 2f 2f 20 4d 49 44 4c 5f 50 41 53 53  dif // MIDL_PASS
8dd0: 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 53  ....alias int _S
8de0: 49 44 5f 4e 41 4d 45 5f 55 53 45 3b 0d 0a 65 6e  ID_NAME_USE;..en
8df0: 75 6d 20 7b 0d 0a 20 20 53 69 64 54 79 70 65 55  um {..  SidTypeU
8e00: 73 65 72 20 3d 20 31 2c 0d 0a 20 20 53 69 64 54  ser = 1,..  SidT
8e10: 79 70 65 47 72 6f 75 70 2c 0d 0a 20 20 53 69 64  ypeGroup,..  Sid
8e20: 54 79 70 65 44 6f 6d 61 69 6e 2c 0d 0a 20 20 53  TypeDomain,..  S
8e30: 69 64 54 79 70 65 41 6c 69 61 73 2c 0d 0a 20 20  idTypeAlias,..  
8e40: 53 69 64 54 79 70 65 57 65 6c 6c 4b 6e 6f 77 6e  SidTypeWellKnown
8e50: 47 72 6f 75 70 2c 0d 0a 20 20 53 69 64 54 79 70  Group,..  SidTyp
8e60: 65 44 65 6c 65 74 65 64 41 63 63 6f 75 6e 74 2c  eDeletedAccount,
8e70: 0d 0a 20 20 53 69 64 54 79 70 65 49 6e 76 61 6c  ..  SidTypeInval
8e80: 69 64 2c 0d 0a 20 20 53 69 64 54 79 70 65 55 6e  id,..  SidTypeUn
8e90: 6b 6e 6f 77 6e 2c 0d 0a 20 20 53 69 64 54 79 70  known,..  SidTyp
8ea0: 65 43 6f 6d 70 75 74 65 72 2c 0d 0a 7d 0d 0a 61  eComputer,..}..a
8eb0: 6c 69 61 73 20 5f 53 49 44 5f 4e 41 4d 45 5f 55  lias _SID_NAME_U
8ec0: 53 45 20 53 49 44 5f 4e 41 4d 45 5f 55 53 45 3b  SE SID_NAME_USE;
8ed0: 0d 0a 61 6c 69 61 73 20 5f 53 49 44 5f 4e 41 4d  ..alias _SID_NAM
8ee0: 45 5f 55 53 45 2a 20 50 53 49 44 5f 4e 41 4d 45  E_USE* PSID_NAME
8ef0: 5f 55 53 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  _USE;....struct 
8f00: 5f 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55  _SID_AND_ATTRIBU
8f10: 54 45 53 20 7b 0d 0a 20 20 50 53 49 44 20 53 69  TES {..  PSID Si
8f20: 64 3b 0d 0a 20 20 44 57 4f 52 44 20 41 74 74 72  d;..  DWORD Attr
8f30: 69 62 75 74 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61  ibutes;..}..alia
8f40: 73 20 5f 53 49 44 5f 41 4e 44 5f 41 54 54 52 49  s _SID_AND_ATTRI
8f50: 42 55 54 45 53 20 53 49 44 5f 41 4e 44 5f 41 54  BUTES SID_AND_AT
8f60: 54 52 49 42 55 54 45 53 3b 0d 0a 61 6c 69 61 73  TRIBUTES;..alias
8f70: 20 5f 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42   _SID_AND_ATTRIB
8f80: 55 54 45 53 2a 20 50 53 49 44 5f 41 4e 44 5f 41  UTES* PSID_AND_A
8f90: 54 54 52 49 42 55 54 45 53 3b 0d 0a 0d 0a 61 6c  TTRIBUTES;....al
8fa0: 69 61 73 20 53 49 44 5f 41 4e 44 5f 41 54 54 52  ias SID_AND_ATTR
8fb0: 49 42 55 54 45 53 20 53 49 44 5f 41 4e 44 5f 41  IBUTES SID_AND_A
8fc0: 54 54 52 49 42 55 54 45 53 5f 41 52 52 41 59 5b  TTRIBUTES_ARRAY[
8fd0: 41 4e 59 53 49 5a 45 5f 41 52 52 41 59 5d 3b 0d  ANYSIZE_ARRAY];.
8fe0: 0a 61 6c 69 61 73 20 53 49 44 5f 41 4e 44 5f 41  .alias SID_AND_A
8ff0: 54 54 52 49 42 55 54 45 53 5f 41 52 52 41 59 2a  TTRIBUTES_ARRAY*
9000: 20 50 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42   PSID_AND_ATTRIB
9010: 55 54 45 53 5f 41 52 52 41 59 3b 0d 0a 0d 0a 2f  UTES_ARRAY;..../
9020: 2f 20 23 64 65 66 69 6e 65 20 53 45 43 55 52 49  / #define SECURI
9030: 54 59 5f 4e 55 4c 4c 5f 53 49 44 5f 41 55 54 48  TY_NULL_SID_AUTH
9040: 4f 52 49 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30  ORITY {0,0,0,0,0
9050: 2c 30 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ,0}..// #define 
9060: 53 45 43 55 52 49 54 59 5f 57 4f 52 4c 44 5f 53  SECURITY_WORLD_S
9070: 49 44 5f 41 55 54 48 4f 52 49 54 59 20 7b 30 2c  ID_AUTHORITY {0,
9080: 30 2c 30 2c 30 2c 30 2c 31 7d 0d 0a 2f 2f 20 23  0,0,0,0,1}..// #
9090: 64 65 66 69 6e 65 20 53 45 43 55 52 49 54 59 5f  define SECURITY_
90a0: 4c 4f 43 41 4c 5f 53 49 44 5f 41 55 54 48 4f 52  LOCAL_SID_AUTHOR
90b0: 49 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c 32  ITY {0,0,0,0,0,2
90c0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 45  }..// #define SE
90d0: 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52 5f 53  CURITY_CREATOR_S
90e0: 49 44 5f 41 55 54 48 4f 52 49 54 59 20 7b 30 2c  ID_AUTHORITY {0,
90f0: 30 2c 30 2c 30 2c 30 2c 33 7d 0d 0a 2f 2f 20 23  0,0,0,0,3}..// #
9100: 64 65 66 69 6e 65 20 53 45 43 55 52 49 54 59 5f  define SECURITY_
9110: 4e 4f 4e 5f 55 4e 49 51 55 45 5f 41 55 54 48 4f  NON_UNIQUE_AUTHO
9120: 52 49 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c  RITY {0,0,0,0,0,
9130: 34 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53  4}..// #define S
9140: 45 43 55 52 49 54 59 5f 52 45 53 4f 55 52 43 45  ECURITY_RESOURCE
9150: 5f 4d 41 4e 41 47 45 52 5f 41 55 54 48 4f 52 49  _MANAGER_AUTHORI
9160: 54 59 20 7b 30 2c 30 2c 30 2c 30 2c 30 2c 39 7d  TY {0,0,0,0,0,9}
9170: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
9180: 7b 20 53 45 43 55 52 49 54 59 5f 4e 55 4c 4c 5f  { SECURITY_NULL_
9190: 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 30  RID = 0x00000000
91a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
91b0: 7b 20 53 45 43 55 52 49 54 59 5f 57 4f 52 4c 44  { SECURITY_WORLD
91c0: 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 30  _RID = 0x0000000
91d0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
91e0: 20 7b 20 53 45 43 55 52 49 54 59 5f 4c 4f 43 41   { SECURITY_LOCA
91f0: 4c 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30  L_RID = 0x000000
9200: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
9210: 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 43  int { SECURITY_C
9220: 52 45 41 54 4f 52 5f 4f 57 4e 45 52 5f 52 49 44  REATOR_OWNER_RID
9230: 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
9240: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
9250: 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52 5f  ECURITY_CREATOR_
9260: 47 52 4f 55 50 5f 52 49 44 20 3d 20 30 78 30 30  GROUP_RID = 0x00
9270: 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  000001 }....enum
9280: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
9290: 54 59 5f 43 52 45 41 54 4f 52 5f 4f 57 4e 45 52  TY_CREATOR_OWNER
92a0: 5f 53 45 52 56 45 52 5f 52 49 44 20 3d 20 30 78  _SERVER_RID = 0x
92b0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
92c0: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
92d0: 54 59 5f 43 52 45 41 54 4f 52 5f 47 52 4f 55 50  TY_CREATOR_GROUP
92e0: 5f 53 45 52 56 45 52 5f 52 49 44 20 3d 20 30 78  _SERVER_RID = 0x
92f0: 30 30 30 30 30 30 30 33 20 7d 0d 0a 0d 0a 2f 2f  00000003 }....//
9300: 20 23 64 65 66 69 6e 65 20 53 45 43 55 52 49 54   #define SECURIT
9310: 59 5f 4e 54 5f 41 55 54 48 4f 52 49 54 59 20 7b  Y_NT_AUTHORITY {
9320: 30 2c 30 2c 30 2c 30 2c 30 2c 35 7d 0d 0a 0d 0a  0,0,0,0,0,5}....
9330: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
9340: 43 55 52 49 54 59 5f 44 49 41 4c 55 50 5f 52 49  CURITY_DIALUP_RI
9350: 44 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  D = 0x00000001 }
9360: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9370: 53 45 43 55 52 49 54 59 5f 4e 45 54 57 4f 52 4b  SECURITY_NETWORK
9380: 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30 30  _RID = 0x0000000
9390: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
93a0: 20 7b 20 53 45 43 55 52 49 54 59 5f 42 41 54 43   { SECURITY_BATC
93b0: 48 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30  H_RID = 0x000000
93c0: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
93d0: 74 20 7b 20 53 45 43 55 52 49 54 59 5f 49 4e 54  t { SECURITY_INT
93e0: 45 52 41 43 54 49 56 45 5f 52 49 44 20 3d 20 30  ERACTIVE_RID = 0
93f0: 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
9400: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52  m : uint { SECUR
9410: 49 54 59 5f 53 45 52 56 49 43 45 5f 52 49 44 20  ITY_SERVICE_RID 
9420: 3d 20 30 78 30 30 30 30 30 30 30 36 20 7d 0d 0a  = 0x00000006 }..
9430: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
9440: 43 55 52 49 54 59 5f 41 4e 4f 4e 59 4d 4f 55 53  CURITY_ANONYMOUS
9450: 5f 4c 4f 47 4f 4e 5f 52 49 44 20 3d 20 30 78 30  _LOGON_RID = 0x0
9460: 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20  0000007 }..enum 
9470: 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49 54  : uint { SECURIT
9480: 59 5f 50 52 4f 58 59 5f 52 49 44 20 3d 20 30 78  Y_PROXY_RID = 0x
9490: 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  00000008 }..enum
94a0: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
94b0: 54 59 5f 45 4e 54 45 52 50 52 49 53 45 5f 43 4f  TY_ENTERPRISE_CO
94c0: 4e 54 52 4f 4c 4c 45 52 53 5f 52 49 44 20 3d 20  NTROLLERS_RID = 
94d0: 30 78 30 30 30 30 30 30 30 39 20 7d 0d 0a 61 6c  0x00000009 }..al
94e0: 69 61 73 20 53 45 43 55 52 49 54 59 5f 45 4e 54  ias SECURITY_ENT
94f0: 45 52 50 52 49 53 45 5f 43 4f 4e 54 52 4f 4c 4c  ERPRISE_CONTROLL
9500: 45 52 53 5f 52 49 44 20 53 45 43 55 52 49 54 59  ERS_RID SECURITY
9510: 5f 53 45 52 56 45 52 5f 4c 4f 47 4f 4e 5f 52 49  _SERVER_LOGON_RI
9520: 44 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  D;..enum : uint 
9530: 7b 20 53 45 43 55 52 49 54 59 5f 50 52 49 4e 43  { SECURITY_PRINC
9540: 49 50 41 4c 5f 53 45 4c 46 5f 52 49 44 20 3d 20  IPAL_SELF_RID = 
9550: 30 78 30 30 30 30 30 30 30 41 20 7d 0d 0a 65 6e  0x0000000A }..en
9560: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55  um : uint { SECU
9570: 52 49 54 59 5f 41 55 54 48 45 4e 54 49 43 41 54  RITY_AUTHENTICAT
9580: 45 44 5f 55 53 45 52 5f 52 49 44 20 3d 20 30 78  ED_USER_RID = 0x
9590: 30 30 30 30 30 30 30 42 20 7d 0d 0a 65 6e 75 6d  0000000B }..enum
95a0: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
95b0: 54 59 5f 52 45 53 54 52 49 43 54 45 44 5f 43 4f  TY_RESTRICTED_CO
95c0: 44 45 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30  DE_RID = 0x00000
95d0: 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00C }..enum : ui
95e0: 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 54 45  nt { SECURITY_TE
95f0: 52 4d 49 4e 41 4c 5f 53 45 52 56 45 52 5f 52 49  RMINAL_SERVER_RI
9600: 44 20 3d 20 30 78 30 30 30 30 30 30 30 44 20 7d  D = 0x0000000D }
9610: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9620: 53 45 43 55 52 49 54 59 5f 52 45 4d 4f 54 45 5f  SECURITY_REMOTE_
9630: 4c 4f 47 4f 4e 5f 52 49 44 20 3d 20 30 78 30 30  LOGON_RID = 0x00
9640: 30 30 30 30 30 45 20 7d 0d 0a 0d 0a 65 6e 75 6d  00000E }....enum
9650: 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52 49   : uint { SECURI
9660: 54 59 5f 4c 4f 47 4f 4e 5f 49 44 53 5f 52 49 44  TY_LOGON_IDS_RID
9670: 20 3d 20 30 78 30 30 30 30 30 30 30 35 20 7d 0d   = 0x00000005 }.
9680: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
9690: 45 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f 49 44  ECURITY_LOGON_ID
96a0: 53 5f 52 49 44 5f 43 4f 55 4e 54 20 3d 20 33 20  S_RID_COUNT = 3 
96b0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
96c0: 20 7b 20 53 45 43 55 52 49 54 59 5f 4c 4f 43 41   { SECURITY_LOCA
96d0: 4c 5f 53 59 53 54 45 4d 5f 52 49 44 20 3d 20 30  L_SYSTEM_RID = 0
96e0: 78 30 30 30 30 30 30 31 32 20 7d 0d 0a 65 6e 75  x00000012 }..enu
96f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 55 52  m : uint { SECUR
9700: 49 54 59 5f 4c 4f 43 41 4c 5f 53 45 52 56 49 43  ITY_LOCAL_SERVIC
9710: 45 5f 52 49 44 20 3d 20 30 78 30 30 30 30 30 30  E_RID = 0x000000
9720: 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
9730: 74 20 7b 20 53 45 43 55 52 49 54 59 5f 4e 45 54  t { SECURITY_NET
9740: 57 4f 52 4b 5f 53 45 52 56 49 43 45 5f 52 49 44  WORK_SERVICE_RID
9750: 20 3d 20 30 78 30 30 30 30 30 30 31 34 20 7d 0d   = 0x00000014 }.
9760: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
9770: 20 53 45 43 55 52 49 54 59 5f 4e 54 5f 4e 4f 4e   SECURITY_NT_NON
9780: 5f 55 4e 49 51 55 45 20 3d 20 30 78 30 30 30 30  _UNIQUE = 0x0000
9790: 30 30 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0015 }..enum : u
97a0: 69 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 4e  int { SECURITY_N
97b0: 54 5f 4e 4f 4e 5f 55 4e 49 51 55 45 5f 53 55 42  T_NON_UNIQUE_SUB
97c0: 5f 41 55 54 48 5f 43 4f 55 4e 54 20 3d 20 33 20  _AUTH_COUNT = 3 
97d0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
97e0: 20 7b 20 53 45 43 55 52 49 54 59 5f 42 55 49 4c   { SECURITY_BUIL
97f0: 54 49 4e 5f 44 4f 4d 41 49 4e 5f 52 49 44 20 3d  TIN_DOMAIN_RID =
9800: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 0d   0x00000020 }...
9810: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
9820: 4f 4d 41 49 4e 5f 55 53 45 52 5f 52 49 44 5f 41  OMAIN_USER_RID_A
9830: 44 4d 49 4e 20 3d 20 30 78 30 30 30 30 30 31 46  DMIN = 0x000001F
9840: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
9850: 20 7b 20 44 4f 4d 41 49 4e 5f 55 53 45 52 5f 52   { DOMAIN_USER_R
9860: 49 44 5f 47 55 45 53 54 20 3d 20 30 78 30 30 30  ID_GUEST = 0x000
9870: 30 30 31 46 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  001F5 }..enum : 
9880: 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 55 53  uint { DOMAIN_US
9890: 45 52 5f 52 49 44 5f 4b 52 42 54 47 54 20 3d 20  ER_RID_KRBTGT = 
98a0: 30 78 30 30 30 30 30 31 46 36 20 7d 0d 0a 0d 0a  0x000001F6 }....
98b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
98c0: 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f 41  MAIN_GROUP_RID_A
98d0: 44 4d 49 4e 53 20 3d 20 30 78 30 30 30 30 30 32  DMINS = 0x000002
98e0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
98f0: 74 20 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50  t { DOMAIN_GROUP
9900: 5f 52 49 44 5f 55 53 45 52 53 20 3d 20 30 78 30  _RID_USERS = 0x0
9910: 30 30 30 30 32 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000201 }..enum 
9920: 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f  : uint { DOMAIN_
9930: 47 52 4f 55 50 5f 52 49 44 5f 47 55 45 53 54 53  GROUP_RID_GUESTS
9940: 20 3d 20 30 78 30 30 30 30 30 32 30 32 20 7d 0d   = 0x00000202 }.
9950: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
9960: 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f  OMAIN_GROUP_RID_
9970: 43 4f 4d 50 55 54 45 52 53 20 3d 20 30 78 30 30  COMPUTERS = 0x00
9980: 30 30 30 32 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  000203 }..enum :
9990: 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 47   uint { DOMAIN_G
99a0: 52 4f 55 50 5f 52 49 44 5f 43 4f 4e 54 52 4f 4c  ROUP_RID_CONTROL
99b0: 4c 45 52 53 20 3d 20 30 78 30 30 30 30 30 32 30  LERS = 0x0000020
99c0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
99d0: 20 7b 20 44 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f   { DOMAIN_GROUP_
99e0: 52 49 44 5f 43 45 52 54 5f 41 44 4d 49 4e 53 20  RID_CERT_ADMINS 
99f0: 3d 20 30 78 30 30 30 30 30 32 30 35 20 7d 0d 0a  = 0x00000205 }..
9a00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
9a10: 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f 53  MAIN_GROUP_RID_S
9a20: 43 48 45 4d 41 5f 41 44 4d 49 4e 53 20 3d 20 30  CHEMA_ADMINS = 0
9a30: 78 30 30 30 30 30 32 30 36 20 7d 0d 0a 65 6e 75  x00000206 }..enu
9a40: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49  m : uint { DOMAI
9a50: 4e 5f 47 52 4f 55 50 5f 52 49 44 5f 45 4e 54 45  N_GROUP_RID_ENTE
9a60: 52 50 52 49 53 45 5f 41 44 4d 49 4e 53 20 3d 20  RPRISE_ADMINS = 
9a70: 30 78 30 30 30 30 30 32 30 37 20 7d 0d 0a 65 6e  0x00000207 }..en
9a80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41  um : uint { DOMA
9a90: 49 4e 5f 47 52 4f 55 50 5f 52 49 44 5f 50 4f 4c  IN_GROUP_RID_POL
9aa0: 49 43 59 5f 41 44 4d 49 4e 53 20 3d 20 30 78 30  ICY_ADMINS = 0x0
9ab0: 30 30 30 30 32 30 38 20 7d 0d 0a 0d 0a 65 6e 75  0000208 }....enu
9ac0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49  m : uint { DOMAI
9ad0: 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 41 44 4d 49  N_ALIAS_RID_ADMI
9ae0: 4e 53 20 3d 20 30 78 30 30 30 30 30 32 32 30 20  NS = 0x00000220 
9af0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9b00: 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49   DOMAIN_ALIAS_RI
9b10: 44 5f 55 53 45 52 53 20 3d 20 30 78 30 30 30 30  D_USERS = 0x0000
9b20: 30 32 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0221 }..enum : u
9b30: 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49  int { DOMAIN_ALI
9b40: 41 53 5f 52 49 44 5f 47 55 45 53 54 53 20 3d 20  AS_RID_GUESTS = 
9b50: 30 78 30 30 30 30 30 32 32 32 20 7d 0d 0a 65 6e  0x00000222 }..en
9b60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41  um : uint { DOMA
9b70: 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 50 4f 57  IN_ALIAS_RID_POW
9b80: 45 52 5f 55 53 45 52 53 20 3d 20 30 78 30 30 30  ER_USERS = 0x000
9b90: 30 30 32 32 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00223 }....enum 
9ba0: 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f  : uint { DOMAIN_
9bb0: 41 4c 49 41 53 5f 52 49 44 5f 41 43 43 4f 55 4e  ALIAS_RID_ACCOUN
9bc0: 54 5f 4f 50 53 20 3d 20 30 78 30 30 30 30 30 32  T_OPS = 0x000002
9bd0: 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  24 }..enum : uin
9be0: 74 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53  t { DOMAIN_ALIAS
9bf0: 5f 52 49 44 5f 53 59 53 54 45 4d 5f 4f 50 53 20  _RID_SYSTEM_OPS 
9c00: 3d 20 30 78 30 30 30 30 30 32 32 35 20 7d 0d 0a  = 0x00000225 }..
9c10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
9c20: 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 50  MAIN_ALIAS_RID_P
9c30: 52 49 4e 54 5f 4f 50 53 20 3d 20 30 78 30 30 30  RINT_OPS = 0x000
9c40: 30 30 32 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00226 }..enum : 
9c50: 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c  uint { DOMAIN_AL
9c60: 49 41 53 5f 52 49 44 5f 42 41 43 4b 55 50 5f 4f  IAS_RID_BACKUP_O
9c70: 50 53 20 3d 20 30 78 30 30 30 30 30 32 32 37 20  PS = 0x00000227 
9c80: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
9c90: 20 7b 20 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f   { DOMAIN_ALIAS_
9ca0: 52 49 44 5f 52 45 50 4c 49 43 41 54 4f 52 20 3d  RID_REPLICATOR =
9cb0: 20 30 78 30 30 30 30 30 32 32 38 20 7d 0d 0a 65   0x00000228 }..e
9cc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d  num : uint { DOM
9cd0: 41 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 52 41  AIN_ALIAS_RID_RA
9ce0: 53 5f 53 45 52 56 45 52 53 20 3d 20 30 78 30 30  S_SERVERS = 0x00
9cf0: 30 30 30 32 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a  000229 }..enum :
9d00: 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 41   uint { DOMAIN_A
9d10: 4c 49 41 53 5f 52 49 44 5f 50 52 45 57 32 4b 43  LIAS_RID_PREW2KC
9d20: 4f 4d 50 41 43 43 45 53 53 20 3d 20 30 78 30 30  OMPACCESS = 0x00
9d30: 30 30 30 32 32 41 20 7d 0d 0a 65 6e 75 6d 20 3a  00022A }..enum :
9d40: 20 75 69 6e 74 20 7b 20 44 4f 4d 41 49 4e 5f 41   uint { DOMAIN_A
9d50: 4c 49 41 53 5f 52 49 44 5f 52 45 4d 4f 54 45 5f  LIAS_RID_REMOTE_
9d60: 44 45 53 4b 54 4f 50 5f 55 53 45 52 53 20 3d 20  DESKTOP_USERS = 
9d70: 30 78 30 30 30 30 30 32 32 42 20 7d 0d 0a 65 6e  0x0000022B }..en
9d80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 4d 41  um : uint { DOMA
9d90: 49 4e 5f 41 4c 49 41 53 5f 52 49 44 5f 4e 45 54  IN_ALIAS_RID_NET
9da0: 57 4f 52 4b 5f 43 4f 4e 46 49 47 55 52 41 54 49  WORK_CONFIGURATI
9db0: 4f 4e 5f 4f 50 53 20 3d 20 30 78 30 30 30 30 30  ON_OPS = 0x00000
9dc0: 32 32 43 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 4c  22C }....const L
9dd0: 55 49 44 20 53 59 53 54 45 4d 5f 4c 55 49 44 20  UID SYSTEM_LUID 
9de0: 3d 20 7b 4c 6f 77 50 61 72 74 3a 20 30 78 33 65  = {LowPart: 0x3e
9df0: 37 2c 20 48 69 67 68 50 61 72 74 3a 20 30 78 30  7, HighPart: 0x0
9e00: 7d 3b 0d 0a 63 6f 6e 73 74 20 4c 55 49 44 20 41  };..const LUID A
9e10: 4e 4f 4e 59 4d 4f 55 53 5f 4c 4f 47 4f 4e 5f 4c  NONYMOUS_LOGON_L
9e20: 55 49 44 20 3d 20 7b 4c 6f 77 50 61 72 74 3a 20  UID = {LowPart: 
9e30: 30 78 33 65 36 2c 20 48 69 67 68 50 61 72 74 3a  0x3e6, HighPart:
9e40: 20 30 78 30 7d 3b 0d 0a 63 6f 6e 73 74 20 4c 55   0x0};..const LU
9e50: 49 44 20 4c 4f 43 41 4c 53 45 52 56 49 43 45 5f  ID LOCALSERVICE_
9e60: 4c 55 49 44 20 3d 20 7b 4c 6f 77 50 61 72 74 3a  LUID = {LowPart:
9e70: 20 30 78 33 65 35 2c 20 48 69 67 68 50 61 72 74   0x3e5, HighPart
9e80: 3a 20 30 78 30 7d 3b 0d 0a 63 6f 6e 73 74 20 4c  : 0x0};..const L
9e90: 55 49 44 20 4e 45 54 57 4f 52 4b 53 45 52 56 49  UID NETWORKSERVI
9ea0: 43 45 5f 4c 55 49 44 20 3d 20 7b 4c 6f 77 50 61  CE_LUID = {LowPa
9eb0: 72 74 3a 20 30 78 33 65 34 2c 20 48 69 67 68 50  rt: 0x3e4, HighP
9ec0: 61 72 74 3a 20 30 78 30 7d 3b 0d 0a 0d 0a 65 6e  art: 0x0};....en
9ed0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47  um : uint { SE_G
9ee0: 52 4f 55 50 5f 4d 41 4e 44 41 54 4f 52 59 20 3d  ROUP_MANDATORY =
9ef0: 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
9f00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f  num : uint { SE_
9f10: 47 52 4f 55 50 5f 45 4e 41 42 4c 45 44 5f 42 59  GROUP_ENABLED_BY
9f20: 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30  _DEFAULT = 0x000
9f30: 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
9f40: 75 69 6e 74 20 7b 20 53 45 5f 47 52 4f 55 50 5f  uint { SE_GROUP_
9f50: 45 4e 41 42 4c 45 44 20 3d 20 30 78 30 30 30 30  ENABLED = 0x0000
9f60: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
9f70: 69 6e 74 20 7b 20 53 45 5f 47 52 4f 55 50 5f 4f  int { SE_GROUP_O
9f80: 57 4e 45 52 20 3d 20 30 78 30 30 30 30 30 30 30  WNER = 0x0000000
9f90: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
9fa0: 20 7b 20 53 45 5f 47 52 4f 55 50 5f 55 53 45 5f   { SE_GROUP_USE_
9fb0: 46 4f 52 5f 44 45 4e 59 5f 4f 4e 4c 59 20 3d 20  FOR_DENY_ONLY = 
9fc0: 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
9fd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47  um : uint { SE_G
9fe0: 52 4f 55 50 5f 4c 4f 47 4f 4e 5f 49 44 20 3d 20  ROUP_LOGON_ID = 
9ff0: 30 78 43 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0xC0000000 }..en
a000: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 47  um : uint { SE_G
a010: 52 4f 55 50 5f 52 45 53 4f 55 52 43 45 20 3d 20  ROUP_RESOURCE = 
a020: 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x20000000 }....
a030: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
a040: 4c 5f 52 45 56 49 53 49 4f 4e 20 3d 20 32 20 7d  L_REVISION = 2 }
a050: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a060: 41 43 4c 5f 52 45 56 49 53 49 4f 4e 5f 44 53 20  ACL_REVISION_DS 
a070: 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  = 4 }....enum : 
a080: 75 69 6e 74 20 7b 20 41 43 4c 5f 52 45 56 49 53  uint { ACL_REVIS
a090: 49 4f 4e 31 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  ION1 = 1 }..enum
a0a0: 20 7b 20 4d 49 4e 5f 41 43 4c 5f 52 45 56 49 53   { MIN_ACL_REVIS
a0b0: 49 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  ION = 2 }..enum 
a0c0: 3a 20 75 69 6e 74 20 7b 20 41 43 4c 5f 52 45 56  : uint { ACL_REV
a0d0: 49 53 49 4f 4e 32 20 3d 20 32 20 7d 0d 0a 65 6e  ISION2 = 2 }..en
a0e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4c 5f  um : uint { ACL_
a0f0: 52 45 56 49 53 49 4f 4e 33 20 3d 20 33 20 7d 0d  REVISION3 = 3 }.
a100: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
a110: 43 4c 5f 52 45 56 49 53 49 4f 4e 34 20 3d 20 34  CL_REVISION4 = 4
a120: 20 7d 0d 0a 61 6c 69 61 73 20 41 43 4c 5f 52 45   }..alias ACL_RE
a130: 56 49 53 49 4f 4e 34 20 4d 41 58 5f 41 43 4c 5f  VISION4 MAX_ACL_
a140: 52 45 56 49 53 49 4f 4e 3b 0d 0a 0d 0a 73 74 72  REVISION;....str
a150: 75 63 74 20 5f 41 43 4c 20 7b 0d 0a 20 20 42 59  uct _ACL {..  BY
a160: 54 45 20 41 63 6c 52 65 76 69 73 69 6f 6e 3b 0d  TE AclRevision;.
a170: 0a 20 20 42 59 54 45 20 53 62 7a 31 3b 0d 0a 20  .  BYTE Sbz1;.. 
a180: 20 57 4f 52 44 20 41 63 6c 53 69 7a 65 3b 0d 0a   WORD AclSize;..
a190: 20 20 57 4f 52 44 20 41 63 65 43 6f 75 6e 74 3b    WORD AceCount;
a1a0: 0d 0a 20 20 57 4f 52 44 20 53 62 7a 32 3b 0d 0a  ..  WORD Sbz2;..
a1b0: 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 4c 20 41 43  }..alias _ACL AC
a1c0: 4c 3b 0d 0a 0d 0a 61 6c 69 61 73 20 41 43 4c 2a  L;....alias ACL*
a1d0: 20 50 41 43 4c 3b 0d 0a 0d 0a 73 74 72 75 63 74   PACL;....struct
a1e0: 20 5f 41 43 45 5f 48 45 41 44 45 52 20 7b 0d 0a   _ACE_HEADER {..
a1f0: 20 20 42 59 54 45 20 41 63 65 54 79 70 65 3b 0d    BYTE AceType;.
a200: 0a 20 20 42 59 54 45 20 41 63 65 46 6c 61 67 73  .  BYTE AceFlags
a210: 3b 0d 0a 20 20 57 4f 52 44 20 41 63 65 53 69 7a  ;..  WORD AceSiz
a220: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  e;..}..alias _AC
a230: 45 5f 48 45 41 44 45 52 20 41 43 45 5f 48 45 41  E_HEADER ACE_HEA
a240: 44 45 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 41 43  DER;....alias AC
a250: 45 5f 48 45 41 44 45 52 2a 20 50 41 43 45 5f 48  E_HEADER* PACE_H
a260: 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  EADER;....enum :
a270: 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 4d   uint { ACCESS_M
a280: 49 4e 5f 4d 53 5f 41 43 45 5f 54 59 50 45 20 3d  IN_MS_ACE_TYPE =
a290: 20 30 78 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0x0 }..enum : u
a2a0: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 41 4c 4c  int { ACCESS_ALL
a2b0: 4f 57 45 44 5f 41 43 45 5f 54 59 50 45 20 3d 20  OWED_ACE_TYPE = 
a2c0: 30 78 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0x0 }..enum : ui
a2d0: 6e 74 20 7b 20 41 43 43 45 53 53 5f 44 45 4e 49  nt { ACCESS_DENI
a2e0: 45 44 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  ED_ACE_TYPE = 0x
a2f0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
a300: 20 7b 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f   { SYSTEM_AUDIT_
a310: 41 43 45 5f 54 59 50 45 20 3d 20 30 78 32 20 7d  ACE_TYPE = 0x2 }
a320: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a330: 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 41 43 45  SYSTEM_ALARM_ACE
a340: 5f 54 59 50 45 20 3d 20 30 78 33 20 7d 0d 0a 65  _TYPE = 0x3 }..e
a350: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43  num : uint { ACC
a360: 45 53 53 5f 4d 41 58 5f 4d 53 5f 56 32 5f 41 43  ESS_MAX_MS_V2_AC
a370: 45 5f 54 59 50 45 20 3d 20 30 78 33 20 7d 0d 0a  E_TYPE = 0x3 }..
a380: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a390: 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43  ACCESS_ALLOWED_C
a3a0: 4f 4d 50 4f 55 4e 44 5f 41 43 45 5f 54 59 50 45  OMPOUND_ACE_TYPE
a3b0: 20 3d 20 30 78 34 20 7d 0d 0a 65 6e 75 6d 20 3a   = 0x4 }..enum :
a3c0: 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 4d   uint { ACCESS_M
a3d0: 41 58 5f 4d 53 5f 56 33 5f 41 43 45 5f 54 59 50  AX_MS_V3_ACE_TYP
a3e0: 45 20 3d 20 30 78 34 20 7d 0d 0a 0d 0a 65 6e 75  E = 0x4 }....enu
a3f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53  m : uint { ACCES
a400: 53 5f 4d 49 4e 5f 4d 53 5f 4f 42 4a 45 43 54 5f  S_MIN_MS_OBJECT_
a410: 41 43 45 5f 54 59 50 45 20 3d 20 30 78 35 20 7d  ACE_TYPE = 0x5 }
a420: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a430: 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 4f  ACCESS_ALLOWED_O
a440: 42 4a 45 43 54 5f 41 43 45 5f 54 59 50 45 20 3d  BJECT_ACE_TYPE =
a450: 20 30 78 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0x5 }..enum : u
a460: 69 6e 74 20 7b 20 41 43 43 45 53 53 5f 44 45 4e  int { ACCESS_DEN
a470: 49 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 5f 54  IED_OBJECT_ACE_T
a480: 59 50 45 20 3d 20 30 78 36 20 7d 0d 0a 65 6e 75  YPE = 0x6 }..enu
a490: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 59 53 54 45  m : uint { SYSTE
a4a0: 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f 41  M_AUDIT_OBJECT_A
a4b0: 43 45 5f 54 59 50 45 20 3d 20 30 78 37 20 7d 0d  CE_TYPE = 0x7 }.
a4c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
a4d0: 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45  YSTEM_ALARM_OBJE
a4e0: 43 54 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  CT_ACE_TYPE = 0x
a4f0: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
a500: 20 7b 20 41 43 43 45 53 53 5f 4d 41 58 5f 4d 53   { ACCESS_MAX_MS
a510: 5f 4f 42 4a 45 43 54 5f 41 43 45 5f 54 59 50 45  _OBJECT_ACE_TYPE
a520: 20 3d 20 30 78 38 20 7d 0d 0a 0d 0a 65 6e 75 6d   = 0x8 }....enum
a530: 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53   : uint { ACCESS
a540: 5f 4d 41 58 5f 4d 53 5f 56 34 5f 41 43 45 5f 54  _MAX_MS_V4_ACE_T
a550: 59 50 45 20 3d 20 30 78 38 20 7d 0d 0a 65 6e 75  YPE = 0x8 }..enu
a560: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53  m : uint { ACCES
a570: 53 5f 4d 41 58 5f 4d 53 5f 41 43 45 5f 54 59 50  S_MAX_MS_ACE_TYP
a580: 45 20 3d 20 30 78 38 20 7d 0d 0a 0d 0a 65 6e 75  E = 0x8 }....enu
a590: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53  m : uint { ACCES
a5a0: 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42 41  S_ALLOWED_CALLBA
a5b0: 43 4b 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  CK_ACE_TYPE = 0x
a5c0: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
a5d0: 20 7b 20 41 43 43 45 53 53 5f 44 45 4e 49 45 44   { ACCESS_DENIED
a5e0: 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 5f 54 59  _CALLBACK_ACE_TY
a5f0: 50 45 20 3d 20 30 78 41 20 7d 0d 0a 65 6e 75 6d  PE = 0xA }..enum
a600: 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53   : uint { ACCESS
a610: 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42 41 43  _ALLOWED_CALLBAC
a620: 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 5f 54 59 50  K_OBJECT_ACE_TYP
a630: 45 20 3d 20 30 78 42 20 7d 0d 0a 65 6e 75 6d 20  E = 0xB }..enum 
a640: 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f  : uint { ACCESS_
a650: 44 45 4e 49 45 44 5f 43 41 4c 4c 42 41 43 4b 5f  DENIED_CALLBACK_
a660: 4f 42 4a 45 43 54 5f 41 43 45 5f 54 59 50 45 20  OBJECT_ACE_TYPE 
a670: 3d 20 30 78 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 0xC }..enum : 
a680: 75 69 6e 74 20 7b 20 53 59 53 54 45 4d 5f 41 55  uint { SYSTEM_AU
a690: 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45  DIT_CALLBACK_ACE
a6a0: 5f 54 59 50 45 20 3d 20 30 78 44 20 7d 0d 0a 65  _TYPE = 0xD }..e
a6b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 59 53  num : uint { SYS
a6c0: 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42 41  TEM_ALARM_CALLBA
a6d0: 43 4b 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78  CK_ACE_TYPE = 0x
a6e0: 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E }..enum : uint
a6f0: 20 7b 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f   { SYSTEM_AUDIT_
a700: 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f  CALLBACK_OBJECT_
a710: 41 43 45 5f 54 59 50 45 20 3d 20 30 78 46 20 7d  ACE_TYPE = 0xF }
a720: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a730: 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c  SYSTEM_ALARM_CAL
a740: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
a750: 5f 54 59 50 45 20 3d 20 30 78 31 30 20 7d 0d 0a  _TYPE = 0x10 }..
a760: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a770: 41 43 43 45 53 53 5f 4d 41 58 5f 4d 53 5f 56 35  ACCESS_MAX_MS_V5
a780: 5f 41 43 45 5f 54 59 50 45 20 3d 20 30 78 31 30  _ACE_TYPE = 0x10
a790: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
a7a0: 74 20 7b 20 4f 42 4a 45 43 54 5f 49 4e 48 45 52  t { OBJECT_INHER
a7b0: 49 54 5f 41 43 45 20 3d 20 30 78 31 20 7d 0d 0a  IT_ACE = 0x1 }..
a7c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
a7d0: 4e 54 41 49 4e 45 52 5f 49 4e 48 45 52 49 54 5f  NTAINER_INHERIT_
a7e0: 41 43 45 20 3d 20 30 78 32 20 7d 0d 0a 65 6e 75  ACE = 0x2 }..enu
a7f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4f 5f 50 52  m : uint { NO_PR
a800: 4f 50 41 47 41 54 45 5f 49 4e 48 45 52 49 54 5f  OPAGATE_INHERIT_
a810: 41 43 45 20 3d 20 30 78 34 20 7d 0d 0a 65 6e 75  ACE = 0x4 }..enu
a820: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 48 45 52  m : uint { INHER
a830: 49 54 5f 4f 4e 4c 59 5f 41 43 45 20 3d 20 30 78  IT_ONLY_ACE = 0x
a840: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
a850: 20 7b 20 49 4e 48 45 52 49 54 45 44 5f 41 43 45   { INHERITED_ACE
a860: 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x10 }..enum 
a870: 3a 20 75 69 6e 74 20 7b 20 56 41 4c 49 44 5f 49  : uint { VALID_I
a880: 4e 48 45 52 49 54 5f 46 4c 41 47 53 20 3d 20 30  NHERIT_FLAGS = 0
a890: 78 31 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  x1F }....enum : 
a8a0: 75 69 6e 74 20 7b 20 53 55 43 43 45 53 53 46 55  uint { SUCCESSFU
a8b0: 4c 5f 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41  L_ACCESS_ACE_FLA
a8c0: 47 20 3d 20 30 78 34 30 20 7d 0d 0a 65 6e 75 6d  G = 0x40 }..enum
a8d0: 20 3a 20 75 69 6e 74 20 7b 20 46 41 49 4c 45 44   : uint { FAILED
a8e0: 5f 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41 47  _ACCESS_ACE_FLAG
a8f0: 20 3d 20 30 78 38 30 20 7d 0d 0a 0d 0a 73 74 72   = 0x80 }....str
a900: 75 63 74 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f  uct _ACCESS_ALLO
a910: 57 45 44 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45  WED_ACE {..  ACE
a920: 5f 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d  _HEADER Header;.
a930: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d  .  ACCESS_MASK M
a940: 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  ask;..  DWORD Si
a950: 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  dStart;..}..alia
a960: 73 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45  s _ACCESS_ALLOWE
a970: 44 5f 41 43 45 20 41 43 43 45 53 53 5f 41 4c 4c  D_ACE ACCESS_ALL
a980: 4f 57 45 44 5f 41 43 45 3b 0d 0a 0d 0a 61 6c 69  OWED_ACE;....ali
a990: 61 73 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45  as ACCESS_ALLOWE
a9a0: 44 5f 41 43 45 2a 20 50 41 43 43 45 53 53 5f 41  D_ACE* PACCESS_A
a9b0: 4c 4c 4f 57 45 44 5f 41 43 45 3b 0d 0a 0d 0a 73  LLOWED_ACE;....s
a9c0: 74 72 75 63 74 20 5f 41 43 43 45 53 53 5f 44 45  truct _ACCESS_DE
a9d0: 4e 49 45 44 5f 41 43 45 20 7b 0d 0a 20 20 41 43  NIED_ACE {..  AC
a9e0: 45 5f 48 45 41 44 45 52 20 48 65 61 64 65 72 3b  E_HEADER Header;
a9f0: 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20  ..  ACCESS_MASK 
aa00: 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 53  Mask;..  DWORD S
aa10: 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  idStart;..}..ali
aa20: 61 73 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45  as _ACCESS_DENIE
aa30: 44 5f 41 43 45 20 41 43 43 45 53 53 5f 44 45 4e  D_ACE ACCESS_DEN
aa40: 49 45 44 5f 41 43 45 3b 0d 0a 0d 0a 61 6c 69 61  IED_ACE;....alia
aa50: 73 20 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f  s ACCESS_DENIED_
aa60: 41 43 45 2a 20 50 41 43 43 45 53 53 5f 44 45 4e  ACE* PACCESS_DEN
aa70: 49 45 44 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75  IED_ACE;....stru
aa80: 63 74 20 5f 53 59 53 54 45 4d 5f 41 55 44 49 54  ct _SYSTEM_AUDIT
aa90: 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45  _ACE {..  ACE_HE
aaa0: 41 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20 20  ADER Header;..  
aab0: 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b  ACCESS_MASK Mask
aac0: 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74  ;..  DWORD SidSt
aad0: 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  art;..}..alias _
aae0: 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 43 45  SYSTEM_AUDIT_ACE
aaf0: 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 43   SYSTEM_AUDIT_AC
ab00: 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 53 59 53 54  E;....alias SYST
ab10: 45 4d 5f 41 55 44 49 54 5f 41 43 45 2a 20 50 53  EM_AUDIT_ACE* PS
ab20: 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 43 45 3b  YSTEM_AUDIT_ACE;
ab30: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54  ....struct _SYST
ab40: 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 20 7b 0d 0a  EM_ALARM_ACE {..
ab50: 20 20 41 43 45 5f 48 45 41 44 45 52 20 48 65 61    ACE_HEADER Hea
ab60: 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d  der;..  ACCESS_M
ab70: 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f  ASK Mask;..  DWO
ab80: 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d  RD SidStart;..}.
ab90: 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41  .alias _SYSTEM_A
aba0: 4c 41 52 4d 5f 41 43 45 20 53 59 53 54 45 4d 5f  LARM_ACE SYSTEM_
abb0: 41 4c 41 52 4d 5f 41 43 45 3b 0d 0a 0d 0a 61 6c  ALARM_ACE;....al
abc0: 69 61 73 20 53 59 53 54 45 4d 5f 41 4c 41 52 4d  ias SYSTEM_ALARM
abd0: 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 4c  _ACE* PSYSTEM_AL
abe0: 41 52 4d 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75  ARM_ACE;....stru
abf0: 63 74 20 5f 41 43 43 45 53 53 5f 41 4c 4c 4f 57  ct _ACCESS_ALLOW
ac00: 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0d  ED_OBJECT_ACE {.
ac10: 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20 48 65  .  ACE_HEADER He
ac20: 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f  ader;..  ACCESS_
ac30: 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57  MASK Mask;..  DW
ac40: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 47 55  ORD Flags;..  GU
ac50: 49 44 20 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a  ID ObjectType;..
ac60: 20 20 47 55 49 44 20 49 6e 68 65 72 69 74 65 64    GUID Inherited
ac70: 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20 44  ObjectType;..  D
ac80: 57 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a  WORD SidStart;..
ac90: 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53  }..alias _ACCESS
aca0: 5f 41 4c 4c 4f 57 45 44 5f 4f 42 4a 45 43 54 5f  _ALLOWED_OBJECT_
acb0: 41 43 45 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57  ACE ACCESS_ALLOW
acc0: 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a  ED_OBJECT_ACE;..
acd0: 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f 41 4c  alias _ACCESS_AL
ace0: 4c 4f 57 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45  LOWED_OBJECT_ACE
acf0: 2a 20 50 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45  * PACCESS_ALLOWE
ad00: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 0d  D_OBJECT_ACE;...
ad10: 0a 73 74 72 75 63 74 20 5f 41 43 43 45 53 53 5f  .struct _ACCESS_
ad20: 44 45 4e 49 45 44 5f 4f 42 4a 45 43 54 5f 41 43  DENIED_OBJECT_AC
ad30: 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45  E {..  ACE_HEADE
ad40: 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43  R Header;..  ACC
ad50: 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a  ESS_MASK Mask;..
ad60: 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a    DWORD Flags;..
ad70: 20 20 47 55 49 44 20 4f 62 6a 65 63 74 54 79 70    GUID ObjectTyp
ad80: 65 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68 65 72  e;..  GUID Inher
ad90: 69 74 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0d  itedObjectType;.
ada0: 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72  .  DWORD SidStar
adb0: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  t;..}..alias _AC
adc0: 43 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a 45  CESS_DENIED_OBJE
add0: 43 54 5f 41 43 45 20 41 43 43 45 53 53 5f 44 45  CT_ACE ACCESS_DE
ade0: 4e 49 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 3b  NIED_OBJECT_ACE;
adf0: 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f  ..alias _ACCESS_
ae00: 44 45 4e 49 45 44 5f 4f 42 4a 45 43 54 5f 41 43  DENIED_OBJECT_AC
ae10: 45 2a 20 50 41 43 43 45 53 53 5f 44 45 4e 49 45  E* PACCESS_DENIE
ae20: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 0d  D_OBJECT_ACE;...
ae30: 0a 73 74 72 75 63 74 20 5f 53 59 53 54 45 4d 5f  .struct _SYSTEM_
ae40: 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f 41 43 45  AUDIT_OBJECT_ACE
ae50: 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45 52   {..  ACE_HEADER
ae60: 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43 45   Header;..  ACCE
ae70: 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20  SS_MASK Mask;.. 
ae80: 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20   DWORD Flags;.. 
ae90: 20 47 55 49 44 20 4f 62 6a 65 63 74 54 79 70 65   GUID ObjectType
aea0: 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68 65 72 69  ;..  GUID Inheri
aeb0: 74 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a  tedObjectType;..
aec0: 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72 74    DWORD SidStart
aed0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53  ;..}..alias _SYS
aee0: 54 45 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54  TEM_AUDIT_OBJECT
aef0: 5f 41 43 45 20 53 59 53 54 45 4d 5f 41 55 44 49  _ACE SYSTEM_AUDI
af00: 54 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 61  T_OBJECT_ACE;..a
af10: 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41 55 44  lias _SYSTEM_AUD
af20: 49 54 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50  IT_OBJECT_ACE* P
af30: 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f 42 4a  SYSTEM_AUDIT_OBJ
af40: 45 43 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72 75  ECT_ACE;....stru
af50: 63 74 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d  ct _SYSTEM_ALARM
af60: 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0d 0a 20  _OBJECT_ACE {.. 
af70: 20 41 43 45 5f 48 45 41 44 45 52 20 48 65 61 64   ACE_HEADER Head
af80: 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41  er;..  ACCESS_MA
af90: 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52  SK Mask;..  DWOR
afa0: 44 20 46 6c 61 67 73 3b 0d 0a 20 20 47 55 49 44  D Flags;..  GUID
afb0: 20 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20   ObjectType;..  
afc0: 47 55 49 44 20 49 6e 68 65 72 69 74 65 64 4f 62  GUID InheritedOb
afd0: 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20 44 57 4f  jectType;..  DWO
afe0: 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d  RD SidStart;..}.
aff0: 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41  .alias _SYSTEM_A
b000: 4c 41 52 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 20  LARM_OBJECT_ACE 
b010: 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a  SYSTEM_ALARM_OBJ
b020: 45 43 54 5f 41 43 45 3b 0d 0a 61 6c 69 61 73 20  ECT_ACE;..alias 
b030: 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42  _SYSTEM_ALARM_OB
b040: 4a 45 43 54 5f 41 43 45 2a 20 50 53 59 53 54 45  JECT_ACE* PSYSTE
b050: 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54 5f 41  M_ALARM_OBJECT_A
b060: 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41  CE;....struct _A
b070: 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41  CCESS_ALLOWED_CA
b080: 4c 4c 42 41 43 4b 5f 41 43 45 20 7b 0d 0a 20 20  LLBACK_ACE {..  
b090: 41 43 45 5f 48 45 41 44 45 52 20 48 65 61 64 65  ACE_HEADER Heade
b0a0: 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41 53  r;..  ACCESS_MAS
b0b0: 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44  K Mask;..  DWORD
b0c0: 20 53 69 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61   SidStart;..}..a
b0d0: 6c 69 61 73 20 5f 41 43 43 45 53 53 5f 41 4c 4c  lias _ACCESS_ALL
b0e0: 4f 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41 43  OWED_CALLBACK_AC
b0f0: 45 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44  E ACCESS_ALLOWED
b100: 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 3b 0d 0a  _CALLBACK_ACE;..
b110: 61 6c 69 61 73 20 5f 41 43 43 45 53 53 5f 41 4c  alias _ACCESS_AL
b120: 4c 4f 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41  LOWED_CALLBACK_A
b130: 43 45 2a 20 50 41 43 43 45 53 53 5f 41 4c 4c 4f  CE* PACCESS_ALLO
b140: 57 45 44 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45  WED_CALLBACK_ACE
b150: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43 43  ;....struct _ACC
b160: 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c 4c 42  ESS_DENIED_CALLB
b170: 41 43 4b 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45  ACK_ACE {..  ACE
b180: 5f 48 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d  _HEADER Header;.
b190: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d  .  ACCESS_MASK M
b1a0: 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69  ask;..  DWORD Si
b1b0: 64 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  dStart;..}..alia
b1c0: 73 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45 44  s _ACCESS_DENIED
b1d0: 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 20 41 43  _CALLBACK_ACE AC
b1e0: 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c 4c  CESS_DENIED_CALL
b1f0: 42 41 43 4b 5f 41 43 45 3b 0d 0a 61 6c 69 61 73  BACK_ACE;..alias
b200: 20 5f 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f   _ACCESS_DENIED_
b210: 43 41 4c 4c 42 41 43 4b 5f 41 43 45 2a 20 50 41  CALLBACK_ACE* PA
b220: 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c  CCESS_DENIED_CAL
b230: 4c 42 41 43 4b 5f 41 43 45 3b 0d 0a 0d 0a 73 74  LBACK_ACE;....st
b240: 72 75 63 74 20 5f 53 59 53 54 45 4d 5f 41 55 44  ruct _SYSTEM_AUD
b250: 49 54 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 20  IT_CALLBACK_ACE 
b260: 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20  {..  ACE_HEADER 
b270: 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53  Header;..  ACCES
b280: 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20  S_MASK Mask;..  
b290: 44 57 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d  DWORD SidStart;.
b2a0: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45  .}..alias _SYSTE
b2b0: 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b  M_AUDIT_CALLBACK
b2c0: 5f 41 43 45 20 53 59 53 54 45 4d 5f 41 55 44 49  _ACE SYSTEM_AUDI
b2d0: 54 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 3b 0d  T_CALLBACK_ACE;.
b2e0: 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f 41  .alias _SYSTEM_A
b2f0: 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f 41 43  UDIT_CALLBACK_AC
b300: 45 2a 20 50 53 59 53 54 45 4d 5f 41 55 44 49 54  E* PSYSTEM_AUDIT
b310: 5f 43 41 4c 4c 42 41 43 4b 5f 41 43 45 3b 0d 0a  _CALLBACK_ACE;..
b320: 0d 0a 73 74 72 75 63 74 20 5f 53 59 53 54 45 4d  ..struct _SYSTEM
b330: 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f  _ALARM_CALLBACK_
b340: 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41  ACE {..  ACE_HEA
b350: 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41  DER Header;..  A
b360: 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b  CCESS_MASK Mask;
b370: 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74 61  ..  DWORD SidSta
b380: 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53  rt;..}..alias _S
b390: 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c  YSTEM_ALARM_CALL
b3a0: 42 41 43 4b 5f 41 43 45 20 53 59 53 54 45 4d 5f  BACK_ACE SYSTEM_
b3b0: 41 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 41  ALARM_CALLBACK_A
b3c0: 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54  CE;..alias _SYST
b3d0: 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42 41 43  EM_ALARM_CALLBAC
b3e0: 4b 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41  K_ACE* PSYSTEM_A
b3f0: 4c 41 52 4d 5f 43 41 4c 4c 42 41 43 4b 5f 41 43  LARM_CALLBACK_AC
b400: 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43  E;....struct _AC
b410: 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c  CESS_ALLOWED_CAL
b420: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
b430: 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45 52   {..  ACE_HEADER
b440: 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43 45   Header;..  ACCE
b450: 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20  SS_MASK Mask;.. 
b460: 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20   DWORD Flags;.. 
b470: 20 47 55 49 44 20 4f 62 6a 65 63 74 54 79 70 65   GUID ObjectType
b480: 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68 65 72 69  ;..  GUID Inheri
b490: 74 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a  tedObjectType;..
b4a0: 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72 74    DWORD SidStart
b4b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 43  ;..}..alias _ACC
b4c0: 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c  ESS_ALLOWED_CALL
b4d0: 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 20  BACK_OBJECT_ACE 
b4e0: 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 43  ACCESS_ALLOWED_C
b4f0: 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41  ALLBACK_OBJECT_A
b500: 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45  CE;..alias _ACCE
b510: 53 53 5f 41 4c 4c 4f 57 45 44 5f 43 41 4c 4c 42  SS_ALLOWED_CALLB
b520: 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20  ACK_OBJECT_ACE* 
b530: 50 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f  PACCESS_ALLOWED_
b540: 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f  CALLBACK_OBJECT_
b550: 41 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ACE;....struct _
b560: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41  ACCESS_DENIED_CA
b570: 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43  LLBACK_OBJECT_AC
b580: 45 20 7b 0d 0a 20 20 41 43 45 5f 48 45 41 44 45  E {..  ACE_HEADE
b590: 52 20 48 65 61 64 65 72 3b 0d 0a 20 20 41 43 43  R Header;..  ACC
b5a0: 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a  ESS_MASK Mask;..
b5b0: 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a    DWORD Flags;..
b5c0: 20 20 47 55 49 44 20 4f 62 6a 65 63 74 54 79 70    GUID ObjectTyp
b5d0: 65 3b 0d 0a 20 20 47 55 49 44 20 49 6e 68 65 72  e;..  GUID Inher
b5e0: 69 74 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0d  itedObjectType;.
b5f0: 0a 20 20 44 57 4f 52 44 20 53 69 64 53 74 61 72  .  DWORD SidStar
b600: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  t;..}..alias _AC
b610: 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c 4c  CESS_DENIED_CALL
b620: 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 20  BACK_OBJECT_ACE 
b630: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41  ACCESS_DENIED_CA
b640: 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43  LLBACK_OBJECT_AC
b650: 45 3b 0d 0a 61 6c 69 61 73 20 5f 41 43 43 45 53  E;..alias _ACCES
b660: 53 5f 44 45 4e 49 45 44 5f 43 41 4c 4c 42 41 43  S_DENIED_CALLBAC
b670: 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50 41  K_OBJECT_ACE* PA
b680: 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 43 41 4c  CCESS_DENIED_CAL
b690: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
b6a0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59 53  ;....struct _SYS
b6b0: 54 45 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41  TEM_AUDIT_CALLBA
b6c0: 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0d  CK_OBJECT_ACE {.
b6d0: 0a 20 20 41 43 45 5f 48 45 41 44 45 52 20 48 65  .  ACE_HEADER He
b6e0: 61 64 65 72 3b 0d 0a 20 20 41 43 43 45 53 53 5f  ader;..  ACCESS_
b6f0: 4d 41 53 4b 20 4d 61 73 6b 3b 0d 0a 20 20 44 57  MASK Mask;..  DW
b700: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 47 55  ORD Flags;..  GU
b710: 49 44 20 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a  ID ObjectType;..
b720: 20 20 47 55 49 44 20 49 6e 68 65 72 69 74 65 64    GUID Inherited
b730: 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a 20 20 44  ObjectType;..  D
b740: 57 4f 52 44 20 53 69 64 53 74 61 72 74 3b 0d 0a  WORD SidStart;..
b750: 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d  }..alias _SYSTEM
b760: 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f  _AUDIT_CALLBACK_
b770: 4f 42 4a 45 43 54 5f 41 43 45 20 53 59 53 54 45  OBJECT_ACE SYSTE
b780: 4d 5f 41 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b  M_AUDIT_CALLBACK
b790: 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0d 0a 61 6c  _OBJECT_ACE;..al
b7a0: 69 61 73 20 5f 53 59 53 54 45 4d 5f 41 55 44 49  ias _SYSTEM_AUDI
b7b0: 54 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43  T_CALLBACK_OBJEC
b7c0: 54 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41  T_ACE* PSYSTEM_A
b7d0: 55 44 49 54 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42  UDIT_CALLBACK_OB
b7e0: 4a 45 43 54 5f 41 43 45 3b 0d 0a 0d 0a 73 74 72  JECT_ACE;....str
b7f0: 75 63 74 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52  uct _SYSTEM_ALAR
b800: 4d 5f 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43  M_CALLBACK_OBJEC
b810: 54 5f 41 43 45 20 7b 0d 0a 20 20 41 43 45 5f 48  T_ACE {..  ACE_H
b820: 45 41 44 45 52 20 48 65 61 64 65 72 3b 0d 0a 20  EADER Header;.. 
b830: 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73   ACCESS_MASK Mas
b840: 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67  k;..  DWORD Flag
b850: 73 3b 0d 0a 20 20 47 55 49 44 20 4f 62 6a 65 63  s;..  GUID Objec
b860: 74 54 79 70 65 3b 0d 0a 20 20 47 55 49 44 20 49  tType;..  GUID I
b870: 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74 54 79  nheritedObjectTy
b880: 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64  pe;..  DWORD Sid
b890: 53 74 61 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Start;..}..alias
b8a0: 20 5f 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43   _SYSTEM_ALARM_C
b8b0: 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41  ALLBACK_OBJECT_A
b8c0: 43 45 20 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f  CE SYSTEM_ALARM_
b8d0: 43 41 4c 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f  CALLBACK_OBJECT_
b8e0: 41 43 45 3b 0d 0a 61 6c 69 61 73 20 5f 53 59 53  ACE;..alias _SYS
b8f0: 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c 4c 42 41  TEM_ALARM_CALLBA
b900: 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50  CK_OBJECT_ACE* P
b910: 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 43 41 4c  SYSTEM_ALARM_CAL
b920: 4c 42 41 43 4b 5f 4f 42 4a 45 43 54 5f 41 43 45  LBACK_OBJECT_ACE
b930: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
b940: 20 7b 20 41 43 45 5f 4f 42 4a 45 43 54 5f 54 59   { ACE_OBJECT_TY
b950: 50 45 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 31  PE_PRESENT = 0x1
b960: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b970: 7b 20 41 43 45 5f 49 4e 48 45 52 49 54 45 44 5f  { ACE_INHERITED_
b980: 4f 42 4a 45 43 54 5f 54 59 50 45 5f 50 52 45 53  OBJECT_TYPE_PRES
b990: 45 4e 54 20 3d 20 30 78 32 20 7d 0d 0a 0d 0a 61  ENT = 0x2 }....a
b9a0: 6c 69 61 73 20 69 6e 74 20 5f 41 43 4c 5f 49 4e  lias int _ACL_IN
b9b0: 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 3b  FORMATION_CLASS;
b9c0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 41 63 6c 52  ..enum {..  AclR
b9d0: 65 76 69 73 69 6f 6e 49 6e 66 6f 72 6d 61 74 69  evisionInformati
b9e0: 6f 6e 20 3d 20 31 2c 0d 0a 20 20 41 63 6c 53 69  on = 1,..  AclSi
b9f0: 7a 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a  zeInformation,..
ba00: 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 4c 5f 49 4e  }..alias _ACL_IN
ba10: 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20  FORMATION_CLASS 
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 3b 0d 0a 0d 0a 73 74 72 75 63 74  CLASS;....struct
ba40: 20 5f 41 43 4c 5f 52 45 56 49 53 49 4f 4e 5f 49   _ACL_REVISION_I
ba50: 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20  NFORMATION {..  
ba60: 44 57 4f 52 44 20 41 63 6c 52 65 76 69 73 69 6f  DWORD AclRevisio
ba70: 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  n;..}..alias _AC
ba80: 4c 5f 52 45 56 49 53 49 4f 4e 5f 49 4e 46 4f 52  L_REVISION_INFOR
ba90: 4d 41 54 49 4f 4e 20 41 43 4c 5f 52 45 56 49 53  MATION ACL_REVIS
baa0: 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  ION_INFORMATION;
bab0: 0d 0a 0d 0a 61 6c 69 61 73 20 41 43 4c 5f 52 45  ....alias ACL_RE
bac0: 56 49 53 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49  VISION_INFORMATI
bad0: 4f 4e 2a 20 50 41 43 4c 5f 52 45 56 49 53 49 4f  ON* PACL_REVISIO
bae0: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  N_INFORMATION;..
baf0: 0d 0a 73 74 72 75 63 74 20 5f 41 43 4c 5f 53 49  ..struct _ACL_SI
bb00: 5a 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b  ZE_INFORMATION {
bb10: 0d 0a 20 20 44 57 4f 52 44 20 41 63 65 43 6f 75  ..  DWORD AceCou
bb20: 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 41 63 6c  nt;..  DWORD Acl
bb30: 42 79 74 65 73 49 6e 55 73 65 3b 0d 0a 20 20 44  BytesInUse;..  D
bb40: 57 4f 52 44 20 41 63 6c 42 79 74 65 73 46 72 65  WORD AclBytesFre
bb50: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  e;..}..alias _AC
bb60: 4c 5f 53 49 5a 45 5f 49 4e 46 4f 52 4d 41 54 49  L_SIZE_INFORMATI
bb70: 4f 4e 20 41 43 4c 5f 53 49 5a 45 5f 49 4e 46 4f  ON ACL_SIZE_INFO
bb80: 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61  RMATION;....alia
bb90: 73 20 41 43 4c 5f 53 49 5a 45 5f 49 4e 46 4f 52  s ACL_SIZE_INFOR
bba0: 4d 41 54 49 4f 4e 2a 20 50 41 43 4c 5f 53 49 5a  MATION* PACL_SIZ
bbb0: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  E_INFORMATION;..
bbc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bbd0: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
bbe0: 54 4f 52 5f 52 45 56 49 53 49 4f 4e 20 3d 20 31  TOR_REVISION = 1
bbf0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bc00: 7b 20 53 45 43 55 52 49 54 59 5f 44 45 53 43 52  { SECURITY_DESCR
bc10: 49 50 54 4f 52 5f 52 45 56 49 53 49 4f 4e 31 20  IPTOR_REVISION1 
bc20: 3d 20 31 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 75  = 1 }....const u
bc30: 69 6e 74 20 53 45 43 55 52 49 54 59 5f 44 45 53  int SECURITY_DES
bc40: 43 52 49 50 54 4f 52 5f 4d 49 4e 5f 4c 45 4e 47  CRIPTOR_MIN_LENG
bc50: 54 48 20 3d 20 53 45 43 55 52 49 54 59 5f 44 45  TH = SECURITY_DE
bc60: 53 43 52 49 50 54 4f 52 2e 73 69 7a 65 6f 66 3b  SCRIPTOR.sizeof;
bc70: 0d 0a 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 53  ....alias WORD S
bc80: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
bc90: 4f 52 5f 43 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c 69  OR_CONTROL;..ali
bca0: 61 73 20 57 4f 52 44 2a 20 50 53 45 43 55 52 49  as WORD* PSECURI
bcb0: 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f  TY_DESCRIPTOR_CO
bcc0: 4e 54 52 4f 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  NTROL;....enum :
bcd0: 20 75 69 6e 74 20 7b 20 53 45 5f 4f 57 4e 45 52   uint { SE_OWNER
bce0: 5f 44 45 46 41 55 4c 54 45 44 20 3d 20 30 78 30  _DEFAULTED = 0x0
bcf0: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
bd00: 6e 74 20 7b 20 53 45 5f 47 52 4f 55 50 5f 44 45  nt { SE_GROUP_DE
bd10: 46 41 55 4c 54 45 44 20 3d 20 30 78 30 30 30 32  FAULTED = 0x0002
bd20: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bd30: 7b 20 53 45 5f 44 41 43 4c 5f 50 52 45 53 45 4e  { SE_DACL_PRESEN
bd40: 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  T = 0x0004 }..en
bd50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 44  um : uint { SE_D
bd60: 41 43 4c 5f 44 45 46 41 55 4c 54 45 44 20 3d 20  ACL_DEFAULTED = 
bd70: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
bd80: 20 75 69 6e 74 20 7b 20 53 45 5f 53 41 43 4c 5f   uint { SE_SACL_
bd90: 50 52 45 53 45 4e 54 20 3d 20 30 78 30 30 31 30  PRESENT = 0x0010
bda0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bdb0: 7b 20 53 45 5f 53 41 43 4c 5f 44 45 46 41 55 4c  { SE_SACL_DEFAUL
bdc0: 54 45 44 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  TED = 0x0020 }..
bdd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
bde0: 5f 44 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52  _DACL_AUTO_INHER
bdf0: 49 54 5f 52 45 51 20 3d 20 30 78 30 31 30 30 20  IT_REQ = 0x0100 
be00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
be10: 20 53 45 5f 53 41 43 4c 5f 41 55 54 4f 5f 49 4e   SE_SACL_AUTO_IN
be20: 48 45 52 49 54 5f 52 45 51 20 3d 20 30 78 30 32  HERIT_REQ = 0x02
be30: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
be40: 74 20 7b 20 53 45 5f 44 41 43 4c 5f 41 55 54 4f  t { SE_DACL_AUTO
be50: 5f 49 4e 48 45 52 49 54 45 44 20 3d 20 30 78 30  _INHERITED = 0x0
be60: 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
be70: 6e 74 20 7b 20 53 45 5f 53 41 43 4c 5f 41 55 54  nt { SE_SACL_AUT
be80: 4f 5f 49 4e 48 45 52 49 54 45 44 20 3d 20 30 78  O_INHERITED = 0x
be90: 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
bea0: 69 6e 74 20 7b 20 53 45 5f 44 41 43 4c 5f 50 52  int { SE_DACL_PR
beb0: 4f 54 45 43 54 45 44 20 3d 20 30 78 31 30 30 30  OTECTED = 0x1000
bec0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bed0: 7b 20 53 45 5f 53 41 43 4c 5f 50 52 4f 54 45 43  { SE_SACL_PROTEC
bee0: 54 45 44 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a  TED = 0x2000 }..
bef0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
bf00: 5f 52 4d 5f 43 4f 4e 54 52 4f 4c 5f 56 41 4c 49  _RM_CONTROL_VALI
bf10: 44 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e  D = 0x4000 }..en
bf20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 5f 53  um : uint { SE_S
bf30: 45 4c 46 5f 52 45 4c 41 54 49 56 45 20 3d 20 30  ELF_RELATIVE = 0
bf40: 78 38 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  x8000 }....struc
bf50: 74 20 5f 53 45 43 55 52 49 54 59 5f 44 45 53 43  t _SECURITY_DESC
bf60: 52 49 50 54 4f 52 5f 52 45 4c 41 54 49 56 45 20  RIPTOR_RELATIVE 
bf70: 7b 0d 0a 20 20 42 59 54 45 20 52 65 76 69 73 69  {..  BYTE Revisi
bf80: 6f 6e 3b 0d 0a 20 20 42 59 54 45 20 53 62 7a 31  on;..  BYTE Sbz1
bf90: 3b 0d 0a 20 20 53 45 43 55 52 49 54 59 5f 44 45  ;..  SECURITY_DE
bfa0: 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c  SCRIPTOR_CONTROL
bfb0: 20 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20 44 57 4f   Control;..  DWO
bfc0: 52 44 20 4f 77 6e 65 72 3b 0d 0a 20 20 44 57 4f  RD Owner;..  DWO
bfd0: 52 44 20 47 72 6f 75 70 3b 0d 0a 20 20 44 57 4f  RD Group;..  DWO
bfe0: 52 44 20 53 61 63 6c 3b 0d 0a 20 20 44 57 4f 52  RD Sacl;..  DWOR
bff0: 44 20 44 61 63 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61  D Dacl;..}..alia
c000: 73 20 5f 53 45 43 55 52 49 54 59 5f 44 45 53 43  s _SECURITY_DESC
c010: 52 49 50 54 4f 52 5f 52 45 4c 41 54 49 56 45 20  RIPTOR_RELATIVE 
c020: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
c030: 54 4f 52 5f 52 45 4c 41 54 49 56 45 3b 0d 0a 61  TOR_RELATIVE;..a
c040: 6c 69 61 73 20 5f 53 45 43 55 52 49 54 59 5f 44  lias _SECURITY_D
c050: 45 53 43 52 49 50 54 4f 52 5f 52 45 4c 41 54 49  ESCRIPTOR_RELATI
c060: 56 45 2a 20 50 49 53 45 43 55 52 49 54 59 5f 44  VE* PISECURITY_D
c070: 45 53 43 52 49 50 54 4f 52 5f 52 45 4c 41 54 49  ESCRIPTOR_RELATI
c080: 56 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53  VE;....struct _S
c090: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
c0a0: 4f 52 20 7b 0d 0a 20 20 42 59 54 45 20 52 65 76  OR {..  BYTE Rev
c0b0: 69 73 69 6f 6e 3b 0d 0a 20 20 42 59 54 45 20 53  ision;..  BYTE S
c0c0: 62 7a 31 3b 0d 0a 20 20 53 45 43 55 52 49 54 59  bz1;..  SECURITY
c0d0: 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54  _DESCRIPTOR_CONT
c0e0: 52 4f 4c 20 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20  ROL Control;..  
c0f0: 50 53 49 44 20 4f 77 6e 65 72 3b 0d 0a 20 20 50  PSID Owner;..  P
c100: 53 49 44 20 47 72 6f 75 70 3b 0d 0a 20 20 50 41  SID Group;..  PA
c110: 43 4c 20 53 61 63 6c 3b 0d 0a 20 20 50 41 43 4c  CL Sacl;..  PACL
c120: 20 44 61 63 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73   Dacl;..}..alias
c130: 20 5f 53 45 43 55 52 49 54 59 5f 44 45 53 43 52   _SECURITY_DESCR
c140: 49 50 54 4f 52 20 53 45 43 55 52 49 54 59 5f 44  IPTOR SECURITY_D
c150: 45 53 43 52 49 50 54 4f 52 3b 0d 0a 61 6c 69 61  ESCRIPTOR;..alia
c160: 73 20 5f 53 45 43 55 52 49 54 59 5f 44 45 53 43  s _SECURITY_DESC
c170: 52 49 50 54 4f 52 2a 20 50 49 53 45 43 55 52 49  RIPTOR* PISECURI
c180: 54 59 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a  TY_DESCRIPTOR;..
c190: 0d 0a 73 74 72 75 63 74 20 5f 4f 42 4a 45 43 54  ..struct _OBJECT
c1a0: 5f 54 59 50 45 5f 4c 49 53 54 20 7b 0d 0a 20 20  _TYPE_LIST {..  
c1b0: 57 4f 52 44 20 4c 65 76 65 6c 3b 0d 0a 20 20 57  WORD Level;..  W
c1c0: 4f 52 44 20 53 62 7a 3b 0d 0a 20 20 47 55 49 44  ORD Sbz;..  GUID
c1d0: 20 2a 4f 62 6a 65 63 74 54 79 70 65 3b 0d 0a 7d   *ObjectType;..}
c1e0: 0d 0a 61 6c 69 61 73 20 5f 4f 42 4a 45 43 54 5f  ..alias _OBJECT_
c1f0: 54 59 50 45 5f 4c 49 53 54 20 4f 42 4a 45 43 54  TYPE_LIST OBJECT
c200: 5f 54 59 50 45 5f 4c 49 53 54 3b 0d 0a 61 6c 69  _TYPE_LIST;..ali
c210: 61 73 20 5f 4f 42 4a 45 43 54 5f 54 59 50 45 5f  as _OBJECT_TYPE_
c220: 4c 49 53 54 2a 20 50 4f 42 4a 45 43 54 5f 54 59  LIST* POBJECT_TY
c230: 50 45 5f 4c 49 53 54 3b 0d 0a 0d 0a 65 6e 75 6d  PE_LIST;....enum
c240: 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53   : uint { ACCESS
c250: 5f 4f 42 4a 45 43 54 5f 47 55 49 44 20 3d 20 30  _OBJECT_GUID = 0
c260: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c270: 7b 20 41 43 43 45 53 53 5f 50 52 4f 50 45 52 54  { ACCESS_PROPERT
c280: 59 5f 53 45 54 5f 47 55 49 44 20 3d 20 31 20 7d  Y_SET_GUID = 1 }
c290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c2a0: 41 43 43 45 53 53 5f 50 52 4f 50 45 52 54 59 5f  ACCESS_PROPERTY_
c2b0: 47 55 49 44 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e  GUID = 2 }....en
c2c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45  um : uint { ACCE
c2d0: 53 53 5f 4d 41 58 5f 4c 45 56 45 4c 20 3d 20 34  SS_MAX_LEVEL = 4
c2e0: 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20   }....alias int 
c2f0: 5f 41 55 44 49 54 5f 45 56 45 4e 54 5f 54 59 50  _AUDIT_EVENT_TYP
c300: 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 41 75  E;..enum {..  Au
c310: 64 69 74 45 76 65 6e 74 4f 62 6a 65 63 74 41 63  ditEventObjectAc
c320: 63 65 73 73 2c 0d 0a 20 20 41 75 64 69 74 45 76  cess,..  AuditEv
c330: 65 6e 74 44 69 72 65 63 74 6f 72 79 53 65 72 76  entDirectoryServ
c340: 69 63 65 41 63 63 65 73 73 2c 0d 0a 7d 0d 0a 61  iceAccess,..}..a
c350: 6c 69 61 73 20 5f 41 55 44 49 54 5f 45 56 45 4e  lias _AUDIT_EVEN
c360: 54 5f 54 59 50 45 20 41 55 44 49 54 5f 45 56 45  T_TYPE AUDIT_EVE
c370: 4e 54 5f 54 59 50 45 3b 0d 0a 61 6c 69 61 73 20  NT_TYPE;..alias 
c380: 5f 41 55 44 49 54 5f 45 56 45 4e 54 5f 54 59 50  _AUDIT_EVENT_TYP
c390: 45 2a 20 50 41 55 44 49 54 5f 45 56 45 4e 54 5f  E* PAUDIT_EVENT_
c3a0: 54 59 50 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  TYPE;....enum : 
c3b0: 75 69 6e 74 20 7b 20 41 55 44 49 54 5f 41 4c 4c  uint { AUDIT_ALL
c3c0: 4f 57 5f 4e 4f 5f 50 52 49 56 49 4c 45 47 45 20  OW_NO_PRIVILEGE 
c3d0: 3d 20 30 78 31 20 7d 0d 0a 0d 0a 63 6f 6e 73 74  = 0x1 }....const
c3e0: 20 63 68 61 72 5b 5d 20 41 43 43 45 53 53 5f 44   char[] ACCESS_D
c3f0: 53 5f 53 4f 55 52 43 45 5f 41 20 3d 20 22 44 53  S_SOURCE_A = "DS
c400: 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b  ";..const wchar[
c410: 5d 20 41 43 43 45 53 53 5f 44 53 5f 53 4f 55 52  ] ACCESS_DS_SOUR
c420: 43 45 5f 57 20 3d 20 22 44 53 22 3b 0d 0a 63 6f  CE_W = "DS";..co
c430: 6e 73 74 20 63 68 61 72 5b 5d 20 41 43 43 45 53  nst char[] ACCES
c440: 53 5f 44 53 5f 4f 42 4a 45 43 54 5f 54 59 50 45  S_DS_OBJECT_TYPE
c450: 5f 4e 41 4d 45 5f 41 20 3d 20 22 44 69 72 65 63  _NAME_A = "Direc
c460: 74 6f 72 79 20 53 65 72 76 69 63 65 20 4f 62 6a  tory Service Obj
c470: 65 63 74 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68  ect";..const wch
c480: 61 72 5b 5d 20 41 43 43 45 53 53 5f 44 53 5f 4f  ar[] ACCESS_DS_O
c490: 42 4a 45 43 54 5f 54 59 50 45 5f 4e 41 4d 45 5f  BJECT_TYPE_NAME_
c4a0: 57 20 3d 20 22 44 69 72 65 63 74 6f 72 79 20 53  W = "Directory S
c4b0: 65 72 76 69 63 65 20 4f 62 6a 65 63 74 22 3b 0d  ervice Object";.
c4c0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c4d0: 20 53 45 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e   SE_PRIVILEGE_EN
c4e0: 41 42 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c 54  ABLED_BY_DEFAULT
c4f0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
c500: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
c510: 45 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e 41 42  E_PRIVILEGE_ENAB
c520: 4c 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 32  LED = 0x00000002
c530: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c540: 7b 20 53 45 5f 50 52 49 56 49 4c 45 47 45 5f 55  { SE_PRIVILEGE_U
c550: 53 45 44 5f 46 4f 52 5f 41 43 43 45 53 53 20 3d  SED_FOR_ACCESS =
c560: 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x80000000 }...
c570: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
c580: 52 49 56 49 4c 45 47 45 5f 53 45 54 5f 41 4c 4c  RIVILEGE_SET_ALL
c590: 5f 4e 45 43 45 53 53 41 52 59 20 3d 20 31 20 7d  _NECESSARY = 1 }
c5a0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49 56  ....struct _PRIV
c5b0: 49 4c 45 47 45 5f 53 45 54 20 7b 0d 0a 20 20 44  ILEGE_SET {..  D
c5c0: 57 4f 52 44 20 50 72 69 76 69 6c 65 67 65 43 6f  WORD PrivilegeCo
c5d0: 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 43 6f  unt;..  DWORD Co
c5e0: 6e 74 72 6f 6c 3b 0d 0a 20 20 4c 55 49 44 5f 41  ntrol;..  LUID_A
c5f0: 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 50 72  ND_ATTRIBUTES Pr
c600: 69 76 69 6c 65 67 65 5b 41 4e 59 53 49 5a 45 5f  ivilege[ANYSIZE_
c610: 41 52 52 41 59 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ARRAY];..}..alia
c620: 73 20 5f 50 52 49 56 49 4c 45 47 45 5f 53 45 54  s _PRIVILEGE_SET
c630: 20 50 52 49 56 49 4c 45 47 45 5f 53 45 54 3b 0d   PRIVILEGE_SET;.
c640: 0a 61 6c 69 61 73 20 5f 50 52 49 56 49 4c 45 47  .alias _PRIVILEG
c650: 45 5f 53 45 54 2a 20 50 50 52 49 56 49 4c 45 47  E_SET* PPRIVILEG
c660: 45 5f 53 45 54 3b 0d 0a 0d 0a 63 6f 6e 73 74 20  E_SET;....const 
c670: 54 43 48 41 52 5b 5d 20 53 45 5f 43 52 45 41 54  TCHAR[] SE_CREAT
c680: 45 5f 54 4f 4b 45 4e 5f 4e 41 4d 45 20 3d 20 22  E_TOKEN_NAME = "
c690: 53 65 43 72 65 61 74 65 54 6f 6b 65 6e 50 72 69  SeCreateTokenPri
c6a0: 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20  vilege";..const 
c6b0: 54 43 48 41 52 5b 5d 20 53 45 5f 41 53 53 49 47  TCHAR[] SE_ASSIG
c6c0: 4e 50 52 49 4d 41 52 59 54 4f 4b 45 4e 5f 4e 41  NPRIMARYTOKEN_NA
c6d0: 4d 45 20 3d 20 22 53 65 41 73 73 69 67 6e 50 72  ME = "SeAssignPr
c6e0: 69 6d 61 72 79 54 6f 6b 65 6e 50 72 69 76 69 6c  imaryTokenPrivil
c6f0: 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ege";..const TCH
c700: 41 52 5b 5d 20 53 45 5f 4c 4f 43 4b 5f 4d 45 4d  AR[] SE_LOCK_MEM
c710: 4f 52 59 5f 4e 41 4d 45 20 3d 20 22 53 65 4c 6f  ORY_NAME = "SeLo
c720: 63 6b 4d 65 6d 6f 72 79 50 72 69 76 69 6c 65 67  ckMemoryPrivileg
c730: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
c740: 5b 5d 20 53 45 5f 49 4e 43 52 45 41 53 45 5f 51  [] SE_INCREASE_Q
c750: 55 4f 54 41 5f 4e 41 4d 45 20 3d 20 22 53 65 49  UOTA_NAME = "SeI
c760: 6e 63 72 65 61 73 65 51 75 6f 74 61 50 72 69 76  ncreaseQuotaPriv
c770: 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  ilege";..const T
c780: 43 48 41 52 5b 5d 20 53 45 5f 55 4e 53 4f 4c 49  CHAR[] SE_UNSOLI
c790: 43 49 54 45 44 5f 49 4e 50 55 54 5f 4e 41 4d 45  CITED_INPUT_NAME
c7a0: 20 3d 20 22 53 65 55 6e 73 6f 6c 69 63 69 74 65   = "SeUnsolicite
c7b0: 64 49 6e 70 75 74 50 72 69 76 69 6c 65 67 65 22  dInputPrivilege"
c7c0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
c7d0: 20 53 45 5f 4d 41 43 48 49 4e 45 5f 41 43 43 4f   SE_MACHINE_ACCO
c7e0: 55 4e 54 5f 4e 41 4d 45 20 3d 20 22 53 65 4d 61  UNT_NAME = "SeMa
c7f0: 63 68 69 6e 65 41 63 63 6f 75 6e 74 50 72 69 76  chineAccountPriv
c800: 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  ilege";..const T
c810: 43 48 41 52 5b 5d 20 53 45 5f 54 43 42 5f 4e 41  CHAR[] SE_TCB_NA
c820: 4d 45 20 3d 20 22 53 65 54 63 62 50 72 69 76 69  ME = "SeTcbPrivi
c830: 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  lege";..const TC
c840: 48 41 52 5b 5d 20 53 45 5f 53 45 43 55 52 49 54  HAR[] SE_SECURIT
c850: 59 5f 4e 41 4d 45 20 3d 20 22 53 65 53 65 63 75  Y_NAME = "SeSecu
c860: 72 69 74 79 50 72 69 76 69 6c 65 67 65 22 3b 0d  rityPrivilege";.
c870: 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
c880: 45 5f 54 41 4b 45 5f 4f 57 4e 45 52 53 48 49 50  E_TAKE_OWNERSHIP
c890: 5f 4e 41 4d 45 20 3d 20 22 53 65 54 61 6b 65 4f  _NAME = "SeTakeO
c8a0: 77 6e 65 72 73 68 69 70 50 72 69 76 69 6c 65 67  wnershipPrivileg
c8b0: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
c8c0: 5b 5d 20 53 45 5f 4c 4f 41 44 5f 44 52 49 56 45  [] SE_LOAD_DRIVE
c8d0: 52 5f 4e 41 4d 45 20 3d 20 22 53 65 4c 6f 61 64  R_NAME = "SeLoad
c8e0: 44 72 69 76 65 72 50 72 69 76 69 6c 65 67 65 22  DriverPrivilege"
c8f0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
c900: 20 53 45 5f 53 59 53 54 45 4d 5f 50 52 4f 46 49   SE_SYSTEM_PROFI
c910: 4c 45 5f 4e 41 4d 45 20 3d 20 22 53 65 53 79 73  LE_NAME = "SeSys
c920: 74 65 6d 50 72 6f 66 69 6c 65 50 72 69 76 69 6c  temProfilePrivil
c930: 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ege";..const TCH
c940: 41 52 5b 5d 20 53 45 5f 53 59 53 54 45 4d 54 49  AR[] SE_SYSTEMTI
c950: 4d 45 5f 4e 41 4d 45 20 3d 20 22 53 65 53 79 73  ME_NAME = "SeSys
c960: 74 65 6d 74 69 6d 65 50 72 69 76 69 6c 65 67 65  temtimePrivilege
c970: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
c980: 5d 20 53 45 5f 50 52 4f 46 5f 53 49 4e 47 4c 45  ] SE_PROF_SINGLE
c990: 5f 50 52 4f 43 45 53 53 5f 4e 41 4d 45 20 3d 20  _PROCESS_NAME = 
c9a0: 22 53 65 50 72 6f 66 69 6c 65 53 69 6e 67 6c 65  "SeProfileSingle
c9b0: 50 72 6f 63 65 73 73 50 72 69 76 69 6c 65 67 65  ProcessPrivilege
c9c0: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
c9d0: 5d 20 53 45 5f 49 4e 43 5f 42 41 53 45 5f 50 52  ] SE_INC_BASE_PR
c9e0: 49 4f 52 49 54 59 5f 4e 41 4d 45 20 3d 20 22 53  IORITY_NAME = "S
c9f0: 65 49 6e 63 72 65 61 73 65 42 61 73 65 50 72 69  eIncreaseBasePri
ca00: 6f 72 69 74 79 50 72 69 76 69 6c 65 67 65 22 3b  orityPrivilege";
ca10: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
ca20: 53 45 5f 43 52 45 41 54 45 5f 50 41 47 45 46 49  SE_CREATE_PAGEFI
ca30: 4c 45 5f 4e 41 4d 45 20 3d 20 22 53 65 43 72 65  LE_NAME = "SeCre
ca40: 61 74 65 50 61 67 65 66 69 6c 65 50 72 69 76 69  atePagefilePrivi
ca50: 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  lege";..const TC
ca60: 48 41 52 5b 5d 20 53 45 5f 43 52 45 41 54 45 5f  HAR[] SE_CREATE_
ca70: 50 45 52 4d 41 4e 45 4e 54 5f 4e 41 4d 45 20 3d  PERMANENT_NAME =
ca80: 20 22 53 65 43 72 65 61 74 65 50 65 72 6d 61 6e   "SeCreatePerman
ca90: 65 6e 74 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a  entPrivilege";..
caa0: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45  const TCHAR[] SE
cab0: 5f 42 41 43 4b 55 50 5f 4e 41 4d 45 20 3d 20 22  _BACKUP_NAME = "
cac0: 53 65 42 61 63 6b 75 70 50 72 69 76 69 6c 65 67  SeBackupPrivileg
cad0: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
cae0: 5b 5d 20 53 45 5f 52 45 53 54 4f 52 45 5f 4e 41  [] SE_RESTORE_NA
caf0: 4d 45 20 3d 20 22 53 65 52 65 73 74 6f 72 65 50  ME = "SeRestoreP
cb00: 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73  rivilege";..cons
cb10: 74 20 54 43 48 41 52 5b 5d 20 53 45 5f 53 48 55  t TCHAR[] SE_SHU
cb20: 54 44 4f 57 4e 5f 4e 41 4d 45 20 3d 20 22 53 65  TDOWN_NAME = "Se
cb30: 53 68 75 74 64 6f 77 6e 50 72 69 76 69 6c 65 67  ShutdownPrivileg
cb40: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
cb50: 5b 5d 20 53 45 5f 44 45 42 55 47 5f 4e 41 4d 45  [] SE_DEBUG_NAME
cb60: 20 3d 20 22 53 65 44 65 62 75 67 50 72 69 76 69   = "SeDebugPrivi
cb70: 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  lege";..const TC
cb80: 48 41 52 5b 5d 20 53 45 5f 41 55 44 49 54 5f 4e  HAR[] SE_AUDIT_N
cb90: 41 4d 45 20 3d 20 22 53 65 41 75 64 69 74 50 72  AME = "SeAuditPr
cba0: 69 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74  ivilege";..const
cbb0: 20 54 43 48 41 52 5b 5d 20 53 45 5f 53 59 53 54   TCHAR[] SE_SYST
cbc0: 45 4d 5f 45 4e 56 49 52 4f 4e 4d 45 4e 54 5f 4e  EM_ENVIRONMENT_N
cbd0: 41 4d 45 20 3d 20 22 53 65 53 79 73 74 65 6d 45  AME = "SeSystemE
cbe0: 6e 76 69 72 6f 6e 6d 65 6e 74 50 72 69 76 69 6c  nvironmentPrivil
cbf0: 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ege";..const TCH
cc00: 41 52 5b 5d 20 53 45 5f 43 48 41 4e 47 45 5f 4e  AR[] SE_CHANGE_N
cc10: 4f 54 49 46 59 5f 4e 41 4d 45 20 3d 20 22 53 65  OTIFY_NAME = "Se
cc20: 43 68 61 6e 67 65 4e 6f 74 69 66 79 50 72 69 76  ChangeNotifyPriv
cc30: 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  ilege";..const T
cc40: 43 48 41 52 5b 5d 20 53 45 5f 52 45 4d 4f 54 45  CHAR[] SE_REMOTE
cc50: 5f 53 48 55 54 44 4f 57 4e 5f 4e 41 4d 45 20 3d  _SHUTDOWN_NAME =
cc60: 20 22 53 65 52 65 6d 6f 74 65 53 68 75 74 64 6f   "SeRemoteShutdo
cc70: 77 6e 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a 63  wnPrivilege";..c
cc80: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45 5f  onst TCHAR[] SE_
cc90: 55 4e 44 4f 43 4b 5f 4e 41 4d 45 20 3d 20 22 53  UNDOCK_NAME = "S
cca0: 65 55 6e 64 6f 63 6b 50 72 69 76 69 6c 65 67 65  eUndockPrivilege
ccb0: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
ccc0: 5d 20 53 45 5f 53 59 4e 43 5f 41 47 45 4e 54 5f  ] SE_SYNC_AGENT_
ccd0: 4e 41 4d 45 20 3d 20 22 53 65 53 79 6e 63 41 67  NAME = "SeSyncAg
cce0: 65 6e 74 50 72 69 76 69 6c 65 67 65 22 3b 0d 0a  entPrivilege";..
ccf0: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 45  const TCHAR[] SE
cd00: 5f 45 4e 41 42 4c 45 5f 44 45 4c 45 47 41 54 49  _ENABLE_DELEGATI
cd10: 4f 4e 5f 4e 41 4d 45 20 3d 20 22 53 65 45 6e 61  ON_NAME = "SeEna
cd20: 62 6c 65 44 65 6c 65 67 61 74 69 6f 6e 50 72 69  bleDelegationPri
cd30: 76 69 6c 65 67 65 22 3b 0d 0a 63 6f 6e 73 74 20  vilege";..const 
cd40: 54 43 48 41 52 5b 5d 20 53 45 5f 4d 41 4e 41 47  TCHAR[] SE_MANAG
cd50: 45 5f 56 4f 4c 55 4d 45 5f 4e 41 4d 45 20 3d 20  E_VOLUME_NAME = 
cd60: 22 53 65 4d 61 6e 61 67 65 56 6f 6c 75 6d 65 50  "SeManageVolumeP
cd70: 72 69 76 69 6c 65 67 65 22 3b 0d 0a 0d 0a 61 6c  rivilege";....al
cd80: 69 61 73 20 69 6e 74 20 5f 53 45 43 55 52 49 54  ias int _SECURIT
cd90: 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  Y_IMPERSONATION_
cda0: 4c 45 56 45 4c 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a  LEVEL;..enum {..
cdb0: 20 20 53 65 63 75 72 69 74 79 41 6e 6f 6e 79 6d    SecurityAnonym
cdc0: 6f 75 73 2c 0d 0a 20 20 53 65 63 75 72 69 74 79  ous,..  Security
cdd0: 49 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 2c 0d  Identification,.
cde0: 0a 20 20 53 65 63 75 72 69 74 79 49 6d 70 65 72  .  SecurityImper
cdf0: 73 6f 6e 61 74 69 6f 6e 2c 0d 0a 20 20 53 65 63  sonation,..  Sec
ce00: 75 72 69 74 79 44 65 6c 65 67 61 74 69 6f 6e 2c  urityDelegation,
ce10: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 45 43 55  ..}..alias _SECU
ce20: 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49  RITY_IMPERSONATI
ce30: 4f 4e 5f 4c 45 56 45 4c 20 53 45 43 55 52 49 54  ON_LEVEL SECURIT
ce40: 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  Y_IMPERSONATION_
ce50: 4c 45 56 45 4c 3b 0d 0a 61 6c 69 61 73 20 5f 53  LEVEL;..alias _S
ce60: 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e  ECURITY_IMPERSON
ce70: 41 54 49 4f 4e 5f 4c 45 56 45 4c 2a 20 50 53 45  ATION_LEVEL* PSE
ce80: 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41  CURITY_IMPERSONA
ce90: 54 49 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a 0d 0a 61  TION_LEVEL;....a
cea0: 6c 69 61 73 20 53 65 63 75 72 69 74 79 44 65 6c  lias SecurityDel
ceb0: 65 67 61 74 69 6f 6e 20 53 45 43 55 52 49 54 59  egation SECURITY
cec0: 5f 4d 41 58 5f 49 4d 50 45 52 53 4f 4e 41 54 49  _MAX_IMPERSONATI
ced0: 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a 61 6c 69 61 73  ON_LEVEL;..alias
cee0: 20 53 65 63 75 72 69 74 79 41 6e 6f 6e 79 6d 6f   SecurityAnonymo
cef0: 75 73 20 53 45 43 55 52 49 54 59 5f 4d 49 4e 5f  us SECURITY_MIN_
cf00: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45  IMPERSONATION_LE
cf10: 56 45 4c 3b 0d 0a 61 6c 69 61 73 20 53 65 63 75  VEL;..alias Secu
cf20: 72 69 74 79 49 6d 70 65 72 73 6f 6e 61 74 69 6f  rityImpersonatio
cf30: 6e 20 44 45 46 41 55 4c 54 5f 49 4d 50 45 52 53  n DEFAULT_IMPERS
cf40: 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 3b 0d 0a  ONATION_LEVEL;..
cf50: 62 69 74 20 56 41 4c 49 44 5f 49 4d 50 45 52 53  bit VALID_IMPERS
cf60: 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 28 53 45  ONATION_LEVEL(SE
cf70: 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41  CURITY_IMPERSONA
cf80: 54 49 4f 4e 5f 4c 45 56 45 4c 20 4c 29 7b 20 72  TION_LEVEL L){ r
cf90: 65 74 75 72 6e 20 28 4c 20 3e 3d 20 53 45 43 55  eturn (L >= SECU
cfa0: 52 49 54 59 5f 4d 49 4e 5f 49 4d 50 45 52 53 4f  RITY_MIN_IMPERSO
cfb0: 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 29 20 26 26  NATION_LEVEL) &&
cfc0: 20 28 4c 20 3c 3d 20 53 45 43 55 52 49 54 59 5f   (L <= SECURITY_
cfd0: 4d 41 58 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f  MAX_IMPERSONATIO
cfe0: 4e 5f 4c 45 56 45 4c 29 3b 20 7d 0d 0a 0d 0a 65  N_LEVEL); }....e
cff0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b  num : uint { TOK
d000: 45 4e 5f 41 53 53 49 47 4e 5f 50 52 49 4d 41 52  EN_ASSIGN_PRIMAR
d010: 59 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  Y = 0x0001 }..en
d020: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45  um : uint { TOKE
d030: 4e 5f 44 55 50 4c 49 43 41 54 45 20 3d 20 30 78  N_DUPLICATE = 0x
d040: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
d050: 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 49 4d 50 45  int { TOKEN_IMPE
d060: 52 53 4f 4e 41 54 45 20 3d 20 30 78 30 30 30 34  RSONATE = 0x0004
d070: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d080: 7b 20 54 4f 4b 45 4e 5f 51 55 45 52 59 20 3d 20  { TOKEN_QUERY = 
d090: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
d0a0: 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 51 55   uint { TOKEN_QU
d0b0: 45 52 59 5f 53 4f 55 52 43 45 20 3d 20 30 78 30  ERY_SOURCE = 0x0
d0c0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
d0d0: 6e 74 20 7b 20 54 4f 4b 45 4e 5f 41 44 4a 55 53  nt { TOKEN_ADJUS
d0e0: 54 5f 50 52 49 56 49 4c 45 47 45 53 20 3d 20 30  T_PRIVILEGES = 0
d0f0: 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
d100: 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 41 44 4a  uint { TOKEN_ADJ
d110: 55 53 54 5f 47 52 4f 55 50 53 20 3d 20 30 78 30  UST_GROUPS = 0x0
d120: 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
d130: 6e 74 20 7b 20 54 4f 4b 45 4e 5f 41 44 4a 55 53  nt { TOKEN_ADJUS
d140: 54 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30  T_DEFAULT = 0x00
d150: 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
d160: 74 20 7b 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54  t { TOKEN_ADJUST
d170: 5f 53 45 53 53 49 4f 4e 49 44 20 3d 20 30 78 30  _SESSIONID = 0x0
d180: 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  100 }....enum : 
d190: 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 41 4c 4c  uint { TOKEN_ALL
d1a0: 5f 41 43 43 45 53 53 5f 50 20 3d 20 53 54 41 4e  _ACCESS_P = STAN
d1b0: 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55  DARD_RIGHTS_REQU
d1c0: 49 52 45 44 20 7c 20 54 4f 4b 45 4e 5f 41 53 53  IRED | TOKEN_ASS
d1d0: 49 47 4e 5f 50 52 49 4d 41 52 59 20 7c 20 54 4f  IGN_PRIMARY | TO
d1e0: 4b 45 4e 5f 44 55 50 4c 49 43 41 54 45 20 7c 20  KEN_DUPLICATE | 
d1f0: 54 4f 4b 45 4e 5f 49 4d 50 45 52 53 4f 4e 41 54  TOKEN_IMPERSONAT
d200: 45 20 7c 20 54 4f 4b 45 4e 5f 51 55 45 52 59 20  E | TOKEN_QUERY 
d210: 7c 20 54 4f 4b 45 4e 5f 51 55 45 52 59 5f 53 4f  | TOKEN_QUERY_SO
d220: 55 52 43 45 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a  URCE | TOKEN_ADJ
d230: 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53 20 7c  UST_PRIVILEGES |
d240: 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 47 52   TOKEN_ADJUST_GR
d250: 4f 55 50 53 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a  OUPS | TOKEN_ADJ
d260: 55 53 54 5f 44 45 46 41 55 4c 54 20 20 7d 0d 0a  UST_DEFAULT  }..
d270: 0d 0a 2f 2f 20 23 69 66 20 28 28 64 65 66 69 6e  ..// #if ((defin
d280: 65 64 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 29  ed(_WIN32_WINNT)
d290: 20 26 26 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   && (_WIN32_WINN
d2a0: 54 20 3e 20 30 78 30 34 30 30 29 29 20 7c 7c 20  T > 0x0400)) || 
d2b0: 28 21 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32  (!defined(_WIN32
d2c0: 5f 57 49 4e 4e 54 29 29 29 0d 0a 65 6e 75 6d 20  _WINNT)))..enum 
d2d0: 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f 41  : uint { TOKEN_A
d2e0: 4c 4c 5f 41 43 43 45 53 53 20 3d 20 54 4f 4b 45  LL_ACCESS = TOKE
d2f0: 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 5f 50 20 7c  N_ALL_ACCESS_P |
d300: 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 53 45   TOKEN_ADJUST_SE
d310: 53 53 49 4f 4e 49 44 20 20 7d 0d 0a 2f 2f 20 23  SSIONID  }..// #
d320: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
d330: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
d340: 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e 5f   : uint { TOKEN_
d350: 52 45 41 44 20 3d 20 53 54 41 4e 44 41 52 44 5f  READ = STANDARD_
d360: 52 49 47 48 54 53 5f 52 45 41 44 20 7c 20 54 4f  RIGHTS_READ | TO
d370: 4b 45 4e 5f 51 55 45 52 59 20 7d 0d 0a 0d 0a 65  KEN_QUERY }....e
d380: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b  num : uint { TOK
d390: 45 4e 5f 57 52 49 54 45 20 3d 20 53 54 41 4e 44  EN_WRITE = STAND
d3a0: 41 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45  ARD_RIGHTS_WRITE
d3b0: 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f   | TOKEN_ADJUST_
d3c0: 50 52 49 56 49 4c 45 47 45 53 20 7c 20 54 4f 4b  PRIVILEGES | TOK
d3d0: 45 4e 5f 41 44 4a 55 53 54 5f 47 52 4f 55 50 53  EN_ADJUST_GROUPS
d3e0: 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f   | TOKEN_ADJUST_
d3f0: 44 45 46 41 55 4c 54 20 7d 0d 0a 0d 0a 65 6e 75  DEFAULT }....enu
d400: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4f 4b 45 4e  m : uint { TOKEN
d410: 5f 45 58 45 43 55 54 45 20 3d 20 53 54 41 4e 44  _EXECUTE = STAND
d420: 41 52 44 5f 52 49 47 48 54 53 5f 45 58 45 43 55  ARD_RIGHTS_EXECU
d430: 54 45 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e  TE }....alias in
d440: 74 20 5f 54 4f 4b 45 4e 5f 54 59 50 45 3b 0d 0a  t _TOKEN_TYPE;..
d450: 65 6e 75 6d 20 7b 0d 0a 20 20 54 6f 6b 65 6e 50  enum {..  TokenP
d460: 72 69 6d 61 72 79 20 3d 20 31 2c 0d 0a 20 20 54  rimary = 1,..  T
d470: 6f 6b 65 6e 49 6d 70 65 72 73 6f 6e 61 74 69 6f  okenImpersonatio
d480: 6e 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f  n,..}..alias _TO
d490: 4b 45 4e 5f 54 59 50 45 20 54 4f 4b 45 4e 5f 54  KEN_TYPE TOKEN_T
d4a0: 59 50 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 54 4f  YPE;....alias TO
d4b0: 4b 45 4e 5f 54 59 50 45 2a 20 50 54 4f 4b 45 4e  KEN_TYPE* PTOKEN
d4c0: 5f 54 59 50 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20  _TYPE;....alias 
d4d0: 69 6e 74 20 5f 54 4f 4b 45 4e 5f 49 4e 46 4f 52  int _TOKEN_INFOR
d4e0: 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 3b 0d 0a 65  MATION_CLASS;..e
d4f0: 6e 75 6d 20 7b 0d 0a 20 20 54 6f 6b 65 6e 55 73  num {..  TokenUs
d500: 65 72 20 3d 20 31 2c 0d 0a 20 20 54 6f 6b 65 6e  er = 1,..  Token
d510: 47 72 6f 75 70 73 2c 0d 0a 20 20 54 6f 6b 65 6e  Groups,..  Token
d520: 50 72 69 76 69 6c 65 67 65 73 2c 0d 0a 20 20 54  Privileges,..  T
d530: 6f 6b 65 6e 4f 77 6e 65 72 2c 0d 0a 20 20 54 6f  okenOwner,..  To
d540: 6b 65 6e 50 72 69 6d 61 72 79 47 72 6f 75 70 2c  kenPrimaryGroup,
d550: 0d 0a 20 20 54 6f 6b 65 6e 44 65 66 61 75 6c 74  ..  TokenDefault
d560: 44 61 63 6c 2c 0d 0a 20 20 54 6f 6b 65 6e 53 6f  Dacl,..  TokenSo
d570: 75 72 63 65 2c 0d 0a 20 20 54 6f 6b 65 6e 54 79  urce,..  TokenTy
d580: 70 65 2c 0d 0a 20 20 54 6f 6b 65 6e 49 6d 70 65  pe,..  TokenImpe
d590: 72 73 6f 6e 61 74 69 6f 6e 4c 65 76 65 6c 2c 0d  rsonationLevel,.
d5a0: 0a 20 20 54 6f 6b 65 6e 53 74 61 74 69 73 74 69  .  TokenStatisti
d5b0: 63 73 2c 0d 0a 20 20 54 6f 6b 65 6e 52 65 73 74  cs,..  TokenRest
d5c0: 72 69 63 74 65 64 53 69 64 73 2c 0d 0a 20 20 54  rictedSids,..  T
d5d0: 6f 6b 65 6e 53 65 73 73 69 6f 6e 49 64 2c 0d 0a  okenSessionId,..
d5e0: 20 20 54 6f 6b 65 6e 47 72 6f 75 70 73 41 6e 64    TokenGroupsAnd
d5f0: 50 72 69 76 69 6c 65 67 65 73 2c 0d 0a 20 20 54  Privileges,..  T
d600: 6f 6b 65 6e 53 65 73 73 69 6f 6e 52 65 66 65 72  okenSessionRefer
d610: 65 6e 63 65 2c 0d 0a 20 20 54 6f 6b 65 6e 53 61  ence,..  TokenSa
d620: 6e 64 42 6f 78 49 6e 65 72 74 2c 0d 0a 7d 0d 0a  ndBoxInert,..}..
d630: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 49 4e 46  alias _TOKEN_INF
d640: 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 54  ORMATION_CLASS T
d650: 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  OKEN_INFORMATION
d660: 5f 43 4c 41 53 53 3b 0d 0a 61 6c 69 61 73 20 5f  _CLASS;..alias _
d670: 54 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f  TOKEN_INFORMATIO
d680: 4e 5f 43 4c 41 53 53 2a 20 50 54 4f 4b 45 4e 5f  N_CLASS* PTOKEN_
d690: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53  INFORMATION_CLAS
d6a0: 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f  S;....struct _TO
d6b0: 4b 45 4e 5f 55 53 45 52 20 7b 0d 0a 20 20 53 49  KEN_USER {..  SI
d6c0: 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53  D_AND_ATTRIBUTES
d6d0: 20 55 73 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73   User;..}..alias
d6e0: 20 5f 54 4f 4b 45 4e 5f 55 53 45 52 20 54 4f 4b   _TOKEN_USER TOK
d6f0: 45 4e 5f 55 53 45 52 3b 0d 0a 61 6c 69 61 73 20  EN_USER;..alias 
d700: 5f 54 4f 4b 45 4e 5f 55 53 45 52 2a 20 50 54 4f  _TOKEN_USER* PTO
d710: 4b 45 4e 5f 55 53 45 52 3b 0d 0a 0d 0a 73 74 72  KEN_USER;....str
d720: 75 63 74 20 5f 54 4f 4b 45 4e 5f 47 52 4f 55 50  uct _TOKEN_GROUP
d730: 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 47 72 6f  S {..  DWORD Gro
d740: 75 70 43 6f 75 6e 74 3b 0d 0a 20 20 53 49 44 5f  upCount;..  SID_
d750: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 47  AND_ATTRIBUTES G
d760: 72 6f 75 70 73 5b 41 4e 59 53 49 5a 45 5f 41 52  roups[ANYSIZE_AR
d770: 52 41 59 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  RAY];..}..alias 
d780: 5f 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 20 54 4f  _TOKEN_GROUPS TO
d790: 4b 45 4e 5f 47 52 4f 55 50 53 3b 0d 0a 61 6c 69  KEN_GROUPS;..ali
d7a0: 61 73 20 5f 54 4f 4b 45 4e 5f 47 52 4f 55 50 53  as _TOKEN_GROUPS
d7b0: 2a 20 50 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 3b  * PTOKEN_GROUPS;
d7c0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b 45  ....struct _TOKE
d7d0: 4e 5f 50 52 49 56 49 4c 45 47 45 53 20 7b 0d 0a  N_PRIVILEGES {..
d7e0: 20 20 44 57 4f 52 44 20 50 72 69 76 69 6c 65 67    DWORD Privileg
d7f0: 65 43 6f 75 6e 74 3b 0d 0a 20 20 4c 55 49 44 5f  eCount;..  LUID_
d800: 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 50  AND_ATTRIBUTES P
d810: 72 69 76 69 6c 65 67 65 73 5b 41 4e 59 53 49 5a  rivileges[ANYSIZ
d820: 45 5f 41 52 52 41 59 5d 3b 0d 0a 7d 0d 0a 61 6c  E_ARRAY];..}..al
d830: 69 61 73 20 5f 54 4f 4b 45 4e 5f 50 52 49 56 49  ias _TOKEN_PRIVI
d840: 4c 45 47 45 53 20 54 4f 4b 45 4e 5f 50 52 49 56  LEGES TOKEN_PRIV
d850: 49 4c 45 47 45 53 3b 0d 0a 61 6c 69 61 73 20 5f  ILEGES;..alias _
d860: 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 45 53  TOKEN_PRIVILEGES
d870: 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45  * PTOKEN_PRIVILE
d880: 47 45 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  GES;....struct _
d890: 54 4f 4b 45 4e 5f 4f 57 4e 45 52 20 7b 0d 0a 20  TOKEN_OWNER {.. 
d8a0: 20 50 53 49 44 20 4f 77 6e 65 72 3b 0d 0a 7d 0d   PSID Owner;..}.
d8b0: 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 4f 57  .alias _TOKEN_OW
d8c0: 4e 45 52 20 54 4f 4b 45 4e 5f 4f 57 4e 45 52 3b  NER TOKEN_OWNER;
d8d0: 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 4f  ..alias _TOKEN_O
d8e0: 57 4e 45 52 2a 20 50 54 4f 4b 45 4e 5f 4f 57 4e  WNER* PTOKEN_OWN
d8f0: 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54  ER;....struct _T
d900: 4f 4b 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f  OKEN_PRIMARY_GRO
d910: 55 50 20 7b 0d 0a 20 20 50 53 49 44 20 50 72 69  UP {..  PSID Pri
d920: 6d 61 72 79 47 72 6f 75 70 3b 0d 0a 7d 0d 0a 61  maryGroup;..}..a
d930: 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 50 52 49 4d  lias _TOKEN_PRIM
d940: 41 52 59 5f 47 52 4f 55 50 20 54 4f 4b 45 4e 5f  ARY_GROUP TOKEN_
d950: 50 52 49 4d 41 52 59 5f 47 52 4f 55 50 3b 0d 0a  PRIMARY_GROUP;..
d960: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 50 52 49  alias _TOKEN_PRI
d970: 4d 41 52 59 5f 47 52 4f 55 50 2a 20 50 54 4f 4b  MARY_GROUP* PTOK
d980: 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 50  EN_PRIMARY_GROUP
d990: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 4f 4b  ;....struct _TOK
d9a0: 45 4e 5f 44 45 46 41 55 4c 54 5f 44 41 43 4c 20  EN_DEFAULT_DACL 
d9b0: 7b 0d 0a 20 20 50 41 43 4c 20 44 65 66 61 75 6c  {..  PACL Defaul
d9c0: 74 44 61 63 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  tDacl;..}..alias
d9d0: 20 5f 54 4f 4b 45 4e 5f 44 45 46 41 55 4c 54 5f   _TOKEN_DEFAULT_
d9e0: 44 41 43 4c 20 54 4f 4b 45 4e 5f 44 45 46 41 55  DACL TOKEN_DEFAU
d9f0: 4c 54 5f 44 41 43 4c 3b 0d 0a 61 6c 69 61 73 20  LT_DACL;..alias 
da00: 5f 54 4f 4b 45 4e 5f 44 45 46 41 55 4c 54 5f 44  _TOKEN_DEFAULT_D
da10: 41 43 4c 2a 20 50 54 4f 4b 45 4e 5f 44 45 46 41  ACL* PTOKEN_DEFA
da20: 55 4c 54 5f 44 41 43 4c 3b 0d 0a 0d 0a 73 74 72  ULT_DACL;....str
da30: 75 63 74 20 5f 54 4f 4b 45 4e 5f 47 52 4f 55 50  uct _TOKEN_GROUP
da40: 53 5f 41 4e 44 5f 50 52 49 56 49 4c 45 47 45 53  S_AND_PRIVILEGES
da50: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53 69 64 43   {..  DWORD SidC
da60: 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 53  ount;..  DWORD S
da70: 69 64 4c 65 6e 67 74 68 3b 0d 0a 20 20 50 53 49  idLength;..  PSI
da80: 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53  D_AND_ATTRIBUTES
da90: 20 53 69 64 73 3b 0d 0a 20 20 44 57 4f 52 44 20   Sids;..  DWORD 
daa0: 52 65 73 74 72 69 63 74 65 64 53 69 64 43 6f 75  RestrictedSidCou
dab0: 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65 73  nt;..  DWORD Res
dac0: 74 72 69 63 74 65 64 53 69 64 4c 65 6e 67 74 68  trictedSidLength
dad0: 3b 0d 0a 20 20 50 53 49 44 5f 41 4e 44 5f 41 54  ;..  PSID_AND_AT
dae0: 54 52 49 42 55 54 45 53 20 52 65 73 74 72 69 63  TRIBUTES Restric
daf0: 74 65 64 53 69 64 73 3b 0d 0a 20 20 44 57 4f 52  tedSids;..  DWOR
db00: 44 20 50 72 69 76 69 6c 65 67 65 43 6f 75 6e 74  D PrivilegeCount
db10: 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69 76 69  ;..  DWORD Privi
db20: 6c 65 67 65 4c 65 6e 67 74 68 3b 0d 0a 20 20 50  legeLength;..  P
db30: 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55  LUID_AND_ATTRIBU
db40: 54 45 53 20 50 72 69 76 69 6c 65 67 65 73 3b 0d  TES Privileges;.
db50: 0a 20 20 4c 55 49 44 20 41 75 74 68 65 6e 74 69  .  LUID Authenti
db60: 63 61 74 69 6f 6e 49 64 3b 0d 0a 7d 0d 0a 61 6c  cationId;..}..al
db70: 69 61 73 20 5f 54 4f 4b 45 4e 5f 47 52 4f 55 50  ias _TOKEN_GROUP
db80: 53 5f 41 4e 44 5f 50 52 49 56 49 4c 45 47 45 53  S_AND_PRIVILEGES
db90: 20 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 5f 41 4e   TOKEN_GROUPS_AN
dba0: 44 5f 50 52 49 56 49 4c 45 47 45 53 3b 0d 0a 61  D_PRIVILEGES;..a
dbb0: 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 47 52 4f 55  lias _TOKEN_GROU
dbc0: 50 53 5f 41 4e 44 5f 50 52 49 56 49 4c 45 47 45  PS_AND_PRIVILEGE
dbd0: 53 2a 20 50 54 4f 4b 45 4e 5f 47 52 4f 55 50 53  S* PTOKEN_GROUPS
dbe0: 5f 41 4e 44 5f 50 52 49 56 49 4c 45 47 45 53 3b  _AND_PRIVILEGES;
dbf0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
dc00: 7b 20 54 4f 4b 45 4e 5f 53 4f 55 52 43 45 5f 4c  { TOKEN_SOURCE_L
dc10: 45 4e 47 54 48 20 3d 20 38 20 7d 0d 0a 0d 0a 73  ENGTH = 8 }....s
dc20: 74 72 75 63 74 20 5f 54 4f 4b 45 4e 5f 53 4f 55  truct _TOKEN_SOU
dc30: 52 43 45 20 7b 0d 0a 20 20 43 48 41 52 20 53 6f  RCE {..  CHAR So
dc40: 75 72 63 65 4e 61 6d 65 5b 54 4f 4b 45 4e 5f 53  urceName[TOKEN_S
dc50: 4f 55 52 43 45 5f 4c 45 4e 47 54 48 5d 3b 0d 0a  OURCE_LENGTH];..
dc60: 20 20 4c 55 49 44 20 53 6f 75 72 63 65 49 64 65    LUID SourceIde
dc70: 6e 74 69 66 69 65 72 3b 0d 0a 7d 0d 0a 61 6c 69  ntifier;..}..ali
dc80: 61 73 20 5f 54 4f 4b 45 4e 5f 53 4f 55 52 43 45  as _TOKEN_SOURCE
dc90: 20 54 4f 4b 45 4e 5f 53 4f 55 52 43 45 3b 0d 0a   TOKEN_SOURCE;..
dca0: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 53 4f 55  alias _TOKEN_SOU
dcb0: 52 43 45 2a 20 50 54 4f 4b 45 4e 5f 53 4f 55 52  RCE* PTOKEN_SOUR
dcc0: 43 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54  CE;....struct _T
dcd0: 4f 4b 45 4e 5f 53 54 41 54 49 53 54 49 43 53 20  OKEN_STATISTICS 
dce0: 7b 0d 0a 20 20 4c 55 49 44 20 54 6f 6b 65 6e 49  {..  LUID TokenI
dcf0: 64 3b 0d 0a 20 20 4c 55 49 44 20 41 75 74 68 65  d;..  LUID Authe
dd00: 6e 74 69 63 61 74 69 6f 6e 49 64 3b 0d 0a 20 20  nticationId;..  
dd10: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 45 78  LARGE_INTEGER Ex
dd20: 70 69 72 61 74 69 6f 6e 54 69 6d 65 3b 0d 0a 20  pirationTime;.. 
dd30: 20 54 4f 4b 45 4e 5f 54 59 50 45 20 54 6f 6b 65   TOKEN_TYPE Toke
dd40: 6e 54 79 70 65 3b 0d 0a 20 20 53 45 43 55 52 49  nType;..  SECURI
dd50: 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e  TY_IMPERSONATION
dd60: 5f 4c 45 56 45 4c 20 49 6d 70 65 72 73 6f 6e 61  _LEVEL Impersona
dd70: 74 69 6f 6e 4c 65 76 65 6c 3b 0d 0a 20 20 44 57  tionLevel;..  DW
dd80: 4f 52 44 20 44 79 6e 61 6d 69 63 43 68 61 72 67  ORD DynamicCharg
dd90: 65 64 3b 0d 0a 20 20 44 57 4f 52 44 20 44 79 6e  ed;..  DWORD Dyn
dda0: 61 6d 69 63 41 76 61 69 6c 61 62 6c 65 3b 0d 0a  amicAvailable;..
ddb0: 20 20 44 57 4f 52 44 20 47 72 6f 75 70 43 6f 75    DWORD GroupCou
ddc0: 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69  nt;..  DWORD Pri
ddd0: 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0d 0a 20 20  vilegeCount;..  
dde0: 4c 55 49 44 20 4d 6f 64 69 66 69 65 64 49 64 3b  LUID ModifiedId;
ddf0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f 4b 45  ..}..alias _TOKE
de00: 4e 5f 53 54 41 54 49 53 54 49 43 53 20 54 4f 4b  N_STATISTICS TOK
de10: 45 4e 5f 53 54 41 54 49 53 54 49 43 53 3b 0d 0a  EN_STATISTICS;..
de20: 61 6c 69 61 73 20 5f 54 4f 4b 45 4e 5f 53 54 41  alias _TOKEN_STA
de30: 54 49 53 54 49 43 53 2a 20 50 54 4f 4b 45 4e 5f  TISTICS* PTOKEN_
de40: 53 54 41 54 49 53 54 49 43 53 3b 0d 0a 0d 0a 73  STATISTICS;....s
de50: 74 72 75 63 74 20 5f 54 4f 4b 45 4e 5f 43 4f 4e  truct _TOKEN_CON
de60: 54 52 4f 4c 20 7b 0d 0a 20 20 4c 55 49 44 20 54  TROL {..  LUID T
de70: 6f 6b 65 6e 49 64 3b 0d 0a 20 20 4c 55 49 44 20  okenId;..  LUID 
de80: 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 49 64  AuthenticationId
de90: 3b 0d 0a 20 20 4c 55 49 44 20 4d 6f 64 69 66 69  ;..  LUID Modifi
dea0: 65 64 49 64 3b 0d 0a 20 20 54 4f 4b 45 4e 5f 53  edId;..  TOKEN_S
deb0: 4f 55 52 43 45 20 54 6f 6b 65 6e 53 6f 75 72 63  OURCE TokenSourc
dec0: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 4f  e;..}..alias _TO
ded0: 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 20 54 4f 4b 45  KEN_CONTROL TOKE
dee0: 4e 5f 43 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c 69 61  N_CONTROL;..alia
def0: 73 20 5f 54 4f 4b 45 4e 5f 43 4f 4e 54 52 4f 4c  s _TOKEN_CONTROL
df00: 2a 20 50 54 4f 4b 45 4e 5f 43 4f 4e 54 52 4f 4c  * PTOKEN_CONTROL
df10: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
df20: 20 7b 20 53 45 43 55 52 49 54 59 5f 44 59 4e 41   { SECURITY_DYNA
df30: 4d 49 43 5f 54 52 41 43 4b 49 4e 47 20 3d 20 54  MIC_TRACKING = T
df40: 52 55 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  RUE }..enum : ui
df50: 6e 74 20 7b 20 53 45 43 55 52 49 54 59 5f 53 54  nt { SECURITY_ST
df60: 41 54 49 43 5f 54 52 41 43 4b 49 4e 47 20 3d 20  ATIC_TRACKING = 
df70: 46 41 4c 53 45 20 7d 0d 0a 0d 0a 61 6c 69 61 73  FALSE }....alias
df80: 20 42 4f 4f 4c 45 41 4e 20 53 45 43 55 52 49 54   BOOLEAN SECURIT
df90: 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b 49  Y_CONTEXT_TRACKI
dfa0: 4e 47 5f 4d 4f 44 45 3b 0d 0a 61 6c 69 61 73 20  NG_MODE;..alias 
dfb0: 42 4f 4f 4c 45 41 4e 2a 20 50 53 45 43 55 52 49  BOOLEAN* PSECURI
dfc0: 54 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b  TY_CONTEXT_TRACK
dfd0: 49 4e 47 5f 4d 4f 44 45 3b 0d 0a 0d 0a 73 74 72  ING_MODE;....str
dfe0: 75 63 74 20 5f 53 45 43 55 52 49 54 59 5f 51 55  uct _SECURITY_QU
dff0: 41 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43 45  ALITY_OF_SERVICE
e000: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4c 65 6e 67   {..  DWORD Leng
e010: 74 68 3b 0d 0a 20 20 53 45 43 55 52 49 54 59 5f  th;..  SECURITY_
e020: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45  IMPERSONATION_LE
e030: 56 45 4c 20 49 6d 70 65 72 73 6f 6e 61 74 69 6f  VEL Impersonatio
e040: 6e 4c 65 76 65 6c 3b 0d 0a 20 20 53 45 43 55 52  nLevel;..  SECUR
e050: 49 54 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43  ITY_CONTEXT_TRAC
e060: 4b 49 4e 47 5f 4d 4f 44 45 20 43 6f 6e 74 65 78  KING_MODE Contex
e070: 74 54 72 61 63 6b 69 6e 67 4d 6f 64 65 3b 0d 0a  tTrackingMode;..
e080: 20 20 42 4f 4f 4c 45 41 4e 20 45 66 66 65 63 74    BOOLEAN Effect
e090: 69 76 65 4f 6e 6c 79 3b 0d 0a 7d 0d 0a 61 6c 69  iveOnly;..}..ali
e0a0: 61 73 20 5f 53 45 43 55 52 49 54 59 5f 51 55 41  as _SECURITY_QUA
e0b0: 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43 45 20  LITY_OF_SERVICE 
e0c0: 53 45 43 55 52 49 54 59 5f 51 55 41 4c 49 54 59  SECURITY_QUALITY
e0d0: 5f 4f 46 5f 53 45 52 56 49 43 45 3b 0d 0a 61 6c  _OF_SERVICE;..al
e0e0: 69 61 73 20 5f 53 45 43 55 52 49 54 59 5f 51 55  ias _SECURITY_QU
e0f0: 41 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43 45  ALITY_OF_SERVICE
e100: 2a 20 50 53 45 43 55 52 49 54 59 5f 51 55 41 4c  * PSECURITY_QUAL
e110: 49 54 59 5f 4f 46 5f 53 45 52 56 49 43 45 3b 0d  ITY_OF_SERVICE;.
e120: 0a 0d 0a 73 74 72 75 63 74 20 5f 53 45 5f 49 4d  ...struct _SE_IM
e130: 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 53 54 41 54  PERSONATION_STAT
e140: 45 20 7b 0d 0a 20 20 50 41 43 43 45 53 53 5f 54  E {..  PACCESS_T
e150: 4f 4b 45 4e 20 54 6f 6b 65 6e 3b 0d 0a 20 20 42  OKEN Token;..  B
e160: 4f 4f 4c 45 41 4e 20 43 6f 70 79 4f 6e 4f 70 65  OOLEAN CopyOnOpe
e170: 6e 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 45 66  n;..  BOOLEAN Ef
e180: 66 65 63 74 69 76 65 4f 6e 6c 79 3b 0d 0a 20 20  fectiveOnly;..  
e190: 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f  SECURITY_IMPERSO
e1a0: 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 4c 65 76  NATION_LEVEL Lev
e1b0: 65 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53  el;..}..alias _S
e1c0: 45 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  E_IMPERSONATION_
e1d0: 53 54 41 54 45 20 53 45 5f 49 4d 50 45 52 53 4f  STATE SE_IMPERSO
e1e0: 4e 41 54 49 4f 4e 5f 53 54 41 54 45 3b 0d 0a 61  NATION_STATE;..a
e1f0: 6c 69 61 73 20 5f 53 45 5f 49 4d 50 45 52 53 4f  lias _SE_IMPERSO
e200: 4e 41 54 49 4f 4e 5f 53 54 41 54 45 2a 20 50 53  NATION_STATE* PS
e210: 45 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f  E_IMPERSONATION_
e220: 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  STATE;....enum :
e230: 20 75 69 6e 74 20 7b 20 44 49 53 41 42 4c 45 5f   uint { DISABLE_
e240: 4d 41 58 5f 50 52 49 56 49 4c 45 47 45 20 3d 20  MAX_PRIVILEGE = 
e250: 30 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0x1 }..enum : ui
e260: 6e 74 20 7b 20 53 41 4e 44 42 4f 58 5f 49 4e 45  nt { SANDBOX_INE
e270: 52 54 20 3d 20 30 78 32 20 7d 0d 0a 0d 0a 61 6c  RT = 0x2 }....al
e280: 69 61 73 20 44 57 4f 52 44 20 53 45 43 55 52 49  ias DWORD SECURI
e290: 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  TY_INFORMATION;.
e2a0: 0a 61 6c 69 61 73 20 44 57 4f 52 44 2a 20 50 53  .alias DWORD* PS
e2b0: 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54  ECURITY_INFORMAT
e2c0: 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ION;....enum : u
e2d0: 69 6e 74 20 7b 20 4f 57 4e 45 52 5f 53 45 43 55  int { OWNER_SECU
e2e0: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RITY_INFORMATION
e2f0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
e300: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
e310: 52 4f 55 50 5f 53 45 43 55 52 49 54 59 5f 49 4e  ROUP_SECURITY_IN
e320: 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30 30  FORMATION = 0x00
e330: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
e340: 20 75 69 6e 74 20 7b 20 44 41 43 4c 5f 53 45 43   uint { DACL_SEC
e350: 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f  URITY_INFORMATIO
e360: 4e 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  N = 0x00000004 }
e370: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e380: 53 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e  SACL_SECURITY_IN
e390: 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30 30  FORMATION = 0x00
e3a0: 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  000008 }....enum
e3b0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 54 45 43   : uint { PROTEC
e3c0: 54 45 44 5f 44 41 43 4c 5f 53 45 43 55 52 49 54  TED_DACL_SECURIT
e3d0: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  Y_INFORMATION = 
e3e0: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x80000000 }..en
e3f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 54  um : uint { PROT
e400: 45 43 54 45 44 5f 53 41 43 4c 5f 53 45 43 55 52  ECTED_SACL_SECUR
e410: 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ITY_INFORMATION 
e420: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
e430: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4e  enum : uint { UN
e440: 50 52 4f 54 45 43 54 45 44 5f 44 41 43 4c 5f 53  PROTECTED_DACL_S
e450: 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54  ECURITY_INFORMAT
e460: 49 4f 4e 20 3d 20 30 78 32 30 30 30 30 30 30 30  ION = 0x20000000
e470: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e480: 7b 20 55 4e 50 52 4f 54 45 43 54 45 44 5f 53 41  { UNPROTECTED_SA
e490: 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f  CL_SECURITY_INFO
e4a0: 52 4d 41 54 49 4f 4e 20 3d 20 30 78 31 30 30 30  RMATION = 0x1000
e4b0: 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
e4c0: 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f   uint { PROCESS_
e4d0: 54 45 52 4d 49 4e 41 54 45 20 3d 20 30 78 30 30  TERMINATE = 0x00
e4e0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
e4f0: 74 20 7b 20 50 52 4f 43 45 53 53 5f 43 52 45 41  t { PROCESS_CREA
e500: 54 45 5f 54 48 52 45 41 44 20 3d 20 30 78 30 30  TE_THREAD = 0x00
e510: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
e520: 74 20 7b 20 50 52 4f 43 45 53 53 5f 53 45 54 5f  t { PROCESS_SET_
e530: 53 45 53 53 49 4f 4e 49 44 20 3d 20 30 78 30 30  SESSIONID = 0x00
e540: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
e550: 74 20 7b 20 50 52 4f 43 45 53 53 5f 56 4d 5f 4f  t { PROCESS_VM_O
e560: 50 45 52 41 54 49 4f 4e 20 3d 20 30 78 30 30 30  PERATION = 0x000
e570: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
e580: 20 7b 20 50 52 4f 43 45 53 53 5f 56 4d 5f 52 45   { PROCESS_VM_RE
e590: 41 44 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65  AD = 0x0010 }..e
e5a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
e5b0: 43 45 53 53 5f 56 4d 5f 57 52 49 54 45 20 3d 20  CESS_VM_WRITE = 
e5c0: 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0020 }..enum :
e5d0: 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f   uint { PROCESS_
e5e0: 44 55 50 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30  DUP_HANDLE = 0x0
e5f0: 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
e600: 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f 43 52 45  nt { PROCESS_CRE
e610: 41 54 45 5f 50 52 4f 43 45 53 53 20 3d 20 30 78  ATE_PROCESS = 0x
e620: 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
e630: 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f 53 45  int { PROCESS_SE
e640: 54 5f 51 55 4f 54 41 20 3d 20 30 78 30 31 30 30  T_QUOTA = 0x0100
e650: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e660: 7b 20 50 52 4f 43 45 53 53 5f 53 45 54 5f 49 4e  { PROCESS_SET_IN
e670: 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30 32  FORMATION = 0x02
e680: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
e690: 74 20 7b 20 50 52 4f 43 45 53 53 5f 51 55 45 52  t { PROCESS_QUER
e6a0: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  Y_INFORMATION = 
e6b0: 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0400 }..enum :
e6c0: 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 5f   uint { PROCESS_
e6d0: 53 55 53 50 45 4e 44 5f 52 45 53 55 4d 45 20 3d  SUSPEND_RESUME =
e6e0: 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0800 }..enum 
e6f0: 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
e700: 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54  _ALL_ACCESS = ST
e710: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45  ANDARD_RIGHTS_RE
e720: 51 55 49 52 45 44 20 7c 20 53 59 4e 43 48 52 4f  QUIRED | SYNCHRO
e730: 4e 49 5a 45 20 7c 20 30 78 46 46 46 20 7d 0d 0a  NIZE | 0xFFF }..
e740: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
e750: 28 5f 57 49 4e 36 34 29 0d 0a 0d 0a 2f 2f 20 23  (_WIN64)....// #
e760: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  .......// #else.
e770: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
e780: 20 4d 41 58 49 4d 55 4d 5f 50 52 4f 43 45 53 53   MAXIMUM_PROCESS
e790: 4f 52 53 20 3d 20 33 32 20 7d 0d 0a 0d 0a 2f 2f  ORS = 32 }....//
e7a0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
e7b0: 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44 5f  : uint { THREAD_
e7c0: 54 45 52 4d 49 4e 41 54 45 20 3d 20 30 78 30 30  TERMINATE = 0x00
e7d0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
e7e0: 74 20 7b 20 54 48 52 45 41 44 5f 53 55 53 50 45  t { THREAD_SUSPE
e7f0: 4e 44 5f 52 45 53 55 4d 45 20 3d 20 30 78 30 30  ND_RESUME = 0x00
e800: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
e810: 74 20 7b 20 54 48 52 45 41 44 5f 47 45 54 5f 43  t { THREAD_GET_C
e820: 4f 4e 54 45 58 54 20 3d 20 30 78 30 30 30 38 20  ONTEXT = 0x0008 
e830: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e840: 20 54 48 52 45 41 44 5f 53 45 54 5f 43 4f 4e 54   THREAD_SET_CONT
e850: 45 58 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  EXT = 0x0010 }..
e860: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 48  enum : uint { TH
e870: 52 45 41 44 5f 53 45 54 5f 49 4e 46 4f 52 4d 41  READ_SET_INFORMA
e880: 54 49 4f 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d  TION = 0x0020 }.
e890: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e8a0: 48 52 45 41 44 5f 51 55 45 52 59 5f 49 4e 46 4f  HREAD_QUERY_INFO
e8b0: 52 4d 41 54 49 4f 4e 20 3d 20 30 78 30 30 34 30  RMATION = 0x0040
e8c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e8d0: 7b 20 54 48 52 45 41 44 5f 53 45 54 5f 54 48 52  { THREAD_SET_THR
e8e0: 45 41 44 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30  EAD_TOKEN = 0x00
e8f0: 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
e900: 74 20 7b 20 54 48 52 45 41 44 5f 49 4d 50 45 52  t { THREAD_IMPER
e910: 53 4f 4e 41 54 45 20 3d 20 30 78 30 31 30 30 20  SONATE = 0x0100 
e920: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e930: 20 54 48 52 45 41 44 5f 44 49 52 45 43 54 5f 49   THREAD_DIRECT_I
e940: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 20 3d 20 30  MPERSONATION = 0
e950: 78 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0200 }....enum 
e960: 3a 20 75 69 6e 74 20 7b 20 54 48 52 45 41 44 5f  : uint { THREAD_
e970: 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41  ALL_ACCESS = STA
e980: 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51  NDARD_RIGHTS_REQ
e990: 55 49 52 45 44 20 7c 20 53 59 4e 43 48 52 4f 4e  UIRED | SYNCHRON
e9a0: 49 5a 45 20 7c 20 30 78 33 46 46 20 7d 0d 0a 0d  IZE | 0x3FF }...
e9b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
e9c0: 4f 42 5f 4f 42 4a 45 43 54 5f 41 53 53 49 47 4e  OB_OBJECT_ASSIGN
e9d0: 5f 50 52 4f 43 45 53 53 20 3d 20 30 78 30 30 30  _PROCESS = 0x000
e9e0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
e9f0: 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 53 45   { JOB_OBJECT_SE
ea00: 54 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20 30  T_ATTRIBUTES = 0
ea10: 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
ea20: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
ea30: 54 5f 51 55 45 52 59 20 3d 20 30 78 30 30 30 34  T_QUERY = 0x0004
ea40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ea50: 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 54 45 52  { JOB_OBJECT_TER
ea60: 4d 49 4e 41 54 45 20 3d 20 30 78 30 30 30 38 20  MINATE = 0x0008 
ea70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ea80: 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 53 45 54 5f   JOB_OBJECT_SET_
ea90: 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42 55  SECURITY_ATTRIBU
eaa0: 54 45 53 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  TES = 0x0010 }..
eab0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
eac0: 42 5f 4f 42 4a 45 43 54 5f 41 4c 4c 5f 41 43 43  B_OBJECT_ALL_ACC
ead0: 45 53 53 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  ESS = STANDARD_R
eae0: 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 20 7c  IGHTS_REQUIRED |
eaf0: 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 30   SYNCHRONIZE | 0
eb00: 78 31 46 20 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  x1F  }....struct
eb10: 20 5f 4a 4f 42 5f 53 45 54 5f 41 52 52 41 59 20   _JOB_SET_ARRAY 
eb20: 7b 0d 0a 20 20 48 41 4e 44 4c 45 20 4a 6f 62 48  {..  HANDLE JobH
eb30: 61 6e 64 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20  andle;..  DWORD 
eb40: 4d 65 6d 62 65 72 4c 65 76 65 6c 3b 0d 0a 20 20  MemberLevel;..  
eb50: 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 7d 0d  DWORD Flags;..}.
eb60: 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f 53 45 54 5f  .alias _JOB_SET_
eb70: 41 52 52 41 59 20 4a 4f 42 5f 53 45 54 5f 41 52  ARRAY JOB_SET_AR
eb80: 52 41 59 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  RAY;..alias _JOB
eb90: 5f 53 45 54 5f 41 52 52 41 59 2a 20 50 4a 4f 42  _SET_ARRAY* PJOB
eba0: 5f 53 45 54 5f 41 52 52 41 59 3b 0d 0a 0d 0a 65  _SET_ARRAY;....e
ebb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4c 53  num : uint { TLS
ebc0: 5f 4d 49 4e 49 4d 55 4d 5f 41 56 41 49 4c 41 42  _MINIMUM_AVAILAB
ebd0: 4c 45 20 3d 20 36 34 20 7d 0d 0a 0d 0a 73 74 72  LE = 64 }....str
ebe0: 75 63 74 20 5f 4e 54 5f 54 49 42 20 7b 0d 0a 20  uct _NT_TIB {.. 
ebf0: 20 5f 45 58 43 45 50 54 49 4f 4e 5f 52 45 47 49   _EXCEPTION_REGI
ec00: 53 54 52 41 54 49 4f 4e 5f 52 45 43 4f 52 44 20  STRATION_RECORD 
ec10: 2a 45 78 63 65 70 74 69 6f 6e 4c 69 73 74 3b 0d  *ExceptionList;.
ec20: 0a 20 20 50 56 4f 49 44 20 53 74 61 63 6b 42 61  .  PVOID StackBa
ec30: 73 65 3b 0d 0a 20 20 50 56 4f 49 44 20 53 74 61  se;..  PVOID Sta
ec40: 63 6b 4c 69 6d 69 74 3b 0d 0a 20 20 50 56 4f 49  ckLimit;..  PVOI
ec50: 44 20 53 75 62 53 79 73 74 65 6d 54 69 62 3b 0d  D SubSystemTib;.
ec60: 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 50 56 4f 49  .union {..  PVOI
ec70: 44 20 46 69 62 65 72 44 61 74 61 3b 0d 0a 20 20  D FiberData;..  
ec80: 44 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b 0d 0a  DWORD Version;..
ec90: 7d 0d 0a 0d 0a 20 20 50 56 4f 49 44 20 41 72 62  }....  PVOID Arb
eca0: 69 74 72 61 72 79 55 73 65 72 50 6f 69 6e 74 65  itraryUserPointe
ecb0: 72 3b 0d 0a 20 20 5f 4e 54 5f 54 49 42 20 2a 53  r;..  _NT_TIB *S
ecc0: 65 6c 66 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  elf;..}..alias _
ecd0: 4e 54 5f 54 49 42 20 4e 54 5f 54 49 42 3b 0d 0a  NT_TIB NT_TIB;..
ece0: 0d 0a 61 6c 69 61 73 20 4e 54 5f 54 49 42 2a 20  ..alias NT_TIB* 
ecf0: 50 4e 54 5f 54 49 42 3b 0d 0a 0d 0a 73 74 72 75  PNT_TIB;....stru
ed00: 63 74 20 5f 4e 54 5f 54 49 42 33 32 20 7b 0d 0a  ct _NT_TIB32 {..
ed10: 20 20 44 57 4f 52 44 20 45 78 63 65 70 74 69 6f    DWORD Exceptio
ed20: 6e 4c 69 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20  nList;..  DWORD 
ed30: 53 74 61 63 6b 42 61 73 65 3b 0d 0a 20 20 44 57  StackBase;..  DW
ed40: 4f 52 44 20 53 74 61 63 6b 4c 69 6d 69 74 3b 0d  ORD StackLimit;.
ed50: 0a 20 20 44 57 4f 52 44 20 53 75 62 53 79 73 74  .  DWORD SubSyst
ed60: 65 6d 54 69 62 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d  emTib;..union {.
ed70: 0a 20 20 44 57 4f 52 44 20 46 69 62 65 72 44 61  .  DWORD FiberDa
ed80: 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 56 65 72  ta;..  DWORD Ver
ed90: 73 69 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57  sion;..}....  DW
eda0: 4f 52 44 20 41 72 62 69 74 72 61 72 79 55 73 65  ORD ArbitraryUse
edb0: 72 50 6f 69 6e 74 65 72 3b 0d 0a 20 20 44 57 4f  rPointer;..  DWO
edc0: 52 44 20 53 65 6c 66 3b 0d 0a 7d 0d 0a 61 6c 69  RD Self;..}..ali
edd0: 61 73 20 5f 4e 54 5f 54 49 42 33 32 20 4e 54 5f  as _NT_TIB32 NT_
ede0: 54 49 42 33 32 3b 0d 0a 61 6c 69 61 73 20 5f 4e  TIB32;..alias _N
edf0: 54 5f 54 49 42 33 32 2a 20 50 4e 54 5f 54 49 42  T_TIB32* PNT_TIB
ee00: 33 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4e  32;....struct _N
ee10: 54 5f 54 49 42 36 34 20 7b 0d 0a 20 20 44 57 4f  T_TIB64 {..  DWO
ee20: 52 44 36 34 20 45 78 63 65 70 74 69 6f 6e 4c 69  RD64 ExceptionLi
ee30: 73 74 3b 0d 0a 20 20 44 57 4f 52 44 36 34 20 53  st;..  DWORD64 S
ee40: 74 61 63 6b 42 61 73 65 3b 0d 0a 20 20 44 57 4f  tackBase;..  DWO
ee50: 52 44 36 34 20 53 74 61 63 6b 4c 69 6d 69 74 3b  RD64 StackLimit;
ee60: 0d 0a 20 20 44 57 4f 52 44 36 34 20 53 75 62 53  ..  DWORD64 SubS
ee70: 79 73 74 65 6d 54 69 62 3b 0d 0a 75 6e 69 6f 6e  ystemTib;..union
ee80: 20 7b 0d 0a 20 20 44 57 4f 52 44 36 34 20 46 69   {..  DWORD64 Fi
ee90: 62 65 72 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  berData;..  DWOR
eea0: 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 7d 0d 0a 0d  D Version;..}...
eeb0: 0a 20 20 44 57 4f 52 44 36 34 20 41 72 62 69 74  .  DWORD64 Arbit
eec0: 72 61 72 79 55 73 65 72 50 6f 69 6e 74 65 72 3b  raryUserPointer;
eed0: 0d 0a 20 20 44 57 4f 52 44 36 34 20 53 65 6c 66  ..  DWORD64 Self
eee0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4e 54 5f  ;..}..alias _NT_
eef0: 54 49 42 36 34 20 4e 54 5f 54 49 42 36 34 3b 0d  TIB64 NT_TIB64;.
ef00: 0a 61 6c 69 61 73 20 5f 4e 54 5f 54 49 42 36 34  .alias _NT_TIB64
ef10: 2a 20 50 4e 54 5f 54 49 42 36 34 3b 0d 0a 0d 0a  * PNT_TIB64;....
ef20: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
ef30: 5f 58 38 36 5f 29 20 26 26 20 21 64 65 66 69 6e  _X86_) && !defin
ef40: 65 64 28 5f 49 41 36 34 5f 29 20 26 26 20 21 64  ed(_IA64_) && !d
ef50: 65 66 69 6e 65 64 28 5f 41 4d 44 36 34 5f 29 0d  efined(_AMD64_).
ef60: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
ef70: 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
ef80: 6e 74 20 7b 20 54 48 52 45 41 44 5f 42 41 53 45  nt { THREAD_BASE
ef90: 5f 50 52 49 4f 52 49 54 59 5f 4c 4f 57 52 54 20  _PRIORITY_LOWRT 
efa0: 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 15 }..enum : u
efb0: 69 6e 74 20 7b 20 54 48 52 45 41 44 5f 42 41 53  int { THREAD_BAS
efc0: 45 5f 50 52 49 4f 52 49 54 59 5f 4d 41 58 20 3d  E_PRIORITY_MAX =
efd0: 20 32 20 7d 0d 0a 65 6e 75 6d 20 7b 20 54 48 52   2 }..enum { THR
efe0: 45 41 44 5f 42 41 53 45 5f 50 52 49 4f 52 49 54  EAD_BASE_PRIORIT
eff0: 59 5f 4d 49 4e 20 3d 20 2d 32 20 7d 0d 0a 65 6e  Y_MIN = -2 }..en
f000: 75 6d 20 7b 20 54 48 52 45 41 44 5f 42 41 53 45  um { THREAD_BASE
f010: 5f 50 52 49 4f 52 49 54 59 5f 49 44 4c 45 20 3d  _PRIORITY_IDLE =
f020: 20 2d 31 35 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   -15 }....struct
f030: 20 5f 51 55 4f 54 41 5f 4c 49 4d 49 54 53 20 7b   _QUOTA_LIMITS {
f040: 0d 0a 20 20 53 49 5a 45 5f 54 20 50 61 67 65 64  ..  SIZE_T Paged
f050: 50 6f 6f 6c 4c 69 6d 69 74 3b 0d 0a 20 20 53 49  PoolLimit;..  SI
f060: 5a 45 5f 54 20 4e 6f 6e 50 61 67 65 64 50 6f 6f  ZE_T NonPagedPoo
f070: 6c 4c 69 6d 69 74 3b 0d 0a 20 20 53 49 5a 45 5f  lLimit;..  SIZE_
f080: 54 20 4d 69 6e 69 6d 75 6d 57 6f 72 6b 69 6e 67  T MinimumWorking
f090: 53 65 74 53 69 7a 65 3b 0d 0a 20 20 53 49 5a 45  SetSize;..  SIZE
f0a0: 5f 54 20 4d 61 78 69 6d 75 6d 57 6f 72 6b 69 6e  _T MaximumWorkin
f0b0: 67 53 65 74 53 69 7a 65 3b 0d 0a 20 20 53 49 5a  gSetSize;..  SIZ
f0c0: 45 5f 54 20 50 61 67 65 66 69 6c 65 4c 69 6d 69  E_T PagefileLimi
f0d0: 74 3b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45  t;..  LARGE_INTE
f0e0: 47 45 52 20 54 69 6d 65 4c 69 6d 69 74 3b 0d 0a  GER TimeLimit;..
f0f0: 7d 0d 0a 61 6c 69 61 73 20 5f 51 55 4f 54 41 5f  }..alias _QUOTA_
f100: 4c 49 4d 49 54 53 20 51 55 4f 54 41 5f 4c 49 4d  LIMITS QUOTA_LIM
f110: 49 54 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20 51 55  ITS;....alias QU
f120: 4f 54 41 5f 4c 49 4d 49 54 53 2a 20 50 51 55 4f  OTA_LIMITS* PQUO
f130: 54 41 5f 4c 49 4d 49 54 53 3b 0d 0a 0d 0a 73 74  TA_LIMITS;....st
f140: 72 75 63 74 20 5f 49 4f 5f 43 4f 55 4e 54 45 52  ruct _IO_COUNTER
f150: 53 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  S {..  ULONGLONG
f160: 20 52 65 61 64 4f 70 65 72 61 74 69 6f 6e 43 6f   ReadOperationCo
f170: 75 6e 74 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  unt;..  ULONGLON
f180: 47 20 57 72 69 74 65 4f 70 65 72 61 74 69 6f 6e  G WriteOperation
f190: 43 6f 75 6e 74 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  Count;..  ULONGL
f1a0: 4f 4e 47 20 4f 74 68 65 72 4f 70 65 72 61 74 69  ONG OtherOperati
f1b0: 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 55 4c 4f 4e  onCount;..  ULON
f1c0: 47 4c 4f 4e 47 20 52 65 61 64 54 72 61 6e 73 66  GLONG ReadTransf
f1d0: 65 72 43 6f 75 6e 74 3b 0d 0a 20 20 55 4c 4f 4e  erCount;..  ULON
f1e0: 47 4c 4f 4e 47 20 57 72 69 74 65 54 72 61 6e 73  GLONG WriteTrans
f1f0: 66 65 72 43 6f 75 6e 74 3b 0d 0a 20 20 55 4c 4f  ferCount;..  ULO
f200: 4e 47 4c 4f 4e 47 20 4f 74 68 65 72 54 72 61 6e  NGLONG OtherTran
f210: 73 66 65 72 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a 61  sferCount;..}..a
f220: 6c 69 61 73 20 5f 49 4f 5f 43 4f 55 4e 54 45 52  lias _IO_COUNTER
f230: 53 20 49 4f 5f 43 4f 55 4e 54 45 52 53 3b 0d 0a  S IO_COUNTERS;..
f240: 0d 0a 61 6c 69 61 73 20 49 4f 5f 43 4f 55 4e 54  ..alias IO_COUNT
f250: 45 52 53 2a 20 50 49 4f 5f 43 4f 55 4e 54 45 52  ERS* PIO_COUNTER
f260: 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f  S;....struct _JO
f270: 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43  BOBJECT_BASIC_AC
f280: 43 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41  COUNTING_INFORMA
f290: 54 49 4f 4e 20 7b 0d 0a 20 20 4c 41 52 47 45 5f  TION {..  LARGE_
f2a0: 49 4e 54 45 47 45 52 20 54 6f 74 61 6c 55 73 65  INTEGER TotalUse
f2b0: 72 54 69 6d 65 3b 0d 0a 20 20 4c 41 52 47 45 5f  rTime;..  LARGE_
f2c0: 49 4e 54 45 47 45 52 20 54 6f 74 61 6c 4b 65 72  INTEGER TotalKer
f2d0: 6e 65 6c 54 69 6d 65 3b 0d 0a 20 20 4c 41 52 47  nelTime;..  LARG
f2e0: 45 5f 49 4e 54 45 47 45 52 20 54 68 69 73 50 65  E_INTEGER ThisPe
f2f0: 72 69 6f 64 54 6f 74 61 6c 55 73 65 72 54 69 6d  riodTotalUserTim
f300: 65 3b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e 54 45  e;..  LARGE_INTE
f310: 47 45 52 20 54 68 69 73 50 65 72 69 6f 64 54 6f  GER ThisPeriodTo
f320: 74 61 6c 4b 65 72 6e 65 6c 54 69 6d 65 3b 0d 0a  talKernelTime;..
f330: 20 20 44 57 4f 52 44 20 54 6f 74 61 6c 50 61 67    DWORD TotalPag
f340: 65 46 61 75 6c 74 43 6f 75 6e 74 3b 0d 0a 20 20  eFaultCount;..  
f350: 44 57 4f 52 44 20 54 6f 74 61 6c 50 72 6f 63 65  DWORD TotalProce
f360: 73 73 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41  sses;..  DWORD A
f370: 63 74 69 76 65 50 72 6f 63 65 73 73 65 73 3b 0d  ctiveProcesses;.
f380: 0a 20 20 44 57 4f 52 44 20 54 6f 74 61 6c 54 65  .  DWORD TotalTe
f390: 72 6d 69 6e 61 74 65 64 50 72 6f 63 65 73 73 65  rminatedProcesse
f3a0: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f  s;..}..alias _JO
f3b0: 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43  BOBJECT_BASIC_AC
f3c0: 43 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41  COUNTING_INFORMA
f3d0: 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45 43 54 5f 42  TION JOBOBJECT_B
f3e0: 41 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f  ASIC_ACCOUNTING_
f3f0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c  INFORMATION;..al
f400: 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42  ias _JOBOBJECT_B
f410: 41 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f  ASIC_ACCOUNTING_
f420: 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f  INFORMATION* PJO
f430: 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43  BOBJECT_BASIC_AC
f440: 43 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41  COUNTING_INFORMA
f450: 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TION;....struct 
f460: 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43  _JOBOBJECT_BASIC
f470: 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49  _LIMIT_INFORMATI
f480: 4f 4e 20 7b 0d 0a 20 20 4c 41 52 47 45 5f 49 4e  ON {..  LARGE_IN
f490: 54 45 47 45 52 20 50 65 72 50 72 6f 63 65 73 73  TEGER PerProcess
f4a0: 55 73 65 72 54 69 6d 65 4c 69 6d 69 74 3b 0d 0a  UserTimeLimit;..
f4b0: 20 20 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20    LARGE_INTEGER 
f4c0: 50 65 72 4a 6f 62 55 73 65 72 54 69 6d 65 4c 69  PerJobUserTimeLi
f4d0: 6d 69 74 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 69  mit;..  DWORD Li
f4e0: 6d 69 74 46 6c 61 67 73 3b 0d 0a 20 20 53 49 5a  mitFlags;..  SIZ
f4f0: 45 5f 54 20 4d 69 6e 69 6d 75 6d 57 6f 72 6b 69  E_T MinimumWorki
f500: 6e 67 53 65 74 53 69 7a 65 3b 0d 0a 20 20 53 49  ngSetSize;..  SI
f510: 5a 45 5f 54 20 4d 61 78 69 6d 75 6d 57 6f 72 6b  ZE_T MaximumWork
f520: 69 6e 67 53 65 74 53 69 7a 65 3b 0d 0a 20 20 44  ingSetSize;..  D
f530: 57 4f 52 44 20 41 63 74 69 76 65 50 72 6f 63 65  WORD ActiveProce
f540: 73 73 4c 69 6d 69 74 3b 0d 0a 20 20 55 4c 4f 4e  ssLimit;..  ULON
f550: 47 5f 50 54 52 20 41 66 66 69 6e 69 74 79 3b 0d  G_PTR Affinity;.
f560: 0a 20 20 44 57 4f 52 44 20 50 72 69 6f 72 69 74  .  DWORD Priorit
f570: 79 43 6c 61 73 73 3b 0d 0a 20 20 44 57 4f 52 44  yClass;..  DWORD
f580: 20 53 63 68 65 64 75 6c 69 6e 67 43 6c 61 73 73   SchedulingClass
f590: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ;..}..alias _JOB
f5a0: 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d  OBJECT_BASIC_LIM
f5b0: 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a  IT_INFORMATION J
f5c0: 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c  OBOBJECT_BASIC_L
f5d0: 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  IMIT_INFORMATION
f5e0: 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a  ;..alias _JOBOBJ
f5f0: 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d 49 54 5f  ECT_BASIC_LIMIT_
f600: 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f  INFORMATION* PJO
f610: 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49  BOBJECT_BASIC_LI
f620: 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  MIT_INFORMATION;
f630: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f  ....struct _JOBO
f640: 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f 4c  BJECT_EXTENDED_L
f650: 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  IMIT_INFORMATION
f660: 20 7b 0d 0a 20 20 4a 4f 42 4f 42 4a 45 43 54 5f   {..  JOBOBJECT_
f670: 42 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f  BASIC_LIMIT_INFO
f680: 52 4d 41 54 49 4f 4e 20 42 61 73 69 63 4c 69 6d  RMATION BasicLim
f690: 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0d 0a  itInformation;..
f6a0: 20 20 49 4f 5f 43 4f 55 4e 54 45 52 53 20 49 6f    IO_COUNTERS Io
f6b0: 49 6e 66 6f 3b 0d 0a 20 20 53 49 5a 45 5f 54 20  Info;..  SIZE_T 
f6c0: 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 4c 69 6d  ProcessMemoryLim
f6d0: 69 74 3b 0d 0a 20 20 53 49 5a 45 5f 54 20 4a 6f  it;..  SIZE_T Jo
f6e0: 62 4d 65 6d 6f 72 79 4c 69 6d 69 74 3b 0d 0a 20  bMemoryLimit;.. 
f6f0: 20 53 49 5a 45 5f 54 20 50 65 61 6b 50 72 6f 63   SIZE_T PeakProc
f700: 65 73 73 4d 65 6d 6f 72 79 55 73 65 64 3b 0d 0a  essMemoryUsed;..
f710: 20 20 53 49 5a 45 5f 54 20 50 65 61 6b 4a 6f 62    SIZE_T PeakJob
f720: 4d 65 6d 6f 72 79 55 73 65 64 3b 0d 0a 7d 0d 0a  MemoryUsed;..}..
f730: 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54  alias _JOBOBJECT
f740: 5f 45 58 54 45 4e 44 45 44 5f 4c 49 4d 49 54 5f  _EXTENDED_LIMIT_
f750: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 4a 4f 42 4f  INFORMATION JOBO
f760: 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f 4c  BJECT_EXTENDED_L
f770: 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  IMIT_INFORMATION
f780: 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a  ;..alias _JOBOBJ
f790: 45 43 54 5f 45 58 54 45 4e 44 45 44 5f 4c 49 4d  ECT_EXTENDED_LIM
f7a0: 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20  IT_INFORMATION* 
f7b0: 50 4a 4f 42 4f 42 4a 45 43 54 5f 45 58 54 45 4e  PJOBOBJECT_EXTEN
f7c0: 44 45 44 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d  DED_LIMIT_INFORM
f7d0: 41 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  ATION;....struct
f7e0: 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49   _JOBOBJECT_BASI
f7f0: 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f 4c 49 53  C_PROCESS_ID_LIS
f800: 54 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d  T {..  DWORD Num
f810: 62 65 72 4f 66 41 73 73 69 67 6e 65 64 50 72 6f  berOfAssignedPro
f820: 63 65 73 73 65 73 3b 0d 0a 20 20 44 57 4f 52 44  cesses;..  DWORD
f830: 20 4e 75 6d 62 65 72 4f 66 50 72 6f 63 65 73 73   NumberOfProcess
f840: 49 64 73 49 6e 4c 69 73 74 3b 0d 0a 20 20 55 4c  IdsInList;..  UL
f850: 4f 4e 47 5f 50 54 52 20 50 72 6f 63 65 73 73 49  ONG_PTR ProcessI
f860: 64 4c 69 73 74 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c  dList[1];..}..al
f870: 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42  ias _JOBOBJECT_B
f880: 41 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f  ASIC_PROCESS_ID_
f890: 4c 49 53 54 20 4a 4f 42 4f 42 4a 45 43 54 5f 42  LIST JOBOBJECT_B
f8a0: 41 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f  ASIC_PROCESS_ID_
f8b0: 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f  LIST;..alias _JO
f8c0: 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 50 52  BOBJECT_BASIC_PR
f8d0: 4f 43 45 53 53 5f 49 44 5f 4c 49 53 54 2a 20 50  OCESS_ID_LIST* P
f8e0: 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
f8f0: 50 52 4f 43 45 53 53 5f 49 44 5f 4c 49 53 54 3b  PROCESS_ID_LIST;
f900: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f  ....struct _JOBO
f910: 42 4a 45 43 54 5f 42 41 53 49 43 5f 55 49 5f 52  BJECT_BASIC_UI_R
f920: 45 53 54 52 49 43 54 49 4f 4e 53 20 7b 0d 0a 20  ESTRICTIONS {.. 
f930: 20 44 57 4f 52 44 20 55 49 52 65 73 74 72 69 63   DWORD UIRestric
f940: 74 69 6f 6e 73 43 6c 61 73 73 3b 0d 0a 7d 0d 0a  tionsClass;..}..
f950: 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a 45 43 54  alias _JOBOBJECT
f960: 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49  _BASIC_UI_RESTRI
f970: 43 54 49 4f 4e 53 20 4a 4f 42 4f 42 4a 45 43 54  CTIONS JOBOBJECT
f980: 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49  _BASIC_UI_RESTRI
f990: 43 54 49 4f 4e 53 3b 0d 0a 61 6c 69 61 73 20 5f  CTIONS;..alias _
f9a0: 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
f9b0: 55 49 5f 52 45 53 54 52 49 43 54 49 4f 4e 53 2a  UI_RESTRICTIONS*
f9c0: 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49   PJOBOBJECT_BASI
f9d0: 43 5f 55 49 5f 52 45 53 54 52 49 43 54 49 4f 4e  C_UI_RESTRICTION
f9e0: 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f  S;....struct _JO
f9f0: 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59  BOBJECT_SECURITY
fa00: 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49  _LIMIT_INFORMATI
fa10: 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53 65  ON {..  DWORD Se
fa20: 63 75 72 69 74 79 4c 69 6d 69 74 46 6c 61 67 73  curityLimitFlags
fa30: 20 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 4a 6f 62   ;..  HANDLE Job
fa40: 54 6f 6b 65 6e 20 3b 0d 0a 20 20 50 54 4f 4b 45  Token ;..  PTOKE
fa50: 4e 5f 47 52 4f 55 50 53 20 53 69 64 73 54 6f 44  N_GROUPS SidsToD
fa60: 69 73 61 62 6c 65 20 3b 0d 0a 20 20 50 54 4f 4b  isable ;..  PTOK
fa70: 45 4e 5f 50 52 49 56 49 4c 45 47 45 53 20 50 72  EN_PRIVILEGES Pr
fa80: 69 76 69 6c 65 67 65 73 54 6f 44 65 6c 65 74 65  ivilegesToDelete
fa90: 20 3b 0d 0a 20 20 50 54 4f 4b 45 4e 5f 47 52 4f   ;..  PTOKEN_GRO
faa0: 55 50 53 20 52 65 73 74 72 69 63 74 65 64 53 69  UPS RestrictedSi
fab0: 64 73 20 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ds ;..}..alias _
fac0: 4a 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49  JOBOBJECT_SECURI
fad0: 54 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41  TY_LIMIT_INFORMA
fae0: 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45 43 54 5f 53  TION JOBOBJECT_S
faf0: 45 43 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49 4e  ECURITY_LIMIT_IN
fb00: 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61  FORMATION;..alia
fb10: 73 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 53 45 43  s _JOBOBJECT_SEC
fb20: 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f  URITY_LIMIT_INFO
fb30: 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a  RMATION* PJOBOBJ
fb40: 45 43 54 5f 53 45 43 55 52 49 54 59 5f 4c 49 4d  ECT_SECURITY_LIM
fb50: 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  IT_INFORMATION;.
fb60: 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f 42  ...struct _JOBOB
fb70: 4a 45 43 54 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f  JECT_END_OF_JOB_
fb80: 54 49 4d 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  TIME_INFORMATION
fb90: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 45 6e 64 4f   {..  DWORD EndO
fba0: 66 4a 6f 62 54 69 6d 65 41 63 74 69 6f 6e 3b 0d  fJobTimeAction;.
fbb0: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42  .}..alias _JOBOB
fbc0: 4a 45 43 54 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f  JECT_END_OF_JOB_
fbd0: 54 49 4d 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  TIME_INFORMATION
fbe0: 20 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f   JOBOBJECT_END_O
fbf0: 46 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52  F_JOB_TIME_INFOR
fc00: 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f  MATION;..alias _
fc10: 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46  JOBOBJECT_END_OF
fc20: 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d  _JOB_TIME_INFORM
fc30: 41 54 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43  ATION* PJOBOBJEC
fc40: 54 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d  T_END_OF_JOB_TIM
fc50: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  E_INFORMATION;..
fc60: 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f 42 4a  ..struct _JOBOBJ
fc70: 45 43 54 5f 41 53 53 4f 43 49 41 54 45 5f 43 4f  ECT_ASSOCIATE_CO
fc80: 4d 50 4c 45 54 49 4f 4e 5f 50 4f 52 54 20 7b 0d  MPLETION_PORT {.
fc90: 0a 20 20 50 56 4f 49 44 20 43 6f 6d 70 6c 65 74  .  PVOID Complet
fca0: 69 6f 6e 4b 65 79 3b 0d 0a 20 20 48 41 4e 44 4c  ionKey;..  HANDL
fcb0: 45 20 43 6f 6d 70 6c 65 74 69 6f 6e 50 6f 72 74  E CompletionPort
fcc0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ;..}..alias _JOB
fcd0: 4f 42 4a 45 43 54 5f 41 53 53 4f 43 49 41 54 45  OBJECT_ASSOCIATE
fce0: 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 50 4f 52 54  _COMPLETION_PORT
fcf0: 20 4a 4f 42 4f 42 4a 45 43 54 5f 41 53 53 4f 43   JOBOBJECT_ASSOC
fd00: 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f  IATE_COMPLETION_
fd10: 50 4f 52 54 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f  PORT;..alias _JO
fd20: 42 4f 42 4a 45 43 54 5f 41 53 53 4f 43 49 41 54  BOBJECT_ASSOCIAT
fd30: 45 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 50 4f 52  E_COMPLETION_POR
fd40: 54 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 41 53  T* PJOBOBJECT_AS
fd50: 53 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49  SOCIATE_COMPLETI
fd60: 4f 4e 5f 50 4f 52 54 3b 0d 0a 0d 0a 73 74 72 75  ON_PORT;....stru
fd70: 63 74 20 5f 4a 4f 42 4f 42 4a 45 43 54 5f 42 41  ct _JOBOBJECT_BA
fd80: 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43 4f 55  SIC_AND_IO_ACCOU
fd90: 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f  NTING_INFORMATIO
fda0: 4e 20 7b 0d 0a 20 20 4a 4f 42 4f 42 4a 45 43 54  N {..  JOBOBJECT
fdb0: 5f 42 41 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e  _BASIC_ACCOUNTIN
fdc0: 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 42 61  G_INFORMATION Ba
fdd0: 73 69 63 49 6e 66 6f 3b 0d 0a 20 20 49 4f 5f 43  sicInfo;..  IO_C
fde0: 4f 55 4e 54 45 52 53 20 49 6f 49 6e 66 6f 3b 0d  OUNTERS IoInfo;.
fdf0: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42  .}..alias _JOBOB
fe00: 4a 45 43 54 5f 42 41 53 49 43 5f 41 4e 44 5f 49  JECT_BASIC_AND_I
fe10: 4f 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49 4e 46  O_ACCOUNTING_INF
fe20: 4f 52 4d 41 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45  ORMATION JOBOBJE
fe30: 43 54 5f 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f  CT_BASIC_AND_IO_
fe40: 41 43 43 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52  ACCOUNTING_INFOR
fe50: 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f  MATION;..alias _
fe60: 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
fe70: 41 4e 44 5f 49 4f 5f 41 43 43 4f 55 4e 54 49 4e  AND_IO_ACCOUNTIN
fe80: 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50  G_INFORMATION* P
fe90: 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f  JOBOBJECT_BASIC_
fea0: 41 4e 44 5f 49 4f 5f 41 43 43 4f 55 4e 54 49 4e  AND_IO_ACCOUNTIN
feb0: 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  G_INFORMATION;..
fec0: 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 4f 42 4a  ..struct _JOBOBJ
fed0: 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e 46 4f 52  ECT_JOBSET_INFOR
fee0: 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52  MATION {..  DWOR
fef0: 44 20 4d 65 6d 62 65 72 4c 65 76 65 6c 3b 0d 0a  D MemberLevel;..
ff00: 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 4f 42 4a  }..alias _JOBOBJ
ff10: 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e 46 4f 52  ECT_JOBSET_INFOR
ff20: 4d 41 54 49 4f 4e 20 4a 4f 42 4f 42 4a 45 43 54  MATION JOBOBJECT
ff30: 5f 4a 4f 42 53 45 54 5f 49 4e 46 4f 52 4d 41 54  _JOBSET_INFORMAT
ff40: 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ION;..alias _JOB
ff50: 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e  OBJECT_JOBSET_IN
ff60: 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f 42 4f  FORMATION* PJOBO
ff70: 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e 46  BJECT_JOBSET_INF
ff80: 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75  ORMATION;....enu
ff90: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
ffa0: 42 4a 45 43 54 5f 54 45 52 4d 49 4e 41 54 45 5f  BJECT_TERMINATE_
ffb0: 41 54 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 20 3d 20  AT_END_OF_JOB = 
ffc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ffd0: 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 50 4f   { JOB_OBJECT_PO
ffe0: 53 54 5f 41 54 5f 45 4e 44 5f 4f 46 5f 4a 4f 42  ST_AT_END_OF_JOB
fff0: 20 3d 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 1 }....enum :
10000 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45   uint { JOB_OBJE
10010 43 54 5f 4d 53 47 5f 45 4e 44 5f 4f 46 5f 4a 4f  CT_MSG_END_OF_JO
10020 42 5f 54 49 4d 45 20 3d 20 31 20 7d 0d 0a 65 6e  B_TIME = 1 }..en
10030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
10040 4f 42 4a 45 43 54 5f 4d 53 47 5f 45 4e 44 5f 4f  OBJECT_MSG_END_O
10050 46 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45 20 3d  F_PROCESS_TIME =
10060 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
10070 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d  t { JOB_OBJECT_M
10080 53 47 5f 41 43 54 49 56 45 5f 50 52 4f 43 45 53  SG_ACTIVE_PROCES
10090 53 5f 4c 49 4d 49 54 20 3d 20 33 20 7d 0d 0a 65  S_LIMIT = 3 }..e
100a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
100b0 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 41 43 54 49  _OBJECT_MSG_ACTI
100c0 56 45 5f 50 52 4f 43 45 53 53 5f 5a 45 52 4f 20  VE_PROCESS_ZERO 
100d0 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
100e0 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
100f0 4d 53 47 5f 4e 45 57 5f 50 52 4f 43 45 53 53 20  MSG_NEW_PROCESS 
10100 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
10110 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
10120 4d 53 47 5f 45 58 49 54 5f 50 52 4f 43 45 53 53  MSG_EXIT_PROCESS
10130 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
10140 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54  int { JOB_OBJECT
10150 5f 4d 53 47 5f 41 42 4e 4f 52 4d 41 4c 5f 45 58  _MSG_ABNORMAL_EX
10160 49 54 5f 50 52 4f 43 45 53 53 20 3d 20 38 20 7d  IT_PROCESS = 8 }
10170 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10180 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 50  JOB_OBJECT_MSG_P
10190 52 4f 43 45 53 53 5f 4d 45 4d 4f 52 59 5f 4c 49  ROCESS_MEMORY_LI
101a0 4d 49 54 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20  MIT = 9 }..enum 
101b0 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
101c0 45 43 54 5f 4d 53 47 5f 4a 4f 42 5f 4d 45 4d 4f  ECT_MSG_JOB_MEMO
101d0 52 59 5f 4c 49 4d 49 54 20 3d 20 31 30 20 7d 0d  RY_LIMIT = 10 }.
101e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
101f0 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49   JOB_OBJECT_LIMI
10200 54 5f 57 4f 52 4b 49 4e 47 53 45 54 20 3d 20 30  T_WORKINGSET = 0
10210 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
10220 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10230 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 50 52 4f 43  BJECT_LIMIT_PROC
10240 45 53 53 5f 54 49 4d 45 20 3d 20 30 78 30 30 30  ESS_TIME = 0x000
10250 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
10260 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10270 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 54 49 4d 45  T_LIMIT_JOB_TIME
10280 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
10290 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
102a0 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f  OB_OBJECT_LIMIT_
102b0 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53 20 3d  ACTIVE_PROCESS =
102c0 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
102d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42  num : uint { JOB
102e0 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 41 46  _OBJECT_LIMIT_AF
102f0 46 49 4e 49 54 59 20 3d 20 30 78 30 30 30 30 30  FINITY = 0x00000
10300 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
10310 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
10320 4c 49 4d 49 54 5f 50 52 49 4f 52 49 54 59 5f 43  LIMIT_PRIORITY_C
10330 4c 41 53 53 20 3d 20 30 78 30 30 30 30 30 30 32  LASS = 0x0000002
10340 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
10350 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49   { JOB_OBJECT_LI
10360 4d 49 54 5f 50 52 45 53 45 52 56 45 5f 4a 4f 42  MIT_PRESERVE_JOB
10370 5f 54 49 4d 45 20 3d 20 30 78 30 30 30 30 30 30  _TIME = 0x000000
10380 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
10390 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  t { JOB_OBJECT_L
103a0 49 4d 49 54 5f 53 43 48 45 44 55 4c 49 4e 47 5f  IMIT_SCHEDULING_
103b0 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 30 30  CLASS = 0x000000
103c0 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  80 }....enum : u
103d0 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54  int { JOB_OBJECT
103e0 5f 4c 49 4d 49 54 5f 50 52 4f 43 45 53 53 5f 4d  _LIMIT_PROCESS_M
103f0 45 4d 4f 52 59 20 3d 20 30 78 30 30 30 30 30 31  EMORY = 0x000001
10400 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
10410 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  t { JOB_OBJECT_L
10420 49 4d 49 54 5f 4a 4f 42 5f 4d 45 4d 4f 52 59 20  IMIT_JOB_MEMORY 
10430 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
10440 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
10450 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 44  B_OBJECT_LIMIT_D
10460 49 45 5f 4f 4e 5f 55 4e 48 41 4e 44 4c 45 44 5f  IE_ON_UNHANDLED_
10470 45 58 43 45 50 54 49 4f 4e 20 3d 20 30 78 30 30  EXCEPTION = 0x00
10480 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000400 }..enum :
10490 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45   uint { JOB_OBJE
104a0 43 54 5f 4c 49 4d 49 54 5f 42 52 45 41 4b 41 57  CT_LIMIT_BREAKAW
104b0 41 59 5f 4f 4b 20 3d 20 30 78 30 30 30 30 30 38  AY_OK = 0x000008
104c0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
104d0 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c  t { JOB_OBJECT_L
104e0 49 4d 49 54 5f 53 49 4c 45 4e 54 5f 42 52 45 41  IMIT_SILENT_BREA
104f0 4b 41 57 41 59 5f 4f 4b 20 3d 20 30 78 30 30 30  KAWAY_OK = 0x000
10500 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
10510 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10520 54 5f 4c 49 4d 49 54 5f 4b 49 4c 4c 5f 4f 4e 5f  T_LIMIT_KILL_ON_
10530 4a 4f 42 5f 43 4c 4f 53 45 20 3d 20 30 78 30 30  JOB_CLOSE = 0x00
10540 30 30 32 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  002000 }....enum
10550 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10560 4a 45 43 54 5f 4c 49 4d 49 54 5f 52 45 53 45 52  JECT_LIMIT_RESER
10570 56 45 44 32 20 3d 20 30 78 30 30 30 30 34 30 30  VED2 = 0x0000400
10580 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
10590 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49   { JOB_OBJECT_LI
105a0 4d 49 54 5f 52 45 53 45 52 56 45 44 33 20 3d 20  MIT_RESERVED3 = 
105b0 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e  0x00008000 }..en
105c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
105d0 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 52 45 53  OBJECT_LIMIT_RES
105e0 45 52 56 45 44 34 20 3d 20 30 78 30 30 30 31 30  ERVED4 = 0x00010
105f0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
10600 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
10610 4c 49 4d 49 54 5f 52 45 53 45 52 56 45 44 35 20  LIMIT_RESERVED5 
10620 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
10630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
10640 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 52  B_OBJECT_LIMIT_R
10650 45 53 45 52 56 45 44 36 20 3d 20 30 78 30 30 30  ESERVED6 = 0x000
10660 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  40000 }....enum 
10670 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
10680 45 43 54 5f 4c 49 4d 49 54 5f 56 41 4c 49 44 5f  ECT_LIMIT_VALID_
10690 46 4c 41 47 53 20 3d 20 30 78 30 30 30 37 66 66  FLAGS = 0x0007ff
106a0 66 66 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ff }....enum : u
106b0 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54  int { JOB_OBJECT
106c0 5f 42 41 53 49 43 5f 4c 49 4d 49 54 5f 56 41 4c  _BASIC_LIMIT_VAL
106d0 49 44 5f 46 4c 41 47 53 20 3d 20 30 78 30 30 30  ID_FLAGS = 0x000
106e0 30 30 30 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20  000ff }..enum : 
106f0 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10700 54 5f 45 58 54 45 4e 44 45 44 5f 4c 49 4d 49 54  T_EXTENDED_LIMIT
10710 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30  _VALID_FLAGS = 0
10720 78 30 30 30 30 33 66 66 66 20 7d 0d 0a 65 6e 75  x00003fff }..enu
10730 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f  m : uint { JOB_O
10740 42 4a 45 43 54 5f 52 45 53 45 52 56 45 44 5f 4c  BJECT_RESERVED_L
10750 49 4d 49 54 5f 56 41 4c 49 44 5f 46 4c 41 47 53  IMIT_VALID_FLAGS
10760 20 3d 20 30 78 30 30 30 37 66 66 66 66 20 7d 0d   = 0x0007ffff }.
10770 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
10780 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49   JOB_OBJECT_UILI
10790 4d 49 54 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30  MIT_NONE = 0x000
107a0 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
107b0 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
107c0 45 43 54 5f 55 49 4c 49 4d 49 54 5f 48 41 4e 44  ECT_UILIMIT_HAND
107d0 4c 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 31  LES = 0x00000001
107e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
107f0 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c  { JOB_OBJECT_UIL
10800 49 4d 49 54 5f 52 45 41 44 43 4c 49 50 42 4f 41  IMIT_READCLIPBOA
10810 52 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  RD = 0x00000002 
10820 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10830 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49   JOB_OBJECT_UILI
10840 4d 49 54 5f 57 52 49 54 45 43 4c 49 50 42 4f 41  MIT_WRITECLIPBOA
10850 52 44 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  RD = 0x00000004 
10860 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10870 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49   JOB_OBJECT_UILI
10880 4d 49 54 5f 53 59 53 54 45 4d 50 41 52 41 4d 45  MIT_SYSTEMPARAME
10890 54 45 52 53 20 3d 20 30 78 30 30 30 30 30 30 30  TERS = 0x0000000
108a0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
108b0 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49   { JOB_OBJECT_UI
108c0 4c 49 4d 49 54 5f 44 49 53 50 4c 41 59 53 45 54  LIMIT_DISPLAYSET
108d0 54 49 4e 47 53 20 3d 20 30 78 30 30 30 30 30 30  TINGS = 0x000000
108e0 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
108f0 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55  t { JOB_OBJECT_U
10900 49 4c 49 4d 49 54 5f 47 4c 4f 42 41 4c 41 54 4f  ILIMIT_GLOBALATO
10910 4d 53 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  MS = 0x00000020 
10920 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10930 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49   JOB_OBJECT_UILI
10940 4d 49 54 5f 44 45 53 4b 54 4f 50 20 3d 20 30 78  MIT_DESKTOP = 0x
10950 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
10960 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10970 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f 45 58 49  JECT_UILIMIT_EXI
10980 54 57 49 4e 44 4f 57 53 20 3d 20 30 78 30 30 30  TWINDOWS = 0x000
10990 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00080 }....enum 
109a0 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a  : uint { JOB_OBJ
109b0 45 43 54 5f 55 49 4c 49 4d 49 54 5f 41 4c 4c 20  ECT_UILIMIT_ALL 
109c0 3d 20 30 78 30 30 30 30 30 30 46 46 20 7d 0d 0a  = 0x000000FF }..
109d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
109e0 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 5f 56 41  JOB_OBJECT_UI_VA
109f0 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30 78 30 30  LID_FLAGS = 0x00
10a00 30 30 30 30 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d  0000FF }....enum
10a10 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42   : uint { JOB_OB
10a20 4a 45 43 54 5f 53 45 43 55 52 49 54 59 5f 4e 4f  JECT_SECURITY_NO
10a30 5f 41 44 4d 49 4e 20 3d 20 30 78 30 30 30 30 30  _ADMIN = 0x00000
10a40 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
10a50 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
10a60 53 45 43 55 52 49 54 59 5f 52 45 53 54 52 49 43  SECURITY_RESTRIC
10a70 54 45 44 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30  TED_TOKEN = 0x00
10a80 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
10a90 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45   uint { JOB_OBJE
10aa0 43 54 5f 53 45 43 55 52 49 54 59 5f 4f 4e 4c 59  CT_SECURITY_ONLY
10ab0 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 30 30  _TOKEN = 0x00000
10ac0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
10ad0 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43 54 5f  nt { JOB_OBJECT_
10ae0 53 45 43 55 52 49 54 59 5f 46 49 4c 54 45 52 5f  SECURITY_FILTER_
10af0 54 4f 4b 45 4e 53 20 3d 20 30 78 30 30 30 30 30  TOKENS = 0x00000
10b00 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  008 }....enum : 
10b10 75 69 6e 74 20 7b 20 4a 4f 42 5f 4f 42 4a 45 43  uint { JOB_OBJEC
10b20 54 5f 53 45 43 55 52 49 54 59 5f 56 41 4c 49 44  T_SECURITY_VALID
10b30 5f 46 4c 41 47 53 20 3d 20 30 78 30 30 30 30 30  _FLAGS = 0x00000
10b40 30 30 66 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69  00f }....alias i
10b50 6e 74 20 5f 4a 4f 42 4f 42 4a 45 43 54 49 4e 46  nt _JOBOBJECTINF
10b60 4f 43 4c 41 53 53 3b 0d 0a 65 6e 75 6d 20 7b 0d  OCLASS;..enum {.
10b70 0a 20 20 4a 6f 62 4f 62 6a 65 63 74 42 61 73 69  .  JobObjectBasi
10b80 63 41 63 63 6f 75 6e 74 69 6e 67 49 6e 66 6f 72  cAccountingInfor
10b90 6d 61 74 69 6f 6e 20 3d 20 31 2c 0d 0a 20 20 4a  mation = 1,..  J
10ba0 6f 62 4f 62 6a 65 63 74 42 61 73 69 63 4c 69 6d  obObjectBasicLim
10bb0 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a  itInformation,..
10bc0 20 20 4a 6f 62 4f 62 6a 65 63 74 42 61 73 69 63    JobObjectBasic
10bd0 50 72 6f 63 65 73 73 49 64 4c 69 73 74 2c 0d 0a  ProcessIdList,..
10be0 20 20 4a 6f 62 4f 62 6a 65 63 74 42 61 73 69 63    JobObjectBasic
10bf0 55 49 52 65 73 74 72 69 63 74 69 6f 6e 73 2c 0d  UIRestrictions,.
10c00 0a 20 20 4a 6f 62 4f 62 6a 65 63 74 53 65 63 75  .  JobObjectSecu
10c10 72 69 74 79 4c 69 6d 69 74 49 6e 66 6f 72 6d 61  rityLimitInforma
10c20 74 69 6f 6e 2c 0d 0a 20 20 4a 6f 62 4f 62 6a 65  tion,..  JobObje
10c30 63 74 45 6e 64 4f 66 4a 6f 62 54 69 6d 65 49 6e  ctEndOfJobTimeIn
10c40 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20 20 4a 6f  formation,..  Jo
10c50 62 4f 62 6a 65 63 74 41 73 73 6f 63 69 61 74 65  bObjectAssociate
10c60 43 6f 6d 70 6c 65 74 69 6f 6e 50 6f 72 74 49 6e  CompletionPortIn
10c70 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20 20 4a 6f  formation,..  Jo
10c80 62 4f 62 6a 65 63 74 42 61 73 69 63 41 6e 64 49  bObjectBasicAndI
10c90 6f 41 63 63 6f 75 6e 74 69 6e 67 49 6e 66 6f 72  oAccountingInfor
10ca0 6d 61 74 69 6f 6e 2c 0d 0a 20 20 4a 6f 62 4f 62  mation,..  JobOb
10cb0 6a 65 63 74 45 78 74 65 6e 64 65 64 4c 69 6d 69  jectExtendedLimi
10cc0 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20  tInformation,.. 
10cd0 20 4a 6f 62 4f 62 6a 65 63 74 4a 6f 62 53 65 74   JobObjectJobSet
10ce0 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20 20  Information,..  
10cf0 4d 61 78 4a 6f 62 4f 62 6a 65 63 74 49 6e 66 6f  MaxJobObjectInfo
10d00 43 6c 61 73 73 2c 0d 0a 7d 0d 0a 61 6c 69 61 73  Class,..}..alias
10d10 20 5f 4a 4f 42 4f 42 4a 45 43 54 49 4e 46 4f 43   _JOBOBJECTINFOC
10d20 4c 41 53 53 20 4a 4f 42 4f 42 4a 45 43 54 49 4e  LASS JOBOBJECTIN
10d30 46 4f 43 4c 41 53 53 3b 0d 0a 0d 0a 65 6e 75 6d  FOCLASS;....enum
10d40 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
10d50 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 3d 20 30  MODIFY_STATE = 0
10d60 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
10d70 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 41 4c 4c  uint { EVENT_ALL
10d80 5f 41 43 43 45 53 53 20 3d 20 53 54 41 4e 44 41  _ACCESS = STANDA
10d90 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52  RD_RIGHTS_REQUIR
10da0 45 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 30  ED|SYNCHRONIZE|0
10db0 78 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  x3 }..enum : uin
10dc0 74 20 7b 20 4d 55 54 41 4e 54 5f 51 55 45 52 59  t { MUTANT_QUERY
10dd0 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 31 20  _STATE = 0x0001 
10de0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
10df0 20 7b 20 4d 55 54 41 4e 54 5f 41 4c 4c 5f 41 43   { MUTANT_ALL_AC
10e00 43 45 53 53 20 3d 20 53 54 41 4e 44 41 52 44 5f  CESS = STANDARD_
10e10 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 7c  RIGHTS_REQUIRED|
10e20 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 20 4d 55 54  SYNCHRONIZE| MUT
10e30 41 4e 54 5f 51 55 45 52 59 5f 53 54 41 54 45 20  ANT_QUERY_STATE 
10e40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10e50 20 53 45 4d 41 50 48 4f 52 45 5f 4d 4f 44 49 46   SEMAPHORE_MODIF
10e60 59 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 32  Y_STATE = 0x0002
10e70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10e80 7b 20 53 45 4d 41 50 48 4f 52 45 5f 41 4c 4c 5f  { SEMAPHORE_ALL_
10e90 41 43 43 45 53 53 20 3d 20 53 54 41 4e 44 41 52  ACCESS = STANDAR
10ea0 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45  D_RIGHTS_REQUIRE
10eb0 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 30 78  D|SYNCHRONIZE|0x
10ec0 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  3 }....enum : ui
10ed0 6e 74 20 7b 20 54 49 4d 45 52 5f 51 55 45 52 59  nt { TIMER_QUERY
10ee0 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 31 20  _STATE = 0x0001 
10ef0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10f00 20 54 49 4d 45 52 5f 4d 4f 44 49 46 59 5f 53 54   TIMER_MODIFY_ST
10f10 41 54 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ATE = 0x0002 }..
10f20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10f30 54 49 4d 45 52 5f 41 4c 4c 5f 41 43 43 45 53 53  TIMER_ALL_ACCESS
10f40 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
10f50 54 53 5f 52 45 51 55 49 52 45 44 7c 53 59 4e 43  TS_REQUIRED|SYNC
10f60 48 52 4f 4e 49 5a 45 7c 20 54 49 4d 45 52 5f 51  HRONIZE| TIMER_Q
10f70 55 45 52 59 5f 53 54 41 54 45 7c 54 49 4d 45 52  UERY_STATE|TIMER
10f80 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 7d 0d  _MODIFY_STATE }.
10f90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
10fa0 20 54 49 4d 45 5f 5a 4f 4e 45 5f 49 44 5f 55 4e   TIME_ZONE_ID_UN
10fb0 4b 4e 4f 57 4e 20 3d 20 30 20 7d 0d 0a 65 6e 75  KNOWN = 0 }..enu
10fc0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f  m : uint { TIME_
10fd0 5a 4f 4e 45 5f 49 44 5f 53 54 41 4e 44 41 52 44  ZONE_ID_STANDARD
10fe0 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
10ff0 69 6e 74 20 7b 20 54 49 4d 45 5f 5a 4f 4e 45 5f  int { TIME_ZONE_
11000 49 44 5f 44 41 59 4c 49 47 48 54 20 3d 20 32 20  ID_DAYLIGHT = 2 
11010 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
11020 20 7b 20 4d 41 58 49 4d 55 4d 5f 4e 55 4d 41 5f   { MAXIMUM_NUMA_
11030 4e 4f 44 45 53 20 3d 20 31 36 20 7d 0d 0a 0d 0a  NODES = 16 }....
11040 73 74 72 75 63 74 20 5f 53 59 53 54 45 4d 5f 4e  struct _SYSTEM_N
11050 55 4d 41 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  UMA_INFORMATION 
11060 7b 0d 0a 20 20 44 57 4f 52 44 20 48 69 67 68 65  {..  DWORD Highe
11070 73 74 4e 6f 64 65 4e 75 6d 62 65 72 3b 0d 0a 20  stNodeNumber;.. 
11080 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b   DWORD Reserved;
11090 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55 4c 4f  ..union {..  ULO
110a0 4e 47 4c 4f 4e 47 20 41 63 74 69 76 65 50 72 6f  NGLONG ActivePro
110b0 63 65 73 73 6f 72 73 41 66 66 69 6e 69 74 79 4d  cessorsAffinityM
110c0 61 73 6b 5b 4d 41 58 49 4d 55 4d 5f 4e 55 4d 41  ask[MAXIMUM_NUMA
110d0 5f 4e 4f 44 45 53 5d 3b 0d 0a 20 20 55 4c 4f 4e  _NODES];..  ULON
110e0 47 4c 4f 4e 47 20 41 76 61 69 6c 61 62 6c 65 4d  GLONG AvailableM
110f0 65 6d 6f 72 79 5b 4d 41 58 49 4d 55 4d 5f 4e 55  emory[MAXIMUM_NU
11100 4d 41 5f 4e 4f 44 45 53 5d 3b 0d 0a 7d 0d 0a 0d  MA_NODES];..}...
11110 0a 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45  .}..alias _SYSTE
11120 4d 5f 4e 55 4d 41 5f 49 4e 46 4f 52 4d 41 54 49  M_NUMA_INFORMATI
11130 4f 4e 20 53 59 53 54 45 4d 5f 4e 55 4d 41 5f 49  ON SYSTEM_NUMA_I
11140 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69  NFORMATION;..ali
11150 61 73 20 5f 53 59 53 54 45 4d 5f 4e 55 4d 41 5f  as _SYSTEM_NUMA_
11160 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 53 59  INFORMATION* PSY
11170 53 54 45 4d 5f 4e 55 4d 41 5f 49 4e 46 4f 52 4d  STEM_NUMA_INFORM
11180 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ATION;....enum :
11190 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
111a0 52 5f 49 4e 54 45 4c 5f 33 38 36 20 3d 20 33 38  R_INTEL_386 = 38
111b0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
111c0 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54   { PROCESSOR_INT
111d0 45 4c 5f 34 38 36 20 3d 20 34 38 36 20 7d 0d 0a  EL_486 = 486 }..
111e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
111f0 4f 43 45 53 53 4f 52 5f 49 4e 54 45 4c 5f 50 45  OCESSOR_INTEL_PE
11200 4e 54 49 55 4d 20 3d 20 35 38 36 20 7d 0d 0a 65  NTIUM = 586 }..e
11210 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
11220 43 45 53 53 4f 52 5f 49 4e 54 45 4c 5f 49 41 36  CESSOR_INTEL_IA6
11230 34 20 3d 20 32 32 30 30 20 7d 0d 0a 65 6e 75 6d  4 = 2200 }..enum
11240 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
11250 53 4f 52 5f 4d 49 50 53 5f 52 34 30 30 30 20 3d  SOR_MIPS_R4000 =
11260 20 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   4000 }..enum : 
11270 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52  uint { PROCESSOR
11280 5f 41 4c 50 48 41 5f 32 31 30 36 34 20 3d 20 32  _ALPHA_21064 = 2
11290 31 30 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1064 }..enum : u
112a0 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f  int { PROCESSOR_
112b0 50 50 43 5f 36 30 31 20 3d 20 36 30 31 20 7d 0d  PPC_601 = 601 }.
112c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
112d0 52 4f 43 45 53 53 4f 52 5f 50 50 43 5f 36 30 33  ROCESSOR_PPC_603
112e0 20 3d 20 36 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a   = 603 }..enum :
112f0 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
11300 52 5f 50 50 43 5f 36 30 34 20 3d 20 36 30 34 20  R_PPC_604 = 604 
11310 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
11320 20 50 52 4f 43 45 53 53 4f 52 5f 50 50 43 5f 36   PROCESSOR_PPC_6
11330 32 30 20 3d 20 36 32 30 20 7d 0d 0a 65 6e 75 6d  20 = 620 }..enum
11340 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
11350 53 4f 52 5f 48 49 54 41 43 48 49 5f 53 48 33 20  SOR_HITACHI_SH3 
11360 3d 20 31 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20  = 10003 }..enum 
11370 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
11380 4f 52 5f 48 49 54 41 43 48 49 5f 53 48 33 45 20  OR_HITACHI_SH3E 
11390 3d 20 31 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  = 10004 }..enum 
113a0 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53  : uint { PROCESS
113b0 4f 52 5f 48 49 54 41 43 48 49 5f 53 48 34 20 3d  OR_HITACHI_SH4 =
113c0 20 31 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a   10005 }..enum :
113d0 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
113e0 52 5f 4d 4f 54 4f 52 4f 4c 41 5f 38 32 31 20 3d  R_MOTOROLA_821 =
113f0 20 38 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   821 }..enum : u
11400 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f  int { PROCESSOR_
11410 53 48 78 5f 53 48 33 20 3d 20 31 30 33 20 7d 0d  SHx_SH3 = 103 }.
11420 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
11430 52 4f 43 45 53 53 4f 52 5f 53 48 78 5f 53 48 34  ROCESSOR_SHx_SH4
11440 20 3d 20 31 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a   = 104 }..enum :
11450 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
11460 52 5f 53 54 52 4f 4e 47 41 52 4d 20 3d 20 32 35  R_STRONGARM = 25
11470 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  77 }..enum : uin
11480 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52  t { PROCESSOR_AR
11490 4d 37 32 30 20 3d 20 31 38 32 34 20 7d 0d 0a 65  M720 = 1824 }..e
114a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
114b0 43 45 53 53 4f 52 5f 41 52 4d 38 32 30 20 3d 20  CESSOR_ARM820 = 
114c0 32 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2080 }..enum : u
114d0 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f  int { PROCESSOR_
114e0 41 52 4d 39 32 30 20 3d 20 32 33 33 36 20 7d 0d  ARM920 = 2336 }.
114f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
11500 52 4f 43 45 53 53 4f 52 5f 41 52 4d 5f 37 54 44  ROCESSOR_ARM_7TD
11510 4d 49 20 3d 20 37 30 30 30 31 20 7d 0d 0a 65 6e  MI = 70001 }..en
11520 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43  um : uint { PROC
11530 45 53 53 4f 52 5f 4f 50 54 49 4c 20 3d 20 30 78  ESSOR_OPTIL = 0x
11540 34 39 34 66 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  494f }....enum :
11550 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f   uint { PROCESSO
11560 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f 49  R_ARCHITECTURE_I
11570 4e 54 45 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  NTEL = 0 }..enum
11580 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45 53   : uint { PROCES
11590 53 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52 45  SOR_ARCHITECTURE
115a0 5f 4d 49 50 53 20 3d 20 31 20 7d 0d 0a 65 6e 75  _MIPS = 1 }..enu
115b0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 43 45  m : uint { PROCE
115c0 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52  SSOR_ARCHITECTUR
115d0 45 5f 41 4c 50 48 41 20 3d 20 32 20 7d 0d 0a 65  E_ALPHA = 2 }..e
115e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
115f0 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54  CESSOR_ARCHITECT
11600 55 52 45 5f 50 50 43 20 3d 20 33 20 7d 0d 0a 65  URE_PPC = 3 }..e
11610 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
11620 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54  CESSOR_ARCHITECT
11630 55 52 45 5f 53 48 58 20 3d 20 34 20 7d 0d 0a 65  URE_SHX = 4 }..e
11640 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
11650 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54  CESSOR_ARCHITECT
11660 55 52 45 5f 41 52 4d 20 3d 20 35 20 7d 0d 0a 65  URE_ARM = 5 }..e
11670 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
11680 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54  CESSOR_ARCHITECT
11690 55 52 45 5f 49 41 36 34 20 3d 20 36 20 7d 0d 0a  URE_IA64 = 6 }..
116a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
116b0 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43  OCESSOR_ARCHITEC
116c0 54 55 52 45 5f 41 4c 50 48 41 36 34 20 3d 20 37  TURE_ALPHA64 = 7
116d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
116e0 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48  { PROCESSOR_ARCH
116f0 49 54 45 43 54 55 52 45 5f 4d 53 49 4c 20 3d 20  ITECTURE_MSIL = 
11700 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
11710 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43   { PROCESSOR_ARC
11720 48 49 54 45 43 54 55 52 45 5f 41 4d 44 36 34 20  HITECTURE_AMD64 
11730 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 9 }..enum : ui
11740 6e 74 20 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41  nt { PROCESSOR_A
11750 52 43 48 49 54 45 43 54 55 52 45 5f 49 41 33 32  RCHITECTURE_IA32
11760 5f 4f 4e 5f 57 49 4e 36 34 20 3d 20 31 30 20 7d  _ON_WIN64 = 10 }
11770 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
11780 7b 20 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48  { PROCESSOR_ARCH
11790 49 54 45 43 54 55 52 45 5f 55 4e 4b 4e 4f 57 4e  ITECTURE_UNKNOWN
117a0 20 3d 20 30 78 46 46 46 46 20 7d 0d 0a 0d 0a 65   = 0xFFFF }....e
117b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46 5f  num : uint { PF_
117c0 46 4c 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 5f 50  FLOATING_POINT_P
117d0 52 45 43 49 53 49 4f 4e 5f 45 52 52 41 54 41 20  RECISION_ERRATA 
117e0 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
117f0 6e 74 20 7b 20 50 46 5f 46 4c 4f 41 54 49 4e 47  nt { PF_FLOATING
11800 5f 50 4f 49 4e 54 5f 45 4d 55 4c 41 54 45 44 20  _POINT_EMULATED 
11810 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
11820 6e 74 20 7b 20 50 46 5f 43 4f 4d 50 41 52 45 5f  nt { PF_COMPARE_
11830 45 58 43 48 41 4e 47 45 5f 44 4f 55 42 4c 45 20  EXCHANGE_DOUBLE 
11840 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
11850 6e 74 20 7b 20 50 46 5f 4d 4d 58 5f 49 4e 53 54  nt { PF_MMX_INST
11860 52 55 43 54 49 4f 4e 53 5f 41 56 41 49 4c 41 42  RUCTIONS_AVAILAB
11870 4c 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  LE = 3 }..enum :
11880 20 75 69 6e 74 20 7b 20 50 46 5f 50 50 43 5f 4d   uint { PF_PPC_M
11890 4f 56 45 4d 45 4d 5f 36 34 42 49 54 5f 4f 4b 20  OVEMEM_64BIT_OK 
118a0 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
118b0 6e 74 20 7b 20 50 46 5f 41 4c 50 48 41 5f 42 59  nt { PF_ALPHA_BY
118c0 54 45 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 20  TE_INSTRUCTIONS 
118d0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
118e0 6e 74 20 7b 20 50 46 5f 58 4d 4d 49 5f 49 4e 53  nt { PF_XMMI_INS
118f0 54 52 55 43 54 49 4f 4e 53 5f 41 56 41 49 4c 41  TRUCTIONS_AVAILA
11900 42 4c 45 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  BLE = 6 }..enum 
11910 3a 20 75 69 6e 74 20 7b 20 50 46 5f 33 44 4e 4f  : uint { PF_3DNO
11920 57 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41  W_INSTRUCTIONS_A
11930 56 41 49 4c 41 42 4c 45 20 3d 20 37 20 7d 0d 0a  VAILABLE = 7 }..
11940 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 46  enum : uint { PF
11950 5f 52 44 54 53 43 5f 49 4e 53 54 52 55 43 54 49  _RDTSC_INSTRUCTI
11960 4f 4e 5f 41 56 41 49 4c 41 42 4c 45 20 3d 20 38  ON_AVAILABLE = 8
11970 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11980 7b 20 50 46 5f 50 41 45 5f 45 4e 41 42 4c 45 44  { PF_PAE_ENABLED
11990 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 9 }..enum : u
119a0 69 6e 74 20 7b 20 50 46 5f 58 4d 4d 49 36 34 5f  int { PF_XMMI64_
119b0 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41 56 41  INSTRUCTIONS_AVA
119c0 49 4c 41 42 4c 45 20 3d 20 31 30 20 7d 0d 0a 0d  ILABLE = 10 }...
119d0 0a 73 74 72 75 63 74 20 5f 4d 45 4d 4f 52 59 5f  .struct _MEMORY_
119e0 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f  BASIC_INFORMATIO
119f0 4e 20 7b 0d 0a 20 20 50 56 4f 49 44 20 42 61 73  N {..  PVOID Bas
11a00 65 41 64 64 72 65 73 73 3b 0d 0a 20 20 50 56 4f  eAddress;..  PVO
11a10 49 44 20 41 6c 6c 6f 63 61 74 69 6f 6e 42 61 73  ID AllocationBas
11a20 65 3b 0d 0a 20 20 44 57 4f 52 44 20 41 6c 6c 6f  e;..  DWORD Allo
11a30 63 61 74 69 6f 6e 50 72 6f 74 65 63 74 3b 0d 0a  cationProtect;..
11a40 20 20 53 49 5a 45 5f 54 20 52 65 67 69 6f 6e 53    SIZE_T RegionS
11a50 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74  ize;..  DWORD St
11a60 61 74 65 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72  ate;..  DWORD Pr
11a70 6f 74 65 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20  otect;..  DWORD 
11a80 54 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Type;..}..alias 
11a90 5f 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e  _MEMORY_BASIC_IN
11aa0 46 4f 52 4d 41 54 49 4f 4e 20 4d 45 4d 4f 52 59  FORMATION MEMORY
11ab0 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49  _BASIC_INFORMATI
11ac0 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f 4d 45 4d 4f  ON;..alias _MEMO
11ad0 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41  RY_BASIC_INFORMA
11ae0 54 49 4f 4e 2a 20 50 4d 45 4d 4f 52 59 5f 42 41  TION* PMEMORY_BA
11af0 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  SIC_INFORMATION;
11b00 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 45 4d 4f  ....struct _MEMO
11b10 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41  RY_BASIC_INFORMA
11b20 54 49 4f 4e 33 32 20 7b 0d 0a 20 20 44 57 4f 52  TION32 {..  DWOR
11b30 44 20 42 61 73 65 41 64 64 72 65 73 73 3b 0d 0a  D BaseAddress;..
11b40 20 20 44 57 4f 52 44 20 41 6c 6c 6f 63 61 74 69    DWORD Allocati
11b50 6f 6e 42 61 73 65 3b 0d 0a 20 20 44 57 4f 52 44  onBase;..  DWORD
11b60 20 41 6c 6c 6f 63 61 74 69 6f 6e 50 72 6f 74 65   AllocationProte
11b70 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65 67  ct;..  DWORD Reg
11b80 69 6f 6e 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52  ionSize;..  DWOR
11b90 44 20 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f 52  D State;..  DWOR
11ba0 44 20 50 72 6f 74 65 63 74 3b 0d 0a 20 20 44 57  D Protect;..  DW
11bb0 4f 52 44 20 54 79 70 65 3b 0d 0a 7d 0d 0a 61 6c  ORD Type;..}..al
11bc0 69 61 73 20 5f 4d 45 4d 4f 52 59 5f 42 41 53 49  ias _MEMORY_BASI
11bd0 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 33 32 20  C_INFORMATION32 
11be0 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46  MEMORY_BASIC_INF
11bf0 4f 52 4d 41 54 49 4f 4e 33 32 3b 0d 0a 61 6c 69  ORMATION32;..ali
11c00 61 73 20 5f 4d 45 4d 4f 52 59 5f 42 41 53 49 43  as _MEMORY_BASIC
11c10 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 33 32 2a 20  _INFORMATION32* 
11c20 50 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e  PMEMORY_BASIC_IN
11c30 46 4f 52 4d 41 54 49 4f 4e 33 32 3b 0d 0a 0d 0a  FORMATION32;....
11c40 73 74 72 75 63 74 20 5f 4d 45 4d 4f 52 59 5f 42  struct _MEMORY_B
11c50 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  ASIC_INFORMATION
11c60 36 34 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  64 {..  ULONGLON
11c70 47 20 42 61 73 65 41 64 64 72 65 73 73 3b 0d 0a  G BaseAddress;..
11c80 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41 6c 6c 6f    ULONGLONG Allo
11c90 63 61 74 69 6f 6e 42 61 73 65 3b 0d 0a 20 20 44  cationBase;..  D
11ca0 57 4f 52 44 20 41 6c 6c 6f 63 61 74 69 6f 6e 50  WORD AllocationP
11cb0 72 6f 74 65 63 74 3b 0d 0a 20 20 44 57 4f 52 44  rotect;..  DWORD
11cc0 20 5f 5f 61 6c 69 67 6e 6d 65 6e 74 31 3b 0d 0a   __alignment1;..
11cd0 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 52 65 67 69    ULONGLONG Regi
11ce0 6f 6e 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  onSize;..  DWORD
11cf0 20 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f 52 44   State;..  DWORD
11d00 20 50 72 6f 74 65 63 74 3b 0d 0a 20 20 44 57 4f   Protect;..  DWO
11d10 52 44 20 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52  RD Type;..  DWOR
11d20 44 20 5f 5f 61 6c 69 67 6e 6d 65 6e 74 32 3b 0d  D __alignment2;.
11d30 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 45 4d 4f 52  .}..alias _MEMOR
11d40 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54  Y_BASIC_INFORMAT
11d50 49 4f 4e 36 34 20 4d 45 4d 4f 52 59 5f 42 41 53  ION64 MEMORY_BAS
11d60 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 36 34  IC_INFORMATION64
11d70 3b 0d 0a 61 6c 69 61 73 20 5f 4d 45 4d 4f 52 59  ;..alias _MEMORY
11d80 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49  _BASIC_INFORMATI
11d90 4f 4e 36 34 2a 20 50 4d 45 4d 4f 52 59 5f 42 41  ON64* PMEMORY_BA
11da0 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 36  SIC_INFORMATION6
11db0 34 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  4;....enum : uin
11dc0 74 20 7b 20 53 45 43 54 49 4f 4e 5f 51 55 45 52  t { SECTION_QUER
11dd0 59 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  Y = 0x0001 }..en
11de0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 43 54  um : uint { SECT
11df0 49 4f 4e 5f 4d 41 50 5f 57 52 49 54 45 20 3d 20  ION_MAP_WRITE = 
11e00 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
11e10 20 75 69 6e 74 20 7b 20 53 45 43 54 49 4f 4e 5f   uint { SECTION_
11e20 4d 41 50 5f 52 45 41 44 20 3d 20 30 78 30 30 30  MAP_READ = 0x000
11e30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
11e40 20 7b 20 53 45 43 54 49 4f 4e 5f 4d 41 50 5f 45   { SECTION_MAP_E
11e50 58 45 43 55 54 45 20 3d 20 30 78 30 30 30 38 20  XECUTE = 0x0008 
11e60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
11e70 20 53 45 43 54 49 4f 4e 5f 45 58 54 45 4e 44 5f   SECTION_EXTEND_
11e80 53 49 5a 45 20 3d 20 30 78 30 30 31 30 20 7d 0d  SIZE = 0x0010 }.
11e90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
11ea0 20 53 45 43 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43   SECTION_ALL_ACC
11eb0 45 53 53 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  ESS = STANDARD_R
11ec0 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 7c 53  IGHTS_REQUIRED|S
11ed0 45 43 54 49 4f 4e 5f 51 55 45 52 59 7c 20 53 45  ECTION_QUERY| SE
11ee0 43 54 49 4f 4e 5f 4d 41 50 5f 57 52 49 54 45 20  CTION_MAP_WRITE 
11ef0 7c 20 53 45 43 54 49 4f 4e 5f 4d 41 50 5f 52 45  | SECTION_MAP_RE
11f00 41 44 20 7c 20 53 45 43 54 49 4f 4e 5f 4d 41 50  AD | SECTION_MAP
11f10 5f 45 58 45 43 55 54 45 20 7c 20 53 45 43 54 49  _EXECUTE | SECTI
11f20 4f 4e 5f 45 58 54 45 4e 44 5f 53 49 5a 45 20 7d  ON_EXTEND_SIZE }
11f30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11f40 50 41 47 45 5f 4e 4f 41 43 43 45 53 53 20 3d 20  PAGE_NOACCESS = 
11f50 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x01 }..enum : u
11f60 69 6e 74 20 7b 20 50 41 47 45 5f 52 45 41 44 4f  int { PAGE_READO
11f70 4e 4c 59 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e  NLY = 0x02 }..en
11f80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 41 47 45  um : uint { PAGE
11f90 5f 52 45 41 44 57 52 49 54 45 20 3d 20 30 78 30  _READWRITE = 0x0
11fa0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
11fb0 20 7b 20 50 41 47 45 5f 57 52 49 54 45 43 4f 50   { PAGE_WRITECOP
11fc0 59 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e 75 6d  Y = 0x08 }..enum
11fd0 20 3a 20 75 69 6e 74 20 7b 20 50 41 47 45 5f 45   : uint { PAGE_E
11fe0 58 45 43 55 54 45 20 3d 20 30 78 31 30 20 7d 0d  XECUTE = 0x10 }.
11ff0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
12000 41 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41 44  AGE_EXECUTE_READ
12010 20 3d 20 30 78 32 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x20 }..enum 
12020 3a 20 75 69 6e 74 20 7b 20 50 41 47 45 5f 45 58  : uint { PAGE_EX
12030 45 43 55 54 45 5f 52 45 41 44 57 52 49 54 45 20  ECUTE_READWRITE 
12040 3d 20 30 78 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x40 }..enum :
12050 20 75 69 6e 74 20 7b 20 50 41 47 45 5f 45 58 45   uint { PAGE_EXE
12060 43 55 54 45 5f 57 52 49 54 45 43 4f 50 59 20 3d  CUTE_WRITECOPY =
12070 20 30 78 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x80 }..enum : 
12080 75 69 6e 74 20 7b 20 50 41 47 45 5f 47 55 41 52  uint { PAGE_GUAR
12090 44 20 3d 20 30 78 31 30 30 20 7d 0d 0a 65 6e 75  D = 0x100 }..enu
120a0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 41 47 45 5f  m : uint { PAGE_
120b0 4e 4f 43 41 43 48 45 20 3d 20 30 78 32 30 30 20  NOCACHE = 0x200 
120c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
120d0 20 50 41 47 45 5f 57 52 49 54 45 43 4f 4d 42 49   PAGE_WRITECOMBI
120e0 4e 45 20 3d 20 30 78 34 30 30 20 7d 0d 0a 65 6e  NE = 0x400 }..en
120f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 4d 5f  um : uint { MEM_
12100 43 4f 4d 4d 49 54 20 3d 20 30 78 31 30 30 30 20  COMMIT = 0x1000 
12110 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12120 20 4d 45 4d 5f 52 45 53 45 52 56 45 20 3d 20 30   MEM_RESERVE = 0
12130 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x2000 }..enum : 
12140 75 69 6e 74 20 7b 20 4d 45 4d 5f 44 45 43 4f 4d  uint { MEM_DECOM
12150 4d 49 54 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a  MIT = 0x4000 }..
12160 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45  enum : uint { ME
12170 4d 5f 52 45 4c 45 41 53 45 20 3d 20 30 78 38 30  M_RELEASE = 0x80
12180 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
12190 74 20 7b 20 4d 45 4d 5f 46 52 45 45 20 3d 20 30  t { MEM_FREE = 0
121a0 78 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  x10000 }..enum :
121b0 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 50 52 49 56   uint { MEM_PRIV
121c0 41 54 45 20 3d 20 30 78 32 30 30 30 30 20 7d 0d  ATE = 0x20000 }.
121d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
121e0 45 4d 5f 4d 41 50 50 45 44 20 3d 20 30 78 34 30  EM_MAPPED = 0x40
121f0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
12200 6e 74 20 7b 20 4d 45 4d 5f 52 45 53 45 54 20 3d  nt { MEM_RESET =
12210 20 30 78 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d   0x80000 }..enum
12220 20 3a 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 54 4f   : uint { MEM_TO
12230 50 5f 44 4f 57 4e 20 3d 20 30 78 31 30 30 30 30  P_DOWN = 0x10000
12240 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
12250 20 7b 20 4d 45 4d 5f 57 52 49 54 45 5f 57 41 54   { MEM_WRITE_WAT
12260 43 48 20 3d 20 30 78 32 30 30 30 30 30 20 7d 0d  CH = 0x200000 }.
12270 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
12280 45 4d 5f 50 48 59 53 49 43 41 4c 20 3d 20 30 78  EM_PHYSICAL = 0x
12290 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  400000 }..enum :
122a0 20 75 69 6e 74 20 7b 20 4d 45 4d 5f 34 4d 42 5f   uint { MEM_4MB_
122b0 50 41 47 45 53 20 3d 20 30 78 38 30 30 30 30 30  PAGES = 0x800000
122c0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
122d0 74 20 7b 20 53 45 43 5f 46 49 4c 45 20 3d 20 30  t { SEC_FILE = 0
122e0 78 38 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  x800000 }..enum 
122f0 3a 20 75 69 6e 74 20 7b 20 53 45 43 5f 49 4d 41  : uint { SEC_IMA
12300 47 45 20 3d 20 30 78 31 30 30 30 30 30 30 20 7d  GE = 0x1000000 }
12310 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12320 53 45 43 5f 52 45 53 45 52 56 45 20 3d 20 30 78  SEC_RESERVE = 0x
12330 34 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  4000000 }..enum 
12340 3a 20 75 69 6e 74 20 7b 20 53 45 43 5f 43 4f 4d  : uint { SEC_COM
12350 4d 49 54 20 3d 20 30 78 38 30 30 30 30 30 30 20  MIT = 0x8000000 
12360 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12370 20 53 45 43 5f 4e 4f 43 41 43 48 45 20 3d 20 30   SEC_NOCACHE = 0
12380 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 61 6c 69  x10000000 }..ali
12390 61 73 20 53 45 43 5f 49 4d 41 47 45 20 4d 45 4d  as SEC_IMAGE MEM
123a0 5f 49 4d 41 47 45 3b 0d 0a 65 6e 75 6d 20 3a 20  _IMAGE;..enum : 
123b0 75 69 6e 74 20 7b 20 57 52 49 54 45 5f 57 41 54  uint { WRITE_WAT
123c0 43 48 5f 46 4c 41 47 5f 52 45 53 45 54 20 3d 20  CH_FLAG_RESET = 
123d0 30 78 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x01 }....enum :
123e0 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 52 45 41   uint { FILE_REA
123f0 44 5f 44 41 54 41 20 3d 20 30 78 30 30 30 31 20  D_DATA = 0x0001 
12400 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12410 20 46 49 4c 45 5f 4c 49 53 54 5f 44 49 52 45 43   FILE_LIST_DIREC
12420 54 4f 52 59 20 3d 20 30 78 30 30 30 31 20 7d 0d  TORY = 0x0001 }.
12430 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
12440 20 46 49 4c 45 5f 57 52 49 54 45 5f 44 41 54 41   FILE_WRITE_DATA
12450 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
12460 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
12470 41 44 44 5f 46 49 4c 45 20 3d 20 30 78 30 30 30  ADD_FILE = 0x000
12480 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
12490 6e 74 20 7b 20 46 49 4c 45 5f 41 50 50 45 4e 44  nt { FILE_APPEND
124a0 5f 44 41 54 41 20 3d 20 30 78 30 30 30 34 20 7d  _DATA = 0x0004 }
124b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
124c0 46 49 4c 45 5f 41 44 44 5f 53 55 42 44 49 52 45  FILE_ADD_SUBDIRE
124d0 43 54 4f 52 59 20 3d 20 30 78 30 30 30 34 20 7d  CTORY = 0x0004 }
124e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
124f0 46 49 4c 45 5f 43 52 45 41 54 45 5f 50 49 50 45  FILE_CREATE_PIPE
12500 5f 49 4e 53 54 41 4e 43 45 20 3d 20 30 78 30 30  _INSTANCE = 0x00
12510 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  04 }....enum : u
12520 69 6e 74 20 7b 20 46 49 4c 45 5f 52 45 41 44 5f  int { FILE_READ_
12530 45 41 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d  EA = 0x0008 }...
12540 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12550 49 4c 45 5f 57 52 49 54 45 5f 45 41 20 3d 20 30  ILE_WRITE_EA = 0
12560 78 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0010 }....enum 
12570 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 45 58  : uint { FILE_EX
12580 45 43 55 54 45 20 3d 20 30 78 30 30 32 30 20 7d  ECUTE = 0x0020 }
12590 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
125a0 46 49 4c 45 5f 54 52 41 56 45 52 53 45 20 3d 20  FILE_TRAVERSE = 
125b0 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0020 }....enum
125c0 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 44   : uint { FILE_D
125d0 45 4c 45 54 45 5f 43 48 49 4c 44 20 3d 20 30 78  ELETE_CHILD = 0x
125e0 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0040 }....enum :
125f0 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 52 45 41   uint { FILE_REA
12600 44 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20 30  D_ATTRIBUTES = 0
12610 78 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0080 }....enum 
12620 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 57 52  : uint { FILE_WR
12630 49 54 45 5f 41 54 54 52 49 42 55 54 45 53 20 3d  ITE_ATTRIBUTES =
12640 20 30 78 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x0100 }....enu
12650 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
12660 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41  ALL_ACCESS = STA
12670 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51  NDARD_RIGHTS_REQ
12680 55 49 52 45 44 20 7c 20 53 59 4e 43 48 52 4f 4e  UIRED | SYNCHRON
12690 49 5a 45 20 7c 20 30 78 31 46 46 20 7d 0d 0a 0d  IZE | 0x1FF }...
126a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
126b0 49 4c 45 5f 47 45 4e 45 52 49 43 5f 52 45 41 44  ILE_GENERIC_READ
126c0 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
126d0 54 53 5f 52 45 41 44 20 7c 20 46 49 4c 45 5f 52  TS_READ | FILE_R
126e0 45 41 44 5f 44 41 54 41 20 7c 20 46 49 4c 45 5f  EAD_DATA | FILE_
126f0 52 45 41 44 5f 41 54 54 52 49 42 55 54 45 53 20  READ_ATTRIBUTES 
12700 7c 20 46 49 4c 45 5f 52 45 41 44 5f 45 41 20 7c  | FILE_READ_EA |
12710 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7d 0d 0a   SYNCHRONIZE }..
12720 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12730 46 49 4c 45 5f 47 45 4e 45 52 49 43 5f 57 52 49  FILE_GENERIC_WRI
12740 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49  TE = STANDARD_RI
12750 47 48 54 53 5f 57 52 49 54 45 20 7c 20 46 49 4c  GHTS_WRITE | FIL
12760 45 5f 57 52 49 54 45 5f 44 41 54 41 20 7c 20 46  E_WRITE_DATA | F
12770 49 4c 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42  ILE_WRITE_ATTRIB
12780 55 54 45 53 20 7c 20 46 49 4c 45 5f 57 52 49 54  UTES | FILE_WRIT
12790 45 5f 45 41 20 7c 20 46 49 4c 45 5f 41 50 50 45  E_EA | FILE_APPE
127a0 4e 44 5f 44 41 54 41 20 7c 20 53 59 4e 43 48 52  ND_DATA | SYNCHR
127b0 4f 4e 49 5a 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  ONIZE }....enum 
127c0 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 47 45  : uint { FILE_GE
127d0 4e 45 52 49 43 5f 45 58 45 43 55 54 45 20 3d 20  NERIC_EXECUTE = 
127e0 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f  STANDARD_RIGHTS_
127f0 45 58 45 43 55 54 45 20 7c 20 46 49 4c 45 5f 52  EXECUTE | FILE_R
12800 45 41 44 5f 41 54 54 52 49 42 55 54 45 53 20 7c  EAD_ATTRIBUTES |
12810 20 46 49 4c 45 5f 45 58 45 43 55 54 45 20 7c 20   FILE_EXECUTE | 
12820 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7d 0d 0a 0d  SYNCHRONIZE }...
12830 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12840 49 4c 45 5f 53 48 41 52 45 5f 52 45 41 44 20 3d  ILE_SHARE_READ =
12850 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
12860 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c  num : uint { FIL
12870 45 5f 53 48 41 52 45 5f 57 52 49 54 45 20 3d 20  E_SHARE_WRITE = 
12880 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
12890 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
128a0 5f 53 48 41 52 45 5f 44 45 4c 45 54 45 20 3d 20  _SHARE_DELETE = 
128b0 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
128c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
128d0 5f 41 54 54 52 49 42 55 54 45 5f 52 45 41 44 4f  _ATTRIBUTE_READO
128e0 4e 4c 59 20 3d 20 30 78 30 30 30 30 30 30 30 31  NLY = 0x00000001
128f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12900 7b 20 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45  { FILE_ATTRIBUTE
12910 5f 48 49 44 44 45 4e 20 3d 20 30 78 30 30 30 30  _HIDDEN = 0x0000
12920 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
12930 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49  int { FILE_ATTRI
12940 42 55 54 45 5f 53 59 53 54 45 4d 20 3d 20 30 78  BUTE_SYSTEM = 0x
12950 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
12960 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41   : uint { FILE_A
12970 54 54 52 49 42 55 54 45 5f 44 49 52 45 43 54 4f  TTRIBUTE_DIRECTO
12980 52 59 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  RY = 0x00000010 
12990 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
129a0 20 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f   FILE_ATTRIBUTE_
129b0 41 52 43 48 49 56 45 20 3d 20 30 78 30 30 30 30  ARCHIVE = 0x0000
129c0 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
129d0 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49  int { FILE_ATTRI
129e0 42 55 54 45 5f 44 45 56 49 43 45 20 3d 20 30 78  BUTE_DEVICE = 0x
129f0 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
12a00 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41   : uint { FILE_A
12a10 54 54 52 49 42 55 54 45 5f 4e 4f 52 4d 41 4c 20  TTRIBUTE_NORMAL 
12a20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a  = 0x00000080 }..
12a30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12a40 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 54 45 4d  LE_ATTRIBUTE_TEM
12a50 50 4f 52 41 52 59 20 3d 20 30 78 30 30 30 30 30  PORARY = 0x00000
12a60 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
12a70 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49 42  nt { FILE_ATTRIB
12a80 55 54 45 5f 53 50 41 52 53 45 5f 46 49 4c 45 20  UTE_SPARSE_FILE 
12a90 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
12aa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12ab0 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 52 45 50  LE_ATTRIBUTE_REP
12ac0 41 52 53 45 5f 50 4f 49 4e 54 20 3d 20 30 78 30  ARSE_POINT = 0x0
12ad0 30 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000400 }..enum 
12ae0 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54  : uint { FILE_AT
12af0 54 52 49 42 55 54 45 5f 43 4f 4d 50 52 45 53 53  TRIBUTE_COMPRESS
12b00 45 44 20 3d 20 30 78 30 30 30 30 30 38 30 30 20  ED = 0x00000800 
12b10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12b20 20 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f   FILE_ATTRIBUTE_
12b30 4f 46 46 4c 49 4e 45 20 3d 20 30 78 30 30 30 30  OFFLINE = 0x0000
12b40 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1000 }..enum : u
12b50 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52 49  int { FILE_ATTRI
12b60 42 55 54 45 5f 4e 4f 54 5f 43 4f 4e 54 45 4e 54  BUTE_NOT_CONTENT
12b70 5f 49 4e 44 45 58 45 44 20 3d 20 30 78 30 30 30  _INDEXED = 0x000
12b80 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  02000 }..enum : 
12b90 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 54 54 52  uint { FILE_ATTR
12ba0 49 42 55 54 45 5f 45 4e 43 52 59 50 54 45 44 20  IBUTE_ENCRYPTED 
12bb0 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d 0a  = 0x00004000 }..
12bc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12bd0 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  LE_NOTIFY_CHANGE
12be0 5f 46 49 4c 45 5f 4e 41 4d 45 20 3d 20 30 78 30  _FILE_NAME = 0x0
12bf0 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
12c00 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f  : uint { FILE_NO
12c10 54 49 46 59 5f 43 48 41 4e 47 45 5f 44 49 52 5f  TIFY_CHANGE_DIR_
12c20 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30  NAME = 0x0000000
12c30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
12c40 20 7b 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 43   { FILE_NOTIFY_C
12c50 48 41 4e 47 45 5f 41 54 54 52 49 42 55 54 45 53  HANGE_ATTRIBUTES
12c60 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
12c70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12c80 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47  ILE_NOTIFY_CHANG
12c90 45 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30  E_SIZE = 0x00000
12ca0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
12cb0 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f 54 49 46 59  nt { FILE_NOTIFY
12cc0 5f 43 48 41 4e 47 45 5f 4c 41 53 54 5f 57 52 49  _CHANGE_LAST_WRI
12cd0 54 45 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  TE = 0x00000010 
12ce0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12cf0 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41   FILE_NOTIFY_CHA
12d00 4e 47 45 5f 4c 41 53 54 5f 41 43 43 45 53 53 20  NGE_LAST_ACCESS 
12d10 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
12d20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
12d30 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  LE_NOTIFY_CHANGE
12d40 5f 43 52 45 41 54 49 4f 4e 20 3d 20 30 78 30 30  _CREATION = 0x00
12d50 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
12d60 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f 4e 4f 54   uint { FILE_NOT
12d70 49 46 59 5f 43 48 41 4e 47 45 5f 53 45 43 55 52  IFY_CHANGE_SECUR
12d80 49 54 59 20 3d 20 30 78 30 30 30 30 30 31 30 30  ITY = 0x00000100
12d90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12da0 7b 20 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 41 44  { FILE_ACTION_AD
12db0 44 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 31  DED = 0x00000001
12dc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12dd0 7b 20 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45  { FILE_ACTION_RE
12de0 4d 4f 56 45 44 20 3d 20 30 78 30 30 30 30 30 30  MOVED = 0x000000
12df0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
12e00 74 20 7b 20 46 49 4c 45 5f 41 43 54 49 4f 4e 5f  t { FILE_ACTION_
12e10 4d 4f 44 49 46 49 45 44 20 3d 20 30 78 30 30 30  MODIFIED = 0x000
12e20 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00003 }..enum : 
12e30 75 69 6e 74 20 7b 20 46 49 4c 45 5f 41 43 54 49  uint { FILE_ACTI
12e40 4f 4e 5f 52 45 4e 41 4d 45 44 5f 4f 4c 44 5f 4e  ON_RENAMED_OLD_N
12e50 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30 34  AME = 0x00000004
12e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12e70 7b 20 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45  { FILE_ACTION_RE
12e80 4e 41 4d 45 44 5f 4e 45 57 5f 4e 41 4d 45 20 3d  NAMED_NEW_NAME =
12e90 20 30 78 30 30 30 30 30 30 30 35 20 7d 0d 0a 65   0x00000005 }..e
12ea0 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 20 4d 41  num : DWORD { MA
12eb0 49 4c 53 4c 4f 54 5f 4e 4f 5f 4d 45 53 53 41 47  ILSLOT_NO_MESSAG
12ec0 45 20 3d 20 63 61 73 74 28 44 57 4f 52 44 29 2d  E = cast(DWORD)-
12ed0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  1 }..enum : DWOR
12ee0 44 20 7b 20 4d 41 49 4c 53 4c 4f 54 5f 57 41 49  D { MAILSLOT_WAI
12ef0 54 5f 46 4f 52 45 56 45 52 20 3d 20 63 61 73 74  T_FOREVER = cast
12f00 28 44 57 4f 52 44 29 2d 31 20 7d 0d 0a 65 6e 75  (DWORD)-1 }..enu
12f10 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
12f20 43 41 53 45 5f 53 45 4e 53 49 54 49 56 45 5f 53  CASE_SENSITIVE_S
12f30 45 41 52 43 48 20 3d 20 30 78 30 30 30 30 30 30  EARCH = 0x000000
12f40 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
12f50 74 20 7b 20 46 49 4c 45 5f 43 41 53 45 5f 50 52  t { FILE_CASE_PR
12f60 45 53 45 52 56 45 44 5f 4e 41 4d 45 53 20 3d 20  ESERVED_NAMES = 
12f70 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
12f80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
12f90 5f 55 4e 49 43 4f 44 45 5f 4f 4e 5f 44 49 53 4b  _UNICODE_ON_DISK
12fa0 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
12fb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
12fc0 49 4c 45 5f 50 45 52 53 49 53 54 45 4e 54 5f 41  ILE_PERSISTENT_A
12fd0 43 4c 53 20 3d 20 30 78 30 30 30 30 30 30 30 38  CLS = 0x00000008
12fe0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12ff0 7b 20 46 49 4c 45 5f 46 49 4c 45 5f 43 4f 4d 50  { FILE_FILE_COMP
13000 52 45 53 53 49 4f 4e 20 3d 20 30 78 30 30 30 30  RESSION = 0x0000
13010 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
13020 69 6e 74 20 7b 20 46 49 4c 45 5f 56 4f 4c 55 4d  int { FILE_VOLUM
13030 45 5f 51 55 4f 54 41 53 20 3d 20 30 78 30 30 30  E_QUOTAS = 0x000
13040 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
13050 75 69 6e 74 20 7b 20 46 49 4c 45 5f 53 55 50 50  uint { FILE_SUPP
13060 4f 52 54 53 5f 53 50 41 52 53 45 5f 46 49 4c 45  ORTS_SPARSE_FILE
13070 53 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  S = 0x00000040 }
13080 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13090 46 49 4c 45 5f 53 55 50 50 4f 52 54 53 5f 52 45  FILE_SUPPORTS_RE
130a0 50 41 52 53 45 5f 50 4f 49 4e 54 53 20 3d 20 30  PARSE_POINTS = 0
130b0 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
130c0 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45 5f  m : uint { FILE_
130d0 53 55 50 50 4f 52 54 53 5f 52 45 4d 4f 54 45 5f  SUPPORTS_REMOTE_
130e0 53 54 4f 52 41 47 45 20 3d 20 30 78 30 30 30 30  STORAGE = 0x0000
130f0 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
13100 69 6e 74 20 7b 20 46 49 4c 45 5f 56 4f 4c 55 4d  int { FILE_VOLUM
13110 45 5f 49 53 5f 43 4f 4d 50 52 45 53 53 45 44 20  E_IS_COMPRESSED 
13120 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a  = 0x00008000 }..
13130 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49  enum : uint { FI
13140 4c 45 5f 53 55 50 50 4f 52 54 53 5f 4f 42 4a 45  LE_SUPPORTS_OBJE
13150 43 54 5f 49 44 53 20 3d 20 30 78 30 30 30 31 30  CT_IDS = 0x00010
13160 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
13170 6e 74 20 7b 20 46 49 4c 45 5f 53 55 50 50 4f 52  nt { FILE_SUPPOR
13180 54 53 5f 45 4e 43 52 59 50 54 49 4f 4e 20 3d 20  TS_ENCRYPTION = 
13190 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
131a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c 45  um : uint { FILE
131b0 5f 4e 41 4d 45 44 5f 53 54 52 45 41 4d 53 20 3d  _NAMED_STREAMS =
131c0 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65   0x00040000 }..e
131d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 49 4c  num : uint { FIL
131e0 45 5f 52 45 41 44 5f 4f 4e 4c 59 5f 56 4f 4c 55  E_READ_ONLY_VOLU
131f0 4d 45 20 3d 20 30 78 30 30 30 38 30 30 30 30 20  ME = 0x00080000 
13200 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 46 49 4c  }....struct _FIL
13210 45 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41  E_NOTIFY_INFORMA
13220 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20  TION {..  DWORD 
13230 4e 65 78 74 45 6e 74 72 79 4f 66 66 73 65 74 3b  NextEntryOffset;
13240 0d 0a 20 20 44 57 4f 52 44 20 41 63 74 69 6f 6e  ..  DWORD Action
13250 3b 0d 0a 20 20 44 57 4f 52 44 20 46 69 6c 65 4e  ;..  DWORD FileN
13260 61 6d 65 4c 65 6e 67 74 68 3b 0d 0a 20 20 57 43  ameLength;..  WC
13270 48 41 52 20 46 69 6c 65 4e 61 6d 65 5b 31 5d 3b  HAR FileName[1];
13280 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46 49 4c 45  ..}..alias _FILE
13290 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41 54  _NOTIFY_INFORMAT
132a0 49 4f 4e 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f  ION FILE_NOTIFY_
132b0 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c  INFORMATION;..al
132c0 69 61 73 20 5f 46 49 4c 45 5f 4e 4f 54 49 46 59  ias _FILE_NOTIFY
132d0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 46  _INFORMATION* PF
132e0 49 4c 45 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 52  ILE_NOTIFY_INFOR
132f0 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 75 6e 69 6f 6e  MATION;....union
13300 20 5f 46 49 4c 45 5f 53 45 47 4d 45 4e 54 5f 45   _FILE_SEGMENT_E
13310 4c 45 4d 45 4e 54 20 7b 0d 0a 20 20 50 56 4f 49  LEMENT {..  PVOI
13320 44 36 34 20 42 75 66 66 65 72 3b 0d 0a 20 20 55  D64 Buffer;..  U
13330 4c 4f 4e 47 4c 4f 4e 47 20 41 6c 69 67 6e 6d 65  LONGLONG Alignme
13340 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46  nt;..}..alias _F
13350 49 4c 45 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d  ILE_SEGMENT_ELEM
13360 45 4e 54 20 46 49 4c 45 5f 53 45 47 4d 45 4e 54  ENT FILE_SEGMENT
13370 5f 45 4c 45 4d 45 4e 54 3b 0d 0a 61 6c 69 61 73  _ELEMENT;..alias
13380 20 5f 46 49 4c 45 5f 53 45 47 4d 45 4e 54 5f 45   _FILE_SEGMENT_E
13390 4c 45 4d 45 4e 54 2a 20 50 46 49 4c 45 5f 53 45  LEMENT* PFILE_SE
133a0 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54 3b 0d 0a  GMENT_ELEMENT;..
133b0 0d 0a 73 74 72 75 63 74 20 5f 52 45 50 41 52 53  ..struct _REPARS
133c0 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 46 46  E_GUID_DATA_BUFF
133d0 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44 20 52 65  ER {..  DWORD Re
133e0 70 61 72 73 65 54 61 67 3b 0d 0a 20 20 57 4f 52  parseTag;..  WOR
133f0 44 20 52 65 70 61 72 73 65 44 61 74 61 4c 65 6e  D ReparseDataLen
13400 67 74 68 3b 0d 0a 20 20 57 4f 52 44 20 52 65 73  gth;..  WORD Res
13410 65 72 76 65 64 3b 0d 0a 20 20 47 55 49 44 20 52  erved;..  GUID R
13420 65 70 61 72 73 65 47 75 69 64 3b 0d 0a 73 74 72  eparseGuid;..str
13430 75 63 74 20 7b 0d 0a 20 20 42 59 54 45 20 44 61  uct {..  BYTE Da
13440 74 61 42 75 66 66 65 72 5b 31 5d 3b 0d 0a 7d 0d  taBuffer[1];..}.
13450 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52 45 50  ...}..alias _REP
13460 41 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42  ARSE_GUID_DATA_B
13470 55 46 46 45 52 20 52 45 50 41 52 53 45 5f 47 55  UFFER REPARSE_GU
13480 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52 3b 0d  ID_DATA_BUFFER;.
13490 0a 61 6c 69 61 73 20 5f 52 45 50 41 52 53 45 5f  .alias _REPARSE_
134a0 47 55 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52  GUID_DATA_BUFFER
134b0 2a 20 50 52 45 50 41 52 53 45 5f 47 55 49 44 5f  * PREPARSE_GUID_
134c0 44 41 54 41 5f 42 55 46 46 45 52 3b 0d 0a 0d 0a  DATA_BUFFER;....
134d0 2f 2f 20 23 64 65 66 69 6e 65 20 52 45 50 41 52  // #define REPAR
134e0 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 46  SE_GUID_DATA_BUF
134f0 46 45 52 5f 48 45 41 44 45 52 5f 53 49 5a 45 20  FER_HEADER_SIZE 
13500 46 49 45 4c 44 5f 4f 46 46 53 45 54 28 52 45 50  FIELD_OFFSET(REP
13510 41 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42  ARSE_GUID_DATA_B
13520 55 46 46 45 52 2c 20 47 65 6e 65 72 69 63 52 65  UFFER, GenericRe
13530 70 61 72 73 65 42 75 66 66 65 72 29 0d 0a 0d 0a  parseBuffer)....
13540 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41  enum : uint { MA
13550 58 49 4d 55 4d 5f 52 45 50 41 52 53 45 5f 44 41  XIMUM_REPARSE_DA
13560 54 41 5f 42 55 46 46 45 52 5f 53 49 5a 45 20 3d  TA_BUFFER_SIZE =
13570 20 20 31 36 20 2a 20 31 30 32 34 20 20 7d 0d 0a    16 * 1024  }..
13580 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13590 49 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52  IO_REPARSE_TAG_R
135a0 45 53 45 52 56 45 44 5f 5a 45 52 4f 20 3d 20 30  ESERVED_ZERO = 0
135b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
135c0 7b 20 49 4f 5f 52 45 50 41 52 53 45 5f 54 41 47  { IO_REPARSE_TAG
135d0 5f 52 45 53 45 52 56 45 44 5f 4f 4e 45 20 3d 20  _RESERVED_ONE = 
135e0 31 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 49 4f 5f  1 }....alias IO_
135f0 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45  REPARSE_TAG_RESE
13600 52 56 45 44 5f 4f 4e 45 20 49 4f 5f 52 45 50 41  RVED_ONE IO_REPA
13610 52 53 45 5f 54 41 47 5f 52 45 53 45 52 56 45 44  RSE_TAG_RESERVED
13620 5f 52 41 4e 47 45 3b 0d 0a 0d 0a 2f 2f 20 23 64  _RANGE;....// #d
13630 65 66 69 6e 65 20 49 73 52 65 70 61 72 73 65 54  efine IsReparseT
13640 61 67 4d 69 63 72 6f 73 6f 66 74 28 5f 74 61 67  agMicrosoft(_tag
13650 29 20 28 20 28 28 5f 74 61 67 29 20 26 20 30 78  ) ( ((_tag) & 0x
13660 38 30 30 30 30 30 30 30 29 20 29 0d 0a 0d 0a 2f  80000000) )..../
13670 2f 20 23 64 65 66 69 6e 65 20 49 73 52 65 70 61  / #define IsRepa
13680 72 73 65 54 61 67 4e 61 6d 65 53 75 72 72 6f 67  rseTagNameSurrog
13690 61 74 65 28 5f 74 61 67 29 20 28 20 28 28 5f 74  ate(_tag) ( ((_t
136a0 61 67 29 20 26 20 30 78 32 30 30 30 30 30 30 30  ag) & 0x20000000
136b0 29 20 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ) )....enum : ui
136c0 6e 74 20 7b 20 49 4f 5f 52 45 50 41 52 53 45 5f  nt { IO_REPARSE_
136d0 54 41 47 5f 4d 4f 55 4e 54 5f 50 4f 49 4e 54 20  TAG_MOUNT_POINT 
136e0 3d 20 30 78 41 30 30 30 30 30 30 33 20 7d 0d 0a  = 0xA0000003 }..
136f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4f  enum : uint { IO
13700 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 48 53 4d  _REPARSE_TAG_HSM
13710 20 3d 20 30 78 43 30 30 30 30 30 30 34 20 7d 0d   = 0xC0000004 }.
13720 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
13730 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 53 49  O_REPARSE_TAG_SI
13740 53 20 3d 20 30 78 38 30 30 30 30 30 30 37 20 7d  S = 0x80000007 }
13750 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13760 49 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 46  IO_REPARSE_TAG_F
13770 49 4c 54 45 52 5f 4d 41 4e 41 47 45 52 20 3d 20  ILTER_MANAGER = 
13780 30 78 38 30 30 30 30 30 30 42 20 7d 0d 0a 65 6e  0x8000000B }..en
13790 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4f 5f 43  um : uint { IO_C
137a0 4f 4d 50 4c 45 54 49 4f 4e 5f 4d 4f 44 49 46 59  OMPLETION_MODIFY
137b0 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 32 20  _STATE = 0x0002 
137c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
137d0 20 49 4f 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 41   IO_COMPLETION_A
137e0 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41 4e  LL_ACCESS = STAN
137f0 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55  DARD_RIGHTS_REQU
13800 49 52 45 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45  IRED|SYNCHRONIZE
13810 7c 30 78 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  |0x3 }..enum : u
13820 69 6e 74 20 7b 20 44 55 50 4c 49 43 41 54 45 5f  int { DUPLICATE_
13830 43 4c 4f 53 45 5f 53 4f 55 52 43 45 20 3d 20 30  CLOSE_SOURCE = 0
13840 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
13850 6d 20 3a 20 75 69 6e 74 20 7b 20 44 55 50 4c 49  m : uint { DUPLI
13860 43 41 54 45 5f 53 41 4d 45 5f 41 43 43 45 53 53  CATE_SAME_ACCESS
13870 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
13880 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 53 59  ...alias int _SY
13890 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45  STEM_POWER_STATE
138a0 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 50 6f 77  ;..enum {..  Pow
138b0 65 72 53 79 73 74 65 6d 55 6e 73 70 65 63 69 66  erSystemUnspecif
138c0 69 65 64 20 3d 20 30 2c 0d 0a 20 20 50 6f 77 65  ied = 0,..  Powe
138d0 72 53 79 73 74 65 6d 57 6f 72 6b 69 6e 67 20 3d  rSystemWorking =
138e0 20 31 2c 0d 0a 20 20 50 6f 77 65 72 53 79 73 74   1,..  PowerSyst
138f0 65 6d 53 6c 65 65 70 69 6e 67 31 20 3d 20 32 2c  emSleeping1 = 2,
13900 0d 0a 20 20 50 6f 77 65 72 53 79 73 74 65 6d 53  ..  PowerSystemS
13910 6c 65 65 70 69 6e 67 32 20 3d 20 33 2c 0d 0a 20  leeping2 = 3,.. 
13920 20 50 6f 77 65 72 53 79 73 74 65 6d 53 6c 65 65   PowerSystemSlee
13930 70 69 6e 67 33 20 3d 20 34 2c 0d 0a 20 20 50 6f  ping3 = 4,..  Po
13940 77 65 72 53 79 73 74 65 6d 48 69 62 65 72 6e 61  werSystemHiberna
13950 74 65 20 3d 20 35 2c 0d 0a 20 20 50 6f 77 65 72  te = 5,..  Power
13960 53 79 73 74 65 6d 53 68 75 74 64 6f 77 6e 20 3d  SystemShutdown =
13970 20 36 2c 0d 0a 20 20 50 6f 77 65 72 53 79 73 74   6,..  PowerSyst
13980 65 6d 4d 61 78 69 6d 75 6d 20 3d 20 37 2c 0d 0a  emMaximum = 7,..
13990 7d 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d  }..alias _SYSTEM
139a0 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 53 59 53  _POWER_STATE SYS
139b0 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b  TEM_POWER_STATE;
139c0 0d 0a 61 6c 69 61 73 20 5f 53 59 53 54 45 4d 5f  ..alias _SYSTEM_
139d0 50 4f 57 45 52 5f 53 54 41 54 45 2a 20 50 53 59  POWER_STATE* PSY
139e0 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45  STEM_POWER_STATE
139f0 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
13a00 20 7b 20 50 4f 57 45 52 5f 53 59 53 54 45 4d 5f   { POWER_SYSTEM_
13a10 4d 41 58 49 4d 55 4d 20 3d 20 37 20 7d 0d 0a 0d  MAXIMUM = 7 }...
13a20 0a 65 6e 75 6d 20 5f 34 20 7b 0d 0a 20 20 50 6f  .enum _4 {..  Po
13a30 77 65 72 41 63 74 69 6f 6e 4e 6f 6e 65 20 3d 20  werActionNone = 
13a40 30 2c 0d 0a 20 20 50 6f 77 65 72 41 63 74 69 6f  0,..  PowerActio
13a50 6e 52 65 73 65 72 76 65 64 2c 0d 0a 20 20 50 6f  nReserved,..  Po
13a60 77 65 72 41 63 74 69 6f 6e 53 6c 65 65 70 2c 0d  werActionSleep,.
13a70 0a 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 48 69  .  PowerActionHi
13a80 62 65 72 6e 61 74 65 2c 0d 0a 20 20 50 6f 77 65  bernate,..  Powe
13a90 72 41 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 2c  rActionShutdown,
13aa0 0d 0a 20 20 50 6f 77 65 72 41 63 74 69 6f 6e 53  ..  PowerActionS
13ab0 68 75 74 64 6f 77 6e 52 65 73 65 74 2c 0d 0a 20  hutdownReset,.. 
13ac0 20 50 6f 77 65 72 41 63 74 69 6f 6e 53 68 75 74   PowerActionShut
13ad0 64 6f 77 6e 4f 66 66 2c 0d 0a 20 20 50 6f 77 65  downOff,..  Powe
13ae0 72 41 63 74 69 6f 6e 57 61 72 6d 45 6a 65 63 74  rActionWarmEject
13af0 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 34 20 50  ,..}..alias _4 P
13b00 4f 57 45 52 5f 41 43 54 49 4f 4e 3b 0d 0a 61 6c  OWER_ACTION;..al
13b10 69 61 73 20 5f 34 2a 20 50 50 4f 57 45 52 5f 41  ias _4* PPOWER_A
13b20 43 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20  CTION;....alias 
13b30 69 6e 74 20 5f 44 45 56 49 43 45 5f 50 4f 57 45  int _DEVICE_POWE
13b40 52 5f 53 54 41 54 45 3b 0d 0a 65 6e 75 6d 20 7b  R_STATE;..enum {
13b50 0d 0a 20 20 50 6f 77 65 72 44 65 76 69 63 65 55  ..  PowerDeviceU
13b60 6e 73 70 65 63 69 66 69 65 64 20 3d 20 30 2c 0d  nspecified = 0,.
13b70 0a 20 20 50 6f 77 65 72 44 65 76 69 63 65 44 30  .  PowerDeviceD0
13b80 2c 0d 0a 20 20 50 6f 77 65 72 44 65 76 69 63 65  ,..  PowerDevice
13b90 44 31 2c 0d 0a 20 20 50 6f 77 65 72 44 65 76 69  D1,..  PowerDevi
13ba0 63 65 44 32 2c 0d 0a 20 20 50 6f 77 65 72 44 65  ceD2,..  PowerDe
13bb0 76 69 63 65 44 33 2c 0d 0a 20 20 50 6f 77 65 72  viceD3,..  Power
13bc0 44 65 76 69 63 65 4d 61 78 69 6d 75 6d 2c 0d 0a  DeviceMaximum,..
13bd0 7d 0d 0a 61 6c 69 61 73 20 5f 44 45 56 49 43 45  }..alias _DEVICE
13be0 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 44 45 56  _POWER_STATE DEV
13bf0 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b  ICE_POWER_STATE;
13c00 0d 0a 61 6c 69 61 73 20 5f 44 45 56 49 43 45 5f  ..alias _DEVICE_
13c10 50 4f 57 45 52 5f 53 54 41 54 45 2a 20 50 44 45  POWER_STATE* PDE
13c20 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45  VICE_POWER_STATE
13c30 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  ;....enum : DWOR
13c40 44 20 7b 20 45 53 5f 53 59 53 54 45 4d 5f 52 45  D { ES_SYSTEM_RE
13c50 51 55 49 52 45 44 20 3d 20 30 78 30 30 30 30 30  QUIRED = 0x00000
13c60 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 44 57  001 }..enum : DW
13c70 4f 52 44 20 7b 20 45 53 5f 44 49 53 50 4c 41 59  ORD { ES_DISPLAY
13c80 5f 52 45 51 55 49 52 45 44 20 3d 20 30 78 30 30  _REQUIRED = 0x00
13c90 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
13ca0 20 44 57 4f 52 44 20 7b 20 45 53 5f 55 53 45 52   DWORD { ES_USER
13cb0 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 30 30 30  _PRESENT = 0x000
13cc0 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
13cd0 44 57 4f 52 44 20 7b 20 45 53 5f 43 4f 4e 54 49  DWORD { ES_CONTI
13ce0 4e 55 4f 55 53 20 3d 20 30 78 38 30 30 30 30 30  NUOUS = 0x800000
13cf0 30 30 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 44 57  00 }....alias DW
13d00 4f 52 44 20 45 58 45 43 55 54 49 4f 4e 5f 53 54  ORD EXECUTION_ST
13d10 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 5f 35 20  ATE;....enum _5 
13d20 7b 0d 0a 20 20 4c 54 5f 44 4f 4e 54 5f 43 41 52  {..  LT_DONT_CAR
13d30 45 2c 0d 0a 20 20 4c 54 5f 4c 4f 57 45 53 54 5f  E,..  LT_LOWEST_
13d40 4c 41 54 45 4e 43 59 2c 0d 0a 7d 0d 0a 61 6c 69  LATENCY,..}..ali
13d50 61 73 20 5f 35 20 4c 41 54 45 4e 43 59 5f 54 49  as _5 LATENCY_TI
13d60 4d 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ME;....enum : ui
13d70 6e 74 20 7b 20 50 44 43 41 50 5f 44 30 5f 53 55  nt { PDCAP_D0_SU
13d80 50 50 4f 52 54 45 44 20 3d 20 30 78 30 30 30 30  PPORTED = 0x0000
13d90 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
13da0 69 6e 74 20 7b 20 50 44 43 41 50 5f 44 31 5f 53  int { PDCAP_D1_S
13db0 55 50 50 4f 52 54 45 44 20 3d 20 30 78 30 30 30  UPPORTED = 0x000
13dc0 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
13dd0 75 69 6e 74 20 7b 20 50 44 43 41 50 5f 44 32 5f  uint { PDCAP_D2_
13de0 53 55 50 50 4f 52 54 45 44 20 3d 20 30 78 30 30  SUPPORTED = 0x00
13df0 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
13e00 20 75 69 6e 74 20 7b 20 50 44 43 41 50 5f 44 33   uint { PDCAP_D3
13e10 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 30 78 30  _SUPPORTED = 0x0
13e20 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
13e30 3a 20 75 69 6e 74 20 7b 20 50 44 43 41 50 5f 57  : uint { PDCAP_W
13e40 41 4b 45 5f 46 52 4f 4d 5f 44 30 5f 53 55 50 50  AKE_FROM_D0_SUPP
13e50 4f 52 54 45 44 20 3d 20 30 78 30 30 30 30 30 30  ORTED = 0x000000
13e60 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
13e70 74 20 7b 20 50 44 43 41 50 5f 57 41 4b 45 5f 46  t { PDCAP_WAKE_F
13e80 52 4f 4d 5f 44 31 5f 53 55 50 50 4f 52 54 45 44  ROM_D1_SUPPORTED
13e90 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
13ea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
13eb0 44 43 41 50 5f 57 41 4b 45 5f 46 52 4f 4d 5f 44  DCAP_WAKE_FROM_D
13ec0 32 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 30 78  2_SUPPORTED = 0x
13ed0 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
13ee0 20 3a 20 75 69 6e 74 20 7b 20 50 44 43 41 50 5f   : uint { PDCAP_
13ef0 57 41 4b 45 5f 46 52 4f 4d 5f 44 33 5f 53 55 50  WAKE_FROM_D3_SUP
13f00 50 4f 52 54 45 44 20 3d 20 30 78 30 30 30 30 30  PORTED = 0x00000
13f10 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
13f20 6e 74 20 7b 20 50 44 43 41 50 5f 57 41 52 4d 5f  nt { PDCAP_WARM_
13f30 45 4a 45 43 54 5f 53 55 50 50 4f 52 54 45 44 20  EJECT_SUPPORTED 
13f40 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a  = 0x00000100 }..
13f50 0d 0a 73 74 72 75 63 74 20 43 4d 5f 50 6f 77 65  ..struct CM_Powe
13f60 72 5f 44 61 74 61 5f 73 20 7b 0d 0a 20 20 44 57  r_Data_s {..  DW
13f70 4f 52 44 20 50 44 5f 53 69 7a 65 3b 0d 0a 20 20  ORD PD_Size;..  
13f80 44 45 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41  DEVICE_POWER_STA
13f90 54 45 20 50 44 5f 4d 6f 73 74 52 65 63 65 6e 74  TE PD_MostRecent
13fa0 50 6f 77 65 72 53 74 61 74 65 3b 0d 0a 20 20 44  PowerState;..  D
13fb0 57 4f 52 44 20 50 44 5f 43 61 70 61 62 69 6c 69  WORD PD_Capabili
13fc0 74 69 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50  ties;..  DWORD P
13fd0 44 5f 44 31 4c 61 74 65 6e 63 79 3b 0d 0a 20 20  D_D1Latency;..  
13fe0 44 57 4f 52 44 20 50 44 5f 44 32 4c 61 74 65 6e  DWORD PD_D2Laten
13ff0 63 79 3b 0d 0a 20 20 44 57 4f 52 44 20 50 44 5f  cy;..  DWORD PD_
14000 44 33 4c 61 74 65 6e 63 79 3b 0d 0a 20 20 44 45  D3Latency;..  DE
14010 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45  VICE_POWER_STATE
14020 20 50 44 5f 50 6f 77 65 72 53 74 61 74 65 4d 61   PD_PowerStateMa
14030 70 70 69 6e 67 5b 50 4f 57 45 52 5f 53 59 53 54  pping[POWER_SYST
14040 45 4d 5f 4d 41 58 49 4d 55 4d 5d 3b 0d 0a 20 20  EM_MAXIMUM];..  
14050 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41  SYSTEM_POWER_STA
14060 54 45 20 50 44 5f 44 65 65 70 65 73 74 53 79 73  TE PD_DeepestSys
14070 74 65 6d 57 61 6b 65 3b 0d 0a 7d 0d 0a 61 6c 69  temWake;..}..ali
14080 61 73 20 43 4d 5f 50 6f 77 65 72 5f 44 61 74 61  as CM_Power_Data
14090 5f 73 20 43 4d 5f 50 4f 57 45 52 5f 44 41 54 41  _s CM_POWER_DATA
140a0 3b 0d 0a 61 6c 69 61 73 20 43 4d 5f 50 6f 77 65  ;..alias CM_Powe
140b0 72 5f 44 61 74 61 5f 73 2a 20 50 43 4d 5f 50 4f  r_Data_s* PCM_PO
140c0 57 45 52 5f 44 41 54 41 3b 0d 0a 0d 0a 65 6e 75  WER_DATA;....enu
140d0 6d 20 5f 36 20 7b 0d 0a 20 20 53 79 73 74 65 6d  m _6 {..  System
140e0 50 6f 77 65 72 50 6f 6c 69 63 79 41 63 2c 0d 0a  PowerPolicyAc,..
140f0 20 20 53 79 73 74 65 6d 50 6f 77 65 72 50 6f 6c    SystemPowerPol
14100 69 63 79 44 63 2c 0d 0a 20 20 56 65 72 69 66 79  icyDc,..  Verify
14110 53 79 73 74 65 6d 50 6f 6c 69 63 79 41 63 2c 0d  SystemPolicyAc,.
14120 0a 20 20 56 65 72 69 66 79 53 79 73 74 65 6d 50  .  VerifySystemP
14130 6f 6c 69 63 79 44 63 2c 0d 0a 20 20 53 79 73 74  olicyDc,..  Syst
14140 65 6d 50 6f 77 65 72 43 61 70 61 62 69 6c 69 74  emPowerCapabilit
14150 69 65 73 2c 0d 0a 20 20 53 79 73 74 65 6d 42 61  ies,..  SystemBa
14160 74 74 65 72 79 53 74 61 74 65 2c 0d 0a 20 20 53  tteryState,..  S
14170 79 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65 48  ystemPowerStateH
14180 61 6e 64 6c 65 72 2c 0d 0a 20 20 50 72 6f 63 65  andler,..  Proce
14190 73 73 6f 72 53 74 61 74 65 48 61 6e 64 6c 65 72  ssorStateHandler
141a0 2c 0d 0a 20 20 53 79 73 74 65 6d 50 6f 77 65 72  ,..  SystemPower
141b0 50 6f 6c 69 63 79 43 75 72 72 65 6e 74 2c 0d 0a  PolicyCurrent,..
141c0 20 20 41 64 6d 69 6e 69 73 74 72 61 74 6f 72 50    AdministratorP
141d0 6f 77 65 72 50 6f 6c 69 63 79 2c 0d 0a 20 20 53  owerPolicy,..  S
141e0 79 73 74 65 6d 52 65 73 65 72 76 65 48 69 62 65  ystemReserveHibe
141f0 72 46 69 6c 65 2c 0d 0a 20 20 50 72 6f 63 65 73  rFile,..  Proces
14200 73 6f 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0d  sorInformation,.
14210 0a 20 20 53 79 73 74 65 6d 50 6f 77 65 72 49 6e  .  SystemPowerIn
14220 66 6f 72 6d 61 74 69 6f 6e 2c 0d 0a 20 20 50 72  formation,..  Pr
14230 6f 63 65 73 73 6f 72 53 74 61 74 65 48 61 6e 64  ocessorStateHand
14240 6c 65 72 32 2c 0d 0a 20 20 4c 61 73 74 57 61 6b  ler2,..  LastWak
14250 65 54 69 6d 65 2c 0d 0a 20 20 4c 61 73 74 53 6c  eTime,..  LastSl
14260 65 65 70 54 69 6d 65 2c 0d 0a 20 20 53 79 73 74  eepTime,..  Syst
14270 65 6d 45 78 65 63 75 74 69 6f 6e 53 74 61 74 65  emExecutionState
14280 2c 0d 0a 20 20 53 79 73 74 65 6d 50 6f 77 65 72  ,..  SystemPower
14290 53 74 61 74 65 4e 6f 74 69 66 79 48 61 6e 64 6c  StateNotifyHandl
142a0 65 72 2c 0d 0a 20 20 50 72 6f 63 65 73 73 6f 72  er,..  Processor
142b0 50 6f 77 65 72 50 6f 6c 69 63 79 41 63 2c 0d 0a  PowerPolicyAc,..
142c0 20 20 50 72 6f 63 65 73 73 6f 72 50 6f 77 65 72    ProcessorPower
142d0 50 6f 6c 69 63 79 44 63 2c 0d 0a 20 20 56 65 72  PolicyDc,..  Ver
142e0 69 66 79 50 72 6f 63 65 73 73 6f 72 50 6f 77 65  ifyProcessorPowe
142f0 72 50 6f 6c 69 63 79 41 63 2c 0d 0a 20 20 56 65  rPolicyAc,..  Ve
14300 72 69 66 79 50 72 6f 63 65 73 73 6f 72 50 6f 77  rifyProcessorPow
14310 65 72 50 6f 6c 69 63 79 44 63 2c 0d 0a 20 20 50  erPolicyDc,..  P
14320 72 6f 63 65 73 73 6f 72 50 6f 77 65 72 50 6f 6c  rocessorPowerPol
14330 69 63 79 43 75 72 72 65 6e 74 2c 0d 0a 7d 0d 0a  icyCurrent,..}..
14340 61 6c 69 61 73 20 5f 36 20 50 4f 57 45 52 5f 49  alias _6 POWER_I
14350 4e 46 4f 52 4d 41 54 49 4f 4e 5f 4c 45 56 45 4c  NFORMATION_LEVEL
14360 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 37 20 7b  ;....struct _7 {
14370 0d 0a 20 20 44 57 4f 52 44 20 47 72 61 6e 75 6c  ..  DWORD Granul
14380 61 72 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20  arity;..  DWORD 
14390 43 61 70 61 63 69 74 79 3b 0d 0a 7d 0d 0a 61 6c  Capacity;..}..al
143a0 69 61 73 20 5f 37 20 42 41 54 54 45 52 59 5f 52  ias _7 BATTERY_R
143b0 45 50 4f 52 54 49 4e 47 5f 53 43 41 4c 45 3b 0d  EPORTING_SCALE;.
143c0 0a 61 6c 69 61 73 20 5f 37 2a 20 50 42 41 54 54  .alias _7* PBATT
143d0 45 52 59 5f 52 45 50 4f 52 54 49 4e 47 5f 53 43  ERY_REPORTING_SC
143e0 41 4c 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ALE;....struct _
143f0 38 20 7b 0d 0a 20 20 50 4f 57 45 52 5f 41 43 54  8 {..  POWER_ACT
14400 49 4f 4e 20 41 63 74 69 6f 6e 3b 0d 0a 20 20 44  ION Action;..  D
14410 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 44  WORD Flags;..  D
14420 57 4f 52 44 20 45 76 65 6e 74 43 6f 64 65 3b 0d  WORD EventCode;.
14430 0a 7d 0d 0a 61 6c 69 61 73 20 5f 38 20 50 4f 57  .}..alias _8 POW
14440 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59  ER_ACTION_POLICY
14450 3b 0d 0a 61 6c 69 61 73 20 5f 38 2a 20 50 50 4f  ;..alias _8* PPO
14460 57 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43  WER_ACTION_POLIC
14470 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  Y;....enum : uin
14480 74 20 7b 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e  t { POWER_ACTION
14490 5f 51 55 45 52 59 5f 41 4c 4c 4f 57 45 44 20 3d  _QUERY_ALLOWED =
144a0 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
144b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57  num : uint { POW
144c0 45 52 5f 41 43 54 49 4f 4e 5f 55 49 5f 41 4c 4c  ER_ACTION_UI_ALL
144d0 4f 57 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  OWED = 0x0000000
144e0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
144f0 20 7b 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f   { POWER_ACTION_
14500 4f 56 45 52 52 49 44 45 5f 41 50 50 53 20 3d 20  OVERRIDE_APPS = 
14510 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
14520 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57 45  um : uint { POWE
14530 52 5f 41 43 54 49 4f 4e 5f 4c 49 47 48 54 45 53  R_ACTION_LIGHTES
14540 54 5f 46 49 52 53 54 20 3d 20 30 78 31 30 30 30  T_FIRST = 0x1000
14550 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
14560 69 6e 74 20 7b 20 50 4f 57 45 52 5f 41 43 54 49  int { POWER_ACTI
14570 4f 4e 5f 4c 4f 43 4b 5f 43 4f 4e 53 4f 4c 45 20  ON_LOCK_CONSOLE 
14580 3d 20 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x20000000 }..
14590 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f  enum : uint { PO
145a0 57 45 52 5f 41 43 54 49 4f 4e 5f 44 49 53 41 42  WER_ACTION_DISAB
145b0 4c 45 5f 57 41 4b 45 53 20 3d 20 30 78 34 30 30  LE_WAKES = 0x400
145c0 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
145d0 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f 41 43 54  uint { POWER_ACT
145e0 49 4f 4e 5f 43 52 49 54 49 43 41 4c 20 3d 20 30  ION_CRITICAL = 0
145f0 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65  x80000000 }....e
14600 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 57  num : uint { POW
14610 45 52 5f 4c 45 56 45 4c 5f 55 53 45 52 5f 4e 4f  ER_LEVEL_USER_NO
14620 54 49 46 59 5f 54 45 58 54 20 3d 20 30 78 30 30  TIFY_TEXT = 0x00
14630 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
14640 20 75 69 6e 74 20 7b 20 50 4f 57 45 52 5f 4c 45   uint { POWER_LE
14650 56 45 4c 5f 55 53 45 52 5f 4e 4f 54 49 46 59 5f  VEL_USER_NOTIFY_
14660 53 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 30  SOUND = 0x000000
14670 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
14680 74 20 7b 20 50 4f 57 45 52 5f 4c 45 56 45 4c 5f  t { POWER_LEVEL_
14690 55 53 45 52 5f 4e 4f 54 49 46 59 5f 45 58 45 43  USER_NOTIFY_EXEC
146a0 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
146b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
146c0 4f 57 45 52 5f 55 53 45 52 5f 4e 4f 54 49 46 59  OWER_USER_NOTIFY
146d0 5f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 30  _BUTTON = 0x0000
146e0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
146f0 69 6e 74 20 7b 20 50 4f 57 45 52 5f 55 53 45 52  int { POWER_USER
14700 5f 4e 4f 54 49 46 59 5f 53 48 55 54 44 4f 57 4e  _NOTIFY_SHUTDOWN
14710 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
14720 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
14730 4f 57 45 52 5f 46 4f 52 43 45 5f 54 52 49 47 47  OWER_FORCE_TRIGG
14740 45 52 5f 52 45 53 45 54 20 3d 20 30 78 38 30 30  ER_RESET = 0x800
14750 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  00000 }....struc
14760 74 20 5f 39 20 7b 0d 0a 20 20 42 4f 4f 4c 45 41  t _9 {..  BOOLEA
14770 4e 20 45 6e 61 62 6c 65 3b 0d 0a 20 20 42 59 54  N Enable;..  BYT
14780 45 20 53 70 61 72 65 5b 33 5d 3b 0d 0a 20 20 44  E Spare[3];..  D
14790 57 4f 52 44 20 42 61 74 74 65 72 79 4c 65 76 65  WORD BatteryLeve
147a0 6c 3b 0d 0a 20 20 50 4f 57 45 52 5f 41 43 54 49  l;..  POWER_ACTI
147b0 4f 4e 5f 50 4f 4c 49 43 59 20 50 6f 77 65 72 50  ON_POLICY PowerP
147c0 6f 6c 69 63 79 3b 0d 0a 20 20 53 59 53 54 45 4d  olicy;..  SYSTEM
147d0 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 4d 69 6e  _POWER_STATE Min
147e0 53 79 73 74 65 6d 53 74 61 74 65 3b 0d 0a 7d 0d  SystemState;..}.
147f0 0a 61 6c 69 61 73 20 5f 39 20 53 59 53 54 45 4d  .alias _9 SYSTEM
14800 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 3b 0d 0a 61  _POWER_LEVEL;..a
14810 6c 69 61 73 20 5f 39 2a 20 50 53 59 53 54 45 4d  lias _9* PSYSTEM
14820 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 3b 0d 0a 0d  _POWER_LEVEL;...
14830 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
14840 55 4d 5f 44 49 53 43 48 41 52 47 45 5f 50 4f 4c  UM_DISCHARGE_POL
14850 49 43 49 45 53 20 3d 20 34 20 7d 0d 0a 65 6e 75  ICIES = 4 }..enu
14860 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49 53 43 48  m : uint { DISCH
14870 41 52 47 45 5f 50 4f 4c 49 43 59 5f 43 52 49 54  ARGE_POLICY_CRIT
14880 49 43 41 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  ICAL = 0 }..enum
14890 20 3a 20 75 69 6e 74 20 7b 20 44 49 53 43 48 41   : uint { DISCHA
148a0 52 47 45 5f 50 4f 4c 49 43 59 5f 4c 4f 57 20 3d  RGE_POLICY_LOW =
148b0 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   1 }....enum : u
148c0 69 6e 74 20 7b 20 50 4f 5f 54 48 52 4f 54 54 4c  int { PO_THROTTL
148d0 45 5f 4e 4f 4e 45 20 3d 20 30 20 7d 0d 0a 65 6e  E_NONE = 0 }..en
148e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 5f 54  um : uint { PO_T
148f0 48 52 4f 54 54 4c 45 5f 43 4f 4e 53 54 41 4e 54  HROTTLE_CONSTANT
14900 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
14910 69 6e 74 20 7b 20 50 4f 5f 54 48 52 4f 54 54 4c  int { PO_THROTTL
14920 45 5f 44 45 47 52 41 44 45 20 3d 20 32 20 7d 0d  E_DEGRADE = 2 }.
14930 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
14940 4f 5f 54 48 52 4f 54 54 4c 45 5f 41 44 41 50 54  O_THROTTLE_ADAPT
14950 49 56 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  IVE = 3 }..enum 
14960 3a 20 75 69 6e 74 20 7b 20 50 4f 5f 54 48 52 4f  : uint { PO_THRO
14970 54 54 4c 45 5f 4d 41 58 49 4d 55 4d 20 3d 20 34  TTLE_MAXIMUM = 4
14980 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 53 59   }....struct _SY
14990 53 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43  STEM_POWER_POLIC
149a0 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 52 65 76  Y {..  DWORD Rev
149b0 69 73 69 6f 6e 3b 0d 0a 0d 0a 20 20 50 4f 57 45  ision;....  POWE
149c0 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 20  R_ACTION_POLICY 
149d0 50 6f 77 65 72 42 75 74 74 6f 6e 3b 0d 0a 20 20  PowerButton;..  
149e0 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c  POWER_ACTION_POL
149f0 49 43 59 20 53 6c 65 65 70 42 75 74 74 6f 6e 3b  ICY SleepButton;
14a00 0d 0a 20 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e  ..  POWER_ACTION
14a10 5f 50 4f 4c 49 43 59 20 4c 69 64 43 6c 6f 73 65  _POLICY LidClose
14a20 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ;..  SYSTEM_POWE
14a30 52 5f 53 54 41 54 45 20 4c 69 64 4f 70 65 6e 57  R_STATE LidOpenW
14a40 61 6b 65 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65  ake;..  DWORD Re
14a50 73 65 72 76 65 64 3b 0d 0a 20 20 50 4f 57 45 52  served;..  POWER
14a60 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 20 49  _ACTION_POLICY I
14a70 64 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 49 64  dle;..  DWORD Id
14a80 6c 65 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 42 59  leTimeout;..  BY
14a90 54 45 20 49 64 6c 65 53 65 6e 73 69 74 69 76 69  TE IdleSensitivi
14aa0 74 79 3b 0d 0a 0d 0a 20 20 42 59 54 45 20 44 79  ty;....  BYTE Dy
14ab0 6e 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0d 0a  namicThrottle;..
14ac0 20 20 42 59 54 45 20 53 70 61 72 65 32 5b 32 5d    BYTE Spare2[2]
14ad0 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ;..  SYSTEM_POWE
14ae0 52 5f 53 54 41 54 45 20 4d 69 6e 53 6c 65 65 70  R_STATE MinSleep
14af0 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ;..  SYSTEM_POWE
14b00 52 5f 53 54 41 54 45 20 4d 61 78 53 6c 65 65 70  R_STATE MaxSleep
14b10 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ;..  SYSTEM_POWE
14b20 52 5f 53 54 41 54 45 20 52 65 64 75 63 65 64 4c  R_STATE ReducedL
14b30 61 74 65 6e 63 79 53 6c 65 65 70 3b 0d 0a 20 20  atencySleep;..  
14b40 44 57 4f 52 44 20 57 69 6e 4c 6f 67 6f 6e 46 6c  DWORD WinLogonFl
14b50 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 53 70  ags;..  DWORD Sp
14b60 61 72 65 33 3b 0d 0a 20 20 44 57 4f 52 44 20 44  are3;..  DWORD D
14b70 6f 7a 65 53 34 54 69 6d 65 6f 75 74 3b 0d 0a 20  ozeS4Timeout;.. 
14b80 20 44 57 4f 52 44 20 42 72 6f 61 64 63 61 73 74   DWORD Broadcast
14b90 43 61 70 61 63 69 74 79 52 65 73 6f 6c 75 74 69  CapacityResoluti
14ba0 6f 6e 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f  on;..  SYSTEM_PO
14bb0 57 45 52 5f 4c 45 56 45 4c 20 44 69 73 63 68 61  WER_LEVEL Discha
14bc0 72 67 65 50 6f 6c 69 63 79 5b 4e 55 4d 5f 44 49  rgePolicy[NUM_DI
14bd0 53 43 48 41 52 47 45 5f 50 4f 4c 49 43 49 45 53  SCHARGE_POLICIES
14be0 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 56 69 64 65  ];..  DWORD Vide
14bf0 6f 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 42 4f 4f  oTimeout;..  BOO
14c00 4c 45 41 4e 20 56 69 64 65 6f 44 69 6d 44 69 73  LEAN VideoDimDis
14c10 70 6c 61 79 3b 0d 0a 20 20 44 57 4f 52 44 20 56  play;..  DWORD V
14c20 69 64 65 6f 52 65 73 65 72 76 65 64 5b 33 5d 3b  ideoReserved[3];
14c30 0d 0a 20 20 44 57 4f 52 44 20 53 70 69 6e 64 6f  ..  DWORD Spindo
14c40 77 6e 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 42 4f  wnTimeout;..  BO
14c50 4f 4c 45 41 4e 20 4f 70 74 69 6d 69 7a 65 46 6f  OLEAN OptimizeFo
14c60 72 50 6f 77 65 72 3b 0d 0a 20 20 42 59 54 45 20  rPower;..  BYTE 
14c70 46 61 6e 54 68 72 6f 74 74 6c 65 54 6f 6c 65 72  FanThrottleToler
14c80 61 6e 63 65 3b 0d 0a 20 20 42 59 54 45 20 46 6f  ance;..  BYTE Fo
14c90 72 63 65 64 54 68 72 6f 74 74 6c 65 3b 0d 0a 20  rcedThrottle;.. 
14ca0 20 42 59 54 45 20 4d 69 6e 54 68 72 6f 74 74 6c   BYTE MinThrottl
14cb0 65 3b 0d 0a 20 20 50 4f 57 45 52 5f 41 43 54 49  e;..  POWER_ACTI
14cc0 4f 4e 5f 50 4f 4c 49 43 59 20 4f 76 65 72 54 68  ON_POLICY OverTh
14cd0 72 6f 74 74 6c 65 64 3b 0d 0a 7d 0d 0a 61 6c 69  rottled;..}..ali
14ce0 61 73 20 5f 53 59 53 54 45 4d 5f 50 4f 57 45 52  as _SYSTEM_POWER
14cf0 5f 50 4f 4c 49 43 59 20 53 59 53 54 45 4d 5f 50  _POLICY SYSTEM_P
14d00 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0d 0a 61 6c  OWER_POLICY;..al
14d10 69 61 73 20 5f 53 59 53 54 45 4d 5f 50 4f 57 45  ias _SYSTEM_POWE
14d20 52 5f 50 4f 4c 49 43 59 2a 20 50 53 59 53 54 45  R_POLICY* PSYSTE
14d30 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0d  M_POWER_POLICY;.
14d40 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 43 45  ...struct _PROCE
14d50 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43  SSOR_POWER_POLIC
14d60 59 5f 49 4e 46 4f 20 7b 0d 0a 0d 0a 20 20 44 57  Y_INFO {....  DW
14d70 4f 52 44 20 54 69 6d 65 43 68 65 63 6b 3b 0d 0a  ORD TimeCheck;..
14d80 20 20 44 57 4f 52 44 20 44 65 6d 6f 74 65 4c 69    DWORD DemoteLi
14d90 6d 69 74 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72  mit;..  DWORD Pr
14da0 6f 6d 6f 74 65 4c 69 6d 69 74 3b 0d 0a 0d 0a 20  omoteLimit;.... 
14db0 20 42 59 54 45 20 44 65 6d 6f 74 65 50 65 72 63   BYTE DemotePerc
14dc0 65 6e 74 3b 0d 0a 20 20 42 59 54 45 20 50 72 6f  ent;..  BYTE Pro
14dd0 6d 6f 74 65 50 65 72 63 65 6e 74 3b 0d 0a 20 20  motePercent;..  
14de0 42 59 54 45 20 53 70 61 72 65 5b 32 5d 3b 0d 0a  BYTE Spare[2];..
14df0 2f 2f 20 44 57 4f 52 44 20 20 20 20 20 20 20 20  // DWORD        
14e00 20 20 20 20 20 20 20 20 20 20 20 41 6c 6c 6f 77             Allow
14e10 44 65 6d 6f 74 69 6f 6e 3a 31 3b 0d 0a 2f 2f 20  Demotion:1;..// 
14e20 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20  DWORD           
14e30 20 20 20 20 20 20 20 20 41 6c 6c 6f 77 50 72 6f          AllowPro
14e40 6d 6f 74 69 6f 6e 3a 31 3b 0d 0a 2f 2f 20 44 57  motion:1;..// DW
14e50 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20  ORD             
14e60 20 20 20 20 20 20 52 65 73 65 72 76 65 64 3a 33        Reserved:3
14e70 30 3b 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  0;....}..alias _
14e80 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f  PROCESSOR_POWER_
14e90 50 4f 4c 49 43 59 5f 49 4e 46 4f 20 50 52 4f 43  POLICY_INFO PROC
14ea0 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49  ESSOR_POWER_POLI
14eb0 43 59 5f 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  CY_INFO;..alias 
14ec0 5f 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52  _PROCESSOR_POWER
14ed0 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 2a 20 50 50  _POLICY_INFO* PP
14ee0 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50  ROCESSOR_POWER_P
14ef0 4f 4c 49 43 59 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73  OLICY_INFO;....s
14f00 74 72 75 63 74 20 5f 50 52 4f 43 45 53 53 4f 52  truct _PROCESSOR
14f10 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 7b 0d  _POWER_POLICY {.
14f20 0a 20 20 44 57 4f 52 44 20 52 65 76 69 73 69 6f  .  DWORD Revisio
14f30 6e 3b 0d 0a 0d 0a 20 20 42 59 54 45 20 44 79 6e  n;....  BYTE Dyn
14f40 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0d 0a 20  amicThrottle;.. 
14f50 20 42 59 54 45 20 53 70 61 72 65 5b 33 5d 3b 0d   BYTE Spare[3];.
14f60 0a 20 20 44 57 4f 52 44 20 52 65 73 65 72 76 65  .  DWORD Reserve
14f70 64 3b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 50 6f  d;....  DWORD Po
14f80 6c 69 63 79 43 6f 75 6e 74 3b 0d 0a 20 20 50 52  licyCount;..  PR
14f90 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f  OCESSOR_POWER_PO
14fa0 4c 49 43 59 5f 49 4e 46 4f 20 50 6f 6c 69 63 79  LICY_INFO Policy
14fb0 5b 33 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  [3];..}..alias _
14fc0 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f  PROCESSOR_POWER_
14fd0 50 4f 4c 49 43 59 20 50 52 4f 43 45 53 53 4f 52  POLICY PROCESSOR
14fe0 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0d 0a  _POWER_POLICY;..
14ff0 61 6c 69 61 73 20 5f 50 52 4f 43 45 53 53 4f 52  alias _PROCESSOR
15000 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 2a 20 50  _POWER_POLICY* P
15010 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f  PROCESSOR_POWER_
15020 50 4f 4c 49 43 59 3b 0d 0a 0d 0a 73 74 72 75 63  POLICY;....struc
15030 74 20 5f 41 44 4d 49 4e 49 53 54 52 41 54 4f 52  t _ADMINISTRATOR
15040 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 7b 0d  _POWER_POLICY {.
15050 0a 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ...  SYSTEM_POWE
15060 52 5f 53 54 41 54 45 20 4d 69 6e 53 6c 65 65 70  R_STATE MinSleep
15070 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f 57 45  ;..  SYSTEM_POWE
15080 52 5f 53 54 41 54 45 20 4d 61 78 53 6c 65 65 70  R_STATE MaxSleep
15090 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 69 6e 56 69  ;..  DWORD MinVi
150a0 64 65 6f 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 44  deoTimeout;..  D
150b0 57 4f 52 44 20 4d 61 78 56 69 64 65 6f 54 69 6d  WORD MaxVideoTim
150c0 65 6f 75 74 3b 0d 0a 20 20 44 57 4f 52 44 20 4d  eout;..  DWORD M
150d0 69 6e 53 70 69 6e 64 6f 77 6e 54 69 6d 65 6f 75  inSpindownTimeou
150e0 74 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 61 78 53  t;..  DWORD MaxS
150f0 70 69 6e 64 6f 77 6e 54 69 6d 65 6f 75 74 3b 0d  pindownTimeout;.
15100 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 44 4d 49 4e  .}..alias _ADMIN
15110 49 53 54 52 41 54 4f 52 5f 50 4f 57 45 52 5f 50  ISTRATOR_POWER_P
15120 4f 4c 49 43 59 20 41 44 4d 49 4e 49 53 54 52 41  OLICY ADMINISTRA
15130 54 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59  TOR_POWER_POLICY
15140 3b 0d 0a 61 6c 69 61 73 20 5f 41 44 4d 49 4e 49  ;..alias _ADMINI
15150 53 54 52 41 54 4f 52 5f 50 4f 57 45 52 5f 50 4f  STRATOR_POWER_PO
15160 4c 49 43 59 2a 20 50 41 44 4d 49 4e 49 53 54 52  LICY* PADMINISTR
15170 41 54 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43  ATOR_POWER_POLIC
15180 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 30  Y;....struct _10
15190 20 7b 0d 0a 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20   {....  BOOLEAN 
151a0 50 6f 77 65 72 42 75 74 74 6f 6e 50 72 65 73 65  PowerButtonPrese
151b0 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 53  nt;..  BOOLEAN S
151c0 6c 65 65 70 42 75 74 74 6f 6e 50 72 65 73 65 6e  leepButtonPresen
151d0 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 4c 69  t;..  BOOLEAN Li
151e0 64 50 72 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f  dPresent;..  BOO
151f0 4c 45 41 4e 20 53 79 73 74 65 6d 53 31 3b 0d 0a  LEAN SystemS1;..
15200 20 20 42 4f 4f 4c 45 41 4e 20 53 79 73 74 65 6d    BOOLEAN System
15210 53 32 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 53  S2;..  BOOLEAN S
15220 79 73 74 65 6d 53 33 3b 0d 0a 20 20 42 4f 4f 4c  ystemS3;..  BOOL
15230 45 41 4e 20 53 79 73 74 65 6d 53 34 3b 0d 0a 20  EAN SystemS4;.. 
15240 20 42 4f 4f 4c 45 41 4e 20 53 79 73 74 65 6d 53   BOOLEAN SystemS
15250 35 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 48 69  5;..  BOOLEAN Hi
15260 62 65 72 46 69 6c 65 50 72 65 73 65 6e 74 3b 0d  berFilePresent;.
15270 0a 20 20 42 4f 4f 4c 45 41 4e 20 46 75 6c 6c 57  .  BOOLEAN FullW
15280 61 6b 65 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ake;..  BOOLEAN 
15290 56 69 64 65 6f 44 69 6d 50 72 65 73 65 6e 74 3b  VideoDimPresent;
152a0 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 41 70 6d 50  ..  BOOLEAN ApmP
152b0 72 65 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45  resent;..  BOOLE
152c0 41 4e 20 55 70 73 50 72 65 73 65 6e 74 3b 0d 0a  AN UpsPresent;..
152d0 20 20 42 4f 4f 4c 45 41 4e 20 54 68 65 72 6d 61    BOOLEAN Therma
152e0 6c 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20 42 4f 4f  lControl;..  BOO
152f0 4c 45 41 4e 20 50 72 6f 63 65 73 73 6f 72 54 68  LEAN ProcessorTh
15300 72 6f 74 74 6c 65 3b 0d 0a 20 20 42 59 54 45 20  rottle;..  BYTE 
15310 50 72 6f 63 65 73 73 6f 72 4d 69 6e 54 68 72 6f  ProcessorMinThro
15320 74 74 6c 65 3b 0d 0a 20 20 42 59 54 45 20 50 72  ttle;..  BYTE Pr
15330 6f 63 65 73 73 6f 72 4d 61 78 54 68 72 6f 74 74  ocessorMaxThrott
15340 6c 65 3b 0d 0a 20 20 42 59 54 45 20 73 70 61 72  le;..  BYTE spar
15350 65 32 5b 34 5d 3b 0d 0a 20 20 42 4f 4f 4c 45 41  e2[4];..  BOOLEA
15360 4e 20 44 69 73 6b 53 70 69 6e 44 6f 77 6e 3b 0d  N DiskSpinDown;.
15370 0a 20 20 42 59 54 45 20 73 70 61 72 65 33 5b 38  .  BYTE spare3[8
15380 5d 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 53 79  ];..  BOOLEAN Sy
15390 73 74 65 6d 42 61 74 74 65 72 69 65 73 50 72 65  stemBatteriesPre
153a0 73 65 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e  sent;..  BOOLEAN
153b0 20 42 61 74 74 65 72 69 65 73 41 72 65 53 68 6f   BatteriesAreSho
153c0 72 74 54 65 72 6d 3b 0d 0a 20 20 42 41 54 54 45  rtTerm;..  BATTE
153d0 52 59 5f 52 45 50 4f 52 54 49 4e 47 5f 53 43 41  RY_REPORTING_SCA
153e0 4c 45 20 42 61 74 74 65 72 79 53 63 61 6c 65 5b  LE BatteryScale[
153f0 33 5d 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f  3];..  SYSTEM_PO
15400 57 45 52 5f 53 54 41 54 45 20 41 63 4f 6e 4c 69  WER_STATE AcOnLi
15410 6e 65 57 61 6b 65 3b 0d 0a 20 20 53 59 53 54 45  neWake;..  SYSTE
15420 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 53 6f  M_POWER_STATE So
15430 66 74 4c 69 64 57 61 6b 65 3b 0d 0a 20 20 53 59  ftLidWake;..  SY
15440 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45  STEM_POWER_STATE
15450 20 52 74 63 57 61 6b 65 3b 0d 0a 20 20 53 59 53   RtcWake;..  SYS
15460 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20  TEM_POWER_STATE 
15470 4d 69 6e 44 65 76 69 63 65 57 61 6b 65 53 74 61  MinDeviceWakeSta
15480 74 65 3b 0d 0a 20 20 53 59 53 54 45 4d 5f 50 4f  te;..  SYSTEM_PO
15490 57 45 52 5f 53 54 41 54 45 20 44 65 66 61 75 6c  WER_STATE Defaul
154a0 74 4c 6f 77 4c 61 74 65 6e 63 79 57 61 6b 65 3b  tLowLatencyWake;
154b0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 30 20 53  ..}..alias _10 S
154c0 59 53 54 45 4d 5f 50 4f 57 45 52 5f 43 41 50 41  YSTEM_POWER_CAPA
154d0 42 49 4c 49 54 49 45 53 3b 0d 0a 61 6c 69 61 73  BILITIES;..alias
154e0 20 5f 31 30 2a 20 50 53 59 53 54 45 4d 5f 50 4f   _10* PSYSTEM_PO
154f0 57 45 52 5f 43 41 50 41 42 49 4c 49 54 49 45 53  WER_CAPABILITIES
15500 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 31 20  ;....struct _11 
15510 7b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 41 63 4f  {..  BOOLEAN AcO
15520 6e 4c 69 6e 65 3b 0d 0a 20 20 42 4f 4f 4c 45 41  nLine;..  BOOLEA
15530 4e 20 42 61 74 74 65 72 79 50 72 65 73 65 6e 74  N BatteryPresent
15540 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 43 68 61  ;..  BOOLEAN Cha
15550 72 67 69 6e 67 3b 0d 0a 20 20 42 4f 4f 4c 45 41  rging;..  BOOLEA
15560 4e 20 44 69 73 63 68 61 72 67 69 6e 67 3b 0d 0a  N Discharging;..
15570 20 20 42 4f 4f 4c 45 41 4e 20 53 70 61 72 65 31    BOOLEAN Spare1
15580 5b 34 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 61  [4];..  DWORD Ma
15590 78 43 61 70 61 63 69 74 79 3b 0d 0a 20 20 44 57  xCapacity;..  DW
155a0 4f 52 44 20 52 65 6d 61 69 6e 69 6e 67 43 61 70  ORD RemainingCap
155b0 61 63 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20  acity;..  DWORD 
155c0 52 61 74 65 3b 0d 0a 20 20 44 57 4f 52 44 20 45  Rate;..  DWORD E
155d0 73 74 69 6d 61 74 65 64 54 69 6d 65 3b 0d 0a 20  stimatedTime;.. 
155e0 20 44 57 4f 52 44 20 44 65 66 61 75 6c 74 41 6c   DWORD DefaultAl
155f0 65 72 74 31 3b 0d 0a 20 20 44 57 4f 52 44 20 44  ert1;..  DWORD D
15600 65 66 61 75 6c 74 41 6c 65 72 74 32 3b 0d 0a 7d  efaultAlert2;..}
15610 0d 0a 61 6c 69 61 73 20 5f 31 31 20 53 59 53 54  ..alias _11 SYST
15620 45 4d 5f 42 41 54 54 45 52 59 5f 53 54 41 54 45  EM_BATTERY_STATE
15630 3b 0d 0a 61 6c 69 61 73 20 5f 31 31 2a 20 50 53  ;..alias _11* PS
15640 59 53 54 45 4d 5f 42 41 54 54 45 52 59 5f 53 54  YSTEM_BATTERY_ST
15650 41 54 45 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ATE;....// #ifnd
15660 65 66 20 5f 4d 41 43 0d 0a 0d 0a 61 6c 69 67 6e  ef _MAC....align
15670 28 34 29 3a 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  (4):....enum : u
15680 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 4f 53 5f  int { IMAGE_DOS_
15690 53 49 47 4e 41 54 55 52 45 20 3d 20 30 78 35 41  SIGNATURE = 0x5A
156a0 34 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  4D }..enum : uin
156b0 74 20 7b 20 49 4d 41 47 45 5f 4f 53 32 5f 53 49  t { IMAGE_OS2_SI
156c0 47 4e 41 54 55 52 45 20 3d 20 30 78 34 35 34 45  GNATURE = 0x454E
156d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
156e0 7b 20 49 4d 41 47 45 5f 4f 53 32 5f 53 49 47 4e  { IMAGE_OS2_SIGN
156f0 41 54 55 52 45 5f 4c 45 20 3d 20 30 78 34 35 34  ATURE_LE = 0x454
15700 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  C }..enum : uint
15710 20 7b 20 49 4d 41 47 45 5f 56 58 44 5f 53 49 47   { IMAGE_VXD_SIG
15720 4e 41 54 55 52 45 20 3d 20 30 78 34 35 34 43 20  NATURE = 0x454C 
15730 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
15740 20 49 4d 41 47 45 5f 4e 54 5f 53 49 47 4e 41 54   IMAGE_NT_SIGNAT
15750 55 52 45 20 3d 20 30 78 30 30 30 30 34 35 35 30  URE = 0x00004550
15760 20 7d 0d 0a 0d 0a 61 6c 69 67 6e 28 32 29 3a 0d   }....align(2):.
15770 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 0d 0a 2f  ...// #else..../
15780 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e  / #.......// #..
15790 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
157a0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
157b0 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
157c0 74 20 5f 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41  t _IMAGE_DOS_HEA
157d0 44 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 65 5f  DER {..  WORD e_
157e0 6d 61 67 69 63 3b 0d 0a 20 20 57 4f 52 44 20 65  magic;..  WORD e
157f0 5f 63 62 6c 70 3b 0d 0a 20 20 57 4f 52 44 20 65  _cblp;..  WORD e
15800 5f 63 70 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 63  _cp;..  WORD e_c
15810 72 6c 63 3b 0d 0a 20 20 57 4f 52 44 20 65 5f 63  rlc;..  WORD e_c
15820 70 61 72 68 64 72 3b 0d 0a 20 20 57 4f 52 44 20  parhdr;..  WORD 
15830 65 5f 6d 69 6e 61 6c 6c 6f 63 3b 0d 0a 20 20 57  e_minalloc;..  W
15840 4f 52 44 20 65 5f 6d 61 78 61 6c 6c 6f 63 3b 0d  ORD e_maxalloc;.
15850 0a 20 20 57 4f 52 44 20 65 5f 73 73 3b 0d 0a 20  .  WORD e_ss;.. 
15860 20 57 4f 52 44 20 65 5f 73 70 3b 0d 0a 20 20 57   WORD e_sp;..  W
15870 4f 52 44 20 65 5f 63 73 75 6d 3b 0d 0a 20 20 57  ORD e_csum;..  W
15880 4f 52 44 20 65 5f 69 70 3b 0d 0a 20 20 57 4f 52  ORD e_ip;..  WOR
15890 44 20 65 5f 63 73 3b 0d 0a 20 20 57 4f 52 44 20  D e_cs;..  WORD 
158a0 65 5f 6c 66 61 72 6c 63 3b 0d 0a 20 20 57 4f 52  e_lfarlc;..  WOR
158b0 44 20 65 5f 6f 76 6e 6f 3b 0d 0a 20 20 57 4f 52  D e_ovno;..  WOR
158c0 44 20 65 5f 72 65 73 5b 34 5d 3b 0d 0a 20 20 57  D e_res[4];..  W
158d0 4f 52 44 20 65 5f 6f 65 6d 69 64 3b 0d 0a 20 20  ORD e_oemid;..  
158e0 57 4f 52 44 20 65 5f 6f 65 6d 69 6e 66 6f 3b 0d  WORD e_oeminfo;.
158f0 0a 20 20 57 4f 52 44 20 65 5f 72 65 73 32 5b 31  .  WORD e_res2[1
15900 30 5d 3b 0d 0a 20 20 4c 4f 4e 47 20 65 5f 6c 66  0];..  LONG e_lf
15910 61 6e 65 77 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  anew;..}..alias 
15920 5f 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44 45  _IMAGE_DOS_HEADE
15930 52 20 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44  R IMAGE_DOS_HEAD
15940 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ER;..alias _IMAG
15950 45 5f 44 4f 53 5f 48 45 41 44 45 52 2a 20 50 49  E_DOS_HEADER* PI
15960 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44 45 52 3b  MAGE_DOS_HEADER;
15970 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
15980 45 5f 4f 53 32 5f 48 45 41 44 45 52 20 7b 0d 0a  E_OS2_HEADER {..
15990 20 20 57 4f 52 44 20 6e 65 5f 6d 61 67 69 63 3b    WORD ne_magic;
159a0 0d 0a 20 20 43 48 41 52 20 6e 65 5f 76 65 72 3b  ..  CHAR ne_ver;
159b0 0d 0a 20 20 43 48 41 52 20 6e 65 5f 72 65 76 3b  ..  CHAR ne_rev;
159c0 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 65 6e 74 74  ..  WORD ne_entt
159d0 61 62 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 63  ab;..  WORD ne_c
159e0 62 65 6e 74 74 61 62 3b 0d 0a 20 20 4c 4f 4e 47  benttab;..  LONG
159f0 20 6e 65 5f 63 72 63 3b 0d 0a 20 20 57 4f 52 44   ne_crc;..  WORD
15a00 20 6e 65 5f 66 6c 61 67 73 3b 0d 0a 20 20 57 4f   ne_flags;..  WO
15a10 52 44 20 6e 65 5f 61 75 74 6f 64 61 74 61 3b 0d  RD ne_autodata;.
15a20 0a 20 20 57 4f 52 44 20 6e 65 5f 68 65 61 70 3b  .  WORD ne_heap;
15a30 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 73 74 61 63  ..  WORD ne_stac
15a40 6b 3b 0d 0a 20 20 4c 4f 4e 47 20 6e 65 5f 63 73  k;..  LONG ne_cs
15a50 69 70 3b 0d 0a 20 20 4c 4f 4e 47 20 6e 65 5f 73  ip;..  LONG ne_s
15a60 73 73 70 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f  ssp;..  WORD ne_
15a70 63 73 65 67 3b 0d 0a 20 20 57 4f 52 44 20 6e 65  cseg;..  WORD ne
15a80 5f 63 6d 6f 64 3b 0d 0a 20 20 57 4f 52 44 20 6e  _cmod;..  WORD n
15a90 65 5f 63 62 6e 72 65 73 74 61 62 3b 0d 0a 20 20  e_cbnrestab;..  
15aa0 57 4f 52 44 20 6e 65 5f 73 65 67 74 61 62 3b 0d  WORD ne_segtab;.
15ab0 0a 20 20 57 4f 52 44 20 6e 65 5f 72 73 72 63 74  .  WORD ne_rsrct
15ac0 61 62 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 72  ab;..  WORD ne_r
15ad0 65 73 74 61 62 3b 0d 0a 20 20 57 4f 52 44 20 6e  estab;..  WORD n
15ae0 65 5f 6d 6f 64 74 61 62 3b 0d 0a 20 20 57 4f 52  e_modtab;..  WOR
15af0 44 20 6e 65 5f 69 6d 70 74 61 62 3b 0d 0a 20 20  D ne_imptab;..  
15b00 4c 4f 4e 47 20 6e 65 5f 6e 72 65 73 74 61 62 3b  LONG ne_nrestab;
15b10 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 63 6d 6f 76  ..  WORD ne_cmov
15b20 65 6e 74 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f  ent;..  WORD ne_
15b30 61 6c 69 67 6e 3b 0d 0a 20 20 57 4f 52 44 20 6e  align;..  WORD n
15b40 65 5f 63 72 65 73 3b 0d 0a 20 20 42 59 54 45 20  e_cres;..  BYTE 
15b50 6e 65 5f 65 78 65 74 79 70 3b 0d 0a 20 20 42 59  ne_exetyp;..  BY
15b60 54 45 20 6e 65 5f 66 6c 61 67 73 6f 74 68 65 72  TE ne_flagsother
15b70 73 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 70 72  s;..  WORD ne_pr
15b80 65 74 74 68 75 6e 6b 73 3b 0d 0a 20 20 57 4f 52  etthunks;..  WOR
15b90 44 20 6e 65 5f 70 73 65 67 72 65 66 62 79 74 65  D ne_psegrefbyte
15ba0 73 3b 0d 0a 20 20 57 4f 52 44 20 6e 65 5f 73 77  s;..  WORD ne_sw
15bb0 61 70 61 72 65 61 3b 0d 0a 20 20 57 4f 52 44 20  aparea;..  WORD 
15bc0 6e 65 5f 65 78 70 76 65 72 3b 0d 0a 7d 0d 0a 61  ne_expver;..}..a
15bd0 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4f 53 32 5f  lias _IMAGE_OS2_
15be0 48 45 41 44 45 52 20 49 4d 41 47 45 5f 4f 53 32  HEADER IMAGE_OS2
15bf0 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20  _HEADER;..alias 
15c00 5f 49 4d 41 47 45 5f 4f 53 32 5f 48 45 41 44 45  _IMAGE_OS2_HEADE
15c10 52 2a 20 50 49 4d 41 47 45 5f 4f 53 32 5f 48 45  R* PIMAGE_OS2_HE
15c20 41 44 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  ADER;....struct 
15c30 5f 49 4d 41 47 45 5f 56 58 44 5f 48 45 41 44 45  _IMAGE_VXD_HEADE
15c40 52 20 7b 0d 0a 20 20 57 4f 52 44 20 65 33 32 5f  R {..  WORD e32_
15c50 6d 61 67 69 63 3b 0d 0a 20 20 42 59 54 45 20 65  magic;..  BYTE e
15c60 33 32 5f 62 6f 72 64 65 72 3b 0d 0a 20 20 42 59  32_border;..  BY
15c70 54 45 20 65 33 32 5f 77 6f 72 64 65 72 3b 0d 0a  TE e32_worder;..
15c80 20 20 44 57 4f 52 44 20 65 33 32 5f 6c 65 76 65    DWORD e32_leve
15c90 6c 3b 0d 0a 20 20 57 4f 52 44 20 65 33 32 5f 63  l;..  WORD e32_c
15ca0 70 75 3b 0d 0a 20 20 57 4f 52 44 20 65 33 32 5f  pu;..  WORD e32_
15cb0 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  os;..  DWORD e32
15cc0 5f 76 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 65  _ver;..  DWORD e
15cd0 33 32 5f 6d 66 6c 61 67 73 3b 0d 0a 20 20 44 57  32_mflags;..  DW
15ce0 4f 52 44 20 65 33 32 5f 6d 70 61 67 65 73 3b 0d  ORD e32_mpages;.
15cf0 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 73 74 61  .  DWORD e32_sta
15d00 72 74 6f 62 6a 3b 0d 0a 20 20 44 57 4f 52 44 20  rtobj;..  DWORD 
15d10 65 33 32 5f 65 69 70 3b 0d 0a 20 20 44 57 4f 52  e32_eip;..  DWOR
15d20 44 20 65 33 32 5f 73 74 61 63 6b 6f 62 6a 3b 0d  D e32_stackobj;.
15d30 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 65 73 70  .  DWORD e32_esp
15d40 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 70  ;..  DWORD e32_p
15d50 61 67 65 73 69 7a 65 3b 0d 0a 20 20 44 57 4f 52  agesize;..  DWOR
15d60 44 20 65 33 32 5f 6c 61 73 74 70 61 67 65 73 69  D e32_lastpagesi
15d70 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  ze;..  DWORD e32
15d80 5f 66 69 78 75 70 73 69 7a 65 3b 0d 0a 20 20 44  _fixupsize;..  D
15d90 57 4f 52 44 20 65 33 32 5f 66 69 78 75 70 73 75  WORD e32_fixupsu
15da0 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  m;..  DWORD e32_
15db0 6c 64 72 73 69 7a 65 3b 0d 0a 20 20 44 57 4f 52  ldrsize;..  DWOR
15dc0 44 20 65 33 32 5f 6c 64 72 73 75 6d 3b 0d 0a 20  D e32_ldrsum;.. 
15dd0 20 44 57 4f 52 44 20 65 33 32 5f 6f 62 6a 74 61   DWORD e32_objta
15de0 62 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  b;..  DWORD e32_
15df0 6f 62 6a 63 6e 74 3b 0d 0a 20 20 44 57 4f 52 44  objcnt;..  DWORD
15e00 20 65 33 32 5f 6f 62 6a 6d 61 70 3b 0d 0a 20 20   e32_objmap;..  
15e10 44 57 4f 52 44 20 65 33 32 5f 69 74 65 72 6d 61  DWORD e32_iterma
15e20 70 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  p;..  DWORD e32_
15e30 72 73 72 63 74 61 62 3b 0d 0a 20 20 44 57 4f 52  rsrctab;..  DWOR
15e40 44 20 65 33 32 5f 72 73 72 63 63 6e 74 3b 0d 0a  D e32_rsrccnt;..
15e50 20 20 44 57 4f 52 44 20 65 33 32 5f 72 65 73 74    DWORD e32_rest
15e60 61 62 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  ab;..  DWORD e32
15e70 5f 65 6e 74 74 61 62 3b 0d 0a 20 20 44 57 4f 52  _enttab;..  DWOR
15e80 44 20 65 33 32 5f 64 69 72 74 61 62 3b 0d 0a 20  D e32_dirtab;.. 
15e90 20 44 57 4f 52 44 20 65 33 32 5f 64 69 72 63 6e   DWORD e32_dircn
15ea0 74 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  t;..  DWORD e32_
15eb0 66 70 61 67 65 74 61 62 3b 0d 0a 20 20 44 57 4f  fpagetab;..  DWO
15ec0 52 44 20 65 33 32 5f 66 72 65 63 74 61 62 3b 0d  RD e32_frectab;.
15ed0 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 69 6d 70  .  DWORD e32_imp
15ee0 6d 6f 64 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33  mod;..  DWORD e3
15ef0 32 5f 69 6d 70 6d 6f 64 63 6e 74 3b 0d 0a 20 20  2_impmodcnt;..  
15f00 44 57 4f 52 44 20 65 33 32 5f 69 6d 70 70 72 6f  DWORD e32_imppro
15f10 63 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  c;..  DWORD e32_
15f20 70 61 67 65 73 75 6d 3b 0d 0a 20 20 44 57 4f 52  pagesum;..  DWOR
15f30 44 20 65 33 32 5f 64 61 74 61 70 61 67 65 3b 0d  D e32_datapage;.
15f40 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 70 72 65  .  DWORD e32_pre
15f50 6c 6f 61 64 3b 0d 0a 20 20 44 57 4f 52 44 20 65  load;..  DWORD e
15f60 33 32 5f 6e 72 65 73 74 61 62 3b 0d 0a 20 20 44  32_nrestab;..  D
15f70 57 4f 52 44 20 65 33 32 5f 63 62 6e 72 65 73 74  WORD e32_cbnrest
15f80 61 62 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32  ab;..  DWORD e32
15f90 5f 6e 72 65 73 73 75 6d 3b 0d 0a 20 20 44 57 4f  _nressum;..  DWO
15fa0 52 44 20 65 33 32 5f 61 75 74 6f 64 61 74 61 3b  RD e32_autodata;
15fb0 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 64 65  ..  DWORD e32_de
15fc0 62 75 67 69 6e 66 6f 3b 0d 0a 20 20 44 57 4f 52  buginfo;..  DWOR
15fd0 44 20 65 33 32 5f 64 65 62 75 67 6c 65 6e 3b 0d  D e32_debuglen;.
15fe0 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 69 6e 73  .  DWORD e32_ins
15ff0 74 70 72 65 6c 6f 61 64 3b 0d 0a 20 20 44 57 4f  tpreload;..  DWO
16000 52 44 20 65 33 32 5f 69 6e 73 74 64 65 6d 61 6e  RD e32_instdeman
16010 64 3b 0d 0a 20 20 44 57 4f 52 44 20 65 33 32 5f  d;..  DWORD e32_
16020 68 65 61 70 73 69 7a 65 3b 0d 0a 20 20 42 59 54  heapsize;..  BYT
16030 45 20 65 33 32 5f 72 65 73 33 5b 31 32 5d 3b 0d  E e32_res3[12];.
16040 0a 20 20 44 57 4f 52 44 20 65 33 32 5f 77 69 6e  .  DWORD e32_win
16050 72 65 73 6f 66 66 3b 0d 0a 20 20 44 57 4f 52 44  resoff;..  DWORD
16060 20 65 33 32 5f 77 69 6e 72 65 73 6c 65 6e 3b 0d   e32_winreslen;.
16070 0a 20 20 57 4f 52 44 20 65 33 32 5f 64 65 76 69  .  WORD e32_devi
16080 64 3b 0d 0a 20 20 57 4f 52 44 20 65 33 32 5f 64  d;..  WORD e32_d
16090 64 6b 76 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  dkver;..}..alias
160a0 20 5f 49 4d 41 47 45 5f 56 58 44 5f 48 45 41 44   _IMAGE_VXD_HEAD
160b0 45 52 20 49 4d 41 47 45 5f 56 58 44 5f 48 45 41  ER IMAGE_VXD_HEA
160c0 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  DER;..alias _IMA
160d0 47 45 5f 56 58 44 5f 48 45 41 44 45 52 2a 20 50  GE_VXD_HEADER* P
160e0 49 4d 41 47 45 5f 56 58 44 5f 48 45 41 44 45 52  IMAGE_VXD_HEADER
160f0 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  ;....// #ifndef 
16100 5f 4d 41 43 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f 2f  _MAC..align:..//
16110 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
16120 74 20 5f 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45  t _IMAGE_FILE_HE
16130 41 44 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 4d  ADER {..  WORD M
16140 61 63 68 69 6e 65 3b 0d 0a 20 20 57 4f 52 44 20  achine;..  WORD 
16150 4e 75 6d 62 65 72 4f 66 53 65 63 74 69 6f 6e 73  NumberOfSections
16160 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44  ;..  DWORD TimeD
16170 61 74 65 53 74 61 6d 70 3b 0d 0a 20 20 44 57 4f  ateStamp;..  DWO
16180 52 44 20 50 6f 69 6e 74 65 72 54 6f 53 79 6d 62  RD PointerToSymb
16190 6f 6c 54 61 62 6c 65 3b 0d 0a 20 20 44 57 4f 52  olTable;..  DWOR
161a0 44 20 4e 75 6d 62 65 72 4f 66 53 79 6d 62 6f 6c  D NumberOfSymbol
161b0 73 3b 0d 0a 20 20 57 4f 52 44 20 53 69 7a 65 4f  s;..  WORD SizeO
161c0 66 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 72 3b  fOptionalHeader;
161d0 0d 0a 20 20 57 4f 52 44 20 43 68 61 72 61 63 74  ..  WORD Charact
161e0 65 72 69 73 74 69 63 73 3b 0d 0a 7d 0d 0a 61 6c  eristics;..}..al
161f0 69 61 73 20 5f 49 4d 41 47 45 5f 46 49 4c 45 5f  ias _IMAGE_FILE_
16200 48 45 41 44 45 52 20 49 4d 41 47 45 5f 46 49 4c  HEADER IMAGE_FIL
16210 45 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73  E_HEADER;..alias
16220 20 5f 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45 41   _IMAGE_FILE_HEA
16230 44 45 52 2a 20 50 49 4d 41 47 45 5f 46 49 4c 45  DER* PIMAGE_FILE
16240 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e 75 6d  _HEADER;....enum
16250 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
16260 53 49 5a 45 4f 46 5f 46 49 4c 45 5f 48 45 41 44  SIZEOF_FILE_HEAD
16270 45 52 20 3d 20 32 30 20 7d 0d 0a 0d 0a 65 6e 75  ER = 20 }....enu
16280 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16290 5f 46 49 4c 45 5f 52 45 4c 4f 43 53 5f 53 54 52  _FILE_RELOCS_STR
162a0 49 50 50 45 44 20 3d 20 30 78 30 30 30 31 20 7d  IPPED = 0x0001 }
162b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
162c0 49 4d 41 47 45 5f 46 49 4c 45 5f 45 58 45 43 55  IMAGE_FILE_EXECU
162d0 54 41 42 4c 45 5f 49 4d 41 47 45 20 3d 20 30 78  TABLE_IMAGE = 0x
162e0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
162f0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
16300 5f 4c 49 4e 45 5f 4e 55 4d 53 5f 53 54 52 49 50  _LINE_NUMS_STRIP
16310 50 45 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  PED = 0x0004 }..
16320 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
16330 41 47 45 5f 46 49 4c 45 5f 4c 4f 43 41 4c 5f 53  AGE_FILE_LOCAL_S
16340 59 4d 53 5f 53 54 52 49 50 50 45 44 20 3d 20 30  YMS_STRIPPED = 0
16350 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
16360 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
16370 45 5f 41 47 47 52 45 53 49 56 45 5f 57 53 5f 54  E_AGGRESIVE_WS_T
16380 52 49 4d 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  RIM = 0x0010 }..
16390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
163a0 41 47 45 5f 46 49 4c 45 5f 4c 41 52 47 45 5f 41  AGE_FILE_LARGE_A
163b0 44 44 52 45 53 53 5f 41 57 41 52 45 20 3d 20 30  DDRESS_AWARE = 0
163c0 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
163d0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
163e0 45 5f 42 59 54 45 53 5f 52 45 56 45 52 53 45 44  E_BYTES_REVERSED
163f0 5f 4c 4f 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a  _LO = 0x0080 }..
16400 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
16410 41 47 45 5f 46 49 4c 45 5f 33 32 42 49 54 5f 4d  AGE_FILE_32BIT_M
16420 41 43 48 49 4e 45 20 3d 20 30 78 30 31 30 30 20  ACHINE = 0x0100 
16430 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16440 20 49 4d 41 47 45 5f 46 49 4c 45 5f 44 45 42 55   IMAGE_FILE_DEBU
16450 47 5f 53 54 52 49 50 50 45 44 20 3d 20 30 78 30  G_STRIPPED = 0x0
16460 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
16470 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f  nt { IMAGE_FILE_
16480 52 45 4d 4f 56 41 42 4c 45 5f 52 55 4e 5f 46 52  REMOVABLE_RUN_FR
16490 4f 4d 5f 53 57 41 50 20 3d 20 30 78 30 34 30 30  OM_SWAP = 0x0400
164a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
164b0 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4e 45 54  { IMAGE_FILE_NET
164c0 5f 52 55 4e 5f 46 52 4f 4d 5f 53 57 41 50 20 3d  _RUN_FROM_SWAP =
164d0 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0800 }..enum 
164e0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46  : uint { IMAGE_F
164f0 49 4c 45 5f 53 59 53 54 45 4d 20 3d 20 30 78 31  ILE_SYSTEM = 0x1
16500 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
16510 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f  nt { IMAGE_FILE_
16520 44 4c 4c 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a  DLL = 0x2000 }..
16530 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
16540 41 47 45 5f 46 49 4c 45 5f 55 50 5f 53 59 53 54  AGE_FILE_UP_SYST
16550 45 4d 5f 4f 4e 4c 59 20 3d 20 30 78 34 30 30 30  EM_ONLY = 0x4000
16560 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16570 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 42 59 54  { IMAGE_FILE_BYT
16580 45 53 5f 52 45 56 45 52 53 45 44 5f 48 49 20 3d  ES_REVERSED_HI =
16590 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x8000 }....enu
165a0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
165b0 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 55 4e  _FILE_MACHINE_UN
165c0 4b 4e 4f 57 4e 20 3d 20 30 20 7d 0d 0a 65 6e 75  KNOWN = 0 }..enu
165d0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
165e0 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 49 33  _FILE_MACHINE_I3
165f0 38 36 20 3d 20 30 78 30 31 34 63 20 7d 0d 0a 65  86 = 0x014c }..e
16600 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
16610 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f  GE_FILE_MACHINE_
16620 52 33 30 30 30 20 3d 20 30 78 30 31 36 32 20 7d  R3000 = 0x0162 }
16630 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16640 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49  IMAGE_FILE_MACHI
16650 4e 45 5f 52 34 30 30 30 20 3d 20 30 78 30 31 36  NE_R4000 = 0x016
16660 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
16670 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41   { IMAGE_FILE_MA
16680 43 48 49 4e 45 5f 52 31 30 30 30 30 20 3d 20 30  CHINE_R10000 = 0
16690 78 30 31 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0168 }..enum : 
166a0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
166b0 45 5f 4d 41 43 48 49 4e 45 5f 57 43 45 4d 49 50  E_MACHINE_WCEMIP
166c0 53 56 32 20 3d 20 30 78 30 31 36 39 20 7d 0d 0a  SV2 = 0x0169 }..
166d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
166e0 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45  AGE_FILE_MACHINE
166f0 5f 41 4c 50 48 41 20 3d 20 30 78 30 31 38 34 20  _ALPHA = 0x0184 
16700 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16710 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48   IMAGE_FILE_MACH
16720 49 4e 45 5f 53 48 33 20 3d 20 30 78 30 31 61 32  INE_SH3 = 0x01a2
16730 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16740 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43  { IMAGE_FILE_MAC
16750 48 49 4e 45 5f 53 48 33 44 53 50 20 3d 20 30 78  HINE_SH3DSP = 0x
16760 30 31 61 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  01a3 }..enum : u
16770 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
16780 5f 4d 41 43 48 49 4e 45 5f 53 48 33 45 20 3d 20  _MACHINE_SH3E = 
16790 30 78 30 31 61 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x01a4 }..enum :
167a0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49   uint { IMAGE_FI
167b0 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 34 20 3d  LE_MACHINE_SH4 =
167c0 20 30 78 30 31 61 36 20 7d 0d 0a 65 6e 75 6d 20   0x01a6 }..enum 
167d0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46  : uint { IMAGE_F
167e0 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 35 20  ILE_MACHINE_SH5 
167f0 3d 20 30 78 30 31 61 38 20 7d 0d 0a 65 6e 75 6d  = 0x01a8 }..enum
16800 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
16810 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41 52 4d  FILE_MACHINE_ARM
16820 20 3d 20 30 78 30 31 63 30 20 7d 0d 0a 65 6e 75   = 0x01c0 }..enu
16830 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16840 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 54 48  _FILE_MACHINE_TH
16850 55 4d 42 20 3d 20 30 78 30 31 63 32 20 7d 0d 0a  UMB = 0x01c2 }..
16860 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
16870 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45  AGE_FILE_MACHINE
16880 5f 41 4d 33 33 20 3d 20 30 78 30 31 64 33 20 7d  _AM33 = 0x01d3 }
16890 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
168a0 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49  IMAGE_FILE_MACHI
168b0 4e 45 5f 50 4f 57 45 52 50 43 20 3d 20 30 78 30  NE_POWERPC = 0x0
168c0 31 46 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  1F0 }..enum : ui
168d0 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f  nt { IMAGE_FILE_
168e0 4d 41 43 48 49 4e 45 5f 50 4f 57 45 52 50 43 46  MACHINE_POWERPCF
168f0 50 20 3d 20 30 78 30 31 66 31 20 7d 0d 0a 65 6e  P = 0x01f1 }..en
16900 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
16910 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 49  E_FILE_MACHINE_I
16920 41 36 34 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  A64 = 0x0200 }..
16930 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
16940 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45  AGE_FILE_MACHINE
16950 5f 4d 49 50 53 31 36 20 3d 20 30 78 30 32 36 36  _MIPS16 = 0x0266
16960 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16970 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43  { IMAGE_FILE_MAC
16980 48 49 4e 45 5f 41 4c 50 48 41 36 34 20 3d 20 30  HINE_ALPHA64 = 0
16990 78 30 32 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0284 }..enum : 
169a0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c  uint { IMAGE_FIL
169b0 45 5f 4d 41 43 48 49 4e 45 5f 4d 49 50 53 46 50  E_MACHINE_MIPSFP
169c0 55 20 3d 20 30 78 30 33 36 36 20 7d 0d 0a 65 6e  U = 0x0366 }..en
169d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
169e0 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d  E_FILE_MACHINE_M
169f0 49 50 53 46 50 55 31 36 20 3d 20 30 78 30 34 36  IPSFPU16 = 0x046
16a00 36 20 7d 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  6 }..alias IMAGE
16a10 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41 4c  _FILE_MACHINE_AL
16a20 50 48 41 36 34 20 49 4d 41 47 45 5f 46 49 4c 45  PHA64 IMAGE_FILE
16a30 5f 4d 41 43 48 49 4e 45 5f 41 58 50 36 34 3b 0d  _MACHINE_AXP64;.
16a40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
16a50 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 49 4e  MAGE_FILE_MACHIN
16a60 45 5f 54 52 49 43 4f 52 45 20 3d 20 30 78 30 35  E_TRICORE = 0x05
16a70 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
16a80 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f 4d  t { IMAGE_FILE_M
16a90 41 43 48 49 4e 45 5f 43 45 46 20 3d 20 30 78 30  ACHINE_CEF = 0x0
16aa0 43 45 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  CEF }..enum : ui
16ab0 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45 5f  nt { IMAGE_FILE_
16ac0 4d 41 43 48 49 4e 45 5f 45 42 43 20 3d 20 30 78  MACHINE_EBC = 0x
16ad0 30 45 42 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0EBC }..enum : u
16ae0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46 49 4c 45  int { IMAGE_FILE
16af0 5f 4d 41 43 48 49 4e 45 5f 41 4d 44 36 34 20 3d  _MACHINE_AMD64 =
16b00 20 30 78 38 36 36 34 20 7d 0d 0a 65 6e 75 6d 20   0x8664 }..enum 
16b10 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 46  : uint { IMAGE_F
16b20 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d 33 32 52  ILE_MACHINE_M32R
16b30 20 3d 20 30 78 39 30 34 31 20 7d 0d 0a 65 6e 75   = 0x9041 }..enu
16b40 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
16b50 5f 46 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 43 45  _FILE_MACHINE_CE
16b60 45 20 3d 20 30 78 43 30 45 45 20 7d 0d 0a 0d 0a  E = 0xC0EE }....
16b70 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 44 41  struct _IMAGE_DA
16b80 54 41 5f 44 49 52 45 43 54 4f 52 59 20 7b 0d 0a  TA_DIRECTORY {..
16b90 20 20 44 57 4f 52 44 20 56 69 72 74 75 61 6c 41    DWORD VirtualA
16ba0 64 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44  ddress;..  DWORD
16bb0 20 53 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73   Size;..}..alias
16bc0 20 5f 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52   _IMAGE_DATA_DIR
16bd0 45 43 54 4f 52 59 20 49 4d 41 47 45 5f 44 41 54  ECTORY IMAGE_DAT
16be0 41 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 61 6c  A_DIRECTORY;..al
16bf0 69 61 73 20 5f 49 4d 41 47 45 5f 44 41 54 41 5f  ias _IMAGE_DATA_
16c00 44 49 52 45 43 54 4f 52 59 2a 20 50 49 4d 41 47  DIRECTORY* PIMAG
16c10 45 5f 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59  E_DATA_DIRECTORY
16c20 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
16c30 20 7b 20 49 4d 41 47 45 5f 4e 55 4d 42 45 52 4f   { IMAGE_NUMBERO
16c40 46 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52  F_DIRECTORY_ENTR
16c50 49 45 53 20 3d 20 31 36 20 7d 0d 0a 0d 0a 73 74  IES = 16 }....st
16c60 72 75 63 74 20 5f 49 4d 41 47 45 5f 4f 50 54 49  ruct _IMAGE_OPTI
16c70 4f 4e 41 4c 5f 48 45 41 44 45 52 20 7b 0d 0a 0d  ONAL_HEADER {...
16c80 0a 20 20 57 4f 52 44 20 4d 61 67 69 63 3b 0d 0a  .  WORD Magic;..
16c90 20 20 42 59 54 45 20 4d 61 6a 6f 72 4c 69 6e 6b    BYTE MajorLink
16ca0 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 42 59  erVersion;..  BY
16cb0 54 45 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65  TE MinorLinkerVe
16cc0 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  rsion;..  DWORD 
16cd0 53 69 7a 65 4f 66 43 6f 64 65 3b 0d 0a 20 20 44  SizeOfCode;..  D
16ce0 57 4f 52 44 20 53 69 7a 65 4f 66 49 6e 69 74 69  WORD SizeOfIniti
16cf0 61 6c 69 7a 65 64 44 61 74 61 3b 0d 0a 20 20 44  alizedData;..  D
16d00 57 4f 52 44 20 53 69 7a 65 4f 66 55 6e 69 6e 69  WORD SizeOfUnini
16d10 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0d 0a 20  tializedData;.. 
16d20 20 44 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66   DWORD AddressOf
16d30 45 6e 74 72 79 50 6f 69 6e 74 3b 0d 0a 20 20 44  EntryPoint;..  D
16d40 57 4f 52 44 20 42 61 73 65 4f 66 43 6f 64 65 3b  WORD BaseOfCode;
16d50 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65 4f 66  ..  DWORD BaseOf
16d60 44 61 74 61 3b 0d 0a 0d 0a 20 20 44 57 4f 52 44  Data;....  DWORD
16d70 20 49 6d 61 67 65 42 61 73 65 3b 0d 0a 20 20 44   ImageBase;..  D
16d80 57 4f 52 44 20 53 65 63 74 69 6f 6e 41 6c 69 67  WORD SectionAlig
16d90 6e 6d 65 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20  nment;..  DWORD 
16da0 46 69 6c 65 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a  FileAlignment;..
16db0 20 20 57 4f 52 44 20 4d 61 6a 6f 72 4f 70 65 72    WORD MajorOper
16dc0 61 74 69 6e 67 53 79 73 74 65 6d 56 65 72 73 69  atingSystemVersi
16dd0 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
16de0 72 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d  rOperatingSystem
16df0 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44  Version;..  WORD
16e00 20 4d 61 6a 6f 72 49 6d 61 67 65 56 65 72 73 69   MajorImageVersi
16e10 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f  on;..  WORD Mino
16e20 72 49 6d 61 67 65 56 65 72 73 69 6f 6e 3b 0d 0a  rImageVersion;..
16e30 20 20 57 4f 52 44 20 4d 61 6a 6f 72 53 75 62 73    WORD MajorSubs
16e40 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0d 0a 20  ystemVersion;.. 
16e50 20 57 4f 52 44 20 4d 69 6e 6f 72 53 75 62 73 79   WORD MinorSubsy
16e60 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  stemVersion;..  
16e70 44 57 4f 52 44 20 57 69 6e 33 32 56 65 72 73 69  DWORD Win32Versi
16e80 6f 6e 56 61 6c 75 65 3b 0d 0a 20 20 44 57 4f 52  onValue;..  DWOR
16e90 44 20 53 69 7a 65 4f 66 49 6d 61 67 65 3b 0d 0a  D SizeOfImage;..
16ea0 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 48 65    DWORD SizeOfHe
16eb0 61 64 65 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20  aders;..  DWORD 
16ec0 43 68 65 63 6b 53 75 6d 3b 0d 0a 20 20 57 4f 52  CheckSum;..  WOR
16ed0 44 20 53 75 62 73 79 73 74 65 6d 3b 0d 0a 20 20  D Subsystem;..  
16ee0 57 4f 52 44 20 44 6c 6c 43 68 61 72 61 63 74 65  WORD DllCharacte
16ef0 72 69 73 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52  ristics;..  DWOR
16f00 44 20 53 69 7a 65 4f 66 53 74 61 63 6b 52 65 73  D SizeOfStackRes
16f10 65 72 76 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53  erve;..  DWORD S
16f20 69 7a 65 4f 66 53 74 61 63 6b 43 6f 6d 6d 69 74  izeOfStackCommit
16f30 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
16f40 66 48 65 61 70 52 65 73 65 72 76 65 3b 0d 0a 20  fHeapReserve;.. 
16f50 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 48 65 61   DWORD SizeOfHea
16f60 70 43 6f 6d 6d 69 74 3b 0d 0a 20 20 44 57 4f 52  pCommit;..  DWOR
16f70 44 20 4c 6f 61 64 65 72 46 6c 61 67 73 3b 0d 0a  D LoaderFlags;..
16f80 20 20 44 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66    DWORD NumberOf
16f90 52 76 61 41 6e 64 53 69 7a 65 73 3b 0d 0a 20 20  RvaAndSizes;..  
16fa0 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43  IMAGE_DATA_DIREC
16fb0 54 4f 52 59 20 44 61 74 61 44 69 72 65 63 74 6f  TORY DataDirecto
16fc0 72 79 5b 49 4d 41 47 45 5f 4e 55 4d 42 45 52 4f  ry[IMAGE_NUMBERO
16fd0 46 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52  F_DIRECTORY_ENTR
16fe0 49 45 53 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  IES];..}..alias 
16ff0 5f 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f  _IMAGE_OPTIONAL_
17000 48 45 41 44 45 52 20 49 4d 41 47 45 5f 4f 50 54  HEADER IMAGE_OPT
17010 49 4f 4e 41 4c 5f 48 45 41 44 45 52 33 32 3b 0d  IONAL_HEADER32;.
17020 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4f 50  .alias _IMAGE_OP
17030 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 2a 20 50  TIONAL_HEADER* P
17040 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48  IMAGE_OPTIONAL_H
17050 45 41 44 45 52 33 32 3b 0d 0a 0d 0a 73 74 72 75  EADER32;....stru
17060 63 74 20 5f 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50  ct _IMAGE_ROM_OP
17070 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 20 7b 0d  TIONAL_HEADER {.
17080 0a 20 20 57 4f 52 44 20 4d 61 67 69 63 3b 0d 0a  .  WORD Magic;..
17090 20 20 42 59 54 45 20 4d 61 6a 6f 72 4c 69 6e 6b    BYTE MajorLink
170a0 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 42 59  erVersion;..  BY
170b0 54 45 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65  TE MinorLinkerVe
170c0 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  rsion;..  DWORD 
170d0 53 69 7a 65 4f 66 43 6f 64 65 3b 0d 0a 20 20 44  SizeOfCode;..  D
170e0 57 4f 52 44 20 53 69 7a 65 4f 66 49 6e 69 74 69  WORD SizeOfIniti
170f0 61 6c 69 7a 65 64 44 61 74 61 3b 0d 0a 20 20 44  alizedData;..  D
17100 57 4f 52 44 20 53 69 7a 65 4f 66 55 6e 69 6e 69  WORD SizeOfUnini
17110 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0d 0a 20  tializedData;.. 
17120 20 44 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66   DWORD AddressOf
17130 45 6e 74 72 79 50 6f 69 6e 74 3b 0d 0a 20 20 44  EntryPoint;..  D
17140 57 4f 52 44 20 42 61 73 65 4f 66 43 6f 64 65 3b  WORD BaseOfCode;
17150 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65 4f 66  ..  DWORD BaseOf
17160 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 42  Data;..  DWORD B
17170 61 73 65 4f 66 42 73 73 3b 0d 0a 20 20 44 57 4f  aseOfBss;..  DWO
17180 52 44 20 47 70 72 4d 61 73 6b 3b 0d 0a 20 20 44  RD GprMask;..  D
17190 57 4f 52 44 20 43 70 72 4d 61 73 6b 5b 34 5d 3b  WORD CprMask[4];
171a0 0d 0a 20 20 44 57 4f 52 44 20 47 70 56 61 6c 75  ..  DWORD GpValu
171b0 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d  e;..}..alias _IM
171c0 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c  AGE_ROM_OPTIONAL
171d0 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 52 4f  _HEADER IMAGE_RO
171e0 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45  M_OPTIONAL_HEADE
171f0 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  R;..alias _IMAGE
17200 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45  _ROM_OPTIONAL_HE
17210 41 44 45 52 2a 20 50 49 4d 41 47 45 5f 52 4f 4d  ADER* PIMAGE_ROM
17220 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52  _OPTIONAL_HEADER
17230 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41  ;....struct _IMA
17240 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  GE_OPTIONAL_HEAD
17250 45 52 36 34 20 7b 0d 0a 20 20 57 4f 52 44 20 4d  ER64 {..  WORD M
17260 61 67 69 63 3b 0d 0a 20 20 42 59 54 45 20 4d 61  agic;..  BYTE Ma
17270 6a 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69 6f 6e  jorLinkerVersion
17280 3b 0d 0a 20 20 42 59 54 45 20 4d 69 6e 6f 72 4c  ;..  BYTE MinorL
17290 69 6e 6b 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  inkerVersion;.. 
172a0 20 44 57 4f 52 44 20 53 69 7a 65 4f 66 43 6f 64   DWORD SizeOfCod
172b0 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  e;..  DWORD Size
172c0 4f 66 49 6e 69 74 69 61 6c 69 7a 65 64 44 61 74  OfInitializedDat
172d0 61 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  a;..  DWORD Size
172e0 4f 66 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 44  OfUninitializedD
172f0 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64  ata;..  DWORD Ad
17300 64 72 65 73 73 4f 66 45 6e 74 72 79 50 6f 69 6e  dressOfEntryPoin
17310 74 3b 0d 0a 20 20 44 57 4f 52 44 20 42 61 73 65  t;..  DWORD Base
17320 4f 66 43 6f 64 65 3b 0d 0a 20 20 55 4c 4f 4e 47  OfCode;..  ULONG
17330 4c 4f 4e 47 20 49 6d 61 67 65 42 61 73 65 3b 0d  LONG ImageBase;.
17340 0a 20 20 44 57 4f 52 44 20 53 65 63 74 69 6f 6e  .  DWORD Section
17350 41 6c 69 67 6e 6d 65 6e 74 3b 0d 0a 20 20 44 57  Alignment;..  DW
17360 4f 52 44 20 46 69 6c 65 41 6c 69 67 6e 6d 65 6e  ORD FileAlignmen
17370 74 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72  t;..  WORD Major
17380 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d 56  OperatingSystemV
17390 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20  ersion;..  WORD 
173a0 4d 69 6e 6f 72 4f 70 65 72 61 74 69 6e 67 53 79  MinorOperatingSy
173b0 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  stemVersion;..  
173c0 57 4f 52 44 20 4d 61 6a 6f 72 49 6d 61 67 65 56  WORD MajorImageV
173d0 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20  ersion;..  WORD 
173e0 4d 69 6e 6f 72 49 6d 61 67 65 56 65 72 73 69 6f  MinorImageVersio
173f0 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72  n;..  WORD Major
17400 53 75 62 73 79 73 74 65 6d 56 65 72 73 69 6f 6e  SubsystemVersion
17410 3b 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f 72 53  ;..  WORD MinorS
17420 75 62 73 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b  ubsystemVersion;
17430 0d 0a 20 20 44 57 4f 52 44 20 57 69 6e 33 32 56  ..  DWORD Win32V
17440 65 72 73 69 6f 6e 56 61 6c 75 65 3b 0d 0a 20 20  ersionValue;..  
17450 44 57 4f 52 44 20 53 69 7a 65 4f 66 49 6d 61 67  DWORD SizeOfImag
17460 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  e;..  DWORD Size
17470 4f 66 48 65 61 64 65 72 73 3b 0d 0a 20 20 44 57  OfHeaders;..  DW
17480 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b 0d 0a 20  ORD CheckSum;.. 
17490 20 57 4f 52 44 20 53 75 62 73 79 73 74 65 6d 3b   WORD Subsystem;
174a0 0d 0a 20 20 57 4f 52 44 20 44 6c 6c 43 68 61 72  ..  WORD DllChar
174b0 61 63 74 65 72 69 73 74 69 63 73 3b 0d 0a 20 20  acteristics;..  
174c0 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f 66  ULONGLONG SizeOf
174d0 53 74 61 63 6b 52 65 73 65 72 76 65 3b 0d 0a 20  StackReserve;.. 
174e0 20 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f   ULONGLONG SizeO
174f0 66 53 74 61 63 6b 43 6f 6d 6d 69 74 3b 0d 0a 20  fStackCommit;.. 
17500 20 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f   ULONGLONG SizeO
17510 66 48 65 61 70 52 65 73 65 72 76 65 3b 0d 0a 20  fHeapReserve;.. 
17520 20 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f   ULONGLONG SizeO
17530 66 48 65 61 70 43 6f 6d 6d 69 74 3b 0d 0a 20 20  fHeapCommit;..  
17540 44 57 4f 52 44 20 4c 6f 61 64 65 72 46 6c 61 67  DWORD LoaderFlag
17550 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62  s;..  DWORD Numb
17560 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65 73 3b  erOfRvaAndSizes;
17570 0d 0a 20 20 49 4d 41 47 45 5f 44 41 54 41 5f 44  ..  IMAGE_DATA_D
17580 49 52 45 43 54 4f 52 59 20 44 61 74 61 44 69 72  IRECTORY DataDir
17590 65 63 74 6f 72 79 5b 49 4d 41 47 45 5f 4e 55 4d  ectory[IMAGE_NUM
175a0 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52 59 5f  BEROF_DIRECTORY_
175b0 45 4e 54 52 49 45 53 5d 3b 0d 0a 7d 0d 0a 61 6c  ENTRIES];..}..al
175c0 69 61 73 20 5f 49 4d 41 47 45 5f 4f 50 54 49 4f  ias _IMAGE_OPTIO
175d0 4e 41 4c 5f 48 45 41 44 45 52 36 34 20 49 4d 41  NAL_HEADER64 IMA
175e0 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  GE_OPTIONAL_HEAD
175f0 45 52 36 34 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  ER64;..alias _IM
17600 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17610 44 45 52 36 34 2a 20 50 49 4d 41 47 45 5f 4f 50  DER64* PIMAGE_OP
17620 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 36 34 3b  TIONAL_HEADER64;
17630 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
17640 7b 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52  { IMAGE_SIZEOF_R
17650 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  OM_OPTIONAL_HEAD
17660 45 52 20 3d 20 35 36 20 7d 0d 0a 65 6e 75 6d 20  ER = 56 }..enum 
17670 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
17680 49 5a 45 4f 46 5f 53 54 44 5f 4f 50 54 49 4f 4e  IZEOF_STD_OPTION
17690 41 4c 5f 48 45 41 44 45 52 20 3d 20 32 38 20 7d  AL_HEADER = 28 }
176a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
176b0 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 4e 54 5f  IMAGE_SIZEOF_NT_
176c0 4f 50 54 49 4f 4e 41 4c 33 32 5f 48 45 41 44 45  OPTIONAL32_HEADE
176d0 52 20 3d 20 32 32 34 20 7d 0d 0a 65 6e 75 6d 20  R = 224 }..enum 
176e0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
176f0 49 5a 45 4f 46 5f 4e 54 5f 4f 50 54 49 4f 4e 41  IZEOF_NT_OPTIONA
17700 4c 36 34 5f 48 45 41 44 45 52 20 3d 20 32 34 30  L64_HEADER = 240
17710 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
17720 74 20 7b 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54  t { IMAGE_NT_OPT
17730 49 4f 4e 41 4c 5f 48 44 52 33 32 5f 4d 41 47 49  IONAL_HDR32_MAGI
17740 43 20 3d 20 30 78 31 30 62 20 7d 0d 0a 65 6e 75  C = 0x10b }..enu
17750 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
17760 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 44 52  _NT_OPTIONAL_HDR
17770 36 34 5f 4d 41 47 49 43 20 3d 20 30 78 32 30 62  64_MAGIC = 0x20b
17780 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17790 7b 20 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50 54 49  { IMAGE_ROM_OPTI
177a0 4f 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43 20 3d  ONAL_HDR_MAGIC =
177b0 20 30 78 31 30 37 20 7d 0d 0a 0d 0a 2f 2f 20 23   0x107 }....// #
177c0 69 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f  ifdef _WIN64..//
177d0 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f   .....// #...../
177e0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
177f0 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 50  ..alias IMAGE_OP
17800 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 33 32 20  TIONAL_HEADER32 
17810 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48  IMAGE_OPTIONAL_H
17820 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 50 49  EADER;..alias PI
17830 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45  MAGE_OPTIONAL_HE
17840 41 44 45 52 33 32 20 50 49 4d 41 47 45 5f 4f 50  ADER32 PIMAGE_OP
17850 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 3b 0d 0a  TIONAL_HEADER;..
17860 61 6c 69 61 73 20 49 4d 41 47 45 5f 53 49 5a 45  alias IMAGE_SIZE
17870 4f 46 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 33 32  OF_NT_OPTIONAL32
17880 5f 48 45 41 44 45 52 20 49 4d 41 47 45 5f 53 49  _HEADER IMAGE_SI
17890 5a 45 4f 46 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c  ZEOF_NT_OPTIONAL
178a0 5f 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20  _HEADER;..alias 
178b0 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41  IMAGE_NT_OPTIONA
178c0 4c 5f 48 44 52 33 32 5f 4d 41 47 49 43 20 49 4d  L_HDR32_MAGIC IM
178d0 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f  AGE_NT_OPTIONAL_
178e0 48 44 52 5f 4d 41 47 49 43 3b 0d 0a 2f 2f 20 23  HDR_MAGIC;..// #
178f0 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
17900 5f 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52  _IMAGE_NT_HEADER
17910 53 36 34 20 7b 0d 0a 20 20 44 57 4f 52 44 20 53  S64 {..  DWORD S
17920 69 67 6e 61 74 75 72 65 3b 0d 0a 20 20 49 4d 41  ignature;..  IMA
17930 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 20 46  GE_FILE_HEADER F
17940 69 6c 65 48 65 61 64 65 72 3b 0d 0a 20 20 49 4d  ileHeader;..  IM
17950 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41  AGE_OPTIONAL_HEA
17960 44 45 52 36 34 20 4f 70 74 69 6f 6e 61 6c 48 65  DER64 OptionalHe
17970 61 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ader;..}..alias 
17980 5f 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52  _IMAGE_NT_HEADER
17990 53 36 34 20 49 4d 41 47 45 5f 4e 54 5f 48 45 41  S64 IMAGE_NT_HEA
179a0 44 45 52 53 36 34 3b 0d 0a 61 6c 69 61 73 20 5f  DERS64;..alias _
179b0 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53  IMAGE_NT_HEADERS
179c0 36 34 2a 20 50 49 4d 41 47 45 5f 4e 54 5f 48 45  64* PIMAGE_NT_HE
179d0 41 44 45 52 53 36 34 3b 0d 0a 0d 0a 73 74 72 75  ADERS64;....stru
179e0 63 74 20 5f 49 4d 41 47 45 5f 4e 54 5f 48 45 41  ct _IMAGE_NT_HEA
179f0 44 45 52 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20  DERS {..  DWORD 
17a00 53 69 67 6e 61 74 75 72 65 3b 0d 0a 20 20 49 4d  Signature;..  IM
17a10 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 20  AGE_FILE_HEADER 
17a20 46 69 6c 65 48 65 61 64 65 72 3b 0d 0a 20 20 49  FileHeader;..  I
17a30 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45  MAGE_OPTIONAL_HE
17a40 41 44 45 52 33 32 20 4f 70 74 69 6f 6e 61 6c 48  ADER32 OptionalH
17a50 65 61 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eader;..}..alias
17a60 20 5f 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45   _IMAGE_NT_HEADE
17a70 52 53 20 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44  RS IMAGE_NT_HEAD
17a80 45 52 53 33 32 3b 0d 0a 61 6c 69 61 73 20 5f 49  ERS32;..alias _I
17a90 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 2a  MAGE_NT_HEADERS*
17aa0 20 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45   PIMAGE_NT_HEADE
17ab0 52 53 33 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  RS32;....struct 
17ac0 5f 49 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45  _IMAGE_ROM_HEADE
17ad0 52 53 20 7b 0d 0a 20 20 49 4d 41 47 45 5f 46 49  RS {..  IMAGE_FI
17ae0 4c 45 5f 48 45 41 44 45 52 20 46 69 6c 65 48 65  LE_HEADER FileHe
17af0 61 64 65 72 3b 0d 0a 20 20 49 4d 41 47 45 5f 52  ader;..  IMAGE_R
17b00 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44  OM_OPTIONAL_HEAD
17b10 45 52 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65  ER OptionalHeade
17b20 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d  r;..}..alias _IM
17b30 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53 20  AGE_ROM_HEADERS 
17b40 49 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52  IMAGE_ROM_HEADER
17b50 53 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  S;..alias _IMAGE
17b60 5f 52 4f 4d 5f 48 45 41 44 45 52 53 2a 20 50 49  _ROM_HEADERS* PI
17b70 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53  MAGE_ROM_HEADERS
17b80 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  ;....// #ifdef _
17b90 57 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  WIN64..// ...../
17ba0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49  / #else..alias I
17bb0 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 33  MAGE_NT_HEADERS3
17bc0 32 20 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45  2 IMAGE_NT_HEADE
17bd0 52 53 3b 0d 0a 61 6c 69 61 73 20 50 49 4d 41 47  RS;..alias PIMAG
17be0 45 5f 4e 54 5f 48 45 41 44 45 52 53 33 32 20 50  E_NT_HEADERS32 P
17bf0 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53  IMAGE_NT_HEADERS
17c00 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
17c10 2f 2f 20 23 64 65 66 69 6e 65 20 49 4d 41 47 45  // #define IMAGE
17c20 5f 46 49 52 53 54 5f 53 45 43 54 49 4f 4e 28 20  _FIRST_SECTION( 
17c30 6e 74 68 65 61 64 65 72 20 29 20 28 28 50 49 4d  ntheader ) ((PIM
17c40 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44  AGE_SECTION_HEAD
17c50 45 52 29 20 28 28 55 4c 4f 4e 47 5f 50 54 52 29  ER) ((ULONG_PTR)
17c60 6e 74 68 65 61 64 65 72 20 2b 20 46 49 45 4c 44  ntheader + FIELD
17c70 5f 4f 46 46 53 45 54 28 20 49 4d 41 47 45 5f 4e  _OFFSET( IMAGE_N
17c80 54 5f 48 45 41 44 45 52 53 2c 20 4f 70 74 69 6f  T_HEADERS, Optio
17c90 6e 61 6c 48 65 61 64 65 72 20 29 20 2b 20 28 28  nalHeader ) + ((
17ca0 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52  PIMAGE_NT_HEADER
17cb0 53 29 28 6e 74 68 65 61 64 65 72 29 29 2d 3e 46  S)(ntheader))->F
17cc0 69 6c 65 48 65 61 64 65 72 2e 53 69 7a 65 4f 66  ileHeader.SizeOf
17cd0 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 72 20 29  OptionalHeader )
17ce0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
17cf0 20 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54   { IMAGE_SUBSYST
17d00 45 4d 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 20 7d  EM_UNKNOWN = 0 }
17d10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17d20 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f  IMAGE_SUBSYSTEM_
17d30 4e 41 54 49 56 45 20 3d 20 31 20 7d 0d 0a 65 6e  NATIVE = 1 }..en
17d40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
17d50 45 5f 53 55 42 53 59 53 54 45 4d 5f 57 49 4e 44  E_SUBSYSTEM_WIND
17d60 4f 57 53 5f 47 55 49 20 3d 20 32 20 7d 0d 0a 65  OWS_GUI = 2 }..e
17d70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
17d80 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 57 49 4e  GE_SUBSYSTEM_WIN
17d90 44 4f 57 53 5f 43 55 49 20 3d 20 33 20 7d 0d 0a  DOWS_CUI = 3 }..
17da0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
17db0 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 4f 53  AGE_SUBSYSTEM_OS
17dc0 32 5f 43 55 49 20 3d 20 35 20 7d 0d 0a 65 6e 75  2_CUI = 5 }..enu
17dd0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
17de0 5f 53 55 42 53 59 53 54 45 4d 5f 50 4f 53 49 58  _SUBSYSTEM_POSIX
17df0 5f 43 55 49 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d  _CUI = 7 }..enum
17e00 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
17e10 53 55 42 53 59 53 54 45 4d 5f 4e 41 54 49 56 45  SUBSYSTEM_NATIVE
17e20 5f 57 49 4e 44 4f 57 53 20 3d 20 38 20 7d 0d 0a  _WINDOWS = 8 }..
17e30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
17e40 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 57 49  AGE_SUBSYSTEM_WI
17e50 4e 44 4f 57 53 5f 43 45 5f 47 55 49 20 3d 20 39  NDOWS_CE_GUI = 9
17e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17e70 7b 20 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45  { IMAGE_SUBSYSTE
17e80 4d 5f 45 46 49 5f 41 50 50 4c 49 43 41 54 49 4f  M_EFI_APPLICATIO
17e90 4e 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  N = 10 }..enum :
17ea0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 55   uint { IMAGE_SU
17eb0 42 53 59 53 54 45 4d 5f 45 46 49 5f 42 4f 4f 54  BSYSTEM_EFI_BOOT
17ec0 5f 53 45 52 56 49 43 45 5f 44 52 49 56 45 52 20  _SERVICE_DRIVER 
17ed0 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 11 }..enum : u
17ee0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 55 42 53  int { IMAGE_SUBS
17ef0 59 53 54 45 4d 5f 45 46 49 5f 52 55 4e 54 49 4d  YSTEM_EFI_RUNTIM
17f00 45 5f 44 52 49 56 45 52 20 3d 20 31 32 20 7d 0d  E_DRIVER = 12 }.
17f10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
17f20 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 45  MAGE_SUBSYSTEM_E
17f30 46 49 5f 52 4f 4d 20 3d 20 31 33 20 7d 0d 0a 65  FI_ROM = 13 }..e
17f40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
17f50 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 58 42 4f  GE_SUBSYSTEM_XBO
17f60 58 20 3d 20 31 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  X = 14 }....enum
17f70 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
17f80 44 4c 4c 43 48 41 52 41 43 54 45 52 49 53 54 49  DLLCHARACTERISTI
17f90 43 53 5f 4e 4f 5f 42 49 4e 44 20 3d 20 30 78 30  CS_NO_BIND = 0x0
17fa0 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  800 }....enum : 
17fb0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 4c 4c  uint { IMAGE_DLL
17fc0 43 48 41 52 41 43 54 45 52 49 53 54 49 43 53 5f  CHARACTERISTICS_
17fd0 57 44 4d 5f 44 52 49 56 45 52 20 3d 20 30 78 32  WDM_DRIVER = 0x2
17fe0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
17ff0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 4c 4c  uint { IMAGE_DLL
18000 43 48 41 52 41 43 54 45 52 49 53 54 49 43 53 5f  CHARACTERISTICS_
18010 54 45 52 4d 49 4e 41 4c 5f 53 45 52 56 45 52 5f  TERMINAL_SERVER_
18020 41 57 41 52 45 20 3d 20 30 78 38 30 30 30 20 7d  AWARE = 0x8000 }
18030 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
18040 7b 20 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52  { IMAGE_DIRECTOR
18050 59 5f 45 4e 54 52 59 5f 45 58 50 4f 52 54 20 3d  Y_ENTRY_EXPORT =
18060 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
18070 74 20 7b 20 49 4d 41 47 45 5f 44 49 52 45 43 54  t { IMAGE_DIRECT
18080 4f 52 59 5f 45 4e 54 52 59 5f 49 4d 50 4f 52 54  ORY_ENTRY_IMPORT
18090 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
180a0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49 52 45  int { IMAGE_DIRE
180b0 43 54 4f 52 59 5f 45 4e 54 52 59 5f 52 45 53 4f  CTORY_ENTRY_RESO
180c0 55 52 43 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  URCE = 2 }..enum
180d0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
180e0 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f  DIRECTORY_ENTRY_
180f0 45 58 43 45 50 54 49 4f 4e 20 3d 20 33 20 7d 0d  EXCEPTION = 3 }.
18100 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
18110 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45  MAGE_DIRECTORY_E
18120 4e 54 52 59 5f 53 45 43 55 52 49 54 59 20 3d 20  NTRY_SECURITY = 
18130 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
18140 20 7b 20 49 4d 41 47 45 5f 44 49 52 45 43 54 4f   { IMAGE_DIRECTO
18150 52 59 5f 45 4e 54 52 59 5f 42 41 53 45 52 45 4c  RY_ENTRY_BASEREL
18160 4f 43 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  OC = 5 }..enum :
18170 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49   uint { IMAGE_DI
18180 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45  RECTORY_ENTRY_DE
18190 42 55 47 20 3d 20 36 20 7d 0d 0a 0d 0a 65 6e 75  BUG = 6 }....enu
181a0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
181b0 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 59  _DIRECTORY_ENTRY
181c0 5f 41 52 43 48 49 54 45 43 54 55 52 45 20 3d 20  _ARCHITECTURE = 
181d0 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
181e0 20 7b 20 49 4d 41 47 45 5f 44 49 52 45 43 54 4f   { IMAGE_DIRECTO
181f0 52 59 5f 45 4e 54 52 59 5f 47 4c 4f 42 41 4c 50  RY_ENTRY_GLOBALP
18200 54 52 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  TR = 8 }..enum :
18210 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49   uint { IMAGE_DI
18220 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 54 4c  RECTORY_ENTRY_TL
18230 53 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  S = 9 }..enum : 
18240 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49 52  uint { IMAGE_DIR
18250 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 4c 4f 41  ECTORY_ENTRY_LOA
18260 44 5f 43 4f 4e 46 49 47 20 3d 20 31 30 20 7d 0d  D_CONFIG = 10 }.
18270 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
18280 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45  MAGE_DIRECTORY_E
18290 4e 54 52 59 5f 42 4f 55 4e 44 5f 49 4d 50 4f 52  NTRY_BOUND_IMPOR
182a0 54 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a  T = 11 }..enum :
182b0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49   uint { IMAGE_DI
182c0 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 49 41  RECTORY_ENTRY_IA
182d0 54 20 3d 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a  T = 12 }..enum :
182e0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 49   uint { IMAGE_DI
182f0 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45  RECTORY_ENTRY_DE
18300 4c 41 59 5f 49 4d 50 4f 52 54 20 3d 20 31 33 20  LAY_IMPORT = 13 
18310 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18320 20 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 59   IMAGE_DIRECTORY
18330 5f 45 4e 54 52 59 5f 43 4f 4d 5f 44 45 53 43 52  _ENTRY_COM_DESCR
18340 49 50 54 4f 52 20 3d 20 31 34 20 7d 0d 0a 0d 0a  IPTOR = 14 }....
18350 73 74 72 75 63 74 20 41 4e 4f 4e 5f 4f 42 4a 45  struct ANON_OBJE
18360 43 54 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20 57  CT_HEADER {..  W
18370 4f 52 44 20 53 69 67 31 3b 0d 0a 20 20 57 4f 52  ORD Sig1;..  WOR
18380 44 20 53 69 67 32 3b 0d 0a 20 20 57 4f 52 44 20  D Sig2;..  WORD 
18390 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44  Version;..  WORD
183a0 20 4d 61 63 68 69 6e 65 3b 0d 0a 20 20 44 57 4f   Machine;..  DWO
183b0 52 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70  RD TimeDateStamp
183c0 3b 0d 0a 20 20 43 4c 53 49 44 20 43 6c 61 73 73  ;..  CLSID Class
183d0 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a  ID;..  DWORD Siz
183e0 65 4f 66 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a 65  eOfData;..}....e
183f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
18400 47 45 5f 53 49 5a 45 4f 46 5f 53 48 4f 52 54 5f  GE_SIZEOF_SHORT_
18410 4e 41 4d 45 20 3d 20 38 20 7d 0d 0a 0d 0a 73 74  NAME = 8 }....st
18420 72 75 63 74 20 5f 49 4d 41 47 45 5f 53 45 43 54  ruct _IMAGE_SECT
18430 49 4f 4e 5f 48 45 41 44 45 52 20 7b 0d 0a 20 20  ION_HEADER {..  
18440 42 59 54 45 20 4e 61 6d 65 5b 49 4d 41 47 45 5f  BYTE Name[IMAGE_
18450 53 49 5a 45 4f 46 5f 53 48 4f 52 54 5f 4e 41 4d  SIZEOF_SHORT_NAM
18460 45 5d 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20  E];..union {..  
18470 44 57 4f 52 44 20 50 68 79 73 69 63 61 6c 41 64  DWORD PhysicalAd
18480 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20  dress;..  DWORD 
18490 56 69 72 74 75 61 6c 53 69 7a 65 3b 0d 0a 7d 0d  VirtualSize;..}.
184a0 0a 0d 0a 20 20 44 57 4f 52 44 20 56 69 72 74 75  ...  DWORD Virtu
184b0 61 6c 41 64 64 72 65 73 73 3b 0d 0a 20 20 44 57  alAddress;..  DW
184c0 4f 52 44 20 53 69 7a 65 4f 66 52 61 77 44 61 74  ORD SizeOfRawDat
184d0 61 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69 6e  a;..  DWORD Poin
184e0 74 65 72 54 6f 52 61 77 44 61 74 61 3b 0d 0a 20  terToRawData;.. 
184f0 20 44 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f   DWORD PointerTo
18500 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0d 0a 20 20  Relocations;..  
18510 44 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f 4c  DWORD PointerToL
18520 69 6e 65 6e 75 6d 62 65 72 73 3b 0d 0a 20 20 57  inenumbers;..  W
18530 4f 52 44 20 4e 75 6d 62 65 72 4f 66 52 65 6c 6f  ORD NumberOfRelo
18540 63 61 74 69 6f 6e 73 3b 0d 0a 20 20 57 4f 52 44  cations;..  WORD
18550 20 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75 6d   NumberOfLinenum
18560 62 65 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20 43  bers;..  DWORD C
18570 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d  haracteristics;.
18580 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
18590 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 20  _SECTION_HEADER 
185a0 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45  IMAGE_SECTION_HE
185b0 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  ADER;..alias _IM
185c0 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44  AGE_SECTION_HEAD
185d0 45 52 2a 20 50 49 4d 41 47 45 5f 53 45 43 54 49  ER* PIMAGE_SECTI
185e0 4f 4e 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e  ON_HEADER;....en
185f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18600 45 5f 53 49 5a 45 4f 46 5f 53 45 43 54 49 4f 4e  E_SIZEOF_SECTION
18610 5f 48 45 41 44 45 52 20 3d 20 34 30 20 7d 0d 0a  _HEADER = 40 }..
18620 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18630 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 45 5f 4e  IMAGE_SCN_TYPE_N
18640 4f 5f 50 41 44 20 3d 20 30 78 30 30 30 30 30 30  O_PAD = 0x000000
18650 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
18660 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
18670 43 4e 54 5f 43 4f 44 45 20 3d 20 30 78 30 30 30  CNT_CODE = 0x000
18680 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
18690 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
186a0 5f 43 4e 54 5f 49 4e 49 54 49 41 4c 49 5a 45 44  _CNT_INITIALIZED
186b0 5f 44 41 54 41 20 3d 20 30 78 30 30 30 30 30 30  _DATA = 0x000000
186c0 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
186d0 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 43 4e  t { IMAGE_SCN_CN
186e0 54 5f 55 4e 49 4e 49 54 49 41 4c 49 5a 45 44 5f  T_UNINITIALIZED_
186f0 44 41 54 41 20 3d 20 30 78 30 30 30 30 30 30 38  DATA = 0x0000008
18700 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
18710 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4c  nt { IMAGE_SCN_L
18720 4e 4b 5f 4f 54 48 45 52 20 3d 20 30 78 30 30 30  NK_OTHER = 0x000
18730 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00100 }..enum : 
18740 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
18750 5f 4c 4e 4b 5f 49 4e 46 4f 20 3d 20 30 78 30 30  _LNK_INFO = 0x00
18760 30 30 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000200 }....enum
18770 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18780 53 43 4e 5f 4c 4e 4b 5f 52 45 4d 4f 56 45 20 3d  SCN_LNK_REMOVE =
18790 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
187a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
187b0 47 45 5f 53 43 4e 5f 4c 4e 4b 5f 43 4f 4d 44 41  GE_SCN_LNK_COMDA
187c0 54 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d  T = 0x00001000 }
187d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
187e0 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4e 4f 5f 44  { IMAGE_SCN_NO_D
187f0 45 46 45 52 5f 53 50 45 43 5f 45 58 43 20 3d 20  EFER_SPEC_EXC = 
18800 30 78 30 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e  0x00004000 }..en
18810 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18820 45 5f 53 43 4e 5f 47 50 52 45 4c 20 3d 20 30 78  E_SCN_GPREL = 0x
18830 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d  00008000 }..enum
18840 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18850 53 43 4e 5f 4d 45 4d 5f 46 41 52 44 41 54 41 20  SCN_MEM_FARDATA 
18860 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a  = 0x00008000 }..
18870 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18880 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 50 55  IMAGE_SCN_MEM_PU
18890 52 47 45 41 42 4c 45 20 3d 20 30 78 30 30 30 32  RGEABLE = 0x0002
188a0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
188b0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
188c0 4d 45 4d 5f 31 36 42 49 54 20 3d 20 30 78 30 30  MEM_16BIT = 0x00
188d0 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  020000 }..enum :
188e0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43   uint { IMAGE_SC
188f0 4e 5f 4d 45 4d 5f 4c 4f 43 4b 45 44 20 3d 20 30  N_MEM_LOCKED = 0
18900 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75  x00040000 }..enu
18910 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18920 5f 53 43 4e 5f 4d 45 4d 5f 50 52 45 4c 4f 41 44  _SCN_MEM_PRELOAD
18930 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
18940 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
18950 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e   IMAGE_SCN_ALIGN
18960 5f 31 42 59 54 45 53 20 3d 20 30 78 30 30 31 30  _1BYTES = 0x0010
18970 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
18980 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f  int { IMAGE_SCN_
18990 41 4c 49 47 4e 5f 32 42 59 54 45 53 20 3d 20 30  ALIGN_2BYTES = 0
189a0 78 30 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00200000 }..enu
189b0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
189c0 5f 53 43 4e 5f 41 4c 49 47 4e 5f 34 42 59 54 45  _SCN_ALIGN_4BYTE
189d0 53 20 3d 20 30 78 30 30 33 30 30 30 30 30 20 7d  S = 0x00300000 }
189e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
189f0 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f  IMAGE_SCN_ALIGN_
18a00 38 42 59 54 45 53 20 3d 20 30 78 30 30 34 30 30  8BYTES = 0x00400
18a10 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
18a20 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41  nt { IMAGE_SCN_A
18a30 4c 49 47 4e 5f 31 36 42 59 54 45 53 20 3d 20 30  LIGN_16BYTES = 0
18a40 78 30 30 35 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00500000 }..enu
18a50 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18a60 5f 53 43 4e 5f 41 4c 49 47 4e 5f 33 32 42 59 54  _SCN_ALIGN_32BYT
18a70 45 53 20 3d 20 30 78 30 30 36 30 30 30 30 30 20  ES = 0x00600000 
18a80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18a90 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e   IMAGE_SCN_ALIGN
18aa0 5f 36 34 42 59 54 45 53 20 3d 20 30 78 30 30 37  _64BYTES = 0x007
18ab0 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
18ac0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
18ad0 5f 41 4c 49 47 4e 5f 31 32 38 42 59 54 45 53 20  _ALIGN_128BYTES 
18ae0 3d 20 30 78 30 30 38 30 30 30 30 30 20 7d 0d 0a  = 0x00800000 }..
18af0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18b00 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 32 35  AGE_SCN_ALIGN_25
18b10 36 42 59 54 45 53 20 3d 20 30 78 30 30 39 30 30  6BYTES = 0x00900
18b20 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
18b30 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41  nt { IMAGE_SCN_A
18b40 4c 49 47 4e 5f 35 31 32 42 59 54 45 53 20 3d 20  LIGN_512BYTES = 
18b50 30 78 30 30 41 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00A00000 }..en
18b60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18b70 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 31 30 32 34  E_SCN_ALIGN_1024
18b80 42 59 54 45 53 20 3d 20 30 78 30 30 42 30 30 30  BYTES = 0x00B000
18b90 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18ba0 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c  t { IMAGE_SCN_AL
18bb0 49 47 4e 5f 32 30 34 38 42 59 54 45 53 20 3d 20  IGN_2048BYTES = 
18bc0 30 78 30 30 43 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00C00000 }..en
18bd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18be0 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 34 30 39 36  E_SCN_ALIGN_4096
18bf0 42 59 54 45 53 20 3d 20 30 78 30 30 44 30 30 30  BYTES = 0x00D000
18c00 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18c10 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 41 4c  t { IMAGE_SCN_AL
18c20 49 47 4e 5f 38 31 39 32 42 59 54 45 53 20 3d 20  IGN_8192BYTES = 
18c30 30 78 30 30 45 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00E00000 }....
18c40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
18c50 41 47 45 5f 53 43 4e 5f 41 4c 49 47 4e 5f 4d 41  AGE_SCN_ALIGN_MA
18c60 53 4b 20 3d 20 30 78 30 30 46 30 30 30 30 30 20  SK = 0x00F00000 
18c70 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
18c80 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b   { IMAGE_SCN_LNK
18c90 5f 4e 52 45 4c 4f 43 5f 4f 56 46 4c 20 3d 20 30  _NRELOC_OVFL = 0
18ca0 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x01000000 }..enu
18cb0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
18cc0 5f 53 43 4e 5f 4d 45 4d 5f 44 49 53 43 41 52 44  _SCN_MEM_DISCARD
18cd0 41 42 4c 45 20 3d 20 30 78 30 32 30 30 30 30 30  ABLE = 0x0200000
18ce0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18cf0 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d   { IMAGE_SCN_MEM
18d00 5f 4e 4f 54 5f 43 41 43 48 45 44 20 3d 20 30 78  _NOT_CACHED = 0x
18d10 30 34 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  04000000 }..enum
18d20 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
18d30 53 43 4e 5f 4d 45 4d 5f 4e 4f 54 5f 50 41 47 45  SCN_MEM_NOT_PAGE
18d40 44 20 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d  D = 0x08000000 }
18d50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18d60 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d 5f 53 48  IMAGE_SCN_MEM_SH
18d70 41 52 45 44 20 3d 20 30 78 31 30 30 30 30 30 30  ARED = 0x1000000
18d80 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18d90 20 7b 20 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d   { IMAGE_SCN_MEM
18da0 5f 45 58 45 43 55 54 45 20 3d 20 30 78 32 30 30  _EXECUTE = 0x200
18db0 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
18dc0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43 4e  uint { IMAGE_SCN
18dd0 5f 4d 45 4d 5f 52 45 41 44 20 3d 20 30 78 34 30  _MEM_READ = 0x40
18de0 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
18df0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 43   uint { IMAGE_SC
18e00 4e 5f 4d 45 4d 5f 57 52 49 54 45 20 3d 20 30 78  N_MEM_WRITE = 0x
18e10 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  80000000 }....en
18e20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
18e30 45 5f 53 43 4e 5f 53 43 41 4c 45 5f 49 4e 44 45  E_SCN_SCALE_INDE
18e40 58 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  X = 0x00000001 }
18e50 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
18e60 4d 41 43 0d 0a 61 6c 69 67 6e 28 32 29 3a 0d 0a  MAC..align(2):..
18e70 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
18e80 75 63 74 20 5f 49 4d 41 47 45 5f 53 59 4d 42 4f  uct _IMAGE_SYMBO
18e90 4c 20 7b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20  L {..union {..  
18ea0 42 59 54 45 20 53 68 6f 72 74 4e 61 6d 65 5b 38  BYTE ShortName[8
18eb0 5d 3b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20  ];..struct {..  
18ec0 44 57 4f 52 44 20 53 68 6f 72 74 3b 0d 0a 20 20  DWORD Short;..  
18ed0 44 57 4f 52 44 20 4c 6f 6e 67 3b 0d 0a 7d 0d 0a  DWORD Long;..}..
18ee0 0d 0a 20 20 44 57 4f 52 44 20 4c 6f 6e 67 4e 61  ..  DWORD LongNa
18ef0 6d 65 5b 32 5d 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44  me[2];..}....  D
18f00 57 4f 52 44 20 56 61 6c 75 65 3b 0d 0a 20 20 53  WORD Value;..  S
18f10 48 4f 52 54 20 53 65 63 74 69 6f 6e 4e 75 6d 62  HORT SectionNumb
18f20 65 72 3b 0d 0a 20 20 57 4f 52 44 20 54 79 70 65  er;..  WORD Type
18f30 3b 0d 0a 20 20 42 59 54 45 20 53 74 6f 72 61 67  ;..  BYTE Storag
18f40 65 43 6c 61 73 73 3b 0d 0a 20 20 42 59 54 45 20  eClass;..  BYTE 
18f50 4e 75 6d 62 65 72 4f 66 41 75 78 53 79 6d 62 6f  NumberOfAuxSymbo
18f60 6c 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  ls;..}..alias _I
18f70 4d 41 47 45 5f 53 59 4d 42 4f 4c 20 49 4d 41 47  MAGE_SYMBOL IMAG
18f80 45 5f 53 59 4d 42 4f 4c 3b 0d 0a 0d 0a 61 6c 69  E_SYMBOL;....ali
18f90 61 73 20 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 2a  as IMAGE_SYMBOL*
18fa0 20 50 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 3b 0d   PIMAGE_SYMBOL;.
18fb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
18fc0 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59   IMAGE_SIZEOF_SY
18fd0 4d 42 4f 4c 20 3d 20 31 38 20 7d 0d 0a 0d 0a 65  MBOL = 18 }....e
18fe0 6e 75 6d 20 3a 20 53 48 4f 52 54 20 7b 20 49 4d  num : SHORT { IM
18ff0 41 47 45 5f 53 59 4d 5f 55 4e 44 45 46 49 4e 45  AGE_SYM_UNDEFINE
19000 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 0 }..enum : 
19010 53 48 4f 52 54 20 7b 20 49 4d 41 47 45 5f 53 59  SHORT { IMAGE_SY
19020 4d 5f 41 42 53 4f 4c 55 54 45 20 3d 20 2d 31 20  M_ABSOLUTE = -1 
19030 7d 0d 0a 65 6e 75 6d 20 3a 20 53 48 4f 52 54 20  }..enum : SHORT 
19040 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 44 45 42 55  { IMAGE_SYM_DEBU
19050 47 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a  G = -2 }..enum :
19060 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
19070 4d 5f 53 45 43 54 49 4f 4e 5f 4d 41 58 20 3d 20  M_SECTION_MAX = 
19080 30 78 46 45 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d  0xFEFF }....enum
19090 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
190a0 53 59 4d 5f 54 59 50 45 5f 4e 55 4c 4c 20 3d 20  SYM_TYPE_NULL = 
190b0 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
190c0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
190d0 4d 5f 54 59 50 45 5f 56 4f 49 44 20 3d 20 30 78  M_TYPE_VOID = 0x
190e0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
190f0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
19100 54 59 50 45 5f 43 48 41 52 20 3d 20 30 78 30 30  TYPE_CHAR = 0x00
19110 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
19120 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59  t { IMAGE_SYM_TY
19130 50 45 5f 53 48 4f 52 54 20 3d 20 30 78 30 30 30  PE_SHORT = 0x000
19140 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
19150 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50   { IMAGE_SYM_TYP
19160 45 5f 49 4e 54 20 3d 20 30 78 30 30 30 34 20 7d  E_INT = 0x0004 }
19170 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19180 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 4c  IMAGE_SYM_TYPE_L
19190 4f 4e 47 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a  ONG = 0x0005 }..
191a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
191b0 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 46 4c 4f  AGE_SYM_TYPE_FLO
191c0 41 54 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65  AT = 0x0006 }..e
191d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
191e0 47 45 5f 53 59 4d 5f 54 59 50 45 5f 44 4f 55 42  GE_SYM_TYPE_DOUB
191f0 4c 45 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65  LE = 0x0007 }..e
19200 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
19210 47 45 5f 53 59 4d 5f 54 59 50 45 5f 53 54 52 55  GE_SYM_TYPE_STRU
19220 43 54 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  CT = 0x0008 }..e
19230 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
19240 47 45 5f 53 59 4d 5f 54 59 50 45 5f 55 4e 49 4f  GE_SYM_TYPE_UNIO
19250 4e 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e  N = 0x0009 }..en
19260 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
19270 45 5f 53 59 4d 5f 54 59 50 45 5f 45 4e 55 4d 20  E_SYM_TYPE_ENUM 
19280 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d  = 0x000A }..enum
19290 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
192a0 53 59 4d 5f 54 59 50 45 5f 4d 4f 45 20 3d 20 30  SYM_TYPE_MOE = 0
192b0 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000B }..enum : 
192c0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d  uint { IMAGE_SYM
192d0 5f 54 59 50 45 5f 42 59 54 45 20 3d 20 30 78 30  _TYPE_BYTE = 0x0
192e0 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00C }..enum : ui
192f0 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54  nt { IMAGE_SYM_T
19300 59 50 45 5f 57 4f 52 44 20 3d 20 30 78 30 30 30  YPE_WORD = 0x000
19310 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
19320 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50   { IMAGE_SYM_TYP
19330 45 5f 55 49 4e 54 20 3d 20 30 78 30 30 30 45 20  E_UINT = 0x000E 
19340 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19350 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f   IMAGE_SYM_TYPE_
19360 44 57 4f 52 44 20 3d 20 30 78 30 30 30 46 20 7d  DWORD = 0x000F }
19370 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19380 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 50  IMAGE_SYM_TYPE_P
19390 43 4f 44 45 20 3d 20 30 78 38 30 30 30 20 7d 0d  CODE = 0x8000 }.
193a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
193b0 20 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 45   IMAGE_SYM_DTYPE
193c0 5f 4e 55 4c 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75  _NULL = 0 }..enu
193d0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
193e0 5f 53 59 4d 5f 44 54 59 50 45 5f 50 4f 49 4e 54  _SYM_DTYPE_POINT
193f0 45 52 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ER = 1 }..enum :
19400 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
19410 4d 5f 44 54 59 50 45 5f 46 55 4e 43 54 49 4f 4e  M_DTYPE_FUNCTION
19420 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
19430 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
19440 44 54 59 50 45 5f 41 52 52 41 59 20 3d 20 33 20  DTYPE_ARRAY = 3 
19450 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 42 59 54 45  }....enum : BYTE
19460 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41   { IMAGE_SYM_CLA
19470 53 53 5f 45 4e 44 5f 4f 46 5f 46 55 4e 43 54 49  SS_END_OF_FUNCTI
19480 4f 4e 20 3d 20 63 61 73 74 28 42 59 54 45 29 2d  ON = cast(BYTE)-
19490 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
194a0 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41   { IMAGE_SYM_CLA
194b0 53 53 5f 4e 55 4c 4c 20 3d 20 30 78 30 30 30 30  SS_NULL = 0x0000
194c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
194d0 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53  { IMAGE_SYM_CLAS
194e0 53 5f 41 55 54 4f 4d 41 54 49 43 20 3d 20 30 78  S_AUTOMATIC = 0x
194f0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
19500 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
19510 43 4c 41 53 53 5f 45 58 54 45 52 4e 41 4c 20 3d  CLASS_EXTERNAL =
19520 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
19530 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19540 59 4d 5f 43 4c 41 53 53 5f 53 54 41 54 49 43 20  YM_CLASS_STATIC 
19550 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x0003 }..enum
19560 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
19570 53 59 4d 5f 43 4c 41 53 53 5f 52 45 47 49 53 54  SYM_CLASS_REGIST
19580 45 52 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  ER = 0x0004 }..e
19590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
195a0 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54  GE_SYM_CLASS_EXT
195b0 45 52 4e 41 4c 5f 44 45 46 20 3d 20 30 78 30 30  ERNAL_DEF = 0x00
195c0 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
195d0 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  t { IMAGE_SYM_CL
195e0 41 53 53 5f 4c 41 42 45 4c 20 3d 20 30 78 30 30  ASS_LABEL = 0x00
195f0 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
19600 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  t { IMAGE_SYM_CL
19610 41 53 53 5f 55 4e 44 45 46 49 4e 45 44 5f 4c 41  ASS_UNDEFINED_LA
19620 42 45 4c 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a  BEL = 0x0007 }..
19630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
19640 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45  AGE_SYM_CLASS_ME
19650 4d 42 45 52 5f 4f 46 5f 53 54 52 55 43 54 20 3d  MBER_OF_STRUCT =
19660 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
19670 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19680 59 4d 5f 43 4c 41 53 53 5f 41 52 47 55 4d 45 4e  YM_CLASS_ARGUMEN
19690 54 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e  T = 0x0009 }..en
196a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
196b0 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 53 54 52 55  E_SYM_CLASS_STRU
196c0 43 54 5f 54 41 47 20 3d 20 30 78 30 30 30 41 20  CT_TAG = 0x000A 
196d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
196e0 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53   IMAGE_SYM_CLASS
196f0 5f 4d 45 4d 42 45 52 5f 4f 46 5f 55 4e 49 4f 4e  _MEMBER_OF_UNION
19700 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75   = 0x000B }..enu
19710 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
19720 5f 53 59 4d 5f 43 4c 41 53 53 5f 55 4e 49 4f 4e  _SYM_CLASS_UNION
19730 5f 54 41 47 20 3d 20 30 78 30 30 30 43 20 7d 0d  _TAG = 0x000C }.
19740 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
19750 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 54  MAGE_SYM_CLASS_T
19760 59 50 45 5f 44 45 46 49 4e 49 54 49 4f 4e 20 3d  YPE_DEFINITION =
19770 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20   0x000D }..enum 
19780 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19790 59 4d 5f 43 4c 41 53 53 5f 55 4e 44 45 46 49 4e  YM_CLASS_UNDEFIN
197a0 45 44 5f 53 54 41 54 49 43 20 3d 20 30 78 30 30  ED_STATIC = 0x00
197b0 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0E }..enum : uin
197c0 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  t { IMAGE_SYM_CL
197d0 41 53 53 5f 45 4e 55 4d 5f 54 41 47 20 3d 20 30  ASS_ENUM_TAG = 0
197e0 78 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000F }..enum : 
197f0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d  uint { IMAGE_SYM
19800 5f 43 4c 41 53 53 5f 4d 45 4d 42 45 52 5f 4f 46  _CLASS_MEMBER_OF
19810 5f 45 4e 55 4d 20 3d 20 30 78 30 30 31 30 20 7d  _ENUM = 0x0010 }
19820 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19830 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f  IMAGE_SYM_CLASS_
19840 52 45 47 49 53 54 45 52 5f 50 41 52 41 4d 20 3d  REGISTER_PARAM =
19850 20 30 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20   0x0011 }..enum 
19860 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53  : uint { IMAGE_S
19870 59 4d 5f 43 4c 41 53 53 5f 42 49 54 5f 46 49 45  YM_CLASS_BIT_FIE
19880 4c 44 20 3d 20 30 78 30 30 31 32 20 7d 0d 0a 0d  LD = 0x0012 }...
19890 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
198a0 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 46  MAGE_SYM_CLASS_F
198b0 41 52 5f 45 58 54 45 52 4e 41 4c 20 3d 20 30 78  AR_EXTERNAL = 0x
198c0 30 30 34 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0044 }....enum :
198d0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
198e0 4d 5f 43 4c 41 53 53 5f 42 4c 4f 43 4b 20 3d 20  M_CLASS_BLOCK = 
198f0 30 78 30 30 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0064 }..enum :
19900 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59   uint { IMAGE_SY
19910 4d 5f 43 4c 41 53 53 5f 46 55 4e 43 54 49 4f 4e  M_CLASS_FUNCTION
19920 20 3d 20 30 78 30 30 36 35 20 7d 0d 0a 65 6e 75   = 0x0065 }..enu
19930 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
19940 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 4e 44 5f 4f  _SYM_CLASS_END_O
19950 46 5f 53 54 52 55 43 54 20 3d 20 30 78 30 30 36  F_STRUCT = 0x006
19960 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
19970 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41   { IMAGE_SYM_CLA
19980 53 53 5f 46 49 4c 45 20 3d 20 30 78 30 30 36 37  SS_FILE = 0x0067
19990 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
199a0 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c  t { IMAGE_SYM_CL
199b0 41 53 53 5f 53 45 43 54 49 4f 4e 20 3d 20 30 78  ASS_SECTION = 0x
199c0 30 30 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0068 }..enum : u
199d0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 59 4d 5f  int { IMAGE_SYM_
199e0 43 4c 41 53 53 5f 57 45 41 4b 5f 45 58 54 45 52  CLASS_WEAK_EXTER
199f0 4e 41 4c 20 3d 20 30 78 30 30 36 39 20 7d 0d 0a  NAL = 0x0069 }..
19a00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19a10 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f  IMAGE_SYM_CLASS_
19a20 43 4c 52 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30  CLR_TOKEN = 0x00
19a30 36 42 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  6B }....enum : u
19a40 69 6e 74 20 7b 20 4e 5f 42 54 4d 41 53 4b 20 3d  int { N_BTMASK =
19a50 20 30 78 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20   0x000F }..enum 
19a60 3a 20 75 69 6e 74 20 7b 20 4e 5f 54 4d 41 53 4b  : uint { N_TMASK
19a70 20 3d 20 30 78 30 30 33 30 20 7d 0d 0a 65 6e 75   = 0x0030 }..enu
19a80 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 5f 54 4d 41  m : uint { N_TMA
19a90 53 4b 31 20 3d 20 30 78 30 30 43 30 20 7d 0d 0a  SK1 = 0x00C0 }..
19aa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 5f  enum : uint { N_
19ab0 54 4d 41 53 4b 32 20 3d 20 30 78 30 30 46 30 20  TMASK2 = 0x00F0 
19ac0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19ad0 20 4e 5f 42 54 53 48 46 54 20 3d 20 34 20 7d 0d   N_BTSHFT = 4 }.
19ae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
19af0 5f 54 53 48 49 46 54 20 3d 20 32 20 7d 0d 0a 0d  _TSHIFT = 2 }...
19b00 0a 42 59 54 45 20 42 54 59 50 45 28 42 59 54 45  .BYTE BTYPE(BYTE
19b10 20 78 29 7b 20 72 65 74 75 72 6e 20 78 20 26 20   x){ return x & 
19b20 4e 5f 42 54 4d 41 53 4b 3b 20 7d 0d 0a 0d 0a 2f  N_BTMASK; }..../
19b30 2f 20 23 69 66 6e 64 65 66 20 49 53 50 54 52 0d  / #ifndef ISPTR.
19b40 0a 62 69 74 20 49 53 50 54 52 28 75 69 6e 74 20  .bit ISPTR(uint 
19b50 78 29 7b 20 72 65 74 75 72 6e 20 28 78 20 26 20  x){ return (x & 
19b60 4e 5f 54 4d 41 53 4b 29 20 3d 3d 20 28 49 4d 41  N_TMASK) == (IMA
19b70 47 45 5f 53 59 4d 5f 44 54 59 50 45 5f 50 4f 49  GE_SYM_DTYPE_POI
19b80 4e 54 45 52 20 3c 3c 20 4e 5f 42 54 53 48 46 54  NTER << N_BTSHFT
19b90 29 3b 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  ); }..// #endif.
19ba0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 49 53  ...// #ifndef IS
19bb0 46 43 4e 0d 0a 62 69 74 20 49 53 46 43 4e 28 75  FCN..bit ISFCN(u
19bc0 69 6e 74 20 78 29 7b 20 72 65 74 75 72 6e 20 28  int x){ return (
19bd0 78 20 26 20 4e 5f 54 4d 41 53 4b 29 20 3d 3d 20  x & N_TMASK) == 
19be0 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 45  (IMAGE_SYM_DTYPE
19bf0 5f 46 55 4e 43 54 49 4f 4e 20 3c 3c 20 4e 5f 42  _FUNCTION << N_B
19c00 54 53 48 46 54 29 3b 20 7d 0d 0a 2f 2f 20 23 65  TSHFT); }..// #e
19c10 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ndif....// #ifnd
19c20 65 66 20 49 53 41 52 59 0d 0a 62 69 74 20 49 53  ef ISARY..bit IS
19c30 41 52 59 28 75 69 6e 74 20 78 29 7b 20 72 65 74  ARY(uint x){ ret
19c40 75 72 6e 20 28 78 20 26 20 4e 5f 54 4d 41 53 4b  urn (x & N_TMASK
19c50 29 20 3d 3d 20 28 49 4d 41 47 45 5f 53 59 4d 5f  ) == (IMAGE_SYM_
19c60 44 54 59 50 45 5f 41 52 52 41 59 20 3c 3c 20 4e  DTYPE_ARRAY << N
19c70 5f 42 54 53 48 46 54 29 3b 20 7d 0d 0a 2f 2f 20  _BTSHFT); }..// 
19c80 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
19c90 6e 64 65 66 20 49 53 54 41 47 0d 0a 62 69 74 20  ndef ISTAG..bit 
19ca0 49 53 54 41 47 28 75 69 6e 74 20 78 29 7b 20 72  ISTAG(uint x){ r
19cb0 65 74 75 72 6e 20 78 20 3d 3d 20 49 4d 41 47 45  eturn x == IMAGE
19cc0 5f 53 59 4d 5f 43 4c 41 53 53 5f 53 54 52 55 43  _SYM_CLASS_STRUC
19cd0 54 5f 54 41 47 20 7c 7c 20 78 20 3d 3d 20 49 4d  T_TAG || x == IM
19ce0 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 55 4e  AGE_SYM_CLASS_UN
19cf0 49 4f 4e 5f 54 41 47 20 7c 7c 20 78 20 3d 3d 20  ION_TAG || x == 
19d00 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f  IMAGE_SYM_CLASS_
19d10 45 4e 55 4d 5f 54 41 47 3b 20 7d 0d 0a 2f 2f 20  ENUM_TAG; }..// 
19d20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
19d30 6e 64 65 66 20 49 4e 43 52 45 46 0d 0a 75 69 6e  ndef INCREF..uin
19d40 74 20 49 4e 43 52 45 46 28 75 69 6e 74 20 78 29  t INCREF(uint x)
19d50 7b 20 72 65 74 75 72 6e 20 28 28 78 26 7e 4e 5f  { return ((x&~N_
19d60 42 54 4d 41 53 4b 29 3c 3c 4e 5f 54 53 48 49 46  BTMASK)<<N_TSHIF
19d70 54 29 7c 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54  T)|(IMAGE_SYM_DT
19d80 59 50 45 5f 50 4f 49 4e 54 45 52 3c 3c 4e 5f 42  YPE_POINTER<<N_B
19d90 54 53 48 46 54 29 7c 28 78 26 4e 5f 42 54 4d 41  TSHFT)|(x&N_BTMA
19da0 53 4b 29 3b 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  SK); }..// #endi
19db0 66 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 45  f..// #ifndef DE
19dc0 43 52 45 46 0d 0a 75 69 6e 74 20 44 45 43 52 45  CREF..uint DECRE
19dd0 46 28 75 69 6e 74 20 78 29 7b 20 72 65 74 75 72  F(uint x){ retur
19de0 6e 20 28 28 78 20 3e 3e 3e 20 4e 5f 54 53 48 49  n ((x >>> N_TSHI
19df0 46 54 29 20 26 20 7e 4e 5f 42 54 4d 41 53 4b 29  FT) & ~N_BTMASK)
19e00 7c 28 78 20 26 20 4e 5f 42 54 4d 41 53 4b 29 3b  |(x & N_BTMASK);
19e10 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
19e20 0a 75 6e 69 6f 6e 20 5f 49 4d 41 47 45 5f 41 55  .union _IMAGE_AU
19e30 58 5f 53 59 4d 42 4f 4c 20 7b 0d 0a 73 74 72 75  X_SYMBOL {..stru
19e40 63 74 20 7b 0d 0a 20 20 44 57 4f 52 44 20 54 61  ct {..  DWORD Ta
19e50 67 49 6e 64 65 78 3b 0d 0a 75 6e 69 6f 6e 20 7b  gIndex;..union {
19e60 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 57 4f  ..struct {..  WO
19e70 52 44 20 4c 69 6e 65 6e 75 6d 62 65 72 3b 0d 0a  RD Linenumber;..
19e80 20 20 57 4f 52 44 20 53 69 7a 65 3b 0d 0a 7d 0d    WORD Size;..}.
19e90 0a 0d 0a 20 20 44 57 4f 52 44 20 54 6f 74 61 6c  ...  DWORD Total
19ea0 53 69 7a 65 3b 0d 0a 7d 0d 0a 0d 0a 75 6e 69 6f  Size;..}....unio
19eb0 6e 20 7b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20  n {..struct {.. 
19ec0 20 44 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f   DWORD PointerTo
19ed0 4c 69 6e 65 6e 75 6d 62 65 72 3b 0d 0a 20 20 44  Linenumber;..  D
19ee0 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f 4e 65  WORD PointerToNe
19ef0 78 74 46 75 6e 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a  xtFunction;..}..
19f00 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 57 4f  ..struct {..  WO
19f10 52 44 20 44 69 6d 65 6e 73 69 6f 6e 5b 34 5d 3b  RD Dimension[4];
19f20 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 20 20 57 4f  ..}....}....  WO
19f30 52 44 20 54 76 49 6e 64 65 78 3b 0d 0a 7d 0d 0a  RD TvIndex;..}..
19f40 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 42 59  ..struct {..  BY
19f50 54 45 20 4e 61 6d 65 5b 49 4d 41 47 45 5f 53 49  TE Name[IMAGE_SI
19f60 5a 45 4f 46 5f 53 59 4d 42 4f 4c 5d 3b 0d 0a 7d  ZEOF_SYMBOL];..}
19f70 0d 0a 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20  ....struct {..  
19f80 44 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0d 0a 20  DWORD Length;.. 
19f90 20 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 52 65   WORD NumberOfRe
19fa0 6c 6f 63 61 74 69 6f 6e 73 3b 0d 0a 20 20 57 4f  locations;..  WO
19fb0 52 44 20 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e  RD NumberOfLinen
19fc0 75 6d 62 65 72 73 3b 0d 0a 20 20 44 57 4f 52 44  umbers;..  DWORD
19fd0 20 43 68 65 63 6b 53 75 6d 3b 0d 0a 20 20 53 48   CheckSum;..  SH
19fe0 4f 52 54 20 4e 75 6d 62 65 72 3b 0d 0a 20 20 42  ORT Number;..  B
19ff0 59 54 45 20 53 65 6c 65 63 74 69 6f 6e 3b 0d 0a  YTE Selection;..
1a000 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  }....}..alias _I
1a010 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 20  MAGE_AUX_SYMBOL 
1a020 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c  IMAGE_AUX_SYMBOL
1a030 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  ;....alias IMAGE
1a040 5f 41 55 58 5f 53 59 4d 42 4f 4c 2a 20 50 49 4d  _AUX_SYMBOL* PIM
1a050 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 3b 0d  AGE_AUX_SYMBOL;.
1a060 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1a070 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 41 55   IMAGE_SIZEOF_AU
1a080 58 5f 53 59 4d 42 4f 4c 20 3d 20 31 38 20 7d 0d  X_SYMBOL = 18 }.
1a090 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 49 4d 41  ...alias int IMA
1a0a0 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 5f 54 59  GE_AUX_SYMBOL_TY
1a0b0 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 49  PE;..enum {..  I
1a0c0 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 5f  MAGE_AUX_SYMBOL_
1a0d0 54 59 50 45 5f 54 4f 4b 45 4e 5f 44 45 46 20 3d  TYPE_TOKEN_DEF =
1a0e0 20 31 2c 0d 0a 7d 0d 0a 0d 0a 61 6c 69 67 6e 28   1,..}....align(
1a0f0 32 29 3a 0d 0a 0d 0a 73 74 72 75 63 74 20 49 4d  2):....struct IM
1a100 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 5f 54  AGE_AUX_SYMBOL_T
1a110 4f 4b 45 4e 5f 44 45 46 20 7b 0d 0a 20 20 42 59  OKEN_DEF {..  BY
1a120 54 45 20 62 41 75 78 54 79 70 65 3b 0d 0a 20 20  TE bAuxType;..  
1a130 42 59 54 45 20 62 52 65 73 65 72 76 65 64 3b 0d  BYTE bReserved;.
1a140 0a 20 20 44 57 4f 52 44 20 53 79 6d 62 6f 6c 54  .  DWORD SymbolT
1a150 61 62 6c 65 49 6e 64 65 78 3b 0d 0a 20 20 42 59  ableIndex;..  BY
1a160 54 45 20 72 67 62 52 65 73 65 72 76 65 64 5b 31  TE rgbReserved[1
1a170 32 5d 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20  2];..}....alias 
1a180 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c  IMAGE_AUX_SYMBOL
1a190 5f 54 4f 4b 45 4e 5f 44 45 46 2a 20 50 49 4d 41  _TOKEN_DEF* PIMA
1a1a0 47 45 5f 41 55 58 5f 53 59 4d 42 4f 4c 5f 54 4f  GE_AUX_SYMBOL_TO
1a1b0 4b 45 4e 5f 44 45 46 3b 0d 0a 0d 0a 61 6c 69 67  KEN_DEF;....alig
1a1c0 6e 3a 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  n:....enum : uin
1a1d0 74 20 7b 20 49 4d 41 47 45 5f 43 4f 4d 44 41 54  t { IMAGE_COMDAT
1a1e0 5f 53 45 4c 45 43 54 5f 4e 4f 44 55 50 4c 49 43  _SELECT_NODUPLIC
1a1f0 41 54 45 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  ATES = 1 }..enum
1a200 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a210 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 41 4e  COMDAT_SELECT_AN
1a220 59 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  Y = 2 }..enum : 
1a230 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 43 4f 4d  uint { IMAGE_COM
1a240 44 41 54 5f 53 45 4c 45 43 54 5f 53 41 4d 45 5f  DAT_SELECT_SAME_
1a250 53 49 5a 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  SIZE = 3 }..enum
1a260 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a270 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 45 58  COMDAT_SELECT_EX
1a280 41 43 54 5f 4d 41 54 43 48 20 3d 20 34 20 7d 0d  ACT_MATCH = 4 }.
1a290 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a2a0 4d 41 47 45 5f 43 4f 4d 44 41 54 5f 53 45 4c 45  MAGE_COMDAT_SELE
1a2b0 43 54 5f 41 53 53 4f 43 49 41 54 49 56 45 20 3d  CT_ASSOCIATIVE =
1a2c0 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   5 }..enum : uin
1a2d0 74 20 7b 20 49 4d 41 47 45 5f 43 4f 4d 44 41 54  t { IMAGE_COMDAT
1a2e0 5f 53 45 4c 45 43 54 5f 4c 41 52 47 45 53 54 20  _SELECT_LARGEST 
1a2f0 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
1a300 6e 74 20 7b 20 49 4d 41 47 45 5f 43 4f 4d 44 41  nt { IMAGE_COMDA
1a310 54 5f 53 45 4c 45 43 54 5f 4e 45 57 45 53 54 20  T_SELECT_NEWEST 
1a320 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  = 7 }....enum : 
1a330 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 57 45 41  uint { IMAGE_WEA
1a340 4b 5f 45 58 54 45 52 4e 5f 53 45 41 52 43 48 5f  K_EXTERN_SEARCH_
1a350 4e 4f 4c 49 42 52 41 52 59 20 3d 20 31 20 7d 0d  NOLIBRARY = 1 }.
1a360 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a370 4d 41 47 45 5f 57 45 41 4b 5f 45 58 54 45 52 4e  MAGE_WEAK_EXTERN
1a380 5f 53 45 41 52 43 48 5f 4c 49 42 52 41 52 59 20  _SEARCH_LIBRARY 
1a390 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
1a3a0 6e 74 20 7b 20 49 4d 41 47 45 5f 57 45 41 4b 5f  nt { IMAGE_WEAK_
1a3b0 45 58 54 45 52 4e 5f 53 45 41 52 43 48 5f 41 4c  EXTERN_SEARCH_AL
1a3c0 49 41 53 20 3d 20 33 20 7d 0d 0a 0d 0a 73 74 72  IAS = 3 }....str
1a3d0 75 63 74 20 5f 49 4d 41 47 45 5f 52 45 4c 4f 43  uct _IMAGE_RELOC
1a3e0 41 54 49 4f 4e 20 7b 0d 0a 75 6e 69 6f 6e 20 7b  ATION {..union {
1a3f0 0d 0a 20 20 44 57 4f 52 44 20 56 69 72 74 75 61  ..  DWORD Virtua
1a400 6c 41 64 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f  lAddress;..  DWO
1a410 52 44 20 52 65 6c 6f 63 43 6f 75 6e 74 3b 0d 0a  RD RelocCount;..
1a420 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 53 79 6d  }....  DWORD Sym
1a430 62 6f 6c 54 61 62 6c 65 49 6e 64 65 78 3b 0d 0a  bolTableIndex;..
1a440 20 20 57 4f 52 44 20 54 79 70 65 3b 0d 0a 7d 0d    WORD Type;..}.
1a450 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 45  .alias _IMAGE_RE
1a460 4c 4f 43 41 54 49 4f 4e 20 49 4d 41 47 45 5f 52  LOCATION IMAGE_R
1a470 45 4c 4f 43 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c  ELOCATION;....al
1a480 69 61 73 20 49 4d 41 47 45 5f 52 45 4c 4f 43 41  ias IMAGE_RELOCA
1a490 54 49 4f 4e 2a 20 50 49 4d 41 47 45 5f 52 45 4c  TION* PIMAGE_REL
1a4a0 4f 43 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d  OCATION;....enum
1a4b0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a4c0 53 49 5a 45 4f 46 5f 52 45 4c 4f 43 41 54 49 4f  SIZEOF_RELOCATIO
1a4d0 4e 20 3d 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  N = 10 }....enum
1a4e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a4f0 52 45 4c 5f 49 33 38 36 5f 41 42 53 4f 4c 55 54  REL_I386_ABSOLUT
1a500 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  E = 0x0000 }..en
1a510 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1a520 45 5f 52 45 4c 5f 49 33 38 36 5f 44 49 52 31 36  E_REL_I386_DIR16
1a530 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
1a540 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1a550 5f 52 45 4c 5f 49 33 38 36 5f 52 45 4c 31 36 20  _REL_I386_REL16 
1a560 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
1a570 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a580 52 45 4c 5f 49 33 38 36 5f 44 49 52 33 32 20 3d  REL_I386_DIR32 =
1a590 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20   0x0006 }..enum 
1a5a0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1a5b0 45 4c 5f 49 33 38 36 5f 44 49 52 33 32 4e 42 20  EL_I386_DIR32NB 
1a5c0 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d  = 0x0007 }..enum
1a5d0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a5e0 52 45 4c 5f 49 33 38 36 5f 53 45 47 31 32 20 3d  REL_I386_SEG12 =
1a5f0 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20   0x0009 }..enum 
1a600 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1a610 45 4c 5f 49 33 38 36 5f 53 45 43 54 49 4f 4e 20  EL_I386_SECTION 
1a620 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d  = 0x000A }..enum
1a630 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a640 52 45 4c 5f 49 33 38 36 5f 53 45 43 52 45 4c 20  REL_I386_SECREL 
1a650 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d  = 0x000B }..enum
1a660 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a670 52 45 4c 5f 49 33 38 36 5f 54 4f 4b 45 4e 20 3d  REL_I386_TOKEN =
1a680 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20   0x000C }..enum 
1a690 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1a6a0 45 4c 5f 49 33 38 36 5f 53 45 43 52 45 4c 37 20  EL_I386_SECREL7 
1a6b0 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d  = 0x000D }..enum
1a6c0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1a6d0 52 45 4c 5f 49 33 38 36 5f 52 45 4c 33 32 20 3d  REL_I386_REL32 =
1a6e0 20 30 78 30 30 31 34 20 7d 0d 0a 0d 0a 65 6e 75   0x0014 }....enu
1a6f0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1a700 5f 52 45 4c 5f 4d 49 50 53 5f 41 42 53 4f 4c 55  _REL_MIPS_ABSOLU
1a710 54 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  TE = 0x0000 }..e
1a720 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1a730 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 52 45 46 48  GE_REL_MIPS_REFH
1a740 41 4c 46 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  ALF = 0x0001 }..
1a750 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1a760 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 52 45 46  AGE_REL_MIPS_REF
1a770 57 4f 52 44 20 3d 20 30 78 30 30 30 32 20 7d 0d  WORD = 0x0002 }.
1a780 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a790 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 4a 4d  MAGE_REL_MIPS_JM
1a7a0 50 41 44 44 52 20 3d 20 30 78 30 30 30 33 20 7d  PADDR = 0x0003 }
1a7b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a7c0 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 52  IMAGE_REL_MIPS_R
1a7d0 45 46 48 49 20 3d 20 30 78 30 30 30 34 20 7d 0d  EFHI = 0x0004 }.
1a7e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a7f0 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 52 45  MAGE_REL_MIPS_RE
1a800 46 4c 4f 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a  FLO = 0x0005 }..
1a810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1a820 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 47 50 52  AGE_REL_MIPS_GPR
1a830 45 4c 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65  EL = 0x0006 }..e
1a840 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1a850 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 4c 49 54 45  GE_REL_MIPS_LITE
1a860 52 41 4c 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a  RAL = 0x0007 }..
1a870 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1a880 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 53 45 43  AGE_REL_MIPS_SEC
1a890 54 49 4f 4e 20 3d 20 30 78 30 30 30 41 20 7d 0d  TION = 0x000A }.
1a8a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a8b0 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 53 45  MAGE_REL_MIPS_SE
1a8c0 43 52 45 4c 20 3d 20 30 78 30 30 30 42 20 7d 0d  CREL = 0x000B }.
1a8d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1a8e0 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 53 45  MAGE_REL_MIPS_SE
1a8f0 43 52 45 4c 4c 4f 20 3d 20 30 78 30 30 30 43 20  CRELLO = 0x000C 
1a900 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a910 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f   IMAGE_REL_MIPS_
1a920 53 45 43 52 45 4c 48 49 20 3d 20 30 78 30 30 30  SECRELHI = 0x000
1a930 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
1a940 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50   { IMAGE_REL_MIP
1a950 53 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 45  S_TOKEN = 0x000E
1a960 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a970 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53  { IMAGE_REL_MIPS
1a980 5f 4a 4d 50 41 44 44 52 31 36 20 3d 20 30 78 30  _JMPADDR16 = 0x0
1a990 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
1a9a0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d  nt { IMAGE_REL_M
1a9b0 49 50 53 5f 52 45 46 57 4f 52 44 4e 42 20 3d 20  IPS_REFWORDNB = 
1a9c0 30 78 30 30 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0022 }..enum :
1a9d0 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1a9e0 4c 5f 4d 49 50 53 5f 50 41 49 52 20 3d 20 30 78  L_MIPS_PAIR = 0x
1a9f0 30 30 32 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0025 }....enum :
1aa00 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1aa10 4c 5f 41 4c 50 48 41 5f 41 42 53 4f 4c 55 54 45  L_ALPHA_ABSOLUTE
1aa20 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
1aa30 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1aa40 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 4c 4f  _REL_ALPHA_REFLO
1aa50 4e 47 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  NG = 0x0001 }..e
1aa60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1aa70 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46  GE_REL_ALPHA_REF
1aa80 51 55 41 44 20 3d 20 30 78 30 30 30 32 20 7d 0d  QUAD = 0x0002 }.
1aa90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1aaa0 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 47  MAGE_REL_ALPHA_G
1aab0 50 52 45 4c 33 32 20 3d 20 30 78 30 30 30 33 20  PREL32 = 0x0003 
1aac0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1aad0 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41   IMAGE_REL_ALPHA
1aae0 5f 4c 49 54 45 52 41 4c 20 3d 20 30 78 30 30 30  _LITERAL = 0x000
1aaf0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1ab00 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50   { IMAGE_REL_ALP
1ab10 48 41 5f 4c 49 54 55 53 45 20 3d 20 30 78 30 30  HA_LITUSE = 0x00
1ab20 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
1ab30 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  t { IMAGE_REL_AL
1ab40 50 48 41 5f 47 50 44 49 53 50 20 3d 20 30 78 30  PHA_GPDISP = 0x0
1ab50 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  006 }..enum : ui
1ab60 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1ab70 4c 50 48 41 5f 42 52 41 44 44 52 20 3d 20 30 78  LPHA_BRADDR = 0x
1ab80 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0007 }..enum : u
1ab90 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1aba0 41 4c 50 48 41 5f 48 49 4e 54 20 3d 20 30 78 30  ALPHA_HINT = 0x0
1abb0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1abc0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1abd0 4c 50 48 41 5f 49 4e 4c 49 4e 45 5f 52 45 46 4c  LPHA_INLINE_REFL
1abe0 4f 4e 47 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a  ONG = 0x0009 }..
1abf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1ac00 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45  AGE_REL_ALPHA_RE
1ac10 46 48 49 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a  FHI = 0x000A }..
1ac20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1ac30 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45  AGE_REL_ALPHA_RE
1ac40 46 4c 4f 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  FLO = 0x000B }..
1ac50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1ac60 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 50 41  AGE_REL_ALPHA_PA
1ac70 49 52 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65  IR = 0x000C }..e
1ac80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1ac90 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 4d 41 54  GE_REL_ALPHA_MAT
1aca0 43 48 20 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65  CH = 0x000D }..e
1acb0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1acc0 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43  GE_REL_ALPHA_SEC
1acd0 54 49 4f 4e 20 3d 20 30 78 30 30 30 45 20 7d 0d  TION = 0x000E }.
1ace0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1acf0 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 53  MAGE_REL_ALPHA_S
1ad00 45 43 52 45 4c 20 3d 20 30 78 30 30 30 46 20 7d  ECREL = 0x000F }
1ad10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ad20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f  IMAGE_REL_ALPHA_
1ad30 52 45 46 4c 4f 4e 47 4e 42 20 3d 20 30 78 30 30  REFLONGNB = 0x00
1ad40 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
1ad50 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4c  t { IMAGE_REL_AL
1ad60 50 48 41 5f 53 45 43 52 45 4c 4c 4f 20 3d 20 30  PHA_SECRELLO = 0
1ad70 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0011 }..enum : 
1ad80 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1ad90 5f 41 4c 50 48 41 5f 53 45 43 52 45 4c 48 49 20  _ALPHA_SECRELHI 
1ada0 3d 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75 6d  = 0x0012 }..enum
1adb0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1adc0 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 51 33 20  REL_ALPHA_REFQ3 
1add0 3d 20 30 78 30 30 31 33 20 7d 0d 0a 65 6e 75 6d  = 0x0013 }..enum
1ade0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1adf0 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 51 32 20  REL_ALPHA_REFQ2 
1ae00 3d 20 30 78 30 30 31 34 20 7d 0d 0a 65 6e 75 6d  = 0x0014 }..enum
1ae10 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1ae20 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 51 31 20  REL_ALPHA_REFQ1 
1ae30 3d 20 30 78 30 30 31 35 20 7d 0d 0a 65 6e 75 6d  = 0x0015 }..enum
1ae40 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1ae50 52 45 4c 5f 41 4c 50 48 41 5f 47 50 52 45 4c 4c  REL_ALPHA_GPRELL
1ae60 4f 20 3d 20 30 78 30 30 31 36 20 7d 0d 0a 65 6e  O = 0x0016 }..en
1ae70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1ae80 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 47 50 52 45  E_REL_ALPHA_GPRE
1ae90 4c 48 49 20 3d 20 30 78 30 30 31 37 20 7d 0d 0a  LHI = 0x0017 }..
1aea0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1aeb0 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 42  IMAGE_REL_PPC_AB
1aec0 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30 20  SOLUTE = 0x0000 
1aed0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1aee0 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41   IMAGE_REL_PPC_A
1aef0 44 44 52 36 34 20 3d 20 30 78 30 30 30 31 20 7d  DDR64 = 0x0001 }
1af00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1af10 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44  IMAGE_REL_PPC_AD
1af20 44 52 33 32 20 3d 20 30 78 30 30 30 32 20 7d 0d  DR32 = 0x0002 }.
1af30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1af40 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44  MAGE_REL_PPC_ADD
1af50 52 32 34 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  R24 = 0x0003 }..
1af60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1af70 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44 52  AGE_REL_PPC_ADDR
1af80 31 36 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  16 = 0x0004 }..e
1af90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1afa0 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44 52 31  GE_REL_PPC_ADDR1
1afb0 34 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e  4 = 0x0005 }..en
1afc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1afd0 45 5f 52 45 4c 5f 50 50 43 5f 52 45 4c 32 34 20  E_REL_PPC_REL24 
1afe0 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x0006 }..enum
1aff0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b000 52 45 4c 5f 50 50 43 5f 52 45 4c 31 34 20 3d 20  REL_PPC_REL14 = 
1b010 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0007 }..enum :
1b020 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b030 4c 5f 50 50 43 5f 54 4f 43 52 45 4c 31 36 20 3d  L_PPC_TOCREL16 =
1b040 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
1b050 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b060 45 4c 5f 50 50 43 5f 54 4f 43 52 45 4c 31 34 20  EL_PPC_TOCREL14 
1b070 3d 20 30 78 30 30 30 39 20 7d 0d 0a 0d 0a 65 6e  = 0x0009 }....en
1b080 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b090 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44 52 33 32  E_REL_PPC_ADDR32
1b0a0 4e 42 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65  NB = 0x000A }..e
1b0b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b0c0 47 45 5f 52 45 4c 5f 50 50 43 5f 53 45 43 52 45  GE_REL_PPC_SECRE
1b0d0 4c 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e  L = 0x000B }..en
1b0e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b0f0 45 5f 52 45 4c 5f 50 50 43 5f 53 45 43 54 49 4f  E_REL_PPC_SECTIO
1b100 4e 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e  N = 0x000C }..en
1b110 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b120 45 5f 52 45 4c 5f 50 50 43 5f 49 46 47 4c 55 45  E_REL_PPC_IFGLUE
1b130 20 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75   = 0x000D }..enu
1b140 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1b150 5f 52 45 4c 5f 50 50 43 5f 49 4d 47 4c 55 45 20  _REL_PPC_IMGLUE 
1b160 3d 20 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d  = 0x000E }..enum
1b170 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b180 52 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c 31 36  REL_PPC_SECREL16
1b190 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a 65 6e 75   = 0x000F }..enu
1b1a0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1b1b0 5f 52 45 4c 5f 50 50 43 5f 52 45 46 48 49 20 3d  _REL_PPC_REFHI =
1b1c0 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
1b1d0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b1e0 45 4c 5f 50 50 43 5f 52 45 46 4c 4f 20 3d 20 30  EL_PPC_REFLO = 0
1b1f0 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0011 }..enum : 
1b200 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b210 5f 50 50 43 5f 50 41 49 52 20 3d 20 30 78 30 30  _PPC_PAIR = 0x00
1b220 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
1b230 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50  t { IMAGE_REL_PP
1b240 43 5f 53 45 43 52 45 4c 4c 4f 20 3d 20 30 78 30  C_SECRELLO = 0x0
1b250 30 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  013 }..enum : ui
1b260 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50  nt { IMAGE_REL_P
1b270 50 43 5f 53 45 43 52 45 4c 48 49 20 3d 20 30 78  PC_SECRELHI = 0x
1b280 30 30 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0014 }..enum : u
1b290 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b2a0 50 50 43 5f 47 50 52 45 4c 20 3d 20 30 78 30 30  PPC_GPREL = 0x00
1b2b0 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  15 }..enum : uin
1b2c0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50  t { IMAGE_REL_PP
1b2d0 43 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30 31 36  C_TOKEN = 0x0016
1b2e0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1b2f0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50  t { IMAGE_REL_PP
1b300 43 5f 54 59 50 45 4d 41 53 4b 20 3d 20 30 78 30  C_TYPEMASK = 0x0
1b310 30 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0FF }....enum : 
1b320 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b330 5f 50 50 43 5f 4e 45 47 20 3d 20 30 78 30 31 30  _PPC_NEG = 0x010
1b340 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1b350 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43   { IMAGE_REL_PPC
1b360 5f 42 52 54 41 4b 45 4e 20 3d 20 30 78 30 32 30  _BRTAKEN = 0x020
1b370 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1b380 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43   { IMAGE_REL_PPC
1b390 5f 42 52 4e 54 41 4b 45 4e 20 3d 20 30 78 30 34  _BRNTAKEN = 0x04
1b3a0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1b3b0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 50 50  t { IMAGE_REL_PP
1b3c0 43 5f 54 4f 43 44 45 46 4e 20 3d 20 30 78 30 38  C_TOCDEFN = 0x08
1b3d0 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
1b3e0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1b3f0 53 48 33 5f 41 42 53 4f 4c 55 54 45 20 3d 20 30  SH3_ABSOLUTE = 0
1b400 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1b410 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1b420 5f 53 48 33 5f 44 49 52 45 43 54 31 36 20 3d 20  _SH3_DIRECT16 = 
1b430 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
1b440 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b450 4c 5f 53 48 33 5f 44 49 52 45 43 54 33 32 20 3d  L_SH3_DIRECT32 =
1b460 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
1b470 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b480 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38 20 3d  EL_SH3_DIRECT8 =
1b490 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
1b4a0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b4b0 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38 5f 57  EL_SH3_DIRECT8_W
1b4c0 4f 52 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  ORD = 0x0004 }..
1b4d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b4e0 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45  AGE_REL_SH3_DIRE
1b4f0 43 54 38 5f 4c 4f 4e 47 20 3d 20 30 78 30 30 30  CT8_LONG = 0x000
1b500 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
1b510 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33   { IMAGE_REL_SH3
1b520 5f 44 49 52 45 43 54 34 20 3d 20 30 78 30 30 30  _DIRECT4 = 0x000
1b530 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
1b540 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33   { IMAGE_REL_SH3
1b550 5f 44 49 52 45 43 54 34 5f 57 4f 52 44 20 3d 20  _DIRECT4_WORD = 
1b560 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0007 }..enum :
1b570 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b580 4c 5f 53 48 33 5f 44 49 52 45 43 54 34 5f 4c 4f  L_SH3_DIRECT4_LO
1b590 4e 47 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  NG = 0x0008 }..e
1b5a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b5b0 47 45 5f 52 45 4c 5f 53 48 33 5f 50 43 52 45 4c  GE_REL_SH3_PCREL
1b5c0 38 5f 57 4f 52 44 20 3d 20 30 78 30 30 30 39 20  8_WORD = 0x0009 
1b5d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b5e0 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 50   IMAGE_REL_SH3_P
1b5f0 43 52 45 4c 38 5f 4c 4f 4e 47 20 3d 20 30 78 30  CREL8_LONG = 0x0
1b600 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00A }..enum : ui
1b610 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53  nt { IMAGE_REL_S
1b620 48 33 5f 50 43 52 45 4c 31 32 5f 57 4f 52 44 20  H3_PCREL12_WORD 
1b630 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d  = 0x000B }..enum
1b640 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1b650 52 45 4c 5f 53 48 33 5f 53 54 41 52 54 4f 46 5f  REL_SH3_STARTOF_
1b660 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 43  SECTION = 0x000C
1b670 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b680 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f  { IMAGE_REL_SH3_
1b690 53 49 5a 45 4f 46 5f 53 45 43 54 49 4f 4e 20 3d  SIZEOF_SECTION =
1b6a0 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20   0x000D }..enum 
1b6b0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b6c0 45 4c 5f 53 48 33 5f 53 45 43 54 49 4f 4e 20 3d  EL_SH3_SECTION =
1b6d0 20 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d 20   0x000E }..enum 
1b6e0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1b6f0 45 4c 5f 53 48 33 5f 53 45 43 52 45 4c 20 3d 20  EL_SH3_SECREL = 
1b700 30 78 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000F }..enum :
1b710 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1b720 4c 5f 53 48 33 5f 44 49 52 45 43 54 33 32 5f 4e  L_SH3_DIRECT32_N
1b730 42 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  B = 0x0010 }..en
1b740 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b750 45 5f 52 45 4c 5f 53 48 33 5f 47 50 52 45 4c 34  E_REL_SH3_GPREL4
1b760 5f 4c 4f 4e 47 20 3d 20 30 78 30 30 31 31 20 7d  _LONG = 0x0011 }
1b770 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b780 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 54 4f  IMAGE_REL_SH3_TO
1b790 4b 45 4e 20 3d 20 30 78 30 30 31 32 20 7d 0d 0a  KEN = 0x0012 }..
1b7a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b7b0 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 41 42  IMAGE_REL_ARM_AB
1b7c0 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 30 30 20  SOLUTE = 0x0000 
1b7d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b7e0 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 41   IMAGE_REL_ARM_A
1b7f0 44 44 52 33 32 20 3d 20 30 78 30 30 30 31 20 7d  DDR32 = 0x0001 }
1b800 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b810 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 41 44  IMAGE_REL_ARM_AD
1b820 44 52 33 32 4e 42 20 3d 20 30 78 30 30 30 32 20  DR32NB = 0x0002 
1b830 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b840 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 42   IMAGE_REL_ARM_B
1b850 52 41 4e 43 48 32 34 20 3d 20 30 78 30 30 30 33  RANCH24 = 0x0003
1b860 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b870 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f  { IMAGE_REL_ARM_
1b880 42 52 41 4e 43 48 31 31 20 3d 20 30 78 30 30 30  BRANCH11 = 0x000
1b890 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1b8a0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d   { IMAGE_REL_ARM
1b8b0 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 35 20  _TOKEN = 0x0005 
1b8c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b8d0 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 47   IMAGE_REL_ARM_G
1b8e0 50 52 45 4c 31 32 20 3d 20 30 78 30 30 30 36 20  PREL12 = 0x0006 
1b8f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b900 20 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 47   IMAGE_REL_ARM_G
1b910 50 52 45 4c 37 20 3d 20 30 78 30 30 30 37 20 7d  PREL7 = 0x0007 }
1b920 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b930 49 4d 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 42 4c  IMAGE_REL_ARM_BL
1b940 58 32 34 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  X24 = 0x0008 }..
1b950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1b960 41 47 45 5f 52 45 4c 5f 41 52 4d 5f 42 4c 58 31  AGE_REL_ARM_BLX1
1b970 31 20 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e  1 = 0x0009 }..en
1b980 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b990 45 5f 52 45 4c 5f 41 52 4d 5f 53 45 43 54 49 4f  E_REL_ARM_SECTIO
1b9a0 4e 20 3d 20 30 78 30 30 30 45 20 7d 0d 0a 65 6e  N = 0x000E }..en
1b9b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1b9c0 45 5f 52 45 4c 5f 41 52 4d 5f 53 45 43 52 45 4c  E_REL_ARM_SECREL
1b9d0 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a 0d 0a 65   = 0x000F }....e
1b9e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1b9f0 47 45 5f 52 45 4c 5f 41 4d 5f 41 42 53 4f 4c 55  GE_REL_AM_ABSOLU
1ba00 54 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  TE = 0x0000 }..e
1ba10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1ba20 47 45 5f 52 45 4c 5f 41 4d 5f 41 44 44 52 33 32  GE_REL_AM_ADDR32
1ba30 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
1ba40 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1ba50 5f 52 45 4c 5f 41 4d 5f 41 44 44 52 33 32 4e 42  _REL_AM_ADDR32NB
1ba60 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
1ba70 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1ba80 5f 52 45 4c 5f 41 4d 5f 43 41 4c 4c 33 32 20 3d  _REL_AM_CALL32 =
1ba90 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
1baa0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1bab0 45 4c 5f 41 4d 5f 46 55 4e 43 49 4e 46 4f 20 3d  EL_AM_FUNCINFO =
1bac0 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
1bad0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1bae0 45 4c 5f 41 4d 5f 52 45 4c 33 32 5f 31 20 3d 20  EL_AM_REL32_1 = 
1baf0 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0005 }..enum :
1bb00 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1bb10 4c 5f 41 4d 5f 52 45 4c 33 32 5f 32 20 3d 20 30  L_AM_REL32_2 = 0
1bb20 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0006 }..enum : 
1bb30 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1bb40 5f 41 4d 5f 53 45 43 52 45 4c 20 3d 20 30 78 30  _AM_SECREL = 0x0
1bb50 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  007 }..enum : ui
1bb60 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1bb70 4d 5f 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30  M_SECTION = 0x00
1bb80 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1bb90 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d  t { IMAGE_REL_AM
1bba0 5f 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 39 20  _TOKEN = 0x0009 
1bbb0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1bbc0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44   { IMAGE_REL_AMD
1bbd0 36 34 5f 41 42 53 4f 4c 55 54 45 20 3d 20 30 78  64_ABSOLUTE = 0x
1bbe0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1bbf0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1bc00 41 4d 44 36 34 5f 41 44 44 52 36 34 20 3d 20 30  AMD64_ADDR64 = 0
1bc10 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
1bc20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1bc30 5f 41 4d 44 36 34 5f 41 44 44 52 33 32 20 3d 20  _AMD64_ADDR32 = 
1bc40 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
1bc50 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1bc60 4c 5f 41 4d 44 36 34 5f 41 44 44 52 33 32 4e 42  L_AMD64_ADDR32NB
1bc70 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75   = 0x0003 }..enu
1bc80 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bc90 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 45 4c 33 32  _REL_AMD64_REL32
1bca0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
1bcb0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bcc0 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 45 4c 33 32  _REL_AMD64_REL32
1bcd0 5f 31 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65  _1 = 0x0005 }..e
1bce0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1bcf0 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 45 4c  GE_REL_AMD64_REL
1bd00 33 32 5f 32 20 3d 20 30 78 30 30 30 36 20 7d 0d  32_2 = 0x0006 }.
1bd10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1bd20 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52  MAGE_REL_AMD64_R
1bd30 45 4c 33 32 5f 33 20 3d 20 30 78 30 30 30 37 20  EL32_3 = 0x0007 
1bd40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bd50 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34   IMAGE_REL_AMD64
1bd60 5f 52 45 4c 33 32 5f 34 20 3d 20 30 78 30 30 30  _REL32_4 = 0x000
1bd70 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1bd80 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44   { IMAGE_REL_AMD
1bd90 36 34 5f 52 45 4c 33 32 5f 35 20 3d 20 30 78 30  64_REL32_5 = 0x0
1bda0 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  009 }..enum : ui
1bdb0 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 41  nt { IMAGE_REL_A
1bdc0 4d 44 36 34 5f 53 45 43 54 49 4f 4e 20 3d 20 30  MD64_SECTION = 0
1bdd0 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000A }..enum : 
1bde0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1bdf0 5f 41 4d 44 36 34 5f 53 45 43 52 45 4c 20 3d 20  _AMD64_SECREL = 
1be00 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000B }..enum :
1be10 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45   uint { IMAGE_RE
1be20 4c 5f 41 4d 44 36 34 5f 53 45 43 52 45 4c 37 20  L_AMD64_SECREL7 
1be30 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d  = 0x000C }..enum
1be40 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1be50 52 45 4c 5f 41 4d 44 36 34 5f 54 4f 4b 45 4e 20  REL_AMD64_TOKEN 
1be60 3d 20 30 78 30 30 30 44 20 7d 0d 0a 0d 0a 65 6e  = 0x000D }....en
1be70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1be80 45 5f 52 45 4c 5f 49 41 36 34 5f 41 42 53 4f 4c  E_REL_IA64_ABSOL
1be90 55 54 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  UTE = 0x0000 }..
1bea0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1beb0 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d  AGE_REL_IA64_IMM
1bec0 31 34 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  14 = 0x0001 }..e
1bed0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1bee0 47 45 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 32  GE_REL_IA64_IMM2
1bef0 32 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  2 = 0x0002 }..en
1bf00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1bf10 45 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 36 34  E_REL_IA64_IMM64
1bf20 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75   = 0x0003 }..enu
1bf30 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bf40 5f 52 45 4c 5f 49 41 36 34 5f 44 49 52 33 32 20  _REL_IA64_DIR32 
1bf50 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
1bf60 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1bf70 52 45 4c 5f 49 41 36 34 5f 44 49 52 36 34 20 3d  REL_IA64_DIR64 =
1bf80 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20   0x0005 }..enum 
1bf90 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1bfa0 45 4c 5f 49 41 36 34 5f 50 43 52 45 4c 32 31 42  EL_IA64_PCREL21B
1bfb0 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75   = 0x0006 }..enu
1bfc0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1bfd0 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52 45 4c 32  _REL_IA64_PCREL2
1bfe0 31 4d 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65  1M = 0x0007 }..e
1bff0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1c000 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52 45  GE_REL_IA64_PCRE
1c010 4c 32 31 46 20 3d 20 30 78 30 30 30 38 20 7d 0d  L21F = 0x0008 }.
1c020 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1c030 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 47 50  MAGE_REL_IA64_GP
1c040 52 45 4c 32 32 20 3d 20 30 78 30 30 30 39 20 7d  REL22 = 0x0009 }
1c050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c060 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 4c  IMAGE_REL_IA64_L
1c070 54 4f 46 46 32 32 20 3d 20 30 78 30 30 30 41 20  TOFF22 = 0x000A 
1c080 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c090 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f   IMAGE_REL_IA64_
1c0a0 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 42  SECTION = 0x000B
1c0b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c0c0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c0d0 5f 53 45 43 52 45 4c 32 32 20 3d 20 30 78 30 30  _SECREL22 = 0x00
1c0e0 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0C }..enum : uin
1c0f0 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41  t { IMAGE_REL_IA
1c100 36 34 5f 53 45 43 52 45 4c 36 34 49 20 3d 20 30  64_SECREL64I = 0
1c110 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000D }..enum : 
1c120 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1c130 5f 49 41 36 34 5f 53 45 43 52 45 4c 33 32 20 3d  _IA64_SECREL32 =
1c140 20 30 78 30 30 30 45 20 7d 0d 0a 0d 0a 65 6e 75   0x000E }....enu
1c150 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c160 5f 52 45 4c 5f 49 41 36 34 5f 44 49 52 33 32 4e  _REL_IA64_DIR32N
1c170 42 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  B = 0x0010 }..en
1c180 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c190 45 5f 52 45 4c 5f 49 41 36 34 5f 53 52 45 4c 31  E_REL_IA64_SREL1
1c1a0 34 20 3d 20 30 78 30 30 31 31 20 7d 0d 0a 65 6e  4 = 0x0011 }..en
1c1b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c1c0 45 5f 52 45 4c 5f 49 41 36 34 5f 53 52 45 4c 32  E_REL_IA64_SREL2
1c1d0 32 20 3d 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e  2 = 0x0012 }..en
1c1e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c1f0 45 5f 52 45 4c 5f 49 41 36 34 5f 53 52 45 4c 33  E_REL_IA64_SREL3
1c200 32 20 3d 20 30 78 30 30 31 33 20 7d 0d 0a 65 6e  2 = 0x0013 }..en
1c210 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c220 45 5f 52 45 4c 5f 49 41 36 34 5f 55 52 45 4c 33  E_REL_IA64_UREL3
1c230 32 20 3d 20 30 78 30 30 31 34 20 7d 0d 0a 65 6e  2 = 0x0014 }..en
1c240 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c250 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52 45 4c  E_REL_IA64_PCREL
1c260 36 30 58 20 3d 20 30 78 30 30 31 35 20 7d 0d 0a  60X = 0x0015 }..
1c270 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1c280 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52  AGE_REL_IA64_PCR
1c290 45 4c 36 30 42 20 3d 20 30 78 30 30 31 36 20 7d  EL60B = 0x0016 }
1c2a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c2b0 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50  IMAGE_REL_IA64_P
1c2c0 43 52 45 4c 36 30 46 20 3d 20 30 78 30 30 31 37  CREL60F = 0x0017
1c2d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c2e0 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34  { IMAGE_REL_IA64
1c2f0 5f 50 43 52 45 4c 36 30 49 20 3d 20 30 78 30 30  _PCREL60I = 0x00
1c300 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  18 }..enum : uin
1c310 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 49 41  t { IMAGE_REL_IA
1c320 36 34 5f 50 43 52 45 4c 36 30 4d 20 3d 20 30 78  64_PCREL60M = 0x
1c330 30 30 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0019 }..enum : u
1c340 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1c350 49 41 36 34 5f 49 4d 4d 47 50 52 45 4c 36 34 20  IA64_IMMGPREL64 
1c360 3d 20 30 78 30 30 31 41 20 7d 0d 0a 65 6e 75 6d  = 0x001A }..enum
1c370 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c380 52 45 4c 5f 49 41 36 34 5f 54 4f 4b 45 4e 20 3d  REL_IA64_TOKEN =
1c390 20 30 78 30 30 31 42 20 7d 0d 0a 65 6e 75 6d 20   0x001B }..enum 
1c3a0 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52  : uint { IMAGE_R
1c3b0 45 4c 5f 49 41 36 34 5f 47 50 52 45 4c 33 32 20  EL_IA64_GPREL32 
1c3c0 3d 20 30 78 30 30 31 43 20 7d 0d 0a 65 6e 75 6d  = 0x001C }..enum
1c3d0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c3e0 52 45 4c 5f 49 41 36 34 5f 41 44 44 45 4e 44 20  REL_IA64_ADDEND 
1c3f0 3d 20 30 78 30 30 31 46 20 7d 0d 0a 0d 0a 65 6e  = 0x001F }....en
1c400 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c410 45 5f 52 45 4c 5f 43 45 46 5f 41 42 53 4f 4c 55  E_REL_CEF_ABSOLU
1c420 54 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  TE = 0x0000 }..e
1c430 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1c440 47 45 5f 52 45 4c 5f 43 45 46 5f 41 44 44 52 33  GE_REL_CEF_ADDR3
1c450 32 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  2 = 0x0001 }..en
1c460 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c470 45 5f 52 45 4c 5f 43 45 46 5f 41 44 44 52 36 34  E_REL_CEF_ADDR64
1c480 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
1c490 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c4a0 5f 52 45 4c 5f 43 45 46 5f 41 44 44 52 33 32 4e  _REL_CEF_ADDR32N
1c4b0 42 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e  B = 0x0003 }..en
1c4c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c4d0 45 5f 52 45 4c 5f 43 45 46 5f 53 45 43 54 49 4f  E_REL_CEF_SECTIO
1c4e0 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  N = 0x0004 }..en
1c4f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c500 45 5f 52 45 4c 5f 43 45 46 5f 53 45 43 52 45 4c  E_REL_CEF_SECREL
1c510 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75   = 0x0005 }..enu
1c520 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c530 5f 52 45 4c 5f 43 45 46 5f 54 4f 4b 45 4e 20 3d  _REL_CEF_TOKEN =
1c540 20 30 78 30 30 30 36 20 7d 0d 0a 0d 0a 65 6e 75   0x0006 }....enu
1c550 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c560 5f 52 45 4c 5f 43 45 45 5f 41 42 53 4f 4c 55 54  _REL_CEE_ABSOLUT
1c570 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  E = 0x0000 }..en
1c580 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c590 45 5f 52 45 4c 5f 43 45 45 5f 41 44 44 52 33 32  E_REL_CEE_ADDR32
1c5a0 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
1c5b0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c5c0 5f 52 45 4c 5f 43 45 45 5f 41 44 44 52 36 34 20  _REL_CEE_ADDR64 
1c5d0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
1c5e0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c5f0 52 45 4c 5f 43 45 45 5f 41 44 44 52 33 32 4e 42  REL_CEE_ADDR32NB
1c600 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75   = 0x0003 }..enu
1c610 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c620 5f 52 45 4c 5f 43 45 45 5f 53 45 43 54 49 4f 4e  _REL_CEE_SECTION
1c630 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
1c640 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1c650 5f 52 45 4c 5f 43 45 45 5f 53 45 43 52 45 4c 20  _REL_CEE_SECREL 
1c660 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d  = 0x0005 }..enum
1c670 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c680 52 45 4c 5f 43 45 45 5f 54 4f 4b 45 4e 20 3d 20  REL_CEE_TOKEN = 
1c690 30 78 30 30 30 36 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0006 }....enum
1c6a0 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f   : uint { IMAGE_
1c6b0 52 45 4c 5f 4d 33 32 52 5f 41 42 53 4f 4c 55 54  REL_M32R_ABSOLUT
1c6c0 45 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  E = 0x0000 }..en
1c6d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c6e0 45 5f 52 45 4c 5f 4d 33 32 52 5f 41 44 44 52 33  E_REL_M32R_ADDR3
1c6f0 32 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  2 = 0x0001 }..en
1c700 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1c710 45 5f 52 45 4c 5f 4d 33 32 52 5f 41 44 44 52 33  E_REL_M32R_ADDR3
1c720 32 4e 42 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  2NB = 0x0002 }..
1c730 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1c740 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 41 44 44  AGE_REL_M32R_ADD
1c750 52 32 34 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  R24 = 0x0003 }..
1c760 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1c770 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 47 50 52  AGE_REL_M32R_GPR
1c780 45 4c 31 36 20 3d 20 30 78 30 30 30 34 20 7d 0d  EL16 = 0x0004 }.
1c790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1c7a0 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 50 43  MAGE_REL_M32R_PC
1c7b0 52 45 4c 32 34 20 3d 20 30 78 30 30 30 35 20 7d  REL24 = 0x0005 }
1c7c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c7d0 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 50  IMAGE_REL_M32R_P
1c7e0 43 52 45 4c 31 36 20 3d 20 30 78 30 30 30 36 20  CREL16 = 0x0006 
1c7f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c800 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f   IMAGE_REL_M32R_
1c810 50 43 52 45 4c 38 20 3d 20 30 78 30 30 30 37 20  PCREL8 = 0x0007 
1c820 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c830 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f   IMAGE_REL_M32R_
1c840 52 45 46 48 41 4c 46 20 3d 20 30 78 30 30 30 38  REFHALF = 0x0008
1c850 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c860 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52  { IMAGE_REL_M32R
1c870 5f 52 45 46 48 49 20 3d 20 30 78 30 30 30 39 20  _REFHI = 0x0009 
1c880 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c890 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f   IMAGE_REL_M32R_
1c8a0 52 45 46 4c 4f 20 3d 20 30 78 30 30 30 41 20 7d  REFLO = 0x000A }
1c8b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c8c0 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 50  IMAGE_REL_M32R_P
1c8d0 41 49 52 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  AIR = 0x000B }..
1c8e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1c8f0 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 53 45 43  AGE_REL_M32R_SEC
1c900 54 49 4f 4e 20 3d 20 30 78 30 30 30 43 20 7d 0d  TION = 0x000C }.
1c910 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1c920 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 53 45  MAGE_REL_M32R_SE
1c930 43 52 45 4c 33 32 20 3d 20 30 78 30 30 30 44 20  CREL32 = 0x000D 
1c940 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c950 20 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f   IMAGE_REL_M32R_
1c960 54 4f 4b 45 4e 20 3d 20 30 78 30 30 30 45 20 7d  TOKEN = 0x000E }
1c970 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 45  ....// #define E
1c980 58 54 5f 49 4d 4d 36 34 28 56 61 6c 75 65 2c 20  XT_IMM64(Value, 
1c990 41 64 64 72 65 73 73 2c 20 53 69 7a 65 2c 20 49  Address, Size, I
1c9a0 6e 73 74 50 6f 73 2c 20 56 61 6c 50 6f 73 29 20  nstPos, ValPos) 
1c9b0 56 61 6c 75 65 20 7c 3d 20 28 28 28 55 4c 4f 4e  Value |= (((ULON
1c9c0 47 4c 4f 4e 47 29 28 28 2a 28 41 64 64 72 65 73  GLONG)((*(Addres
1c9d0 73 29 20 3e 3e 20 49 6e 73 74 50 6f 73 29 20 26  s) >> InstPos) &
1c9e0 20 28 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29 31 20   (((ULONGLONG)1 
1c9f0 3c 3c 20 53 69 7a 65 29 20 2d 20 31 29 29 29 20  << Size) - 1))) 
1ca00 3c 3c 20 56 61 6c 50 6f 73 29 0d 0a 0d 0a 2f 2f  << ValPos)....//
1ca10 20 23 64 65 66 69 6e 65 20 49 4e 53 5f 49 4d 4d   #define INS_IMM
1ca20 36 34 28 56 61 6c 75 65 2c 20 41 64 64 72 65 73  64(Value, Addres
1ca30 73 2c 20 53 69 7a 65 2c 20 49 6e 73 74 50 6f 73  s, Size, InstPos
1ca40 2c 20 56 61 6c 50 6f 73 29 20 2a 28 50 44 57 4f  , ValPos) *(PDWO
1ca50 52 44 29 41 64 64 72 65 73 73 20 3d 20 28 2a 28  RD)Address = (*(
1ca60 50 44 57 4f 52 44 29 41 64 64 72 65 73 73 20 26  PDWORD)Address &
1ca70 20 7e 28 28 28 31 20 3c 3c 20 53 69 7a 65 29 20   ~(((1 << Size) 
1ca80 2d 20 31 29 20 3c 3c 20 49 6e 73 74 50 6f 73 29  - 1) << InstPos)
1ca90 29 20 7c 20 28 28 44 57 4f 52 44 29 28 28 28 28  ) | ((DWORD)((((
1caa0 55 4c 4f 4e 47 4c 4f 4e 47 29 56 61 6c 75 65 20  ULONGLONG)Value 
1cab0 3e 3e 20 56 61 6c 50 6f 73 29 20 26 20 28 28 28  >> ValPos) & (((
1cac0 55 4c 4f 4e 47 4c 4f 4e 47 29 31 20 3c 3c 20 53  ULONGLONG)1 << S
1cad0 69 7a 65 29 20 2d 20 31 29 29 29 20 3c 3c 20 49  ize) - 1))) << I
1cae0 6e 73 74 50 6f 73 29 0d 0a 0d 0a 65 6e 75 6d 20  nstPos)....enum 
1caf0 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f  : uint { EMARCH_
1cb00 45 4e 43 5f 49 31 37 5f 49 4d 4d 37 42 5f 49 4e  ENC_I17_IMM7B_IN
1cb10 53 54 5f 57 4f 52 44 5f 58 20 3d 20 33 20 7d 0d  ST_WORD_X = 3 }.
1cb20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
1cb30 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d  MARCH_ENC_I17_IM
1cb40 4d 37 42 5f 53 49 5a 45 5f 58 20 3d 20 37 20 7d  M7B_SIZE_X = 7 }
1cb50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1cb60 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1cb70 4d 4d 37 42 5f 49 4e 53 54 5f 57 4f 52 44 5f 50  MM7B_INST_WORD_P
1cb80 4f 53 5f 58 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d  OS_X = 4 }..enum
1cb90 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48   : uint { EMARCH
1cba0 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 37 42 5f 56  _ENC_I17_IMM7B_V
1cbb0 41 4c 5f 50 4f 53 5f 58 20 3d 20 30 20 7d 0d 0a  AL_POS_X = 0 }..
1cbc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1cbd0 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1cbe0 4d 4d 39 44 5f 49 4e 53 54 5f 57 4f 52 44 5f 58  MM9D_INST_WORD_X
1cbf0 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
1cc00 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43  int { EMARCH_ENC
1cc10 5f 49 31 37 5f 49 4d 4d 39 44 5f 53 49 5a 45 5f  _I17_IMM9D_SIZE_
1cc20 58 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  X = 9 }..enum : 
1cc30 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e  uint { EMARCH_EN
1cc40 43 5f 49 31 37 5f 49 4d 4d 39 44 5f 49 4e 53 54  C_I17_IMM9D_INST
1cc50 5f 57 4f 52 44 5f 50 4f 53 5f 58 20 3d 20 31 38  _WORD_POS_X = 18
1cc60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1cc70 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37  { EMARCH_ENC_I17
1cc80 5f 49 4d 4d 39 44 5f 56 41 4c 5f 50 4f 53 5f 58  _IMM9D_VAL_POS_X
1cc90 20 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 7 }....enum :
1cca0 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45   uint { EMARCH_E
1ccb0 4e 43 5f 49 31 37 5f 49 4d 4d 35 43 5f 49 4e 53  NC_I17_IMM5C_INS
1ccc0 54 5f 57 4f 52 44 5f 58 20 3d 20 33 20 7d 0d 0a  T_WORD_X = 3 }..
1ccd0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
1cce0 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d  ARCH_ENC_I17_IMM
1ccf0 35 43 5f 53 49 5a 45 5f 58 20 3d 20 35 20 7d 0d  5C_SIZE_X = 5 }.
1cd00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
1cd10 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d  MARCH_ENC_I17_IM
1cd20 4d 35 43 5f 49 4e 53 54 5f 57 4f 52 44 5f 50 4f  M5C_INST_WORD_PO
1cd30 53 5f 58 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d  S_X = 13 }..enum
1cd40 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48   : uint { EMARCH
1cd50 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 35 43 5f 56  _ENC_I17_IMM5C_V
1cd60 41 4c 5f 50 4f 53 5f 58 20 3d 20 31 36 20 7d 0d  AL_POS_X = 16 }.
1cd70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1cd80 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f   EMARCH_ENC_I17_
1cd90 49 43 5f 49 4e 53 54 5f 57 4f 52 44 5f 58 20 3d  IC_INST_WORD_X =
1cda0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
1cdb0 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49  t { EMARCH_ENC_I
1cdc0 31 37 5f 49 43 5f 53 49 5a 45 5f 58 20 3d 20 31  17_IC_SIZE_X = 1
1cdd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1cde0 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37  { EMARCH_ENC_I17
1cdf0 5f 49 43 5f 49 4e 53 54 5f 57 4f 52 44 5f 50 4f  _IC_INST_WORD_PO
1ce00 53 5f 58 20 3d 20 31 32 20 7d 0d 0a 65 6e 75 6d  S_X = 12 }..enum
1ce10 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48   : uint { EMARCH
1ce20 5f 45 4e 43 5f 49 31 37 5f 49 43 5f 56 41 4c 5f  _ENC_I17_IC_VAL_
1ce30 50 4f 53 5f 58 20 3d 20 32 31 20 7d 0d 0a 0d 0a  POS_X = 21 }....
1ce40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
1ce50 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d  ARCH_ENC_I17_IMM
1ce60 34 31 61 5f 49 4e 53 54 5f 57 4f 52 44 5f 58 20  41a_INST_WORD_X 
1ce70 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
1ce80 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f  nt { EMARCH_ENC_
1ce90 49 31 37 5f 49 4d 4d 34 31 61 5f 53 49 5a 45 5f  I17_IMM41a_SIZE_
1cea0 58 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  X = 10 }..enum :
1ceb0 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45   uint { EMARCH_E
1cec0 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 61 5f 49 4e  NC_I17_IMM41a_IN
1ced0 53 54 5f 57 4f 52 44 5f 50 4f 53 5f 58 20 3d 20  ST_WORD_POS_X = 
1cee0 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  14 }..enum : uin
1cef0 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49  t { EMARCH_ENC_I
1cf00 31 37 5f 49 4d 4d 34 31 61 5f 56 41 4c 5f 50 4f  17_IMM41a_VAL_PO
1cf10 53 5f 58 20 3d 20 32 32 20 7d 0d 0a 0d 0a 65 6e  S_X = 22 }....en
1cf20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52  um : uint { EMAR
1cf30 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31  CH_ENC_I17_IMM41
1cf40 62 5f 49 4e 53 54 5f 57 4f 52 44 5f 58 20 3d 20  b_INST_WORD_X = 
1cf50 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1cf60 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31   { EMARCH_ENC_I1
1cf70 37 5f 49 4d 4d 34 31 62 5f 53 49 5a 45 5f 58 20  7_IMM41b_SIZE_X 
1cf80 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 8 }..enum : ui
1cf90 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f  nt { EMARCH_ENC_
1cfa0 49 31 37 5f 49 4d 4d 34 31 62 5f 49 4e 53 54 5f  I17_IMM41b_INST_
1cfb0 57 4f 52 44 5f 50 4f 53 5f 58 20 3d 20 32 34 20  WORD_POS_X = 24 
1cfc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1cfd0 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f   EMARCH_ENC_I17_
1cfe0 49 4d 4d 34 31 62 5f 56 41 4c 5f 50 4f 53 5f 58  IMM41b_VAL_POS_X
1cff0 20 3d 20 33 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   = 32 }....enum 
1d000 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f  : uint { EMARCH_
1d010 45 4e 43 5f 49 31 37 5f 49 4d 4d 34 31 63 5f 49  ENC_I17_IMM41c_I
1d020 4e 53 54 5f 57 4f 52 44 5f 58 20 3d 20 32 20 7d  NST_WORD_X = 2 }
1d030 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1d040 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49  EMARCH_ENC_I17_I
1d050 4d 4d 34 31 63 5f 53 49 5a 45 5f 58 20 3d 20 32  MM41c_SIZE_X = 2
1d060 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1d070 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f 49 31   { EMARCH_ENC_I1
1d080 37 5f 49 4d 4d 34 31 63 5f 49 4e 53 54 5f 57 4f  7_IMM41c_INST_WO
1d090 52 44 5f 50 4f 53 5f 58 20 3d 20 30 20 7d 0d 0a  RD_POS_X = 0 }..
1d0a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
1d0b0 41 52 43 48 5f 45 4e 43 5f 49 31 37 5f 49 4d 4d  ARCH_ENC_I17_IMM
1d0c0 34 31 63 5f 56 41 4c 5f 50 4f 53 5f 58 20 3d 20  41c_VAL_POS_X = 
1d0d0 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  40 }....enum : u
1d0e0 69 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43  int { EMARCH_ENC
1d0f0 5f 49 31 37 5f 53 49 47 4e 5f 49 4e 53 54 5f 57  _I17_SIGN_INST_W
1d100 4f 52 44 5f 58 20 3d 20 33 20 7d 0d 0a 65 6e 75  ORD_X = 3 }..enu
1d110 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43  m : uint { EMARC
1d120 48 5f 45 4e 43 5f 49 31 37 5f 53 49 47 4e 5f 53  H_ENC_I17_SIGN_S
1d130 49 5a 45 5f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75  IZE_X = 1 }..enu
1d140 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 41 52 43  m : uint { EMARC
1d150 48 5f 45 4e 43 5f 49 31 37 5f 53 49 47 4e 5f 49  H_ENC_I17_SIGN_I
1d160 4e 53 54 5f 57 4f 52 44 5f 50 4f 53 5f 58 20 3d  NST_WORD_POS_X =
1d170 20 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   27 }..enum : ui
1d180 6e 74 20 7b 20 45 4d 41 52 43 48 5f 45 4e 43 5f  nt { EMARCH_ENC_
1d190 49 31 37 5f 53 49 47 4e 5f 56 41 4c 5f 50 4f 53  I17_SIGN_VAL_POS
1d1a0 5f 58 20 3d 20 36 33 20 7d 0d 0a 0d 0a 73 74 72  _X = 63 }....str
1d1b0 75 63 74 20 5f 49 4d 41 47 45 5f 4c 49 4e 45 4e  uct _IMAGE_LINEN
1d1c0 55 4d 42 45 52 20 7b 0d 0a 75 6e 69 6f 6e 20 7b  UMBER {..union {
1d1d0 0d 0a 20 20 44 57 4f 52 44 20 53 79 6d 62 6f 6c  ..  DWORD Symbol
1d1e0 54 61 62 6c 65 49 6e 64 65 78 3b 0d 0a 20 20 44  TableIndex;..  D
1d1f0 57 4f 52 44 20 56 69 72 74 75 61 6c 41 64 64 72  WORD VirtualAddr
1d200 65 73 73 3b 0d 0a 7d 0d 0a 0d 0a 20 20 57 4f 52  ess;..}....  WOR
1d210 44 20 4c 69 6e 65 6e 75 6d 62 65 72 3b 0d 0a 7d  D Linenumber;..}
1d220 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 4c  ..alias _IMAGE_L
1d230 49 4e 45 4e 55 4d 42 45 52 20 49 4d 41 47 45 5f  INENUMBER IMAGE_
1d240 4c 49 4e 45 4e 55 4d 42 45 52 3b 0d 0a 0d 0a 61  LINENUMBER;....a
1d250 6c 69 61 73 20 49 4d 41 47 45 5f 4c 49 4e 45 4e  lias IMAGE_LINEN
1d260 55 4d 42 45 52 2a 20 50 49 4d 41 47 45 5f 4c 49  UMBER* PIMAGE_LI
1d270 4e 45 4e 55 4d 42 45 52 3b 0d 0a 0d 0a 65 6e 75  NENUMBER;....enu
1d280 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1d290 5f 53 49 5a 45 4f 46 5f 4c 49 4e 45 4e 55 4d 42  _SIZEOF_LINENUMB
1d2a0 45 52 20 3d 20 36 20 7d 0d 0a 0d 0a 2f 2f 20 23  ER = 6 }....// #
1d2b0 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 61 6c 69  ifndef _MAC..ali
1d2c0 67 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  gn:..// #endif..
1d2d0 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
1d2e0 42 41 53 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 20  BASE_RELOCATION 
1d2f0 7b 0d 0a 20 20 44 57 4f 52 44 20 56 69 72 74 75  {..  DWORD Virtu
1d300 61 6c 41 64 64 72 65 73 73 3b 0d 0a 20 20 44 57  alAddress;..  DW
1d310 4f 52 44 20 53 69 7a 65 4f 66 42 6c 6f 63 6b 3b  ORD SizeOfBlock;
1d320 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  ..}..alias _IMAG
1d330 45 5f 42 41 53 45 5f 52 45 4c 4f 43 41 54 49 4f  E_BASE_RELOCATIO
1d340 4e 20 49 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c  N IMAGE_BASE_REL
1d350 4f 43 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61  OCATION;....alia
1d360 73 20 49 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c  s IMAGE_BASE_REL
1d370 4f 43 41 54 49 4f 4e 2a 20 50 49 4d 41 47 45 5f  OCATION* PIMAGE_
1d380 42 41 53 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b  BASE_RELOCATION;
1d390 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1d3a0 7b 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 42  { IMAGE_SIZEOF_B
1d3b0 41 53 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 20 3d  ASE_RELOCATION =
1d3c0 20 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   8 }....enum : u
1d3d0 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f  int { IMAGE_REL_
1d3e0 42 41 53 45 44 5f 41 42 53 4f 4c 55 54 45 20 3d  BASED_ABSOLUTE =
1d3f0 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
1d400 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 42 41  t { IMAGE_REL_BA
1d410 53 45 44 5f 48 49 47 48 20 3d 20 31 20 7d 0d 0a  SED_HIGH = 1 }..
1d420 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1d430 41 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 4c 4f  AGE_REL_BASED_LO
1d440 57 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  W = 2 }..enum : 
1d450 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1d460 5f 42 41 53 45 44 5f 48 49 47 48 4c 4f 57 20 3d  _BASED_HIGHLOW =
1d470 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
1d480 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 42 41  t { IMAGE_REL_BA
1d490 53 45 44 5f 48 49 47 48 41 44 4a 20 3d 20 34 20  SED_HIGHADJ = 4 
1d4a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1d4b0 20 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44   IMAGE_REL_BASED
1d4c0 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 52 20 3d 20  _MIPS_JMPADDR = 
1d4d0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
1d4e0 20 7b 20 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53   { IMAGE_REL_BAS
1d4f0 45 44 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 52 31  ED_MIPS_JMPADDR1
1d500 36 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  6 = 9 }..enum : 
1d510 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1d520 5f 42 41 53 45 44 5f 49 41 36 34 5f 49 4d 4d 36  _BASED_IA64_IMM6
1d530 34 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  4 = 9 }..enum : 
1d540 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 52 45 4c  uint { IMAGE_REL
1d550 5f 42 41 53 45 44 5f 44 49 52 36 34 20 3d 20 31  _BASED_DIR64 = 1
1d560 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
1d570 6e 74 20 7b 20 49 4d 41 47 45 5f 41 52 43 48 49  nt { IMAGE_ARCHI
1d580 56 45 5f 53 54 41 52 54 5f 53 49 5a 45 20 3d 20  VE_START_SIZE = 
1d590 38 20 7d 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b  8 }..const char[
1d5a0 5d 20 49 4d 41 47 45 5f 41 52 43 48 49 56 45 5f  ] IMAGE_ARCHIVE_
1d5b0 53 54 41 52 54 20 3d 20 22 21 3c 61 72 63 68 3e  START = "!<arch>
1d5c0 5c 6e 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72  \n";..const char
1d5d0 5b 5d 20 49 4d 41 47 45 5f 41 52 43 48 49 56 45  [] IMAGE_ARCHIVE
1d5e0 5f 45 4e 44 20 3d 20 22 60 5c 6e 22 3b 0d 0a 63  _END = "`\n";..c
1d5f0 6f 6e 73 74 20 63 68 61 72 5b 5d 20 49 4d 41 47  onst char[] IMAG
1d600 45 5f 41 52 43 48 49 56 45 5f 50 41 44 20 3d 20  E_ARCHIVE_PAD = 
1d610 22 5c 6e 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61  "\n";..const cha
1d620 72 5b 5d 20 49 4d 41 47 45 5f 41 52 43 48 49 56  r[] IMAGE_ARCHIV
1d630 45 5f 4c 49 4e 4b 45 52 5f 4d 45 4d 42 45 52 20  E_LINKER_MEMBER 
1d640 3d 20 22 2f 20 22 3b 0d 0a 63 6f 6e 73 74 20 63  = "/ ";..const c
1d650 68 61 72 5b 5d 20 49 4d 41 47 45 5f 41 52 43 48  har[] IMAGE_ARCH
1d660 49 56 45 5f 4c 4f 4e 47 4e 41 4d 45 53 5f 4d 45  IVE_LONGNAMES_ME
1d670 4d 42 45 52 20 3d 20 22 2f 2f 20 22 3b 0d 0a 0d  MBER = "// ";...
1d680 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 41  .struct _IMAGE_A
1d690 52 43 48 49 56 45 5f 4d 45 4d 42 45 52 5f 48 45  RCHIVE_MEMBER_HE
1d6a0 41 44 45 52 20 7b 0d 0a 20 20 42 59 54 45 20 4e  ADER {..  BYTE N
1d6b0 61 6d 65 5b 31 36 5d 3b 0d 0a 20 20 42 59 54 45  ame[16];..  BYTE
1d6c0 20 44 61 74 65 5b 31 32 5d 3b 0d 0a 20 20 42 59   Date[12];..  BY
1d6d0 54 45 20 55 73 65 72 49 44 5b 36 5d 3b 0d 0a 20  TE UserID[6];.. 
1d6e0 20 42 59 54 45 20 47 72 6f 75 70 49 44 5b 36 5d   BYTE GroupID[6]
1d6f0 3b 0d 0a 20 20 42 59 54 45 20 4d 6f 64 65 5b 38  ;..  BYTE Mode[8
1d700 5d 3b 0d 0a 20 20 42 59 54 45 20 53 69 7a 65 5b  ];..  BYTE Size[
1d710 31 30 5d 3b 0d 0a 20 20 42 59 54 45 20 45 6e 64  10];..  BYTE End
1d720 48 65 61 64 65 72 5b 32 5d 3b 0d 0a 7d 0d 0a 61  Header[2];..}..a
1d730 6c 69 61 73 20 5f 49 4d 41 47 45 5f 41 52 43 48  lias _IMAGE_ARCH
1d740 49 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45  IVE_MEMBER_HEADE
1d750 52 20 49 4d 41 47 45 5f 41 52 43 48 49 56 45 5f  R IMAGE_ARCHIVE_
1d760 4d 45 4d 42 45 52 5f 48 45 41 44 45 52 3b 0d 0a  MEMBER_HEADER;..
1d770 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 41 52 43  alias _IMAGE_ARC
1d780 48 49 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44  HIVE_MEMBER_HEAD
1d790 45 52 2a 20 50 49 4d 41 47 45 5f 41 52 43 48 49  ER* PIMAGE_ARCHI
1d7a0 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52  VE_MEMBER_HEADER
1d7b0 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
1d7c0 20 7b 20 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f   { IMAGE_SIZEOF_
1d7d0 41 52 43 48 49 56 45 5f 4d 45 4d 42 45 52 5f 48  ARCHIVE_MEMBER_H
1d7e0 44 52 20 3d 20 36 30 20 7d 0d 0a 0d 0a 73 74 72  DR = 60 }....str
1d7f0 75 63 74 20 5f 49 4d 41 47 45 5f 45 58 50 4f 52  uct _IMAGE_EXPOR
1d800 54 5f 44 49 52 45 43 54 4f 52 59 20 7b 0d 0a 20  T_DIRECTORY {.. 
1d810 20 44 57 4f 52 44 20 43 68 61 72 61 63 74 65 72   DWORD Character
1d820 69 73 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52 44  istics;..  DWORD
1d830 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d   TimeDateStamp;.
1d840 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72 56 65 72  .  WORD MajorVer
1d850 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 69  sion;..  WORD Mi
1d860 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44  norVersion;..  D
1d870 57 4f 52 44 20 4e 61 6d 65 3b 0d 0a 20 20 44 57  WORD Name;..  DW
1d880 4f 52 44 20 42 61 73 65 3b 0d 0a 20 20 44 57 4f  ORD Base;..  DWO
1d890 52 44 20 4e 75 6d 62 65 72 4f 66 46 75 6e 63 74  RD NumberOfFunct
1d8a0 69 6f 6e 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4e  ions;..  DWORD N
1d8b0 75 6d 62 65 72 4f 66 4e 61 6d 65 73 3b 0d 0a 20  umberOfNames;.. 
1d8c0 20 44 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66   DWORD AddressOf
1d8d0 46 75 6e 63 74 69 6f 6e 73 3b 0d 0a 20 20 44 57  Functions;..  DW
1d8e0 4f 52 44 20 41 64 64 72 65 73 73 4f 66 4e 61 6d  ORD AddressOfNam
1d8f0 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64 64  es;..  DWORD Add
1d900 72 65 73 73 4f 66 4e 61 6d 65 4f 72 64 69 6e 61  ressOfNameOrdina
1d910 6c 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  ls;..}..alias _I
1d920 4d 41 47 45 5f 45 58 50 4f 52 54 5f 44 49 52 45  MAGE_EXPORT_DIRE
1d930 43 54 4f 52 59 20 49 4d 41 47 45 5f 45 58 50 4f  CTORY IMAGE_EXPO
1d940 52 54 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 61  RT_DIRECTORY;..a
1d950 6c 69 61 73 20 5f 49 4d 41 47 45 5f 45 58 50 4f  lias _IMAGE_EXPO
1d960 52 54 5f 44 49 52 45 43 54 4f 52 59 2a 20 50 49  RT_DIRECTORY* PI
1d970 4d 41 47 45 5f 45 58 50 4f 52 54 5f 44 49 52 45  MAGE_EXPORT_DIRE
1d980 43 54 4f 52 59 3b 0d 0a 0d 0a 73 74 72 75 63 74  CTORY;....struct
1d990 20 5f 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 42   _IMAGE_IMPORT_B
1d9a0 59 5f 4e 41 4d 45 20 7b 0d 0a 20 20 57 4f 52 44  Y_NAME {..  WORD
1d9b0 20 48 69 6e 74 3b 0d 0a 20 20 42 59 54 45 20 4e   Hint;..  BYTE N
1d9c0 61 6d 65 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ame[1];..}..alia
1d9d0 73 20 5f 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f  s _IMAGE_IMPORT_
1d9e0 42 59 5f 4e 41 4d 45 20 49 4d 41 47 45 5f 49 4d  BY_NAME IMAGE_IM
1d9f0 50 4f 52 54 5f 42 59 5f 4e 41 4d 45 3b 0d 0a 61  PORT_BY_NAME;..a
1da00 6c 69 61 73 20 5f 49 4d 41 47 45 5f 49 4d 50 4f  lias _IMAGE_IMPO
1da10 52 54 5f 42 59 5f 4e 41 4d 45 2a 20 50 49 4d 41  RT_BY_NAME* PIMA
1da20 47 45 5f 49 4d 50 4f 52 54 5f 42 59 5f 4e 41 4d  GE_IMPORT_BY_NAM
1da30 45 3b 0d 0a 0d 0a 61 6c 69 67 6e 28 38 29 3a 0d  E;....align(8):.
1da40 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45  ...struct _IMAGE
1da50 5f 54 48 55 4e 4b 5f 44 41 54 41 36 34 20 7b 0d  _THUNK_DATA64 {.
1da60 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55 4c 4f 4e  .union {..  ULON
1da70 47 4c 4f 4e 47 20 46 6f 72 77 61 72 64 65 72 53  GLONG ForwarderS
1da80 74 72 69 6e 67 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  tring;..  ULONGL
1da90 4f 4e 47 20 46 75 6e 63 74 69 6f 6e 3b 0d 0a 20  ONG Function;.. 
1daa0 20 55 4c 4f 4e 47 4c 4f 4e 47 20 4f 72 64 69 6e   ULONGLONG Ordin
1dab0 61 6c 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  al;..  ULONGLONG
1dac0 20 41 64 64 72 65 73 73 4f 66 44 61 74 61 3b 0d   AddressOfData;.
1dad0 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  .}....}..alias _
1dae0 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41  IMAGE_THUNK_DATA
1daf0 36 34 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44  64 IMAGE_THUNK_D
1db00 41 54 41 36 34 3b 0d 0a 0d 0a 61 6c 69 61 73 20  ATA64;....alias 
1db10 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41  IMAGE_THUNK_DATA
1db20 36 34 2a 20 50 49 4d 41 47 45 5f 54 48 55 4e 4b  64* PIMAGE_THUNK
1db30 5f 44 41 54 41 36 34 3b 0d 0a 0d 0a 61 6c 69 67  _DATA64;....alig
1db40 6e 3a 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d  n:....struct _IM
1db50 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33 32  AGE_THUNK_DATA32
1db60 20 7b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 44   {..union {..  D
1db70 57 4f 52 44 20 46 6f 72 77 61 72 64 65 72 53 74  WORD ForwarderSt
1db80 72 69 6e 67 3b 0d 0a 20 20 44 57 4f 52 44 20 46  ring;..  DWORD F
1db90 75 6e 63 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52  unction;..  DWOR
1dba0 44 20 4f 72 64 69 6e 61 6c 3b 0d 0a 20 20 44 57  D Ordinal;..  DW
1dbb0 4f 52 44 20 41 64 64 72 65 73 73 4f 66 44 61 74  ORD AddressOfDat
1dbc0 61 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61  a;..}....}..alia
1dbd0 73 20 5f 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44  s _IMAGE_THUNK_D
1dbe0 41 54 41 33 32 20 49 4d 41 47 45 5f 54 48 55 4e  ATA32 IMAGE_THUN
1dbf0 4b 5f 44 41 54 41 33 32 3b 0d 0a 0d 0a 61 6c 69  K_DATA32;....ali
1dc00 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44  as IMAGE_THUNK_D
1dc10 41 54 41 33 32 2a 20 50 49 4d 41 47 45 5f 54 48  ATA32* PIMAGE_TH
1dc20 55 4e 4b 5f 44 41 54 41 33 32 3b 0d 0a 0d 0a 63  UNK_DATA32;....c
1dc30 6f 6e 73 74 20 75 6c 6f 6e 67 20 49 4d 41 47 45  onst ulong IMAGE
1dc40 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 36 34 20  _ORDINAL_FLAG64 
1dc50 3d 20 30 78 38 30 30 30 30 30 30 30 30 30 30 30  = 0x800000000000
1dc60 30 30 30 30 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69  0000;..enum : ui
1dc70 6e 74 20 7b 20 49 4d 41 47 45 5f 4f 52 44 49 4e  nt { IMAGE_ORDIN
1dc80 41 4c 5f 46 4c 41 47 33 32 20 3d 20 30 78 38 30  AL_FLAG32 = 0x80
1dc90 30 30 30 30 30 30 20 7d 0d 0a 75 6c 6f 6e 67 20  000000 }..ulong 
1dca0 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 36 34 28  IMAGE_ORDINAL64(
1dcb0 75 6c 6f 6e 67 20 4f 72 64 69 6e 61 6c 29 7b 20  ulong Ordinal){ 
1dcc0 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c 20 26  return Ordinal &
1dcd0 20 30 78 66 66 66 66 3b 20 7d 0d 0a 75 69 6e 74   0xffff; }..uint
1dce0 20 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 33 32   IMAGE_ORDINAL32
1dcf0 28 75 69 6e 74 20 4f 72 64 69 6e 61 6c 29 7b 20  (uint Ordinal){ 
1dd00 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c 20 26  return Ordinal &
1dd10 20 30 78 66 66 66 66 3b 20 7d 0d 0a 62 69 74 20   0xffff; }..bit 
1dd20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 59 5f 4f 52  IMAGE_SNAP_BY_OR
1dd30 44 49 4e 41 4c 36 34 28 75 6c 6f 6e 67 20 4f 72  DINAL64(ulong Or
1dd40 64 69 6e 61 6c 29 7b 20 72 65 74 75 72 6e 20 28  dinal){ return (
1dd50 4f 72 64 69 6e 61 6c 20 26 20 49 4d 41 47 45 5f  Ordinal & IMAGE_
1dd60 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 36 34 29 20  ORDINAL_FLAG64) 
1dd70 21 3d 20 30 3b 20 7d 0d 0a 62 69 74 20 49 4d 41  != 0; }..bit IMA
1dd80 47 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e  GE_SNAP_BY_ORDIN
1dd90 41 4c 33 32 28 75 69 6e 74 20 4f 72 64 69 6e 61  AL32(uint Ordina
1dda0 6c 29 7b 20 72 65 74 75 72 6e 20 28 4f 72 64 69  l){ return (Ordi
1ddb0 6e 61 6c 20 26 20 49 4d 41 47 45 5f 4f 52 44 49  nal & IMAGE_ORDI
1ddc0 4e 41 4c 5f 46 4c 41 47 33 32 29 20 21 3d 20 30  NAL_FLAG32) != 0
1ddd0 3b 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ; }....extern(Wi
1dde0 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f 49  ndows) alias VOI
1ddf0 44 20 66 75 6e 63 74 69 6f 6e 28 20 50 56 4f 49  D function( PVOI
1de00 44 20 44 6c 6c 48 61 6e 64 6c 65 2c 20 44 57 4f  D DllHandle, DWO
1de10 52 44 20 52 65 61 73 6f 6e 2c 20 50 56 4f 49 44  RD Reason, PVOID
1de20 20 52 65 73 65 72 76 65 64 20 29 20 50 49 4d 41   Reserved ) PIMA
1de30 47 45 5f 54 4c 53 5f 43 41 4c 4c 42 41 43 4b 3b  GE_TLS_CALLBACK;
1de40 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
1de50 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36  E_TLS_DIRECTORY6
1de60 34 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  4 {..  ULONGLONG
1de70 20 53 74 61 72 74 41 64 64 72 65 73 73 4f 66 52   StartAddressOfR
1de80 61 77 44 61 74 61 3b 0d 0a 20 20 55 4c 4f 4e 47  awData;..  ULONG
1de90 4c 4f 4e 47 20 45 6e 64 41 64 64 72 65 73 73 4f  LONG EndAddressO
1dea0 66 52 61 77 44 61 74 61 3b 0d 0a 20 20 55 4c 4f  fRawData;..  ULO
1deb0 4e 47 4c 4f 4e 47 20 41 64 64 72 65 73 73 4f 66  NGLONG AddressOf
1dec0 49 6e 64 65 78 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  Index;..  ULONGL
1ded0 4f 4e 47 20 41 64 64 72 65 73 73 4f 66 43 61 6c  ONG AddressOfCal
1dee0 6c 42 61 63 6b 73 3b 0d 0a 20 20 44 57 4f 52 44  lBacks;..  DWORD
1def0 20 53 69 7a 65 4f 66 5a 65 72 6f 46 69 6c 6c 3b   SizeOfZeroFill;
1df00 0d 0a 20 20 44 57 4f 52 44 20 43 68 61 72 61 63  ..  DWORD Charac
1df10 74 65 72 69 73 74 69 63 73 3b 0d 0a 7d 0d 0a 61  teristics;..}..a
1df20 6c 69 61 73 20 5f 49 4d 41 47 45 5f 54 4c 53 5f  lias _IMAGE_TLS_
1df30 44 49 52 45 43 54 4f 52 59 36 34 20 49 4d 41 47  DIRECTORY64 IMAG
1df40 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36  E_TLS_DIRECTORY6
1df50 34 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47  4;....alias IMAG
1df60 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36  E_TLS_DIRECTORY6
1df70 34 2a 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44 49  4* PIMAGE_TLS_DI
1df80 52 45 43 54 4f 52 59 36 34 3b 0d 0a 0d 0a 73 74  RECTORY64;....st
1df90 72 75 63 74 20 5f 49 4d 41 47 45 5f 54 4c 53 5f  ruct _IMAGE_TLS_
1dfa0 44 49 52 45 43 54 4f 52 59 33 32 20 7b 0d 0a 20  DIRECTORY32 {.. 
1dfb0 20 44 57 4f 52 44 20 53 74 61 72 74 41 64 64 72   DWORD StartAddr
1dfc0 65 73 73 4f 66 52 61 77 44 61 74 61 3b 0d 0a 20  essOfRawData;.. 
1dfd0 20 44 57 4f 52 44 20 45 6e 64 41 64 64 72 65 73   DWORD EndAddres
1dfe0 73 4f 66 52 61 77 44 61 74 61 3b 0d 0a 20 20 44  sOfRawData;..  D
1dff0 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66 49 6e  WORD AddressOfIn
1e000 64 65 78 3b 0d 0a 20 20 44 57 4f 52 44 20 41 64  dex;..  DWORD Ad
1e010 64 72 65 73 73 4f 66 43 61 6c 6c 42 61 63 6b 73  dressOfCallBacks
1e020 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f  ;..  DWORD SizeO
1e030 66 5a 65 72 6f 46 69 6c 6c 3b 0d 0a 20 20 44 57  fZeroFill;..  DW
1e040 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73 74  ORD Characterist
1e050 69 63 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ics;..}..alias _
1e060 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54  IMAGE_TLS_DIRECT
1e070 4f 52 59 33 32 20 49 4d 41 47 45 5f 54 4c 53 5f  ORY32 IMAGE_TLS_
1e080 44 49 52 45 43 54 4f 52 59 33 32 3b 0d 0a 0d 0a  DIRECTORY32;....
1e090 61 6c 69 61 73 20 49 4d 41 47 45 5f 54 4c 53 5f  alias IMAGE_TLS_
1e0a0 44 49 52 45 43 54 4f 52 59 33 32 2a 20 50 49 4d  DIRECTORY32* PIM
1e0b0 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52  AGE_TLS_DIRECTOR
1e0c0 59 33 32 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  Y32;....// #ifde
1e0d0 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23 2e 2e  f _WIN64..// #..
1e0e0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e  ...// #.....// .
1e0f0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
1e100 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
1e110 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49 4e  lias IMAGE_ORDIN
1e120 41 4c 5f 46 4c 41 47 33 32 20 49 4d 41 47 45 5f  AL_FLAG32 IMAGE_
1e130 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 3b 0d 0a 61  ORDINAL_FLAG;..a
1e140 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49 4e  lias IMAGE_ORDIN
1e150 41 4c 33 32 20 49 4d 41 47 45 5f 4f 52 44 49 4e  AL32 IMAGE_ORDIN
1e160 41 4c 3b 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  AL;..alias IMAGE
1e170 5f 54 48 55 4e 4b 5f 44 41 54 41 33 32 20 49 4d  _THUNK_DATA32 IM
1e180 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 3b 0d  AGE_THUNK_DATA;.
1e190 0a 61 6c 69 61 73 20 50 49 4d 41 47 45 5f 54 48  .alias PIMAGE_TH
1e1a0 55 4e 4b 5f 44 41 54 41 33 32 20 50 49 4d 41 47  UNK_DATA32 PIMAG
1e1b0 45 5f 54 48 55 4e 4b 5f 44 41 54 41 3b 0d 0a 61  E_THUNK_DATA;..a
1e1c0 6c 69 61 73 20 49 4d 41 47 45 5f 53 4e 41 50 5f  lias IMAGE_SNAP_
1e1d0 42 59 5f 4f 52 44 49 4e 41 4c 33 32 20 49 4d 41  BY_ORDINAL32 IMA
1e1e0 47 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e  GE_SNAP_BY_ORDIN
1e1f0 41 4c 3b 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  AL;..alias IMAGE
1e200 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33 32  _TLS_DIRECTORY32
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 3b 0d 0a 61 6c 69 61 73 20 50 49 4d  TORY;..alias PIM
1e230 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52  AGE_TLS_DIRECTOR
1e240 59 33 32 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44  Y32 PIMAGE_TLS_D
1e250 49 52 45 43 54 4f 52 59 3b 0d 0a 2f 2f 20 23 65  IRECTORY;..// #e
1e260 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ndif....struct _
1e270 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 44 45 53  IMAGE_IMPORT_DES
1e280 43 52 49 50 54 4f 52 20 7b 0d 0a 75 6e 69 6f 6e  CRIPTOR {..union
1e290 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43 68 61 72   {..  DWORD Char
1e2a0 61 63 74 65 72 69 73 74 69 63 73 3b 0d 0a 20 20  acteristics;..  
1e2b0 44 57 4f 52 44 20 4f 72 69 67 69 6e 61 6c 46 69  DWORD OriginalFi
1e2c0 72 73 74 54 68 75 6e 6b 3b 0d 0a 7d 0d 0a 0d 0a  rstThunk;..}....
1e2d0 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74 65    DWORD TimeDate
1e2e0 53 74 61 6d 70 3b 0d 0a 0d 0a 20 20 44 57 4f 52  Stamp;....  DWOR
1e2f0 44 20 46 6f 72 77 61 72 64 65 72 43 68 61 69 6e  D ForwarderChain
1e300 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 61 6d 65 3b  ;..  DWORD Name;
1e310 0d 0a 20 20 44 57 4f 52 44 20 46 69 72 73 74 54  ..  DWORD FirstT
1e320 68 75 6e 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  hunk;..}..alias 
1e330 5f 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 44 45  _IMAGE_IMPORT_DE
1e340 53 43 52 49 50 54 4f 52 20 49 4d 41 47 45 5f 49  SCRIPTOR IMAGE_I
1e350 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 4f 52  MPORT_DESCRIPTOR
1e360 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  ;....alias IMAGE
1e370 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54  _IMPORT_DESCRIPT
1e380 4f 52 2a 20 50 49 4d 41 47 45 5f 49 4d 50 4f 52  OR* PIMAGE_IMPOR
1e390 54 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 0d  T_DESCRIPTOR;...
1e3a0 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 42  .struct _IMAGE_B
1e3b0 4f 55 4e 44 5f 49 4d 50 4f 52 54 5f 44 45 53 43  OUND_IMPORT_DESC
1e3c0 52 49 50 54 4f 52 20 7b 0d 0a 20 20 44 57 4f 52  RIPTOR {..  DWOR
1e3d0 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b  D TimeDateStamp;
1e3e0 0d 0a 20 20 57 4f 52 44 20 4f 66 66 73 65 74 4d  ..  WORD OffsetM
1e3f0 6f 64 75 6c 65 4e 61 6d 65 3b 0d 0a 20 20 57 4f  oduleName;..  WO
1e400 52 44 20 4e 75 6d 62 65 72 4f 66 4d 6f 64 75 6c  RD NumberOfModul
1e410 65 46 6f 72 77 61 72 64 65 72 52 65 66 73 3b 0d  eForwarderRefs;.
1e420 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
1e430 5f 42 4f 55 4e 44 5f 49 4d 50 4f 52 54 5f 44 45  _BOUND_IMPORT_DE
1e440 53 43 52 49 50 54 4f 52 20 49 4d 41 47 45 5f 42  SCRIPTOR IMAGE_B
1e450 4f 55 4e 44 5f 49 4d 50 4f 52 54 5f 44 45 53 43  OUND_IMPORT_DESC
1e460 52 49 50 54 4f 52 3b 0d 0a 61 6c 69 61 73 20 5f  RIPTOR;..alias _
1e470 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f  IMAGE_BOUND_IMPO
1e480 52 54 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50  RT_DESCRIPTOR* P
1e490 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f  IMAGE_BOUND_IMPO
1e4a0 52 54 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a  RT_DESCRIPTOR;..
1e4b0 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
1e4c0 42 4f 55 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f  BOUND_FORWARDER_
1e4d0 52 45 46 20 7b 0d 0a 20 20 44 57 4f 52 44 20 54  REF {..  DWORD T
1e4e0 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20  imeDateStamp;.. 
1e4f0 20 57 4f 52 44 20 4f 66 66 73 65 74 4d 6f 64 75   WORD OffsetModu
1e500 6c 65 4e 61 6d 65 3b 0d 0a 20 20 57 4f 52 44 20  leName;..  WORD 
1e510 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c  Reserved;..}..al
1e520 69 61 73 20 5f 49 4d 41 47 45 5f 42 4f 55 4e 44  ias _IMAGE_BOUND
1e530 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46 20 49  _FORWARDER_REF I
1e540 4d 41 47 45 5f 42 4f 55 4e 44 5f 46 4f 52 57 41  MAGE_BOUND_FORWA
1e550 52 44 45 52 5f 52 45 46 3b 0d 0a 61 6c 69 61 73  RDER_REF;..alias
1e560 20 5f 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 46 4f   _IMAGE_BOUND_FO
1e570 52 57 41 52 44 45 52 5f 52 45 46 2a 20 50 49 4d  RWARDER_REF* PIM
1e580 41 47 45 5f 42 4f 55 4e 44 5f 46 4f 52 57 41 52  AGE_BOUND_FORWAR
1e590 44 45 52 5f 52 45 46 3b 0d 0a 0d 0a 73 74 72 75  DER_REF;....stru
1e5a0 63 74 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52  ct _IMAGE_RESOUR
1e5b0 43 45 5f 44 49 52 45 43 54 4f 52 59 20 7b 0d 0a  CE_DIRECTORY {..
1e5c0 20 20 44 57 4f 52 44 20 43 68 61 72 61 63 74 65    DWORD Characte
1e5d0 72 69 73 74 69 63 73 3b 0d 0a 20 20 44 57 4f 52  ristics;..  DWOR
1e5e0 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b  D TimeDateStamp;
1e5f0 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72 56 65  ..  WORD MajorVe
1e600 72 73 69 6f 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d  rsion;..  WORD M
1e610 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  inorVersion;..  
1e620 57 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4e 61 6d  WORD NumberOfNam
1e630 65 64 45 6e 74 72 69 65 73 3b 0d 0a 20 20 57 4f  edEntries;..  WO
1e640 52 44 20 4e 75 6d 62 65 72 4f 66 49 64 45 6e 74  RD NumberOfIdEnt
1e650 72 69 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ries;..}..alias 
1e660 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  _IMAGE_RESOURCE_
1e670 44 49 52 45 43 54 4f 52 59 20 49 4d 41 47 45 5f  DIRECTORY IMAGE_
1e680 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f  RESOURCE_DIRECTO
1e690 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  RY;..alias _IMAG
1e6a0 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43  E_RESOURCE_DIREC
1e6b0 54 4f 52 59 2a 20 50 49 4d 41 47 45 5f 52 45 53  TORY* PIMAGE_RES
1e6c0 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 3b  OURCE_DIRECTORY;
1e6d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1e6e0 7b 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45  { IMAGE_RESOURCE
1e6f0 5f 4e 41 4d 45 5f 49 53 5f 53 54 52 49 4e 47 20  _NAME_IS_STRING 
1e700 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x80000000 }..
1e710 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1e720 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 54  AGE_RESOURCE_DAT
1e730 41 5f 49 53 5f 44 49 52 45 43 54 4f 52 59 20 3d  A_IS_DIRECTORY =
1e740 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x80000000 }...
1e750 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 52  .struct _IMAGE_R
1e760 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52  ESOURCE_DIRECTOR
1e770 59 5f 45 4e 54 52 59 20 7b 0d 0a 75 6e 69 6f 6e  Y_ENTRY {..union
1e780 20 7b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 2f 2f   {..struct {..//
1e790 20 44 57 4f 52 44 20 4e 61 6d 65 4f 66 66 73 65   DWORD NameOffse
1e7a0 74 3a 33 31 3b 0d 0a 2f 2f 20 44 57 4f 52 44 20  t:31;..// DWORD 
1e7b0 4e 61 6d 65 49 73 53 74 72 69 6e 67 3a 31 3b 0d  NameIsString:1;.
1e7c0 0a 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 4e 61  .}....  DWORD Na
1e7d0 6d 65 3b 0d 0a 20 20 57 4f 52 44 20 49 64 3b 0d  me;..  WORD Id;.
1e7e0 0a 7d 0d 0a 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  .}....union {.. 
1e7f0 20 44 57 4f 52 44 20 4f 66 66 73 65 74 54 6f 44   DWORD OffsetToD
1e800 61 74 61 3b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a  ata;..struct {..
1e810 2f 2f 20 44 57 4f 52 44 20 20 20 4f 66 66 73 65  // DWORD   Offse
1e820 74 54 6f 44 69 72 65 63 74 6f 72 79 3a 33 31 3b  tToDirectory:31;
1e830 0d 0a 2f 2f 20 44 57 4f 52 44 20 20 20 44 61 74  ..// DWORD   Dat
1e840 61 49 73 44 69 72 65 63 74 6f 72 79 3a 31 3b 0d  aIsDirectory:1;.
1e850 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c  .}....}....}..al
1e860 69 61 73 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55  ias _IMAGE_RESOU
1e870 52 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e  RCE_DIRECTORY_EN
1e880 54 52 59 20 49 4d 41 47 45 5f 52 45 53 4f 55 52  TRY IMAGE_RESOUR
1e890 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54  CE_DIRECTORY_ENT
1e8a0 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  RY;..alias _IMAG
1e8b0 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43  E_RESOURCE_DIREC
1e8c0 54 4f 52 59 5f 45 4e 54 52 59 2a 20 50 49 4d 41  TORY_ENTRY* PIMA
1e8d0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45  GE_RESOURCE_DIRE
1e8e0 43 54 4f 52 59 5f 45 4e 54 52 59 3b 0d 0a 0d 0a  CTORY_ENTRY;....
1e8f0 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 52 45  struct _IMAGE_RE
1e900 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59  SOURCE_DIRECTORY
1e910 5f 53 54 52 49 4e 47 20 7b 0d 0a 20 20 57 4f 52  _STRING {..  WOR
1e920 44 20 4c 65 6e 67 74 68 3b 0d 0a 20 20 43 48 41  D Length;..  CHA
1e930 52 20 4e 61 6d 65 53 74 72 69 6e 67 5b 20 31 20  R NameString[ 1 
1e940 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d  ];..}..alias _IM
1e950 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52  AGE_RESOURCE_DIR
1e960 45 43 54 4f 52 59 5f 53 54 52 49 4e 47 20 49 4d  ECTORY_STRING IM
1e970 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52  AGE_RESOURCE_DIR
1e980 45 43 54 4f 52 59 5f 53 54 52 49 4e 47 3b 0d 0a  ECTORY_STRING;..
1e990 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 45 53  alias _IMAGE_RES
1e9a0 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 5f  OURCE_DIRECTORY_
1e9b0 53 54 52 49 4e 47 2a 20 50 49 4d 41 47 45 5f 52  STRING* PIMAGE_R
1e9c0 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52  ESOURCE_DIRECTOR
1e9d0 59 5f 53 54 52 49 4e 47 3b 0d 0a 0d 0a 73 74 72  Y_STRING;....str
1e9e0 75 63 74 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55  uct _IMAGE_RESOU
1e9f0 52 43 45 5f 44 49 52 5f 53 54 52 49 4e 47 5f 55  RCE_DIR_STRING_U
1ea00 20 7b 0d 0a 20 20 57 4f 52 44 20 4c 65 6e 67 74   {..  WORD Lengt
1ea10 68 3b 0d 0a 20 20 57 43 48 41 52 20 4e 61 6d 65  h;..  WCHAR Name
1ea20 53 74 72 69 6e 67 5b 20 31 20 5d 3b 0d 0a 7d 0d  String[ 1 ];..}.
1ea30 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 45  .alias _IMAGE_RE
1ea40 53 4f 55 52 43 45 5f 44 49 52 5f 53 54 52 49 4e  SOURCE_DIR_STRIN
1ea50 47 5f 55 20 49 4d 41 47 45 5f 52 45 53 4f 55 52  G_U IMAGE_RESOUR
1ea60 43 45 5f 44 49 52 5f 53 54 52 49 4e 47 5f 55 3b  CE_DIR_STRING_U;
1ea70 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52  ..alias _IMAGE_R
1ea80 45 53 4f 55 52 43 45 5f 44 49 52 5f 53 54 52 49  ESOURCE_DIR_STRI
1ea90 4e 47 5f 55 2a 20 50 49 4d 41 47 45 5f 52 45 53  NG_U* PIMAGE_RES
1eaa0 4f 55 52 43 45 5f 44 49 52 5f 53 54 52 49 4e 47  OURCE_DIR_STRING
1eab0 5f 55 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49  _U;....struct _I
1eac0 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41  MAGE_RESOURCE_DA
1ead0 54 41 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 44 57  TA_ENTRY {..  DW
1eae0 4f 52 44 20 4f 66 66 73 65 74 54 6f 44 61 74 61  ORD OffsetToData
1eaf0 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 3b  ;..  DWORD Size;
1eb00 0d 0a 20 20 44 57 4f 52 44 20 43 6f 64 65 50 61  ..  DWORD CodePa
1eb10 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20 52 65 73  ge;..  DWORD Res
1eb20 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  erved;..}..alias
1eb30 20 5f 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45   _IMAGE_RESOURCE
1eb40 5f 44 41 54 41 5f 45 4e 54 52 59 20 49 4d 41 47  _DATA_ENTRY IMAG
1eb50 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41 5f  E_RESOURCE_DATA_
1eb60 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49  ENTRY;..alias _I
1eb70 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41  MAGE_RESOURCE_DA
1eb80 54 41 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47 45  TA_ENTRY* PIMAGE
1eb90 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41 5f 45  _RESOURCE_DATA_E
1eba0 4e 54 52 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  NTRY;....struct 
1ebb0 5f 31 32 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43  _12 {..  DWORD C
1ebc0 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d  haracteristics;.
1ebd0 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74  .  DWORD TimeDat
1ebe0 65 53 74 61 6d 70 3b 0d 0a 20 20 57 4f 52 44 20  eStamp;..  WORD 
1ebf0 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  MajorVersion;.. 
1ec00 20 57 4f 52 44 20 4d 69 6e 6f 72 56 65 72 73 69   WORD MinorVersi
1ec10 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 47 6c 6f  on;..  DWORD Glo
1ec20 62 61 6c 46 6c 61 67 73 43 6c 65 61 72 3b 0d 0a  balFlagsClear;..
1ec30 20 20 44 57 4f 52 44 20 47 6c 6f 62 61 6c 46 6c    DWORD GlobalFl
1ec40 61 67 73 53 65 74 3b 0d 0a 20 20 44 57 4f 52 44  agsSet;..  DWORD
1ec50 20 43 72 69 74 69 63 61 6c 53 65 63 74 69 6f 6e   CriticalSection
1ec60 44 65 66 61 75 6c 74 54 69 6d 65 6f 75 74 3b 0d  DefaultTimeout;.
1ec70 0a 20 20 44 57 4f 52 44 20 44 65 43 6f 6d 6d 69  .  DWORD DeCommi
1ec80 74 46 72 65 65 42 6c 6f 63 6b 54 68 72 65 73 68  tFreeBlockThresh
1ec90 6f 6c 64 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65  old;..  DWORD De
1eca0 43 6f 6d 6d 69 74 54 6f 74 61 6c 46 72 65 65 54  CommitTotalFreeT
1ecb0 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 44 57 4f  hreshold;..  DWO
1ecc0 52 44 20 4c 6f 63 6b 50 72 65 66 69 78 54 61 62  RD LockPrefixTab
1ecd0 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 61 78  le;..  DWORD Max
1ece0 69 6d 75 6d 41 6c 6c 6f 63 61 74 69 6f 6e 53 69  imumAllocationSi
1ecf0 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 56 69 72  ze;..  DWORD Vir
1ed00 74 75 61 6c 4d 65 6d 6f 72 79 54 68 72 65 73 68  tualMemoryThresh
1ed10 6f 6c 64 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72  old;..  DWORD Pr
1ed20 6f 63 65 73 73 48 65 61 70 46 6c 61 67 73 3b 0d  ocessHeapFlags;.
1ed30 0a 20 20 44 57 4f 52 44 20 50 72 6f 63 65 73 73  .  DWORD Process
1ed40 41 66 66 69 6e 69 74 79 4d 61 73 6b 3b 0d 0a 20  AffinityMask;.. 
1ed50 20 57 4f 52 44 20 43 53 44 56 65 72 73 69 6f 6e   WORD CSDVersion
1ed60 3b 0d 0a 20 20 57 4f 52 44 20 52 65 73 65 72 76  ;..  WORD Reserv
1ed70 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20 45 64  ed1;..  DWORD Ed
1ed80 69 74 4c 69 73 74 3b 0d 0a 20 20 44 57 4f 52 44  itList;..  DWORD
1ed90 20 52 65 73 65 72 76 65 64 5b 20 31 20 5d 3b 0d   Reserved[ 1 ];.
1eda0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 32 20 49 4d  .}..alias _12 IM
1edb0 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f  AGE_LOAD_CONFIG_
1edc0 44 49 52 45 43 54 4f 52 59 33 32 3b 0d 0a 61 6c  DIRECTORY32;..al
1edd0 69 61 73 20 5f 31 32 2a 20 50 49 4d 41 47 45 5f  ias _12* PIMAGE_
1ede0 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45  LOAD_CONFIG_DIRE
1edf0 43 54 4f 52 59 33 32 3b 0d 0a 0d 0a 73 74 72 75  CTORY32;....stru
1ee00 63 74 20 5f 31 33 20 7b 0d 0a 20 20 44 57 4f 52  ct _13 {..  DWOR
1ee10 44 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63  D Characteristic
1ee20 73 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65  s;..  DWORD Time
1ee30 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20 20 57 4f  DateStamp;..  WO
1ee40 52 44 20 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b  RD MajorVersion;
1ee50 0d 0a 20 20 57 4f 52 44 20 4d 69 6e 6f 72 56 65  ..  WORD MinorVe
1ee60 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  rsion;..  DWORD 
1ee70 47 6c 6f 62 61 6c 46 6c 61 67 73 43 6c 65 61 72  GlobalFlagsClear
1ee80 3b 0d 0a 20 20 44 57 4f 52 44 20 47 6c 6f 62 61  ;..  DWORD Globa
1ee90 6c 46 6c 61 67 73 53 65 74 3b 0d 0a 20 20 44 57  lFlagsSet;..  DW
1eea0 4f 52 44 20 43 72 69 74 69 63 61 6c 53 65 63 74  ORD CriticalSect
1eeb0 69 6f 6e 44 65 66 61 75 6c 74 54 69 6d 65 6f 75  ionDefaultTimeou
1eec0 74 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20  t;..  ULONGLONG 
1eed0 44 65 43 6f 6d 6d 69 74 46 72 65 65 42 6c 6f 63  DeCommitFreeBloc
1eee0 6b 54 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 55  kThreshold;..  U
1eef0 4c 4f 4e 47 4c 4f 4e 47 20 44 65 43 6f 6d 6d 69  LONGLONG DeCommi
1ef00 74 54 6f 74 61 6c 46 72 65 65 54 68 72 65 73 68  tTotalFreeThresh
1ef10 6f 6c 64 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  old;..  ULONGLON
1ef20 47 20 4c 6f 63 6b 50 72 65 66 69 78 54 61 62 6c  G LockPrefixTabl
1ef30 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20  e;..  ULONGLONG 
1ef40 4d 61 78 69 6d 75 6d 41 6c 6c 6f 63 61 74 69 6f  MaximumAllocatio
1ef50 6e 53 69 7a 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  nSize;..  ULONGL
1ef60 4f 4e 47 20 56 69 72 74 75 61 6c 4d 65 6d 6f 72  ONG VirtualMemor
1ef70 79 54 68 72 65 73 68 6f 6c 64 3b 0d 0a 20 20 55  yThreshold;..  U
1ef80 4c 4f 4e 47 4c 4f 4e 47 20 50 72 6f 63 65 73 73  LONGLONG Process
1ef90 41 66 66 69 6e 69 74 79 4d 61 73 6b 3b 0d 0a 20  AffinityMask;.. 
1efa0 20 44 57 4f 52 44 20 50 72 6f 63 65 73 73 48 65   DWORD ProcessHe
1efb0 61 70 46 6c 61 67 73 3b 0d 0a 20 20 57 4f 52 44  apFlags;..  WORD
1efc0 20 43 53 44 56 65 72 73 69 6f 6e 3b 0d 0a 20 20   CSDVersion;..  
1efd0 57 4f 52 44 20 52 65 73 65 72 76 65 64 31 3b 0d  WORD Reserved1;.
1efe0 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 45 64 69  .  ULONGLONG Edi
1eff0 74 4c 69 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20  tList;..  DWORD 
1f000 52 65 73 65 72 76 65 64 5b 20 32 20 5d 3b 0d 0a  Reserved[ 2 ];..
1f010 7d 0d 0a 61 6c 69 61 73 20 5f 31 33 20 49 4d 41  }..alias _13 IMA
1f020 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44  GE_LOAD_CONFIG_D
1f030 49 52 45 43 54 4f 52 59 36 34 3b 0d 0a 61 6c 69  IRECTORY64;..ali
1f040 61 73 20 5f 31 33 2a 20 50 49 4d 41 47 45 5f 4c  as _13* PIMAGE_L
1f050 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43  OAD_CONFIG_DIREC
1f060 54 4f 52 59 36 34 3b 0d 0a 0d 0a 2f 2f 20 23 69  TORY64;....// #i
1f070 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20  fdef _WIN64..// 
1f080 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
1f090 6c 69 61 73 20 49 4d 41 47 45 5f 4c 4f 41 44 5f  lias IMAGE_LOAD_
1f0a0 43 4f 4e 46 49 47 5f 44 49 52 45 43 54 4f 52 59  CONFIG_DIRECTORY
1f0b0 33 32 20 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f  32 IMAGE_LOAD_CO
1f0c0 4e 46 49 47 5f 44 49 52 45 43 54 4f 52 59 3b 0d  NFIG_DIRECTORY;.
1f0d0 0a 61 6c 69 61 73 20 50 49 4d 41 47 45 5f 4c 4f  .alias PIMAGE_LO
1f0e0 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43 54  AD_CONFIG_DIRECT
1f0f0 4f 52 59 33 32 20 50 49 4d 41 47 45 5f 4c 4f 41  ORY32 PIMAGE_LOA
1f100 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43 54 4f  D_CONFIG_DIRECTO
1f110 52 59 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  RY;..// #endif..
1f120 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f  ..struct _IMAGE_
1f130 43 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54  CE_RUNTIME_FUNCT
1f140 49 4f 4e 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 44  ION_ENTRY {..  D
1f150 57 4f 52 44 20 46 75 6e 63 53 74 61 72 74 3b 0d  WORD FuncStart;.
1f160 0a 2f 2f 20 44 57 4f 52 44 20 50 72 6f 6c 6f 67  .// DWORD Prolog
1f170 4c 65 6e 20 3a 20 38 3b 0d 0a 2f 2f 20 44 57 4f  Len : 8;..// DWO
1f180 52 44 20 46 75 6e 63 4c 65 6e 20 3a 20 32 32 3b  RD FuncLen : 22;
1f190 0d 0a 2f 2f 20 44 57 4f 52 44 20 54 68 69 72 74  ..// DWORD Thirt
1f1a0 79 54 77 6f 42 69 74 20 3a 20 31 3b 0d 0a 2f 2f  yTwoBit : 1;..//
1f1b0 20 44 57 4f 52 44 20 45 78 63 65 70 74 69 6f 6e   DWORD Exception
1f1c0 46 6c 61 67 20 3a 20 31 3b 0d 0a 7d 0d 0a 61 6c  Flag : 1;..}..al
1f1d0 69 61 73 20 5f 49 4d 41 47 45 5f 43 45 5f 52 55  ias _IMAGE_CE_RU
1f1e0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f1f0 4e 54 52 59 20 49 4d 41 47 45 5f 43 45 5f 52 55  NTRY IMAGE_CE_RU
1f200 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f210 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  NTRY;..alias _IM
1f220 41 47 45 5f 43 45 5f 52 55 4e 54 49 4d 45 5f 46  AGE_CE_RUNTIME_F
1f230 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a 20 50  UNCTION_ENTRY* P
1f240 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 4d 45  IMAGE_CE_RUNTIME
1f250 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 3b  _FUNCTION_ENTRY;
1f260 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41 47  ....struct _IMAG
1f270 45 5f 41 4c 50 48 41 36 34 5f 52 55 4e 54 49 4d  E_ALPHA64_RUNTIM
1f280 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
1f290 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20   {..  ULONGLONG 
1f2a0 42 65 67 69 6e 41 64 64 72 65 73 73 3b 0d 0a 20  BeginAddress;.. 
1f2b0 20 55 4c 4f 4e 47 4c 4f 4e 47 20 45 6e 64 41 64   ULONGLONG EndAd
1f2c0 64 72 65 73 73 3b 0d 0a 20 20 55 4c 4f 4e 47 4c  dress;..  ULONGL
1f2d0 4f 4e 47 20 45 78 63 65 70 74 69 6f 6e 48 61 6e  ONG ExceptionHan
1f2e0 64 6c 65 72 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f  dler;..  ULONGLO
1f2f0 4e 47 20 48 61 6e 64 6c 65 72 44 61 74 61 3b 0d  NG HandlerData;.
1f300 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 50 72 6f  .  ULONGLONG Pro
1f310 6c 6f 67 45 6e 64 41 64 64 72 65 73 73 3b 0d 0a  logEndAddress;..
1f320 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f  }..alias _IMAGE_
1f330 41 4c 50 48 41 36 34 5f 52 55 4e 54 49 4d 45 5f  ALPHA64_RUNTIME_
1f340 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 49  FUNCTION_ENTRY I
1f350 4d 41 47 45 5f 41 4c 50 48 41 36 34 5f 52 55 4e  MAGE_ALPHA64_RUN
1f360 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e  TIME_FUNCTION_EN
1f370 54 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  TRY;..alias _IMA
1f380 47 45 5f 41 4c 50 48 41 36 34 5f 52 55 4e 54 49  GE_ALPHA64_RUNTI
1f390 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52  ME_FUNCTION_ENTR
1f3a0 59 2a 20 50 49 4d 41 47 45 5f 41 4c 50 48 41 36  Y* PIMAGE_ALPHA6
1f3b0 34 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  4_RUNTIME_FUNCTI
1f3c0 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 73 74 72  ON_ENTRY;....str
1f3d0 75 63 74 20 5f 49 4d 41 47 45 5f 41 4c 50 48 41  uct _IMAGE_ALPHA
1f3e0 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f  _RUNTIME_FUNCTIO
1f3f0 4e 5f 45 4e 54 52 59 20 7b 0d 0a 20 20 44 57 4f  N_ENTRY {..  DWO
1f400 52 44 20 42 65 67 69 6e 41 64 64 72 65 73 73 3b  RD BeginAddress;
1f410 0d 0a 20 20 44 57 4f 52 44 20 45 6e 64 41 64 64  ..  DWORD EndAdd
1f420 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 45  ress;..  DWORD E
1f430 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b  xceptionHandler;
1f440 0d 0a 20 20 44 57 4f 52 44 20 48 61 6e 64 6c 65  ..  DWORD Handle
1f450 72 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20  rData;..  DWORD 
1f460 50 72 6f 6c 6f 67 45 6e 64 41 64 64 72 65 73 73  PrologEndAddress
1f470 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41  ;..}..alias _IMA
1f480 47 45 5f 41 4c 50 48 41 5f 52 55 4e 54 49 4d 45  GE_ALPHA_RUNTIME
1f490 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20  _FUNCTION_ENTRY 
1f4a0 49 4d 41 47 45 5f 41 4c 50 48 41 5f 52 55 4e 54  IMAGE_ALPHA_RUNT
1f4b0 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54  IME_FUNCTION_ENT
1f4c0 52 59 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  RY;..alias _IMAG
1f4d0 45 5f 41 4c 50 48 41 5f 52 55 4e 54 49 4d 45 5f  E_ALPHA_RUNTIME_
1f4e0 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a 20  FUNCTION_ENTRY* 
1f4f0 50 49 4d 41 47 45 5f 41 4c 50 48 41 5f 52 55 4e  PIMAGE_ALPHA_RUN
1f500 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e  TIME_FUNCTION_EN
1f510 54 52 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  TRY;....struct _
1f520 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55  IMAGE_RUNTIME_FU
1f530 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 7b 0d 0a  NCTION_ENTRY {..
1f540 20 20 44 57 4f 52 44 20 42 65 67 69 6e 41 64 64    DWORD BeginAdd
1f550 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 45  ress;..  DWORD E
1f560 6e 64 41 64 64 72 65 73 73 3b 0d 0a 20 20 44 57  ndAddress;..  DW
1f570 4f 52 44 20 55 6e 77 69 6e 64 49 6e 66 6f 41 64  ORD UnwindInfoAd
1f580 64 72 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  dress;..}..alias
1f590 20 5f 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45 5f   _IMAGE_RUNTIME_
1f5a0 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a 20  FUNCTION_ENTRY* 
1f5b0 5f 50 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45 5f  _PIMAGE_RUNTIME_
1f5c0 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d  FUNCTION_ENTRY;.
1f5d0 0a 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f  ...alias _IMAGE_
1f5e0 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e  RUNTIME_FUNCTION
1f5f0 5f 45 4e 54 52 59 20 49 4d 41 47 45 5f 49 41 36  _ENTRY IMAGE_IA6
1f600 34 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49  4_RUNTIME_FUNCTI
1f610 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73  ON_ENTRY;..alias
1f620 20 5f 50 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45   _PIMAGE_RUNTIME
1f630 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20  _FUNCTION_ENTRY 
1f640 50 49 4d 41 47 45 5f 49 41 36 34 5f 52 55 4e 54  PIMAGE_IA64_RUNT
1f650 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54  IME_FUNCTION_ENT
1f660 52 59 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65  RY;....// #if de
1f670 66 69 6e 65 64 28 5f 41 58 50 36 34 5f 29 0d 0a  fined(_AXP64_)..
1f680 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
1f690 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f 41 4c  elif defined(_AL
1f6a0 50 48 41 5f 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  PHA_)....// ....
1f6b0 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 0d 0a 61  ...// #else....a
1f6c0 6c 69 61 73 20 5f 49 4d 41 47 45 5f 52 55 4e 54  lias _IMAGE_RUNT
1f6d0 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54  IME_FUNCTION_ENT
1f6e0 52 59 20 49 4d 41 47 45 5f 52 55 4e 54 49 4d 45  RY IMAGE_RUNTIME
1f6f0 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 3b  _FUNCTION_ENTRY;
1f700 0d 0a 61 6c 69 61 73 20 5f 50 49 4d 41 47 45 5f  ..alias _PIMAGE_
1f710 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e  RUNTIME_FUNCTION
1f720 5f 45 4e 54 52 59 20 50 49 4d 41 47 45 5f 52 55  _ENTRY PIMAGE_RU
1f730 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  NTIME_FUNCTION_E
1f740 4e 54 52 59 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  NTRY;....// #end
1f750 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d  if....struct _IM
1f760 41 47 45 5f 44 45 42 55 47 5f 44 49 52 45 43 54  AGE_DEBUG_DIRECT
1f770 4f 52 59 20 7b 0d 0a 20 20 44 57 4f 52 44 20 43  ORY {..  DWORD C
1f780 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d  haracteristics;.
1f790 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74  .  DWORD TimeDat
1f7a0 65 53 74 61 6d 70 3b 0d 0a 20 20 57 4f 52 44 20  eStamp;..  WORD 
1f7b0 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  MajorVersion;.. 
1f7c0 20 57 4f 52 44 20 4d 69 6e 6f 72 56 65 72 73 69   WORD MinorVersi
1f7d0 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 54 79 70  on;..  DWORD Typ
1f7e0 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  e;..  DWORD Size
1f7f0 4f 66 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44  OfData;..  DWORD
1f800 20 41 64 64 72 65 73 73 4f 66 52 61 77 44 61 74   AddressOfRawDat
1f810 61 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 69 6e  a;..  DWORD Poin
1f820 74 65 72 54 6f 52 61 77 44 61 74 61 3b 0d 0a 7d  terToRawData;..}
1f830 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 44  ..alias _IMAGE_D
1f840 45 42 55 47 5f 44 49 52 45 43 54 4f 52 59 20 49  EBUG_DIRECTORY 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 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d  TORY;..alias _IM
1f870 41 47 45 5f 44 45 42 55 47 5f 44 49 52 45 43 54  AGE_DEBUG_DIRECT
1f880 4f 52 59 2a 20 50 49 4d 41 47 45 5f 44 45 42 55  ORY* PIMAGE_DEBU
1f890 47 5f 44 49 52 45 43 54 4f 52 59 3b 0d 0a 0d 0a  G_DIRECTORY;....
1f8a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
1f8b0 41 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 55  AGE_DEBUG_TYPE_U
1f8c0 4e 4b 4e 4f 57 4e 20 3d 20 30 20 7d 0d 0a 65 6e  NKNOWN = 0 }..en
1f8d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47  um : uint { IMAG
1f8e0 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 43 4f 46  E_DEBUG_TYPE_COF
1f8f0 46 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  F = 1 }..enum : 
1f900 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 45 42  uint { IMAGE_DEB
1f910 55 47 5f 54 59 50 45 5f 43 4f 44 45 56 49 45 57  UG_TYPE_CODEVIEW
1f920 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
1f930 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 45 42 55  int { IMAGE_DEBU
1f940 47 5f 54 59 50 45 5f 46 50 4f 20 3d 20 33 20 7d  G_TYPE_FPO = 3 }
1f950 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f960 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 50 45  IMAGE_DEBUG_TYPE
1f970 5f 4d 49 53 43 20 3d 20 34 20 7d 0d 0a 65 6e 75  _MISC = 4 }..enu
1f980 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1f990 5f 44 45 42 55 47 5f 54 59 50 45 5f 45 58 43 45  _DEBUG_TYPE_EXCE
1f9a0 50 54 49 4f 4e 20 3d 20 35 20 7d 0d 0a 65 6e 75  PTION = 5 }..enu
1f9b0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1f9c0 5f 44 45 42 55 47 5f 54 59 50 45 5f 46 49 58 55  _DEBUG_TYPE_FIXU
1f9d0 50 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  P = 6 }..enum : 
1f9e0 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44 45 42  uint { IMAGE_DEB
1f9f0 55 47 5f 54 59 50 45 5f 4f 4d 41 50 5f 54 4f 5f  UG_TYPE_OMAP_TO_
1fa00 53 52 43 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20  SRC = 7 }..enum 
1fa10 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 44  : uint { IMAGE_D
1fa20 45 42 55 47 5f 54 59 50 45 5f 4f 4d 41 50 5f 46  EBUG_TYPE_OMAP_F
1fa30 52 4f 4d 5f 53 52 43 20 3d 20 38 20 7d 0d 0a 65  ROM_SRC = 8 }..e
1fa40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1fa50 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 42 4f  GE_DEBUG_TYPE_BO
1fa60 52 4c 41 4e 44 20 3d 20 39 20 7d 0d 0a 65 6e 75  RLAND = 9 }..enu
1fa70 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41 47 45  m : uint { IMAGE
1fa80 5f 44 45 42 55 47 5f 54 59 50 45 5f 52 45 53 45  _DEBUG_TYPE_RESE
1fa90 52 56 45 44 31 30 20 3d 20 31 30 20 7d 0d 0a 65  RVED10 = 10 }..e
1faa0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 41  num : uint { IMA
1fab0 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 43 4c  GE_DEBUG_TYPE_CL
1fac0 53 49 44 20 3d 20 31 31 20 7d 0d 0a 0d 0a 73 74  SID = 11 }....st
1fad0 72 75 63 74 20 5f 49 4d 41 47 45 5f 43 4f 46 46  ruct _IMAGE_COFF
1fae0 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 44 45 52 20  _SYMBOLS_HEADER 
1faf0 7b 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62 65  {..  DWORD Numbe
1fb00 72 4f 66 53 79 6d 62 6f 6c 73 3b 0d 0a 20 20 44  rOfSymbols;..  D
1fb10 57 4f 52 44 20 4c 76 61 54 6f 46 69 72 73 74 53  WORD LvaToFirstS
1fb20 79 6d 62 6f 6c 3b 0d 0a 20 20 44 57 4f 52 44 20  ymbol;..  DWORD 
1fb30 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75 6d 62  NumberOfLinenumb
1fb40 65 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20 4c 76  ers;..  DWORD Lv
1fb50 61 54 6f 46 69 72 73 74 4c 69 6e 65 6e 75 6d 62  aToFirstLinenumb
1fb60 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 52 76 61  er;..  DWORD Rva
1fb70 54 6f 46 69 72 73 74 42 79 74 65 4f 66 43 6f 64  ToFirstByteOfCod
1fb80 65 3b 0d 0a 20 20 44 57 4f 52 44 20 52 76 61 54  e;..  DWORD RvaT
1fb90 6f 4c 61 73 74 42 79 74 65 4f 66 43 6f 64 65 3b  oLastByteOfCode;
1fba0 0d 0a 20 20 44 57 4f 52 44 20 52 76 61 54 6f 46  ..  DWORD RvaToF
1fbb0 69 72 73 74 42 79 74 65 4f 66 44 61 74 61 3b 0d  irstByteOfData;.
1fbc0 0a 20 20 44 57 4f 52 44 20 52 76 61 54 6f 4c 61  .  DWORD RvaToLa
1fbd0 73 74 42 79 74 65 4f 66 44 61 74 61 3b 0d 0a 7d  stByteOfData;..}
1fbe0 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 43  ..alias _IMAGE_C
1fbf0 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 44  OFF_SYMBOLS_HEAD
1fc00 45 52 20 49 4d 41 47 45 5f 43 4f 46 46 5f 53 59  ER IMAGE_COFF_SY
1fc10 4d 42 4f 4c 53 5f 48 45 41 44 45 52 3b 0d 0a 61  MBOLS_HEADER;..a
1fc20 6c 69 61 73 20 5f 49 4d 41 47 45 5f 43 4f 46 46  lias _IMAGE_COFF
1fc30 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 44 45 52 2a  _SYMBOLS_HEADER*
1fc40 20 50 49 4d 41 47 45 5f 43 4f 46 46 5f 53 59 4d   PIMAGE_COFF_SYM
1fc50 42 4f 4c 53 5f 48 45 41 44 45 52 3b 0d 0a 0d 0a  BOLS_HEADER;....
1fc60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52  enum : uint { FR
1fc70 41 4d 45 5f 46 50 4f 20 3d 20 30 20 7d 0d 0a 65  AME_FPO = 0 }..e
1fc80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 41  num : uint { FRA
1fc90 4d 45 5f 54 52 41 50 20 3d 20 31 20 7d 0d 0a 65  ME_TRAP = 1 }..e
1fca0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 41  num : uint { FRA
1fcb0 4d 45 5f 54 53 53 20 3d 20 32 20 7d 0d 0a 65 6e  ME_TSS = 2 }..en
1fcc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 41 4d  um : uint { FRAM
1fcd0 45 5f 4e 4f 4e 46 50 4f 20 3d 20 33 20 7d 0d 0a  E_NONFPO = 3 }..
1fce0 0d 0a 73 74 72 75 63 74 20 5f 46 50 4f 5f 44 41  ..struct _FPO_DA
1fcf0 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 75 6c  TA {..  DWORD ul
1fd00 4f 66 66 53 74 61 72 74 3b 0d 0a 20 20 44 57 4f  OffStart;..  DWO
1fd10 52 44 20 63 62 50 72 6f 63 53 69 7a 65 3b 0d 0a  RD cbProcSize;..
1fd20 20 20 44 57 4f 52 44 20 63 64 77 4c 6f 63 61 6c    DWORD cdwLocal
1fd30 73 3b 0d 0a 20 20 57 4f 52 44 20 63 64 77 50 61  s;..  WORD cdwPa
1fd40 72 61 6d 73 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20  rams;..// WORD  
1fd50 20 20 20 20 20 20 63 62 50 72 6f 6c 6f 67 20 3a        cbProlog :
1fd60 20 38 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20 20 20   8;..// WORD    
1fd70 20 20 20 20 63 62 52 65 67 73 20 20 20 3a 20 33      cbRegs   : 3
1fd80 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20 20 20 20 20  ;..// WORD      
1fd90 20 20 66 48 61 73 53 45 48 20 20 3a 20 31 3b 0d    fHasSEH  : 1;.
1fda0 0a 2f 2f 20 57 4f 52 44 20 20 20 20 20 20 20 20  .// WORD        
1fdb0 66 55 73 65 42 50 20 20 20 3a 20 31 3b 0d 0a 2f  fUseBP   : 1;../
1fdc0 2f 20 57 4f 52 44 20 20 20 20 20 20 20 20 72 65  / WORD        re
1fdd0 73 65 72 76 65 64 20 3a 20 31 3b 0d 0a 2f 2f 20  served : 1;..// 
1fde0 57 4f 52 44 20 20 20 20 20 20 20 20 63 62 46 72  WORD        cbFr
1fdf0 61 6d 65 20 20 3a 20 32 3b 0d 0a 7d 0d 0a 61 6c  ame  : 2;..}..al
1fe00 69 61 73 20 5f 46 50 4f 5f 44 41 54 41 20 46 50  ias _FPO_DATA FP
1fe10 4f 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  O_DATA;..alias _
1fe20 46 50 4f 5f 44 41 54 41 2a 20 50 46 50 4f 5f 44  FPO_DATA* PFPO_D
1fe30 41 54 41 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ATA;....enum : u
1fe40 69 6e 74 20 7b 20 53 49 5a 45 4f 46 5f 52 46 50  int { SIZEOF_RFP
1fe50 4f 5f 44 41 54 41 20 3d 20 31 36 20 7d 0d 0a 0d  O_DATA = 16 }...
1fe60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
1fe70 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 5f  MAGE_DEBUG_MISC_
1fe80 45 58 45 4e 41 4d 45 20 3d 20 31 20 7d 0d 0a 0d  EXENAME = 1 }...
1fe90 0a 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 44  .struct _IMAGE_D
1fea0 45 42 55 47 5f 4d 49 53 43 20 7b 0d 0a 20 20 44  EBUG_MISC {..  D
1feb0 57 4f 52 44 20 44 61 74 61 54 79 70 65 3b 0d 0a  WORD DataType;..
1fec0 20 20 44 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0d    DWORD Length;.
1fed0 0a 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 55 6e 69  ...  BOOLEAN Uni
1fee0 63 6f 64 65 3b 0d 0a 20 20 42 59 54 45 20 52 65  code;..  BYTE Re
1fef0 73 65 72 76 65 64 5b 20 33 20 5d 3b 0d 0a 20 20  served[ 3 ];..  
1ff00 42 59 54 45 20 44 61 74 61 5b 20 31 20 5d 3b 0d  BYTE Data[ 1 ];.
1ff10 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45  .}..alias _IMAGE
1ff20 5f 44 45 42 55 47 5f 4d 49 53 43 20 49 4d 41 47  _DEBUG_MISC IMAG
1ff30 45 5f 44 45 42 55 47 5f 4d 49 53 43 3b 0d 0a 61  E_DEBUG_MISC;..a
1ff40 6c 69 61 73 20 5f 49 4d 41 47 45 5f 44 45 42 55  lias _IMAGE_DEBU
1ff50 47 5f 4d 49 53 43 2a 20 50 49 4d 41 47 45 5f 44  G_MISC* PIMAGE_D
1ff60 45 42 55 47 5f 4d 49 53 43 3b 0d 0a 0d 0a 73 74  EBUG_MISC;....st
1ff70 72 75 63 74 20 5f 49 4d 41 47 45 5f 46 55 4e 43  ruct _IMAGE_FUNC
1ff80 54 49 4f 4e 5f 45 4e 54 52 59 20 7b 0d 0a 20 20  TION_ENTRY {..  
1ff90 44 57 4f 52 44 20 53 74 61 72 74 69 6e 67 41 64  DWORD StartingAd
1ffa0 64 72 65 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20  dress;..  DWORD 
1ffb0 45 6e 64 69 6e 67 41 64 64 72 65 73 73 3b 0d 0a  EndingAddress;..
1ffc0 20 20 44 57 4f 52 44 20 45 6e 64 4f 66 50 72 6f    DWORD EndOfPro
1ffd0 6c 6f 67 75 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  logue;..}..alias
1ffe0 20 5f 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e   _IMAGE_FUNCTION
1fff0 5f 45 4e 54 52 59 20 49 4d 41 47 45 5f 46 55 4e  _ENTRY IMAGE_FUN
20000 43 54 49 4f 4e 5f 45 4e 54 52 59 3b 0d 0a 61 6c  CTION_ENTRY;..al
20010 69 61 73 20 5f 49 4d 41 47 45 5f 46 55 4e 43 54  ias _IMAGE_FUNCT
20020 49 4f 4e 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47  ION_ENTRY* PIMAG
20030 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
20040 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 4d 41  ;....struct _IMA
20050 47 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52  GE_FUNCTION_ENTR
20060 59 36 34 20 7b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f  Y64 {..  ULONGLO
20070 4e 47 20 53 74 61 72 74 69 6e 67 41 64 64 72 65  NG StartingAddre
20080 73 73 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47  ss;..  ULONGLONG
20090 20 45 6e 64 69 6e 67 41 64 64 72 65 73 73 3b 0d   EndingAddress;.
200a0 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55 4c 4f 4e  .union {..  ULON
200b0 47 4c 4f 4e 47 20 45 6e 64 4f 66 50 72 6f 6c 6f  GLONG EndOfProlo
200c0 67 75 65 3b 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e  gue;..  ULONGLON
200d0 47 20 55 6e 77 69 6e 64 49 6e 66 6f 41 64 64 72  G UnwindInfoAddr
200e0 65 73 73 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c  ess;..}....}..al
200f0 69 61 73 20 5f 49 4d 41 47 45 5f 46 55 4e 43 54  ias _IMAGE_FUNCT
20100 49 4f 4e 5f 45 4e 54 52 59 36 34 20 49 4d 41 47  ION_ENTRY64 IMAG
20110 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
20120 36 34 3b 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47  64;..alias _IMAG
20130 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59  E_FUNCTION_ENTRY
20140 36 34 2a 20 50 49 4d 41 47 45 5f 46 55 4e 43 54  64* PIMAGE_FUNCT
20150 49 4f 4e 5f 45 4e 54 52 59 36 34 3b 0d 0a 0d 0a  ION_ENTRY64;....
20160 73 74 72 75 63 74 20 5f 49 4d 41 47 45 5f 53 45  struct _IMAGE_SE
20170 50 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41  PARATE_DEBUG_HEA
20180 44 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 53 69  DER {..  WORD Si
20190 67 6e 61 74 75 72 65 3b 0d 0a 20 20 57 4f 52 44  gnature;..  WORD
201a0 20 46 6c 61 67 73 3b 0d 0a 20 20 57 4f 52 44 20   Flags;..  WORD 
201b0 4d 61 63 68 69 6e 65 3b 0d 0a 20 20 57 4f 52 44  Machine;..  WORD
201c0 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73   Characteristics
201d0 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44  ;..  DWORD TimeD
201e0 61 74 65 53 74 61 6d 70 3b 0d 0a 20 20 44 57 4f  ateStamp;..  DWO
201f0 52 44 20 43 68 65 63 6b 53 75 6d 3b 0d 0a 20 20  RD CheckSum;..  
20200 44 57 4f 52 44 20 49 6d 61 67 65 42 61 73 65 3b  DWORD ImageBase;
20210 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65 4f 66  ..  DWORD SizeOf
20220 49 6d 61 67 65 3b 0d 0a 20 20 44 57 4f 52 44 20  Image;..  DWORD 
20230 4e 75 6d 62 65 72 4f 66 53 65 63 74 69 6f 6e 73  NumberOfSections
20240 3b 0d 0a 20 20 44 57 4f 52 44 20 45 78 70 6f 72  ;..  DWORD Expor
20250 74 65 64 4e 61 6d 65 73 53 69 7a 65 3b 0d 0a 20  tedNamesSize;.. 
20260 20 44 57 4f 52 44 20 44 65 62 75 67 44 69 72 65   DWORD DebugDire
20270 63 74 6f 72 79 53 69 7a 65 3b 0d 0a 20 20 44 57  ctorySize;..  DW
20280 4f 52 44 20 53 65 63 74 69 6f 6e 41 6c 69 67 6e  ORD SectionAlign
20290 6d 65 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20 52  ment;..  DWORD R
202a0 65 73 65 72 76 65 64 5b 32 5d 3b 0d 0a 7d 0d 0a  eserved[2];..}..
202b0 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 53 45 50  alias _IMAGE_SEP
202c0 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41 44  ARATE_DEBUG_HEAD
202d0 45 52 20 49 4d 41 47 45 5f 53 45 50 41 52 41 54  ER IMAGE_SEPARAT
202e0 45 5f 44 45 42 55 47 5f 48 45 41 44 45 52 3b 0d  E_DEBUG_HEADER;.
202f0 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 5f 53 45  .alias _IMAGE_SE
20300 50 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41  PARATE_DEBUG_HEA
20310 44 45 52 2a 20 50 49 4d 41 47 45 5f 53 45 50 41  DER* PIMAGE_SEPA
20320 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41 44 45  RATE_DEBUG_HEADE
20330 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4e 4f  R;....struct _NO
20340 4e 5f 50 41 47 45 44 5f 44 45 42 55 47 5f 49 4e  N_PAGED_DEBUG_IN
20350 46 4f 20 7b 0d 0a 20 20 57 4f 52 44 20 53 69 67  FO {..  WORD Sig
20360 6e 61 74 75 72 65 3b 0d 0a 20 20 57 4f 52 44 20  nature;..  WORD 
20370 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20  Flags;..  DWORD 
20380 53 69 7a 65 3b 0d 0a 20 20 57 4f 52 44 20 4d 61  Size;..  WORD Ma
20390 63 68 69 6e 65 3b 0d 0a 20 20 57 4f 52 44 20 43  chine;..  WORD C
203a0 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b 0d  haracteristics;.
203b0 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 44 61 74  .  DWORD TimeDat
203c0 65 53 74 61 6d 70 3b 0d 0a 20 20 44 57 4f 52 44  eStamp;..  DWORD
203d0 20 43 68 65 63 6b 53 75 6d 3b 0d 0a 20 20 44 57   CheckSum;..  DW
203e0 4f 52 44 20 53 69 7a 65 4f 66 49 6d 61 67 65 3b  ORD SizeOfImage;
203f0 0d 0a 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 49 6d  ..  ULONGLONG Im
20400 61 67 65 42 61 73 65 3b 0d 0a 0d 0a 7d 0d 0a 61  ageBase;....}..a
20410 6c 69 61 73 20 5f 4e 4f 4e 5f 50 41 47 45 44 5f  lias _NON_PAGED_
20420 44 45 42 55 47 5f 49 4e 46 4f 20 4e 4f 4e 5f 50  DEBUG_INFO NON_P
20430 41 47 45 44 5f 44 45 42 55 47 5f 49 4e 46 4f 3b  AGED_DEBUG_INFO;
20440 0d 0a 61 6c 69 61 73 20 5f 4e 4f 4e 5f 50 41 47  ..alias _NON_PAG
20450 45 44 5f 44 45 42 55 47 5f 49 4e 46 4f 2a 20 50  ED_DEBUG_INFO* P
20460 4e 4f 4e 5f 50 41 47 45 44 5f 44 45 42 55 47 5f  NON_PAGED_DEBUG_
20470 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  INFO;....// #ifn
20480 64 65 66 20 5f 4d 41 43 0d 0a 65 6e 75 6d 20 3a  def _MAC..enum :
20490 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 45   uint { IMAGE_SE
204a0 50 41 52 41 54 45 5f 44 45 42 55 47 5f 53 49 47  PARATE_DEBUG_SIG
204b0 4e 41 54 55 52 45 20 3d 20 30 78 34 39 34 34 20  NATURE = 0x4944 
204c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
204d0 20 4e 4f 4e 5f 50 41 47 45 44 5f 44 45 42 55 47   NON_PAGED_DEBUG
204e0 5f 53 49 47 4e 41 54 55 52 45 20 3d 20 30 78 34  _SIGNATURE = 0x4
204f0 39 34 45 20 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d  94E }..// #else.
20500 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
20510 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
20520 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
20530 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 42  AGE_SEPARATE_DEB
20540 55 47 5f 46 4c 41 47 53 5f 4d 41 53 4b 20 3d 20  UG_FLAGS_MASK = 
20550 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8000 }..enum :
20560 20 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 53 45   uint { IMAGE_SE
20570 50 41 52 41 54 45 5f 44 45 42 55 47 5f 4d 49 53  PARATE_DEBUG_MIS
20580 4d 41 54 43 48 20 3d 20 30 78 38 30 30 30 20 7d  MATCH = 0x8000 }
20590 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49 6d 61 67  ....struct _Imag
205a0 65 41 72 63 68 69 74 65 63 74 75 72 65 48 65 61  eArchitectureHea
205b0 64 65 72 20 7b 0d 0a 2f 2f 20 75 6e 73 69 67 6e  der {..// unsign
205c0 65 64 20 69 6e 74 20 41 6d 61 73 6b 56 61 6c 75  ed int AmaskValu
205d0 65 3a 20 31 3b 0d 0a 0d 0a 2f 2f 20 69 6e 74 20  e: 1;....// int 
205e0 3a 37 3b 0d 0a 2f 2f 20 75 6e 73 69 67 6e 65 64  :7;..// unsigned
205f0 20 69 6e 74 20 41 6d 61 73 6b 53 68 69 66 74 3a   int AmaskShift:
20600 20 38 3b 0d 0a 2f 2f 20 69 6e 74 20 3a 31 36 3b   8;..// int :16;
20610 0d 0a 20 20 44 57 4f 52 44 20 46 69 72 73 74 45  ..  DWORD FirstE
20620 6e 74 72 79 52 56 41 3b 0d 0a 7d 0d 0a 61 6c 69  ntryRVA;..}..ali
20630 61 73 20 5f 49 6d 61 67 65 41 72 63 68 69 74 65  as _ImageArchite
20640 63 74 75 72 65 48 65 61 64 65 72 20 49 4d 41 47  ctureHeader IMAG
20650 45 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f 48  E_ARCHITECTURE_H
20660 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 49  EADER;..alias _I
20670 6d 61 67 65 41 72 63 68 69 74 65 63 74 75 72 65  mageArchitecture
20680 48 65 61 64 65 72 2a 20 50 49 4d 41 47 45 5f 41  Header* PIMAGE_A
20690 52 43 48 49 54 45 43 54 55 52 45 5f 48 45 41 44  RCHITECTURE_HEAD
206a0 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 49  ER;....struct _I
206b0 6d 61 67 65 41 72 63 68 69 74 65 63 74 75 72 65  mageArchitecture
206c0 45 6e 74 72 79 20 7b 0d 0a 20 20 44 57 4f 52 44  Entry {..  DWORD
206d0 20 46 69 78 75 70 49 6e 73 74 52 56 41 3b 0d 0a   FixupInstRVA;..
206e0 20 20 44 57 4f 52 44 20 4e 65 77 49 6e 73 74 3b    DWORD NewInst;
206f0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 6d 61 67  ..}..alias _Imag
20700 65 41 72 63 68 69 74 65 63 74 75 72 65 45 6e 74  eArchitectureEnt
20710 72 79 20 49 4d 41 47 45 5f 41 52 43 48 49 54 45  ry IMAGE_ARCHITE
20720 43 54 55 52 45 5f 45 4e 54 52 59 3b 0d 0a 61 6c  CTURE_ENTRY;..al
20730 69 61 73 20 5f 49 6d 61 67 65 41 72 63 68 69 74  ias _ImageArchit
20740 65 63 74 75 72 65 45 6e 74 72 79 2a 20 50 49 4d  ectureEntry* PIM
20750 41 47 45 5f 41 52 43 48 49 54 45 43 54 55 52 45  AGE_ARCHITECTURE
20760 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 61 6c 69 67 6e  _ENTRY;....align
20770 3a 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  :....enum : uint
20780 20 7b 20 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54   { IMPORT_OBJECT
20790 5f 48 44 52 5f 53 49 47 32 20 3d 20 30 78 66 66  _HDR_SIG2 = 0xff
207a0 66 66 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 49  ff }....struct I
207b0 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 48 45 41  MPORT_OBJECT_HEA
207c0 44 45 52 20 7b 0d 0a 20 20 57 4f 52 44 20 53 69  DER {..  WORD Si
207d0 67 31 3b 0d 0a 20 20 57 4f 52 44 20 53 69 67 32  g1;..  WORD Sig2
207e0 3b 0d 0a 20 20 57 4f 52 44 20 56 65 72 73 69 6f  ;..  WORD Versio
207f0 6e 3b 0d 0a 20 20 57 4f 52 44 20 4d 61 63 68 69  n;..  WORD Machi
20800 6e 65 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d  ne;..  DWORD Tim
20810 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 20 20 44  eDateStamp;..  D
20820 57 4f 52 44 20 53 69 7a 65 4f 66 44 61 74 61 3b  WORD SizeOfData;
20830 0d 0a 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 57  ....union {..  W
20840 4f 52 44 20 4f 72 64 69 6e 61 6c 3b 0d 0a 20 20  ORD Ordinal;..  
20850 57 4f 52 44 20 48 69 6e 74 3b 0d 0a 7d 0d 0a 0d  WORD Hint;..}...
20860 0a 2f 2f 20 57 4f 52 44 20 20 20 20 54 79 70 65  .// WORD    Type
20870 20 3a 20 32 3b 0d 0a 2f 2f 20 57 4f 52 44 20 20   : 2;..// WORD  
20880 20 20 4e 61 6d 65 54 79 70 65 20 3a 20 33 3b 0d    NameType : 3;.
20890 0a 2f 2f 20 57 4f 52 44 20 20 20 20 52 65 73 65  .// WORD    Rese
208a0 72 76 65 64 20 3a 20 31 31 3b 0d 0a 7d 0d 0a 0d  rved : 11;..}...
208b0 0a 61 6c 69 61 73 20 69 6e 74 20 49 4d 50 4f 52  .alias int IMPOR
208c0 54 5f 4f 42 4a 45 43 54 5f 54 59 50 45 3b 0d 0a  T_OBJECT_TYPE;..
208d0 65 6e 75 6d 20 7b 0d 0a 20 20 49 4d 50 4f 52 54  enum {..  IMPORT
208e0 5f 4f 42 4a 45 43 54 5f 43 4f 44 45 20 3d 20 30  _OBJECT_CODE = 0
208f0 2c 0d 0a 20 20 49 4d 50 4f 52 54 5f 4f 42 4a 45  ,..  IMPORT_OBJE
20900 43 54 5f 44 41 54 41 20 3d 20 31 2c 0d 0a 20 20  CT_DATA = 1,..  
20910 49 4d 50 4f 52 54 5f 4f 42 4a 45 43 54 5f 43 4f  IMPORT_OBJECT_CO
20920 4e 53 54 20 3d 20 32 2c 0d 0a 7d 0d 0a 0d 0a 61  NST = 2,..}....a
20930 6c 69 61 73 20 69 6e 74 20 49 4d 50 4f 52 54 5f  lias int IMPORT_
20940 4f 42 4a 45 43 54 5f 4e 41 4d 45 5f 54 59 50 45  OBJECT_NAME_TYPE
20950 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20 49 4d 50  ;..enum {..  IMP
20960 4f 52 54 5f 4f 42 4a 45 43 54 5f 4f 52 44 49 4e  ORT_OBJECT_ORDIN
20970 41 4c 20 3d 20 30 2c 0d 0a 20 20 49 4d 50 4f 52  AL = 0,..  IMPOR
20980 54 5f 4f 42 4a 45 43 54 5f 4e 41 4d 45 20 3d 20  T_OBJECT_NAME = 
20990 31 2c 0d 0a 20 20 49 4d 50 4f 52 54 5f 4f 42 4a  1,..  IMPORT_OBJ
209a0 45 43 54 5f 4e 41 4d 45 5f 4e 4f 5f 50 52 45 46  ECT_NAME_NO_PREF
209b0 49 58 20 3d 20 32 2c 0d 0a 20 20 49 4d 50 4f 52  IX = 2,..  IMPOR
209c0 54 5f 4f 42 4a 45 43 54 5f 4e 41 4d 45 5f 55 4e  T_OBJECT_NAME_UN
209d0 44 45 43 4f 52 41 54 45 20 3d 20 33 2c 0d 0a 0d  DECORATE = 3,...
209e0 0a 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  .}....// #ifndef
209f0 20 5f 5f 49 4d 41 47 45 5f 43 4f 52 32 30 5f 48   __IMAGE_COR20_H
20a00 45 41 44 45 52 5f 44 45 46 49 4e 45 44 5f 5f 0d  EADER_DEFINED__.
20a10 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 5f 49 4d  .// #define __IM
20a20 41 47 45 5f 43 4f 52 32 30 5f 48 45 41 44 45 52  AGE_COR20_HEADER
20a30 5f 44 45 46 49 4e 45 44 5f 5f 0d 0a 0d 0a 61 6c  _DEFINED__....al
20a40 69 61 73 20 69 6e 74 20 52 65 70 6c 61 63 65 73  ias int Replaces
20a50 43 6f 72 48 64 72 4e 75 6d 65 72 69 63 44 65 66  CorHdrNumericDef
20a60 69 6e 65 73 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 0d  ines;..enum {...
20a70 0a 20 20 43 4f 4d 49 4d 41 47 45 5f 46 4c 41 47  .  COMIMAGE_FLAG
20a80 53 5f 49 4c 4f 4e 4c 59 20 3d 20 30 78 30 30 30  S_ILONLY = 0x000
20a90 30 30 30 30 31 2c 0d 0a 20 20 43 4f 4d 49 4d 41  00001,..  COMIMA
20aa0 47 45 5f 46 4c 41 47 53 5f 33 32 42 49 54 52 45  GE_FLAGS_32BITRE
20ab0 51 55 49 52 45 44 20 3d 20 30 78 30 30 30 30 30  QUIRED = 0x00000
20ac0 30 30 32 2c 0d 0a 20 20 43 4f 4d 49 4d 41 47 45  002,..  COMIMAGE
20ad0 5f 46 4c 41 47 53 5f 49 4c 5f 4c 49 42 52 41 52  _FLAGS_IL_LIBRAR
20ae0 59 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0d  Y = 0x00000004,.
20af0 0a 20 20 43 4f 4d 49 4d 41 47 45 5f 46 4c 41 47  .  COMIMAGE_FLAG
20b00 53 5f 54 52 41 43 4b 44 45 42 55 47 44 41 54 41  S_TRACKDEBUGDATA
20b10 20 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0d 0a   = 0x00010000,..
20b20 0d 0a 20 20 43 4f 52 5f 56 45 52 53 49 4f 4e 5f  ..  COR_VERSION_
20b30 4d 41 4a 4f 52 5f 56 32 20 3d 20 32 2c 0d 0a 20  MAJOR_V2 = 2,.. 
20b40 20 43 4f 52 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a   COR_VERSION_MAJ
20b50 4f 52 20 3d 20 43 4f 52 5f 56 45 52 53 49 4f 4e  OR = COR_VERSION
20b60 5f 4d 41 4a 4f 52 5f 56 32 2c 0d 0a 20 20 43 4f  _MAJOR_V2,..  CO
20b70 52 5f 56 45 52 53 49 4f 4e 5f 4d 49 4e 4f 52 20  R_VERSION_MINOR 
20b80 3d 20 30 2c 0d 0a 20 20 43 4f 52 5f 44 45 4c 45  = 0,..  COR_DELE
20b90 54 45 44 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 20  TED_NAME_LENGTH 
20ba0 3d 20 38 2c 0d 0a 20 20 43 4f 52 5f 56 54 41 42  = 8,..  COR_VTAB
20bb0 4c 45 47 41 50 5f 4e 41 4d 45 5f 4c 45 4e 47 54  LEGAP_NAME_LENGT
20bc0 48 20 3d 20 38 2c 0d 0a 0d 0a 20 20 4e 41 54 49  H = 8,....  NATI
20bd0 56 45 5f 54 59 50 45 5f 4d 41 58 5f 43 42 20 3d  VE_TYPE_MAX_CB =
20be0 20 31 2c 0d 0a 20 20 43 4f 52 5f 49 4c 4d 45 54   1,..  COR_ILMET
20bf0 48 4f 44 5f 53 45 43 54 5f 53 4d 41 4c 4c 5f 4d  HOD_SECT_SMALL_M
20c00 41 58 5f 44 41 54 41 53 49 5a 45 20 3d 20 30 78  AX_DATASIZE = 0x
20c10 46 46 2c 0d 0a 0d 0a 20 20 49 4d 41 47 45 5f 43  FF,....  IMAGE_C
20c20 4f 52 5f 4d 49 48 5f 4d 45 54 48 4f 44 52 56 41  OR_MIH_METHODRVA
20c30 20 3d 20 30 78 30 31 2c 0d 0a 20 20 49 4d 41 47   = 0x01,..  IMAG
20c40 45 5f 43 4f 52 5f 4d 49 48 5f 45 48 52 56 41 20  E_COR_MIH_EHRVA 
20c50 3d 20 30 78 30 32 2c 0d 0a 20 20 49 4d 41 47 45  = 0x02,..  IMAGE
20c60 5f 43 4f 52 5f 4d 49 48 5f 42 41 53 49 43 42 4c  _COR_MIH_BASICBL
20c70 4f 43 4b 20 3d 20 30 78 30 38 2c 0d 0a 0d 0a 20  OCK = 0x08,.... 
20c80 20 43 4f 52 5f 56 54 41 42 4c 45 5f 33 32 42 49   COR_VTABLE_32BI
20c90 54 20 3d 20 30 78 30 31 2c 0d 0a 20 20 43 4f 52  T = 0x01,..  COR
20ca0 5f 56 54 41 42 4c 45 5f 36 34 42 49 54 20 3d 20  _VTABLE_64BIT = 
20cb0 30 78 30 32 2c 0d 0a 20 20 43 4f 52 5f 56 54 41  0x02,..  COR_VTA
20cc0 42 4c 45 5f 46 52 4f 4d 5f 55 4e 4d 41 4e 41 47  BLE_FROM_UNMANAG
20cd0 45 44 20 3d 20 30 78 30 34 2c 0d 0a 20 20 43 4f  ED = 0x04,..  CO
20ce0 52 5f 56 54 41 42 4c 45 5f 43 41 4c 4c 5f 4d 4f  R_VTABLE_CALL_MO
20cf0 53 54 5f 44 45 52 49 56 45 44 20 3d 20 30 78 31  ST_DERIVED = 0x1
20d00 30 2c 0d 0a 0d 0a 20 20 49 4d 41 47 45 5f 43 4f  0,....  IMAGE_CO
20d10 52 5f 45 41 54 4a 5f 54 48 55 4e 4b 5f 53 49 5a  R_EATJ_THUNK_SIZ
20d20 45 20 3d 20 33 32 2c 0d 0a 0d 0a 20 20 4d 41 58  E = 32,....  MAX
20d30 5f 43 4c 41 53 53 5f 4e 41 4d 45 20 3d 20 31 30  _CLASS_NAME = 10
20d40 32 34 2c 0d 0a 20 20 4d 41 58 5f 50 41 43 4b 41  24,..  MAX_PACKA
20d50 47 45 5f 4e 41 4d 45 20 3d 20 31 30 32 34 2c 0d  GE_NAME = 1024,.
20d60 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 49 4d 41  .}....struct IMA
20d70 47 45 5f 43 4f 52 32 30 5f 48 45 41 44 45 52 20  GE_COR20_HEADER 
20d80 7b 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 63 62 3b  {....  DWORD cb;
20d90 0d 0a 20 20 57 4f 52 44 20 4d 61 6a 6f 72 52 75  ..  WORD MajorRu
20da0 6e 74 69 6d 65 56 65 72 73 69 6f 6e 3b 0d 0a 20  ntimeVersion;.. 
20db0 20 57 4f 52 44 20 4d 69 6e 6f 72 52 75 6e 74 69   WORD MinorRunti
20dc0 6d 65 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 49 4d  meVersion;..  IM
20dd0 41 47 45 5f 44 41 54 41 5f 44 49 52 45 43 54 4f  AGE_DATA_DIRECTO
20de0 52 59 20 4d 65 74 61 44 61 74 61 3b 0d 0a 20 20  RY MetaData;..  
20df0 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20  DWORD Flags;..  
20e00 44 57 4f 52 44 20 45 6e 74 72 79 50 6f 69 6e 74  DWORD EntryPoint
20e10 54 6f 6b 65 6e 3b 0d 0a 20 20 49 4d 41 47 45 5f  Token;..  IMAGE_
20e20 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20 52  DATA_DIRECTORY R
20e30 65 73 6f 75 72 63 65 73 3b 0d 0a 20 20 49 4d 41  esources;..  IMA
20e40 47 45 5f 44 41 54 41 5f 44 49 52 45 43 54 4f 52  GE_DATA_DIRECTOR
20e50 59 20 53 74 72 6f 6e 67 4e 61 6d 65 53 69 67 6e  Y StrongNameSign
20e60 61 74 75 72 65 3b 0d 0a 20 20 49 4d 41 47 45 5f  ature;..  IMAGE_
20e70 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20 43  DATA_DIRECTORY C
20e80 6f 64 65 4d 61 6e 61 67 65 72 54 61 62 6c 65 3b  odeManagerTable;
20e90 0d 0a 20 20 49 4d 41 47 45 5f 44 41 54 41 5f 44  ..  IMAGE_DATA_D
20ea0 49 52 45 43 54 4f 52 59 20 56 54 61 62 6c 65 46  IRECTORY VTableF
20eb0 69 78 75 70 73 3b 0d 0a 20 20 49 4d 41 47 45 5f  ixups;..  IMAGE_
20ec0 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20 45  DATA_DIRECTORY E
20ed0 78 70 6f 72 74 41 64 64 72 65 73 73 54 61 62 6c  xportAddressTabl
20ee0 65 4a 75 6d 70 73 3b 0d 0a 20 20 49 4d 41 47 45  eJumps;..  IMAGE
20ef0 5f 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 20  _DATA_DIRECTORY 
20f00 4d 61 6e 61 67 65 64 4e 61 74 69 76 65 48 65 61  ManagedNativeHea
20f10 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49  der;..}..alias I
20f20 4d 41 47 45 5f 43 4f 52 32 30 5f 48 45 41 44 45  MAGE_COR20_HEADE
20f30 52 2a 20 50 49 4d 41 47 45 5f 43 4f 52 32 30 5f  R* PIMAGE_COR20_
20f40 48 45 41 44 45 52 3b 0d 0a 0d 0a 2f 2f 20 23 65  HEADER;....// #e
20f50 6e 64 69 66 20 2f 2f 20 5f 5f 49 4d 41 47 45 5f  ndif // __IMAGE_
20f60 43 4f 52 32 30 5f 48 45 41 44 45 52 5f 44 45 46  COR20_HEADER_DEF
20f70 49 4e 45 44 5f 5f 0d 0a 0d 0a 2f 2f 20 23 69 66  INED__....// #if
20f80 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 69 66  def _MAC..// #if
20f90 6e 64 65 66 20 5f 49 4e 43 5f 53 54 52 49 4e 47  ndef _INC_STRING
20fa0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
20fb0 6e 64 69 66 20 2f 2a 20 5f 49 4e 43 5f 53 54 52  ndif /* _INC_STR
20fc0 49 4e 47 20 2a 2f 0d 0a 2f 2f 20 23 65 6c 73 65  ING */..// #else
20fd0 0d 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20 3c 73  ..// #include <s
20fe0 74 72 69 6e 67 2e 68 3e 0d 0a 2f 2f 20 23 65 6e  tring.h>..// #en
20ff0 64 69 66 20 2f 2f 20 5f 4d 41 43 0d 0a 0d 0a 2f  dif // _MAC..../
21000 2f 20 23 69 66 6e 64 65 66 20 5f 53 4c 49 53 54  / #ifndef _SLIST
21010 5f 48 45 41 44 45 52 5f 0d 0a 2f 2f 20 23 64 65  _HEADER_..// #de
21020 66 69 6e 65 20 5f 53 4c 49 53 54 5f 48 45 41 44  fine _SLIST_HEAD
21030 45 52 5f 0d 0a 0d 0a 61 6c 69 61 73 20 53 49 4e  ER_....alias SIN
21040 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 52 59 20 53  GLE_LIST_ENTRY S
21050 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 61 6c 69  LIST_ENTRY;..ali
21060 61 73 20 5f 53 49 4e 47 4c 45 5f 4c 49 53 54 5f  as _SINGLE_LIST_
21070 45 4e 54 52 59 20 5f 53 4c 49 53 54 5f 45 4e 54  ENTRY _SLIST_ENT
21080 52 59 3b 0d 0a 61 6c 69 61 73 20 50 53 49 4e 47  RY;..alias PSING
21090 4c 45 5f 4c 49 53 54 5f 45 4e 54 52 59 20 50 53  LE_LIST_ENTRY PS
210a0 4c 49 53 54 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 2f  LIST_ENTRY;..../
210b0 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 57  / #if defined(_W
210c0 49 4e 36 34 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  IN64)....// ....
210d0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
210e0 23 65 6c 73 65 0d 0a 0d 0a 75 6e 69 6f 6e 20 5f  #else....union _
210f0 53 4c 49 53 54 5f 48 45 41 44 45 52 20 7b 0d 0a  SLIST_HEADER {..
21100 20 20 55 4c 4f 4e 47 4c 4f 4e 47 20 41 6c 69 67    ULONGLONG Alig
21110 6e 6d 65 6e 74 3b 0d 0a 73 74 72 75 63 74 20 7b  nment;..struct {
21120 0d 0a 20 20 53 4c 49 53 54 5f 45 4e 54 52 59 20  ..  SLIST_ENTRY 
21130 4e 65 78 74 3b 0d 0a 20 20 57 4f 52 44 20 44 65  Next;..  WORD De
21140 70 74 68 3b 0d 0a 20 20 57 4f 52 44 20 53 65 71  pth;..  WORD Seq
21150 75 65 6e 63 65 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a  uence;..}....}..
21160 61 6c 69 61 73 20 5f 53 4c 49 53 54 5f 48 45 41  alias _SLIST_HEA
21170 44 45 52 20 53 4c 49 53 54 5f 48 45 41 44 45 52  DER SLIST_HEADER
21180 3b 0d 0a 61 6c 69 61 73 20 5f 53 4c 49 53 54 5f  ;..alias _SLIST_
21190 48 45 41 44 45 52 2a 20 50 53 4c 49 53 54 5f 48  HEADER* PSLIST_H
211a0 45 41 44 45 52 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  EADER;....// #en
211b0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
211c0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
211d0 77 73 29 20 65 78 70 6f 72 74 20 56 4f 49 44 20  ws) export VOID 
211e0 52 74 6c 49 6e 69 74 69 61 6c 69 7a 65 53 4c 69  RtlInitializeSLi
211f0 73 74 48 65 61 64 28 0d 0a 20 20 50 53 4c 49 53  stHead(..  PSLIS
21200 54 5f 48 45 41 44 45 52 20 4c 69 73 74 48 65 61  T_HEADER ListHea
21210 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
21220 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 50 53  ndows) export PS
21230 4c 49 53 54 5f 45 4e 54 52 59 20 52 74 6c 46 69  LIST_ENTRY RtlFi
21240 72 73 74 45 6e 74 72 79 53 4c 69 73 74 28 0d 0a  rstEntrySList(..
21250 20 20 53 4c 49 53 54 5f 48 45 41 44 45 52 20 2a    SLIST_HEADER *
21260 4c 69 73 74 48 65 61 64 29 3b 0d 0a 0d 0a 65 78  ListHead);....ex
21270 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
21280 70 6f 72 74 20 50 53 4c 49 53 54 5f 45 4e 54 52  port PSLIST_ENTR
21290 59 20 52 74 6c 49 6e 74 65 72 6c 6f 63 6b 65 64  Y RtlInterlocked
212a0 50 6f 70 45 6e 74 72 79 53 4c 69 73 74 28 0d 0a  PopEntrySList(..
212b0 20 20 50 53 4c 49 53 54 5f 48 45 41 44 45 52 20    PSLIST_HEADER 
212c0 4c 69 73 74 48 65 61 64 29 3b 0d 0a 0d 0a 65 78  ListHead);....ex
212d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
212e0 70 6f 72 74 20 50 53 4c 49 53 54 5f 45 4e 54 52  port PSLIST_ENTR
212f0 59 20 52 74 6c 49 6e 74 65 72 6c 6f 63 6b 65 64  Y RtlInterlocked
21300 50 75 73 68 45 6e 74 72 79 53 4c 69 73 74 28 0d  PushEntrySList(.
21310 0a 20 20 50 53 4c 49 53 54 5f 48 45 41 44 45 52  .  PSLIST_HEADER
21320 20 4c 69 73 74 48 65 61 64 2c 0d 0a 20 20 50 53   ListHead,..  PS
21330 4c 49 53 54 5f 45 4e 54 52 59 20 4c 69 73 74 45  LIST_ENTRY ListE
21340 6e 74 72 79 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ntry);....extern
21350 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
21360 20 50 53 4c 49 53 54 5f 45 4e 54 52 59 20 52 74   PSLIST_ENTRY Rt
21370 6c 49 6e 74 65 72 6c 6f 63 6b 65 64 46 6c 75 73  lInterlockedFlus
21380 68 53 4c 69 73 74 28 0d 0a 20 20 50 53 4c 49 53  hSList(..  PSLIS
21390 54 5f 48 45 41 44 45 52 20 4c 69 73 74 48 65 61  T_HEADER ListHea
213a0 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
213b0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 57 4f  ndows) export WO
213c0 52 44 20 52 74 6c 51 75 65 72 79 44 65 70 74 68  RD RtlQueryDepth
213d0 53 4c 69 73 74 28 0d 0a 20 20 50 53 4c 49 53 54  SList(..  PSLIST
213e0 5f 48 45 41 44 45 52 20 4c 69 73 74 48 65 61 64  _HEADER ListHead
213f0 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  );....enum : uin
21400 74 20 7b 20 48 45 41 50 5f 4e 4f 5f 53 45 52 49  t { HEAP_NO_SERI
21410 41 4c 49 5a 45 20 3d 20 30 78 30 30 30 30 30 30  ALIZE = 0x000000
21420 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
21430 74 20 7b 20 48 45 41 50 5f 47 52 4f 57 41 42 4c  t { HEAP_GROWABL
21440 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  E = 0x00000002 }
21450 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21460 48 45 41 50 5f 47 45 4e 45 52 41 54 45 5f 45 58  HEAP_GENERATE_EX
21470 43 45 50 54 49 4f 4e 53 20 3d 20 30 78 30 30 30  CEPTIONS = 0x000
21480 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
21490 75 69 6e 74 20 7b 20 48 45 41 50 5f 5a 45 52 4f  uint { HEAP_ZERO
214a0 5f 4d 45 4d 4f 52 59 20 3d 20 30 78 30 30 30 30  _MEMORY = 0x0000
214b0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
214c0 69 6e 74 20 7b 20 48 45 41 50 5f 52 45 41 4c 4c  int { HEAP_REALL
214d0 4f 43 5f 49 4e 5f 50 4c 41 43 45 5f 4f 4e 4c 59  OC_IN_PLACE_ONLY
214e0 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
214f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
21500 45 41 50 5f 54 41 49 4c 5f 43 48 45 43 4b 49 4e  EAP_TAIL_CHECKIN
21510 47 5f 45 4e 41 42 4c 45 44 20 3d 20 30 78 30 30  G_ENABLED = 0x00
21520 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000020 }..enum :
21530 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 46 52 45   uint { HEAP_FRE
21540 45 5f 43 48 45 43 4b 49 4e 47 5f 45 4e 41 42 4c  E_CHECKING_ENABL
21550 45 44 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  ED = 0x00000040 
21560 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21570 20 48 45 41 50 5f 44 49 53 41 42 4c 45 5f 43 4f   HEAP_DISABLE_CO
21580 41 4c 45 53 43 45 5f 4f 4e 5f 46 52 45 45 20 3d  ALESCE_ON_FREE =
21590 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65   0x00000080 }..e
215a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 41  num : uint { HEA
215b0 50 5f 43 52 45 41 54 45 5f 41 4c 49 47 4e 5f 31  P_CREATE_ALIGN_1
215c0 36 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d  6 = 0x00010000 }
215d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
215e0 48 45 41 50 5f 43 52 45 41 54 45 5f 45 4e 41 42  HEAP_CREATE_ENAB
215f0 4c 45 5f 54 52 41 43 49 4e 47 20 3d 20 30 78 30  LE_TRACING = 0x0
21600 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0020000 }..enum 
21610 3a 20 75 69 6e 74 20 7b 20 48 45 41 50 5f 4d 41  : uint { HEAP_MA
21620 58 49 4d 55 4d 5f 54 41 47 20 3d 20 30 78 30 46  XIMUM_TAG = 0x0F
21630 46 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  FF }..enum : uin
21640 74 20 7b 20 48 45 41 50 5f 50 53 45 55 44 4f 5f  t { HEAP_PSEUDO_
21650 54 41 47 5f 46 4c 41 47 20 3d 20 30 78 38 30 30  TAG_FLAG = 0x800
21660 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
21670 20 7b 20 48 45 41 50 5f 54 41 47 5f 53 48 49 46   { HEAP_TAG_SHIF
21680 54 20 3d 20 31 38 20 7d 0d 0a 75 69 6e 74 20 48  T = 18 }..uint H
21690 45 41 50 5f 4d 41 4b 45 5f 54 41 47 5f 46 4c 41  EAP_MAKE_TAG_FLA
216a0 47 53 28 75 69 6e 74 20 62 2c 20 75 69 6e 74 20  GS(uint b, uint 
216b0 6f 29 7b 20 72 65 74 75 72 6e 20 62 20 2b 20 28  o){ return b + (
216c0 6f 20 3c 3c 20 31 38 29 3b 20 7d 0d 0a 0d 0a 65  o << 18); }....e
216d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f  num : uint { IS_
216e0 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 41 53 43  TEXT_UNICODE_ASC
216f0 49 49 31 36 20 3d 20 30 78 30 30 30 31 20 7d 0d  II16 = 0x0001 }.
21700 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
21710 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 52  S_TEXT_UNICODE_R
21720 45 56 45 52 53 45 5f 41 53 43 49 49 31 36 20 3d  EVERSE_ASCII16 =
21730 20 30 78 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75   0x0010 }....enu
21740 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54 45  m : uint { IS_TE
21750 58 54 5f 55 4e 49 43 4f 44 45 5f 53 54 41 54 49  XT_UNICODE_STATI
21760 53 54 49 43 53 20 3d 20 30 78 30 30 30 32 20 7d  STICS = 0x0002 }
21770 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21780 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f  IS_TEXT_UNICODE_
21790 52 45 56 45 52 53 45 5f 53 54 41 54 49 53 54 49  REVERSE_STATISTI
217a0 43 53 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d  CS = 0x0020 }...
217b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
217c0 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 43  S_TEXT_UNICODE_C
217d0 4f 4e 54 52 4f 4c 53 20 3d 20 30 78 30 30 30 34  ONTROLS = 0x0004
217e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
217f0 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44  { IS_TEXT_UNICOD
21800 45 5f 52 45 56 45 52 53 45 5f 43 4f 4e 54 52 4f  E_REVERSE_CONTRO
21810 4c 53 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 0d  LS = 0x0040 }...
21820 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
21830 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 53  S_TEXT_UNICODE_S
21840 49 47 4e 41 54 55 52 45 20 3d 20 30 78 30 30 30  IGNATURE = 0x000
21850 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
21860 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f   { IS_TEXT_UNICO
21870 44 45 5f 52 45 56 45 52 53 45 5f 53 49 47 4e 41  DE_REVERSE_SIGNA
21880 54 55 52 45 20 3d 20 30 78 30 30 38 30 20 7d 0d  TURE = 0x0080 }.
21890 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
218a0 20 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45   IS_TEXT_UNICODE
218b0 5f 49 4c 4c 45 47 41 4c 5f 43 48 41 52 53 20 3d  _ILLEGAL_CHARS =
218c0 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0100 }..enum 
218d0 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54 45 58 54  : uint { IS_TEXT
218e0 5f 55 4e 49 43 4f 44 45 5f 4f 44 44 5f 4c 45 4e  _UNICODE_ODD_LEN
218f0 47 54 48 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  GTH = 0x0200 }..
21900 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53  enum : uint { IS
21910 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 44 42  _TEXT_UNICODE_DB
21920 43 53 5f 4c 45 41 44 42 59 54 45 20 3d 20 30 78  CS_LEADBYTE = 0x
21930 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0400 }..enum : u
21940 69 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e  int { IS_TEXT_UN
21950 49 43 4f 44 45 5f 4e 55 4c 4c 5f 42 59 54 45 53  ICODE_NULL_BYTES
21960 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a 65   = 0x1000 }....e
21970 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f  num : uint { IS_
21980 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 55 4e 49  TEXT_UNICODE_UNI
21990 43 4f 44 45 5f 4d 41 53 4b 20 3d 20 30 78 30 30  CODE_MASK = 0x00
219a0 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0F }..enum : uin
219b0 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e 49 43  t { IS_TEXT_UNIC
219c0 4f 44 45 5f 52 45 56 45 52 53 45 5f 4d 41 53 4b  ODE_REVERSE_MASK
219d0 20 3d 20 30 78 30 30 46 30 20 7d 0d 0a 65 6e 75   = 0x00F0 }..enu
219e0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 5f 54 45  m : uint { IS_TE
219f0 58 54 5f 55 4e 49 43 4f 44 45 5f 4e 4f 54 5f 55  XT_UNICODE_NOT_U
21a00 4e 49 43 4f 44 45 5f 4d 41 53 4b 20 3d 20 30 78  NICODE_MASK = 0x
21a10 30 46 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0F00 }..enum : u
21a20 69 6e 74 20 7b 20 49 53 5f 54 45 58 54 5f 55 4e  int { IS_TEXT_UN
21a30 49 43 4f 44 45 5f 4e 4f 54 5f 41 53 43 49 49 5f  ICODE_NOT_ASCII_
21a40 4d 41 53 4b 20 3d 20 30 78 46 30 30 30 20 7d 0d  MASK = 0xF000 }.
21a50 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
21a60 20 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 46 4f 52   COMPRESSION_FOR
21a70 4d 41 54 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30  MAT_NONE = 0x000
21a80 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
21a90 20 7b 20 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 46   { COMPRESSION_F
21aa0 4f 52 4d 41 54 5f 44 45 46 41 55 4c 54 20 3d 20  ORMAT_DEFAULT = 
21ab0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
21ac0 20 75 69 6e 74 20 7b 20 43 4f 4d 50 52 45 53 53   uint { COMPRESS
21ad0 49 4f 4e 5f 46 4f 52 4d 41 54 5f 4c 5a 4e 54 31  ION_FORMAT_LZNT1
21ae0 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
21af0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4d 50 52  m : uint { COMPR
21b00 45 53 53 49 4f 4e 5f 45 4e 47 49 4e 45 5f 53 54  ESSION_ENGINE_ST
21b10 41 4e 44 41 52 44 20 3d 20 30 78 30 30 30 30 20  ANDARD = 0x0000 
21b20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21b30 20 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 45 4e 47   COMPRESSION_ENG
21b40 49 4e 45 5f 4d 41 58 49 4d 55 4d 20 3d 20 30 78  INE_MAXIMUM = 0x
21b50 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
21b60 69 6e 74 20 7b 20 43 4f 4d 50 52 45 53 53 49 4f  int { COMPRESSIO
21b70 4e 5f 45 4e 47 49 4e 45 5f 48 49 42 45 52 20 3d  N_ENGINE_HIBER =
21b80 20 30 78 30 32 30 30 20 7d 0d 0a 0d 0a 65 78 74   0x0200 }....ext
21b90 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21ba0 6f 72 74 20 53 49 5a 45 5f 54 20 52 74 6c 43 6f  ort SIZE_T RtlCo
21bb0 6d 70 61 72 65 4d 65 6d 6f 72 79 28 0d 0a 20 20  mpareMemory(..  
21bc0 56 4f 49 44 20 2a 53 6f 75 72 63 65 31 2c 0d 0a  VOID *Source1,..
21bd0 20 20 56 4f 49 44 20 2a 53 6f 75 72 63 65 32 2c    VOID *Source2,
21be0 0d 0a 20 20 53 49 5a 45 5f 54 20 4c 65 6e 67 74  ..  SIZE_T Lengt
21bf0 68 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65  h);....// #if de
21c00 66 69 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 20  fined(_M_AMD64) 
21c10 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 5f 49 41  || defined(_M_IA
21c20 36 34 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  64)....// #.....
21c30 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
21c40 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  ....// #if !defi
21c50 6e 65 64 28 5f 4d 5f 41 4d 44 36 34 29 0d 0a 0d  ned(_M_AMD64)...
21c60 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  .// .......// #e
21c70 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  ndif....// .....
21c80 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
21c90 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ......// #else..
21ca0 0d 0a 62 69 74 20 52 74 6c 45 71 75 61 6c 4d 65  ..bit RtlEqualMe
21cb0 6d 6f 72 79 28 76 6f 69 64 2a 20 78 2c 20 76 6f  mory(void* x, vo
21cc0 69 64 2a 20 79 2c 20 75 69 6e 74 20 6c 65 6e 29  id* y, uint len)
21cd0 7b 20 72 65 74 75 72 6e 20 6d 65 6d 63 6d 70 28  { return memcmp(
21ce0 78 2c 20 79 2c 20 6c 65 6e 29 20 3d 3d 20 30 3b  x, y, len) == 0;
21cf0 20 7d 0d 0a 76 6f 69 64 20 52 74 6c 4d 6f 76 65   }..void RtlMove
21d00 4d 65 6d 6f 72 79 28 76 6f 69 64 2a 20 64 2c 20  Memory(void* d, 
21d10 76 6f 69 64 2a 20 73 2c 20 75 69 6e 74 20 6c 65  void* s, uint le
21d20 6e 29 7b 20 6d 65 6d 6d 6f 76 65 28 64 2c 20 73  n){ memmove(d, s
21d30 2c 20 6c 65 6e 29 3b 20 7d 0d 0a 76 6f 69 64 20  , len); }..void 
21d40 52 74 6c 43 6f 70 79 4d 65 6d 6f 72 79 28 76 6f  RtlCopyMemory(vo
21d50 69 64 2a 20 64 2c 20 76 6f 69 64 2a 20 73 2c 20  id* d, void* s, 
21d60 75 69 6e 74 20 6c 65 6e 29 7b 20 6d 65 6d 63 70  uint len){ memcp
21d70 79 28 64 2c 20 73 2c 20 6c 65 6e 29 3b 20 7d 0d  y(d, s, len); }.
21d80 0a 76 6f 69 64 20 52 74 6c 46 69 6c 6c 4d 65 6d  .void RtlFillMem
21d90 6f 72 79 28 76 6f 69 64 2a 20 64 2c 20 75 69 6e  ory(void* d, uin
21da0 74 20 6c 65 6e 2c 20 75 62 79 74 65 20 66 29 7b  t len, ubyte f){
21db0 20 6d 65 6d 73 65 74 28 64 2c 20 66 2c 20 6c 65   memset(d, f, le
21dc0 6e 29 3b 20 7d 0d 0a 76 6f 69 64 20 52 74 6c 5a  n); }..void RtlZ
21dd0 65 72 6f 4d 65 6d 6f 72 79 28 76 6f 69 64 2a 20  eroMemory(void* 
21de0 64 2c 20 75 69 6e 74 20 6c 65 6e 29 7b 20 6d 65  d, uint len){ me
21df0 6d 73 65 74 28 64 2c 20 30 2c 20 6c 65 6e 29 3b  mset(d, 0, len);
21e00 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   }....// #endif.
21e10 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 45 53 53 41  ...struct _MESSA
21e20 47 45 5f 52 45 53 4f 55 52 43 45 5f 45 4e 54 52  GE_RESOURCE_ENTR
21e30 59 20 7b 0d 0a 20 20 57 4f 52 44 20 4c 65 6e 67  Y {..  WORD Leng
21e40 74 68 3b 0d 0a 20 20 57 4f 52 44 20 46 6c 61 67  th;..  WORD Flag
21e50 73 3b 0d 0a 20 20 42 59 54 45 20 54 65 78 74 5b  s;..  BYTE Text[
21e60 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   1 ];..}..alias 
21e70 5f 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43  _MESSAGE_RESOURC
21e80 45 5f 45 4e 54 52 59 20 4d 45 53 53 41 47 45 5f  E_ENTRY MESSAGE_
21e90 52 45 53 4f 55 52 43 45 5f 45 4e 54 52 59 3b 0d  RESOURCE_ENTRY;.
21ea0 0a 61 6c 69 61 73 20 5f 4d 45 53 53 41 47 45 5f  .alias _MESSAGE_
21eb0 52 45 53 4f 55 52 43 45 5f 45 4e 54 52 59 2a 20  RESOURCE_ENTRY* 
21ec0 50 4d 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43  PMESSAGE_RESOURC
21ed0 45 5f 45 4e 54 52 59 3b 0d 0a 0d 0a 65 6e 75 6d  E_ENTRY;....enum
21ee0 20 3a 20 75 69 6e 74 20 7b 20 4d 45 53 53 41 47   : uint { MESSAG
21ef0 45 5f 52 45 53 4f 55 52 43 45 5f 55 4e 49 43 4f  E_RESOURCE_UNICO
21f00 44 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d  DE = 0x0001 }...
21f10 0a 73 74 72 75 63 74 20 5f 4d 45 53 53 41 47 45  .struct _MESSAGE
21f20 5f 52 45 53 4f 55 52 43 45 5f 42 4c 4f 43 4b 20  _RESOURCE_BLOCK 
21f30 7b 0d 0a 20 20 44 57 4f 52 44 20 4c 6f 77 49 64  {..  DWORD LowId
21f40 3b 0d 0a 20 20 44 57 4f 52 44 20 48 69 67 68 49  ;..  DWORD HighI
21f50 64 3b 0d 0a 20 20 44 57 4f 52 44 20 4f 66 66 73  d;..  DWORD Offs
21f60 65 74 54 6f 45 6e 74 72 69 65 73 3b 0d 0a 7d 0d  etToEntries;..}.
21f70 0a 61 6c 69 61 73 20 5f 4d 45 53 53 41 47 45 5f  .alias _MESSAGE_
21f80 52 45 53 4f 55 52 43 45 5f 42 4c 4f 43 4b 20 4d  RESOURCE_BLOCK M
21f90 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  ESSAGE_RESOURCE_
21fa0 42 4c 4f 43 4b 3b 0d 0a 61 6c 69 61 73 20 5f 4d  BLOCK;..alias _M
21fb0 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  ESSAGE_RESOURCE_
21fc0 42 4c 4f 43 4b 2a 20 50 4d 45 53 53 41 47 45 5f  BLOCK* PMESSAGE_
21fd0 52 45 53 4f 55 52 43 45 5f 42 4c 4f 43 4b 3b 0d  RESOURCE_BLOCK;.
21fe0 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 45 53 53 41  ...struct _MESSA
21ff0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41  GE_RESOURCE_DATA
22000 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4e 75 6d 62   {..  DWORD Numb
22010 65 72 4f 66 42 6c 6f 63 6b 73 3b 0d 0a 20 20 4d  erOfBlocks;..  M
22020 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f  ESSAGE_RESOURCE_
22030 42 4c 4f 43 4b 20 42 6c 6f 63 6b 73 5b 20 31 20  BLOCK Blocks[ 1 
22040 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 45  ];..}..alias _ME
22050 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44  SSAGE_RESOURCE_D
22060 41 54 41 20 4d 45 53 53 41 47 45 5f 52 45 53 4f  ATA MESSAGE_RESO
22070 55 52 43 45 5f 44 41 54 41 3b 0d 0a 61 6c 69 61  URCE_DATA;..alia
22080 73 20 5f 4d 45 53 53 41 47 45 5f 52 45 53 4f 55  s _MESSAGE_RESOU
22090 52 43 45 5f 44 41 54 41 2a 20 50 4d 45 53 53 41  RCE_DATA* PMESSA
220a0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 54 41  GE_RESOURCE_DATA
220b0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4f 53 56  ;....struct _OSV
220c0 45 52 53 49 4f 4e 49 4e 46 4f 41 20 7b 0d 0a 20  ERSIONINFOA {.. 
220d0 20 44 57 4f 52 44 20 64 77 4f 53 56 65 72 73 69   DWORD dwOSVersi
220e0 6f 6e 49 6e 66 6f 53 69 7a 65 3b 0d 0a 20 20 44  onInfoSize;..  D
220f0 57 4f 52 44 20 64 77 4d 61 6a 6f 72 56 65 72 73  WORD dwMajorVers
22100 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ion;..  DWORD dw
22110 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  MinorVersion;.. 
22120 20 44 57 4f 52 44 20 64 77 42 75 69 6c 64 4e 75   DWORD dwBuildNu
22130 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64  mber;..  DWORD d
22140 77 50 6c 61 74 66 6f 72 6d 49 64 3b 0d 0a 20 20  wPlatformId;..  
22150 43 48 41 52 20 73 7a 43 53 44 56 65 72 73 69 6f  CHAR szCSDVersio
22160 6e 5b 20 31 32 38 20 5d 3b 0d 0a 7d 0d 0a 61 6c  n[ 128 ];..}..al
22170 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e  ias _OSVERSIONIN
22180 46 4f 41 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46  FOA OSVERSIONINF
22190 4f 41 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45  OA;..alias _OSVE
221a0 52 53 49 4f 4e 49 4e 46 4f 41 2a 20 50 4f 53 56  RSIONINFOA* POSV
221b0 45 52 53 49 4f 4e 49 4e 46 4f 41 3b 0d 0a 61 6c  ERSIONINFOA;..al
221c0 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e  ias _OSVERSIONIN
221d0 46 4f 41 2a 20 4c 50 4f 53 56 45 52 53 49 4f 4e  FOA* LPOSVERSION
221e0 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  INFOA;....struct
221f0 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57   _OSVERSIONINFOW
22200 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4f 53   {..  DWORD dwOS
22210 56 65 72 73 69 6f 6e 49 6e 66 6f 53 69 7a 65 3b  VersionInfoSize;
22220 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 6a 6f  ..  DWORD dwMajo
22230 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f  rVersion;..  DWO
22240 52 44 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f  RD dwMinorVersio
22250 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 42 75  n;..  DWORD dwBu
22260 69 6c 64 4e 75 6d 62 65 72 3b 0d 0a 20 20 44 57  ildNumber;..  DW
22270 4f 52 44 20 64 77 50 6c 61 74 66 6f 72 6d 49 64  ORD dwPlatformId
22280 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 43 53 44  ;..  WCHAR szCSD
22290 56 65 72 73 69 6f 6e 5b 20 31 32 38 20 5d 3b 0d  Version[ 128 ];.
222a0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  .}..alias _OSVER
222b0 53 49 4f 4e 49 4e 46 4f 57 20 4f 53 56 45 52 53  SIONINFOW OSVERS
222c0 49 4f 4e 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73  IONINFOW;..alias
222d0 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57   _OSVERSIONINFOW
222e0 2a 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  * POSVERSIONINFO
222f0 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  W;..alias _OSVER
22300 53 49 4f 4e 49 4e 46 4f 57 2a 20 4c 50 4f 53 56  SIONINFOW* LPOSV
22310 45 52 53 49 4f 4e 49 4e 46 4f 57 3b 0d 0a 61 6c  ERSIONINFOW;..al
22320 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e  ias _OSVERSIONIN
22330 46 4f 57 20 52 54 4c 5f 4f 53 56 45 52 53 49 4f  FOW RTL_OSVERSIO
22340 4e 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 5f  NINFOW;..alias _
22350 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 57 2a 20  OSVERSIONINFOW* 
22360 50 52 54 4c 5f 4f 53 56 45 52 53 49 4f 4e 49 4e  PRTL_OSVERSIONIN
22370 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  FOW;....// #ifde
22380 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e  f UNICODE..// ..
22390 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
223a0 61 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  as OSVERSIONINFO
223b0 41 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 3b  A OSVERSIONINFO;
223c0 0d 0a 61 6c 69 61 73 20 50 4f 53 56 45 52 53 49  ..alias POSVERSI
223d0 4f 4e 49 4e 46 4f 41 20 50 4f 53 56 45 52 53 49  ONINFOA POSVERSI
223e0 4f 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c  ONINFO;..alias L
223f0 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41 20  POSVERSIONINFOA 
22400 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 3b  LPOSVERSIONINFO;
22410 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
22420 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74  NICODE....struct
22430 20 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45   _OSVERSIONINFOE
22440 58 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  XA {..  DWORD dw
22450 4f 53 56 65 72 73 69 6f 6e 49 6e 66 6f 53 69 7a  OSVersionInfoSiz
22460 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61  e;..  DWORD dwMa
22470 6a 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44  jorVersion;..  D
22480 57 4f 52 44 20 64 77 4d 69 6e 6f 72 56 65 72 73  WORD dwMinorVers
22490 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ion;..  DWORD dw
224a0 42 75 69 6c 64 4e 75 6d 62 65 72 3b 0d 0a 20 20  BuildNumber;..  
224b0 44 57 4f 52 44 20 64 77 50 6c 61 74 66 6f 72 6d  DWORD dwPlatform
224c0 49 64 3b 0d 0a 20 20 43 48 41 52 20 73 7a 43 53  Id;..  CHAR szCS
224d0 44 56 65 72 73 69 6f 6e 5b 20 31 32 38 20 5d 3b  DVersion[ 128 ];
224e0 0d 0a 20 20 57 4f 52 44 20 77 53 65 72 76 69 63  ..  WORD wServic
224f0 65 50 61 63 6b 4d 61 6a 6f 72 3b 0d 0a 20 20 57  ePackMajor;..  W
22500 4f 52 44 20 77 53 65 72 76 69 63 65 50 61 63 6b  ORD wServicePack
22510 4d 69 6e 6f 72 3b 0d 0a 20 20 57 4f 52 44 20 77  Minor;..  WORD w
22520 53 75 69 74 65 4d 61 73 6b 3b 0d 0a 20 20 42 59  SuiteMask;..  BY
22530 54 45 20 77 50 72 6f 64 75 63 74 54 79 70 65 3b  TE wProductType;
22540 0d 0a 20 20 42 59 54 45 20 77 52 65 73 65 72 76  ..  BYTE wReserv
22550 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f  ed;..}..alias _O
22560 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 41 20  SVERSIONINFOEXA 
22570 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 41  OSVERSIONINFOEXA
22580 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52 53  ;..alias _OSVERS
22590 49 4f 4e 49 4e 46 4f 45 58 41 2a 20 50 4f 53 56  IONINFOEXA* POSV
225a0 45 52 53 49 4f 4e 49 4e 46 4f 45 58 41 3b 0d 0a  ERSIONINFOEXA;..
225b0 61 6c 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e  alias _OSVERSION
225c0 49 4e 46 4f 45 58 41 2a 20 4c 50 4f 53 56 45 52  INFOEXA* LPOSVER
225d0 53 49 4f 4e 49 4e 46 4f 45 58 41 3b 0d 0a 0d 0a  SIONINFOEXA;....
225e0 73 74 72 75 63 74 20 5f 4f 53 56 45 52 53 49 4f  struct _OSVERSIO
225f0 4e 49 4e 46 4f 45 58 57 20 7b 0d 0a 20 20 44 57  NINFOEXW {..  DW
22600 4f 52 44 20 64 77 4f 53 56 65 72 73 69 6f 6e 49  ORD dwOSVersionI
22610 6e 66 6f 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52  nfoSize;..  DWOR
22620 44 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f 6e  D dwMajorVersion
22630 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 69 6e  ;..  DWORD dwMin
22640 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  orVersion;..  DW
22650 4f 52 44 20 64 77 42 75 69 6c 64 4e 75 6d 62 65  ORD dwBuildNumbe
22660 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 6c  r;..  DWORD dwPl
22670 61 74 66 6f 72 6d 49 64 3b 0d 0a 20 20 57 43 48  atformId;..  WCH
22680 41 52 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 5b  AR szCSDVersion[
22690 20 31 32 38 20 5d 3b 0d 0a 20 20 57 4f 52 44 20   128 ];..  WORD 
226a0 77 53 65 72 76 69 63 65 50 61 63 6b 4d 61 6a 6f  wServicePackMajo
226b0 72 3b 0d 0a 20 20 57 4f 52 44 20 77 53 65 72 76  r;..  WORD wServ
226c0 69 63 65 50 61 63 6b 4d 69 6e 6f 72 3b 0d 0a 20  icePackMinor;.. 
226d0 20 57 4f 52 44 20 77 53 75 69 74 65 4d 61 73 6b   WORD wSuiteMask
226e0 3b 0d 0a 20 20 42 59 54 45 20 77 50 72 6f 64 75  ;..  BYTE wProdu
226f0 63 74 54 79 70 65 3b 0d 0a 20 20 42 59 54 45 20  ctType;..  BYTE 
22700 77 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61  wReserved;..}..a
22710 6c 69 61 73 20 5f 4f 53 56 45 52 53 49 4f 4e 49  lias _OSVERSIONI
22720 4e 46 4f 45 58 57 20 4f 53 56 45 52 53 49 4f 4e  NFOEXW OSVERSION
22730 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c 69 61 73 20  INFOEXW;..alias 
22740 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58  _OSVERSIONINFOEX
22750 57 2a 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46  W* POSVERSIONINF
22760 4f 45 58 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53  OEXW;..alias _OS
22770 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57 2a 20  VERSIONINFOEXW* 
22780 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45  LPOSVERSIONINFOE
22790 58 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45  XW;..alias _OSVE
227a0 52 53 49 4f 4e 49 4e 46 4f 45 58 57 20 52 54 4c  RSIONINFOEXW RTL
227b0 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58  _OSVERSIONINFOEX
227c0 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 53 56 45 52  W;..alias _OSVER
227d0 53 49 4f 4e 49 4e 46 4f 45 58 57 2a 20 50 52 54  SIONINFOEXW* PRT
227e0 4c 5f 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45  L_OSVERSIONINFOE
227f0 58 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  XW;....// #ifdef
22800 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
22810 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
22820 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45  s OSVERSIONINFOE
22830 58 41 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f  XA OSVERSIONINFO
22840 45 58 3b 0d 0a 61 6c 69 61 73 20 50 4f 53 56 45  EX;..alias POSVE
22850 52 53 49 4f 4e 49 4e 46 4f 45 58 41 20 50 4f 53  RSIONINFOEXA POS
22860 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0d 0a  VERSIONINFOEX;..
22870 61 6c 69 61 73 20 4c 50 4f 53 56 45 52 53 49 4f  alias LPOSVERSIO
22880 4e 49 4e 46 4f 45 58 41 20 4c 50 4f 53 56 45 52  NINFOEXA LPOSVER
22890 53 49 4f 4e 49 4e 46 4f 45 58 3b 0d 0a 2f 2f 20  SIONINFOEX;..// 
228a0 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
228b0 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E....enum : uint
228c0 20 7b 20 56 45 52 5f 45 51 55 41 4c 20 3d 20 31   { VER_EQUAL = 1
228d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
228e0 7b 20 56 45 52 5f 47 52 45 41 54 45 52 20 3d 20  { VER_GREATER = 
228f0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
22900 20 7b 20 56 45 52 5f 47 52 45 41 54 45 52 5f 45   { VER_GREATER_E
22910 51 55 41 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  QUAL = 3 }..enum
22920 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 4c 45   : uint { VER_LE
22930 53 53 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  SS = 4 }..enum :
22940 20 75 69 6e 74 20 7b 20 56 45 52 5f 4c 45 53 53   uint { VER_LESS
22950 5f 45 51 55 41 4c 20 3d 20 35 20 7d 0d 0a 65 6e  _EQUAL = 5 }..en
22960 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f  um : uint { VER_
22970 41 4e 44 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  AND = 6 }..enum 
22980 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 4f 52 20  : uint { VER_OR 
22990 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  = 7 }....enum : 
229a0 75 69 6e 74 20 7b 20 56 45 52 5f 43 4f 4e 44 49  uint { VER_CONDI
229b0 54 49 4f 4e 5f 4d 41 53 4b 20 3d 20 37 20 7d 0d  TION_MASK = 7 }.
229c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
229d0 45 52 5f 4e 55 4d 5f 42 49 54 53 5f 50 45 52 5f  ER_NUM_BITS_PER_
229e0 43 4f 4e 44 49 54 49 4f 4e 5f 4d 41 53 4b 20 3d  CONDITION_MASK =
229f0 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   3 }....enum : u
22a00 69 6e 74 20 7b 20 56 45 52 5f 4d 49 4e 4f 52 56  int { VER_MINORV
22a10 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  ERSION = 0x00000
22a20 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
22a30 74 20 7b 20 56 45 52 5f 4d 41 4a 4f 52 56 45 52  t { VER_MAJORVER
22a40 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 32  SION = 0x0000002
22a50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22a60 7b 20 56 45 52 5f 42 55 49 4c 44 4e 55 4d 42 45  { VER_BUILDNUMBE
22a70 52 20 3d 20 30 78 30 30 30 30 30 30 34 20 7d 0d  R = 0x0000004 }.
22a80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
22a90 45 52 5f 50 4c 41 54 46 4f 52 4d 49 44 20 3d 20  ER_PLATFORMID = 
22aa0 30 78 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75  0x0000008 }..enu
22ab0 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 53  m : uint { VER_S
22ac0 45 52 56 49 43 45 50 41 43 4b 4d 49 4e 4f 52 20  ERVICEPACKMINOR 
22ad0 3d 20 30 78 30 30 30 30 30 31 30 20 7d 0d 0a 65  = 0x0000010 }..e
22ae0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52  num : uint { VER
22af0 5f 53 45 52 56 49 43 45 50 41 43 4b 4d 41 4a 4f  _SERVICEPACKMAJO
22b00 52 20 3d 20 30 78 30 30 30 30 30 32 30 20 7d 0d  R = 0x0000020 }.
22b10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
22b20 45 52 5f 53 55 49 54 45 4e 41 4d 45 20 3d 20 30  ER_SUITENAME = 0
22b30 78 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  x0000040 }..enum
22b40 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 50 52   : uint { VER_PR
22b50 4f 44 55 43 54 5f 54 59 50 45 20 3d 20 30 78 30  ODUCT_TYPE = 0x0
22b60 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000080 }....enum
22b70 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 4e 54   : uint { VER_NT
22b80 5f 57 4f 52 4b 53 54 41 54 49 4f 4e 20 3d 20 30  _WORKSTATION = 0
22b90 78 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  x0000001 }..enum
22ba0 20 3a 20 75 69 6e 74 20 7b 20 56 45 52 5f 4e 54   : uint { VER_NT
22bb0 5f 44 4f 4d 41 49 4e 5f 43 4f 4e 54 52 4f 4c 4c  _DOMAIN_CONTROLL
22bc0 45 52 20 3d 20 30 78 30 30 30 30 30 30 32 20 7d  ER = 0x0000002 }
22bd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22be0 56 45 52 5f 4e 54 5f 53 45 52 56 45 52 20 3d 20  VER_NT_SERVER = 
22bf0 30 78 30 30 30 30 30 30 33 20 7d 0d 0a 0d 0a 65  0x0000003 }....e
22c00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 45 52  num : uint { VER
22c10 5f 50 4c 41 54 46 4f 52 4d 5f 57 49 4e 33 32 73  _PLATFORM_WIN32s
22c20 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
22c30 69 6e 74 20 7b 20 56 45 52 5f 50 4c 41 54 46 4f  int { VER_PLATFO
22c40 52 4d 5f 57 49 4e 33 32 5f 57 49 4e 44 4f 57 53  RM_WIN32_WINDOWS
22c50 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
22c60 69 6e 74 20 7b 20 56 45 52 5f 50 4c 41 54 46 4f  int { VER_PLATFO
22c70 52 4d 5f 57 49 4e 33 32 5f 4e 54 20 3d 20 32 20  RM_WIN32_NT = 2 
22c80 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  }....// #define 
22c90 56 45 52 5f 53 45 54 5f 43 4f 4e 44 49 54 49 4f  VER_SET_CONDITIO
22ca0 4e 28 5f 6d 5f 2c 5f 74 5f 2c 5f 63 5f 29 20 28  N(_m_,_t_,_c_) (
22cb0 28 5f 6d 5f 29 3d 56 65 72 53 65 74 43 6f 6e 64  (_m_)=VerSetCond
22cc0 69 74 69 6f 6e 4d 61 73 6b 28 28 5f 6d 5f 29 2c  itionMask((_m_),
22cd0 28 5f 74 5f 29 2c 28 5f 63 5f 29 29 29 0d 0a 0d  (_t_),(_c_)))...
22ce0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
22cf0 20 65 78 70 6f 72 74 20 55 4c 4f 4e 47 4c 4f 4e   export ULONGLON
22d00 47 20 56 65 72 53 65 74 43 6f 6e 64 69 74 69 6f  G VerSetConditio
22d10 6e 4d 61 73 6b 28 0d 0a 20 20 55 4c 4f 4e 47 4c  nMask(..  ULONGL
22d20 4f 4e 47 20 43 6f 6e 64 69 74 69 6f 6e 4d 61 73  ONG ConditionMas
22d30 6b 2c 0d 0a 20 20 44 57 4f 52 44 20 54 79 70 65  k,..  DWORD Type
22d40 4d 61 73 6b 2c 0d 0a 20 20 42 59 54 45 20 43 6f  Mask,..  BYTE Co
22d50 6e 64 69 74 69 6f 6e 29 3b 0d 0a 0d 0a 73 74 72  ndition);....str
22d60 75 63 74 20 5f 52 54 4c 5f 43 52 49 54 49 43 41  uct _RTL_CRITICA
22d70 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 20  L_SECTION_DEBUG 
22d80 7b 0d 0a 20 20 57 4f 52 44 20 54 79 70 65 3b 0d  {..  WORD Type;.
22d90 0a 20 20 57 4f 52 44 20 43 72 65 61 74 6f 72 42  .  WORD CreatorB
22da0 61 63 6b 54 72 61 63 65 49 6e 64 65 78 3b 0d 0a  ackTraceIndex;..
22db0 20 20 5f 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f    _RTL_CRITICAL_
22dc0 53 45 43 54 49 4f 4e 20 2a 43 72 69 74 69 63 61  SECTION *Critica
22dd0 6c 53 65 63 74 69 6f 6e 3b 0d 0a 20 20 4c 49 53  lSection;..  LIS
22de0 54 5f 45 4e 54 52 59 20 50 72 6f 63 65 73 73 4c  T_ENTRY ProcessL
22df0 6f 63 6b 73 4c 69 73 74 3b 0d 0a 20 20 44 57 4f  ocksList;..  DWO
22e00 52 44 20 45 6e 74 72 79 43 6f 75 6e 74 3b 0d 0a  RD EntryCount;..
22e10 20 20 44 57 4f 52 44 20 43 6f 6e 74 65 6e 74 69    DWORD Contenti
22e20 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f 52  onCount;..  DWOR
22e30 44 20 53 70 61 72 65 5b 20 32 20 5d 3b 0d 0a 7d  D Spare[ 2 ];..}
22e40 0d 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 43 52 49  ..alias _RTL_CRI
22e50 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45  TICAL_SECTION_DE
22e60 42 55 47 20 52 54 4c 5f 43 52 49 54 49 43 41 4c  BUG RTL_CRITICAL
22e70 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 3b 0d  _SECTION_DEBUG;.
22e80 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 43 52 49 54  .alias _RTL_CRIT
22e90 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42  ICAL_SECTION_DEB
22ea0 55 47 2a 20 50 52 54 4c 5f 43 52 49 54 49 43 41  UG* PRTL_CRITICA
22eb0 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 3b  L_SECTION_DEBUG;
22ec0 0d 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 43 52 49  ..alias _RTL_CRI
22ed0 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45  TICAL_SECTION_DE
22ee0 42 55 47 20 52 54 4c 5f 52 45 53 4f 55 52 43 45  BUG RTL_RESOURCE
22ef0 5f 44 45 42 55 47 3b 0d 0a 61 6c 69 61 73 20 5f  _DEBUG;..alias _
22f00 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43  RTL_CRITICAL_SEC
22f10 54 49 4f 4e 5f 44 45 42 55 47 2a 20 50 52 54 4c  TION_DEBUG* PRTL
22f20 5f 52 45 53 4f 55 52 43 45 5f 44 45 42 55 47 3b  _RESOURCE_DEBUG;
22f30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
22f40 7b 20 52 54 4c 5f 43 52 49 54 53 45 43 54 5f 54  { RTL_CRITSECT_T
22f50 59 50 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  YPE = 0 }..enum 
22f60 3a 20 75 69 6e 74 20 7b 20 52 54 4c 5f 52 45 53  : uint { RTL_RES
22f70 4f 55 52 43 45 5f 54 59 50 45 20 3d 20 31 20 7d  OURCE_TYPE = 1 }
22f80 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 52 54 4c 5f  ....struct _RTL_
22f90 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e  CRITICAL_SECTION
22fa0 20 7b 0d 0a 20 20 50 52 54 4c 5f 43 52 49 54 49   {..  PRTL_CRITI
22fb0 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55  CAL_SECTION_DEBU
22fc0 47 20 44 65 62 75 67 49 6e 66 6f 3b 0d 0a 0d 0a  G DebugInfo;....
22fd0 20 20 4c 4f 4e 47 20 4c 6f 63 6b 43 6f 75 6e 74    LONG LockCount
22fe0 3b 0d 0a 20 20 4c 4f 4e 47 20 52 65 63 75 72 73  ;..  LONG Recurs
22ff0 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 48 41 4e  ionCount;..  HAN
23000 44 4c 45 20 4f 77 6e 69 6e 67 54 68 72 65 61 64  DLE OwningThread
23010 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 4c 6f 63 6b  ;..  HANDLE Lock
23020 53 65 6d 61 70 68 6f 72 65 3b 0d 0a 20 20 55 4c  Semaphore;..  UL
23030 4f 4e 47 5f 50 54 52 20 53 70 69 6e 43 6f 75 6e  ONG_PTR SpinCoun
23040 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52 54  t;..}..alias _RT
23050 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49  L_CRITICAL_SECTI
23060 4f 4e 20 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f  ON RTL_CRITICAL_
23070 53 45 43 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20  SECTION;..alias 
23080 5f 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45  _RTL_CRITICAL_SE
23090 43 54 49 4f 4e 2a 20 50 52 54 4c 5f 43 52 49 54  CTION* PRTL_CRIT
230a0 49 43 41 4c 5f 53 45 43 54 49 4f 4e 3b 0d 0a 0d  ICAL_SECTION;...
230b0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
230c0 20 61 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63   alias VOID func
230d0 74 69 6f 6e 28 20 50 57 53 54 52 20 44 6c 6c 4e  tion( PWSTR DllN
230e0 61 6d 65 2c 20 50 56 4f 49 44 20 44 6c 6c 42 61  ame, PVOID DllBa
230f0 73 65 2c 20 53 49 5a 45 5f 54 20 44 6c 6c 53 69  se, SIZE_T DllSi
23100 7a 65 2c 20 50 56 4f 49 44 20 52 65 73 65 72 76  ze, PVOID Reserv
23110 65 64 20 29 20 52 54 4c 5f 56 45 52 49 46 49 45  ed ) RTL_VERIFIE
23120 52 5f 44 4c 4c 5f 4c 4f 41 44 5f 43 41 4c 4c 42  R_DLL_LOAD_CALLB
23130 41 43 4b 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ACK;....extern(W
23140 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f  indows) alias VO
23150 49 44 20 66 75 6e 63 74 69 6f 6e 28 20 50 57 53  ID function( PWS
23160 54 52 20 44 6c 6c 4e 61 6d 65 2c 20 50 56 4f 49  TR DllName, PVOI
23170 44 20 44 6c 6c 42 61 73 65 2c 20 53 49 5a 45 5f  D DllBase, SIZE_
23180 54 20 44 6c 6c 53 69 7a 65 2c 20 50 56 4f 49 44  T DllSize, PVOID
23190 20 52 65 73 65 72 76 65 64 20 29 20 52 54 4c 5f   Reserved ) RTL_
231a0 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f 55 4e 4c  VERIFIER_DLL_UNL
231b0 4f 41 44 5f 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d  OAD_CALLBACK;...
231c0 0a 73 74 72 75 63 74 20 5f 52 54 4c 5f 56 45 52  .struct _RTL_VER
231d0 49 46 49 45 52 5f 54 48 55 4e 4b 5f 44 45 53 43  IFIER_THUNK_DESC
231e0 52 49 50 54 4f 52 20 7b 0d 0a 0d 0a 20 20 50 43  RIPTOR {....  PC
231f0 48 41 52 20 54 68 75 6e 6b 4e 61 6d 65 3b 0d 0a  HAR ThunkName;..
23200 20 20 50 56 4f 49 44 20 54 68 75 6e 6b 4f 6c 64    PVOID ThunkOld
23210 41 64 64 72 65 73 73 3b 0d 0a 20 20 50 56 4f 49  Address;..  PVOI
23220 44 20 54 68 75 6e 6b 4e 65 77 41 64 64 72 65 73  D ThunkNewAddres
23230 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52 54  s;..}..alias _RT
23240 4c 5f 56 45 52 49 46 49 45 52 5f 54 48 55 4e 4b  L_VERIFIER_THUNK
23250 5f 44 45 53 43 52 49 50 54 4f 52 20 52 54 4c 5f  _DESCRIPTOR RTL_
23260 56 45 52 49 46 49 45 52 5f 54 48 55 4e 4b 5f 44  VERIFIER_THUNK_D
23270 45 53 43 52 49 50 54 4f 52 3b 0d 0a 61 6c 69 61  ESCRIPTOR;..alia
23280 73 20 5f 52 54 4c 5f 56 45 52 49 46 49 45 52 5f  s _RTL_VERIFIER_
23290 54 48 55 4e 4b 5f 44 45 53 43 52 49 50 54 4f 52  THUNK_DESCRIPTOR
232a0 2a 20 50 52 54 4c 5f 56 45 52 49 46 49 45 52 5f  * PRTL_VERIFIER_
232b0 54 48 55 4e 4b 5f 44 45 53 43 52 49 50 54 4f 52  THUNK_DESCRIPTOR
232c0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 52 54 4c  ;....struct _RTL
232d0 5f 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f 44 45  _VERIFIER_DLL_DE
232e0 53 43 52 49 50 54 4f 52 20 7b 0d 0a 0d 0a 20 20  SCRIPTOR {....  
232f0 50 57 43 48 41 52 20 44 6c 6c 4e 61 6d 65 3b 0d  PWCHAR DllName;.
23300 0a 20 20 44 57 4f 52 44 20 44 6c 6c 46 6c 61 67  .  DWORD DllFlag
23310 73 3b 0d 0a 20 20 50 56 4f 49 44 20 44 6c 6c 41  s;..  PVOID DllA
23320 64 64 72 65 73 73 3b 0d 0a 20 20 50 52 54 4c 5f  ddress;..  PRTL_
23330 56 45 52 49 46 49 45 52 5f 54 48 55 4e 4b 5f 44  VERIFIER_THUNK_D
23340 45 53 43 52 49 50 54 4f 52 20 44 6c 6c 54 68 75  ESCRIPTOR DllThu
23350 6e 6b 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  nks;..}..alias _
23360 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c 4c  RTL_VERIFIER_DLL
23370 5f 44 45 53 43 52 49 50 54 4f 52 20 52 54 4c 5f  _DESCRIPTOR RTL_
23380 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f 44 45 53  VERIFIER_DLL_DES
23390 43 52 49 50 54 4f 52 3b 0d 0a 61 6c 69 61 73 20  CRIPTOR;..alias 
233a0 5f 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c  _RTL_VERIFIER_DL
233b0 4c 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50 52  L_DESCRIPTOR* PR
233c0 54 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f  TL_VERIFIER_DLL_
233d0 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 0d 0a 73  DESCRIPTOR;....s
233e0 74 72 75 63 74 20 5f 52 54 4c 5f 56 45 52 49 46  truct _RTL_VERIF
233f0 49 45 52 5f 50 52 4f 56 49 44 45 52 5f 44 45 53  IER_PROVIDER_DES
23400 43 52 49 50 54 4f 52 20 7b 0d 0a 0d 0a 20 20 44  CRIPTOR {....  D
23410 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0d 0a 20 20  WORD Length;..  
23420 50 52 54 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c  PRTL_VERIFIER_DL
23430 4c 5f 44 45 53 43 52 49 50 54 4f 52 20 50 72 6f  L_DESCRIPTOR Pro
23440 76 69 64 65 72 44 6c 6c 73 3b 0d 0a 20 20 52 54  viderDlls;..  RT
23450 4c 5f 56 45 52 49 46 49 45 52 5f 44 4c 4c 5f 4c  L_VERIFIER_DLL_L
23460 4f 41 44 5f 43 41 4c 4c 42 41 43 4b 20 50 72 6f  OAD_CALLBACK Pro
23470 76 69 64 65 72 44 6c 6c 4c 6f 61 64 43 61 6c 6c  viderDllLoadCall
23480 62 61 63 6b 3b 0d 0a 20 20 52 54 4c 5f 56 45 52  back;..  RTL_VER
23490 49 46 49 45 52 5f 44 4c 4c 5f 55 4e 4c 4f 41 44  IFIER_DLL_UNLOAD
234a0 5f 43 41 4c 4c 42 41 43 4b 20 50 72 6f 76 69 64  _CALLBACK Provid
234b0 65 72 44 6c 6c 55 6e 6c 6f 61 64 43 61 6c 6c 62  erDllUnloadCallb
234c0 61 63 6b 3b 0d 0a 0d 0a 20 20 50 57 53 54 52 20  ack;....  PWSTR 
234d0 56 65 72 69 66 69 65 72 49 6d 61 67 65 3b 0d 0a  VerifierImage;..
234e0 20 20 44 57 4f 52 44 20 56 65 72 69 66 69 65 72    DWORD Verifier
234f0 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20  Flags;..  DWORD 
23500 56 65 72 69 66 69 65 72 44 65 62 75 67 3b 0d 0a  VerifierDebug;..
23510 7d 0d 0a 61 6c 69 61 73 20 5f 52 54 4c 5f 56 45  }..alias _RTL_VE
23520 52 49 46 49 45 52 5f 50 52 4f 56 49 44 45 52 5f  RIFIER_PROVIDER_
23530 44 45 53 43 52 49 50 54 4f 52 20 52 54 4c 5f 56  DESCRIPTOR RTL_V
23540 45 52 49 46 49 45 52 5f 50 52 4f 56 49 44 45 52  ERIFIER_PROVIDER
23550 5f 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 61 6c  _DESCRIPTOR;..al
23560 69 61 73 20 5f 52 54 4c 5f 56 45 52 49 46 49 45  ias _RTL_VERIFIE
23570 52 5f 50 52 4f 56 49 44 45 52 5f 44 45 53 43 52  R_PROVIDER_DESCR
23580 49 50 54 4f 52 2a 20 50 52 54 4c 5f 56 45 52 49  IPTOR* PRTL_VERI
23590 46 49 45 52 5f 50 52 4f 56 49 44 45 52 5f 44 45  FIER_PROVIDER_DE
235a0 53 43 52 49 50 54 4f 52 3b 0d 0a 0d 0a 65 6e 75  SCRIPTOR;....enu
235b0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 54 4c 5f 56  m : uint { RTL_V
235c0 52 46 5f 46 4c 47 5f 46 55 4c 4c 5f 50 41 47 45  RF_FLG_FULL_PAGE
235d0 5f 48 45 41 50 20 3d 20 30 78 30 30 30 31 20 7d  _HEAP = 0x0001 }
235e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
235f0 52 54 4c 5f 56 52 46 5f 46 4c 47 5f 4c 4f 43 4b  RTL_VRF_FLG_LOCK
23600 5f 43 48 45 43 4b 53 20 3d 20 30 78 30 30 30 32  _CHECKS = 0x0002
23610 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
23620 7b 20 52 54 4c 5f 56 52 46 5f 46 4c 47 5f 48 41  { RTL_VRF_FLG_HA
23630 4e 44 4c 45 5f 43 48 45 43 4b 53 20 3d 20 30 78  NDLE_CHECKS = 0x
23640 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
23650 69 6e 74 20 7b 20 52 54 4c 5f 56 52 46 5f 46 4c  int { RTL_VRF_FL
23660 47 5f 53 54 41 43 4b 5f 43 48 45 43 4b 53 20 3d  G_STACK_CHECKS =
23670 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
23680 3a 20 75 69 6e 74 20 7b 20 52 54 4c 5f 56 52 46  : uint { RTL_VRF
23690 5f 46 4c 47 5f 41 50 50 43 4f 4d 50 41 54 5f 43  _FLG_APPCOMPAT_C
236a0 48 45 43 4b 53 20 3d 20 30 78 30 30 31 30 20 7d  HECKS = 0x0010 }
236b0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
236c0 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45  { APPLICATION_VE
236d0 52 49 46 49 45 52 5f 49 4e 54 45 52 4e 41 4c 5f  RIFIER_INTERNAL_
236e0 45 52 52 4f 52 20 3d 20 30 78 38 30 30 30 30 30  ERROR = 0x800000
236f0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
23700 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f  t { APPLICATION_
23710 56 45 52 49 46 49 45 52 5f 49 4e 54 45 52 4e 41  VERIFIER_INTERNA
23720 4c 5f 57 41 52 4e 49 4e 47 20 3d 20 30 78 34 30  L_WARNING = 0x40
23730 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
23740 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54   uint { APPLICAT
23750 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4e 4f 5f  ION_VERIFIER_NO_
23760 42 52 45 41 4b 20 3d 20 30 78 32 30 30 30 30 30  BREAK = 0x200000
23770 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
23780 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f  t { APPLICATION_
23790 56 45 52 49 46 49 45 52 5f 52 45 53 45 52 56 45  VERIFIER_RESERVE
237a0 44 5f 42 49 54 5f 32 38 20 3d 20 30 78 31 30 30  D_BIT_28 = 0x100
237b0 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
237c0 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
237d0 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 55 4e  TION_VERIFIER_UN
237e0 4b 4e 4f 57 4e 5f 45 52 52 4f 52 20 3d 20 30 78  KNOWN_ERROR = 0x
237f0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
23800 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f  int { APPLICATIO
23810 4e 5f 56 45 52 49 46 49 45 52 5f 41 43 43 45 53  N_VERIFIER_ACCES
23820 53 5f 56 49 4f 4c 41 54 49 4f 4e 20 3d 20 30 78  S_VIOLATION = 0x
23830 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
23840 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f  int { APPLICATIO
23850 4e 5f 56 45 52 49 46 49 45 52 5f 55 4e 53 59 4e  N_VERIFIER_UNSYN
23860 43 48 52 4f 4e 49 5a 45 44 5f 41 43 43 45 53 53  CHRONIZED_ACCESS
23870 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75   = 0x0003 }..enu
23880 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23890 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
238a0 45 58 54 52 45 4d 45 5f 53 49 5a 45 5f 52 45 51  EXTREME_SIZE_REQ
238b0 55 45 53 54 20 3d 20 30 78 30 30 30 34 20 7d 0d  UEST = 0x0004 }.
238c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
238d0 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46  PPLICATION_VERIF
238e0 49 45 52 5f 42 41 44 5f 48 45 41 50 5f 48 41 4e  IER_BAD_HEAP_HAN
238f0 44 4c 45 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a  DLE = 0x0005 }..
23900 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
23910 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49  PLICATION_VERIFI
23920 45 52 5f 53 57 49 54 43 48 45 44 5f 48 45 41 50  ER_SWITCHED_HEAP
23930 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 30 36  _HANDLE = 0x0006
23940 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
23950 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45  { APPLICATION_VE
23960 52 49 46 49 45 52 5f 44 4f 55 42 4c 45 5f 46 52  RIFIER_DOUBLE_FR
23970 45 45 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65  EE = 0x0007 }..e
23980 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50  num : uint { APP
23990 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45  LICATION_VERIFIE
239a0 52 5f 43 4f 52 52 55 50 54 45 44 5f 48 45 41 50  R_CORRUPTED_HEAP
239b0 5f 42 4c 4f 43 4b 20 3d 20 30 78 30 30 30 38 20  _BLOCK = 0x0008 
239c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
239d0 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52   APPLICATION_VER
239e0 49 46 49 45 52 5f 44 45 53 54 52 4f 59 5f 50 52  IFIER_DESTROY_PR
239f0 4f 43 45 53 53 5f 48 45 41 50 20 3d 20 30 78 30  OCESS_HEAP = 0x0
23a00 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  009 }..enum : ui
23a10 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e  nt { APPLICATION
23a20 5f 56 45 52 49 46 49 45 52 5f 55 4e 45 58 50 45  _VERIFIER_UNEXPE
23a30 43 54 45 44 5f 45 58 43 45 50 54 49 4f 4e 20 3d  CTED_EXCEPTION =
23a40 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20   0x000A }..enum 
23a50 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
23a60 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 53 54  TION_VERIFIER_ST
23a70 41 43 4b 5f 4f 56 45 52 46 4c 4f 57 20 3d 20 30  ACK_OVERFLOW = 0
23a80 78 30 30 30 42 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x000B }....enum 
23a90 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
23aa0 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 54 45  TION_VERIFIER_TE
23ab0 52 4d 49 4e 41 54 45 5f 54 48 52 45 41 44 5f 43  RMINATE_THREAD_C
23ac0 41 4c 4c 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a  ALL = 0x0100 }..
23ad0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
23ae0 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49  APPLICATION_VERI
23af0 46 49 45 52 5f 45 58 49 54 5f 54 48 52 45 41 44  FIER_EXIT_THREAD
23b00 5f 4f 57 4e 53 5f 4c 4f 43 4b 20 3d 20 30 78 30  _OWNS_LOCK = 0x0
23b10 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
23b20 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e  nt { APPLICATION
23b30 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43 4b 5f 49  _VERIFIER_LOCK_I
23b40 4e 5f 55 4e 4c 4f 41 44 45 44 5f 44 4c 4c 20 3d  N_UNLOADED_DLL =
23b50 20 30 78 30 32 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0201 }..enum 
23b60 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41  : uint { APPLICA
23b70 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c 4f  TION_VERIFIER_LO
23b80 43 4b 5f 49 4e 5f 46 52 45 45 44 5f 48 45 41 50  CK_IN_FREED_HEAP
23b90 20 3d 20 30 78 30 32 30 32 20 7d 0d 0a 65 6e 75   = 0x0202 }..enu
23ba0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49  m : uint { APPLI
23bb0 43 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f  CATION_VERIFIER_
23bc0 4c 4f 43 4b 5f 44 4f 55 42 4c 45 5f 49 4e 49 54  LOCK_DOUBLE_INIT
23bd0 49 41 4c 49 5a 45 20 3d 20 30 78 30 32 30 33 20  IALIZE = 0x0203 
23be0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
23bf0 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52   APPLICATION_VER
23c00 49 46 49 45 52 5f 4c 4f 43 4b 5f 49 4e 5f 46 52  IFIER_LOCK_IN_FR
23c10 45 45 44 5f 4d 45 4d 4f 52 59 20 3d 20 30 78 30  EED_MEMORY = 0x0
23c20 32 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  204 }..enum : ui
23c30 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e  nt { APPLICATION
23c40 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43 4b 5f 43  _VERIFIER_LOCK_C
23c50 4f 52 52 55 50 54 45 44 20 3d 20 30 78 30 32 30  ORRUPTED = 0x020
23c60 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
23c70 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56   { APPLICATION_V
23c80 45 52 49 46 49 45 52 5f 4c 4f 43 4b 5f 49 4e 56  ERIFIER_LOCK_INV
23c90 41 4c 49 44 5f 4f 57 4e 45 52 20 3d 20 30 78 30  ALID_OWNER = 0x0
23ca0 32 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  206 }..enum : ui
23cb0 6e 74 20 7b 20 41 50 50 4c 49 43 41 54 49 4f 4e  nt { APPLICATION
23cc0 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43 4b 5f 49  _VERIFIER_LOCK_I
23cd0 4e 56 41 4c 49 44 5f 52 45 43 55 52 53 49 4f 4e  NVALID_RECURSION
23ce0 5f 43 4f 55 4e 54 20 3d 20 30 78 30 32 30 37 20  _COUNT = 0x0207 
23cf0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
23d00 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52   APPLICATION_VER
23d10 49 46 49 45 52 5f 4c 4f 43 4b 5f 49 4e 56 41 4c  IFIER_LOCK_INVAL
23d20 49 44 5f 4c 4f 43 4b 5f 43 4f 55 4e 54 20 3d 20  ID_LOCK_COUNT = 
23d30 30 78 30 32 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0208 }..enum :
23d40 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43 41 54   uint { APPLICAT
23d50 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c 4f 43  ION_VERIFIER_LOC
23d60 4b 5f 4f 56 45 52 5f 52 45 4c 45 41 53 45 44 20  K_OVER_RELEASED 
23d70 3d 20 30 78 30 32 30 39 20 7d 0d 0a 65 6e 75 6d  = 0x0209 }..enum
23d80 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 4c 49 43   : uint { APPLIC
23d90 41 54 49 4f 4e 5f 56 45 52 49 46 49 45 52 5f 4c  ATION_VERIFIER_L
23da0 4f 43 4b 5f 4e 4f 54 5f 49 4e 49 54 49 41 4c 49  OCK_NOT_INITIALI
23db0 5a 45 44 20 3d 20 30 78 30 32 31 30 20 7d 0d 0a  ZED = 0x0210 }..
23dc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
23dd0 41 50 50 4c 49 43 41 54 49 4f 4e 5f 56 45 52 49  APPLICATION_VERI
23de0 46 49 45 52 5f 49 4e 56 41 4c 49 44 5f 48 41 4e  FIER_INVALID_HAN
23df0 44 4c 45 20 3d 20 30 78 30 33 30 30 20 7d 0d 0a  DLE = 0x0300 }..
23e00 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 56 45 52  ..// #define VER
23e10 49 46 49 45 52 5f 53 54 4f 50 28 43 6f 64 65 2c  IFIER_STOP(Code,
23e20 20 4d 73 67 2c 20 50 31 2c 20 53 31 2c 20 50 32   Msg, P1, S1, P2
23e30 2c 20 53 32 2c 20 50 33 2c 20 53 33 2c 20 50 34  , S2, P3, S3, P4
23e40 2c 20 53 34 29 20 7b 20 52 74 6c 41 70 70 6c 69  , S4) { RtlAppli
23e50 63 61 74 69 6f 6e 56 65 72 69 66 69 65 72 53 74  cationVerifierSt
23e60 6f 70 20 28 28 43 6f 64 65 29 2c 20 28 4d 73 67  op ((Code), (Msg
23e70 29 2c 20 28 55 4c 4f 4e 47 5f 50 54 52 29 28 50  ), (ULONG_PTR)(P
23e80 31 29 2c 28 53 31 29 2c 20 28 55 4c 4f 4e 47 5f  1),(S1), (ULONG_
23e90 50 54 52 29 28 50 32 29 2c 28 53 32 29 2c 20 28  PTR)(P2),(S2), (
23ea0 55 4c 4f 4e 47 5f 50 54 52 29 28 50 33 29 2c 28  ULONG_PTR)(P3),(
23eb0 53 33 29 2c 20 28 55 4c 4f 4e 47 5f 50 54 52 29  S3), (ULONG_PTR)
23ec0 28 50 34 29 2c 28 53 34 29 29 3b 20 7d 0d 0a 0d  (P4),(S4)); }...
23ed0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
23ee0 20 65 78 70 6f 72 74 20 56 4f 49 44 20 52 74 6c   export VOID Rtl
23ef0 41 70 70 6c 69 63 61 74 69 6f 6e 56 65 72 69 66  ApplicationVerif
23f00 69 65 72 53 74 6f 70 28 0d 0a 20 20 55 4c 4f 4e  ierStop(..  ULON
23f10 47 5f 50 54 52 20 43 6f 64 65 2c 0d 0a 20 20 50  G_PTR Code,..  P
23f20 43 48 41 52 20 4d 65 73 73 61 67 65 2c 0d 0a 20  CHAR Message,.. 
23f30 20 55 4c 4f 4e 47 5f 50 54 52 20 50 61 72 61 6d   ULONG_PTR Param
23f40 31 2c 20 50 43 48 41 52 20 44 65 73 63 72 69 70  1, PCHAR Descrip
23f50 74 69 6f 6e 31 2c 0d 0a 20 20 55 4c 4f 4e 47 5f  tion1,..  ULONG_
23f60 50 54 52 20 50 61 72 61 6d 32 2c 20 50 43 48 41  PTR Param2, PCHA
23f70 52 20 44 65 73 63 72 69 70 74 69 6f 6e 32 2c 0d  R Description2,.
23f80 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 50 61 72  .  ULONG_PTR Par
23f90 61 6d 33 2c 20 50 43 48 41 52 20 44 65 73 63 72  am3, PCHAR Descr
23fa0 69 70 74 69 6f 6e 33 2c 0d 0a 20 20 55 4c 4f 4e  iption3,..  ULON
23fb0 47 5f 50 54 52 20 50 61 72 61 6d 34 2c 20 50 43  G_PTR Param4, PC
23fc0 48 41 52 20 44 65 73 63 72 69 70 74 69 6f 6e 34  HAR Description4
23fd0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
23fe0 64 6f 77 73 29 20 61 6c 69 61 73 20 4c 4f 4e 47  dows) alias LONG
23ff0 20 66 75 6e 63 74 69 6f 6e 28 20 20 5f 45 58 43   function(  _EXC
24000 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 20  EPTION_POINTERS 
24010 2a 45 78 63 65 70 74 69 6f 6e 49 6e 66 6f 20 29  *ExceptionInfo )
24020 20 50 56 45 43 54 4f 52 45 44 5f 45 58 43 45 50   PVECTORED_EXCEP
24030 54 49 4f 4e 5f 48 41 4e 44 4c 45 52 3b 0d 0a 65  TION_HANDLER;..e
24040 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 46  num : uint { SEF
24050 5f 44 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52  _DACL_AUTO_INHER
24060 49 54 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75  IT = 0x01 }..enu
24070 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 53  m : uint { SEF_S
24080 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 49 54  ACL_AUTO_INHERIT
24090 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20   = 0x02 }..enum 
240a0 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 44 45 46  : uint { SEF_DEF
240b0 41 55 4c 54 5f 44 45 53 43 52 49 50 54 4f 52 5f  AULT_DESCRIPTOR_
240c0 46 4f 52 5f 4f 42 4a 45 43 54 20 3d 20 30 78 30  FOR_OBJECT = 0x0
240d0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
240e0 20 7b 20 53 45 46 5f 41 56 4f 49 44 5f 50 52 49   { SEF_AVOID_PRI
240f0 56 49 4c 45 47 45 5f 43 48 45 43 4b 20 3d 20 30  VILEGE_CHECK = 0
24100 78 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x08 }..enum : ui
24110 6e 74 20 7b 20 53 45 46 5f 41 56 4f 49 44 5f 4f  nt { SEF_AVOID_O
24120 57 4e 45 52 5f 43 48 45 43 4b 20 3d 20 30 78 31  WNER_CHECK = 0x1
24130 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
24140 20 7b 20 53 45 46 5f 44 45 46 41 55 4c 54 5f 4f   { SEF_DEFAULT_O
24150 57 4e 45 52 5f 46 52 4f 4d 5f 50 41 52 45 4e 54  WNER_FROM_PARENT
24160 20 3d 20 30 78 32 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x20 }..enum 
24170 3a 20 75 69 6e 74 20 7b 20 53 45 46 5f 44 45 46  : uint { SEF_DEF
24180 41 55 4c 54 5f 47 52 4f 55 50 5f 46 52 4f 4d 5f  AULT_GROUP_FROM_
24190 50 41 52 45 4e 54 20 3d 20 30 78 34 30 20 7d 0d  PARENT = 0x40 }.
241a0 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 48 45  ...alias int _HE
241b0 41 50 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  AP_INFORMATION_C
241c0 4c 41 53 53 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 0d  LASS;..enum {...
241d0 0a 20 20 48 65 61 70 43 6f 6d 70 61 74 69 62 69  .  HeapCompatibi
241e0 6c 69 74 79 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c  lityInformation,
241f0 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 45  ....}..alias _HE
24200 41 50 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  AP_INFORMATION_C
24210 4c 41 53 53 20 48 45 41 50 5f 49 4e 46 4f 52 4d  LASS HEAP_INFORM
24220 41 54 49 4f 4e 5f 43 4c 41 53 53 3b 0d 0a 0d 0a  ATION_CLASS;....
24230 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
24240 65 78 70 6f 72 74 20 44 57 4f 52 44 20 52 74 6c  export DWORD Rtl
24250 53 65 74 48 65 61 70 49 6e 66 6f 72 6d 61 74 69  SetHeapInformati
24260 6f 6e 28 0d 0a 20 20 50 56 4f 49 44 20 48 65 61  on(..  PVOID Hea
24270 70 48 61 6e 64 6c 65 2c 0d 0a 20 20 48 45 41 50  pHandle,..  HEAP
24280 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
24290 53 53 20 48 65 61 70 49 6e 66 6f 72 6d 61 74 69  SS HeapInformati
242a0 6f 6e 43 6c 61 73 73 2c 0d 0a 20 20 50 56 4f 49  onClass,..  PVOI
242b0 44 20 48 65 61 70 49 6e 66 6f 72 6d 61 74 69 6f  D HeapInformatio
242c0 6e 20 2c 0d 0a 20 20 53 49 5a 45 5f 54 20 48 65  n ,..  SIZE_T He
242d0 61 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 4c 65 6e  apInformationLen
242e0 67 74 68 20 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  gth );....extern
242f0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
24300 20 44 57 4f 52 44 20 52 74 6c 51 75 65 72 79 48   DWORD RtlQueryH
24310 65 61 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 0d  eapInformation(.
24320 0a 20 20 50 56 4f 49 44 20 48 65 61 70 48 61 6e  .  PVOID HeapHan
24330 64 6c 65 2c 0d 0a 20 20 48 45 41 50 5f 49 4e 46  dle,..  HEAP_INF
24340 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 48  ORMATION_CLASS H
24350 65 61 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 43 6c  eapInformationCl
24360 61 73 73 2c 0d 0a 20 20 50 56 4f 49 44 20 48 65  ass,..  PVOID He
24370 61 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 2c 0d  apInformation ,.
24380 0a 20 20 53 49 5a 45 5f 54 20 48 65 61 70 49 6e  .  SIZE_T HeapIn
24390 66 6f 72 6d 61 74 69 6f 6e 4c 65 6e 67 74 68 20  formationLength 
243a0 2c 0d 0a 20 20 50 53 49 5a 45 5f 54 20 52 65 74  ,..  PSIZE_T Ret
243b0 75 72 6e 4c 65 6e 67 74 68 20 29 3b 0d 0a 0d 0a  urnLength );....
243c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54  enum : uint { WT
243d0 5f 45 58 45 43 55 54 45 44 45 46 41 55 4c 54 20  _EXECUTEDEFAULT 
243e0 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
243f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54  enum : uint { WT
24400 5f 45 58 45 43 55 54 45 49 4e 49 4f 54 48 52 45  _EXECUTEINIOTHRE
24410 41 44 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  AD = 0x00000001 
24420 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24430 20 57 54 5f 45 58 45 43 55 54 45 49 4e 55 49 54   WT_EXECUTEINUIT
24440 48 52 45 41 44 20 3d 20 30 78 30 30 30 30 30 30  HREAD = 0x000000
24450 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
24460 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45 49 4e  t { WT_EXECUTEIN
24470 57 41 49 54 54 48 52 45 41 44 20 3d 20 30 78 30  WAITTHREAD = 0x0
24480 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
24490 3a 20 75 69 6e 74 20 7b 20 57 54 5f 45 58 45 43  : uint { WT_EXEC
244a0 55 54 45 4f 4e 4c 59 4f 4e 43 45 20 3d 20 30 78  UTEONLYONCE = 0x
244b0 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  00000008 }..enum
244c0 20 3a 20 75 69 6e 74 20 7b 20 57 54 5f 45 58 45   : uint { WT_EXE
244d0 43 55 54 45 49 4e 54 49 4d 45 52 54 48 52 45 41  CUTEINTIMERTHREA
244e0 44 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  D = 0x00000020 }
244f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24500 57 54 5f 45 58 45 43 55 54 45 4c 4f 4e 47 46 55  WT_EXECUTELONGFU
24510 4e 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  NCTION = 0x00000
24520 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
24530 6e 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45 49  nt { WT_EXECUTEI
24540 4e 50 45 52 53 49 53 54 45 4e 54 49 4f 54 48 52  NPERSISTENTIOTHR
24550 45 41 44 20 3d 20 30 78 30 30 30 30 30 30 34 30  EAD = 0x00000040
24560 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24570 7b 20 57 54 5f 45 58 45 43 55 54 45 49 4e 50 45  { WT_EXECUTEINPE
24580 52 53 49 53 54 45 4e 54 54 48 52 45 41 44 20 3d  RSISTENTTHREAD =
24590 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 2f   0x00000080 }../
245a0 2f 20 23 64 65 66 69 6e 65 20 57 54 5f 53 45 54  / #define WT_SET
245b0 5f 4d 41 58 5f 54 48 52 45 41 44 50 4f 4f 4c 5f  _MAX_THREADPOOL_
245c0 54 48 52 45 41 44 53 28 46 6c 61 67 73 2c 20 4c  THREADS(Flags, L
245d0 69 6d 69 74 29 20 28 28 46 6c 61 67 73 29 20 7c  imit) ((Flags) |
245e0 3d 20 28 4c 69 6d 69 74 29 3c 3c 31 36 29 0d 0a  = (Limit)<<16)..
245f0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
24600 61 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74  alias VOID funct
24610 69 6f 6e 28 50 56 4f 49 44 2c 20 42 4f 4f 4c 45  ion(PVOID, BOOLE
24620 41 4e 20 29 20 57 41 49 54 4f 52 54 49 4d 45 52  AN ) WAITORTIMER
24630 43 41 4c 4c 42 41 43 4b 46 55 4e 43 3b 0d 0a 65  CALLBACKFUNC;..e
24640 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
24650 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74 69  lias VOID functi
24660 6f 6e 28 50 56 4f 49 44 20 29 20 57 4f 52 4b 45  on(PVOID ) WORKE
24670 52 43 41 4c 4c 42 41 43 4b 46 55 4e 43 3b 0d 0a  RCALLBACKFUNC;..
24680 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
24690 61 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74  alias VOID funct
246a0 69 6f 6e 28 44 57 4f 52 44 20 2c 20 50 56 4f 49  ion(DWORD , PVOI
246b0 44 2c 20 50 56 4f 49 44 29 20 41 50 43 5f 43 41  D, PVOID) APC_CA
246c0 4c 4c 42 41 43 4b 5f 46 55 4e 43 54 49 4f 4e 3b  LLBACK_FUNCTION;
246d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
246e0 57 54 5f 45 58 45 43 55 54 45 49 4e 4c 4f 4e 47  WT_EXECUTEINLONG
246f0 54 48 52 45 41 44 20 3d 20 30 78 30 30 30 30 30  THREAD = 0x00000
24700 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
24710 6e 74 20 7b 20 57 54 5f 45 58 45 43 55 54 45 44  nt { WT_EXECUTED
24720 45 4c 45 54 45 57 41 49 54 20 3d 20 30 78 30 30  ELETEWAIT = 0x00
24730 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 61 6c 69 61  000008 }....alia
24740 73 20 69 6e 74 20 5f 41 43 54 49 56 41 54 49 4f  s int _ACTIVATIO
24750 4e 5f 43 4f 4e 54 45 58 54 5f 49 4e 46 4f 5f 43  N_CONTEXT_INFO_C
24760 4c 41 53 53 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20  LASS;..enum {.. 
24770 20 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65   ActivationConte
24780 78 74 42 61 73 69 63 49 6e 66 6f 72 6d 61 74 69  xtBasicInformati
24790 6f 6e 20 3d 20 31 2c 0d 0a 20 20 41 63 74 69 76  on = 1,..  Activ
247a0 61 74 69 6f 6e 43 6f 6e 74 65 78 74 44 65 74 61  ationContextDeta
247b0 69 6c 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 20  iledInformation 
247c0 3d 20 32 2c 0d 0a 20 20 41 73 73 65 6d 62 6c 79  = 2,..  Assembly
247d0 44 65 74 61 69 6c 65 64 49 6e 66 6f 72 6d 61 74  DetailedInformat
247e0 69 6f 6e 49 6e 41 63 74 69 76 61 74 69 6f 6e 43  ionInActivationC
247f0 6f 6e 74 65 78 74 20 3d 20 33 2c 0d 0a 20 20 46  ontext = 3,..  F
24800 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 49 6e  ileInformationIn
24810 41 73 73 65 6d 62 6c 79 4f 66 41 73 73 65 6d 62  AssemblyOfAssemb
24820 6c 79 49 6e 41 63 74 69 76 61 74 69 6f 6e 43 6f  lyInActivationCo
24830 6e 74 65 78 74 20 3d 20 34 2c 0d 0a 20 20 4d 61  ntext = 4,..  Ma
24840 78 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65  xActivationConte
24850 78 74 49 6e 66 6f 43 6c 61 73 73 2c 0d 0a 0d 0a  xtInfoClass,....
24860 20 20 41 73 73 65 6d 62 6c 79 44 65 74 61 69 6c    AssemblyDetail
24870 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 49 6e 41  edInformationInA
24880 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 78 74 20  ctivationContxt 
24890 3d 20 33 2c 0d 0a 20 20 46 69 6c 65 49 6e 66 6f  = 3,..  FileInfo
248a0 72 6d 61 74 69 6f 6e 49 6e 41 73 73 65 6d 62 6c  rmationInAssembl
248b0 79 4f 66 41 73 73 65 6d 62 6c 79 49 6e 41 63 74  yOfAssemblyInAct
248c0 69 76 61 74 69 6f 6e 43 6f 6e 74 78 74 20 3d 20  ivationContxt = 
248d0 34 2c 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43  4,..}..alias _AC
248e0 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
248f0 5f 49 4e 46 4f 5f 43 4c 41 53 53 20 41 43 54 49  _INFO_CLASS ACTI
24900 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 49  VATION_CONTEXT_I
24910 4e 46 4f 5f 43 4c 41 53 53 3b 0d 0a 0d 0a 61 6c  NFO_CLASS;....al
24920 69 61 73 20 41 43 54 49 56 41 54 49 4f 4e 5f 43  ias ACTIVATION_C
24930 4f 4e 54 45 58 54 5f 49 4e 46 4f 5f 43 4c 41 53  ONTEXT_INFO_CLAS
24940 53 20 41 43 54 49 56 41 54 49 4f 4e 43 4f 4e 54  S ACTIVATIONCONT
24950 45 58 54 49 4e 46 4f 43 4c 41 53 53 3b 0d 0a 0d  EXTINFOCLASS;...
24960 0a 73 74 72 75 63 74 20 5f 41 43 54 49 56 41 54  .struct _ACTIVAT
24970 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52  ION_CONTEXT_QUER
24980 59 5f 49 4e 44 45 58 20 7b 0d 0a 20 20 44 57 4f  Y_INDEX {..  DWO
24990 52 44 20 75 6c 41 73 73 65 6d 62 6c 79 49 6e 64  RD ulAssemblyInd
249a0 65 78 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 46  ex;..  DWORD ulF
249b0 69 6c 65 49 6e 64 65 78 49 6e 41 73 73 65 6d 62  ileIndexInAssemb
249c0 6c 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41  ly;..}..alias _A
249d0 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58  CTIVATION_CONTEX
249e0 54 5f 51 55 45 52 59 5f 49 4e 44 45 58 20 41 43  T_QUERY_INDEX AC
249f0 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
24a00 5f 51 55 45 52 59 5f 49 4e 44 45 58 3b 0d 0a 61  _QUERY_INDEX;..a
24a10 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f 4e  lias _ACTIVATION
24a20 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f 49  _CONTEXT_QUERY_I
24a30 4e 44 45 58 2a 20 50 41 43 54 49 56 41 54 49 4f  NDEX* PACTIVATIO
24a40 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f  N_CONTEXT_QUERY_
24a50 49 4e 44 45 58 3b 0d 0a 0d 0a 61 6c 69 61 73 20  INDEX;....alias 
24a60 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54  _ACTIVATION_CONT
24a70 45 58 54 5f 51 55 45 52 59 5f 49 4e 44 45 58 2a  EXT_QUERY_INDEX*
24a80 20 50 43 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f   PCACTIVATION_CO
24a90 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 4e 44 45  NTEXT_QUERY_INDE
24aa0 58 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  X;....enum : uin
24ab0 74 20 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43  t { ACTIVATION_C
24ac0 4f 4e 54 45 58 54 5f 50 41 54 48 5f 54 59 50 45  ONTEXT_PATH_TYPE
24ad0 5f 4e 4f 4e 45 20 3d 20 31 20 7d 0d 0a 65 6e 75  _NONE = 1 }..enu
24ae0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 54 49 56  m : uint { ACTIV
24af0 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 50 41  ATION_CONTEXT_PA
24b00 54 48 5f 54 59 50 45 5f 57 49 4e 33 32 5f 46 49  TH_TYPE_WIN32_FI
24b10 4c 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  LE = 2 }..enum :
24b20 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41 54 49   uint { ACTIVATI
24b30 4f 4e 5f 43 4f 4e 54 45 58 54 5f 50 41 54 48 5f  ON_CONTEXT_PATH_
24b40 54 59 50 45 5f 55 52 4c 20 3d 20 33 20 7d 0d 0a  TYPE_URL = 3 }..
24b50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
24b60 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
24b70 5f 50 41 54 48 5f 54 59 50 45 5f 41 53 53 45 4d  _PATH_TYPE_ASSEM
24b80 42 4c 59 52 45 46 20 3d 20 34 20 7d 0d 0a 0d 0a  BLYREF = 4 }....
24b90 73 74 72 75 63 74 20 5f 41 53 53 45 4d 42 4c 59  struct _ASSEMBLY
24ba0 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49  _FILE_DETAILED_I
24bb0 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20  NFORMATION {..  
24bc0 44 57 4f 52 44 20 75 6c 46 6c 61 67 73 3b 0d 0a  DWORD ulFlags;..
24bd0 20 20 44 57 4f 52 44 20 75 6c 46 69 6c 65 6e 61    DWORD ulFilena
24be0 6d 65 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57 4f  meLength;..  DWO
24bf0 52 44 20 75 6c 50 61 74 68 4c 65 6e 67 74 68 3b  RD ulPathLength;
24c00 0d 0a 20 20 50 43 57 53 54 52 20 6c 70 46 69 6c  ..  PCWSTR lpFil
24c10 65 4e 61 6d 65 3b 0d 0a 20 20 50 43 57 53 54 52  eName;..  PCWSTR
24c20 20 6c 70 46 69 6c 65 50 61 74 68 3b 0d 0a 7d 0d   lpFilePath;..}.
24c30 0a 61 6c 69 61 73 20 5f 41 53 53 45 4d 42 4c 59  .alias _ASSEMBLY
24c40 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49  _FILE_DETAILED_I
24c50 4e 46 4f 52 4d 41 54 49 4f 4e 20 41 53 53 45 4d  NFORMATION ASSEM
24c60 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45  BLY_FILE_DETAILE
24c70 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  D_INFORMATION;..
24c80 61 6c 69 61 73 20 5f 41 53 53 45 4d 42 4c 59 5f  alias _ASSEMBLY_
24c90 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e  FILE_DETAILED_IN
24ca0 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 41 53 53 45  FORMATION* PASSE
24cb0 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c  MBLY_FILE_DETAIL
24cc0 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  ED_INFORMATION;.
24cd0 0a 0d 0a 61 6c 69 61 73 20 41 53 53 45 4d 42 4c  ...alias ASSEMBL
24ce0 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f  Y_FILE_DETAILED_
24cf0 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 43 41  INFORMATION* PCA
24d00 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54  SSEMBLY_FILE_DET
24d10 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f  AILED_INFORMATIO
24d20 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20 5f 41 53 53  N;....alias _ASS
24d30 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49  EMBLY_FILE_DETAI
24d40 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  LED_INFORMATION 
24d50 5f 41 53 53 45 4d 42 4c 59 5f 44 4c 4c 5f 52 45  _ASSEMBLY_DLL_RE
24d60 44 49 52 45 43 54 49 4f 4e 5f 44 45 54 41 49 4c  DIRECTION_DETAIL
24d70 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  ED_INFORMATION;.
24d80 0a 61 6c 69 61 73 20 41 53 53 45 4d 42 4c 59 5f  .alias ASSEMBLY_
24d90 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e  FILE_DETAILED_IN
24da0 46 4f 52 4d 41 54 49 4f 4e 20 41 53 53 45 4d 42  FORMATION ASSEMB
24db0 4c 59 5f 44 4c 4c 5f 52 45 44 49 52 45 43 54 49  LY_DLL_REDIRECTI
24dc0 4f 4e 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  ON_DETAILED_INFO
24dd0 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20  RMATION;..alias 
24de0 50 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f 44  PASSEMBLY_FILE_D
24df0 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54  ETAILED_INFORMAT
24e00 49 4f 4e 20 50 41 53 53 45 4d 42 4c 59 5f 44 4c  ION PASSEMBLY_DL
24e10 4c 5f 52 45 44 49 52 45 43 54 49 4f 4e 5f 44 45  L_REDIRECTION_DE
24e20 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49  TAILED_INFORMATI
24e30 4f 4e 3b 0d 0a 61 6c 69 61 73 20 50 43 41 53 53  ON;..alias PCASS
24e40 45 4d 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49  EMBLY_FILE_DETAI
24e50 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  LED_INFORMATION 
24e60 50 43 41 53 53 45 4d 42 4c 59 5f 44 4c 4c 5f 52  PCASSEMBLY_DLL_R
24e70 45 44 49 52 45 43 54 49 4f 4e 5f 44 45 54 41 49  EDIRECTION_DETAI
24e80 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  LED_INFORMATION;
24e90 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 41 43 54 49  ....struct _ACTI
24ea0 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41  VATION_CONTEXT_A
24eb0 53 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c 45 44  SSEMBLY_DETAILED
24ec0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a  _INFORMATION {..
24ed0 20 20 44 57 4f 52 44 20 75 6c 46 6c 61 67 73 3b    DWORD ulFlags;
24ee0 0d 0a 20 20 44 57 4f 52 44 20 75 6c 45 6e 63 6f  ..  DWORD ulEnco
24ef0 64 65 64 41 73 73 65 6d 62 6c 79 49 64 65 6e 74  dedAssemblyIdent
24f00 69 74 79 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57  ityLength;..  DW
24f10 4f 52 44 20 75 6c 4d 61 6e 69 66 65 73 74 50 61  ORD ulManifestPa
24f20 74 68 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44  thType;..  DWORD
24f30 20 75 6c 4d 61 6e 69 66 65 73 74 50 61 74 68 4c   ulManifestPathL
24f40 65 6e 67 74 68 3b 0d 0a 20 20 4c 41 52 47 45 5f  ength;..  LARGE_
24f50 49 4e 54 45 47 45 52 20 6c 69 4d 61 6e 69 66 65  INTEGER liManife
24f60 73 74 4c 61 73 74 57 72 69 74 65 54 69 6d 65 3b  stLastWriteTime;
24f70 0d 0a 20 20 44 57 4f 52 44 20 75 6c 50 6f 6c 69  ..  DWORD ulPoli
24f80 63 79 50 61 74 68 54 79 70 65 3b 0d 0a 20 20 44  cyPathType;..  D
24f90 57 4f 52 44 20 75 6c 50 6f 6c 69 63 79 50 61 74  WORD ulPolicyPat
24fa0 68 4c 65 6e 67 74 68 3b 0d 0a 20 20 4c 41 52 47  hLength;..  LARG
24fb0 45 5f 49 4e 54 45 47 45 52 20 6c 69 50 6f 6c 69  E_INTEGER liPoli
24fc0 63 79 4c 61 73 74 57 72 69 74 65 54 69 6d 65 3b  cyLastWriteTime;
24fd0 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4d 65 74 61  ..  DWORD ulMeta
24fe0 64 61 74 61 53 61 74 65 6c 6c 69 74 65 52 6f 73  dataSatelliteRos
24ff0 74 65 72 49 6e 64 65 78 3b 0d 0a 20 20 44 57 4f  terIndex;..  DWO
25000 52 44 20 75 6c 4d 61 6e 69 66 65 73 74 56 65 72  RD ulManifestVer
25010 73 69 6f 6e 4d 61 6a 6f 72 3b 0d 0a 20 20 44 57  sionMajor;..  DW
25020 4f 52 44 20 75 6c 4d 61 6e 69 66 65 73 74 56 65  ORD ulManifestVe
25030 72 73 69 6f 6e 4d 69 6e 6f 72 3b 0d 0a 20 20 44  rsionMinor;..  D
25040 57 4f 52 44 20 75 6c 50 6f 6c 69 63 79 56 65 72  WORD ulPolicyVer
25050 73 69 6f 6e 4d 61 6a 6f 72 3b 0d 0a 20 20 44 57  sionMajor;..  DW
25060 4f 52 44 20 75 6c 50 6f 6c 69 63 79 56 65 72 73  ORD ulPolicyVers
25070 69 6f 6e 4d 69 6e 6f 72 3b 0d 0a 20 20 44 57 4f  ionMinor;..  DWO
25080 52 44 20 75 6c 41 73 73 65 6d 62 6c 79 44 69 72  RD ulAssemblyDir
25090 65 63 74 6f 72 79 4e 61 6d 65 4c 65 6e 67 74 68  ectoryNameLength
250a0 3b 0d 0a 0d 0a 20 20 50 43 57 53 54 52 20 6c 70  ;....  PCWSTR lp
250b0 41 73 73 65 6d 62 6c 79 45 6e 63 6f 64 65 64 41  AssemblyEncodedA
250c0 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 3b  ssemblyIdentity;
250d0 0d 0a 20 20 50 43 57 53 54 52 20 6c 70 41 73 73  ..  PCWSTR lpAss
250e0 65 6d 62 6c 79 4d 61 6e 69 66 65 73 74 50 61 74  emblyManifestPat
250f0 68 3b 0d 0a 20 20 50 43 57 53 54 52 20 6c 70 41  h;..  PCWSTR lpA
25100 73 73 65 6d 62 6c 79 50 6f 6c 69 63 79 50 61 74  ssemblyPolicyPat
25110 68 3b 0d 0a 20 20 50 43 57 53 54 52 20 6c 70 41  h;..  PCWSTR lpA
25120 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f 72 79  ssemblyDirectory
25130 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 75  Name;..  DWORD u
25140 6c 46 69 6c 65 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a  lFileCount;..}..
25150 61 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f  alias _ACTIVATIO
25160 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42  N_CONTEXT_ASSEMB
25170 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  LY_DETAILED_INFO
25180 52 4d 41 54 49 4f 4e 20 41 43 54 49 56 41 54 49  RMATION ACTIVATI
25190 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d  ON_CONTEXT_ASSEM
251a0 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46  BLY_DETAILED_INF
251b0 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73  ORMATION;..alias
251c0 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e   _ACTIVATION_CON
251d0 54 45 58 54 5f 41 53 53 45 4d 42 4c 59 5f 44 45  TEXT_ASSEMBLY_DE
251e0 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49  TAILED_INFORMATI
251f0 4f 4e 2a 20 50 41 43 54 49 56 41 54 49 4f 4e 5f  ON* PACTIVATION_
25200 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42 4c 59  CONTEXT_ASSEMBLY
25210 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
25220 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20  ATION;....alias 
25230 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54  _ACTIVATION_CONT
25240 45 58 54 5f 41 53 53 45 4d 42 4c 59 5f 44 45 54  EXT_ASSEMBLY_DET
25250 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f  AILED_INFORMATIO
25260 4e 2a 20 50 43 41 43 54 49 56 41 54 49 4f 4e 5f  N* PCACTIVATION_
25270 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42 4c 59  CONTEXT_ASSEMBLY
25280 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
25290 41 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  ATION;....struct
252a0 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e   _ACTIVATION_CON
252b0 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e  TEXT_DETAILED_IN
252c0 46 4f 52 4d 41 54 49 4f 4e 20 7b 0d 0a 20 20 44  FORMATION {..  D
252d0 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20  WORD dwFlags;.. 
252e0 20 44 57 4f 52 44 20 75 6c 46 6f 72 6d 61 74 56   DWORD ulFormatV
252f0 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44  ersion;..  DWORD
25300 20 75 6c 41 73 73 65 6d 62 6c 79 43 6f 75 6e 74   ulAssemblyCount
25310 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 52 6f 6f  ;..  DWORD ulRoo
25320 74 4d 61 6e 69 66 65 73 74 50 61 74 68 54 79 70  tManifestPathTyp
25330 65 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 52 6f  e;..  DWORD ulRo
25340 6f 74 4d 61 6e 69 66 65 73 74 50 61 74 68 43 68  otManifestPathCh
25350 61 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c  ars;..  DWORD ul
25360 52 6f 6f 74 43 6f 6e 66 69 67 75 72 61 74 69 6f  RootConfiguratio
25370 6e 50 61 74 68 54 79 70 65 3b 0d 0a 20 20 44 57  nPathType;..  DW
25380 4f 52 44 20 75 6c 52 6f 6f 74 43 6f 6e 66 69 67  ORD ulRootConfig
25390 75 72 61 74 69 6f 6e 50 61 74 68 43 68 61 72 73  urationPathChars
253a0 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 41 70 70  ;..  DWORD ulApp
253b0 44 69 72 50 61 74 68 54 79 70 65 3b 0d 0a 20 20  DirPathType;..  
253c0 44 57 4f 52 44 20 75 6c 41 70 70 44 69 72 50 61  DWORD ulAppDirPa
253d0 74 68 43 68 61 72 73 3b 0d 0a 20 20 50 43 57 53  thChars;..  PCWS
253e0 54 52 20 6c 70 52 6f 6f 74 4d 61 6e 69 66 65 73  TR lpRootManifes
253f0 74 50 61 74 68 3b 0d 0a 20 20 50 43 57 53 54 52  tPath;..  PCWSTR
25400 20 6c 70 52 6f 6f 74 43 6f 6e 66 69 67 75 72 61   lpRootConfigura
25410 74 69 6f 6e 50 61 74 68 3b 0d 0a 20 20 50 43 57  tionPath;..  PCW
25420 53 54 52 20 6c 70 41 70 70 44 69 72 50 61 74 68  STR lpAppDirPath
25430 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 43 54  ;..}..alias _ACT
25440 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
25450 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41  DETAILED_INFORMA
25460 54 49 4f 4e 20 41 43 54 49 56 41 54 49 4f 4e 5f  TION ACTIVATION_
25470 43 4f 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44  CONTEXT_DETAILED
25480 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 61  _INFORMATION;..a
25490 6c 69 61 73 20 5f 41 43 54 49 56 41 54 49 4f 4e  lias _ACTIVATION
254a0 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41 49 4c 45  _CONTEXT_DETAILE
254b0 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50  D_INFORMATION* P
254c0 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45  ACTIVATION_CONTE
254d0 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f  XT_DETAILED_INFO
254e0 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61  RMATION;....alia
254f0 73 20 5f 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f  s _ACTIVATION_CO
25500 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49  NTEXT_DETAILED_I
25510 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 43 41 43  NFORMATION* PCAC
25520 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54  TIVATION_CONTEXT
25530 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d  _DETAILED_INFORM
25540 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ATION;....enum :
25550 20 75 69 6e 74 20 7b 20 44 4c 4c 5f 50 52 4f 43   uint { DLL_PROC
25560 45 53 53 5f 41 54 54 41 43 48 20 3d 20 31 20 7d  ESS_ATTACH = 1 }
25570 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25580 44 4c 4c 5f 54 48 52 45 41 44 5f 41 54 54 41 43  DLL_THREAD_ATTAC
25590 48 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  H = 2 }..enum : 
255a0 75 69 6e 74 20 7b 20 44 4c 4c 5f 54 48 52 45 41  uint { DLL_THREA
255b0 44 5f 44 45 54 41 43 48 20 3d 20 33 20 7d 0d 0a  D_DETACH = 3 }..
255c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c  enum : uint { DL
255d0 4c 5f 50 52 4f 43 45 53 53 5f 44 45 54 41 43 48  L_PROCESS_DETACH
255e0 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
255f0 69 6e 74 20 7b 20 44 4c 4c 5f 50 52 4f 43 45 53  int { DLL_PROCES
25600 53 5f 56 45 52 49 46 49 45 52 20 3d 20 34 20 7d  S_VERIFIER = 4 }
25610 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
25620 7b 20 45 56 45 4e 54 4c 4f 47 5f 53 45 51 55 45  { EVENTLOG_SEQUE
25630 4e 54 49 41 4c 5f 52 45 41 44 20 3d 20 30 78 30  NTIAL_READ = 0x0
25640 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
25650 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 53 45  nt { EVENTLOG_SE
25660 45 4b 5f 52 45 41 44 20 3d 20 30 78 30 30 30 32  EK_READ = 0x0002
25670 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25680 7b 20 45 56 45 4e 54 4c 4f 47 5f 46 4f 52 57 41  { EVENTLOG_FORWA
25690 52 44 53 5f 52 45 41 44 20 3d 20 30 78 30 30 30  RDS_READ = 0x000
256a0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
256b0 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 42 41 43 4b   { EVENTLOG_BACK
256c0 57 41 52 44 53 5f 52 45 41 44 20 3d 20 30 78 30  WARDS_READ = 0x0
256d0 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  008 }....enum : 
256e0 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f  uint { EVENTLOG_
256f0 53 55 43 43 45 53 53 20 3d 20 30 78 30 30 30 30  SUCCESS = 0x0000
25700 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25710 7b 20 45 56 45 4e 54 4c 4f 47 5f 45 52 52 4f 52  { EVENTLOG_ERROR
25720 5f 54 59 50 45 20 3d 20 30 78 30 30 30 31 20 7d  _TYPE = 0x0001 }
25730 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25740 45 56 45 4e 54 4c 4f 47 5f 57 41 52 4e 49 4e 47  EVENTLOG_WARNING
25750 5f 54 59 50 45 20 3d 20 30 78 30 30 30 32 20 7d  _TYPE = 0x0002 }
25760 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25770 45 56 45 4e 54 4c 4f 47 5f 49 4e 46 4f 52 4d 41  EVENTLOG_INFORMA
25780 54 49 4f 4e 5f 54 59 50 45 20 3d 20 30 78 30 30  TION_TYPE = 0x00
25790 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
257a0 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 41 55 44  t { EVENTLOG_AUD
257b0 49 54 5f 53 55 43 43 45 53 53 20 3d 20 30 78 30  IT_SUCCESS = 0x0
257c0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
257d0 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47 5f 41 55  nt { EVENTLOG_AU
257e0 44 49 54 5f 46 41 49 4c 55 52 45 20 3d 20 30 78  DIT_FAILURE = 0x
257f0 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0010 }....enum :
25800 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 4c 4f 47   uint { EVENTLOG
25810 5f 53 54 41 52 54 5f 50 41 49 52 45 44 5f 45 56  _START_PAIRED_EV
25820 45 4e 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  ENT = 0x0001 }..
25830 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
25840 45 4e 54 4c 4f 47 5f 45 4e 44 5f 50 41 49 52 45  ENTLOG_END_PAIRE
25850 44 5f 45 56 45 4e 54 20 3d 20 30 78 30 30 30 32  D_EVENT = 0x0002
25860 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25870 7b 20 45 56 45 4e 54 4c 4f 47 5f 45 4e 44 5f 41  { EVENTLOG_END_A
25880 4c 4c 5f 50 41 49 52 45 44 5f 45 56 45 4e 54 53  LL_PAIRED_EVENTS
25890 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
258a0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
258b0 4c 4f 47 5f 50 41 49 52 45 44 5f 45 56 45 4e 54  LOG_PAIRED_EVENT
258c0 5f 41 43 54 49 56 45 20 3d 20 30 78 30 30 30 38  _ACTIVE = 0x0008
258d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
258e0 7b 20 45 56 45 4e 54 4c 4f 47 5f 50 41 49 52 45  { EVENTLOG_PAIRE
258f0 44 5f 45 56 45 4e 54 5f 49 4e 41 43 54 49 56 45  D_EVENT_INACTIVE
25900 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d 0a 73   = 0x0010 }....s
25910 74 72 75 63 74 20 5f 45 56 45 4e 54 4c 4f 47 52  truct _EVENTLOGR
25920 45 43 4f 52 44 20 7b 0d 0a 20 20 44 57 4f 52 44  ECORD {..  DWORD
25930 20 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57 4f 52   Length;..  DWOR
25940 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 20 20 44  D Reserved;..  D
25950 57 4f 52 44 20 52 65 63 6f 72 64 4e 75 6d 62 65  WORD RecordNumbe
25960 72 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65  r;..  DWORD Time
25970 47 65 6e 65 72 61 74 65 64 3b 0d 0a 20 20 44 57  Generated;..  DW
25980 4f 52 44 20 54 69 6d 65 57 72 69 74 74 65 6e 3b  ORD TimeWritten;
25990 0d 0a 20 20 44 57 4f 52 44 20 45 76 65 6e 74 49  ..  DWORD EventI
259a0 44 3b 0d 0a 20 20 57 4f 52 44 20 45 76 65 6e 74  D;..  WORD Event
259b0 54 79 70 65 3b 0d 0a 20 20 57 4f 52 44 20 4e 75  Type;..  WORD Nu
259c0 6d 53 74 72 69 6e 67 73 3b 0d 0a 20 20 57 4f 52  mStrings;..  WOR
259d0 44 20 45 76 65 6e 74 43 61 74 65 67 6f 72 79 3b  D EventCategory;
259e0 0d 0a 20 20 57 4f 52 44 20 52 65 73 65 72 76 65  ..  WORD Reserve
259f0 64 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44  dFlags;..  DWORD
25a00 20 43 6c 6f 73 69 6e 67 52 65 63 6f 72 64 4e 75   ClosingRecordNu
25a10 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 53  mber;..  DWORD S
25a20 74 72 69 6e 67 4f 66 66 73 65 74 3b 0d 0a 20 20  tringOffset;..  
25a30 44 57 4f 52 44 20 55 73 65 72 53 69 64 4c 65 6e  DWORD UserSidLen
25a40 67 74 68 3b 0d 0a 20 20 44 57 4f 52 44 20 55 73  gth;..  DWORD Us
25a50 65 72 53 69 64 4f 66 66 73 65 74 3b 0d 0a 20 20  erSidOffset;..  
25a60 44 57 4f 52 44 20 44 61 74 61 4c 65 6e 67 74 68  DWORD DataLength
25a70 3b 0d 0a 20 20 44 57 4f 52 44 20 44 61 74 61 4f  ;..  DWORD DataO
25a80 66 66 73 65 74 3b 0d 0a 0d 0a 7d 0d 0a 61 6c 69  ffset;....}..ali
25a90 61 73 20 5f 45 56 45 4e 54 4c 4f 47 52 45 43 4f  as _EVENTLOGRECO
25aa0 52 44 20 45 56 45 4e 54 4c 4f 47 52 45 43 4f 52  RD EVENTLOGRECOR
25ab0 44 3b 0d 0a 61 6c 69 61 73 20 5f 45 56 45 4e 54  D;..alias _EVENT
25ac0 4c 4f 47 52 45 43 4f 52 44 2a 20 50 45 56 45 4e  LOGRECORD* PEVEN
25ad0 54 4c 4f 47 52 45 43 4f 52 44 3b 0d 0a 0d 0a 65  TLOGRECORD;....e
25ae0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58  num : uint { MAX
25af0 4c 4f 47 49 43 41 4c 4c 4f 47 4e 41 4d 45 53 49  LOGICALLOGNAMESI
25b00 5a 45 20 3d 20 32 35 36 20 7d 0d 0a 0d 0a 2f 2f  ZE = 256 }....//
25b10 20 23 69 66 20 5f 4d 53 43 5f 56 45 52 20 3e 3d   #if _MSC_VER >=
25b20 20 31 32 30 30 0d 0a 2f 2f 20 23 70 72 61 67 6d   1200..// #pragm
25b30 61 20 77 61 72 6e 69 6e 67 28 70 75 73 68 29 0d  a warning(push).
25b40 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
25b50 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28 64  pragma warning(d
25b60 69 73 61 62 6c 65 20 3a 20 34 32 30 30 29 0d 0a  isable : 4200)..
25b70 73 74 72 75 63 74 20 5f 45 56 45 4e 54 53 46 4f  struct _EVENTSFO
25b80 52 4c 4f 47 46 49 4c 45 20 7b 0d 0a 20 20 44 57  RLOGFILE {..  DW
25b90 4f 52 44 20 75 6c 53 69 7a 65 3b 0d 0a 20 20 57  ORD ulSize;..  W
25ba0 43 48 41 52 20 73 7a 4c 6f 67 69 63 61 6c 4c 6f  CHAR szLogicalLo
25bb0 67 46 69 6c 65 5b 4d 41 58 4c 4f 47 49 43 41 4c  gFile[MAXLOGICAL
25bc0 4c 4f 47 4e 41 4d 45 53 49 5a 45 5d 3b 0d 0a 20  LOGNAMESIZE];.. 
25bd0 20 44 57 4f 52 44 20 75 6c 4e 75 6d 52 65 63 6f   DWORD ulNumReco
25be0 72 64 73 3b 0d 0a 20 20 45 56 45 4e 54 4c 4f 47  rds;..  EVENTLOG
25bf0 52 45 43 4f 52 44 20 70 45 76 65 6e 74 4c 6f 67  RECORD pEventLog
25c00 52 65 63 6f 72 64 73 5b 5d 3b 0d 0a 7d 0d 0a 61  Records[];..}..a
25c10 6c 69 61 73 20 5f 45 56 45 4e 54 53 46 4f 52 4c  lias _EVENTSFORL
25c20 4f 47 46 49 4c 45 20 45 56 45 4e 54 53 46 4f 52  OGFILE EVENTSFOR
25c30 4c 4f 47 46 49 4c 45 3b 0d 0a 61 6c 69 61 73 20  LOGFILE;..alias 
25c40 5f 45 56 45 4e 54 53 46 4f 52 4c 4f 47 46 49 4c  _EVENTSFORLOGFIL
25c50 45 2a 20 50 45 56 45 4e 54 53 46 4f 52 4c 4f 47  E* PEVENTSFORLOG
25c60 46 49 4c 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  FILE;....struct 
25c70 5f 50 41 43 4b 45 44 45 56 45 4e 54 49 4e 46 4f  _PACKEDEVENTINFO
25c80 20 7b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 53 69   {..  DWORD ulSi
25c90 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4e  ze;..  DWORD ulN
25ca0 75 6d 45 76 65 6e 74 73 46 6f 72 4c 6f 67 46 69  umEventsForLogFi
25cb0 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 75 6c 4f  le;..  DWORD ulO
25cc0 66 66 73 65 74 73 5b 5d 3b 0d 0a 7d 0d 0a 61 6c  ffsets[];..}..al
25cd0 69 61 73 20 5f 50 41 43 4b 45 44 45 56 45 4e 54  ias _PACKEDEVENT
25ce0 49 4e 46 4f 20 50 41 43 4b 45 44 45 56 45 4e 54  INFO PACKEDEVENT
25cf0 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 50 41  INFO;..alias _PA
25d00 43 4b 45 44 45 56 45 4e 54 49 4e 46 4f 2a 20 50  CKEDEVENTINFO* P
25d10 50 41 43 4b 45 44 45 56 45 4e 54 49 4e 46 4f 3b  PACKEDEVENTINFO;
25d20 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 43 5f  ....// #if _MSC_
25d30 56 45 52 20 3e 3d 20 31 32 30 30 0d 0a 2f 2f 20  VER >= 1200..// 
25d40 23 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 28  #pragma warning(
25d50 70 6f 70 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  pop)..// #else..
25d60 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
25d70 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
25d80 74 20 7b 20 4b 45 59 5f 51 55 45 52 59 5f 56 41  t { KEY_QUERY_VA
25d90 4c 55 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  LUE = 0x0001 }..
25da0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45  enum : uint { KE
25db0 59 5f 53 45 54 5f 56 41 4c 55 45 20 3d 20 30 78  Y_SET_VALUE = 0x
25dc0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
25dd0 69 6e 74 20 7b 20 4b 45 59 5f 43 52 45 41 54 45  int { KEY_CREATE
25de0 5f 53 55 42 5f 4b 45 59 20 3d 20 30 78 30 30 30  _SUB_KEY = 0x000
25df0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
25e00 20 7b 20 4b 45 59 5f 45 4e 55 4d 45 52 41 54 45   { KEY_ENUMERATE
25e10 5f 53 55 42 5f 4b 45 59 53 20 3d 20 30 78 30 30  _SUB_KEYS = 0x00
25e20 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
25e30 74 20 7b 20 4b 45 59 5f 4e 4f 54 49 46 59 20 3d  t { KEY_NOTIFY =
25e40 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
25e50 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f 43 52 45  : uint { KEY_CRE
25e60 41 54 45 5f 4c 49 4e 4b 20 3d 20 30 78 30 30 32  ATE_LINK = 0x002
25e70 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25e80 20 7b 20 4b 45 59 5f 57 4f 57 36 34 5f 33 32 4b   { KEY_WOW64_32K
25e90 45 59 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65  EY = 0x0200 }..e
25ea0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59  num : uint { KEY
25eb0 5f 57 4f 57 36 34 5f 36 34 4b 45 59 20 3d 20 30  _WOW64_64KEY = 0
25ec0 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
25ed0 75 69 6e 74 20 7b 20 4b 45 59 5f 57 4f 57 36 34  uint { KEY_WOW64
25ee0 5f 52 45 53 20 3d 20 30 78 30 33 30 30 20 7d 0d  _RES = 0x0300 }.
25ef0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
25f00 20 4b 45 59 5f 52 45 41 44 20 3d 20 28 53 54 41   KEY_READ = (STA
25f10 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 41  NDARD_RIGHTS_REA
25f20 44 20 7c 20 4b 45 59 5f 51 55 45 52 59 5f 56 41  D | KEY_QUERY_VA
25f30 4c 55 45 20 7c 20 4b 45 59 5f 45 4e 55 4d 45 52  LUE | KEY_ENUMER
25f40 41 54 45 5f 53 55 42 5f 4b 45 59 53 20 7c 20 4b  ATE_SUB_KEYS | K
25f50 45 59 5f 4e 4f 54 49 46 59 29 20 26 20 28 7e 53  EY_NOTIFY) & (~S
25f60 59 4e 43 48 52 4f 4e 49 5a 45 29 20 7d 0d 0a 0d  YNCHRONIZE) }...
25f70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b  .enum : uint { K
25f80 45 59 5f 57 52 49 54 45 20 3d 20 28 53 54 41 4e  EY_WRITE = (STAN
25f90 44 41 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54  DARD_RIGHTS_WRIT
25fa0 45 20 7c 20 4b 45 59 5f 53 45 54 5f 56 41 4c 55  E | KEY_SET_VALU
25fb0 45 20 7c 20 4b 45 59 5f 43 52 45 41 54 45 5f 53  E | KEY_CREATE_S
25fc0 55 42 5f 4b 45 59 29 20 26 20 28 7e 53 59 4e 43  UB_KEY) & (~SYNC
25fd0 48 52 4f 4e 49 5a 45 29 20 7d 0d 0a 0d 0a 65 6e  HRONIZE) }....en
25fe0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45 59 5f  um : uint { KEY_
25ff0 45 58 45 43 55 54 45 20 3d 20 4b 45 59 5f 52 45  EXECUTE = KEY_RE
26000 41 44 20 26 20 7e 53 59 4e 43 48 52 4f 4e 49 5a  AD & ~SYNCHRONIZ
26010 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  E }....enum : ui
26020 6e 74 20 7b 20 4b 45 59 5f 41 4c 4c 5f 41 43 43  nt { KEY_ALL_ACC
26030 45 53 53 20 3d 20 28 53 54 41 4e 44 41 52 44 5f  ESS = (STANDARD_
26040 52 49 47 48 54 53 5f 41 4c 4c 20 7c 20 4b 45 59  RIGHTS_ALL | KEY
26050 5f 51 55 45 52 59 5f 56 41 4c 55 45 20 7c 20 4b  _QUERY_VALUE | K
26060 45 59 5f 53 45 54 5f 56 41 4c 55 45 20 7c 20 4b  EY_SET_VALUE | K
26070 45 59 5f 43 52 45 41 54 45 5f 53 55 42 5f 4b 45  EY_CREATE_SUB_KE
26080 59 20 7c 20 4b 45 59 5f 45 4e 55 4d 45 52 41 54  Y | KEY_ENUMERAT
26090 45 5f 53 55 42 5f 4b 45 59 53 20 7c 20 4b 45 59  E_SUB_KEYS | KEY
260a0 5f 4e 4f 54 49 46 59 20 7c 20 4b 45 59 5f 43 52  _NOTIFY | KEY_CR
260b0 45 41 54 45 5f 4c 49 4e 4b 29 20 26 20 28 7e 53  EATE_LINK) & (~S
260c0 59 4e 43 48 52 4f 4e 49 5a 45 29 20 7d 0d 0a 0d  YNCHRONIZE) }...
260d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
260e0 45 47 5f 4f 50 54 49 4f 4e 5f 52 45 53 45 52 56  EG_OPTION_RESERV
260f0 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  ED = 0x00000000 
26100 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
26110 20 7b 20 52 45 47 5f 4f 50 54 49 4f 4e 5f 4e 4f   { REG_OPTION_NO
26120 4e 5f 56 4f 4c 41 54 49 4c 45 20 3d 20 30 78 30  N_VOLATILE = 0x0
26130 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000000 }....enu
26140 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4f  m : uint { REG_O
26150 50 54 49 4f 4e 5f 56 4f 4c 41 54 49 4c 45 20 3d  PTION_VOLATILE =
26160 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d   0x00000001 }...
26170 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
26180 45 47 5f 4f 50 54 49 4f 4e 5f 43 52 45 41 54 45  EG_OPTION_CREATE
26190 5f 4c 49 4e 4b 20 3d 20 30 78 30 30 30 30 30 30  _LINK = 0x000000
261a0 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  02 }....enum : u
261b0 69 6e 74 20 7b 20 52 45 47 5f 4f 50 54 49 4f 4e  int { REG_OPTION
261c0 5f 42 41 43 4b 55 50 5f 52 45 53 54 4f 52 45 20  _BACKUP_RESTORE 
261d0 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
261e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
261f0 52 45 47 5f 4f 50 54 49 4f 4e 5f 4f 50 45 4e 5f  REG_OPTION_OPEN_
26200 4c 49 4e 4b 20 3d 20 30 78 30 30 30 30 30 30 30  LINK = 0x0000000
26210 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
26220 6e 74 20 7b 20 52 45 47 5f 4c 45 47 41 4c 5f 4f  nt { REG_LEGAL_O
26230 50 54 49 4f 4e 20 3d 20 52 45 47 5f 4f 50 54 49  PTION = REG_OPTI
26240 4f 4e 5f 52 45 53 45 52 56 45 44 20 7c 20 52 45  ON_RESERVED | RE
26250 47 5f 4f 50 54 49 4f 4e 5f 4e 4f 4e 5f 56 4f 4c  G_OPTION_NON_VOL
26260 41 54 49 4c 45 20 7c 20 52 45 47 5f 4f 50 54 49  ATILE | REG_OPTI
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 43 52 45 41 54 45 5f  G_OPTION_CREATE_
26290 4c 49 4e 4b 20 7c 20 52 45 47 5f 4f 50 54 49 4f  LINK | REG_OPTIO
262a0 4e 5f 42 41 43 4b 55 50 5f 52 45 53 54 4f 52 45  N_BACKUP_RESTORE
262b0 20 7c 20 52 45 47 5f 4f 50 54 49 4f 4e 5f 4f 50   | REG_OPTION_OP
262c0 45 4e 5f 4c 49 4e 4b 20 7d 0d 0a 0d 0a 65 6e 75  EN_LINK }....enu
262d0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 43  m : uint { REG_C
262e0 52 45 41 54 45 44 5f 4e 45 57 5f 4b 45 59 20 3d  REATED_NEW_KEY =
262f0 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
26300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47  num : uint { REG
26310 5f 4f 50 45 4e 45 44 5f 45 58 49 53 54 49 4e 47  _OPENED_EXISTING
26320 5f 4b 45 59 20 3d 20 30 78 30 30 30 30 30 30 30  _KEY = 0x0000000
26330 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
26340 6e 74 20 7b 20 52 45 47 5f 53 54 41 4e 44 41 52  nt { REG_STANDAR
26350 44 5f 46 4f 52 4d 41 54 20 3d 20 31 20 7d 0d 0a  D_FORMAT = 1 }..
26360 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45  enum : uint { RE
26370 47 5f 4c 41 54 45 53 54 5f 46 4f 52 4d 41 54 20  G_LATEST_FORMAT 
26380 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
26390 6e 74 20 7b 20 52 45 47 5f 4e 4f 5f 43 4f 4d 50  nt { REG_NO_COMP
263a0 52 45 53 53 49 4f 4e 20 3d 20 34 20 7d 0d 0a 0d  RESSION = 4 }...
263b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
263c0 45 47 5f 57 48 4f 4c 45 5f 48 49 56 45 5f 56 4f  EG_WHOLE_HIVE_VO
263d0 4c 41 54 49 4c 45 20 3d 20 30 78 30 30 30 30 30  LATILE = 0x00000
263e0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
263f0 6e 74 20 7b 20 52 45 47 5f 52 45 46 52 45 53 48  nt { REG_REFRESH
26400 5f 48 49 56 45 20 3d 20 30 78 30 30 30 30 30 30  _HIVE = 0x000000
26410 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
26420 74 20 7b 20 52 45 47 5f 4e 4f 5f 4c 41 5a 59 5f  t { REG_NO_LAZY_
26430 46 4c 55 53 48 20 3d 20 30 78 30 30 30 30 30 30  FLUSH = 0x000000
26440 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
26450 74 20 7b 20 52 45 47 5f 46 4f 52 43 45 5f 52 45  t { REG_FORCE_RE
26460 53 54 4f 52 45 20 3d 20 30 78 30 30 30 30 30 30  STORE = 0x000000
26470 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
26480 69 6e 74 20 7b 20 52 45 47 5f 4e 4f 54 49 46 59  int { REG_NOTIFY
26490 5f 43 48 41 4e 47 45 5f 4e 41 4d 45 20 3d 20 30  _CHANGE_NAME = 0
264a0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
264b0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4e  m : uint { REG_N
264c0 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 41 54 54  OTIFY_CHANGE_ATT
264d0 52 49 42 55 54 45 53 20 3d 20 30 78 30 30 30 30  RIBUTES = 0x0000
264e0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
264f0 69 6e 74 20 7b 20 52 45 47 5f 4e 4f 54 49 46 59  int { REG_NOTIFY
26500 5f 43 48 41 4e 47 45 5f 4c 41 53 54 5f 53 45 54  _CHANGE_LAST_SET
26510 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
26520 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
26530 45 47 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45  EG_NOTIFY_CHANGE
26540 5f 53 45 43 55 52 49 54 59 20 3d 20 30 78 30 30  _SECURITY = 0x00
26550 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  000008 }....enum
26560 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4c 45   : uint { REG_LE
26570 47 41 4c 5f 43 48 41 4e 47 45 5f 46 49 4c 54 45  GAL_CHANGE_FILTE
26580 52 20 3d 20 52 45 47 5f 4e 4f 54 49 46 59 5f 43  R = REG_NOTIFY_C
26590 48 41 4e 47 45 5f 4e 41 4d 45 20 7c 20 52 45 47  HANGE_NAME | REG
265a0 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 41  _NOTIFY_CHANGE_A
265b0 54 54 52 49 42 55 54 45 53 20 7c 20 52 45 47 5f  TTRIBUTES | REG_
265c0 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41  NOTIFY_CHANGE_LA
265d0 53 54 5f 53 45 54 20 7c 20 52 45 47 5f 4e 4f 54  ST_SET | REG_NOT
265e0 49 46 59 5f 43 48 41 4e 47 45 5f 53 45 43 55 52  IFY_CHANGE_SECUR
265f0 49 54 59 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ITY }....enum : 
26600 75 69 6e 74 20 7b 20 52 45 47 5f 4e 4f 4e 45 20  uint { REG_NONE 
26610 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
26620 6e 74 20 7b 20 52 45 47 5f 53 5a 20 3d 20 31 20  nt { REG_SZ = 1 
26630 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26640 20 52 45 47 5f 45 58 50 41 4e 44 5f 53 5a 20 3d   REG_EXPAND_SZ =
26650 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   2 }....enum : u
26660 69 6e 74 20 7b 20 52 45 47 5f 42 49 4e 41 52 59  int { REG_BINARY
26670 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
26680 69 6e 74 20 7b 20 52 45 47 5f 44 57 4f 52 44 20  int { REG_DWORD 
26690 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
266a0 6e 74 20 7b 20 52 45 47 5f 44 57 4f 52 44 5f 4c  nt { REG_DWORD_L
266b0 49 54 54 4c 45 5f 45 4e 44 49 41 4e 20 3d 20 34  ITTLE_ENDIAN = 4
266c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
266d0 7b 20 52 45 47 5f 44 57 4f 52 44 5f 42 49 47 5f  { REG_DWORD_BIG_
266e0 45 4e 44 49 41 4e 20 3d 20 35 20 7d 0d 0a 65 6e  ENDIAN = 5 }..en
266f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
26700 4c 49 4e 4b 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d  LINK = 6 }..enum
26710 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 4d 55   : uint { REG_MU
26720 4c 54 49 5f 53 5a 20 3d 20 37 20 7d 0d 0a 65 6e  LTI_SZ = 7 }..en
26730 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f  um : uint { REG_
26740 52 45 53 4f 55 52 43 45 5f 4c 49 53 54 20 3d 20  RESOURCE_LIST = 
26750 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
26760 20 7b 20 52 45 47 5f 46 55 4c 4c 5f 52 45 53 4f   { REG_FULL_RESO
26770 55 52 43 45 5f 44 45 53 43 52 49 50 54 4f 52 20  URCE_DESCRIPTOR 
26780 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 9 }..enum : ui
26790 6e 74 20 7b 20 52 45 47 5f 52 45 53 4f 55 52 43  nt { REG_RESOURC
267a0 45 5f 52 45 51 55 49 52 45 4d 45 4e 54 53 5f 4c  E_REQUIREMENTS_L
267b0 49 53 54 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d  IST = 10 }..enum
267c0 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 51 57   : uint { REG_QW
267d0 4f 52 44 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d  ORD = 11 }..enum
267e0 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 5f 51 57   : uint { REG_QW
267f0 4f 52 44 5f 4c 49 54 54 4c 45 5f 45 4e 44 49 41  ORD_LITTLE_ENDIA
26800 4e 20 3d 20 31 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  N = 11 }....enum
26810 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43   : uint { SERVIC
26820 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56 45 52 20  E_KERNEL_DRIVER 
26830 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
26840 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45  enum : uint { SE
26850 52 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45  RVICE_FILE_SYSTE
26860 4d 5f 44 52 49 56 45 52 20 3d 20 30 78 30 30 30  M_DRIVER = 0x000
26870 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
26880 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 41  uint { SERVICE_A
26890 44 41 50 54 45 52 20 3d 20 30 78 30 30 30 30 30  DAPTER = 0x00000
268a0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
268b0 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 52 45 43  nt { SERVICE_REC
268c0 4f 47 4e 49 5a 45 52 5f 44 52 49 56 45 52 20 3d  OGNIZER_DRIVER =
268d0 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 0d   0x00000008 }...
268e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
268f0 45 52 56 49 43 45 5f 44 52 49 56 45 52 20 3d 20  ERVICE_DRIVER = 
26900 53 45 52 56 49 43 45 5f 4b 45 52 4e 45 4c 5f 44  SERVICE_KERNEL_D
26910 52 49 56 45 52 20 7c 20 53 45 52 56 49 43 45 5f  RIVER | SERVICE_
26920 46 49 4c 45 5f 53 59 53 54 45 4d 5f 44 52 49 56  FILE_SYSTEM_DRIV
26930 45 52 20 7c 20 53 45 52 56 49 43 45 5f 52 45 43  ER | SERVICE_REC
26940 4f 47 4e 49 5a 45 52 5f 44 52 49 56 45 52 20 7d  OGNIZER_DRIVER }
26950 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
26960 7b 20 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f  { SERVICE_WIN32_
26970 4f 57 4e 5f 50 52 4f 43 45 53 53 20 3d 20 30 78  OWN_PROCESS = 0x
26980 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
26990 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43   : uint { SERVIC
269a0 45 5f 57 49 4e 33 32 5f 53 48 41 52 45 5f 50 52  E_WIN32_SHARE_PR
269b0 4f 43 45 53 53 20 3d 20 30 78 30 30 30 30 30 30  OCESS = 0x000000
269c0 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
269d0 74 20 7b 20 53 45 52 56 49 43 45 5f 57 49 4e 33  t { SERVICE_WIN3
269e0 32 20 3d 20 53 45 52 56 49 43 45 5f 57 49 4e 33  2 = SERVICE_WIN3
269f0 32 5f 4f 57 4e 5f 50 52 4f 43 45 53 53 20 7c 20  2_OWN_PROCESS | 
26a00 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f 53 48  SERVICE_WIN32_SH
26a10 41 52 45 5f 50 52 4f 43 45 53 53 20 7d 0d 0a 0d  ARE_PROCESS }...
26a20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
26a30 45 52 56 49 43 45 5f 49 4e 54 45 52 41 43 54 49  ERVICE_INTERACTI
26a40 56 45 5f 50 52 4f 43 45 53 53 20 3d 20 30 78 30  VE_PROCESS = 0x0
26a50 30 30 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000100 }....enu
26a60 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49  m : uint { SERVI
26a70 43 45 5f 54 59 50 45 5f 41 4c 4c 20 3d 20 53 45  CE_TYPE_ALL = SE
26a80 52 56 49 43 45 5f 57 49 4e 33 32 20 7c 20 53 45  RVICE_WIN32 | SE
26a90 52 56 49 43 45 5f 41 44 41 50 54 45 52 20 7c 20  RVICE_ADAPTER | 
26aa0 53 45 52 56 49 43 45 5f 44 52 49 56 45 52 20 7c  SERVICE_DRIVER |
26ab0 20 53 45 52 56 49 43 45 5f 49 4e 54 45 52 41 43   SERVICE_INTERAC
26ac0 54 49 56 45 5f 50 52 4f 43 45 53 53 20 7d 0d 0a  TIVE_PROCESS }..
26ad0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26ae0 53 45 52 56 49 43 45 5f 42 4f 4f 54 5f 53 54 41  SERVICE_BOOT_STA
26af0 52 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  RT = 0x00000000 
26b00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26b10 20 53 45 52 56 49 43 45 5f 53 59 53 54 45 4d 5f   SERVICE_SYSTEM_
26b20 53 54 41 52 54 20 3d 20 30 78 30 30 30 30 30 30  START = 0x000000
26b30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
26b40 74 20 7b 20 53 45 52 56 49 43 45 5f 41 55 54 4f  t { SERVICE_AUTO
26b50 5f 53 54 41 52 54 20 3d 20 30 78 30 30 30 30 30  _START = 0x00000
26b60 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
26b70 6e 74 20 7b 20 53 45 52 56 49 43 45 5f 44 45 4d  nt { SERVICE_DEM
26b80 41 4e 44 5f 53 54 41 52 54 20 3d 20 30 78 30 30  AND_START = 0x00
26b90 30 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  000003 }..enum :
26ba0 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45 5f   uint { SERVICE_
26bb0 44 49 53 41 42 4c 45 44 20 3d 20 30 78 30 30 30  DISABLED = 0x000
26bc0 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00004 }....enum 
26bd0 3a 20 75 69 6e 74 20 7b 20 53 45 52 56 49 43 45  : uint { SERVICE
26be0 5f 45 52 52 4f 52 5f 49 47 4e 4f 52 45 20 3d 20  _ERROR_IGNORE = 
26bf0 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
26c00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 52 56  um : uint { SERV
26c10 49 43 45 5f 45 52 52 4f 52 5f 4e 4f 52 4d 41 4c  ICE_ERROR_NORMAL
26c20 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
26c30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
26c40 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 53 45 56  ERVICE_ERROR_SEV
26c50 45 52 45 20 3d 20 30 78 30 30 30 30 30 30 30 32  ERE = 0x00000002
26c60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
26c70 7b 20 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f  { SERVICE_ERROR_
26c80 43 52 49 54 49 43 41 4c 20 3d 20 30 78 30 30 30  CRITICAL = 0x000
26c90 30 30 30 30 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73  00003 }....alias
26ca0 20 69 6e 74 20 5f 43 4d 5f 53 45 52 56 49 43 45   int _CM_SERVICE
26cb0 5f 4e 4f 44 45 5f 54 59 50 45 3b 0d 0a 65 6e 75  _NODE_TYPE;..enu
26cc0 6d 20 7b 0d 0a 20 20 44 72 69 76 65 72 54 79 70  m {..  DriverTyp
26cd0 65 20 3d 20 53 45 52 56 49 43 45 5f 4b 45 52 4e  e = SERVICE_KERN
26ce0 45 4c 5f 44 52 49 56 45 52 2c 0d 0a 20 20 46 69  EL_DRIVER,..  Fi
26cf0 6c 65 53 79 73 74 65 6d 54 79 70 65 20 3d 20 53  leSystemType = S
26d00 45 52 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54  ERVICE_FILE_SYST
26d10 45 4d 5f 44 52 49 56 45 52 2c 0d 0a 20 20 57 69  EM_DRIVER,..  Wi
26d20 6e 33 32 53 65 72 76 69 63 65 4f 77 6e 50 72 6f  n32ServiceOwnPro
26d30 63 65 73 73 20 3d 20 53 45 52 56 49 43 45 5f 57  cess = SERVICE_W
26d40 49 4e 33 32 5f 4f 57 4e 5f 50 52 4f 43 45 53 53  IN32_OWN_PROCESS
26d50 2c 0d 0a 20 20 57 69 6e 33 32 53 65 72 76 69 63  ,..  Win32Servic
26d60 65 53 68 61 72 65 50 72 6f 63 65 73 73 20 3d 20  eShareProcess = 
26d70 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f 53 48  SERVICE_WIN32_SH
26d80 41 52 45 5f 50 52 4f 43 45 53 53 2c 0d 0a 20 20  ARE_PROCESS,..  
26d90 41 64 61 70 74 65 72 54 79 70 65 20 3d 20 53 45  AdapterType = SE
26da0 52 56 49 43 45 5f 41 44 41 50 54 45 52 2c 0d 0a  RVICE_ADAPTER,..
26db0 20 20 52 65 63 6f 67 6e 69 7a 65 72 54 79 70 65    RecognizerType
26dc0 20 3d 20 53 45 52 56 49 43 45 5f 52 45 43 4f 47   = SERVICE_RECOG
26dd0 4e 49 5a 45 52 5f 44 52 49 56 45 52 2c 0d 0a 7d  NIZER_DRIVER,..}
26de0 0d 0a 61 6c 69 61 73 20 5f 43 4d 5f 53 45 52 56  ..alias _CM_SERV
26df0 49 43 45 5f 4e 4f 44 45 5f 54 59 50 45 20 53 45  ICE_NODE_TYPE SE
26e00 52 56 49 43 45 5f 4e 4f 44 45 5f 54 59 50 45 3b  RVICE_NODE_TYPE;
26e10 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 5f 43  ....alias int _C
26e20 4d 5f 53 45 52 56 49 43 45 5f 4c 4f 41 44 5f 54  M_SERVICE_LOAD_T
26e30 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d 0a 20 20  YPE;..enum {..  
26e40 42 6f 6f 74 4c 6f 61 64 20 3d 20 53 45 52 56 49  BootLoad = SERVI
26e50 43 45 5f 42 4f 4f 54 5f 53 54 41 52 54 2c 0d 0a  CE_BOOT_START,..
26e60 20 20 53 79 73 74 65 6d 4c 6f 61 64 20 3d 20 53    SystemLoad = S
26e70 45 52 56 49 43 45 5f 53 59 53 54 45 4d 5f 53 54  ERVICE_SYSTEM_ST
26e80 41 52 54 2c 0d 0a 20 20 41 75 74 6f 4c 6f 61 64  ART,..  AutoLoad
26e90 20 3d 20 53 45 52 56 49 43 45 5f 41 55 54 4f 5f   = SERVICE_AUTO_
26ea0 53 54 41 52 54 2c 0d 0a 20 20 44 65 6d 61 6e 64  START,..  Demand
26eb0 4c 6f 61 64 20 3d 20 53 45 52 56 49 43 45 5f 44  Load = SERVICE_D
26ec0 45 4d 41 4e 44 5f 53 54 41 52 54 2c 0d 0a 20 20  EMAND_START,..  
26ed0 44 69 73 61 62 6c 65 4c 6f 61 64 20 3d 20 53 45  DisableLoad = SE
26ee0 52 56 49 43 45 5f 44 49 53 41 42 4c 45 44 2c 0d  RVICE_DISABLED,.
26ef0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43 4d 5f 53 45  .}..alias _CM_SE
26f00 52 56 49 43 45 5f 4c 4f 41 44 5f 54 59 50 45 20  RVICE_LOAD_TYPE 
26f10 53 45 52 56 49 43 45 5f 4c 4f 41 44 5f 54 59 50  SERVICE_LOAD_TYP
26f20 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20  E;....alias int 
26f30 5f 43 4d 5f 45 52 52 4f 52 5f 43 4f 4e 54 52 4f  _CM_ERROR_CONTRO
26f40 4c 5f 54 59 50 45 3b 0d 0a 65 6e 75 6d 20 7b 0d  L_TYPE;..enum {.
26f50 0a 20 20 49 67 6e 6f 72 65 45 72 72 6f 72 20 3d  .  IgnoreError =
26f60 20 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 49   SERVICE_ERROR_I
26f70 47 4e 4f 52 45 2c 0d 0a 20 20 4e 6f 72 6d 61 6c  GNORE,..  Normal
26f80 45 72 72 6f 72 20 3d 20 53 45 52 56 49 43 45 5f  Error = SERVICE_
26f90 45 52 52 4f 52 5f 4e 4f 52 4d 41 4c 2c 0d 0a 20  ERROR_NORMAL,.. 
26fa0 20 53 65 76 65 72 65 45 72 72 6f 72 20 3d 20 53   SevereError = S
26fb0 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 53 45 56  ERVICE_ERROR_SEV
26fc0 45 52 45 2c 0d 0a 20 20 43 72 69 74 69 63 61 6c  ERE,..  Critical
26fd0 45 72 72 6f 72 20 3d 20 53 45 52 56 49 43 45 5f  Error = SERVICE_
26fe0 45 52 52 4f 52 5f 43 52 49 54 49 43 41 4c 2c 0d  ERROR_CRITICAL,.
26ff0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43 4d 5f 45 52  .}..alias _CM_ER
27000 52 4f 52 5f 43 4f 4e 54 52 4f 4c 5f 54 59 50 45  ROR_CONTROL_TYPE
27010 20 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 54   SERVICE_ERROR_T
27020 59 50 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  YPE;....enum : u
27030 69 6e 74 20 7b 20 54 41 50 45 5f 45 52 41 53 45  int { TAPE_ERASE
27040 5f 53 48 4f 52 54 20 3d 20 30 20 7d 0d 0a 65 6e  _SHORT = 0 }..en
27050 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45  um : uint { TAPE
27060 5f 45 52 41 53 45 5f 4c 4f 4e 47 20 3d 20 31 20  _ERASE_LONG = 1 
27070 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50  }....struct _TAP
27080 45 5f 45 52 41 53 45 20 7b 0d 0a 20 20 44 57 4f  E_ERASE {..  DWO
27090 52 44 20 54 79 70 65 3b 0d 0a 20 20 42 4f 4f 4c  RD Type;..  BOOL
270a0 45 41 4e 20 49 6d 6d 65 64 69 61 74 65 3b 0d 0a  EAN Immediate;..
270b0 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 45  }..alias _TAPE_E
270c0 52 41 53 45 20 54 41 50 45 5f 45 52 41 53 45 3b  RASE TAPE_ERASE;
270d0 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 45 52  ..alias _TAPE_ER
270e0 41 53 45 2a 20 50 54 41 50 45 5f 45 52 41 53 45  ASE* PTAPE_ERASE
270f0 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
27100 20 7b 20 54 41 50 45 5f 4c 4f 41 44 20 3d 20 30   { TAPE_LOAD = 0
27110 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27120 7b 20 54 41 50 45 5f 55 4e 4c 4f 41 44 20 3d 20  { TAPE_UNLOAD = 
27130 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
27140 20 7b 20 54 41 50 45 5f 54 45 4e 53 49 4f 4e 20   { TAPE_TENSION 
27150 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
27160 6e 74 20 7b 20 54 41 50 45 5f 4c 4f 43 4b 20 3d  nt { TAPE_LOCK =
27170 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
27180 74 20 7b 20 54 41 50 45 5f 55 4e 4c 4f 43 4b 20  t { TAPE_UNLOCK 
27190 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
271a0 6e 74 20 7b 20 54 41 50 45 5f 46 4f 52 4d 41 54  nt { TAPE_FORMAT
271b0 20 3d 20 35 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 5 }....struct
271c0 20 5f 54 41 50 45 5f 50 52 45 50 41 52 45 20 7b   _TAPE_PREPARE {
271d0 0d 0a 20 20 44 57 4f 52 44 20 4f 70 65 72 61 74  ..  DWORD Operat
271e0 69 6f 6e 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ion;..  BOOLEAN 
271f0 49 6d 6d 65 64 69 61 74 65 3b 0d 0a 7d 0d 0a 61  Immediate;..}..a
27200 6c 69 61 73 20 5f 54 41 50 45 5f 50 52 45 50 41  lias _TAPE_PREPA
27210 52 45 20 54 41 50 45 5f 50 52 45 50 41 52 45 3b  RE TAPE_PREPARE;
27220 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 50 52  ..alias _TAPE_PR
27230 45 50 41 52 45 2a 20 50 54 41 50 45 5f 50 52 45  EPARE* PTAPE_PRE
27240 50 41 52 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  PARE;....enum : 
27250 75 69 6e 74 20 7b 20 54 41 50 45 5f 53 45 54 4d  uint { TAPE_SETM
27260 41 52 4b 53 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  ARKS = 0 }..enum
27270 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 46   : uint { TAPE_F
27280 49 4c 45 4d 41 52 4b 53 20 3d 20 31 20 7d 0d 0a  ILEMARKS = 1 }..
27290 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
272a0 50 45 5f 53 48 4f 52 54 5f 46 49 4c 45 4d 41 52  PE_SHORT_FILEMAR
272b0 4b 53 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  KS = 2 }..enum :
272c0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 4c 4f 4e   uint { TAPE_LON
272d0 47 5f 46 49 4c 45 4d 41 52 4b 53 20 3d 20 33 20  G_FILEMARKS = 3 
272e0 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50  }....struct _TAP
272f0 45 5f 57 52 49 54 45 5f 4d 41 52 4b 53 20 7b 0d  E_WRITE_MARKS {.
27300 0a 20 20 44 57 4f 52 44 20 54 79 70 65 3b 0d 0a  .  DWORD Type;..
27310 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a    DWORD Count;..
27320 20 20 42 4f 4f 4c 45 41 4e 20 49 6d 6d 65 64 69    BOOLEAN Immedi
27330 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ate;..}..alias _
27340 54 41 50 45 5f 57 52 49 54 45 5f 4d 41 52 4b 53  TAPE_WRITE_MARKS
27350 20 54 41 50 45 5f 57 52 49 54 45 5f 4d 41 52 4b   TAPE_WRITE_MARK
27360 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f  S;..alias _TAPE_
27370 57 52 49 54 45 5f 4d 41 52 4b 53 2a 20 50 54 41  WRITE_MARKS* PTA
27380 50 45 5f 57 52 49 54 45 5f 4d 41 52 4b 53 3b 0d  PE_WRITE_MARKS;.
27390 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
273a0 20 54 41 50 45 5f 41 42 53 4f 4c 55 54 45 5f 50   TAPE_ABSOLUTE_P
273b0 4f 53 49 54 49 4f 4e 20 3d 20 30 20 7d 0d 0a 65  OSITION = 0 }..e
273c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
273d0 45 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49 54 49  E_LOGICAL_POSITI
273e0 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 1 }..enum :
273f0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 50 53 45   uint { TAPE_PSE
27400 55 44 4f 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49  UDO_LOGICAL_POSI
27410 54 49 4f 4e 20 3d 20 32 20 7d 0d 0a 0d 0a 73 74  TION = 2 }....st
27420 72 75 63 74 20 5f 54 41 50 45 5f 47 45 54 5f 50  ruct _TAPE_GET_P
27430 4f 53 49 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f  OSITION {..  DWO
27440 52 44 20 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52  RD Type;..  DWOR
27450 44 20 50 61 72 74 69 74 69 6f 6e 3b 0d 0a 20 20  D Partition;..  
27460 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 4f 66  LARGE_INTEGER Of
27470 66 73 65 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  fset;..}..alias 
27480 5f 54 41 50 45 5f 47 45 54 5f 50 4f 53 49 54 49  _TAPE_GET_POSITI
27490 4f 4e 20 54 41 50 45 5f 47 45 54 5f 50 4f 53 49  ON TAPE_GET_POSI
274a0 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f 54 41  TION;..alias _TA
274b0 50 45 5f 47 45 54 5f 50 4f 53 49 54 49 4f 4e 2a  PE_GET_POSITION*
274c0 20 50 54 41 50 45 5f 47 45 54 5f 50 4f 53 49 54   PTAPE_GET_POSIT
274d0 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ION;....enum : u
274e0 69 6e 74 20 7b 20 54 41 50 45 5f 52 45 57 49 4e  int { TAPE_REWIN
274f0 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 0 }..enum : 
27500 75 69 6e 74 20 7b 20 54 41 50 45 5f 41 42 53 4f  uint { TAPE_ABSO
27510 4c 55 54 45 5f 42 4c 4f 43 4b 20 3d 20 31 20 7d  LUTE_BLOCK = 1 }
27520 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27530 54 41 50 45 5f 4c 4f 47 49 43 41 4c 5f 42 4c 4f  TAPE_LOGICAL_BLO
27540 43 4b 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  CK = 2 }..enum :
27550 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 50 53 45   uint { TAPE_PSE
27560 55 44 4f 5f 4c 4f 47 49 43 41 4c 5f 42 4c 4f 43  UDO_LOGICAL_BLOC
27570 4b 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  K = 3 }..enum : 
27580 75 69 6e 74 20 7b 20 54 41 50 45 5f 53 50 41 43  uint { TAPE_SPAC
27590 45 5f 45 4e 44 5f 4f 46 5f 44 41 54 41 20 3d 20  E_END_OF_DATA = 
275a0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
275b0 20 7b 20 54 41 50 45 5f 53 50 41 43 45 5f 52 45   { TAPE_SPACE_RE
275c0 4c 41 54 49 56 45 5f 42 4c 4f 43 4b 53 20 3d 20  LATIVE_BLOCKS = 
275d0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
275e0 20 7b 20 54 41 50 45 5f 53 50 41 43 45 5f 46 49   { TAPE_SPACE_FI
275f0 4c 45 4d 41 52 4b 53 20 3d 20 36 20 7d 0d 0a 65  LEMARKS = 6 }..e
27600 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27610 45 5f 53 50 41 43 45 5f 53 45 51 55 45 4e 54 49  E_SPACE_SEQUENTI
27620 41 4c 5f 46 4d 4b 53 20 3d 20 37 20 7d 0d 0a 65  AL_FMKS = 7 }..e
27630 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
27640 45 5f 53 50 41 43 45 5f 53 45 54 4d 41 52 4b 53  E_SPACE_SETMARKS
27650 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 8 }..enum : u
27660 69 6e 74 20 7b 20 54 41 50 45 5f 53 50 41 43 45  int { TAPE_SPACE
27670 5f 53 45 51 55 45 4e 54 49 41 4c 5f 53 4d 4b 53  _SEQUENTIAL_SMKS
27680 20 3d 20 39 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 9 }....struct
27690 20 5f 54 41 50 45 5f 53 45 54 5f 50 4f 53 49 54   _TAPE_SET_POSIT
276a0 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4d  ION {..  DWORD M
276b0 65 74 68 6f 64 3b 0d 0a 20 20 44 57 4f 52 44 20  ethod;..  DWORD 
276c0 50 61 72 74 69 74 69 6f 6e 3b 0d 0a 20 20 4c 41  Partition;..  LA
276d0 52 47 45 5f 49 4e 54 45 47 45 52 20 4f 66 66 73  RGE_INTEGER Offs
276e0 65 74 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 49  et;..  BOOLEAN I
276f0 6d 6d 65 64 69 61 74 65 3b 0d 0a 7d 0d 0a 61 6c  mmediate;..}..al
27700 69 61 73 20 5f 54 41 50 45 5f 53 45 54 5f 50 4f  ias _TAPE_SET_PO
27710 53 49 54 49 4f 4e 20 54 41 50 45 5f 53 45 54 5f  SITION TAPE_SET_
27720 50 4f 53 49 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73  POSITION;..alias
27730 20 5f 54 41 50 45 5f 53 45 54 5f 50 4f 53 49 54   _TAPE_SET_POSIT
27740 49 4f 4e 2a 20 50 54 41 50 45 5f 53 45 54 5f 50  ION* PTAPE_SET_P
27750 4f 53 49 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d  OSITION;....enum
27760 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
27770 52 49 56 45 5f 46 49 58 45 44 20 3d 20 30 78 30  RIVE_FIXED = 0x0
27780 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
27790 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
277a0 49 56 45 5f 53 45 4c 45 43 54 20 3d 20 30 78 30  IVE_SELECT = 0x0
277b0 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
277c0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
277d0 49 56 45 5f 49 4e 49 54 49 41 54 4f 52 20 3d 20  IVE_INITIATOR = 
277e0 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a  0x00000004 }....
277f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27800 50 45 5f 44 52 49 56 45 5f 45 52 41 53 45 5f 53  PE_DRIVE_ERASE_S
27810 48 4f 52 54 20 3d 20 30 78 30 30 30 30 30 30 31  HORT = 0x0000001
27820 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27830 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 45 52   { TAPE_DRIVE_ER
27840 41 53 45 5f 4c 4f 4e 47 20 3d 20 30 78 30 30 30  ASE_LONG = 0x000
27850 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
27860 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56  uint { TAPE_DRIV
27870 45 5f 45 52 41 53 45 5f 42 4f 50 5f 4f 4e 4c 59  E_ERASE_BOP_ONLY
27880 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
27890 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
278a0 41 50 45 5f 44 52 49 56 45 5f 45 52 41 53 45 5f  APE_DRIVE_ERASE_
278b0 49 4d 4d 45 44 49 41 54 45 20 3d 20 30 78 30 30  IMMEDIATE = 0x00
278c0 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000080 }....enum
278d0 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
278e0 52 49 56 45 5f 54 41 50 45 5f 43 41 50 41 43 49  RIVE_TAPE_CAPACI
278f0 54 59 20 3d 20 30 78 30 30 30 30 30 31 30 30 20  TY = 0x00000100 
27900 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27910 20 54 41 50 45 5f 44 52 49 56 45 5f 54 41 50 45   TAPE_DRIVE_TAPE
27920 5f 52 45 4d 41 49 4e 49 4e 47 20 3d 20 30 78 30  _REMAINING = 0x0
27930 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
27940 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27950 49 56 45 5f 46 49 58 45 44 5f 42 4c 4f 43 4b 20  IVE_FIXED_BLOCK 
27960 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
27970 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27980 50 45 5f 44 52 49 56 45 5f 56 41 52 49 41 42 4c  PE_DRIVE_VARIABL
27990 45 5f 42 4c 4f 43 4b 20 3d 20 30 78 30 30 30 30  E_BLOCK = 0x0000
279a0 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0800 }....enum :
279b0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
279c0 56 45 5f 57 52 49 54 45 5f 50 52 4f 54 45 43 54  VE_WRITE_PROTECT
279d0 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
279e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
279f0 41 50 45 5f 44 52 49 56 45 5f 45 4f 54 5f 57 5a  APE_DRIVE_EOT_WZ
27a00 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 32 30  _SIZE = 0x000020
27a10 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
27a20 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45  int { TAPE_DRIVE
27a30 5f 45 43 43 20 3d 20 30 78 30 30 30 31 30 30 30  _ECC = 0x0001000
27a40 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27a50 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 43 4f   { TAPE_DRIVE_CO
27a60 4d 50 52 45 53 53 49 4f 4e 20 3d 20 30 78 30 30  MPRESSION = 0x00
27a70 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  020000 }..enum :
27a80 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
27a90 56 45 5f 50 41 44 44 49 4e 47 20 3d 20 30 78 30  VE_PADDING = 0x0
27aa0 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0040000 }..enum 
27ab0 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27ac0 49 56 45 5f 52 45 50 4f 52 54 5f 53 4d 4b 53 20  IVE_REPORT_SMKS 
27ad0 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a  = 0x00080000 }..
27ae0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27af0 54 41 50 45 5f 44 52 49 56 45 5f 47 45 54 5f 41  TAPE_DRIVE_GET_A
27b00 42 53 4f 4c 55 54 45 5f 42 4c 4b 20 3d 20 30 78  BSOLUTE_BLK = 0x
27b10 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00100000 }..enum
27b20 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
27b30 52 49 56 45 5f 47 45 54 5f 4c 4f 47 49 43 41 4c  RIVE_GET_LOGICAL
27b40 5f 42 4c 4b 20 3d 20 30 78 30 30 32 30 30 30 30  _BLK = 0x0020000
27b50 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27b60 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 53 45   { TAPE_DRIVE_SE
27b70 54 5f 45 4f 54 5f 57 5a 5f 53 49 5a 45 20 3d 20  T_EOT_WZ_SIZE = 
27b80 30 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00400000 }....
27b90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27ba0 50 45 5f 44 52 49 56 45 5f 45 4a 45 43 54 5f 4d  PE_DRIVE_EJECT_M
27bb0 45 44 49 41 20 3d 20 30 78 30 31 30 30 30 30 30  EDIA = 0x0100000
27bc0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27bd0 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 43 4c   { TAPE_DRIVE_CL
27be0 45 41 4e 5f 52 45 51 55 45 53 54 53 20 3d 20 30  EAN_REQUESTS = 0
27bf0 78 30 32 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x02000000 }..enu
27c00 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
27c10 44 52 49 56 45 5f 53 45 54 5f 43 4d 50 5f 42 4f  DRIVE_SET_CMP_BO
27c20 50 5f 4f 4e 4c 59 20 3d 20 30 78 30 34 30 30 30  P_ONLY = 0x04000
27c30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
27c40 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56  uint { TAPE_DRIV
27c50 45 5f 52 45 53 45 52 56 45 44 5f 42 49 54 20 3d  E_RESERVED_BIT =
27c60 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x80000000 }...
27c70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27c80 41 50 45 5f 44 52 49 56 45 5f 4c 4f 41 44 5f 55  APE_DRIVE_LOAD_U
27c90 4e 4c 4f 41 44 20 3d 20 30 78 38 30 30 30 30 30  NLOAD = 0x800000
27ca0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
27cb0 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 54  t { TAPE_DRIVE_T
27cc0 45 4e 53 49 4f 4e 20 3d 20 30 78 38 30 30 30 30  ENSION = 0x80000
27cd0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
27ce0 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f  nt { TAPE_DRIVE_
27cf0 4c 4f 43 4b 5f 55 4e 4c 4f 43 4b 20 3d 20 30 78  LOCK_UNLOCK = 0x
27d00 38 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  80000004 }..enum
27d10 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
27d20 52 49 56 45 5f 52 45 57 49 4e 44 5f 49 4d 4d 45  RIVE_REWIND_IMME
27d30 44 49 41 54 45 20 3d 20 30 78 38 30 30 30 30 30  DIATE = 0x800000
27d40 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
27d50 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45  int { TAPE_DRIVE
27d60 5f 53 45 54 5f 42 4c 4f 43 4b 5f 53 49 5a 45 20  _SET_BLOCK_SIZE 
27d70 3d 20 30 78 38 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x80000010 }..
27d80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27d90 50 45 5f 44 52 49 56 45 5f 4c 4f 41 44 5f 55 4e  PE_DRIVE_LOAD_UN
27da0 4c 44 5f 49 4d 4d 45 44 20 3d 20 30 78 38 30 30  LD_IMMED = 0x800
27db0 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
27dc0 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56  uint { TAPE_DRIV
27dd0 45 5f 54 45 4e 53 49 4f 4e 5f 49 4d 4d 45 44 20  E_TENSION_IMMED 
27de0 3d 20 30 78 38 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x80000040 }..
27df0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27e00 50 45 5f 44 52 49 56 45 5f 4c 4f 43 4b 5f 55 4e  PE_DRIVE_LOCK_UN
27e10 4c 4b 5f 49 4d 4d 45 44 20 3d 20 30 78 38 30 30  LK_IMMED = 0x800
27e20 30 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00080 }....enum 
27e30 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27e40 49 56 45 5f 53 45 54 5f 45 43 43 20 3d 20 30 78  IVE_SET_ECC = 0x
27e50 38 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  80000100 }..enum
27e60 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
27e70 52 49 56 45 5f 53 45 54 5f 43 4f 4d 50 52 45 53  RIVE_SET_COMPRES
27e80 53 49 4f 4e 20 3d 20 30 78 38 30 30 30 30 32 30  SION = 0x8000020
27e90 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27ea0 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 53 45   { TAPE_DRIVE_SE
27eb0 54 5f 50 41 44 44 49 4e 47 20 3d 20 30 78 38 30  T_PADDING = 0x80
27ec0 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000400 }..enum :
27ed0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
27ee0 56 45 5f 53 45 54 5f 52 45 50 4f 52 54 5f 53 4d  VE_SET_REPORT_SM
27ef0 4b 53 20 3d 20 30 78 38 30 30 30 30 38 30 30 20  KS = 0x80000800 
27f00 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
27f10 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 41 42   { TAPE_DRIVE_AB
27f20 53 4f 4c 55 54 45 5f 42 4c 4b 20 3d 20 30 78 38  SOLUTE_BLK = 0x8
27f30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0001000 }..enum 
27f40 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
27f50 49 56 45 5f 41 42 53 5f 42 4c 4b 5f 49 4d 4d 45  IVE_ABS_BLK_IMME
27f60 44 20 3d 20 30 78 38 30 30 30 32 30 30 30 20 7d  D = 0x80002000 }
27f70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27f80 54 41 50 45 5f 44 52 49 56 45 5f 4c 4f 47 49 43  TAPE_DRIVE_LOGIC
27f90 41 4c 5f 42 4c 4b 20 3d 20 30 78 38 30 30 30 34  AL_BLK = 0x80004
27fa0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
27fb0 6e 74 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f  nt { TAPE_DRIVE_
27fc0 4c 4f 47 5f 42 4c 4b 5f 49 4d 4d 45 44 20 3d 20  LOG_BLK_IMMED = 
27fd0 30 78 38 30 30 30 38 30 30 30 20 7d 0d 0a 0d 0a  0x80008000 }....
27fe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
27ff0 50 45 5f 44 52 49 56 45 5f 45 4e 44 5f 4f 46 5f  PE_DRIVE_END_OF_
28000 44 41 54 41 20 3d 20 30 78 38 30 30 31 30 30 30  DATA = 0x8001000
28010 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28020 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 52 45   { TAPE_DRIVE_RE
28030 4c 41 54 49 56 45 5f 42 4c 4b 53 20 3d 20 30 78  LATIVE_BLKS = 0x
28040 38 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80020000 }..enum
28050 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
28060 52 49 56 45 5f 46 49 4c 45 4d 41 52 4b 53 20 3d  RIVE_FILEMARKS =
28070 20 30 78 38 30 30 34 30 30 30 30 20 7d 0d 0a 65   0x80040000 }..e
28080 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
28090 45 5f 44 52 49 56 45 5f 53 45 51 55 45 4e 54 49  E_DRIVE_SEQUENTI
280a0 41 4c 5f 46 4d 4b 53 20 3d 20 30 78 38 30 30 38  AL_FMKS = 0x8008
280b0 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
280c0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
280d0 56 45 5f 53 45 54 4d 41 52 4b 53 20 3d 20 30 78  VE_SETMARKS = 0x
280e0 38 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80100000 }..enum
280f0 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44   : uint { TAPE_D
28100 52 49 56 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f  RIVE_SEQUENTIAL_
28110 53 4d 4b 53 20 3d 20 30 78 38 30 32 30 30 30 30  SMKS = 0x8020000
28120 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28130 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 52 45   { TAPE_DRIVE_RE
28140 56 45 52 53 45 5f 50 4f 53 49 54 49 4f 4e 20 3d  VERSE_POSITION =
28150 20 30 78 38 30 34 30 30 30 30 30 20 7d 0d 0a 65   0x80400000 }..e
28160 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50  num : uint { TAP
28170 45 5f 44 52 49 56 45 5f 53 50 41 43 45 5f 49 4d  E_DRIVE_SPACE_IM
28180 4d 45 44 49 41 54 45 20 3d 20 30 78 38 30 38 30  MEDIATE = 0x8080
28190 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
281a0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
281b0 56 45 5f 57 52 49 54 45 5f 53 45 54 4d 41 52 4b  VE_WRITE_SETMARK
281c0 53 20 3d 20 30 78 38 31 30 30 30 30 30 30 20 7d  S = 0x81000000 }
281d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
281e0 54 41 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45  TAPE_DRIVE_WRITE
281f0 5f 46 49 4c 45 4d 41 52 4b 53 20 3d 20 30 78 38  _FILEMARKS = 0x8
28200 32 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  2000000 }..enum 
28210 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52  : uint { TAPE_DR
28220 49 56 45 5f 57 52 49 54 45 5f 53 48 4f 52 54 5f  IVE_WRITE_SHORT_
28230 46 4d 4b 53 20 3d 20 30 78 38 34 30 30 30 30 30  FMKS = 0x8400000
28240 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28250 20 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 57 52   { TAPE_DRIVE_WR
28260 49 54 45 5f 4c 4f 4e 47 5f 46 4d 4b 53 20 3d 20  ITE_LONG_FMKS = 
28270 30 78 38 38 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x88000000 }....
28280 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
28290 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 4d  PE_DRIVE_WRITE_M
282a0 41 52 4b 5f 49 4d 4d 45 44 20 3d 20 30 78 39 30  ARK_IMMED = 0x90
282b0 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
282c0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
282d0 56 45 5f 46 4f 52 4d 41 54 20 3d 20 30 78 41 30  VE_FORMAT = 0xA0
282e0 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
282f0 20 75 69 6e 74 20 7b 20 54 41 50 45 5f 44 52 49   uint { TAPE_DRI
28300 56 45 5f 46 4f 52 4d 41 54 5f 49 4d 4d 45 44 49  VE_FORMAT_IMMEDI
28310 41 54 45 20 3d 20 30 78 43 30 30 30 30 30 30 30  ATE = 0xC0000000
28320 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28330 7b 20 54 41 50 45 5f 44 52 49 56 45 5f 48 49 47  { TAPE_DRIVE_HIG
28340 48 5f 46 45 41 54 55 52 45 53 20 3d 20 30 78 38  H_FEATURES = 0x8
28350 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72  0000000 }....str
28360 75 63 74 20 5f 54 41 50 45 5f 47 45 54 5f 44 52  uct _TAPE_GET_DR
28370 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20 7b  IVE_PARAMETERS {
28380 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 45 43 43 3b  ..  BOOLEAN ECC;
28390 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 43 6f 6d 70  ..  BOOLEAN Comp
283a0 72 65 73 73 69 6f 6e 3b 0d 0a 20 20 42 4f 4f 4c  ression;..  BOOL
283b0 45 41 4e 20 44 61 74 61 50 61 64 64 69 6e 67 3b  EAN DataPadding;
283c0 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20 52 65 70 6f  ..  BOOLEAN Repo
283d0 72 74 53 65 74 6d 61 72 6b 73 3b 0d 0a 20 20 44  rtSetmarks;..  D
283e0 57 4f 52 44 20 44 65 66 61 75 6c 74 42 6c 6f 63  WORD DefaultBloc
283f0 6b 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  kSize;..  DWORD 
28400 4d 61 78 69 6d 75 6d 42 6c 6f 63 6b 53 69 7a 65  MaximumBlockSize
28410 3b 0d 0a 20 20 44 57 4f 52 44 20 4d 69 6e 69 6d  ;..  DWORD Minim
28420 75 6d 42 6c 6f 63 6b 53 69 7a 65 3b 0d 0a 20 20  umBlockSize;..  
28430 44 57 4f 52 44 20 4d 61 78 69 6d 75 6d 50 61 72  DWORD MaximumPar
28440 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20  titionCount;..  
28450 44 57 4f 52 44 20 46 65 61 74 75 72 65 73 4c 6f  DWORD FeaturesLo
28460 77 3b 0d 0a 20 20 44 57 4f 52 44 20 46 65 61 74  w;..  DWORD Feat
28470 75 72 65 73 48 69 67 68 3b 0d 0a 20 20 44 57 4f  uresHigh;..  DWO
28480 52 44 20 45 4f 54 57 61 72 6e 69 6e 67 5a 6f 6e  RD EOTWarningZon
28490 65 53 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eSize;..}..alias
284a0 20 5f 54 41 50 45 5f 47 45 54 5f 44 52 49 56 45   _TAPE_GET_DRIVE
284b0 5f 50 41 52 41 4d 45 54 45 52 53 20 54 41 50 45  _PARAMETERS TAPE
284c0 5f 47 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d  _GET_DRIVE_PARAM
284d0 45 54 45 52 53 3b 0d 0a 61 6c 69 61 73 20 5f 54  ETERS;..alias _T
284e0 41 50 45 5f 47 45 54 5f 44 52 49 56 45 5f 50 41  APE_GET_DRIVE_PA
284f0 52 41 4d 45 54 45 52 53 2a 20 50 54 41 50 45 5f  RAMETERS* PTAPE_
28500 47 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45  GET_DRIVE_PARAME
28510 54 45 52 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TERS;....struct 
28520 5f 54 41 50 45 5f 53 45 54 5f 44 52 49 56 45 5f  _TAPE_SET_DRIVE_
28530 50 41 52 41 4d 45 54 45 52 53 20 7b 0d 0a 20 20  PARAMETERS {..  
28540 42 4f 4f 4c 45 41 4e 20 45 43 43 3b 0d 0a 20 20  BOOLEAN ECC;..  
28550 42 4f 4f 4c 45 41 4e 20 43 6f 6d 70 72 65 73 73  BOOLEAN Compress
28560 69 6f 6e 3b 0d 0a 20 20 42 4f 4f 4c 45 41 4e 20  ion;..  BOOLEAN 
28570 44 61 74 61 50 61 64 64 69 6e 67 3b 0d 0a 20 20  DataPadding;..  
28580 42 4f 4f 4c 45 41 4e 20 52 65 70 6f 72 74 53 65  BOOLEAN ReportSe
28590 74 6d 61 72 6b 73 3b 0d 0a 20 20 44 57 4f 52 44  tmarks;..  DWORD
285a0 20 45 4f 54 57 61 72 6e 69 6e 67 5a 6f 6e 65 53   EOTWarningZoneS
285b0 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ize;..}..alias _
285c0 54 41 50 45 5f 53 45 54 5f 44 52 49 56 45 5f 50  TAPE_SET_DRIVE_P
285d0 41 52 41 4d 45 54 45 52 53 20 54 41 50 45 5f 53  ARAMETERS TAPE_S
285e0 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45 54  ET_DRIVE_PARAMET
285f0 45 52 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 41 50  ERS;..alias _TAP
28600 45 5f 53 45 54 5f 44 52 49 56 45 5f 50 41 52 41  E_SET_DRIVE_PARA
28610 4d 45 54 45 52 53 2a 20 50 54 41 50 45 5f 53 45  METERS* PTAPE_SE
28620 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45 54 45  T_DRIVE_PARAMETE
28630 52 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54  RS;....struct _T
28640 41 50 45 5f 47 45 54 5f 4d 45 44 49 41 5f 50 41  APE_GET_MEDIA_PA
28650 52 41 4d 45 54 45 52 53 20 7b 0d 0a 20 20 4c 41  RAMETERS {..  LA
28660 52 47 45 5f 49 4e 54 45 47 45 52 20 43 61 70 61  RGE_INTEGER Capa
28670 63 69 74 79 3b 0d 0a 20 20 4c 41 52 47 45 5f 49  city;..  LARGE_I
28680 4e 54 45 47 45 52 20 52 65 6d 61 69 6e 69 6e 67  NTEGER Remaining
28690 3b 0d 0a 20 20 44 57 4f 52 44 20 42 6c 6f 63 6b  ;..  DWORD Block
286a0 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 50  Size;..  DWORD P
286b0 61 72 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a  artitionCount;..
286c0 20 20 42 4f 4f 4c 45 41 4e 20 57 72 69 74 65 50    BOOLEAN WriteP
286d0 72 6f 74 65 63 74 65 64 3b 0d 0a 7d 0d 0a 61 6c  rotected;..}..al
286e0 69 61 73 20 5f 54 41 50 45 5f 47 45 54 5f 4d 45  ias _TAPE_GET_ME
286f0 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 54  DIA_PARAMETERS T
28700 41 50 45 5f 47 45 54 5f 4d 45 44 49 41 5f 50 41  APE_GET_MEDIA_PA
28710 52 41 4d 45 54 45 52 53 3b 0d 0a 61 6c 69 61 73  RAMETERS;..alias
28720 20 5f 54 41 50 45 5f 47 45 54 5f 4d 45 44 49 41   _TAPE_GET_MEDIA
28730 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 50 54 41  _PARAMETERS* PTA
28740 50 45 5f 47 45 54 5f 4d 45 44 49 41 5f 50 41 52  PE_GET_MEDIA_PAR
28750 41 4d 45 54 45 52 53 3b 0d 0a 0d 0a 73 74 72 75  AMETERS;....stru
28760 63 74 20 5f 54 41 50 45 5f 53 45 54 5f 4d 45 44  ct _TAPE_SET_MED
28770 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 7b 0d  IA_PARAMETERS {.
28780 0a 20 20 44 57 4f 52 44 20 42 6c 6f 63 6b 53 69  .  DWORD BlockSi
28790 7a 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54  ze;..}..alias _T
287a0 41 50 45 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41  APE_SET_MEDIA_PA
287b0 52 41 4d 45 54 45 52 53 20 54 41 50 45 5f 53 45  RAMETERS TAPE_SE
287c0 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54 45  T_MEDIA_PARAMETE
287d0 52 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45  RS;..alias _TAPE
287e0 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d  _SET_MEDIA_PARAM
287f0 45 54 45 52 53 2a 20 50 54 41 50 45 5f 53 45 54  ETERS* PTAPE_SET
28800 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54 45 52  _MEDIA_PARAMETER
28810 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  S;....enum : uin
28820 74 20 7b 20 54 41 50 45 5f 46 49 58 45 44 5f 50  t { TAPE_FIXED_P
28830 41 52 54 49 54 49 4f 4e 53 20 3d 20 30 20 7d 0d  ARTITIONS = 0 }.
28840 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
28850 41 50 45 5f 53 45 4c 45 43 54 5f 50 41 52 54 49  APE_SELECT_PARTI
28860 54 49 4f 4e 53 20 3d 20 31 20 7d 0d 0a 65 6e 75  TIONS = 1 }..enu
28870 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41 50 45 5f  m : uint { TAPE_
28880 49 4e 49 54 49 41 54 4f 52 5f 50 41 52 54 49 54  INITIATOR_PARTIT
28890 49 4f 4e 53 20 3d 20 32 20 7d 0d 0a 0d 0a 73 74  IONS = 2 }....st
288a0 72 75 63 74 20 5f 54 41 50 45 5f 43 52 45 41 54  ruct _TAPE_CREAT
288b0 45 5f 50 41 52 54 49 54 49 4f 4e 20 7b 0d 0a 20  E_PARTITION {.. 
288c0 20 44 57 4f 52 44 20 4d 65 74 68 6f 64 3b 0d 0a   DWORD Method;..
288d0 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a    DWORD Count;..
288e0 20 20 44 57 4f 52 44 20 53 69 7a 65 3b 0d 0a 7d    DWORD Size;..}
288f0 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45 5f 43 52  ..alias _TAPE_CR
28900 45 41 54 45 5f 50 41 52 54 49 54 49 4f 4e 20 54  EATE_PARTITION 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 3b 0d 0a 61 6c 69 61 73 20 5f 54 41  TION;..alias _TA
28930 50 45 5f 43 52 45 41 54 45 5f 50 41 52 54 49 54  PE_CREATE_PARTIT
28940 49 4f 4e 2a 20 50 54 41 50 45 5f 43 52 45 41 54  ION* PTAPE_CREAT
28950 45 5f 50 41 52 54 49 54 49 4f 4e 3b 0d 0a 0d 0a  E_PARTITION;....
28960 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
28970 50 45 5f 51 55 45 52 59 5f 44 52 49 56 45 5f 50  PE_QUERY_DRIVE_P
28980 41 52 41 4d 45 54 45 52 53 20 3d 20 30 20 7d 0d  ARAMETERS = 0 }.
28990 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
289a0 41 50 45 5f 51 55 45 52 59 5f 4d 45 44 49 41 5f  APE_QUERY_MEDIA_
289b0 43 41 50 41 43 49 54 59 20 3d 20 31 20 7d 0d 0a  CAPACITY = 1 }..
289c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
289d0 50 45 5f 43 48 45 43 4b 5f 46 4f 52 5f 44 52 49  PE_CHECK_FOR_DRI
289e0 56 45 5f 50 52 4f 42 4c 45 4d 20 3d 20 32 20 7d  VE_PROBLEM = 2 }
289f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28a00 54 41 50 45 5f 51 55 45 52 59 5f 49 4f 5f 45 52  TAPE_QUERY_IO_ER
28a10 52 4f 52 5f 44 41 54 41 20 3d 20 33 20 7d 0d 0a  ROR_DATA = 3 }..
28a20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 41  enum : uint { TA
28a30 50 45 5f 51 55 45 52 59 5f 44 45 56 49 43 45 5f  PE_QUERY_DEVICE_
28a40 45 52 52 4f 52 5f 44 41 54 41 20 3d 20 34 20 7d  ERROR_DATA = 4 }
28a50 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 41 50 45  ....struct _TAPE
28a60 5f 57 4d 49 5f 4f 50 45 52 41 54 49 4f 4e 53 20  _WMI_OPERATIONS 
28a70 7b 0d 0a 20 20 44 57 4f 52 44 20 4d 65 74 68 6f  {..  DWORD Metho
28a80 64 3b 0d 0a 20 20 44 57 4f 52 44 20 44 61 74 61  d;..  DWORD Data
28a90 42 75 66 66 65 72 53 69 7a 65 3b 0d 0a 20 20 50  BufferSize;..  P
28aa0 56 4f 49 44 20 44 61 74 61 42 75 66 66 65 72 3b  VOID DataBuffer;
28ab0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45  ..}..alias _TAPE
28ac0 5f 57 4d 49 5f 4f 50 45 52 41 54 49 4f 4e 53 20  _WMI_OPERATIONS 
28ad0 54 41 50 45 5f 57 4d 49 5f 4f 50 45 52 41 54 49  TAPE_WMI_OPERATI
28ae0 4f 4e 53 3b 0d 0a 61 6c 69 61 73 20 5f 54 41 50  ONS;..alias _TAP
28af0 45 5f 57 4d 49 5f 4f 50 45 52 41 54 49 4f 4e 53  E_WMI_OPERATIONS
28b00 2a 20 50 54 41 50 45 5f 57 4d 49 5f 4f 50 45 52  * PTAPE_WMI_OPER
28b10 41 54 49 4f 4e 53 3b 0d 0a 0d 0a 61 6c 69 61 73  ATIONS;....alias
28b20 20 69 6e 74 20 5f 54 41 50 45 5f 44 52 49 56 45   int _TAPE_DRIVE
28b30 5f 50 52 4f 42 4c 45 4d 5f 54 59 50 45 3b 0d 0a  _PROBLEM_TYPE;..
28b40 65 6e 75 6d 20 7b 0d 0a 20 20 54 61 70 65 44 72  enum {..  TapeDr
28b50 69 76 65 50 72 6f 62 6c 65 6d 4e 6f 6e 65 2c 0d  iveProblemNone,.
28b60 0a 20 20 54 61 70 65 44 72 69 76 65 52 65 61 64  .  TapeDriveRead
28b70 57 72 69 74 65 57 61 72 6e 69 6e 67 2c 0d 0a 20  WriteWarning,.. 
28b80 20 54 61 70 65 44 72 69 76 65 52 65 61 64 57 72   TapeDriveReadWr
28b90 69 74 65 45 72 72 6f 72 2c 0d 0a 20 20 54 61 70  iteError,..  Tap
28ba0 65 44 72 69 76 65 52 65 61 64 57 61 72 6e 69 6e  eDriveReadWarnin
28bb0 67 2c 0d 0a 20 20 54 61 70 65 44 72 69 76 65 57  g,..  TapeDriveW
28bc0 72 69 74 65 57 61 72 6e 69 6e 67 2c 0d 0a 20 20  riteWarning,..  
28bd0 54 61 70 65 44 72 69 76 65 52 65 61 64 45 72 72  TapeDriveReadErr
28be0 6f 72 2c 0d 0a 20 20 54 61 70 65 44 72 69 76 65  or,..  TapeDrive
28bf0 57 72 69 74 65 45 72 72 6f 72 2c 0d 0a 20 20 54  WriteError,..  T
28c00 61 70 65 44 72 69 76 65 48 61 72 64 77 61 72 65  apeDriveHardware
28c10 45 72 72 6f 72 2c 0d 0a 20 20 54 61 70 65 44 72  Error,..  TapeDr
28c20 69 76 65 55 6e 73 75 70 70 6f 72 74 65 64 4d 65  iveUnsupportedMe
28c30 64 69 61 2c 0d 0a 20 20 54 61 70 65 44 72 69 76  dia,..  TapeDriv
28c40 65 53 63 73 69 43 6f 6e 6e 65 63 74 69 6f 6e 45  eScsiConnectionE
28c50 72 72 6f 72 2c 0d 0a 20 20 54 61 70 65 44 72 69  rror,..  TapeDri
28c60 76 65 54 69 6d 65 74 6f 43 6c 65 61 6e 2c 0d 0a  veTimetoClean,..
28c70 20 20 54 61 70 65 44 72 69 76 65 43 6c 65 61 6e    TapeDriveClean
28c80 44 72 69 76 65 4e 6f 77 2c 0d 0a 20 20 54 61 70  DriveNow,..  Tap
28c90 65 44 72 69 76 65 4d 65 64 69 61 4c 69 66 65 45  eDriveMediaLifeE
28ca0 78 70 69 72 65 64 2c 0d 0a 20 20 54 61 70 65 44  xpired,..  TapeD
28cb0 72 69 76 65 53 6e 61 70 70 65 64 54 61 70 65 2c  riveSnappedTape,
28cc0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 41 50 45  ..}..alias _TAPE
28cd0 5f 44 52 49 56 45 5f 50 52 4f 42 4c 45 4d 5f 54  _DRIVE_PROBLEM_T
28ce0 59 50 45 20 54 41 50 45 5f 44 52 49 56 45 5f 50  YPE TAPE_DRIVE_P
28cf0 52 4f 42 4c 45 4d 5f 54 59 50 45 3b 0d 0a 0d 0a  ROBLEM_TYPE;....
28d00 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f  // #if defined(_
28d10 4d 5f 41 4d 44 36 34 29 20 26 26 20 21 64 65 66  M_AMD64) && !def
28d20 69 6e 65 64 28 5f 5f 6d 69 64 6c 29 0d 0a 0d 0a  ined(__midl)....
28d30 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
28d40 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
28d50 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
28d60 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
28d70 65 6e 64 69 66 20 2f 2f 20 5f 4d 5f 41 4d 44 36  endif // _M_AMD6
28d80 34 20 26 26 20 21 64 65 66 69 6e 65 64 28 5f 5f  4 && !defined(__
28d90 6d 69 64 6c 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  midl)....// #if 
28da0 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 20  (_WIN32_WINNT > 
28db0 30 78 30 35 30 30 29 20 7c 7c 20 28 5f 57 49 4e  0x0500) || (_WIN
28dc0 33 32 5f 46 55 53 49 4f 4e 20 3e 3d 20 30 78 30  32_FUSION >= 0x0
28dd0 31 30 30 29 20 7c 7c 20 49 53 4f 4c 41 54 49 4f  100) || ISOLATIO
28de0 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44 20  N_AWARE_ENABLED 
28df0 2f 2f 20 77 69 6e 6e 74 5f 6f 6e 6c 79 0d 0a 65  // winnt_only..e
28e00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 54  num : uint { ACT
28e10 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f  IVATION_CONTEXT_
28e20 53 45 43 54 49 4f 4e 5f 41 53 53 45 4d 42 4c 59  SECTION_ASSEMBLY
28e30 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 31  _INFORMATION = 1
28e40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28e50 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  { ACTIVATION_CON
28e60 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 44 4c 4c  TEXT_SECTION_DLL
28e70 5f 52 45 44 49 52 45 43 54 49 4f 4e 20 3d 20 32  _REDIRECTION = 2
28e80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28e90 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  { ACTIVATION_CON
28ea0 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 57 49 4e  TEXT_SECTION_WIN
28eb0 44 4f 57 5f 43 4c 41 53 53 5f 52 45 44 49 52 45  DOW_CLASS_REDIRE
28ec0 43 54 49 4f 4e 20 3d 20 33 20 7d 0d 0a 65 6e 75  CTION = 3 }..enu
28ed0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 54 49 56  m : uint { ACTIV
28ee0 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45  ATION_CONTEXT_SE
28ef0 43 54 49 4f 4e 5f 43 4f 4d 5f 53 45 52 56 45 52  CTION_COM_SERVER
28f00 5f 52 45 44 49 52 45 43 54 49 4f 4e 20 3d 20 34  _REDIRECTION = 4
28f10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28f20 7b 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e  { ACTIVATION_CON
28f30 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d  TEXT_SECTION_COM
28f40 5f 49 4e 54 45 52 46 41 43 45 5f 52 45 44 49 52  _INTERFACE_REDIR
28f50 45 43 54 49 4f 4e 20 3d 20 35 20 7d 0d 0a 65 6e  ECTION = 5 }..en
28f60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 54 49  um : uint { ACTI
28f70 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53  VATION_CONTEXT_S
28f80 45 43 54 49 4f 4e 5f 43 4f 4d 5f 54 59 50 45 5f  ECTION_COM_TYPE_
28f90 4c 49 42 52 41 52 59 5f 52 45 44 49 52 45 43 54  LIBRARY_REDIRECT
28fa0 49 4f 4e 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  ION = 6 }..enum 
28fb0 3a 20 75 69 6e 74 20 7b 20 41 43 54 49 56 41 54  : uint { ACTIVAT
28fc0 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54  ION_CONTEXT_SECT
28fd0 49 4f 4e 5f 43 4f 4d 5f 50 52 4f 47 49 44 5f 52  ION_COM_PROGID_R
28fe0 45 44 49 52 45 43 54 49 4f 4e 20 3d 20 37 20 7d  EDIRECTION = 7 }
28ff0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29000 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45  ACTIVATION_CONTE
29010 58 54 5f 53 45 43 54 49 4f 4e 5f 47 4c 4f 42 41  XT_SECTION_GLOBA
29020 4c 5f 4f 42 4a 45 43 54 5f 52 45 4e 41 4d 45 5f  L_OBJECT_RENAME_
29030 54 41 42 4c 45 20 3d 20 38 20 7d 0d 0a 2f 2f 20  TABLE = 8 }..// 
29040 23 65 6e 64 69 66 20 2f 2f 20 77 69 6e 6e 74 5f  #endif // winnt_
29050 6f 6e 6c 79 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  only....// #ifde
29060 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f  f __cplusplus../
29070 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  / }..// #endif..
29080 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
29090 57 49 4e 4e 54 5f 20 2a 2f 0d 0a 0d 0a           WINNT_ */....