Hex Artifact Content

Not logged in

Artifact 5a227ddcf54fb45e6d4f5814bcc72fa3870ef719:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 77 69 6e 62 61 73            winbas
0070: 65 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  e.d             
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20  Translated from 
0190: 4d 69 6e 47 57 20 41 50 49 20 66 6f 72 20 4d 53  MinGW API for MS
01a0: 2d 57 69 6e 64 6f 77 73 20 33 2e 31 30 20 20 20  -Windows 3.10   
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 3b 0a   win32.winbase;.
02b0: 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 6b 65 72  pragma(lib, "ker
02c0: 6e 65 6c 33 32 2e 6c 69 62 22 29 3b 0a 0a 2f 2a  nel32.lib");../*
02d0: 2a 0a 54 72 61 6e 73 6c 61 74 69 6f 6e 20 4e 6f  *.Translation No
02e0: 74 65 73 3a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  tes:.The followi
02f0: 6e 67 20 6d 61 63 72 6f 73 20 61 72 65 20 6f 62  ng macros are ob
0300: 73 6f 6c 65 74 65 2c 20 61 6e 64 20 68 61 76 65  solete, and have
0310: 20 6e 6f 20 65 66 66 65 63 74 2e 0a 0a 4c 6f 63   no effect...Loc
0320: 6b 53 65 67 6d 65 6e 74 28 77 29 2c 20 4d 61 6b  kSegment(w), Mak
0330: 65 50 72 6f 63 49 6e 73 74 61 6e 63 65 28 70 2c  eProcInstance(p,
0340: 20 69 29 2c 20 55 6e 6c 6f 63 6b 52 65 73 6f 75   i), UnlockResou
0350: 72 63 65 28 68 29 2c 20 55 6e 6c 6f 63 6b 53 65  rce(h), UnlockSe
0360: 67 6d 65 6e 74 28 77 29 0a 46 72 65 65 4d 6f 64  gment(w).FreeMod
0370: 75 6c 65 28 6d 29 2c 20 46 72 65 65 50 72 6f 63  ule(m), FreeProc
0380: 49 6e 73 74 61 6e 63 65 28 70 29 2c 20 47 65 74  Instance(p), Get
0390: 46 72 65 65 53 70 61 63 65 28 77 29 2c 20 44 65  FreeSpace(w), De
03a0: 66 69 6e 65 48 61 6e 64 6c 65 54 61 62 6c 65 28  fineHandleTable(
03b0: 77 29 0a 53 65 74 53 77 61 70 41 72 65 61 53 69  w).SetSwapAreaSi
03c0: 7a 65 28 77 29 2c 20 4c 69 6d 69 74 45 6d 73 50  ze(w), LimitEmsP
03d0: 61 67 65 73 28 6e 29 2c 20 59 69 65 6c 64 28 29  ages(n), Yield()
03e0: 0a 0a 2f 2f 20 54 68 65 20 66 6f 6c 6c 6f 77 69  ..// The followi
03f0: 6e 67 20 57 69 6e 31 36 20 66 75 6e 63 74 69 6f  ng Win16 functio
0400: 6e 73 20 61 72 65 20 6f 62 73 65 6c 65 74 65 20  ns are obselete 
0410: 69 6e 20 57 69 6e 33 32 2e 0a 0a 20 69 6e 74 20  in Win32... int 
0420: 5f 68 72 65 61 64 28 48 46 49 4c 45 2c 20 4c 50  _hread(HFILE, LP
0430: 56 4f 49 44 2c 20 69 6e 74 29 3b 0a 20 69 6e 74  VOID, int);. int
0440: 20 5f 68 77 72 69 74 65 28 48 46 49 4c 45 2c 20   _hwrite(HFILE, 
0450: 4c 50 43 53 54 52 2c 20 69 6e 74 29 3b 0a 20 48  LPCSTR, int);. H
0460: 46 49 4c 45 20 5f 6c 63 6c 6f 73 65 28 48 46 49  FILE _lclose(HFI
0470: 4c 45 29 3b 0a 20 48 46 49 4c 45 20 5f 6c 63 72  LE);. HFILE _lcr
0480: 65 61 74 28 4c 50 43 53 54 52 2c 20 69 6e 74 29  eat(LPCSTR, int)
0490: 3b 0a 20 4c 4f 4e 47 20 5f 6c 6c 73 65 65 6b 28  ;. LONG _llseek(
04a0: 48 46 49 4c 45 2c 20 4c 4f 4e 47 2c 20 69 6e 74  HFILE, LONG, int
04b0: 29 3b 0a 20 48 46 49 4c 45 20 5f 6c 6f 70 65 6e  );. HFILE _lopen
04c0: 28 4c 50 43 53 54 52 2c 20 69 6e 74 29 3b 0a 20  (LPCSTR, int);. 
04d0: 55 49 4e 54 20 5f 6c 72 65 61 64 28 48 46 49 4c  UINT _lread(HFIL
04e0: 45 2c 20 4c 50 56 4f 49 44 2c 20 55 49 4e 54 29  E, LPVOID, UINT)
04f0: 3b 0a 20 55 49 4e 54 20 5f 6c 77 72 69 74 65 28  ;. UINT _lwrite(
0500: 48 46 49 4c 45 2c 20 4c 50 43 53 54 52 2c 20 55  HFILE, LPCSTR, U
0510: 49 4e 54 29 3b 0a 20 53 49 5a 45 5f 54 20 47 6c  INT);. SIZE_T Gl
0520: 6f 62 61 6c 43 6f 6d 70 61 63 74 28 44 57 4f 52  obalCompact(DWOR
0530: 44 29 3b 0a 20 56 4f 49 44 20 47 6c 6f 62 61 6c  D);. VOID Global
0540: 46 69 78 28 48 47 4c 4f 42 41 4c 29 3b 0a 2a 20  Fix(HGLOBAL);.* 
0550: 4d 53 44 4e 20 63 6f 6e 74 72 61 64 69 63 74 73  MSDN contradicts
0560: 20 69 74 73 65 6c 66 20 6f 6e 20 47 6c 6f 62 61   itself on Globa
0570: 6c 46 6c 61 67 73 3a 0a 2a 20 22 54 68 69 73 20  lFlags:.* "This 
0580: 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76  function is prov
0590: 69 64 65 64 20 6f 6e 6c 79 20 66 6f 72 20 63 6f  ided only for co
05a0: 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68  mpatibility with
05b0: 20 31 36 2d 62 69 74 20 76 65 72 73 69 6f 6e 73   16-bit versions
05c0: 20 6f 66 20 57 69 6e 64 6f 77 73 2e 22 0a 2a 20   of Windows.".* 
05d0: 62 75 74 20 61 6c 73 6f 20 72 65 71 75 69 72 65  but also require
05e0: 73 20 57 69 6e 64 6f 77 73 20 32 30 30 30 20 6f  s Windows 2000 o
05f0: 72 20 61 62 6f 76 65 0a 20 55 49 4e 54 20 47 6c  r above. UINT Gl
0600: 6f 62 61 6c 46 6c 61 67 73 28 48 47 4c 4f 42 41  obalFlags(HGLOBA
0610: 4c 29 3b 0a 20 56 4f 49 44 20 47 6c 6f 62 61 6c  L);. VOID Global
0620: 55 6e 66 69 78 28 48 47 4c 4f 42 41 4c 29 3b 0a  Unfix(HGLOBAL);.
0630: 20 42 4f 4f 4c 20 47 6c 6f 62 61 6c 55 6e 57 69   BOOL GlobalUnWi
0640: 72 65 28 48 47 4c 4f 42 41 4c 29 3b 0a 20 50 56  re(HGLOBAL);. PV
0650: 4f 49 44 20 47 6c 6f 62 61 6c 57 69 72 65 28 48  OID GlobalWire(H
0660: 47 4c 4f 42 41 4c 29 3b 0a 20 53 49 5a 45 5f 54  GLOBAL);. SIZE_T
0670: 20 4c 6f 63 61 6c 43 6f 6d 70 61 63 74 28 55 49   LocalCompact(UI
0680: 4e 54 29 3b 0a 20 55 49 4e 54 20 4c 6f 63 61 6c  NT);. UINT Local
0690: 46 6c 61 67 73 28 48 4c 4f 43 41 4c 29 3b 0a 20  Flags(HLOCAL);. 
06a0: 53 49 5a 45 5f 54 20 4c 6f 63 61 6c 53 68 72 69  SIZE_T LocalShri
06b0: 6e 6b 28 48 4c 4f 43 41 4c 2c 20 55 49 4e 54 29  nk(HLOCAL, UINT)
06c0: 3b 0a 0a 2f 2f 20 54 68 65 73 65 20 61 72 65 20  ;..// These are 
06d0: 6e 6f 74 20 72 65 71 75 69 72 65 64 20 66 6f 72  not required for
06e0: 20 44 4d 44 2e 0a 0a 2f 2f 46 49 58 4d 45 3a 0a   DMD...//FIXME:.
06f0: 2f 2f 20 23 69 66 6e 64 65 66 20 55 4e 44 45 52  // #ifndef UNDER
0700: 5f 43 45 0a 09 69 6e 74 20 57 69 6e 4d 61 69 6e  _CE..int WinMain
0710: 28 48 49 4e 53 54 41 4e 43 45 2c 20 48 49 4e 53  (HINSTANCE, HINS
0720: 54 41 4e 43 45 2c 20 4c 50 53 54 52 2c 20 69 6e  TANCE, LPSTR, in
0730: 74 29 3b 0a 23 65 6c 73 65 0a 09 69 6e 74 20 57  t);.#else..int W
0740: 69 6e 4d 61 69 6e 28 48 49 4e 53 54 41 4e 43 45  inMain(HINSTANCE
0750: 2c 20 48 49 4e 53 54 41 4e 43 45 2c 20 4c 50 57  , HINSTANCE, LPW
0760: 53 54 52 2c 20 69 6e 74 29 3b 0a 23 65 6e 64 69  STR, int);.#endi
0770: 66 0a 69 6e 74 20 77 57 69 6e 4d 61 69 6e 28 48  f.int wWinMain(H
0780: 49 4e 53 54 41 4e 43 45 2c 20 48 49 4e 53 54 41  INSTANCE, HINSTA
0790: 4e 43 45 2c 20 4c 50 57 53 54 52 2c 20 69 6e 74  NCE, LPWSTR, int
07a0: 29 3b 0a 0a 2a 2f 0a 0a 69 6d 70 6f 72 74 20 77  );..*/..import w
07b0: 69 6e 33 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e  in32.windef, win
07c0: 33 32 2e 77 69 6e 76 65 72 3b 0a 70 72 69 76 61  32.winver;.priva
07d0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  te import win32.
07e0: 62 61 73 65 74 79 70 73 2c 20 77 69 6e 33 32 2e  basetyps, win32.
07f0: 77 33 32 61 70 69 2c 20 77 69 6e 33 32 2e 77 69  w32api, win32.wi
0800: 6e 6e 74 3b 0a 0a 2f 2f 20 46 49 58 4d 45 3a 0a  nnt;..// FIXME:.
0810: 61 6c 69 61 73 20 76 6f 69 64 20 76 61 5f 6c 69  alias void va_li
0820: 73 74 3b 0a 0a 0a 2f 2b 0a 2f 2f 2d 2d 2d 2d 2d  st;.../+.//-----
0830: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0840: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0850: 2d 0a 2f 2f 20 54 68 65 73 65 20 66 75 6e 63 74  -.// These funct
0860: 69 6f 6e 73 20 61 72 65 20 70 72 6f 62 6c 65 6d  ions are problem
0870: 61 74 69 63 0a 0a 76 65 72 73 69 6f 6e 28 55 73  atic..version(Us
0880: 65 4e 74 6f 53 4b 65 72 6e 65 6c 29 20 7b 7d 65  eNtoSKernel) {}e
0890: 6c 73 65 20 7b 0a 09 2f 2a 20 43 41 52 45 46 55  lse {../* CAREFU
08a0: 4c 3a 20 54 68 65 73 65 20 61 72 65 20 65 78 70  L: These are exp
08b0: 6f 72 74 65 64 20 66 72 6f 6d 20 6e 74 6f 73 6b  orted from ntosk
08c0: 72 6e 6c 2e 65 78 65 20 61 6e 64 20 64 65 63 6c  rnl.exe and decl
08d0: 61 72 65 64 20 69 6e 20 77 69 6e 64 64 6b 2e 68  ared in winddk.h
08e0: 0a 09 20 20 20 61 73 20 5f 5f 66 61 73 74 63 61  ..   as __fastca
08f0: 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75  ll functions, bu
0900: 74 20 61 72 65 20 20 65 78 70 6f 72 74 65 64 20  t are  exported 
0910: 66 72 6f 6d 20 6b 65 72 6e 65 6c 33 32 2e 64 6c  from kernel32.dl
0920: 6c 20 61 73 20 5f 5f 73 74 64 63 61 6c 6c 20 2a  l as __stdcall *
0930: 2f 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57  /..static if (_W
0940: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
0950: 30 35 30 31 29 20 7b 0a 09 20 56 4f 49 44 20 49  0501) {.. VOID I
0960: 6e 69 74 69 61 6c 69 7a 65 53 4c 69 73 74 48 65  nitializeSListHe
0970: 61 64 28 50 53 4c 49 53 54 5f 48 45 41 44 45 52  ad(PSLIST_HEADER
0980: 29 3b 0a 09 7d 0a 09 4c 4f 4e 47 20 49 6e 74 65  );..}..LONG Inte
0990: 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72 65 45 78  rlockedCompareEx
09a0: 63 68 61 6e 67 65 28 4c 50 4c 4f 4e 47 2c 20 4c  change(LPLONG, L
09b0: 4f 4e 47 2c 20 4c 4f 4e 47 29 3b 0a 09 2f 2f 20  ONG, LONG);..// 
09c0: 50 56 4f 49 44 20 57 49 4e 41 50 49 20 49 6e 74  PVOID WINAPI Int
09d0: 65 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72 65 45  erlockedCompareE
09e0: 78 63 68 61 6e 67 65 50 6f 69 6e 74 65 72 28 50  xchangePointer(P
09f0: 56 4f 49 44 2a 2c 20 50 56 4f 49 44 2c 20 50 56  VOID*, PVOID, PV
0a00: 4f 49 44 29 3b 0a 09 28 50 56 4f 49 44 29 49 6e  OID);..(PVOID)In
0a10: 74 65 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72 65  terlockedCompare
0a20: 45 78 63 68 61 6e 67 65 28 28 4c 50 4c 4f 4e 47  Exchange((LPLONG
0a30: 29 28 64 29 20 20 20 20 28 50 56 4f 49 44 29 49  )(d)    (PVOID)I
0a40: 6e 74 65 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72  nterlockedCompar
0a50: 65 45 78 63 68 61 6e 67 65 28 28 4c 50 4c 4f 4e  eExchange((LPLON
0a60: 47 29 28 64 29 2c 20 28 4c 4f 4e 47 29 28 65 29  G)(d), (LONG)(e)
0a70: 2c 20 28 4c 4f 4e 47 29 28 63 29 29 0a 09 4c 4f  , (LONG)(c))..LO
0a80: 4e 47 20 49 6e 74 65 72 6c 6f 63 6b 65 64 44 65  NG InterlockedDe
0a90: 63 72 65 6d 65 6e 74 28 4c 50 4c 4f 4e 47 29 3b  crement(LPLONG);
0aa0: 0a 09 4c 4f 4e 47 20 49 6e 74 65 72 6c 6f 63 6b  ..LONG Interlock
0ab0: 65 64 45 78 63 68 61 6e 67 65 28 4c 50 4c 4f 4e  edExchange(LPLON
0ac0: 47 2c 20 4c 4f 4e 47 29 3b 0a 09 2f 2f 20 50 56  G, LONG);..// PV
0ad0: 4f 49 44 20 57 49 4e 41 50 49 20 49 6e 74 65 72  OID WINAPI Inter
0ae0: 6c 6f 63 6b 65 64 45 78 63 68 61 6e 67 65 50 6f  lockedExchangePo
0af0: 69 6e 74 65 72 28 50 56 4f 49 44 2a 2c 20 50 56  inter(PVOID*, PV
0b00: 4f 49 44 29 3b 0a 09 28 50 56 4f 49 44 29 49 6e  OID);..(PVOID)In
0b10: 74 65 72 6c 6f 63 6b 65 64 45 78 63 68 61 6e 67  terlockedExchang
0b20: 65 28 28 4c 50 4c 4f 4e 47 29 28 28 50 56 4f 49  e((LPLONG)((PVOI
0b30: 44 29 49 6e 74 65 72 6c 6f 63 6b 65 64 45 78 63  D)InterlockedExc
0b40: 68 61 6e 67 65 28 28 4c 50 4c 4f 4e 47 29 28 74  hange((LPLONG)(t
0b50: 29 2c 20 28 4c 4f 4e 47 29 28 76 29 29 0a 09 4c  ), (LONG)(v))..L
0b60: 4f 4e 47 20 49 6e 74 65 72 6c 6f 63 6b 65 64 45  ONG InterlockedE
0b70: 78 63 68 61 6e 67 65 41 64 64 28 4c 50 4c 4f 4e  xchangeAdd(LPLON
0b80: 47 2c 20 4c 4f 4e 47 29 3b 0a 0a 09 73 74 61 74  G, LONG);...stat
0b90: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
0ba0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 20 7b  NNT >= 0x0501) {
0bb0: 0a 09 50 53 4c 49 53 54 5f 45 4e 54 52 59 20 49  ..PSLIST_ENTRY I
0bc0: 6e 74 65 72 6c 6f 63 6b 65 64 46 6c 75 73 68 53  nterlockedFlushS
0bd0: 4c 69 73 74 28 50 53 4c 49 53 54 5f 48 45 41 44  List(PSLIST_HEAD
0be0: 45 52 29 3b 0a 09 7d 0a 09 4c 4f 4e 47 20 49 6e  ER);..}..LONG In
0bf0: 74 65 72 6c 6f 63 6b 65 64 49 6e 63 72 65 6d 65  terlockedIncreme
0c00: 6e 74 28 4c 50 4c 4f 4e 47 29 3b 0a 09 73 74 61  nt(LPLONG);..sta
0c10: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
0c20: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 20  INNT >= 0x0501) 
0c30: 7b 0a 09 50 53 4c 49 53 54 5f 45 4e 54 52 59 20  {..PSLIST_ENTRY 
0c40: 49 6e 74 65 72 6c 6f 63 6b 65 64 50 6f 70 45 6e  InterlockedPopEn
0c50: 74 72 79 53 4c 69 73 74 28 50 53 4c 49 53 54 5f  trySList(PSLIST_
0c60: 48 45 41 44 45 52 29 3b 0a 09 50 53 4c 49 53 54  HEADER);..PSLIST
0c70: 5f 45 4e 54 52 59 20 49 6e 74 65 72 6c 6f 63 6b  _ENTRY Interlock
0c80: 65 64 50 75 73 68 45 6e 74 72 79 53 4c 69 73 74  edPushEntrySList
0c90: 28 50 53 4c 49 53 54 5f 48 45 41 44 45 52 2c 20  (PSLIST_HEADER, 
0ca0: 50 53 4c 49 53 54 5f 45 4e 54 52 59 29 3b 0a 09  PSLIST_ENTRY);..
0cb0: 7d 0a 7d 20 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  }.} // #endif //
0cc0: 20 20 5f 5f 55 53 45 5f 4e 54 4f 53 4b 52 4e 4c    __USE_NTOSKRNL
0cd0: 5f 5f 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  __.//-----------
0ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0cf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2b 2f 0a 0a  -----------.+/..
0d00: 2f 2f 20 43 4f 4d 4d 50 52 4f 50 20 73 74 72 75  // COMMPROP stru
0d10: 63 74 75 72 65 2c 20 75 73 65 64 20 62 79 20 47  cture, used by G
0d20: 65 74 43 6f 6d 6d 50 72 6f 70 65 72 74 69 65 73  etCommProperties
0d30: 28 29 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ().// ----------
0d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d60: 2d 2d 2d 2d 2d 0a 0a 2f 2f 20 43 6f 6d 6d 75 6e  -----..// Commun
0d70: 69 63 61 74 69 6f 6e 73 20 70 72 6f 76 69 64 65  ications provide
0d80: 72 20 74 79 70 65 0a 65 6e 75 6d 20 3a 20 44 57  r type.enum : DW
0d90: 4f 52 44 20 7b 0a 09 50 53 54 5f 55 4e 53 50 45  ORD {..PST_UNSPE
0da0: 43 49 46 49 45 44 2c 0a 09 50 53 54 5f 52 53 32  CIFIED,..PST_RS2
0db0: 33 32 2c 0a 09 50 53 54 5f 50 41 52 41 4c 4c 45  32,..PST_PARALLE
0dc0: 4c 50 4f 52 54 2c 0a 09 50 53 54 5f 52 53 34 32  LPORT,..PST_RS42
0dd0: 32 2c 0a 09 50 53 54 5f 52 53 34 32 33 2c 0a 09  2,..PST_RS423,..
0de0: 50 53 54 5f 52 53 34 34 39 2c 0a 09 50 53 54 5f  PST_RS449,..PST_
0df0: 4d 4f 44 45 4d 2c 20 20 20 20 20 20 2f 2f 20 3d  MODEM,      // =
0e00: 20 20 20 20 20 20 36 0a 09 50 53 54 5f 46 41 58        6..PST_FAX
0e10: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
0e20: 30 30 32 31 2c 0a 09 50 53 54 5f 53 43 41 4e 4e  0021,..PST_SCANN
0e30: 45 52 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  ER        = 0x00
0e40: 32 32 2c 0a 09 50 53 54 5f 4e 45 54 57 4f 52 4b  22,..PST_NETWORK
0e50: 5f 42 52 49 44 47 45 20 3d 20 30 78 30 31 30 30  _BRIDGE = 0x0100
0e60: 2c 0a 09 50 53 54 5f 4c 41 54 20 20 20 20 20 20  ,..PST_LAT      
0e70: 20 20 20 20 20 20 3d 20 30 78 30 31 30 31 2c 0a        = 0x0101,.
0e80: 09 50 53 54 5f 54 43 50 49 50 5f 54 45 4c 4e 45  .PST_TCPIP_TELNE
0e90: 54 20 20 20 3d 20 30 78 30 31 30 32 2c 0a 09 50  T   = 0x0102,..P
0ea0: 53 54 5f 58 32 35 20 20 20 20 20 20 20 20 20 20  ST_X25          
0eb0: 20 20 3d 20 30 78 30 31 30 33 0a 7d 0a 0a 2f 2f    = 0x0103.}..//
0ec0: 20 4d 61 78 20 62 61 75 64 20 72 61 74 65 0a 65   Max baud rate.e
0ed0: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 42  num : DWORD {..B
0ee0: 41 55 44 5f 30 37 35 20 20 20 20 3d 20 30 78 30  AUD_075    = 0x0
0ef0: 30 30 30 30 30 30 31 2c 0a 09 42 41 55 44 5f 31  0000001,..BAUD_1
0f00: 31 30 20 20 20 20 3d 20 30 78 30 30 30 30 30 30  10    = 0x000000
0f10: 30 32 2c 0a 09 42 41 55 44 5f 31 33 34 5f 35 20  02,..BAUD_134_5 
0f20: 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09   = 0x00000004,..
0f30: 42 41 55 44 5f 31 35 30 20 20 20 20 3d 20 30 78  BAUD_150    = 0x
0f40: 30 30 30 30 30 30 30 38 2c 0a 09 42 41 55 44 5f  00000008,..BAUD_
0f50: 33 30 30 20 20 20 20 3d 20 30 78 30 30 30 30 30  300    = 0x00000
0f60: 30 31 30 2c 0a 09 42 41 55 44 5f 36 30 30 20 20  010,..BAUD_600  
0f70: 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c 0a    = 0x00000020,.
0f80: 09 42 41 55 44 5f 31 32 30 30 20 20 20 3d 20 30  .BAUD_1200   = 0
0f90: 78 30 30 30 30 30 30 34 30 2c 0a 09 42 41 55 44  x00000040,..BAUD
0fa0: 5f 31 38 30 30 20 20 20 3d 20 30 78 30 30 30 30  _1800   = 0x0000
0fb0: 30 30 38 30 2c 0a 09 42 41 55 44 5f 32 34 30 30  0080,..BAUD_2400
0fc0: 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30 2c     = 0x00000100,
0fd0: 0a 09 42 41 55 44 5f 34 38 30 30 20 20 20 3d 20  ..BAUD_4800   = 
0fe0: 30 78 30 30 30 30 30 32 30 30 2c 0a 09 42 41 55  0x00000200,..BAU
0ff0: 44 5f 37 32 30 30 20 20 20 3d 20 30 78 30 30 30  D_7200   = 0x000
1000: 30 30 34 30 30 2c 0a 09 42 41 55 44 5f 39 36 30  00400,..BAUD_960
1010: 30 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30  0   = 0x00000800
1020: 2c 0a 09 42 41 55 44 5f 31 34 34 30 30 20 20 3d  ,..BAUD_14400  =
1030: 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09 42 41   0x00001000,..BA
1040: 55 44 5f 31 39 32 30 30 20 20 3d 20 30 78 30 30  UD_19200  = 0x00
1050: 30 30 32 30 30 30 2c 0a 09 42 41 55 44 5f 33 38  002000,..BAUD_38
1060: 34 30 30 20 20 3d 20 30 78 30 30 30 30 34 30 30  400  = 0x0000400
1070: 30 2c 0a 09 42 41 55 44 5f 35 36 4b 20 20 20 20  0,..BAUD_56K    
1080: 3d 20 30 78 30 30 30 30 38 30 30 30 2c 0a 09 42  = 0x00008000,..B
1090: 41 55 44 5f 31 32 38 4b 20 20 20 3d 20 30 78 30  AUD_128K   = 0x0
10a0: 30 30 31 30 30 30 30 2c 0a 09 42 41 55 44 5f 31  0010000,..BAUD_1
10b0: 31 35 32 30 30 20 3d 20 30 78 30 30 30 32 30 30  15200 = 0x000200
10c0: 30 30 2c 0a 09 42 41 55 44 5f 35 37 36 30 30 20  00,..BAUD_57600 
10d0: 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c 0a 09   = 0x00040000,..
10e0: 42 41 55 44 5f 55 53 45 52 20 20 20 3d 20 30 78  BAUD_USER   = 0x
10f0: 31 30 30 30 30 30 30 30 0a 7d 0a 0a 2f 2f 20 43  10000000.}..// C
1100: 6f 6d 6d 20 63 61 70 61 62 69 6c 69 74 69 65 73  omm capabilities
1110: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
1120: 09 50 43 46 5f 44 54 52 44 53 52 20 20 20 20 20  .PCF_DTRDSR     
1130: 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 50 43     = 0x0001,..PC
1140: 46 5f 52 54 53 43 54 53 20 20 20 20 20 20 20 20  F_RTSCTS        
1150: 3d 20 30 78 30 30 30 32 2c 0a 09 50 43 46 5f 52  = 0x0002,..PCF_R
1160: 4c 53 44 20 20 20 20 20 20 20 20 20 20 3d 20 30  LSD          = 0
1170: 78 30 30 30 34 2c 0a 09 50 43 46 5f 50 41 52 49  x0004,..PCF_PARI
1180: 54 59 5f 43 48 45 43 4b 20 20 3d 20 30 78 30 30  TY_CHECK  = 0x00
1190: 30 38 2c 0a 09 50 43 46 5f 58 4f 4e 58 4f 46 46  08,..PCF_XONXOFF
11a0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 2c         = 0x0010,
11b0: 0a 09 50 43 46 5f 53 45 54 58 43 48 41 52 20 20  ..PCF_SETXCHAR  
11c0: 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 50      = 0x0020,..P
11d0: 43 46 5f 54 4f 54 41 4c 54 49 4d 45 4f 55 54 53  CF_TOTALTIMEOUTS
11e0: 20 3d 20 30 78 30 30 34 30 2c 0a 09 50 43 46 5f   = 0x0040,..PCF_
11f0: 49 4e 54 54 49 4d 45 4f 55 54 53 20 20 20 3d 20  INTTIMEOUTS   = 
1200: 30 78 30 30 38 30 2c 0a 09 50 43 46 5f 53 50 45  0x0080,..PCF_SPE
1210: 43 49 41 4c 43 48 41 52 53 20 20 3d 20 30 78 30  CIALCHARS  = 0x0
1220: 31 30 30 2c 0a 09 50 43 46 5f 31 36 42 49 54 4d  100,..PCF_16BITM
1230: 4f 44 45 20 20 20 20 20 3d 20 30 78 30 32 30 30  ODE     = 0x0200
1240: 0a 7d 0a 0a 65 6e 75 6d 20 20 3a 20 44 57 4f 52  .}..enum  : DWOR
1250: 44 20 7b 0a 09 53 50 5f 50 41 52 49 54 59 20 20  D {..SP_PARITY  
1260: 20 20 20 20 20 3d 20 31 2c 0a 09 53 50 5f 42 41       = 1,..SP_BA
1270: 55 44 20 20 20 20 20 20 20 20 20 3d 20 32 2c 0a  UD         = 2,.
1280: 09 53 50 5f 44 41 54 41 42 49 54 53 20 20 20 20  .SP_DATABITS    
1290: 20 3d 20 34 2c 0a 09 53 50 5f 53 54 4f 50 42 49   = 4,..SP_STOPBI
12a0: 54 53 20 20 20 20 20 3d 20 38 2c 0a 09 53 50 5f  TS     = 8,..SP_
12b0: 48 41 4e 44 53 48 41 4b 49 4e 47 20 20 3d 20 31  HANDSHAKING  = 1
12c0: 36 2c 0a 09 53 50 5f 50 41 52 49 54 59 5f 43 48  6,..SP_PARITY_CH
12d0: 45 43 4b 20 3d 20 33 32 2c 0a 09 53 50 5f 52 4c  ECK = 32,..SP_RL
12e0: 53 44 20 20 20 20 20 20 20 20 20 3d 20 36 34 0a  SD         = 64.
12f0: 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
1300: 7b 0a 09 44 41 54 41 42 49 54 53 5f 35 20 20 20  {..DATABITS_5   
1310: 3d 20 31 2c 0a 09 44 41 54 41 42 49 54 53 5f 36  = 1,..DATABITS_6
1320: 20 20 20 3d 20 32 2c 0a 09 44 41 54 41 42 49 54     = 2,..DATABIT
1330: 53 5f 37 20 20 20 3d 20 34 2c 0a 09 44 41 54 41  S_7   = 4,..DATA
1340: 42 49 54 53 5f 38 20 20 20 3d 20 38 2c 0a 09 44  BITS_8   = 8,..D
1350: 41 54 41 42 49 54 53 5f 31 36 20 20 3d 20 31 36  ATABITS_16  = 16
1360: 2c 0a 09 44 41 54 41 42 49 54 53 5f 31 36 58 20  ,..DATABITS_16X 
1370: 3d 20 33 32 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 57  = 32.}..enum : W
1380: 4f 52 44 20 7b 0a 09 53 54 4f 50 42 49 54 53 5f  ORD {..STOPBITS_
1390: 31 30 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 53  10  = 0x0001,..S
13a0: 54 4f 50 42 49 54 53 5f 31 35 20 20 3d 20 30 78  TOPBITS_15  = 0x
13b0: 30 30 30 32 2c 0a 09 53 54 4f 50 42 49 54 53 5f  0002,..STOPBITS_
13c0: 32 30 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 50  20  = 0x0004,..P
13d0: 41 52 49 54 59 5f 4e 4f 4e 45 20 20 3d 20 30 78  ARITY_NONE  = 0x
13e0: 30 31 30 30 2c 0a 09 50 41 52 49 54 59 5f 4f 44  0100,..PARITY_OD
13f0: 44 20 20 20 3d 20 30 78 30 32 30 30 2c 0a 09 50  D   = 0x0200,..P
1400: 41 52 49 54 59 5f 45 56 45 4e 20 20 3d 20 30 78  ARITY_EVEN  = 0x
1410: 30 34 30 30 2c 0a 09 50 41 52 49 54 59 5f 4d 41  0400,..PARITY_MA
1420: 52 4b 20 20 3d 20 30 78 30 38 30 30 2c 0a 09 50  RK  = 0x0800,..P
1430: 41 52 49 54 59 5f 53 50 41 43 45 20 3d 20 30 78  ARITY_SPACE = 0x
1440: 31 30 30 30 0a 7d 0a 0a 2f 2f 20 75 73 65 64 20  1000.}..// used 
1450: 62 79 20 64 77 53 65 72 76 69 63 65 4d 61 73 6b  by dwServiceMask
1460: 0a 63 6f 6e 73 74 20 53 50 5f 53 45 52 49 41 4c  .const SP_SERIAL
1470: 43 4f 4d 4d 20 3d 20 31 3b 0a 0a 73 74 72 75 63  COMM = 1;..struc
1480: 74 20 43 4f 4d 4d 50 52 4f 50 20 7b 0a 09 57 4f  t COMMPROP {..WO
1490: 52 44 20 20 77 50 61 63 6b 65 74 4c 65 6e 67 74  RD  wPacketLengt
14a0: 68 3b 0a 09 57 4f 52 44 20 20 77 50 61 63 6b 65  h;..WORD  wPacke
14b0: 74 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44  tVersion;..DWORD
14c0: 20 64 77 53 65 72 76 69 63 65 4d 61 73 6b 3b 0a   dwServiceMask;.
14d0: 09 44 57 4f 52 44 20 64 77 52 65 73 65 72 76 65  .DWORD dwReserve
14e0: 64 31 3b 0a 09 44 57 4f 52 44 20 64 77 4d 61 78  d1;..DWORD dwMax
14f0: 54 78 51 75 65 75 65 3b 0a 09 44 57 4f 52 44 20  TxQueue;..DWORD 
1500: 64 77 4d 61 78 52 78 51 75 65 75 65 3b 0a 09 44  dwMaxRxQueue;..D
1510: 57 4f 52 44 20 64 77 4d 61 78 42 61 75 64 3b 0a  WORD dwMaxBaud;.
1520: 09 44 57 4f 52 44 20 64 77 50 72 6f 76 53 75 62  .DWORD dwProvSub
1530: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 64 77 50  Type;..DWORD dwP
1540: 72 6f 76 43 61 70 61 62 69 6c 69 74 69 65 73 3b  rovCapabilities;
1550: 0a 09 44 57 4f 52 44 20 64 77 53 65 74 74 61 62  ..DWORD dwSettab
1560: 6c 65 50 61 72 61 6d 73 3b 0a 09 44 57 4f 52 44  leParams;..DWORD
1570: 20 64 77 53 65 74 74 61 62 6c 65 42 61 75 64 3b   dwSettableBaud;
1580: 0a 09 57 4f 52 44 20 20 77 53 65 74 74 61 62 6c  ..WORD  wSettabl
1590: 65 44 61 74 61 3b 0a 09 57 4f 52 44 20 20 77 53  eData;..WORD  wS
15a0: 65 74 74 61 62 6c 65 53 74 6f 70 50 61 72 69 74  ettableStopParit
15b0: 79 3b 0a 09 44 57 4f 52 44 20 64 77 43 75 72 72  y;..DWORD dwCurr
15c0: 65 6e 74 54 78 51 75 65 75 65 3b 0a 09 44 57 4f  entTxQueue;..DWO
15d0: 52 44 20 64 77 43 75 72 72 65 6e 74 52 78 51 75  RD dwCurrentRxQu
15e0: 65 75 65 3b 0a 09 44 57 4f 52 44 20 64 77 50 72  eue;..DWORD dwPr
15f0: 6f 76 53 70 65 63 31 3b 0a 09 44 57 4f 52 44 20  ovSpec1;..DWORD 
1600: 64 77 50 72 6f 76 53 70 65 63 32 3b 0a 09 57 43  dwProvSpec2;..WC
1610: 48 41 52 20 5f 77 63 50 72 6f 76 43 68 61 72 3b  HAR _wcProvChar;
1620: 0a 0a 09 57 43 48 41 52 2a 20 77 63 50 72 6f 76  ...WCHAR* wcProv
1630: 43 68 61 72 28 29 20 7b 20 72 65 74 75 72 6e 20  Char() { return 
1640: 26 5f 77 63 50 72 6f 76 43 68 61 72 3b 20 7d 0a  &_wcProvChar; }.
1650: 7d 0a 61 6c 69 61 73 20 43 4f 4d 4d 50 52 4f 50  }.alias COMMPROP
1660: 2a 20 4c 50 43 4f 4d 4d 50 52 4f 50 3b 0a 0a 2f  * LPCOMMPROP;../
1670: 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f  / ----------..//
1680: 20 66 6f 72 20 44 45 42 55 47 5f 45 56 45 4e 54   for DEBUG_EVENT
1690: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
16a0: 09 45 58 43 45 50 54 49 4f 4e 5f 44 45 42 55 47  .EXCEPTION_DEBUG
16b0: 5f 45 56 45 4e 54 20 3d 20 31 2c 0a 09 43 52 45  _EVENT = 1,..CRE
16c0: 41 54 45 5f 54 48 52 45 41 44 5f 44 45 42 55 47  ATE_THREAD_DEBUG
16d0: 5f 45 56 45 4e 54 2c 0a 09 43 52 45 41 54 45 5f  _EVENT,..CREATE_
16e0: 50 52 4f 43 45 53 53 5f 44 45 42 55 47 5f 45 56  PROCESS_DEBUG_EV
16f0: 45 4e 54 2c 0a 09 45 58 49 54 5f 54 48 52 45 41  ENT,..EXIT_THREA
1700: 44 5f 44 45 42 55 47 5f 45 56 45 4e 54 2c 0a 09  D_DEBUG_EVENT,..
1710: 45 58 49 54 5f 50 52 4f 43 45 53 53 5f 44 45 42  EXIT_PROCESS_DEB
1720: 55 47 5f 45 56 45 4e 54 2c 0a 09 4c 4f 41 44 5f  UG_EVENT,..LOAD_
1730: 44 4c 4c 5f 44 45 42 55 47 5f 45 56 45 4e 54 2c  DLL_DEBUG_EVENT,
1740: 0a 09 55 4e 4c 4f 41 44 5f 44 4c 4c 5f 44 45 42  ..UNLOAD_DLL_DEB
1750: 55 47 5f 45 56 45 4e 54 2c 0a 09 4f 55 54 50 55  UG_EVENT,..OUTPU
1760: 54 5f 44 45 42 55 47 5f 53 54 52 49 4e 47 5f 45  T_DEBUG_STRING_E
1770: 56 45 4e 54 2c 0a 09 52 49 50 5f 45 56 45 4e 54  VENT,..RIP_EVENT
1780: 0a 7d 0a 0a 63 6f 6e 73 74 20 48 46 49 4c 45 20  .}..const HFILE 
1790: 48 46 49 4c 45 5f 45 52 52 4f 52 20 3d 20 63 61  HFILE_ERROR = ca
17a0: 73 74 28 48 46 49 4c 45 29 20 28 2d 31 29 3b 0a  st(HFILE) (-1);.
17b0: 0a 2f 2f 20 66 6f 72 20 53 65 74 46 69 6c 65 50  .// for SetFileP
17c0: 6f 69 6e 74 65 72 28 29 0a 65 6e 75 6d 20 3a 20  ointer().enum : 
17d0: 44 57 4f 52 44 20 7b 0a 09 46 49 4c 45 5f 42 45  DWORD {..FILE_BE
17e0: 47 49 4e 20 20 20 3d 20 30 2c 0a 09 46 49 4c 45  GIN   = 0,..FILE
17f0: 5f 43 55 52 52 45 4e 54 20 3d 20 31 2c 0a 09 46  _CURRENT = 1,..F
1800: 49 4c 45 5f 45 4e 44 20 20 20 20 20 3d 20 32 0a  ILE_END     = 2.
1810: 7d 0a 63 6f 6e 73 74 20 44 57 4f 52 44 20 49 4e  }.const DWORD IN
1820: 56 41 4c 49 44 5f 53 45 54 5f 46 49 4c 45 5f 50  VALID_SET_FILE_P
1830: 4f 49 4e 54 45 52 20 3d 20 2d 31 3b 0a 0a 0a 2f  OINTER = -1;.../
1840: 2f 20 66 6f 72 20 4f 70 65 6e 46 69 6c 65 28 29  / for OpenFile()
1850: 0a 64 65 70 72 65 63 61 74 65 64 20 65 6e 75 6d  .deprecated enum
1860: 20 3a 20 55 49 4e 54 20 7b 0a 09 4f 46 5f 52 45   : UINT {..OF_RE
1870: 41 44 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  AD             =
1880: 20 30 2c 0a 09 4f 46 5f 57 52 49 54 45 20 20 20   0,..OF_WRITE   
1890: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
18a0: 31 2c 0a 09 4f 46 5f 52 45 41 44 57 52 49 54 45  1,..OF_READWRITE
18b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32          = 0x0002
18c0: 2c 0a 09 4f 46 5f 53 48 41 52 45 5f 43 4f 4d 50  ,..OF_SHARE_COMP
18d0: 41 54 20 20 20 20 20 3d 20 30 2c 0a 09 4f 46 5f  AT     = 0,..OF_
18e0: 53 48 41 52 45 5f 45 58 43 4c 55 53 49 56 45 20  SHARE_EXCLUSIVE 
18f0: 20 3d 20 30 78 30 30 31 30 2c 0a 09 4f 46 5f 53   = 0x0010,..OF_S
1900: 48 41 52 45 5f 44 45 4e 59 5f 57 52 49 54 45 20  HARE_DENY_WRITE 
1910: 3d 20 30 78 30 30 32 30 2c 0a 09 4f 46 5f 53 48  = 0x0020,..OF_SH
1920: 41 52 45 5f 44 45 4e 59 5f 52 45 41 44 20 20 3d  ARE_DENY_READ  =
1930: 20 30 78 30 30 33 30 2c 0a 09 4f 46 5f 53 48 41   0x0030,..OF_SHA
1940: 52 45 5f 44 45 4e 59 5f 4e 4f 4e 45 20 20 3d 20  RE_DENY_NONE  = 
1950: 30 78 30 30 34 30 2c 0a 09 4f 46 5f 50 41 52 53  0x0040,..OF_PARS
1960: 45 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  E            = 0
1970: 78 30 31 30 30 2c 0a 09 4f 46 5f 44 45 4c 45 54  x0100,..OF_DELET
1980: 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78  E           = 0x
1990: 30 32 30 30 2c 0a 09 4f 46 5f 56 45 52 49 46 59  0200,..OF_VERIFY
19a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
19b0: 34 30 30 2c 0a 09 4f 46 5f 43 41 4e 43 45 4c 20  400,..OF_CANCEL 
19c0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 38            = 0x08
19d0: 30 30 2c 0a 09 4f 46 5f 43 52 45 41 54 45 20 20  00,..OF_CREATE  
19e0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 30           = 0x100
19f0: 30 2c 0a 09 4f 46 5f 50 52 4f 4d 50 54 20 20 20  0,..OF_PROMPT   
1a00: 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30          = 0x2000
1a10: 2c 0a 09 4f 46 5f 45 58 49 53 54 20 20 20 20 20  ,..OF_EXIST     
1a20: 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 2c         = 0x4000,
1a30: 0a 09 4f 46 5f 52 45 4f 50 45 4e 20 20 20 20 20  ..OF_REOPEN     
1a40: 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 0a 7d        = 0x8000.}
1a50: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
1a60: 0a 09 4e 4d 50 57 41 49 54 5f 4e 4f 57 41 49 54  ..NMPWAIT_NOWAIT
1a70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
1a80: 0a 09 4e 4d 50 57 41 49 54 5f 57 41 49 54 5f 46  ..NMPWAIT_WAIT_F
1a90: 4f 52 45 56 45 52 20 20 20 20 20 3d 20 2d 31 2c  OREVER     = -1,
1aa0: 0a 09 4e 4d 50 57 41 49 54 5f 55 53 45 5f 44 45  ..NMPWAIT_USE_DE
1ab0: 46 41 55 4c 54 5f 57 41 49 54 20 3d 20 20 30 0a  FAULT_WAIT =  0.
1ac0: 7d 0a 0a 2f 2f 20 66 6f 72 20 43 6c 65 61 72 43  }..// for ClearC
1ad0: 6f 6d 6d 45 72 72 6f 72 28 29 0a 63 6f 6e 73 74  ommError().const
1ae0: 20 44 57 4f 52 44 0a 09 43 45 5f 52 58 4f 56 45   DWORD..CE_RXOVE
1af0: 52 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 43  R   = 0x0001,..C
1b00: 45 5f 4f 56 45 52 52 55 4e 20 20 3d 20 30 78 30  E_OVERRUN  = 0x0
1b10: 30 30 32 2c 0a 09 43 45 5f 52 58 50 41 52 49 54  002,..CE_RXPARIT
1b20: 59 20 3d 20 30 78 30 30 30 34 2c 0a 09 43 45 5f  Y = 0x0004,..CE_
1b30: 46 52 41 4d 45 20 20 20 20 3d 20 30 78 30 30 30  FRAME    = 0x000
1b40: 38 2c 0a 09 43 45 5f 42 52 45 41 4b 20 20 20 20  8,..CE_BREAK    
1b50: 3d 20 30 78 30 30 31 30 2c 0a 09 43 45 5f 54 58  = 0x0010,..CE_TX
1b60: 46 55 4c 4c 20 20 20 3d 20 30 78 30 31 30 30 2c  FULL   = 0x0100,
1b70: 0a 09 43 45 5f 50 54 4f 20 20 20 20 20 20 3d 20  ..CE_PTO      = 
1b80: 30 78 30 32 30 30 2c 0a 09 43 45 5f 49 4f 45 20  0x0200,..CE_IOE 
1b90: 20 20 20 20 20 3d 20 30 78 30 34 30 30 2c 0a 09       = 0x0400,..
1ba0: 43 45 5f 44 4e 53 20 20 20 20 20 20 3d 20 30 78  CE_DNS      = 0x
1bb0: 30 38 30 30 2c 0a 09 43 45 5f 4f 4f 50 20 20 20  0800,..CE_OOP   
1bc0: 20 20 20 3d 20 30 78 31 30 30 30 2c 0a 09 43 45     = 0x1000,..CE
1bd0: 5f 4d 4f 44 45 20 20 20 20 20 3d 20 30 78 38 30  _MODE     = 0x80
1be0: 30 30 3b 0a 0a 2f 2f 20 66 6f 72 20 43 6f 70 79  00;..// for Copy
1bf0: 50 72 6f 67 72 65 73 73 52 6f 75 74 69 6e 65 20  ProgressRoutine 
1c00: 63 61 6c 6c 62 61 63 6b 2e 0a 65 6e 75 6d 20 3a  callback..enum :
1c10: 20 44 57 4f 52 44 20 7b 0a 09 50 52 4f 47 52 45   DWORD {..PROGRE
1c20: 53 53 5f 43 4f 4e 54 49 4e 55 45 20 3d 20 30 2c  SS_CONTINUE = 0,
1c30: 0a 09 50 52 4f 47 52 45 53 53 5f 43 41 4e 43 45  ..PROGRESS_CANCE
1c40: 4c 20 20 20 3d 20 31 2c 0a 09 50 52 4f 47 52 45  L   = 1,..PROGRE
1c50: 53 53 5f 53 54 4f 50 20 20 20 20 20 3d 20 32 2c  SS_STOP     = 2,
1c60: 0a 09 50 52 4f 47 52 45 53 53 5f 51 55 49 45 54  ..PROGRESS_QUIET
1c70: 20 20 20 20 3d 20 33 0a 7d 0a 0a 65 6e 75 6d 20      = 3.}..enum 
1c80: 3a 20 44 57 4f 52 44 20 7b 0a 09 43 41 4c 4c 42  : DWORD {..CALLB
1c90: 41 43 4b 5f 43 48 55 4e 4b 5f 46 49 4e 49 53 48  ACK_CHUNK_FINISH
1ca0: 45 44 20 3d 20 30 2c 0a 09 43 41 4c 4c 42 41 43  ED = 0,..CALLBAC
1cb0: 4b 5f 53 54 52 45 41 4d 5f 53 57 49 54 43 48 20  K_STREAM_SWITCH 
1cc0: 20 3d 20 31 0a 7d 0a 0a 2f 2f 20 43 6f 70 79 46   = 1.}..// CopyF
1cd0: 69 6c 65 45 78 28 29 0a 65 6e 75 6d 20 3a 20 44  ileEx().enum : D
1ce0: 57 4f 52 44 20 7b 0a 09 43 4f 50 59 5f 46 49 4c  WORD {..COPY_FIL
1cf0: 45 5f 46 41 49 4c 5f 49 46 5f 45 58 49 53 54 53  E_FAIL_IF_EXISTS
1d00: 20 3d 20 31 2c 0a 09 43 4f 50 59 5f 46 49 4c 45   = 1,..COPY_FILE
1d10: 5f 52 45 53 54 41 52 54 41 42 4c 45 20 20 20 20  _RESTARTABLE    
1d20: 3d 20 32 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57  = 2.}..enum : DW
1d30: 4f 52 44 20 7b 0a 09 46 49 4c 45 5f 4d 41 50 5f  ORD {..FILE_MAP_
1d40: 43 4f 50 59 20 20 20 20 20 20 20 3d 20 31 2c 0a  COPY       = 1,.
1d50: 09 46 49 4c 45 5f 4d 41 50 5f 57 52 49 54 45 20  .FILE_MAP_WRITE 
1d60: 20 20 20 20 20 3d 20 32 2c 0a 09 46 49 4c 45 5f       = 2,..FILE_
1d70: 4d 41 50 5f 52 45 41 44 20 20 20 20 20 20 20 3d  MAP_READ       =
1d80: 20 34 2c 0a 09 46 49 4c 45 5f 4d 41 50 5f 41 4c   4,..FILE_MAP_AL
1d90: 4c 5f 41 43 43 45 53 53 20 3d 20 30 78 30 30 30  L_ACCESS = 0x000
1da0: 46 30 30 31 46 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  F001F.}..enum : 
1db0: 44 57 4f 52 44 20 7b 0a 09 4d 55 54 45 58 5f 41  DWORD {..MUTEX_A
1dc0: 4c 4c 5f 41 43 43 45 53 53 20 20 20 20 20 20 20  LL_ACCESS       
1dd0: 3d 20 30 78 30 30 31 66 30 30 30 31 2c 0a 09 4d  = 0x001f0001,..M
1de0: 55 54 45 58 5f 4d 4f 44 49 46 59 5f 53 54 41 54  UTEX_MODIFY_STAT
1df0: 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30  E     = 0x000000
1e00: 30 31 2c 0a 09 53 45 4d 41 50 48 4f 52 45 5f 41  01,..SEMAPHORE_A
1e10: 4c 4c 5f 41 43 43 45 53 53 20 20 20 3d 20 30 78  LL_ACCESS   = 0x
1e20: 30 30 31 66 30 30 30 33 2c 0a 09 53 45 4d 41 50  001f0003,..SEMAP
1e30: 48 4f 52 45 5f 4d 4f 44 49 46 59 5f 53 54 41 54  HORE_MODIFY_STAT
1e40: 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a  E = 0x00000002,.
1e50: 09 45 56 45 4e 54 5f 41 4c 4c 5f 41 43 43 45 53  .EVENT_ALL_ACCES
1e60: 53 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 66  S       = 0x001f
1e70: 30 30 30 33 2c 0a 09 45 56 45 4e 54 5f 4d 4f 44  0003,..EVENT_MOD
1e80: 49 46 59 5f 53 54 41 54 45 20 20 20 20 20 3d 20  IFY_STATE     = 
1e90: 30 78 30 30 30 30 30 30 30 32 0a 7d 0a 0a 2f 2f  0x00000002.}..//
1ea0: 20 43 72 65 61 74 65 4e 61 6d 65 64 50 69 70 65   CreateNamedPipe
1eb0: 28 29 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  ().enum : DWORD 
1ec0: 7b 0a 09 50 49 50 45 5f 41 43 43 45 53 53 5f 49  {..PIPE_ACCESS_I
1ed0: 4e 42 4f 55 4e 44 20 20 3d 20 31 2c 0a 09 50 49  NBOUND  = 1,..PI
1ee0: 50 45 5f 41 43 43 45 53 53 5f 4f 55 54 42 4f 55  PE_ACCESS_OUTBOU
1ef0: 4e 44 20 3d 20 32 2c 0a 09 50 49 50 45 5f 41 43  ND = 2,..PIPE_AC
1f00: 43 45 53 53 5f 44 55 50 4c 45 58 20 20 20 3d 20  CESS_DUPLEX   = 
1f10: 33 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44  3.}..const DWORD
1f20: 0a 09 50 49 50 45 5f 54 59 50 45 5f 42 59 54 45  ..PIPE_TYPE_BYTE
1f30: 20 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 50 49          = 0,..PI
1f40: 50 45 5f 54 59 50 45 5f 4d 45 53 53 41 47 45 20  PE_TYPE_MESSAGE 
1f50: 20 20 20 20 3d 20 34 2c 0a 09 50 49 50 45 5f 52      = 4,..PIPE_R
1f60: 45 41 44 4d 4f 44 45 5f 42 59 54 45 20 20 20 20  EADMODE_BYTE    
1f70: 3d 20 30 2c 0a 09 50 49 50 45 5f 52 45 41 44 4d  = 0,..PIPE_READM
1f80: 4f 44 45 5f 4d 45 53 53 41 47 45 20 3d 20 32 2c  ODE_MESSAGE = 2,
1f90: 0a 09 50 49 50 45 5f 57 41 49 54 20 20 20 20 20  ..PIPE_WAIT     
1fa0: 20 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 50 49          = 0,..PI
1fb0: 50 45 5f 4e 4f 57 41 49 54 20 20 20 20 20 20 20  PE_NOWAIT       
1fc0: 20 20 20 20 3d 20 31 3b 0a 0a 2f 2f 20 47 65 74      = 1;..// Get
1fd0: 4e 61 6d 65 64 50 69 70 65 49 6e 66 6f 28 29 0a  NamedPipeInfo().
1fe0: 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 50 49 50  const DWORD..PIP
1ff0: 45 5f 43 4c 49 45 4e 54 5f 45 4e 44 20 20 3d 20  E_CLIENT_END  = 
2000: 30 2c 0a 09 50 49 50 45 5f 53 45 52 56 45 52 5f  0,..PIPE_SERVER_
2010: 45 4e 44 20 20 3d 20 31 3b 0a 0a 63 6f 6e 73 74  END  = 1;..const
2020: 20 44 57 4f 52 44 20 50 49 50 45 5f 55 4e 4c 49   DWORD PIPE_UNLI
2030: 4d 49 54 45 44 5f 49 4e 53 54 41 4e 43 45 53 20  MITED_INSTANCES 
2040: 3d 20 32 35 35 3b 0a 0a 2f 2f 20 64 77 43 72 65  = 255;..// dwCre
2050: 61 74 69 6f 6e 46 6c 61 67 73 20 66 6f 72 20 43  ationFlags for C
2060: 72 65 61 74 65 50 72 6f 63 65 73 73 28 29 20 61  reateProcess() a
2070: 6e 64 20 43 72 65 61 74 65 50 72 6f 63 65 73 73  nd CreateProcess
2080: 41 73 55 73 65 72 28 29 0a 65 6e 75 6d 20 3a 20  AsUser().enum : 
2090: 44 57 4f 52 44 20 7b 0a 09 44 45 42 55 47 5f 50  DWORD {..DEBUG_P
20a0: 52 4f 43 45 53 53 20 20 20 20 20 20 20 20 20 20  ROCESS          
20b0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
20c0: 31 2c 0a 09 44 45 42 55 47 5f 4f 4e 4c 59 5f 54  1,..DEBUG_ONLY_T
20d0: 48 49 53 5f 50 52 4f 43 45 53 53 20 20 20 20 20  HIS_PROCESS     
20e0: 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 43  = 0x00000002,..C
20f0: 52 45 41 54 45 5f 53 55 53 50 45 4e 44 45 44 20  REATE_SUSPENDED 
2100: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
2110: 30 30 30 30 30 30 34 2c 0a 09 44 45 54 41 43 48  0000004,..DETACH
2120: 45 44 5f 50 52 4f 43 45 53 53 20 20 20 20 20 20  ED_PROCESS      
2130: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
2140: 30 38 2c 0a 09 43 52 45 41 54 45 5f 4e 45 57 5f  08,..CREATE_NEW_
2150: 43 4f 4e 53 4f 4c 45 20 20 20 20 20 20 20 20 20  CONSOLE         
2160: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09   = 0x00000010,..
2170: 4e 4f 52 4d 41 4c 5f 50 52 49 4f 52 49 54 59 5f  NORMAL_PRIORITY_
2180: 43 4c 41 53 53 20 20 20 20 20 20 20 3d 20 30 78  CLASS       = 0x
2190: 30 30 30 30 30 30 32 30 2c 0a 09 49 44 4c 45 5f  00000020,..IDLE_
21a0: 50 52 49 4f 52 49 54 59 5f 43 4c 41 53 53 20 20  PRIORITY_CLASS  
21b0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
21c0: 30 34 30 2c 0a 09 48 49 47 48 5f 50 52 49 4f 52  040,..HIGH_PRIOR
21d0: 49 54 59 5f 43 4c 41 53 53 20 20 20 20 20 20 20  ITY_CLASS       
21e0: 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c 0a    = 0x00000080,.
21f0: 09 52 45 41 4c 54 49 4d 45 5f 50 52 49 4f 52 49  .REALTIME_PRIORI
2200: 54 59 5f 43 4c 41 53 53 20 20 20 20 20 3d 20 30  TY_CLASS     = 0
2210: 78 30 30 30 30 30 31 30 30 2c 0a 09 43 52 45 41  x00000100,..CREA
2220: 54 45 5f 4e 45 57 5f 50 52 4f 43 45 53 53 5f 47  TE_NEW_PROCESS_G
2230: 52 4f 55 50 20 20 20 20 3d 20 30 78 30 30 30 30  ROUP    = 0x0000
2240: 30 32 30 30 2c 0a 09 43 52 45 41 54 45 5f 55 4e  0200,..CREATE_UN
2250: 49 43 4f 44 45 5f 45 4e 56 49 52 4f 4e 4d 45 4e  ICODE_ENVIRONMEN
2260: 54 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c  T  = 0x00000400,
2270: 0a 09 43 52 45 41 54 45 5f 53 45 50 41 52 41 54  ..CREATE_SEPARAT
2280: 45 5f 57 4f 57 5f 56 44 4d 20 20 20 20 20 3d 20  E_WOW_VDM     = 
2290: 30 78 30 30 30 30 30 38 30 30 2c 0a 09 43 52 45  0x00000800,..CRE
22a0: 41 54 45 5f 53 48 41 52 45 44 5f 57 4f 57 5f 56  ATE_SHARED_WOW_V
22b0: 44 4d 20 20 20 20 20 20 20 3d 20 30 78 30 30 30  DM       = 0x000
22c0: 30 31 30 30 30 2c 0a 09 43 52 45 41 54 45 5f 46  01000,..CREATE_F
22d0: 4f 52 43 45 44 4f 53 20 20 20 20 20 20 20 20 20  ORCEDOS         
22e0: 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30 30      = 0x00002000
22f0: 2c 0a 09 42 45 4c 4f 57 5f 4e 4f 52 4d 41 4c 5f  ,..BELOW_NORMAL_
2300: 50 52 49 4f 52 49 54 59 5f 43 4c 41 53 53 20 3d  PRIORITY_CLASS =
2310: 20 30 78 30 30 30 30 34 30 30 30 2c 0a 09 41 42   0x00004000,..AB
2320: 4f 56 45 5f 4e 4f 52 4d 41 4c 5f 50 52 49 4f 52  OVE_NORMAL_PRIOR
2330: 49 54 59 5f 43 4c 41 53 53 20 3d 20 30 78 30 30  ITY_CLASS = 0x00
2340: 30 30 38 30 30 30 2c 0a 09 43 52 45 41 54 45 5f  008000,..CREATE_
2350: 42 52 45 41 4b 41 57 41 59 5f 46 52 4f 4d 5f 4a  BREAKAWAY_FROM_J
2360: 4f 42 20 20 20 3d 20 30 78 30 31 30 30 30 30 30  OB   = 0x0100000
2370: 30 2c 0a 09 43 52 45 41 54 45 5f 57 49 54 48 5f  0,..CREATE_WITH_
2380: 55 53 45 52 50 52 4f 46 49 4c 45 20 20 20 20 20  USERPROFILE     
2390: 3d 20 30 78 30 32 30 30 30 30 30 30 2c 0a 09 43  = 0x02000000,..C
23a0: 52 45 41 54 45 5f 44 45 46 41 55 4c 54 5f 45 52  REATE_DEFAULT_ER
23b0: 52 4f 52 5f 4d 4f 44 45 20 20 20 3d 20 30 78 30  ROR_MODE   = 0x0
23c0: 34 30 30 30 30 30 30 2c 0a 09 43 52 45 41 54 45  4000000,..CREATE
23d0: 5f 4e 4f 5f 57 49 4e 44 4f 57 20 20 20 20 20 20  _NO_WINDOW      
23e0: 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 30 30        = 0x080000
23f0: 30 30 2c 0a 09 50 52 4f 46 49 4c 45 5f 55 53 45  00,..PROFILE_USE
2400: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  R               
2410: 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09   = 0x10000000,..
2420: 50 52 4f 46 49 4c 45 5f 4b 45 52 4e 45 4c 20 20  PROFILE_KERNEL  
2430: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
2440: 32 30 30 30 30 30 30 30 2c 0a 09 50 52 4f 46 49  20000000,..PROFI
2450: 4c 45 5f 53 45 52 56 45 52 20 20 20 20 20 20 20  LE_SERVER       
2460: 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 30         = 0x40000
2470: 30 30 30 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f  000.}..const DWO
2480: 52 44 20 43 4f 4e 53 4f 4c 45 5f 54 45 58 54 4d  RD CONSOLE_TEXTM
2490: 4f 44 45 5f 42 55 46 46 45 52 20 3d 20 31 3b 0a  ODE_BUFFER = 1;.
24a0: 0a 2f 2f 20 43 72 65 61 74 65 46 69 6c 65 28 29  .// CreateFile()
24b0: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
24c0: 09 43 52 45 41 54 45 5f 4e 45 57 20 3d 20 31 2c  .CREATE_NEW = 1,
24d0: 0a 09 43 52 45 41 54 45 5f 41 4c 57 41 59 53 2c  ..CREATE_ALWAYS,
24e0: 0a 09 4f 50 45 4e 5f 45 58 49 53 54 49 4e 47 2c  ..OPEN_EXISTING,
24f0: 0a 09 4f 50 45 4e 5f 41 4c 57 41 59 53 2c 0a 09  ..OPEN_ALWAYS,..
2500: 54 52 55 4e 43 41 54 45 5f 45 58 49 53 54 49 4e  TRUNCATE_EXISTIN
2510: 47 0a 7d 0a 0a 2f 2f 20 43 72 65 61 74 65 46 69  G.}..// CreateFi
2520: 6c 65 28 29 0a 63 6f 6e 73 74 20 44 57 4f 52 44  le().const DWORD
2530: 0a 09 46 49 4c 45 5f 46 4c 41 47 5f 57 52 49 54  ..FILE_FLAG_WRIT
2540: 45 5f 54 48 52 4f 55 47 48 20 20 20 20 20 20 3d  E_THROUGH      =
2550: 20 30 78 38 30 30 30 30 30 30 30 2c 0a 09 46 49   0x80000000,..FI
2560: 4c 45 5f 46 4c 41 47 5f 4f 56 45 52 4c 41 50 50  LE_FLAG_OVERLAPP
2570: 45 44 20 20 20 20 20 20 20 20 20 3d 20 30 78 34  ED         = 0x4
2580: 30 30 30 30 30 30 30 2c 0a 09 46 49 4c 45 5f 46  0000000,..FILE_F
2590: 4c 41 47 5f 4e 4f 5f 42 55 46 46 45 52 49 4e 47  LAG_NO_BUFFERING
25a0: 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30         = 0x20000
25b0: 30 30 30 2c 0a 09 46 49 4c 45 5f 46 4c 41 47 5f  000,..FILE_FLAG_
25c0: 52 41 4e 44 4f 4d 5f 41 43 43 45 53 53 20 20 20  RANDOM_ACCESS   
25d0: 20 20 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c     = 0x10000000,
25e0: 0a 09 46 49 4c 45 5f 46 4c 41 47 5f 53 45 51 55  ..FILE_FLAG_SEQU
25f0: 45 4e 54 49 41 4c 5f 53 43 41 4e 20 20 20 20 3d  ENTIAL_SCAN    =
2600: 20 30 78 30 38 30 30 30 30 30 30 2c 0a 09 46 49   0x08000000,..FI
2610: 4c 45 5f 46 4c 41 47 5f 44 45 4c 45 54 45 5f 4f  LE_FLAG_DELETE_O
2620: 4e 5f 43 4c 4f 53 45 20 20 20 20 3d 20 30 78 30  N_CLOSE    = 0x0
2630: 34 30 30 30 30 30 30 2c 0a 09 46 49 4c 45 5f 46  4000000,..FILE_F
2640: 4c 41 47 5f 42 41 43 4b 55 50 5f 53 45 4d 41 4e  LAG_BACKUP_SEMAN
2650: 54 49 43 53 20 20 20 3d 20 30 78 30 32 30 30 30  TICS   = 0x02000
2660: 30 30 30 2c 0a 09 46 49 4c 45 5f 46 4c 41 47 5f  000,..FILE_FLAG_
2670: 50 4f 53 49 58 5f 53 45 4d 41 4e 54 49 43 53 20  POSIX_SEMANTICS 
2680: 20 20 20 3d 20 30 78 30 31 30 30 30 30 30 30 2c     = 0x01000000,
2690: 0a 09 46 49 4c 45 5f 46 4c 41 47 5f 4f 50 45 4e  ..FILE_FLAG_OPEN
26a0: 5f 52 45 50 41 52 53 45 5f 50 4f 49 4e 54 20 3d  _REPARSE_POINT =
26b0: 20 30 78 30 30 32 30 30 30 30 30 2c 0a 09 46 49   0x00200000,..FI
26c0: 4c 45 5f 46 4c 41 47 5f 4f 50 45 4e 5f 4e 4f 5f  LE_FLAG_OPEN_NO_
26d0: 52 45 43 41 4c 4c 20 20 20 20 20 3d 20 30 78 30  RECALL     = 0x0
26e0: 30 31 30 30 30 30 30 3b 0a 0a 73 74 61 74 69 63  0100000;..static
26f0: 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
2700: 54 5f 4f 4e 4c 59 20 26 26 20 5f 57 49 4e 33 32  T_ONLY && _WIN32
2710: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29  _WINNT >= 0x500)
2720: 20 7b 0a 09 63 6f 6e 73 74 20 44 57 4f 52 44 20   {..const DWORD 
2730: 46 49 4c 45 5f 46 4c 41 47 5f 46 49 52 53 54 5f  FILE_FLAG_FIRST_
2740: 50 49 50 45 5f 49 4e 53 54 41 4e 43 45 20 3d 20  PIPE_INSTANCE = 
2750: 30 78 30 30 30 38 30 30 30 30 3b 0a 7d 0a 0a 2f  0x00080000;.}../
2760: 2f 20 66 6f 72 20 43 72 65 61 74 65 46 69 6c 65  / for CreateFile
2770: 28 29 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09  ().const DWORD..
2780: 53 45 43 55 52 49 54 59 5f 41 4e 4f 4e 59 4d 4f  SECURITY_ANONYMO
2790: 55 53 20 20 20 20 20 20 20 20 3d 20 53 45 43 55  US        = SECU
27a0: 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49  RITY_IMPERSONATI
27b0: 4f 4e 5f 4c 45 56 45 4c 2e 53 65 63 75 72 69 74  ON_LEVEL.Securit
27c0: 79 41 6e 6f 6e 79 6d 6f 75 73 3c 3c 31 36 2c 0a  yAnonymous<<16,.
27d0: 09 53 45 43 55 52 49 54 59 5f 49 44 45 4e 54 49  .SECURITY_IDENTI
27e0: 46 49 43 41 54 49 4f 4e 20 20 20 3d 20 53 45 43  FICATION   = SEC
27f0: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54  URITY_IMPERSONAT
2800: 49 4f 4e 5f 4c 45 56 45 4c 2e 53 65 63 75 72 69  ION_LEVEL.Securi
2810: 74 79 49 64 65 6e 74 69 66 69 63 61 74 69 6f 6e  tyIdentification
2820: 3c 3c 31 36 2c 0a 09 53 45 43 55 52 49 54 59 5f  <<16,..SECURITY_
2830: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 20 20 20  IMPERSONATION   
2840: 20 3d 20 53 45 43 55 52 49 54 59 5f 49 4d 50 45   = SECURITY_IMPE
2850: 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 2e  RSONATION_LEVEL.
2860: 53 65 63 75 72 69 74 79 49 6d 70 65 72 73 6f 6e  SecurityImperson
2870: 61 74 69 6f 6e 3c 3c 31 36 2c 0a 09 53 45 43 55  ation<<16,..SECU
2880: 52 49 54 59 5f 44 45 4c 45 47 41 54 49 4f 4e 20  RITY_DELEGATION 
2890: 20 20 20 20 20 20 3d 20 53 45 43 55 52 49 54 59        = SECURITY
28a0: 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c  _IMPERSONATION_L
28b0: 45 56 45 4c 2e 53 65 63 75 72 69 74 79 44 65 6c  EVEL.SecurityDel
28c0: 65 67 61 74 69 6f 6e 3c 3c 31 36 2c 0a 09 53 45  egation<<16,..SE
28d0: 43 55 52 49 54 59 5f 43 4f 4e 54 45 58 54 5f 54  CURITY_CONTEXT_T
28e0: 52 41 43 4b 49 4e 47 20 3d 20 30 78 30 30 30 34  RACKING = 0x0004
28f0: 30 30 30 30 2c 0a 09 53 45 43 55 52 49 54 59 5f  0000,..SECURITY_
2900: 45 46 46 45 43 54 49 56 45 5f 4f 4e 4c 59 20 20  EFFECTIVE_ONLY  
2910: 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09   = 0x00080000,..
2920: 53 45 43 55 52 49 54 59 5f 53 51 4f 53 5f 50 52  SECURITY_SQOS_PR
2930: 45 53 45 4e 54 20 20 20 20 20 3d 20 30 78 30 30  ESENT     = 0x00
2940: 31 30 30 30 30 30 2c 0a 09 53 45 43 55 52 49 54  100000,..SECURIT
2950: 59 5f 56 41 4c 49 44 5f 53 51 4f 53 5f 46 4c 41  Y_VALID_SQOS_FLA
2960: 47 53 20 3d 20 30 78 30 30 31 46 30 30 30 30 3b  GS = 0x001F0000;
2970: 0a 0a 0a 2f 2f 20 54 68 72 65 61 64 20 65 78 69  ...// Thread exi
2980: 74 20 63 6f 64 65 0a 63 6f 6e 73 74 20 44 57 4f  t code.const DWO
2990: 52 44 20 53 54 49 4c 4c 5f 41 43 54 49 56 45 20  RD STILL_ACTIVE 
29a0: 3d 20 30 78 31 30 33 3b 0a 0a 2f 2a 09 3f 3f 3f  = 0x103;../*.???
29b0: 20 54 68 65 20 6f 6e 6c 79 20 64 6f 63 75 6d 65   The only docume
29c0: 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20  ntation of this 
29d0: 73 65 65 6d 73 20 74 6f 20 62 65 20 61 62 6f 75  seems to be abou
29e0: 74 20 57 69 6e 64 6f 77 73 20 43 45 20 61 6e 64  t Windows CE and
29f0: 20 74 6f 0a 20 2a 09 73 74 61 74 65 20 77 68 61   to. *.state wha
2a00: 74 20 5f 64 6f 65 73 6e 27 74 5f 20 73 75 70 70  t _doesn't_ supp
2a10: 6f 72 74 20 69 74 2e 0a 20 2a 2f 0a 63 6f 6e 73  ort it.. */.cons
2a20: 74 20 44 57 4f 52 44 20 46 49 4e 44 5f 46 49 52  t DWORD FIND_FIR
2a30: 53 54 5f 45 58 5f 43 41 53 45 5f 53 45 4e 53 49  ST_EX_CASE_SENSI
2a40: 54 49 56 45 20 3d 20 31 3b 0a 0a 2f 2f 20 47 65  TIVE = 1;..// Ge
2a50: 74 42 69 6e 61 72 79 54 79 70 65 28 29 0a 65 6e  tBinaryType().en
2a60: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 53 43  um : DWORD {..SC
2a70: 53 5f 33 32 42 49 54 5f 42 49 4e 41 52 59 20 3d  S_32BIT_BINARY =
2a80: 20 30 2c 0a 09 53 43 53 5f 44 4f 53 5f 42 49 4e   0,..SCS_DOS_BIN
2a90: 41 52 59 2c 0a 09 53 43 53 5f 57 4f 57 5f 42 49  ARY,..SCS_WOW_BI
2aa0: 4e 41 52 59 2c 0a 09 53 43 53 5f 50 49 46 5f 42  NARY,..SCS_PIF_B
2ab0: 49 4e 41 52 59 2c 0a 09 53 43 53 5f 50 4f 53 49  INARY,..SCS_POSI
2ac0: 58 5f 42 49 4e 41 52 59 2c 0a 09 53 43 53 5f 4f  X_BINARY,..SCS_O
2ad0: 53 32 31 36 5f 42 49 4e 41 52 59 0a 7d 0a 0a 63  S216_BINARY.}..c
2ae0: 6f 6e 73 74 20 73 69 7a 65 5f 74 0a 09 4d 41 58  onst size_t..MAX
2af0: 5f 43 4f 4d 50 55 54 45 52 4e 41 4d 45 5f 4c 45  _COMPUTERNAME_LE
2b00: 4e 47 54 48 20 3d 20 31 35 2c 0a 09 48 57 5f 50  NGTH = 15,..HW_P
2b10: 52 4f 46 49 4c 45 5f 47 55 49 44 4c 45 4e 20 20  ROFILE_GUIDLEN  
2b20: 20 20 20 20 3d 20 33 39 2c 0a 09 4d 41 58 5f 50      = 39,..MAX_P
2b30: 52 4f 46 49 4c 45 5f 4c 45 4e 20 20 20 20 20 20  ROFILE_LEN      
2b40: 20 20 20 3d 20 38 30 3b 0a 0a 2f 2f 20 48 57 5f     = 80;..// HW_
2b50: 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 0a 63 6f 6e  PROFILE_INFO.con
2b60: 73 74 20 44 57 4f 52 44 0a 09 44 4f 43 4b 49 4e  st DWORD..DOCKIN
2b70: 46 4f 5f 55 4e 44 4f 43 4b 45 44 20 20 20 20 20  FO_UNDOCKED     
2b80: 20 3d 20 31 2c 0a 09 44 4f 43 4b 49 4e 46 4f 5f   = 1,..DOCKINFO_
2b90: 44 4f 43 4b 45 44 20 20 20 20 20 20 20 20 3d 20  DOCKED        = 
2ba0: 32 2c 0a 09 44 4f 43 4b 49 4e 46 4f 5f 55 53 45  2,..DOCKINFO_USE
2bb0: 52 5f 53 55 50 50 4c 49 45 44 20 3d 20 34 2c 0a  R_SUPPLIED = 4,.
2bc0: 09 44 4f 43 4b 49 4e 46 4f 5f 55 53 45 52 5f 55  .DOCKINFO_USER_U
2bd0: 4e 44 4f 43 4b 45 44 20 3d 20 44 4f 43 4b 49 4e  NDOCKED = DOCKIN
2be0: 46 4f 5f 55 53 45 52 5f 53 55 50 50 4c 49 45 44  FO_USER_SUPPLIED
2bf0: 20 7c 20 44 4f 43 4b 49 4e 46 4f 5f 55 4e 44 4f   | DOCKINFO_UNDO
2c00: 43 4b 45 44 2c 0a 09 44 4f 43 4b 49 4e 46 4f 5f  CKED,..DOCKINFO_
2c10: 55 53 45 52 5f 44 4f 43 4b 45 44 20 20 20 3d 20  USER_DOCKED   = 
2c20: 44 4f 43 4b 49 4e 46 4f 5f 55 53 45 52 5f 53 55  DOCKINFO_USER_SU
2c30: 50 50 4c 49 45 44 20 7c 20 44 4f 43 4b 49 4e 46  PPLIED | DOCKINF
2c40: 4f 5f 44 4f 43 4b 45 44 3b 0a 0a 2f 2f 20 44 72  O_DOCKED;..// Dr
2c50: 69 76 65 54 79 70 65 28 29 2c 20 52 65 61 6c 44  iveType(), RealD
2c60: 72 69 76 65 54 79 70 65 28 29 0a 65 6e 75 6d 20  riveType().enum 
2c70: 3a 20 69 6e 74 20 7b 0a 09 44 52 49 56 45 5f 55  : int {..DRIVE_U
2c80: 4e 4b 4e 4f 57 4e 20 3d 20 30 2c 0a 09 44 52 49  NKNOWN = 0,..DRI
2c90: 56 45 5f 4e 4f 5f 52 4f 4f 54 5f 44 49 52 2c 0a  VE_NO_ROOT_DIR,.
2ca0: 09 44 52 49 56 45 5f 52 45 4d 4f 56 41 42 4c 45  .DRIVE_REMOVABLE
2cb0: 2c 0a 09 44 52 49 56 45 5f 46 49 58 45 44 2c 0a  ,..DRIVE_FIXED,.
2cc0: 09 44 52 49 56 45 5f 52 45 4d 4f 54 45 2c 0a 09  .DRIVE_REMOTE,..
2cd0: 44 52 49 56 45 5f 43 44 52 4f 4d 2c 0a 09 44 52  DRIVE_CDROM,..DR
2ce0: 49 56 45 5f 52 41 4d 44 49 53 4b 0a 7d 0a 0a 2f  IVE_RAMDISK.}../
2cf0: 2f 20 47 65 74 46 69 6c 65 54 79 70 65 28 29 0a  / GetFileType().
2d00: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
2d10: 46 49 4c 45 5f 54 59 50 45 5f 55 4e 4b 4e 4f 57  FILE_TYPE_UNKNOW
2d20: 4e 20 3d 20 30 2c 0a 09 46 49 4c 45 5f 54 59 50  N = 0,..FILE_TYP
2d30: 45 5f 44 49 53 4b 2c 0a 09 46 49 4c 45 5f 54 59  E_DISK,..FILE_TY
2d40: 50 45 5f 43 48 41 52 2c 0a 09 46 49 4c 45 5f 54  PE_CHAR,..FILE_T
2d50: 59 50 45 5f 50 49 50 45 2c 0a 09 46 49 4c 45 5f  YPE_PIPE,..FILE_
2d60: 54 59 50 45 5f 52 45 4d 4f 54 45 20 3d 20 30 78  TYPE_REMOTE = 0x
2d70: 38 30 30 30 0a 7d 0a 0a 2f 2f 20 47 65 74 2f 53  8000.}..// Get/S
2d80: 65 74 48 61 6e 64 6c 65 49 6e 66 6f 72 6d 61 74  etHandleInformat
2d90: 69 6f 6e 28 29 0a 63 6f 6e 73 74 20 44 57 4f 52  ion().const DWOR
2da0: 44 0a 09 48 41 4e 44 4c 45 5f 46 4c 41 47 5f 49  D..HANDLE_FLAG_I
2db0: 4e 48 45 52 49 54 20 20 20 20 20 20 20 20 20 20  NHERIT          
2dc0: 20 20 3d 20 30 78 30 31 2c 0a 09 48 41 4e 44 4c    = 0x01,..HANDL
2dd0: 45 5f 46 4c 41 47 5f 50 52 4f 54 45 43 54 5f 46  E_FLAG_PROTECT_F
2de0: 52 4f 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 30 32  ROM_CLOSE = 0x02
2df0: 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  ;..enum : DWORD 
2e00: 7b 0a 09 53 54 44 5f 49 4e 50 55 54 5f 48 41 4e  {..STD_INPUT_HAN
2e10: 44 4c 45 20 20 3d 20 30 78 46 46 46 46 46 46 46  DLE  = 0xFFFFFFF
2e20: 36 2c 0a 09 53 54 44 5f 4f 55 54 50 55 54 5f 48  6,..STD_OUTPUT_H
2e30: 41 4e 44 4c 45 20 3d 20 30 78 46 46 46 46 46 46  ANDLE = 0xFFFFFF
2e40: 46 35 2c 0a 09 53 54 44 5f 45 52 52 4f 52 5f 48  F5,..STD_ERROR_H
2e50: 41 4e 44 4c 45 20 20 3d 20 30 78 46 46 46 46 46  ANDLE  = 0xFFFFF
2e60: 46 46 34 0a 7d 0a 0a 63 6f 6e 73 74 20 48 41 4e  FF4.}..const HAN
2e70: 44 4c 45 20 49 4e 56 41 4c 49 44 5f 48 41 4e 44  DLE INVALID_HAND
2e80: 4c 45 5f 56 41 4c 55 45 20 3d 20 63 61 73 74 28  LE_VALUE = cast(
2e90: 48 41 4e 44 4c 45 29 20 28 2d 31 29 3b 0a 0a 65  HANDLE) (-1);..e
2ea0: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 47  num : DWORD {..G
2eb0: 45 54 5f 54 41 50 45 5f 4d 45 44 49 41 5f 49 4e  ET_TAPE_MEDIA_IN
2ec0: 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30 2c 0a 09  FORMATION = 0,..
2ed0: 47 45 54 5f 54 41 50 45 5f 44 52 49 56 45 5f 49  GET_TAPE_DRIVE_I
2ee0: 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 31 0a 7d  NFORMATION = 1.}
2ef0: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
2f00: 0a 09 53 45 54 5f 54 41 50 45 5f 4d 45 44 49 41  ..SET_TAPE_MEDIA
2f10: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20 30  _INFORMATION = 0
2f20: 2c 0a 09 53 45 54 5f 54 41 50 45 5f 44 52 49 56  ,..SET_TAPE_DRIV
2f30: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  E_INFORMATION = 
2f40: 31 0a 7d 0a 0a 2f 2f 20 53 65 74 54 68 72 65 61  1.}..// SetThrea
2f50: 64 50 72 69 6f 72 69 74 79 28 29 2f 47 65 74 54  dPriority()/GetT
2f60: 68 72 65 61 64 50 72 69 6f 72 69 74 79 28 29 0a  hreadPriority().
2f70: 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 09 54 48  enum : int {..TH
2f80: 52 45 41 44 5f 50 52 49 4f 52 49 54 59 5f 49 44  READ_PRIORITY_ID
2f90: 4c 45 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31  LE          = -1
2fa0: 35 2c 0a 09 54 48 52 45 41 44 5f 50 52 49 4f 52  5,..THREAD_PRIOR
2fb0: 49 54 59 5f 4c 4f 57 45 53 54 20 20 20 20 20 20  ITY_LOWEST      
2fc0: 20 20 3d 20 20 2d 32 2c 0a 09 54 48 52 45 41 44    =  -2,..THREAD
2fd0: 5f 50 52 49 4f 52 49 54 59 5f 42 45 4c 4f 57 5f  _PRIORITY_BELOW_
2fe0: 4e 4f 52 4d 41 4c 20 20 3d 20 20 2d 31 2c 0a 09  NORMAL  =  -1,..
2ff0: 54 48 52 45 41 44 5f 50 52 49 4f 52 49 54 59 5f  THREAD_PRIORITY_
3000: 4e 4f 52 4d 41 4c 20 20 20 20 20 20 20 20 3d 20  NORMAL        = 
3010: 20 20 30 2c 0a 09 54 48 52 45 41 44 5f 50 52 49    0,..THREAD_PRI
3020: 4f 52 49 54 59 5f 41 42 4f 56 45 5f 4e 4f 52 4d  ORITY_ABOVE_NORM
3030: 41 4c 20 20 3d 20 20 20 31 2c 0a 09 54 48 52 45  AL  =   1,..THRE
3040: 41 44 5f 50 52 49 4f 52 49 54 59 5f 48 49 47 48  AD_PRIORITY_HIGH
3050: 45 53 54 20 20 20 20 20 20 20 3d 20 20 20 32 2c  EST       =   2,
3060: 0a 09 54 48 52 45 41 44 5f 50 52 49 4f 52 49 54  ..THREAD_PRIORIT
3070: 59 5f 54 49 4d 45 5f 43 52 49 54 49 43 41 4c 20  Y_TIME_CRITICAL 
3080: 3d 20 20 31 35 2c 0a 09 54 48 52 45 41 44 5f 50  =  15,..THREAD_P
3090: 52 49 4f 52 49 54 59 5f 45 52 52 4f 52 5f 52 45  RIORITY_ERROR_RE
30a0: 54 55 52 4e 20 20 3d 20 32 31 34 37 34 38 33 36  TURN  = 21474836
30b0: 34 37 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  47.}..enum : DWO
30c0: 52 44 20 7b 0a 09 54 49 4d 45 5f 5a 4f 4e 45 5f  RD {..TIME_ZONE_
30d0: 49 44 5f 55 4e 4b 4e 4f 57 4e 2c 0a 09 54 49 4d  ID_UNKNOWN,..TIM
30e0: 45 5f 5a 4f 4e 45 5f 49 44 5f 53 54 41 4e 44 41  E_ZONE_ID_STANDA
30f0: 52 44 2c 0a 09 54 49 4d 45 5f 5a 4f 4e 45 5f 49  RD,..TIME_ZONE_I
3100: 44 5f 44 41 59 4c 49 47 48 54 2c 0a 09 54 49 4d  D_DAYLIGHT,..TIM
3110: 45 5f 5a 4f 4e 45 5f 49 44 5f 49 4e 56 41 4c 49  E_ZONE_ID_INVALI
3120: 44 20 3d 20 30 78 46 46 46 46 46 46 46 46 0a 7d  D = 0xFFFFFFFF.}
3130: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 46  ..const DWORD..F
3140: 53 5f 43 41 53 45 5f 53 45 4e 53 49 54 49 56 45  S_CASE_SENSITIVE
3150: 20 20 20 20 20 20 20 20 20 3d 20 20 20 20 20 31           =     1
3160: 2c 0a 09 46 53 5f 43 41 53 45 5f 49 53 5f 50 52  ,..FS_CASE_IS_PR
3170: 45 53 45 52 56 45 44 20 20 20 20 20 20 3d 20 20  ESERVED      =  
3180: 20 20 20 32 2c 0a 09 46 53 5f 55 4e 49 43 4f 44     2,..FS_UNICOD
3190: 45 5f 53 54 4f 52 45 44 5f 4f 4e 5f 44 49 53 4b  E_STORED_ON_DISK
31a0: 20 3d 20 20 20 20 20 34 2c 0a 09 46 53 5f 50 45   =     4,..FS_PE
31b0: 52 53 49 53 54 45 4e 54 5f 41 43 4c 53 20 20 20  RSISTENT_ACLS   
31c0: 20 20 20 20 20 3d 20 20 20 20 20 38 2c 0a 09 46       =     8,..F
31d0: 53 5f 46 49 4c 45 5f 43 4f 4d 50 52 45 53 53 49  S_FILE_COMPRESSI
31e0: 4f 4e 20 20 20 20 20 20 20 3d 20 20 20 20 31 36  ON       =    16
31f0: 2c 0a 09 46 53 5f 56 4f 4c 5f 49 53 5f 43 4f 4d  ,..FS_VOL_IS_COM
3200: 50 52 45 53 53 45 44 20 20 20 20 20 20 3d 20 33  PRESSED      = 3
3210: 32 37 36 38 3b 0a 0a 2f 2f 20 46 6c 61 67 73 20  2768;..// Flags 
3220: 66 6f 72 20 47 6c 6f 62 61 6c 41 6c 6c 6f 63 0a  for GlobalAlloc.
3230: 63 6f 6e 73 74 20 55 49 4e 54 0a 09 47 4d 45 4d  const UINT..GMEM
3240: 5f 46 49 58 45 44 20 20 20 20 20 20 20 3d 20 30  _FIXED       = 0
3250: 2c 0a 09 47 4d 45 4d 5f 4d 4f 56 45 41 42 4c 45  ,..GMEM_MOVEABLE
3260: 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 47      = 0x0002,..G
3270: 4d 45 4d 5f 5a 45 52 4f 49 4e 49 54 20 20 20 20  MEM_ZEROINIT    
3280: 3d 20 30 78 30 30 34 30 2c 0a 09 47 50 54 52 20  = 0x0040,..GPTR 
3290: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
32a0: 30 30 34 30 2c 0a 09 47 48 4e 44 20 20 20 20 20  0040,..GHND     
32b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 34 32          = 0x0042
32c0: 2c 0a 09 47 4d 45 4d 5f 4d 4f 44 49 46 59 20 20  ,..GMEM_MODIFY  
32d0: 20 20 20 20 3d 20 30 78 30 30 38 30 2c 20 20 2f      = 0x0080,  /
32e0: 2f 20 75 73 65 64 20 6f 6e 6c 79 20 66 6f 72 20  / used only for 
32f0: 47 6c 6f 62 61 6c 52 65 61 6c 6c 6f 63 0a 09 47  GlobalRealloc..G
3300: 4d 45 4d 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20  MEM_VALID_FLAGS 
3310: 3d 20 30 78 37 46 37 32 3b 0a 0a 2f 2b 20 20 2f  = 0x7F72;../+  /
3320: 2f 20 4f 62 73 65 6c 65 74 65 20 66 6c 61 67 73  / Obselete flags
3330: 20 28 57 69 6e 31 36 20 6f 6e 6c 79 29 0a 09 47   (Win16 only)..G
3340: 4d 45 4d 5f 4e 4f 43 4f 4d 50 41 43 54 3d 31 36  MEM_NOCOMPACT=16
3350: 3b 0a 09 47 4d 45 4d 5f 4e 4f 44 49 53 43 41 52  ;..GMEM_NODISCAR
3360: 44 3d 33 32 3b 0a 09 47 4d 45 4d 5f 44 49 53 43  D=32;..GMEM_DISC
3370: 41 52 44 41 42 4c 45 3d 32 35 36 3b 0a 09 47 4d  ARDABLE=256;..GM
3380: 45 4d 5f 4e 4f 54 5f 42 41 4e 4b 45 44 3d 34 30  EM_NOT_BANKED=40
3390: 39 36 3b 0a 09 47 4d 45 4d 5f 4c 4f 57 45 52 3d  96;..GMEM_LOWER=
33a0: 34 30 39 36 3b 0a 09 47 4d 45 4d 5f 53 48 41 52  4096;..GMEM_SHAR
33b0: 45 3d 38 31 39 32 3b 0a 09 47 4d 45 4d 5f 44 44  E=8192;..GMEM_DD
33c0: 45 53 48 41 52 45 3d 38 31 39 32 3b 0a 0a 09 47  ESHARE=8192;...G
33d0: 4d 45 4d 5f 4c 4f 43 4b 43 4f 55 4e 54 3d 32 35  MEM_LOCKCOUNT=25
33e0: 35 3b 0a 0a 2f 2f 20 66 6f 72 20 47 6c 6f 62 61  5;..// for Globa
33f0: 6c 46 6c 61 67 73 28 29 0a 09 47 4d 45 4d 5f 44  lFlags()..GMEM_D
3400: 49 53 43 41 52 44 45 44 20 20 20 20 20 20 3d 20  ISCARDED      = 
3410: 31 36 33 38 34 3b 0a 09 47 4d 45 4d 5f 49 4e 56  16384;..GMEM_INV
3420: 41 4c 49 44 5f 48 41 4e 44 4c 45 20 3d 20 33 32  ALID_HANDLE = 32
3430: 37 36 38 3b 0a 0a 09 47 4d 45 4d 5f 4e 4f 54 49  768;...GMEM_NOTI
3440: 46 59 20 20 20 20 20 20 20 20 20 3d 20 31 36 33  FY         = 163
3450: 38 34 3b 0a 2b 2f 0a 0a 63 6f 6e 73 74 20 55 49  84;.+/..const UI
3460: 4e 54 0a 09 4c 4d 45 4d 5f 46 49 58 45 44 20 20  NT..LMEM_FIXED  
3470: 20 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 4c 4d          = 0,..LM
3480: 45 4d 5f 4d 4f 56 45 41 42 4c 45 20 20 20 20 20  EM_MOVEABLE     
3490: 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 4c 4d 45    = 0x0002,..LME
34a0: 4d 5f 4e 4f 4e 5a 45 52 4f 4c 50 54 52 20 20 20  M_NONZEROLPTR   
34b0: 20 3d 20 30 2c 0a 09 4e 4f 4e 5a 45 52 4f 4c 50   = 0,..NONZEROLP
34c0: 54 52 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a  TR         = 0,.
34d0: 09 4c 4d 45 4d 5f 4e 4f 4e 5a 45 52 4f 4c 48 4e  .LMEM_NONZEROLHN
34e0: 44 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09  D    = 0x0002,..
34f0: 4e 4f 4e 5a 45 52 4f 4c 48 4e 44 20 20 20 20 20  NONZEROLHND     
3500: 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 4c      = 0x0002,..L
3510: 4d 45 4d 5f 44 49 53 43 41 52 44 41 42 4c 45 20  MEM_DISCARDABLE 
3520: 20 20 20 3d 20 30 78 30 46 30 30 2c 0a 09 4c 4d     = 0x0F00,..LM
3530: 45 4d 5f 4e 4f 43 4f 4d 50 41 43 54 20 20 20 20  EM_NOCOMPACT    
3540: 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4c 4d 45    = 0x0010,..LME
3550: 4d 5f 4e 4f 44 49 53 43 41 52 44 20 20 20 20 20  M_NODISCARD     
3560: 20 3d 20 30 78 30 30 32 30 2c 0a 09 4c 4d 45 4d   = 0x0020,..LMEM
3570: 5f 5a 45 52 4f 49 4e 49 54 20 20 20 20 20 20 20  _ZEROINIT       
3580: 3d 20 30 78 30 30 34 30 2c 0a 09 4c 50 54 52 20  = 0x0040,..LPTR 
3590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
35a0: 20 30 78 30 30 34 30 2c 0a 09 4c 48 4e 44 20 20   0x0040,..LHND  
35b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
35c0: 30 78 30 30 34 32 2c 0a 09 4c 4d 45 4d 5f 4d 4f  0x0042,..LMEM_MO
35d0: 44 49 46 59 20 20 20 20 20 20 20 20 20 3d 20 30  DIFY         = 0
35e0: 78 30 30 38 30 2c 0a 09 4c 4d 45 4d 5f 4c 4f 43  x0080,..LMEM_LOC
35f0: 4b 43 4f 55 4e 54 20 20 20 20 20 20 3d 20 30 78  KCOUNT      = 0x
3600: 30 30 46 46 2c 0a 09 4c 4d 45 4d 5f 44 49 53 43  00FF,..LMEM_DISC
3610: 41 52 44 45 44 20 20 20 20 20 20 3d 20 30 78 34  ARDED      = 0x4
3620: 30 30 30 2c 0a 09 4c 4d 45 4d 5f 49 4e 56 41 4c  000,..LMEM_INVAL
3630: 49 44 5f 48 41 4e 44 4c 45 20 3d 20 30 78 38 30  ID_HANDLE = 0x80
3640: 30 30 3b 0a 0a 0a 0a 2f 2f 20 75 73 65 64 20 69  00;....// used i
3650: 6e 20 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f  n EXCEPTION_RECO
3660: 52 44 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  RD.enum : DWORD 
3670: 7b 0a 09 53 54 41 54 55 53 5f 57 41 49 54 5f 30  {..STATUS_WAIT_0
3680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3690: 20 20 20 20 20 20 3d 20 30 2c 0a 09 53 54 41 54        = 0,..STAT
36a0: 55 53 5f 41 42 41 4e 44 4f 4e 45 44 5f 57 41 49  US_ABANDONED_WAI
36b0: 54 5f 30 20 20 20 20 20 20 20 20 20 20 20 20 3d  T_0            =
36c0: 20 30 78 30 30 30 30 30 30 38 30 2c 0a 09 53 54   0x00000080,..ST
36d0: 41 54 55 53 5f 55 53 45 52 5f 41 50 43 20 20 20  ATUS_USER_APC   
36e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36f0: 20 3d 20 30 78 30 30 30 30 30 30 43 30 2c 0a 09   = 0x000000C0,..
3700: 53 54 41 54 55 53 5f 54 49 4d 45 4f 55 54 20 20  STATUS_TIMEOUT  
3710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3720: 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 32 2c     = 0x00000102,
3730: 0a 09 53 54 41 54 55 53 5f 50 45 4e 44 49 4e 47  ..STATUS_PENDING
3740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3750: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30       = 0x0000010
3760: 33 2c 0a 0a 09 53 54 41 54 55 53 5f 53 45 47 4d  3,...STATUS_SEGM
3770: 45 4e 54 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e  ENT_NOTIFICATION
3780: 20 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 30          = 0x4000
3790: 30 30 30 35 2c 0a 09 53 54 41 54 55 53 5f 47 55  0005,..STATUS_GU
37a0: 41 52 44 5f 50 41 47 45 5f 56 49 4f 4c 41 54 49  ARD_PAGE_VIOLATI
37b0: 4f 4e 20 20 20 20 20 20 20 20 3d 20 30 78 38 30  ON        = 0x80
37c0: 30 30 30 30 30 31 2c 0a 09 53 54 41 54 55 53 5f  000001,..STATUS_
37d0: 44 41 54 41 54 59 50 45 5f 4d 49 53 41 4c 49 47  DATATYPE_MISALIG
37e0: 4e 4d 45 4e 54 20 20 20 20 20 20 20 3d 20 30 78  NMENT       = 0x
37f0: 38 30 30 30 30 30 30 32 2c 0a 09 53 54 41 54 55  80000002,..STATU
3800: 53 5f 42 52 45 41 4b 50 4f 49 4e 54 20 20 20 20  S_BREAKPOINT    
3810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
3820: 30 78 38 30 30 30 30 30 30 33 2c 0a 09 53 54 41  0x80000003,..STA
3830: 54 55 53 5f 53 49 4e 47 4c 45 5f 53 54 45 50 20  TUS_SINGLE_STEP 
3840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3850: 3d 20 30 78 38 30 30 30 30 30 30 34 2c 0a 0a 09  = 0x80000004,...
3860: 53 54 41 54 55 53 5f 41 43 43 45 53 53 5f 56 49  STATUS_ACCESS_VI
3870: 4f 4c 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20  OLATION         
3880: 20 20 20 3d 20 30 78 43 30 30 30 30 30 30 35 2c     = 0xC0000005,
3890: 0a 09 53 54 41 54 55 53 5f 49 4e 5f 50 41 47 45  ..STATUS_IN_PAGE
38a0: 5f 45 52 52 4f 52 20 20 20 20 20 20 20 20 20 20  _ERROR          
38b0: 20 20 20 20 20 3d 20 30 78 43 30 30 30 30 30 30       = 0xC000000
38c0: 36 2c 0a 09 53 54 41 54 55 53 5f 49 4e 56 41 4c  6,..STATUS_INVAL
38d0: 49 44 5f 48 41 4e 44 4c 45 20 20 20 20 20 20 20  ID_HANDLE       
38e0: 20 20 20 20 20 20 20 3d 20 30 78 43 30 30 30 30         = 0xC0000
38f0: 30 30 38 2c 0a 0a 09 53 54 41 54 55 53 5f 4e 4f  008,...STATUS_NO
3900: 5f 4d 45 4d 4f 52 59 20 20 20 20 20 20 20 20 20  _MEMORY         
3910: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 43 30            = 0xC0
3920: 30 30 30 30 31 37 2c 0a 09 53 54 41 54 55 53 5f  000017,..STATUS_
3930: 49 4c 4c 45 47 41 4c 5f 49 4e 53 54 52 55 43 54  ILLEGAL_INSTRUCT
3940: 49 4f 4e 20 20 20 20 20 20 20 20 20 3d 20 30 78  ION         = 0x
3950: 43 30 30 30 30 30 31 44 2c 0a 09 53 54 41 54 55  C000001D,..STATU
3960: 53 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41 42 4c 45  S_NONCONTINUABLE
3970: 5f 45 58 43 45 50 54 49 4f 4e 20 20 20 20 3d 20  _EXCEPTION    = 
3980: 30 78 43 30 30 30 30 30 32 35 2c 0a 09 53 54 41  0xC0000025,..STA
3990: 54 55 53 5f 49 4e 56 41 4c 49 44 5f 44 49 53 50  TUS_INVALID_DISP
39a0: 4f 53 49 54 49 4f 4e 20 20 20 20 20 20 20 20 20  OSITION         
39b0: 3d 20 30 78 43 30 30 30 30 30 32 36 2c 0a 09 53  = 0xC0000026,..S
39c0: 54 41 54 55 53 5f 41 52 52 41 59 5f 42 4f 55 4e  TATUS_ARRAY_BOUN
39d0: 44 53 5f 45 58 43 45 45 44 45 44 20 20 20 20 20  DS_EXCEEDED     
39e0: 20 20 3d 20 30 78 43 30 30 30 30 30 38 43 2c 0a    = 0xC000008C,.
39f0: 09 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 44 45  .STATUS_FLOAT_DE
3a00: 4e 4f 52 4d 41 4c 5f 4f 50 45 52 41 4e 44 20 20  NORMAL_OPERAND  
3a10: 20 20 20 20 3d 20 30 78 43 30 30 30 30 30 38 44      = 0xC000008D
3a20: 2c 0a 09 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f  ,..STATUS_FLOAT_
3a30: 44 49 56 49 44 45 5f 42 59 5f 5a 45 52 4f 20 20  DIVIDE_BY_ZERO  
3a40: 20 20 20 20 20 20 3d 20 30 78 43 30 30 30 30 30        = 0xC00000
3a50: 38 45 2c 0a 09 53 54 41 54 55 53 5f 46 4c 4f 41  8E,..STATUS_FLOA
3a60: 54 5f 49 4e 45 58 41 43 54 5f 52 45 53 55 4c 54  T_INEXACT_RESULT
3a70: 20 20 20 20 20 20 20 20 3d 20 30 78 43 30 30 30          = 0xC000
3a80: 30 30 38 46 2c 0a 09 53 54 41 54 55 53 5f 46 4c  008F,..STATUS_FL
3a90: 4f 41 54 5f 49 4e 56 41 4c 49 44 5f 4f 50 45 52  OAT_INVALID_OPER
3aa0: 41 54 49 4f 4e 20 20 20 20 20 3d 20 30 78 43 30  ATION     = 0xC0
3ab0: 30 30 30 30 39 30 2c 0a 09 53 54 41 54 55 53 5f  000090,..STATUS_
3ac0: 46 4c 4f 41 54 5f 4f 56 45 52 46 4c 4f 57 20 20  FLOAT_OVERFLOW  
3ad0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
3ae0: 43 30 30 30 30 30 39 31 2c 0a 09 53 54 41 54 55  C0000091,..STATU
3af0: 53 5f 46 4c 4f 41 54 5f 53 54 41 43 4b 5f 43 48  S_FLOAT_STACK_CH
3b00: 45 43 4b 20 20 20 20 20 20 20 20 20 20 20 3d 20  ECK           = 
3b10: 30 78 43 30 30 30 30 30 39 32 2c 0a 09 53 54 41  0xC0000092,..STA
3b20: 54 55 53 5f 46 4c 4f 41 54 5f 55 4e 44 45 52 46  TUS_FLOAT_UNDERF
3b30: 4c 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20  LOW             
3b40: 3d 20 30 78 43 30 30 30 30 30 39 33 2c 0a 09 53  = 0xC0000093,..S
3b50: 54 41 54 55 53 5f 49 4e 54 45 47 45 52 5f 44 49  TATUS_INTEGER_DI
3b60: 56 49 44 45 5f 42 59 5f 5a 45 52 4f 20 20 20 20  VIDE_BY_ZERO    
3b70: 20 20 3d 20 30 78 43 30 30 30 30 30 39 34 2c 0a    = 0xC0000094,.
3b80: 09 53 54 41 54 55 53 5f 49 4e 54 45 47 45 52 5f  .STATUS_INTEGER_
3b90: 4f 56 45 52 46 4c 4f 57 20 20 20 20 20 20 20 20  OVERFLOW        
3ba0: 20 20 20 20 3d 20 30 78 43 30 30 30 30 30 39 35      = 0xC0000095
3bb0: 2c 0a 09 53 54 41 54 55 53 5f 50 52 49 56 49 4c  ,..STATUS_PRIVIL
3bc0: 45 47 45 44 5f 49 4e 53 54 52 55 43 54 49 4f 4e  EGED_INSTRUCTION
3bd0: 20 20 20 20 20 20 3d 20 30 78 43 30 30 30 30 30        = 0xC00000
3be0: 39 36 2c 0a 09 53 54 41 54 55 53 5f 53 54 41 43  96,..STATUS_STAC
3bf0: 4b 5f 4f 56 45 52 46 4c 4f 57 20 20 20 20 20 20  K_OVERFLOW      
3c00: 20 20 20 20 20 20 20 20 3d 20 30 78 43 30 30 30          = 0xC000
3c10: 30 30 46 44 2c 0a 09 53 54 41 54 55 53 5f 43 4f  00FD,..STATUS_CO
3c20: 4e 54 52 4f 4c 5f 43 5f 45 58 49 54 20 20 20 20  NTROL_C_EXIT    
3c30: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 43 30            = 0xC0
3c40: 30 30 30 31 33 41 2c 0a 09 53 54 41 54 55 53 5f  00013A,..STATUS_
3c50: 44 4c 4c 5f 49 4e 49 54 5f 46 41 49 4c 45 44 20  DLL_INIT_FAILED 
3c60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
3c70: 43 30 30 30 30 31 34 32 2c 0a 09 53 54 41 54 55  C0000142,..STATU
3c80: 53 5f 44 4c 4c 5f 49 4e 49 54 5f 46 41 49 4c 45  S_DLL_INIT_FAILE
3c90: 44 5f 4c 4f 47 4f 46 46 20 20 20 20 20 20 3d 20  D_LOGOFF      = 
3ca0: 30 78 43 30 30 30 30 32 36 42 2c 0a 0a 09 43 4f  0xC000026B,...CO
3cb0: 4e 54 52 4f 4c 5f 43 5f 45 58 49 54 20 20 20 20  NTROL_C_EXIT    
3cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3cd0: 20 3d 20 53 54 41 54 55 53 5f 43 4f 4e 54 52 4f   = STATUS_CONTRO
3ce0: 4c 5f 43 5f 45 58 49 54 2c 0a 0a 09 45 58 43 45  L_C_EXIT,...EXCE
3cf0: 50 54 49 4f 4e 5f 41 43 43 45 53 53 5f 56 49 4f  PTION_ACCESS_VIO
3d00: 4c 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20 3d  LATION         =
3d10: 20 53 54 41 54 55 53 5f 41 43 43 45 53 53 5f 56   STATUS_ACCESS_V
3d20: 49 4f 4c 41 54 49 4f 4e 2c 0a 09 45 58 43 45 50  IOLATION,..EXCEP
3d30: 54 49 4f 4e 5f 44 41 54 41 54 59 50 45 5f 4d 49  TION_DATATYPE_MI
3d40: 53 41 4c 49 47 4e 4d 45 4e 54 20 20 20 20 3d 20  SALIGNMENT    = 
3d50: 53 54 41 54 55 53 5f 44 41 54 41 54 59 50 45 5f  STATUS_DATATYPE_
3d60: 4d 49 53 41 4c 49 47 4e 4d 45 4e 54 2c 0a 09 45  MISALIGNMENT,..E
3d70: 58 43 45 50 54 49 4f 4e 5f 42 52 45 41 4b 50 4f  XCEPTION_BREAKPO
3d80: 49 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20  INT             
3d90: 20 20 3d 20 53 54 41 54 55 53 5f 42 52 45 41 4b    = STATUS_BREAK
3da0: 50 4f 49 4e 54 2c 0a 09 45 58 43 45 50 54 49 4f  POINT,..EXCEPTIO
3db0: 4e 5f 53 49 4e 47 4c 45 5f 53 54 45 50 20 20 20  N_SINGLE_STEP   
3dc0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 53 54 41             = STA
3dd0: 54 55 53 5f 53 49 4e 47 4c 45 5f 53 54 45 50 2c  TUS_SINGLE_STEP,
3de0: 0a 09 45 58 43 45 50 54 49 4f 4e 5f 41 52 52 41  ..EXCEPTION_ARRA
3df0: 59 5f 42 4f 55 4e 44 53 5f 45 58 43 45 45 44 45  Y_BOUNDS_EXCEEDE
3e00: 44 20 20 20 20 3d 20 53 54 41 54 55 53 5f 41 52  D    = STATUS_AR
3e10: 52 41 59 5f 42 4f 55 4e 44 53 5f 45 58 43 45 45  RAY_BOUNDS_EXCEE
3e20: 44 45 44 2c 0a 09 45 58 43 45 50 54 49 4f 4e 5f  DED,..EXCEPTION_
3e30: 46 4c 54 5f 44 45 4e 4f 52 4d 41 4c 5f 4f 50 45  FLT_DENORMAL_OPE
3e40: 52 41 4e 44 20 20 20 20 20 3d 20 53 54 41 54 55  RAND     = STATU
3e50: 53 5f 46 4c 4f 41 54 5f 44 45 4e 4f 52 4d 41 4c  S_FLOAT_DENORMAL
3e60: 5f 4f 50 45 52 41 4e 44 2c 0a 09 45 58 43 45 50  _OPERAND,..EXCEP
3e70: 54 49 4f 4e 5f 46 4c 54 5f 44 49 56 49 44 45 5f  TION_FLT_DIVIDE_
3e80: 42 59 5f 5a 45 52 4f 20 20 20 20 20 20 20 3d 20  BY_ZERO       = 
3e90: 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f 44 49 56  STATUS_FLOAT_DIV
3ea0: 49 44 45 5f 42 59 5f 5a 45 52 4f 2c 0a 09 45 58  IDE_BY_ZERO,..EX
3eb0: 43 45 50 54 49 4f 4e 5f 46 4c 54 5f 49 4e 45 58  CEPTION_FLT_INEX
3ec0: 41 43 54 5f 52 45 53 55 4c 54 20 20 20 20 20 20  ACT_RESULT      
3ed0: 20 3d 20 53 54 41 54 55 53 5f 46 4c 4f 41 54 5f   = STATUS_FLOAT_
3ee0: 49 4e 45 58 41 43 54 5f 52 45 53 55 4c 54 2c 0a  INEXACT_RESULT,.
3ef0: 09 45 58 43 45 50 54 49 4f 4e 5f 46 4c 54 5f 49  .EXCEPTION_FLT_I
3f00: 4e 56 41 4c 49 44 5f 4f 50 45 52 41 54 49 4f 4e  NVALID_OPERATION
3f10: 20 20 20 20 3d 20 53 54 41 54 55 53 5f 46 4c 4f      = STATUS_FLO
3f20: 41 54 5f 49 4e 56 41 4c 49 44 5f 4f 50 45 52 41  AT_INVALID_OPERA
3f30: 54 49 4f 4e 2c 0a 09 45 58 43 45 50 54 49 4f 4e  TION,..EXCEPTION
3f40: 5f 46 4c 54 5f 4f 56 45 52 46 4c 4f 57 20 20 20  _FLT_OVERFLOW   
3f50: 20 20 20 20 20 20 20 20 20 20 3d 20 53 54 41 54            = STAT
3f60: 55 53 5f 46 4c 4f 41 54 5f 4f 56 45 52 46 4c 4f  US_FLOAT_OVERFLO
3f70: 57 2c 0a 09 45 58 43 45 50 54 49 4f 4e 5f 46 4c  W,..EXCEPTION_FL
3f80: 54 5f 53 54 41 43 4b 5f 43 48 45 43 4b 20 20 20  T_STACK_CHECK   
3f90: 20 20 20 20 20 20 20 3d 20 53 54 41 54 55 53 5f         = STATUS_
3fa0: 46 4c 4f 41 54 5f 53 54 41 43 4b 5f 43 48 45 43  FLOAT_STACK_CHEC
3fb0: 4b 2c 0a 09 45 58 43 45 50 54 49 4f 4e 5f 46 4c  K,..EXCEPTION_FL
3fc0: 54 5f 55 4e 44 45 52 46 4c 4f 57 20 20 20 20 20  T_UNDERFLOW     
3fd0: 20 20 20 20 20 20 20 3d 20 53 54 41 54 55 53 5f         = STATUS_
3fe0: 46 4c 4f 41 54 5f 55 4e 44 45 52 46 4c 4f 57 2c  FLOAT_UNDERFLOW,
3ff0: 0a 09 45 58 43 45 50 54 49 4f 4e 5f 49 4e 54 5f  ..EXCEPTION_INT_
4000: 44 49 56 49 44 45 5f 42 59 5f 5a 45 52 4f 20 20  DIVIDE_BY_ZERO  
4010: 20 20 20 20 20 3d 20 53 54 41 54 55 53 5f 49 4e       = STATUS_IN
4020: 54 45 47 45 52 5f 44 49 56 49 44 45 5f 42 59 5f  TEGER_DIVIDE_BY_
4030: 5a 45 52 4f 2c 0a 09 45 58 43 45 50 54 49 4f 4e  ZERO,..EXCEPTION
4040: 5f 49 4e 54 5f 4f 56 45 52 46 4c 4f 57 20 20 20  _INT_OVERFLOW   
4050: 20 20 20 20 20 20 20 20 20 20 3d 20 53 54 41 54            = STAT
4060: 55 53 5f 49 4e 54 45 47 45 52 5f 4f 56 45 52 46  US_INTEGER_OVERF
4070: 4c 4f 57 2c 0a 09 45 58 43 45 50 54 49 4f 4e 5f  LOW,..EXCEPTION_
4080: 50 52 49 56 5f 49 4e 53 54 52 55 43 54 49 4f 4e  PRIV_INSTRUCTION
4090: 20 20 20 20 20 20 20 20 20 3d 20 53 54 41 54 55           = STATU
40a0: 53 5f 50 52 49 56 49 4c 45 47 45 44 5f 49 4e 53  S_PRIVILEGED_INS
40b0: 54 52 55 43 54 49 4f 4e 2c 0a 09 45 58 43 45 50  TRUCTION,..EXCEP
40c0: 54 49 4f 4e 5f 49 4e 5f 50 41 47 45 5f 45 52 52  TION_IN_PAGE_ERR
40d0: 4f 52 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  OR            = 
40e0: 53 54 41 54 55 53 5f 49 4e 5f 50 41 47 45 5f 45  STATUS_IN_PAGE_E
40f0: 52 52 4f 52 2c 0a 09 45 58 43 45 50 54 49 4f 4e  RROR,..EXCEPTION
4100: 5f 49 4c 4c 45 47 41 4c 5f 49 4e 53 54 52 55 43  _ILLEGAL_INSTRUC
4110: 54 49 4f 4e 20 20 20 20 20 20 3d 20 53 54 41 54  TION      = STAT
4120: 55 53 5f 49 4c 4c 45 47 41 4c 5f 49 4e 53 54 52  US_ILLEGAL_INSTR
4130: 55 43 54 49 4f 4e 2c 0a 09 45 58 43 45 50 54 49  UCTION,..EXCEPTI
4140: 4f 4e 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41 42 4c  ON_NONCONTINUABL
4150: 45 5f 45 58 43 45 50 54 49 4f 4e 20 3d 20 53 54  E_EXCEPTION = ST
4160: 41 54 55 53 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41  ATUS_NONCONTINUA
4170: 42 4c 45 5f 45 58 43 45 50 54 49 4f 4e 2c 0a 09  BLE_EXCEPTION,..
4180: 45 58 43 45 50 54 49 4f 4e 5f 53 54 41 43 4b 5f  EXCEPTION_STACK_
4190: 4f 56 45 52 46 4c 4f 57 20 20 20 20 20 20 20 20  OVERFLOW        
41a0: 20 20 20 3d 20 53 54 41 54 55 53 5f 53 54 41 43     = STATUS_STAC
41b0: 4b 5f 4f 56 45 52 46 4c 4f 57 2c 0a 09 45 58 43  K_OVERFLOW,..EXC
41c0: 45 50 54 49 4f 4e 5f 49 4e 56 41 4c 49 44 5f 44  EPTION_INVALID_D
41d0: 49 53 50 4f 53 49 54 49 4f 4e 20 20 20 20 20 20  ISPOSITION      
41e0: 3d 20 53 54 41 54 55 53 5f 49 4e 56 41 4c 49 44  = STATUS_INVALID
41f0: 5f 44 49 53 50 4f 53 49 54 49 4f 4e 2c 0a 09 45  _DISPOSITION,..E
4200: 58 43 45 50 54 49 4f 4e 5f 47 55 41 52 44 5f 50  XCEPTION_GUARD_P
4210: 41 47 45 20 20 20 20 20 20 20 20 20 20 20 20 20  AGE             
4220: 20 20 3d 20 53 54 41 54 55 53 5f 47 55 41 52 44    = STATUS_GUARD
4230: 5f 50 41 47 45 5f 56 49 4f 4c 41 54 49 4f 4e 2c  _PAGE_VIOLATION,
4240: 0a 09 45 58 43 45 50 54 49 4f 4e 5f 49 4e 56 41  ..EXCEPTION_INVA
4250: 4c 49 44 5f 48 41 4e 44 4c 45 20 20 20 20 20 20  LID_HANDLE      
4260: 20 20 20 20 20 3d 20 53 54 41 54 55 53 5f 49 4e       = STATUS_IN
4270: 56 41 4c 49 44 5f 48 41 4e 44 4c 45 0a 7d 0a 0a  VALID_HANDLE.}..
4280: 2f 2f 20 66 6f 72 20 50 52 4f 43 45 53 53 5f 48  // for PROCESS_H
4290: 45 41 50 5f 45 4e 54 52 59 0a 63 6f 6e 73 74 20  EAP_ENTRY.const 
42a0: 57 4f 52 44 0a 09 50 52 4f 43 45 53 53 5f 48 45  WORD..PROCESS_HE
42b0: 41 50 5f 52 45 47 49 4f 4e 20 20 20 20 20 20 20  AP_REGION       
42c0: 20 20 20 20 20 3d 20 20 31 2c 0a 09 50 52 4f 43       =  1,..PROC
42d0: 45 53 53 5f 48 45 41 50 5f 55 4e 43 4f 4d 4d 49  ESS_HEAP_UNCOMMI
42e0: 54 54 45 44 5f 52 41 4e 47 45 20 3d 20 20 32 2c  TTED_RANGE =  2,
42f0: 0a 09 50 52 4f 43 45 53 53 5f 48 45 41 50 5f 45  ..PROCESS_HEAP_E
4300: 4e 54 52 59 5f 42 55 53 59 20 20 20 20 20 20 20  NTRY_BUSY       
4310: 20 3d 20 20 34 2c 0a 09 50 52 4f 43 45 53 53 5f   =  4,..PROCESS_
4320: 48 45 41 50 5f 45 4e 54 52 59 5f 4d 4f 56 45 41  HEAP_ENTRY_MOVEA
4330: 42 4c 45 20 20 20 20 3d 20 31 36 2c 0a 09 50 52  BLE    = 16,..PR
4340: 4f 43 45 53 53 5f 48 45 41 50 5f 45 4e 54 52 59  OCESS_HEAP_ENTRY
4350: 5f 44 44 45 53 48 41 52 45 20 20 20 20 3d 20 33  _DDESHARE    = 3
4360: 32 3b 0a 0a 2f 2f 20 66 6f 72 20 4c 6f 61 64 4c  2;..// for LoadL
4370: 69 62 72 61 72 79 45 78 28 29 0a 63 6f 6e 73 74  ibraryEx().const
4380: 20 44 57 4f 52 44 0a 09 44 4f 4e 54 5f 52 45 53   DWORD..DONT_RES
4390: 4f 4c 56 45 5f 44 4c 4c 5f 52 45 46 45 52 45 4e  OLVE_DLL_REFEREN
43a0: 43 45 53 20 20 20 3d 20 30 78 30 31 2c 20 2f 2f  CES   = 0x01, //
43b0: 20 6e 6f 74 20 66 6f 72 20 57 69 6e 4d 45 20 61   not for WinME a
43c0: 6e 64 20 65 61 72 6c 69 65 72 0a 09 4c 4f 41 44  nd earlier..LOAD
43d0: 5f 4c 49 42 52 41 52 59 5f 41 53 5f 44 41 54 41  _LIBRARY_AS_DATA
43e0: 46 49 4c 45 20 20 20 20 20 20 3d 20 30 78 30 32  FILE      = 0x02
43f0: 2c 0a 09 4c 4f 41 44 5f 57 49 54 48 5f 41 4c 54  ,..LOAD_WITH_ALT
4400: 45 52 45 44 5f 53 45 41 52 43 48 5f 50 41 54 48  ERED_SEARCH_PATH
4410: 20 3d 20 30 78 30 38 2c 0a 09 4c 4f 41 44 5f 49   = 0x08,..LOAD_I
4420: 47 4e 4f 52 45 5f 43 4f 44 45 5f 41 55 54 48 5a  GNORE_CODE_AUTHZ
4430: 5f 4c 45 56 45 4c 20 20 3d 20 30 78 31 30 3b 20  _LEVEL  = 0x10; 
4440: 2f 2f 20 6f 6e 6c 79 20 66 6f 72 20 58 50 20 61  // only for XP a
4450: 6e 64 20 6c 61 74 65 72 0a 0a 2f 2f 20 66 6f 72  nd later..// for
4460: 20 4c 6f 63 6b 46 69 6c 65 28 29 0a 63 6f 6e 73   LockFile().cons
4470: 74 20 44 57 4f 52 44 0a 09 4c 4f 43 4b 46 49 4c  t DWORD..LOCKFIL
4480: 45 5f 46 41 49 4c 5f 49 4d 4d 45 44 49 41 54 45  E_FAIL_IMMEDIATE
4490: 4c 59 20 3d 20 31 2c 0a 09 4c 4f 43 4b 46 49 4c  LY = 1,..LOCKFIL
44a0: 45 5f 45 58 43 4c 55 53 49 56 45 5f 4c 4f 43 4b  E_EXCLUSIVE_LOCK
44b0: 20 20 20 3d 20 32 3b 0a 0a 63 6f 6e 73 74 20 4d     = 2;..const M
44c0: 41 58 49 4d 55 4d 5f 57 41 49 54 5f 4f 42 4a 45  AXIMUM_WAIT_OBJE
44d0: 43 54 53 20 20 3d 20 36 34 3b 0a 63 6f 6e 73 74  CTS  = 64;.const
44e0: 20 4d 41 58 49 4d 55 4d 5f 53 55 53 50 45 4e 44   MAXIMUM_SUSPEND
44f0: 5f 43 4f 55 4e 54 20 3d 20 30 78 37 46 3b 0a 0a  _COUNT = 0x7F;..
4500: 63 6f 6e 73 74 20 57 41 49 54 5f 4f 42 4a 45 43  const WAIT_OBJEC
4510: 54 5f 30 20 20 20 20 3d 20 30 3b 0a 63 6f 6e 73  T_0    = 0;.cons
4520: 74 20 57 41 49 54 5f 41 42 41 4e 44 4f 4e 45 44  t WAIT_ABANDONED
4530: 5f 30 20 3d 20 31 32 38 3b 0a 0a 2f 2f 63 6f 6e  _0 = 128;..//con
4540: 73 74 20 57 41 49 54 5f 54 49 4d 45 4f 55 54 3d  st WAIT_TIMEOUT=
4550: 32 35 38 3b 20 20 2f 2f 20 61 6c 73 6f 20 69 6e  258;  // also in
4560: 20 77 69 6e 65 72 72 6f 72 2e 68 0a 0a 65 6e 75   winerror.h..enu
4570: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 57 41 49  m : DWORD {..WAI
4580: 54 5f 49 4f 5f 43 4f 4d 50 4c 45 54 49 4f 4e 20  T_IO_COMPLETION 
4590: 3d 20 30 78 30 30 30 30 30 30 43 30 2c 0a 09 57  = 0x000000C0,..W
45a0: 41 49 54 5f 41 42 41 4e 44 4f 4e 45 44 20 20 20  AIT_ABANDONED   
45b0: 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c 0a    = 0x00000080,.
45c0: 09 57 41 49 54 5f 46 41 49 4c 45 44 20 20 20 20  .WAIT_FAILED    
45d0: 20 20 20 20 3d 20 30 78 46 46 46 46 46 46 46 46      = 0xFFFFFFFF
45e0: 0a 7d 0a 0a 2f 2f 20 50 75 72 67 65 43 6f 6d 6d  .}..// PurgeComm
45f0: 28 29 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09  ().const DWORD..
4600: 50 55 52 47 45 5f 54 58 41 42 4f 52 54 20 3d 20  PURGE_TXABORT = 
4610: 31 2c 0a 09 50 55 52 47 45 5f 52 58 41 42 4f 52  1,..PURGE_RXABOR
4620: 54 20 3d 20 32 2c 0a 09 50 55 52 47 45 5f 54 58  T = 2,..PURGE_TX
4630: 43 4c 45 41 52 20 3d 20 34 2c 0a 09 50 55 52 47  CLEAR = 4,..PURG
4640: 45 5f 52 58 43 4c 45 41 52 20 3d 20 38 3b 0a 0a  E_RXCLEAR = 8;..
4650: 2f 2f 20 52 65 61 64 45 76 65 6e 74 4c 6f 67 28  // ReadEventLog(
4660: 29 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 45  ).const DWORD..E
4670: 56 45 4e 54 4c 4f 47 5f 53 45 51 55 45 4e 54 49  VENTLOG_SEQUENTI
4680: 41 4c 5f 52 45 41 44 20 3d 20 31 2c 0a 09 45 56  AL_READ = 1,..EV
4690: 45 4e 54 4c 4f 47 5f 53 45 45 4b 5f 52 45 41 44  ENTLOG_SEEK_READ
46a0: 20 20 20 20 20 20 20 3d 20 32 2c 0a 09 45 56 45         = 2,..EVE
46b0: 4e 54 4c 4f 47 5f 46 4f 52 57 41 52 44 53 5f 52  NTLOG_FORWARDS_R
46c0: 45 41 44 20 20 20 3d 20 34 2c 0a 09 45 56 45 4e  EAD   = 4,..EVEN
46d0: 54 4c 4f 47 5f 42 41 43 4b 57 41 52 44 53 5f 52  TLOG_BACKWARDS_R
46e0: 45 41 44 20 20 3d 20 38 3b 0a 0a 2f 2f 20 52 65  EAD  = 8;..// Re
46f0: 70 6f 72 74 45 76 65 6e 74 28 29 0a 65 6e 75 6d  portEvent().enum
4700: 20 3a 20 57 4f 52 44 20 7b 0a 09 45 56 45 4e 54   : WORD {..EVENT
4710: 4c 4f 47 5f 53 55 43 43 45 53 53 20 20 20 20 20  LOG_SUCCESS     
4720: 20 20 20 20 20 3d 20 30 2c 0a 09 45 56 45 4e 54       = 0,..EVENT
4730: 4c 4f 47 5f 45 52 52 4f 52 5f 54 59 50 45 20 20  LOG_ERROR_TYPE  
4740: 20 20 20 20 20 3d 20 31 2c 0a 09 45 56 45 4e 54       = 1,..EVENT
4750: 4c 4f 47 5f 57 41 52 4e 49 4e 47 5f 54 59 50 45  LOG_WARNING_TYPE
4760: 20 20 20 20 20 3d 20 32 2c 0a 09 45 56 45 4e 54       = 2,..EVENT
4770: 4c 4f 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  LOG_INFORMATION_
4780: 54 59 50 45 20 3d 20 34 2c 0a 09 45 56 45 4e 54  TYPE = 4,..EVENT
4790: 4c 4f 47 5f 41 55 44 49 54 5f 53 55 43 43 45 53  LOG_AUDIT_SUCCES
47a0: 53 20 20 20 20 3d 20 38 2c 0a 09 45 56 45 4e 54  S    = 8,..EVENT
47b0: 4c 4f 47 5f 41 55 44 49 54 5f 46 41 49 4c 55 52  LOG_AUDIT_FAILUR
47c0: 45 20 20 20 20 3d 20 31 36 0a 7d 0a 0a 2f 2f 20  E    = 16.}..// 
47d0: 46 6f 72 6d 61 74 4d 65 73 73 61 67 65 28 29 0a  FormatMessage().
47e0: 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 46 4f 52  const DWORD..FOR
47f0: 4d 41 54 5f 4d 45 53 53 41 47 45 5f 41 4c 4c 4f  MAT_MESSAGE_ALLO
4800: 43 41 54 45 5f 42 55 46 46 45 52 20 3d 20 30 78  CATE_BUFFER = 0x
4810: 30 31 30 30 2c 0a 09 46 4f 52 4d 41 54 5f 4d 45  0100,..FORMAT_ME
4820: 53 53 41 47 45 5f 49 47 4e 4f 52 45 5f 49 4e 53  SSAGE_IGNORE_INS
4830: 45 52 54 53 20 20 3d 20 30 78 30 32 30 30 2c 0a  ERTS  = 0x0200,.
4840: 09 46 4f 52 4d 41 54 5f 4d 45 53 53 41 47 45 5f  .FORMAT_MESSAGE_
4850: 46 52 4f 4d 5f 53 54 52 49 4e 47 20 20 20 20 20  FROM_STRING     
4860: 3d 20 30 78 30 34 30 30 2c 0a 09 46 4f 52 4d 41  = 0x0400,..FORMA
4870: 54 5f 4d 45 53 53 41 47 45 5f 46 52 4f 4d 5f 48  T_MESSAGE_FROM_H
4880: 4d 4f 44 55 4c 45 20 20 20 20 3d 20 30 78 30 38  MODULE    = 0x08
4890: 30 30 2c 0a 09 46 4f 52 4d 41 54 5f 4d 45 53 53  00,..FORMAT_MESS
48a0: 41 47 45 5f 46 52 4f 4d 5f 53 59 53 54 45 4d 20  AGE_FROM_SYSTEM 
48b0: 20 20 20 20 3d 20 30 78 31 30 30 30 2c 0a 09 46      = 0x1000,..F
48c0: 4f 52 4d 41 54 5f 4d 45 53 53 41 47 45 5f 41 52  ORMAT_MESSAGE_AR
48d0: 47 55 4d 45 4e 54 5f 41 52 52 41 59 20 20 3d 20  GUMENT_ARRAY  = 
48e0: 30 78 32 30 30 30 3b 0a 0a 63 6f 6e 73 74 20 44  0x2000;..const D
48f0: 57 4f 52 44 20 46 4f 52 4d 41 54 5f 4d 45 53 53  WORD FORMAT_MESS
4900: 41 47 45 5f 4d 41 58 5f 57 49 44 54 48 5f 4d 41  AGE_MAX_WIDTH_MA
4910: 53 4b 20 3d 20 32 35 35 3b 0a 0a 2f 2f 20 61 6c  SK = 255;..// al
4920: 73 6f 20 69 6e 20 64 64 6b 2f 6e 74 61 70 69 2e  so in ddk/ntapi.
4930: 68 0a 2f 2f 20 54 6f 20 72 65 73 74 6f 72 65 20  h.// To restore 
4940: 64 65 66 61 75 6c 74 20 65 72 72 6f 72 20 6d 6f  default error mo
4950: 64 65 2c 20 63 61 6c 6c 20 53 65 74 45 72 72 6f  de, call SetErro
4960: 72 4d 6f 64 65 28 30 29 0a 65 6e 75 6d 20 7b 0a  rMode(0).enum {.
4970: 09 53 45 4d 5f 46 41 49 4c 43 52 49 54 49 43 41  .SEM_FAILCRITICA
4980: 4c 45 52 52 4f 52 53 20 20 20 20 20 3d 20 30 78  LERRORS     = 0x
4990: 30 30 30 31 2c 0a 09 53 45 4d 5f 4e 4f 47 50 46  0001,..SEM_NOGPF
49a0: 41 55 4c 54 45 52 52 4f 52 42 4f 58 20 20 20 20  AULTERRORBOX    
49b0: 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 53 45 4d    = 0x0002,..SEM
49c0: 5f 4e 4f 41 4c 49 47 4e 4d 45 4e 54 46 41 55 4c  _NOALIGNMENTFAUL
49d0: 54 45 58 43 45 50 54 20 3d 20 30 78 30 30 30 34  TEXCEPT = 0x0004
49e0: 2c 0a 09 53 45 4d 5f 4e 4f 4f 50 45 4e 46 49 4c  ,..SEM_NOOPENFIL
49f0: 45 45 52 52 4f 52 42 4f 58 20 20 20 20 20 3d 20  EERRORBOX     = 
4a00: 30 78 38 30 30 30 0a 7d 0a 2f 2f 20 65 6e 64 20  0x8000.}.// end 
4a10: 6e 74 61 70 69 2e 68 0a 0a 65 6e 75 6d 20 7b 0a  ntapi.h..enum {.
4a20: 09 53 4c 45 5f 45 52 52 4f 52 20 3d 20 31 2c 0a  .SLE_ERROR = 1,.
4a30: 09 53 4c 45 5f 4d 49 4e 4f 52 45 52 52 4f 52 2c  .SLE_MINORERROR,
4a40: 0a 09 53 4c 45 5f 57 41 52 4e 49 4e 47 0a 7d 0a  ..SLE_WARNING.}.
4a50: 0a 63 6f 6e 73 74 20 53 48 55 54 44 4f 57 4e 5f  .const SHUTDOWN_
4a60: 4e 4f 52 45 54 52 59 20 3d 20 31 3b 0a 0a 2f 2f  NORETRY = 1;..//
4a70: 20 52 65 74 75 72 6e 20 74 79 70 65 20 66 6f 72   Return type for
4a80: 20 65 78 63 65 70 74 69 6f 6e 20 66 69 6c 74 65   exception filte
4a90: 72 73 2e 0a 65 6e 75 6d 20 3a 20 4c 4f 4e 47 20  rs..enum : LONG 
4aa0: 7b 0a 09 45 58 43 45 50 54 49 4f 4e 5f 45 58 45  {..EXCEPTION_EXE
4ab0: 43 55 54 45 5f 48 41 4e 44 4c 45 52 20 20 20 20  CUTE_HANDLER    
4ac0: 3d 20 20 31 2c 0a 09 45 58 43 45 50 54 49 4f 4e  =  1,..EXCEPTION
4ad0: 5f 43 4f 4e 54 49 4e 55 45 5f 45 58 45 43 55 54  _CONTINUE_EXECUT
4ae0: 49 4f 4e 20 3d 20 2d 31 2c 0a 09 45 58 43 45 50  ION = -1,..EXCEP
4af0: 54 49 4f 4e 5f 43 4f 4e 54 49 4e 55 45 5f 53 45  TION_CONTINUE_SE
4b00: 41 52 43 48 20 20 20 20 3d 20 20 30 0a 7d 0a 0a  ARCH    =  0.}..
4b10: 65 6e 75 6d 20 20 3a 20 41 54 4f 4d 20 7b 0a 09  enum  : ATOM {..
4b20: 4d 41 58 49 4e 54 41 54 4f 4d 20 20 20 3d 20 30  MAXINTATOM   = 0
4b30: 78 43 30 30 30 2c 0a 09 49 4e 56 41 4c 49 44 5f  xC000,..INVALID_
4b40: 41 54 4f 4d 20 3d 20 30 0a 7d 0a 0a 63 6f 6e 73  ATOM = 0.}..cons
4b50: 74 20 49 47 4e 4f 52 45 20 20 20 3d 20 30 3b 0a  t IGNORE   = 0;.
4b60: 63 6f 6e 73 74 20 49 4e 46 49 4e 49 54 45 20 3d  const INFINITE =
4b70: 20 30 78 46 46 46 46 46 46 46 46 3b 0a 0a 2f 2f   0xFFFFFFFF;..//
4b80: 20 45 73 63 61 70 65 43 6f 6d 6d 46 75 6e 63 74   EscapeCommFunct
4b90: 69 6f 6e 28 29 0a 65 6e 75 6d 20 7b 0a 09 53 45  ion().enum {..SE
4ba0: 54 58 4f 46 46 20 20 20 20 3d 20 31 2c 0a 09 53  TXOFF    = 1,..S
4bb0: 45 54 58 4f 4e 2c 0a 09 53 45 54 52 54 53 2c 0a  ETXON,..SETRTS,.
4bc0: 09 43 4c 52 52 54 53 2c 0a 09 53 45 54 44 54 52  .CLRRTS,..SETDTR
4bd0: 2c 0a 09 43 4c 52 44 54 52 2c 20 2f 2f 20 3d 20  ,..CLRDTR, // = 
4be0: 36 0a 09 53 45 54 42 52 45 41 4b 20 20 20 3d 20  6..SETBREAK   = 
4bf0: 38 2c 0a 09 43 4c 52 42 52 45 41 4b 20 20 20 3d  8,..CLRBREAK   =
4c00: 20 39 0a 7d 0a 0a 0a 2f 2f 20 66 6f 72 20 53 65   9.}...// for Se
4c10: 74 43 6f 6d 6d 4d 61 73 6b 28 29 0a 63 6f 6e 73  tCommMask().cons
4c20: 74 20 44 57 4f 52 44 0a 09 45 56 5f 52 58 43 48  t DWORD..EV_RXCH
4c30: 41 52 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09  AR   = 0x0001,..
4c40: 45 56 5f 52 58 46 4c 41 47 20 20 20 3d 20 30 78  EV_RXFLAG   = 0x
4c50: 30 30 30 32 2c 0a 09 45 56 5f 54 58 45 4d 50 54  0002,..EV_TXEMPT
4c60: 59 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 45 56  Y  = 0x0004,..EV
4c70: 5f 43 54 53 20 20 20 20 20 20 3d 20 30 78 30 30  _CTS      = 0x00
4c80: 30 38 2c 0a 09 45 56 5f 44 53 52 20 20 20 20 20  08,..EV_DSR     
4c90: 20 3d 20 30 78 30 30 31 30 2c 0a 09 45 56 5f 52   = 0x0010,..EV_R
4ca0: 4c 53 44 20 20 20 20 20 3d 20 30 78 30 30 32 30  LSD     = 0x0020
4cb0: 2c 0a 09 45 56 5f 42 52 45 41 4b 20 20 20 20 3d  ,..EV_BREAK    =
4cc0: 20 30 78 30 30 34 30 2c 0a 09 45 56 5f 45 52 52   0x0040,..EV_ERR
4cd0: 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0a        = 0x0080,.
4ce0: 09 45 56 5f 52 49 4e 47 20 20 20 20 20 3d 20 30  .EV_RING     = 0
4cf0: 78 30 31 30 30 2c 0a 09 45 56 5f 50 45 52 52 20  x0100,..EV_PERR 
4d00: 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a 09 45      = 0x0200,..E
4d10: 56 5f 52 58 38 30 46 55 4c 4c 20 3d 20 30 78 30  V_RX80FULL = 0x0
4d20: 34 30 30 2c 0a 09 45 56 5f 45 56 45 4e 54 31 20  400,..EV_EVENT1 
4d30: 20 20 3d 20 30 78 30 38 30 30 2c 0a 09 45 56 5f    = 0x0800,..EV_
4d40: 45 56 45 4e 54 32 20 20 20 3d 20 30 78 31 30 30  EVENT2   = 0x100
4d50: 30 3b 0a 0a 2f 2f 20 47 65 74 43 6f 6d 6d 4d 6f  0;..// GetCommMo
4d60: 64 65 6d 53 74 61 74 75 73 28 29 0a 63 6f 6e 73  demStatus().cons
4d70: 74 20 44 57 4f 52 44 0a 09 4d 53 5f 43 54 53 5f  t DWORD..MS_CTS_
4d80: 4f 4e 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4d  ON  = 0x0010,..M
4d90: 53 5f 44 53 52 5f 4f 4e 20 20 3d 20 30 78 30 30  S_DSR_ON  = 0x00
4da0: 32 30 2c 0a 09 4d 53 5f 52 49 4e 47 5f 4f 4e 20  20,..MS_RING_ON 
4db0: 3d 20 30 78 30 30 34 30 2c 0a 09 4d 53 5f 52 4c  = 0x0040,..MS_RL
4dc0: 53 44 5f 4f 4e 20 3d 20 30 78 30 30 38 30 3b 0a  SD_ON = 0x0080;.
4dd0: 0a 0a 2f 2f 20 44 43 42 0a 65 6e 75 6d 20 3a 20  ..// DCB.enum : 
4de0: 42 59 54 45 20 7b 0a 09 4e 4f 50 41 52 49 54 59  BYTE {..NOPARITY
4df0: 20 3d 20 30 2c 0a 09 4f 44 44 50 41 52 49 54 59   = 0,..ODDPARITY
4e00: 2c 0a 09 45 56 45 4e 50 41 52 49 54 59 2c 0a 09  ,..EVENPARITY,..
4e10: 4d 41 52 4b 50 41 52 49 54 59 2c 0a 09 53 50 41  MARKPARITY,..SPA
4e20: 43 45 50 41 52 49 54 59 0a 7d 0a 2f 2f 20 44 43  CEPARITY.}.// DC
4e30: 42 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a  B.enum : BYTE {.
4e40: 09 4f 4e 45 53 54 4f 50 42 49 54 20 3d 20 30 2c  .ONESTOPBIT = 0,
4e50: 0a 09 4f 4e 45 35 53 54 4f 50 42 49 54 53 2c 0a  ..ONE5STOPBITS,.
4e60: 09 54 57 4f 53 54 4f 50 42 49 54 53 0a 7d 0a 2f  .TWOSTOPBITS.}./
4e70: 2f 20 44 43 42 0a 65 6e 75 6d 20 3a 20 44 57 4f  / DCB.enum : DWO
4e80: 52 44 20 7b 0a 09 43 42 52 5f 31 31 30 20 20 20  RD {..CBR_110   
4e90: 20 3d 20 20 20 20 31 31 30 2c 0a 09 43 42 52 5f   =    110,..CBR_
4ea0: 33 30 30 20 20 20 20 3d 20 20 20 20 33 30 30 2c  300    =    300,
4eb0: 0a 09 43 42 52 5f 36 30 30 20 20 20 20 3d 20 20  ..CBR_600    =  
4ec0: 20 20 36 30 30 2c 0a 09 43 42 52 5f 31 32 30 30    600,..CBR_1200
4ed0: 20 20 20 3d 20 20 20 31 32 30 30 2c 0a 09 43 42     =   1200,..CB
4ee0: 52 5f 32 34 30 30 20 20 20 3d 20 20 20 32 34 30  R_2400   =   240
4ef0: 30 2c 0a 09 43 42 52 5f 34 38 30 30 20 20 20 3d  0,..CBR_4800   =
4f00: 20 20 20 34 38 30 30 2c 0a 09 43 42 52 5f 39 36     4800,..CBR_96
4f10: 30 30 20 20 20 3d 20 20 20 39 36 30 30 2c 0a 09  00   =   9600,..
4f20: 43 42 52 5f 31 34 34 30 30 20 20 3d 20 20 31 34  CBR_14400  =  14
4f30: 34 30 30 2c 0a 09 43 42 52 5f 31 39 32 30 30 20  400,..CBR_19200 
4f40: 20 3d 20 20 31 39 32 30 30 2c 0a 09 43 42 52 5f   =  19200,..CBR_
4f50: 33 38 34 30 30 20 20 3d 20 20 33 38 34 30 30 2c  38400  =  38400,
4f60: 0a 09 43 42 52 5f 35 36 30 30 30 20 20 3d 20 20  ..CBR_56000  =  
4f70: 35 36 30 30 30 2c 0a 09 43 42 52 5f 35 37 36 30  56000,..CBR_5760
4f80: 30 20 20 3d 20 20 35 37 36 30 30 2c 0a 09 43 42  0  =  57600,..CB
4f90: 52 5f 31 31 35 32 30 30 20 3d 20 31 31 35 32 30  R_115200 = 11520
4fa0: 30 2c 0a 09 43 42 52 5f 31 32 38 30 30 30 20 3d  0,..CBR_128000 =
4fb0: 20 31 32 38 30 30 30 2c 0a 09 43 42 52 5f 32 35   128000,..CBR_25
4fc0: 36 30 30 30 20 3d 20 32 35 36 30 30 30 0a 7d 0a  6000 = 256000.}.
4fd0: 2f 2f 20 44 43 42 2c 20 32 2d 62 69 74 20 62 69  // DCB, 2-bit bi
4fe0: 74 66 69 65 6c 64 0a 65 6e 75 6d 20 7b 0a 09 44  tfield.enum {..D
4ff0: 54 52 5f 43 4f 4e 54 52 4f 4c 5f 44 49 53 41 42  TR_CONTROL_DISAB
5000: 4c 45 20 3d 20 30 2c 0a 09 44 54 52 5f 43 4f 4e  LE = 0,..DTR_CON
5010: 54 52 4f 4c 5f 45 4e 41 42 4c 45 2c 0a 09 44 54  TROL_ENABLE,..DT
5020: 52 5f 43 4f 4e 54 52 4f 4c 5f 48 41 4e 44 53 48  R_CONTROL_HANDSH
5030: 41 4b 45 0a 7d 0a 0a 2f 2f 20 44 43 42 2c 20 32  AKE.}..// DCB, 2
5040: 2d 62 69 74 20 62 69 74 66 69 65 6c 64 0a 65 6e  -bit bitfield.en
5050: 75 6d 20 7b 0a 09 52 54 53 5f 43 4f 4e 54 52 4f  um {..RTS_CONTRO
5060: 4c 5f 44 49 53 41 42 4c 45 20 3d 20 30 2c 0a 09  L_DISABLE = 0,..
5070: 52 54 53 5f 43 4f 4e 54 52 4f 4c 5f 45 4e 41 42  RTS_CONTROL_ENAB
5080: 4c 45 2c 0a 09 52 54 53 5f 43 4f 4e 54 52 4f 4c  LE,..RTS_CONTROL
5090: 5f 48 41 4e 44 53 48 41 4b 45 2c 0a 09 52 54 53  _HANDSHAKE,..RTS
50a0: 5f 43 4f 4e 54 52 4f 4c 5f 54 4f 47 47 4c 45 2c  _CONTROL_TOGGLE,
50b0: 0a 7d 0a 0a 2f 2f 20 57 49 4e 33 32 5f 53 54 52  .}..// WIN32_STR
50c0: 45 41 4d 5f 49 44 0a 65 6e 75 6d 20 3a 20 44 57  EAM_ID.enum : DW
50d0: 4f 52 44 20 7b 0a 09 42 41 43 4b 55 50 5f 49 4e  ORD {..BACKUP_IN
50e0: 56 41 4c 49 44 20 3d 20 30 2c 0a 09 42 41 43 4b  VALID = 0,..BACK
50f0: 55 50 5f 44 41 54 41 2c 0a 09 42 41 43 4b 55 50  UP_DATA,..BACKUP
5100: 5f 45 41 5f 44 41 54 41 2c 0a 09 42 41 43 4b 55  _EA_DATA,..BACKU
5110: 50 5f 53 45 43 55 52 49 54 59 5f 44 41 54 41 2c  P_SECURITY_DATA,
5120: 0a 09 42 41 43 4b 55 50 5f 41 4c 54 45 52 4e 41  ..BACKUP_ALTERNA
5130: 54 45 5f 44 41 54 41 2c 0a 09 42 41 43 4b 55 50  TE_DATA,..BACKUP
5140: 5f 4c 49 4e 4b 2c 0a 09 42 41 43 4b 55 50 5f 50  _LINK,..BACKUP_P
5150: 52 4f 50 45 52 54 59 5f 44 41 54 41 2c 0a 09 42  ROPERTY_DATA,..B
5160: 41 43 4b 55 50 5f 4f 42 4a 45 43 54 5f 49 44 2c  ACKUP_OBJECT_ID,
5170: 0a 09 42 41 43 4b 55 50 5f 52 45 50 41 52 53 45  ..BACKUP_REPARSE
5180: 5f 44 41 54 41 2c 0a 09 42 41 43 4b 55 50 5f 53  _DATA,..BACKUP_S
5190: 50 41 52 53 45 5f 42 4c 4f 43 4b 0a 7d 0a 0a 2f  PARSE_BLOCK.}../
51a0: 2f 20 57 49 4e 33 32 5f 53 54 52 45 41 4d 5f 49  / WIN32_STREAM_I
51b0: 44 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  D.enum : DWORD {
51c0: 0a 09 53 54 52 45 41 4d 5f 4e 4f 52 4d 41 4c 5f  ..STREAM_NORMAL_
51d0: 41 54 54 52 49 42 55 54 45 20 20 20 20 3d 20 30  ATTRIBUTE    = 0
51e0: 2c 0a 09 53 54 52 45 41 4d 5f 4d 4f 44 49 46 49  ,..STREAM_MODIFI
51f0: 45 44 5f 57 48 45 4e 5f 52 45 41 44 20 20 3d 20  ED_WHEN_READ  = 
5200: 31 2c 0a 09 53 54 52 45 41 4d 5f 43 4f 4e 54 41  1,..STREAM_CONTA
5210: 49 4e 53 5f 53 45 43 55 52 49 54 59 20 20 20 3d  INS_SECURITY   =
5220: 20 32 2c 0a 09 53 54 52 45 41 4d 5f 43 4f 4e 54   2,..STREAM_CONT
5230: 41 49 4e 53 5f 50 52 4f 50 45 52 54 49 45 53 20  AINS_PROPERTIES 
5240: 3d 20 34 0a 7d 0a 0a 2f 2f 20 53 54 41 52 54 55  = 4.}..// STARTU
5250: 50 49 4e 46 4f 0a 63 6f 6e 73 74 20 44 57 4f 52  PINFO.const DWOR
5260: 44 0a 09 53 54 41 52 54 46 5f 55 53 45 53 48 4f  D..STARTF_USESHO
5270: 57 57 49 4e 44 4f 57 20 20 20 20 3d 20 30 78 30  WWINDOW    = 0x0
5280: 30 30 31 2c 0a 09 53 54 41 52 54 46 5f 55 53 45  001,..STARTF_USE
5290: 53 49 5a 45 20 20 20 20 20 20 20 20 20 20 3d 20  SIZE          = 
52a0: 30 78 30 30 30 32 2c 0a 09 53 54 41 52 54 46 5f  0x0002,..STARTF_
52b0: 55 53 45 50 4f 53 49 54 49 4f 4e 20 20 20 20 20  USEPOSITION     
52c0: 20 3d 20 30 78 30 30 30 34 2c 0a 09 53 54 41 52   = 0x0004,..STAR
52d0: 54 46 5f 55 53 45 43 4f 55 4e 54 43 48 41 52 53  TF_USECOUNTCHARS
52e0: 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a 09 53      = 0x0008,..S
52f0: 54 41 52 54 46 5f 55 53 45 46 49 4c 4c 41 54 54  TARTF_USEFILLATT
5300: 52 49 42 55 54 45 20 3d 20 30 78 30 30 31 30 2c  RIBUTE = 0x0010,
5310: 0a 09 53 54 41 52 54 46 5f 52 55 4e 46 55 4c 4c  ..STARTF_RUNFULL
5320: 53 43 52 45 45 4e 20 20 20 20 3d 20 30 78 30 30  SCREEN    = 0x00
5330: 32 30 2c 0a 09 53 54 41 52 54 46 5f 46 4f 52 43  20,..STARTF_FORC
5340: 45 4f 4e 46 45 45 44 42 41 43 4b 20 20 3d 20 30  EONFEEDBACK  = 0
5350: 78 30 30 34 30 2c 0a 09 53 54 41 52 54 46 5f 46  x0040,..STARTF_F
5360: 4f 52 43 45 4f 46 46 46 45 45 44 42 41 43 4b 20  ORCEOFFFEEDBACK 
5370: 3d 20 30 78 30 30 38 30 2c 0a 09 53 54 41 52 54  = 0x0080,..START
5380: 46 5f 55 53 45 53 54 44 48 41 4e 44 4c 45 53 20  F_USESTDHANDLES 
5390: 20 20 20 3d 20 30 78 30 31 30 30 2c 0a 09 53 54     = 0x0100,..ST
53a0: 41 52 54 46 5f 55 53 45 48 4f 54 4b 45 59 20 20  ARTF_USEHOTKEY  
53b0: 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 3b 0a        = 0x0200;.
53c0: 0a 2f 2f 20 3f 3f 3f 0a 65 6e 75 6d 20 7b 0a 09  .// ???.enum {..
53d0: 54 43 5f 4e 4f 52 4d 41 4c 20 20 3d 20 30 2c 0a  TC_NORMAL  = 0,.
53e0: 09 54 43 5f 48 41 52 44 45 52 52 20 3d 20 31 2c  .TC_HARDERR = 1,
53f0: 0a 09 54 43 5f 47 50 5f 54 52 41 50 20 3d 20 32  ..TC_GP_TRAP = 2
5400: 2c 0a 09 54 43 5f 53 49 47 4e 41 4c 20 20 3d 20  ,..TC_SIGNAL  = 
5410: 33 0a 7d 0a 0a 2f 2b 20 54 68 65 73 65 20 73 65  3.}../+ These se
5420: 65 6d 20 74 6f 20 62 65 20 57 69 6e 64 6f 77 73  em to be Windows
5430: 20 43 45 2d 73 70 65 63 69 66 69 63 0a 65 6e 75   CE-specific.enu
5440: 6d 20 7b 0a 09 41 43 5f 4c 49 4e 45 5f 4f 46 46  m {..AC_LINE_OFF
5450: 4c 49 4e 45 20 20 20 20 20 20 3d 20 30 2c 0a 09  LINE      = 0,..
5460: 41 43 5f 4c 49 4e 45 5f 4f 4e 4c 49 4e 45 20 20  AC_LINE_ONLINE  
5470: 20 20 20 20 20 3d 20 31 2c 0a 09 41 43 5f 4c 49       = 1,..AC_LI
5480: 4e 45 5f 42 41 43 4b 55 50 5f 50 4f 57 45 52 20  NE_BACKUP_POWER 
5490: 3d 20 32 2c 0a 09 41 43 5f 4c 49 4e 45 5f 55 4e  = 2,..AC_LINE_UN
54a0: 4b 4e 4f 57 4e 20 20 20 20 20 20 3d 20 32 35 35  KNOWN      = 255
54b0: 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 42 41 54 54  .}..enum {..BATT
54c0: 45 52 59 5f 46 4c 41 47 5f 48 49 47 48 20 20 20  ERY_FLAG_HIGH   
54d0: 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 42 41 54         = 1,..BAT
54e0: 54 45 52 59 5f 46 4c 41 47 5f 4c 4f 57 20 20 20  TERY_FLAG_LOW   
54f0: 20 20 20 20 20 20 20 20 3d 20 32 2c 0a 09 42 41          = 2,..BA
5500: 54 54 45 52 59 5f 46 4c 41 47 5f 43 52 49 54 49  TTERY_FLAG_CRITI
5510: 43 41 4c 20 20 20 20 20 20 3d 20 34 2c 0a 09 42  CAL      = 4,..B
5520: 41 54 54 45 52 59 5f 46 4c 41 47 5f 43 48 41 52  ATTERY_FLAG_CHAR
5530: 47 49 4e 47 20 20 20 20 20 20 3d 20 38 2c 0a 09  GING      = 8,..
5540: 42 41 54 54 45 52 59 5f 46 4c 41 47 5f 4e 4f 5f  BATTERY_FLAG_NO_
5550: 42 41 54 54 45 52 59 20 20 20 20 3d 20 31 32 38  BATTERY    = 128
5560: 2c 0a 09 42 41 54 54 45 52 59 5f 46 4c 41 47 5f  ,..BATTERY_FLAG_
5570: 55 4e 4b 4e 4f 57 4e 20 20 20 20 20 20 20 3d 20  UNKNOWN       = 
5580: 32 35 35 2c 0a 09 42 41 54 54 45 52 59 5f 50 45  255,..BATTERY_PE
5590: 52 43 45 4e 54 41 47 45 5f 55 4e 4b 4e 4f 57 4e  RCENTAGE_UNKNOWN
55a0: 20 3d 20 32 35 35 2c 0a 09 42 41 54 54 45 52 59   = 255,..BATTERY
55b0: 5f 4c 49 46 45 5f 55 4e 4b 4e 4f 57 4e 20 20 20  _LIFE_UNKNOWN   
55c0: 20 20 20 20 3d 20 30 78 46 46 46 46 46 46 46 46      = 0xFFFFFFFF
55d0: 0a 7d 0a 2b 2f 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f  .}.+/..// ???.co
55e0: 6e 73 74 20 48 49 4e 53 54 41 4e 43 45 5f 45 52  nst HINSTANCE_ER
55f0: 52 4f 52 20 3d 20 33 32 3b 0a 0a 2f 2f 20 72 65  ROR = 32;..// re
5600: 74 75 72 6e 65 64 20 66 72 6f 6d 20 47 65 74 46  turned from GetF
5610: 69 6c 65 53 69 7a 65 28 29 0a 63 6f 6e 73 74 20  ileSize().const 
5620: 44 57 4f 52 44 20 49 4e 56 41 4c 49 44 5f 46 49  DWORD INVALID_FI
5630: 4c 45 5f 53 49 5a 45 20 3d 20 30 78 46 46 46 46  LE_SIZE = 0xFFFF
5640: 46 46 46 46 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f  FFFF;..const DWO
5650: 52 44 20 54 4c 53 5f 4f 55 54 5f 4f 46 5f 49 4e  RD TLS_OUT_OF_IN
5660: 44 45 58 45 53 20 3d 20 30 78 46 46 46 46 46 46  DEXES = 0xFFFFFF
5670: 46 46 3b 0a 0a 2f 2f 20 47 65 74 57 72 69 74 65  FF;..// GetWrite
5680: 57 61 74 63 68 28 29 0a 63 6f 6e 73 74 20 44 57  Watch().const DW
5690: 4f 52 44 20 57 52 49 54 45 5f 57 41 54 43 48 5f  ORD WRITE_WATCH_
56a0: 46 4c 41 47 5f 52 45 53 45 54 20 3d 20 31 3b 0a  FLAG_RESET = 1;.
56b0: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
56c0: 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 29 20 7b  32_WINNT_ONLY) {
56d0: 0a 09 2f 2f 20 66 6f 72 20 4c 6f 67 6f 6e 55 73  ..// for LogonUs
56e0: 65 72 28 29 0a 09 65 6e 75 6d 20 3a 20 44 57 4f  er()..enum : DWO
56f0: 52 44 20 7b 0a 09 09 4c 4f 47 4f 4e 33 32 5f 4c  RD {...LOGON32_L
5700: 4f 47 4f 4e 5f 49 4e 54 45 52 41 43 54 49 56 45  OGON_INTERACTIVE
5710: 20 3d 20 32 2c 0a 09 09 4c 4f 47 4f 4e 33 32 5f   = 2,...LOGON32_
5720: 4c 4f 47 4f 4e 5f 4e 45 54 57 4f 52 4b 20 20 20  LOGON_NETWORK   
5730: 20 20 3d 20 33 2c 0a 09 09 4c 4f 47 4f 4e 33 32    = 3,...LOGON32
5740: 5f 4c 4f 47 4f 4e 5f 42 41 54 43 48 20 20 20 20  _LOGON_BATCH    
5750: 20 20 20 3d 20 34 2c 0a 09 09 4c 4f 47 4f 4e 33     = 4,...LOGON3
5760: 32 5f 4c 4f 47 4f 4e 5f 53 45 52 56 49 43 45 20  2_LOGON_SERVICE 
5770: 20 20 20 20 3d 20 35 2c 0a 09 09 4c 4f 47 4f 4e      = 5,...LOGON
5780: 33 32 5f 4c 4f 47 4f 4e 5f 55 4e 4c 4f 43 4b 20  32_LOGON_UNLOCK 
5790: 20 20 20 20 20 3d 20 37 0a 09 7d 0a 0a 09 2f 2f       = 7..}...//
57a0: 20 66 6f 72 20 4c 6f 67 6f 6e 55 73 65 72 28 29   for LogonUser()
57b0: 0a 09 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
57c0: 0a 09 09 4c 4f 47 4f 4e 33 32 5f 50 52 4f 56 49  ...LOGON32_PROVI
57d0: 44 45 52 5f 44 45 46 41 55 4c 54 2c 0a 09 09 4c  DER_DEFAULT,...L
57e0: 4f 47 4f 4e 33 32 5f 50 52 4f 56 49 44 45 52 5f  OGON32_PROVIDER_
57f0: 57 49 4e 4e 54 33 35 2c 0a 09 09 4c 4f 47 4f 4e  WINNT35,...LOGON
5800: 33 32 5f 50 52 4f 56 49 44 45 52 5f 57 49 4e 4e  32_PROVIDER_WINN
5810: 54 34 30 2c 0a 09 09 4c 4f 47 4f 4e 33 32 5f 50  T40,...LOGON32_P
5820: 52 4f 56 49 44 45 52 5f 57 49 4e 4e 54 35 30 0a  ROVIDER_WINNT50.
5830: 09 7d 0a 0a 09 2f 2f 20 66 6f 72 20 4d 6f 76 65  .}...// for Move
5840: 46 69 6c 65 45 78 28 29 0a 09 63 6f 6e 73 74 20  FileEx()..const 
5850: 44 57 4f 52 44 0a 09 09 4d 4f 56 45 46 49 4c 45  DWORD...MOVEFILE
5860: 5f 52 45 50 4c 41 43 45 5f 45 58 49 53 54 49 4e  _REPLACE_EXISTIN
5870: 47 20 20 20 3d 20 31 2c 0a 09 09 4d 4f 56 45 46  G   = 1,...MOVEF
5880: 49 4c 45 5f 43 4f 50 59 5f 41 4c 4c 4f 57 45 44  ILE_COPY_ALLOWED
5890: 20 20 20 20 20 20 20 3d 20 32 2c 0a 09 09 4d 4f         = 2,...MO
58a0: 56 45 46 49 4c 45 5f 44 45 4c 41 59 5f 55 4e 54  VEFILE_DELAY_UNT
58b0: 49 4c 5f 52 45 42 4f 4f 54 20 3d 20 34 2c 0a 09  IL_REBOOT = 4,..
58c0: 09 4d 4f 56 45 46 49 4c 45 5f 57 52 49 54 45 5f  .MOVEFILE_WRITE_
58d0: 54 48 52 4f 55 47 48 20 20 20 20 20 20 3d 20 38  THROUGH      = 8
58e0: 3b 0a 0a 09 2f 2f 20 44 65 66 69 6e 65 44 6f 73  ;...// DefineDos
58f0: 44 65 76 69 63 65 28 29 0a 09 63 6f 6e 73 74 20  Device()..const 
5900: 44 57 4f 52 44 0a 09 09 44 44 44 5f 52 41 57 5f  DWORD...DDD_RAW_
5910: 54 41 52 47 45 54 5f 50 41 54 48 20 20 20 20 20  TARGET_PATH     
5920: 20 20 3d 20 31 2c 0a 09 09 44 44 44 5f 52 45 4d    = 1,...DDD_REM
5930: 4f 56 45 5f 44 45 46 49 4e 49 54 49 4f 4e 20 20  OVE_DEFINITION  
5940: 20 20 20 3d 20 32 2c 0a 09 09 44 44 44 5f 45 58     = 2,...DDD_EX
5950: 41 43 54 5f 4d 41 54 43 48 5f 4f 4e 5f 52 45 4d  ACT_MATCH_ON_REM
5960: 4f 56 45 20 3d 20 34 3b 0a 0a 09 73 74 61 74 69  OVE = 4;...stati
5970: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
5980: 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09  NT >= 0x500) {..
5990: 09 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
59a0: 09 09 09 4c 4f 47 4f 4e 33 32 5f 4c 4f 47 4f 4e  ...LOGON32_LOGON
59b0: 5f 4e 45 54 57 4f 52 4b 5f 43 4c 45 41 52 54 45  _NETWORK_CLEARTE
59c0: 58 54 20 3d 20 38 2c 0a 09 09 09 4c 4f 47 4f 4e  XT = 8,....LOGON
59d0: 33 32 5f 4c 4f 47 4f 4e 5f 4e 45 57 5f 43 52 45  32_LOGON_NEW_CRE
59e0: 44 45 4e 54 49 41 4c 53 20 20 20 3d 20 39 0a 09  DENTIALS   = 9..
59f0: 09 7d 0a 0a 09 09 2f 2f 20 52 65 70 6c 61 63 65  .}....// Replace
5a00: 46 69 6c 65 28 29 0a 09 09 63 6f 6e 73 74 20 44  File()...const D
5a10: 57 4f 52 44 0a 09 09 09 52 45 50 4c 41 43 45 46  WORD....REPLACEF
5a20: 49 4c 45 5f 57 52 49 54 45 5f 54 48 52 4f 55 47  ILE_WRITE_THROUG
5a30: 48 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 09 09  H       = 1,....
5a40: 52 45 50 4c 41 43 45 46 49 4c 45 5f 49 47 4e 4f  REPLACEFILE_IGNO
5a50: 52 45 5f 4d 45 52 47 45 5f 45 52 52 4f 52 53 20  RE_MERGE_ERRORS 
5a60: 3d 20 32 3b 0a 09 7d 0a 0a 09 73 74 61 74 69 63  = 2;..}...static
5a70: 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
5a80: 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0a 09 09  T >= 0x501) {...
5a90: 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 09 09 47  const DWORD....G
5aa0: 45 54 5f 4d 4f 44 55 4c 45 5f 48 41 4e 44 4c 45  ET_MODULE_HANDLE
5ab0: 5f 45 58 5f 46 4c 41 47 5f 50 49 4e 20 20 20 20  _EX_FLAG_PIN    
5ac0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 2c              = 1,
5ad0: 0a 09 09 09 47 45 54 5f 4d 4f 44 55 4c 45 5f 48  ....GET_MODULE_H
5ae0: 41 4e 44 4c 45 5f 45 58 5f 46 4c 41 47 5f 55 4e  ANDLE_EX_FLAG_UN
5af0: 43 48 41 4e 47 45 44 5f 52 45 46 43 4f 55 4e 54  CHANGED_REFCOUNT
5b00: 20 3d 20 32 2c 0a 09 09 09 47 45 54 5f 4d 4f 44   = 2,....GET_MOD
5b10: 55 4c 45 5f 48 41 4e 44 4c 45 5f 45 58 5f 46 4c  ULE_HANDLE_EX_FL
5b20: 41 47 5f 46 52 4f 4d 5f 41 44 44 52 45 53 53 20  AG_FROM_ADDRESS 
5b30: 20 20 20 20 20 20 3d 20 34 3b 0a 0a 09 09 2f 2f        = 4;....//
5b40: 20 66 6f 72 20 41 43 54 43 54 58 0a 09 09 63 6f   for ACTCTX...co
5b50: 6e 73 74 20 44 57 4f 52 44 0a 09 09 09 41 43 54  nst DWORD....ACT
5b60: 43 54 58 5f 46 4c 41 47 5f 50 52 4f 43 45 53 53  CTX_FLAG_PROCESS
5b70: 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f  OR_ARCHITECTURE_
5b80: 56 41 4c 49 44 20 3d 20 30 78 30 31 2c 0a 09 09  VALID = 0x01,...
5b90: 09 41 43 54 43 54 58 5f 46 4c 41 47 5f 4c 41 4e  .ACTCTX_FLAG_LAN
5ba0: 47 49 44 5f 56 41 4c 49 44 20 20 20 20 20 20 20  GID_VALID       
5bb0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 32            = 0x02
5bc0: 2c 0a 09 09 09 41 43 54 43 54 58 5f 46 4c 41 47  ,....ACTCTX_FLAG
5bd0: 5f 41 53 53 45 4d 42 4c 59 5f 44 49 52 45 43 54  _ASSEMBLY_DIRECT
5be0: 4f 52 59 5f 56 41 4c 49 44 20 20 20 20 20 3d 20  ORY_VALID     = 
5bf0: 30 78 30 34 2c 0a 09 09 09 41 43 54 43 54 58 5f  0x04,....ACTCTX_
5c00: 46 4c 41 47 5f 52 45 53 4f 55 52 43 45 5f 4e 41  FLAG_RESOURCE_NA
5c10: 4d 45 5f 56 41 4c 49 44 20 20 20 20 20 20 20 20  ME_VALID        
5c20: 20 20 3d 20 30 78 30 38 2c 0a 09 09 09 41 43 54    = 0x08,....ACT
5c30: 43 54 58 5f 46 4c 41 47 5f 53 45 54 5f 50 52 4f  CTX_FLAG_SET_PRO
5c40: 43 45 53 53 5f 44 45 46 41 55 4c 54 20 20 20 20  CESS_DEFAULT    
5c50: 20 20 20 20 20 20 3d 20 30 78 31 30 2c 0a 09 09        = 0x10,...
5c60: 09 41 43 54 43 54 58 5f 46 4c 41 47 5f 41 50 50  .ACTCTX_FLAG_APP
5c70: 4c 49 43 41 54 49 4f 4e 5f 4e 41 4d 45 5f 56 41  LICATION_NAME_VA
5c80: 4c 49 44 20 20 20 20 20 20 20 3d 20 30 78 32 30  LID       = 0x20
5c90: 2c 0a 09 09 09 41 43 54 43 54 58 5f 46 4c 41 47  ,....ACTCTX_FLAG
5ca0: 5f 48 4d 4f 44 55 4c 45 5f 56 41 4c 49 44 20 20  _HMODULE_VALID  
5cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
5cc0: 30 78 38 30 3b 0a 0a 09 09 2f 2f 20 44 65 61 63  0x80;....// Deac
5cd0: 74 69 76 61 74 65 41 63 74 43 74 78 28 29 0a 09  tivateActCtx()..
5ce0: 09 63 6f 6e 73 74 20 44 57 4f 52 44 20 44 45 41  .const DWORD DEA
5cf0: 43 54 49 56 41 54 45 5f 41 43 54 43 54 58 5f 46  CTIVATE_ACTCTX_F
5d00: 4c 41 47 5f 46 4f 52 43 45 5f 45 41 52 4c 59 5f  LAG_FORCE_EARLY_
5d10: 44 45 41 43 54 49 56 41 54 49 4f 4e 20 3d 20 31  DEACTIVATION = 1
5d20: 3b 0a 09 09 2f 2f 20 46 69 6e 64 41 63 74 43 74  ;...// FindActCt
5d30: 78 53 65 63 74 69 6f 6e 53 74 72 69 6e 67 28 29  xSectionString()
5d40: 0a 09 09 63 6f 6e 73 74 20 44 57 4f 52 44 20 46  ...const DWORD F
5d50: 49 4e 44 5f 41 43 54 43 54 58 5f 53 45 43 54 49  IND_ACTCTX_SECTI
5d60: 4f 4e 5f 4b 45 59 5f 52 45 54 55 52 4e 5f 48 41  ON_KEY_RETURN_HA
5d70: 43 54 43 54 58 20 20 20 20 20 20 20 20 20 20 3d  CTCTX          =
5d80: 20 31 3b 0a 09 09 2f 2f 20 51 75 65 72 79 41 63   1;...// QueryAc
5d90: 74 43 74 78 57 28 29 0a 09 09 63 6f 6e 73 74 20  tCtxW()...const 
5da0: 44 57 4f 52 44 0a 09 09 09 51 55 45 52 59 5f 41  DWORD....QUERY_A
5db0: 43 54 43 54 58 5f 46 4c 41 47 5f 55 53 45 5f 41  CTCTX_FLAG_USE_A
5dc0: 43 54 49 56 45 5f 41 43 54 43 54 58 20 20 20 20  CTIVE_ACTCTX    
5dd0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 34 2c           = 0x04,
5de0: 0a 09 09 09 51 55 45 52 59 5f 41 43 54 43 54 58  ....QUERY_ACTCTX
5df0: 5f 46 4c 41 47 5f 41 43 54 43 54 58 5f 49 53 5f  _FLAG_ACTCTX_IS_
5e00: 48 4d 4f 44 55 4c 45 20 20 20 20 20 20 20 20 20  HMODULE         
5e10: 20 20 20 20 3d 20 30 78 30 38 2c 0a 09 09 09 51      = 0x08,....Q
5e20: 55 45 52 59 5f 41 43 54 43 54 58 5f 46 4c 41 47  UERY_ACTCTX_FLAG
5e30: 5f 41 43 54 43 54 58 5f 49 53 5f 41 44 44 52 45  _ACTCTX_IS_ADDRE
5e40: 53 53 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  SS             =
5e50: 20 30 78 31 30 3b 0a 0a 09 09 65 6e 75 6d 20 7b   0x10;....enum {
5e60: 0a 09 09 09 4c 4f 47 4f 4e 5f 57 49 54 48 5f 50  ....LOGON_WITH_P
5e70: 52 4f 46 49 4c 45 20 20 20 20 20 20 20 20 3d 20  ROFILE        = 
5e80: 31 2c 0a 09 09 09 4c 4f 47 4f 4e 5f 4e 45 54 43  1,....LOGON_NETC
5e90: 52 45 44 45 4e 54 49 41 4c 53 5f 4f 4e 4c 59 0a  REDENTIALS_ONLY.
5ea0: 09 09 7d 0a 09 7d 0a 7d 0a 0a 2f 2f 20 2d 2d 2d  ..}..}.}..// ---
5eb0: 2d 0a 0a 73 74 72 75 63 74 20 46 49 4c 45 54 49  -..struct FILETI
5ec0: 4d 45 20 7b 0a 09 44 57 4f 52 44 20 64 77 4c 6f  ME {..DWORD dwLo
5ed0: 77 44 61 74 65 54 69 6d 65 3b 0a 09 44 57 4f 52  wDateTime;..DWOR
5ee0: 44 20 64 77 48 69 67 68 44 61 74 65 54 69 6d 65  D dwHighDateTime
5ef0: 3b 0a 7d 0a 61 6c 69 61 73 20 46 49 4c 45 54 49  ;.}.alias FILETI
5f00: 4d 45 2a 20 50 46 49 4c 45 54 49 4d 45 2c 20 4c  ME* PFILETIME, L
5f10: 50 46 49 4c 45 54 49 4d 45 3b 0a 0a 73 74 72 75  PFILETIME;..stru
5f20: 63 74 20 42 59 5f 48 41 4e 44 4c 45 5f 46 49 4c  ct BY_HANDLE_FIL
5f30: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a  E_INFORMATION {.
5f40: 09 44 57 4f 52 44 20 20 20 20 64 77 46 69 6c 65  .DWORD    dwFile
5f50: 41 74 74 72 69 62 75 74 65 73 3b 0a 09 46 49 4c  Attributes;..FIL
5f60: 45 54 49 4d 45 20 66 74 43 72 65 61 74 69 6f 6e  ETIME ftCreation
5f70: 54 69 6d 65 3b 0a 09 46 49 4c 45 54 49 4d 45 20  Time;..FILETIME 
5f80: 66 74 4c 61 73 74 41 63 63 65 73 73 54 69 6d 65  ftLastAccessTime
5f90: 3b 0a 09 46 49 4c 45 54 49 4d 45 20 66 74 4c 61  ;..FILETIME ftLa
5fa0: 73 74 57 72 69 74 65 54 69 6d 65 3b 0a 09 44 57  stWriteTime;..DW
5fb0: 4f 52 44 20 20 20 20 64 77 56 6f 6c 75 6d 65 53  ORD    dwVolumeS
5fc0: 65 72 69 61 6c 4e 75 6d 62 65 72 3b 0a 09 44 57  erialNumber;..DW
5fd0: 4f 52 44 20 20 20 20 6e 46 69 6c 65 53 69 7a 65  ORD    nFileSize
5fe0: 48 69 67 68 3b 0a 09 44 57 4f 52 44 20 20 20 20  High;..DWORD    
5ff0: 6e 46 69 6c 65 53 69 7a 65 4c 6f 77 3b 0a 09 44  nFileSizeLow;..D
6000: 57 4f 52 44 20 20 20 20 6e 4e 75 6d 62 65 72 4f  WORD    nNumberO
6010: 66 4c 69 6e 6b 73 3b 0a 09 44 57 4f 52 44 20 20  fLinks;..DWORD  
6020: 20 20 6e 46 69 6c 65 49 6e 64 65 78 48 69 67 68    nFileIndexHigh
6030: 3b 0a 09 44 57 4f 52 44 20 20 20 20 6e 46 69 6c  ;..DWORD    nFil
6040: 65 49 6e 64 65 78 4c 6f 77 3b 0a 7d 0a 61 6c 69  eIndexLow;.}.ali
6050: 61 73 20 42 59 5f 48 41 4e 44 4c 45 5f 46 49 4c  as BY_HANDLE_FIL
6060: 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 4c  E_INFORMATION* L
6070: 50 42 59 5f 48 41 4e 44 4c 45 5f 46 49 4c 45 5f  PBY_HANDLE_FILE_
6080: 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74  INFORMATION;..st
6090: 72 75 63 74 20 44 43 42 20 7b 0a 09 44 57 4f 52  ruct DCB {..DWOR
60a0: 44 20 44 43 42 6c 65 6e 67 74 68 20 3d 20 44 43  D DCBlength = DC
60b0: 42 2e 73 69 7a 65 6f 66 3b 0a 09 44 57 4f 52 44  B.sizeof;..DWORD
60c0: 20 42 61 75 64 52 61 74 65 3b 0a 2f 2b 0a 09 44   BaudRate;./+..D
60d0: 57 4f 52 44 20 66 42 69 6e 61 72 79 3a 31 3b 20  WORD fBinary:1; 
60e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20               // 
60f0: 42 69 6e 61 72 79 20 4d 6f 64 65 20 28 73 6b 69  Binary Mode (ski
6100: 70 20 45 4f 46 20 63 68 65 63 6b 29 0a 09 44 57  p EOF check)..DW
6110: 4f 52 44 20 66 50 61 72 69 74 79 3a 31 3b 20 20  ORD fParity:1;  
6120: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45              // E
6130: 6e 61 62 6c 65 20 70 61 72 69 74 79 20 63 68 65  nable parity che
6140: 63 6b 69 6e 67 0a 09 44 57 4f 52 44 20 66 4f 75  cking..DWORD fOu
6150: 74 78 43 74 73 46 6c 6f 77 3a 31 3b 20 20 20 20  txCtsFlow:1;    
6160: 20 20 20 20 20 2f 2f 20 43 54 53 20 68 61 6e 64       // CTS hand
6170: 73 68 61 6b 69 6e 67 20 6f 6e 20 6f 75 74 70 75  shaking on outpu
6180: 74 0a 09 44 57 4f 52 44 20 66 4f 75 74 78 44 73  t..DWORD fOutxDs
6190: 72 46 6c 6f 77 3a 31 3b 20 20 20 20 20 20 20 20  rFlow:1;        
61a0: 20 2f 2f 20 44 53 52 20 68 61 6e 64 73 68 61 6b   // DSR handshak
61b0: 69 6e 67 20 6f 6e 20 6f 75 74 70 75 74 0a 09 44  ing on output..D
61c0: 57 4f 52 44 20 66 44 74 72 43 6f 6e 74 72 6f 6c  WORD fDtrControl
61d0: 3a 32 3b 20 20 20 20 20 20 20 20 20 20 2f 2f 20  :2;          // 
61e0: 44 54 52 20 46 6c 6f 77 20 63 6f 6e 74 72 6f 6c  DTR Flow control
61f0: 0a 09 44 57 4f 52 44 20 66 44 73 72 53 65 6e 73  ..DWORD fDsrSens
6200: 69 74 69 76 69 74 79 3a 31 3b 20 20 20 20 20 20  itivity:1;      
6210: 2f 2f 20 44 53 52 20 53 65 6e 73 69 74 69 76 69  // DSR Sensitivi
6220: 74 79 0a 09 44 57 4f 52 44 20 66 54 58 43 6f 6e  ty..DWORD fTXCon
6230: 74 69 6e 75 65 4f 6e 58 6f 66 66 3a 31 3b 20 20  tinueOnXoff:1;  
6240: 20 20 2f 2f 20 43 6f 6e 74 69 6e 75 65 20 54 58    // Continue TX
6250: 20 77 68 65 6e 20 58 6f 66 66 20 73 65 6e 74 0a   when Xoff sent.
6260: 09 44 57 4f 52 44 20 66 4f 75 74 58 3a 31 3b 20  .DWORD fOutX:1; 
6270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
6280: 2f 20 45 6e 61 62 6c 65 20 6f 75 74 70 75 74 20  / Enable output 
6290: 58 2d 4f 4e 2f 58 2d 4f 46 46 0a 09 44 57 4f 52  X-ON/X-OFF..DWOR
62a0: 44 20 66 49 6e 58 3a 31 3b 20 20 20 20 20 20 20  D fInX:1;       
62b0: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 61            // Ena
62c0: 62 6c 65 20 69 6e 70 75 74 20 58 2d 4f 4e 2f 58  ble input X-ON/X
62d0: 2d 4f 46 46 0a 09 44 57 4f 52 44 20 66 45 72 72  -OFF..DWORD fErr
62e0: 6f 72 43 68 61 72 3a 31 3b 20 20 20 20 20 20 20  orChar:1;       
62f0: 20 20 20 20 2f 2f 20 45 6e 61 62 6c 65 20 45 72      // Enable Er
6300: 72 20 52 65 70 6c 61 63 65 6d 65 6e 74 0a 09 44  r Replacement..D
6310: 57 4f 52 44 20 66 4e 75 6c 6c 3a 31 3b 20 20 20  WORD fNull:1;   
6320: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20               // 
6330: 45 6e 61 62 6c 65 20 4e 75 6c 6c 20 73 74 72 69  Enable Null stri
6340: 70 70 69 6e 67 0a 09 44 57 4f 52 44 20 66 52 74  pping..DWORD fRt
6350: 73 43 6f 6e 74 72 6f 6c 3a 32 3b 20 20 20 20 20  sControl:2;     
6360: 20 20 20 20 20 2f 2f 20 52 74 73 20 46 6c 6f 77       // Rts Flow
6370: 20 63 6f 6e 74 72 6f 6c 0a 09 44 57 4f 52 44 20   control..DWORD 
6380: 66 41 62 6f 72 74 4f 6e 45 72 72 6f 72 3a 31 3b  fAbortOnError:1;
6390: 20 20 20 20 20 20 20 20 2f 2f 20 41 62 6f 72 74          // Abort
63a0: 20 61 6c 6c 20 72 65 61 64 73 20 61 6e 64 20 77   all reads and w
63b0: 72 69 74 65 73 20 6f 6e 20 45 72 72 6f 72 0a 09  rites on Error..
63c0: 44 57 4f 52 44 20 66 44 75 6d 6d 79 32 3a 31 37  DWORD fDummy2:17
63d0: 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f  ;             //
63e0: 20 52 65 73 65 72 76 65 64 0a 2b 2f 0a 09 75 69   Reserved.+/..ui
63f0: 6e 74 20 5f 62 66 3b 0a 09 62 6f 6f 6c 20 66 42  nt _bf;..bool fB
6400: 69 6e 61 72 79 28 62 6f 6f 6c 20 66 29 20 20 20  inary(bool f)   
6410: 20 20 20 20 20 20 20 20 7b 20 5f 62 66 20 3d 20          { _bf = 
6420: 28 5f 62 66 20 26 20 7e 30 78 30 30 30 31 29 20  (_bf & ~0x0001) 
6430: 7c 20 66 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d  | f; return f; }
6440: 0a 09 62 6f 6f 6c 20 66 50 61 72 69 74 79 28 62  ..bool fParity(b
6450: 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20 20 20  ool f)          
6460: 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20   { _bf = (_bf & 
6470: 7e 30 78 30 30 30 32 29 20 7c 20 28 66 3c 3c 31  ~0x0002) | (f<<1
6480: 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09  ); return f; }..
6490: 62 6f 6f 6c 20 66 4f 75 74 78 43 74 73 46 6c 6f  bool fOutxCtsFlo
64a0: 77 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 7b  w(bool f)      {
64b0: 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30   _bf = (_bf & ~0
64c0: 78 30 30 30 34 29 20 7c 20 28 66 3c 3c 32 29 3b  x0004) | (f<<2);
64d0: 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09 62 6f   return f; }..bo
64e0: 6f 6c 20 66 4f 75 74 78 44 73 72 46 6c 6f 77 28  ol fOutxDsrFlow(
64f0: 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 7b 20 5f  bool f)      { _
6500: 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30 78 30  bf = (_bf & ~0x0
6510: 30 30 38 29 20 7c 20 28 66 3c 3c 33 29 3b 20 72  008) | (f<<3); r
6520: 65 74 75 72 6e 20 66 3b 20 7d 0a 09 62 79 74 65  eturn f; }..byte
6530: 20 66 44 74 72 43 6f 6e 74 72 6f 6c 28 62 79 74   fDtrControl(byt
6540: 65 20 78 29 20 20 20 20 20 20 20 7b 20 5f 62 66  e x)       { _bf
6550: 20 3d 20 28 5f 62 66 20 26 20 7e 30 78 30 30 33   = (_bf & ~0x003
6560: 30 29 20 7c 20 28 78 3c 3c 34 29 3b 20 72 65 74  0) | (x<<4); ret
6570: 75 72 6e 20 63 61 73 74 28 62 79 74 65 29 28 78  urn cast(byte)(x
6580: 20 26 20 33 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66   & 3); }..bool f
6590: 44 73 72 53 65 6e 73 69 74 69 76 69 74 79 28 62  DsrSensitivity(b
65a0: 6f 6f 6c 20 66 29 20 20 20 7b 20 5f 62 66 20 3d  ool f)   { _bf =
65b0: 20 28 5f 62 66 20 26 20 7e 30 78 30 30 34 30 29   (_bf & ~0x0040)
65c0: 20 7c 20 28 66 3c 3c 36 29 3b 20 72 65 74 75 72   | (f<<6); retur
65d0: 6e 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20 66 54 58  n f; }..bool fTX
65e0: 43 6f 6e 74 69 6e 75 65 4f 6e 58 6f 66 66 28 62  ContinueOnXoff(b
65f0: 6f 6f 6c 20 66 29 20 7b 20 5f 62 66 20 3d 20 28  ool f) { _bf = (
6600: 5f 62 66 20 26 20 7e 30 78 30 30 38 30 29 20 7c  _bf & ~0x0080) |
6610: 20 28 66 3c 3c 37 29 3b 20 72 65 74 75 72 6e 20   (f<<7); return 
6620: 66 3b 20 7d 0a 09 62 6f 6f 6c 20 66 4f 75 74 58  f; }..bool fOutX
6630: 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20  (bool f)        
6640: 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 28 5f 62       { _bf = (_b
6650: 66 20 26 20 7e 30 78 30 31 30 30 29 20 7c 20 28  f & ~0x0100) | (
6660: 66 3c 3c 38 29 3b 20 72 65 74 75 72 6e 20 66 3b  f<<8); return f;
6670: 20 7d 0a 09 62 6f 6f 6c 20 66 49 6e 58 28 62 6f   }..bool fInX(bo
6680: 6f 6c 20 66 29 20 20 20 20 20 20 20 20 20 20 20  ol f)           
6690: 20 20 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20     { _bf = (_bf 
66a0: 26 20 7e 30 78 30 32 30 30 29 20 7c 20 28 66 3c  & ~0x0200) | (f<
66b0: 3c 39 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d  <9); return f; }
66c0: 0a 09 62 6f 6f 6c 20 66 45 72 72 6f 72 43 68 61  ..bool fErrorCha
66d0: 72 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 20  r(bool f)       
66e0: 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20   { _bf = (_bf & 
66f0: 7e 30 78 30 34 30 30 29 20 7c 20 28 66 3c 3c 31  ~0x0400) | (f<<1
6700: 30 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a  0); return f; }.
6710: 09 62 6f 6f 6c 20 66 4e 75 6c 6c 28 62 6f 6f 6c  .bool fNull(bool
6720: 20 66 29 20 20 20 20 20 20 20 20 20 20 20 20 20   f)             
6730: 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e  { _bf = (_bf & ~
6740: 30 78 30 38 30 30 29 20 7c 20 28 66 3c 3c 31 31  0x0800) | (f<<11
6750: 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09  ); return f; }..
6760: 62 79 74 65 20 66 52 74 73 43 6f 6e 74 72 6f 6c  byte fRtsControl
6770: 28 62 79 74 65 20 78 29 20 20 20 20 20 20 20 7b  (byte x)       {
6780: 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30   _bf = (_bf & ~0
6790: 78 33 30 30 30 29 20 7c 20 28 78 3c 3c 31 32 29  x3000) | (x<<12)
67a0: 3b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 79  ; return cast(by
67b0: 74 65 29 28 78 20 26 20 33 29 3b 20 7d 0a 09 62  te)(x & 3); }..b
67c0: 6f 6f 6c 20 66 41 62 6f 72 74 4f 6e 45 72 72 6f  ool fAbortOnErro
67d0: 72 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 7b 20  r(bool f)     { 
67e0: 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30 78  _bf = (_bf & ~0x
67f0: 34 30 30 30 29 20 7c 20 28 66 3c 3c 31 34 29 3b  4000) | (f<<14);
6800: 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 0a 09 62   return f; }...b
6810: 6f 6f 6c 20 66 42 69 6e 61 72 79 28 29 20 20 20  ool fBinary()   
6820: 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e          { return
6830: 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66   cast(bool) (_bf
6840: 20 26 20 31 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66   & 1); }..bool f
6850: 50 61 72 69 74 79 28 29 20 20 20 20 20 20 20 20  Parity()        
6860: 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74     { return cast
6870: 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 32 29  (bool) (_bf & 2)
6880: 3b 20 7d 0a 09 62 6f 6f 6c 20 66 4f 75 74 78 43  ; }..bool fOutxC
6890: 74 73 46 6c 6f 77 28 29 20 20 20 20 20 20 7b 20  tsFlow()      { 
68a0: 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c  return cast(bool
68b0: 29 20 28 5f 62 66 20 26 20 34 29 3b 20 7d 0a 09  ) (_bf & 4); }..
68c0: 62 6f 6f 6c 20 66 4f 75 74 78 44 73 72 46 6c 6f  bool fOutxDsrFlo
68d0: 77 28 29 20 20 20 20 20 20 7b 20 72 65 74 75 72  w()      { retur
68e0: 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62  n cast(bool) (_b
68f0: 66 20 26 20 38 29 3b 20 7d 0a 09 62 79 74 65 20  f & 8); }..byte 
6900: 66 44 74 72 43 6f 6e 74 72 6f 6c 28 29 20 20 20  fDtrControl()   
6910: 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73      { return cas
6920: 74 28 62 79 74 65 29 20 28 28 5f 62 66 20 26 20  t(byte) ((_bf & 
6930: 28 33 32 2b 31 36 29 29 3e 3e 34 29 3b 20 7d 0a  (32+16))>>4); }.
6940: 09 62 6f 6f 6c 20 66 44 73 72 53 65 6e 73 69 74  .bool fDsrSensit
6950: 69 76 69 74 79 28 29 20 20 20 7b 20 72 65 74 75  ivity()   { retu
6960: 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f  rn cast(bool) (_
6970: 62 66 20 26 20 36 34 29 3b 20 7d 0a 09 62 6f 6f  bf & 64); }..boo
6980: 6c 20 66 54 58 43 6f 6e 74 69 6e 75 65 4f 6e 58  l fTXContinueOnX
6990: 6f 66 66 28 29 20 7b 20 72 65 74 75 72 6e 20 63  off() { return c
69a0: 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26  ast(bool) (_bf &
69b0: 20 31 32 38 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66   128); }..bool f
69c0: 4f 75 74 58 28 29 20 20 20 20 20 20 20 20 20 20  OutX()          
69d0: 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74     { return cast
69e0: 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 32 35  (bool) (_bf & 25
69f0: 36 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66 49 6e 58  6); }..bool fInX
6a00: 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ()              
6a10: 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f  { return cast(bo
6a20: 6f 6c 29 20 28 5f 62 66 20 26 20 35 31 32 29 3b  ol) (_bf & 512);
6a30: 20 7d 0a 09 62 6f 6f 6c 20 66 45 72 72 6f 72 43   }..bool fErrorC
6a40: 68 61 72 28 29 20 20 20 20 20 20 20 20 7b 20 72  har()        { r
6a50: 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29  eturn cast(bool)
6a60: 20 28 5f 62 66 20 26 20 31 30 32 34 29 3b 20 7d   (_bf & 1024); }
6a70: 0a 09 62 6f 6f 6c 20 66 4e 75 6c 6c 28 29 20 20  ..bool fNull()  
6a80: 20 20 20 20 20 20 20 20 20 20 20 7b 20 72 65 74             { ret
6a90: 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28  urn cast(bool) (
6aa0: 5f 62 66 20 26 20 32 30 34 38 29 3b 20 7d 0a 09  _bf & 2048); }..
6ab0: 62 79 74 65 20 66 52 74 73 43 6f 6e 74 72 6f 6c  byte fRtsControl
6ac0: 28 29 20 20 20 20 20 20 20 7b 20 72 65 74 75 72  ()       { retur
6ad0: 6e 20 63 61 73 74 28 62 79 74 65 29 20 28 28 5f  n cast(byte) ((_
6ae0: 62 66 20 26 20 28 34 30 39 36 2b 38 31 39 32 29  bf & (4096+8192)
6af0: 29 3e 3e 31 32 29 3b 20 7d 0a 09 62 6f 6f 6c 20  )>>12); }..bool 
6b00: 66 41 62 6f 72 74 4f 6e 45 72 72 6f 72 28 29 20  fAbortOnError() 
6b10: 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73      { return cas
6b20: 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 31  t(bool) (_bf & 1
6b30: 36 33 38 34 29 3b 20 7d 0a 0a 09 57 4f 52 44 20  6384); }...WORD 
6b40: 77 52 65 73 65 72 76 65 64 3b 0a 09 57 4f 52 44  wReserved;..WORD
6b50: 20 58 6f 6e 4c 69 6d 3b 0a 09 57 4f 52 44 20 58   XonLim;..WORD X
6b60: 6f 66 66 4c 69 6d 3b 0a 09 42 59 54 45 20 42 79  offLim;..BYTE By
6b70: 74 65 53 69 7a 65 3b 0a 09 42 59 54 45 20 50 61  teSize;..BYTE Pa
6b80: 72 69 74 79 3b 0a 09 42 59 54 45 20 53 74 6f 70  rity;..BYTE Stop
6b90: 42 69 74 73 3b 0a 09 63 68 61 72 20 58 6f 6e 43  Bits;..char XonC
6ba0: 68 61 72 3b 0a 09 63 68 61 72 20 58 6f 66 66 43  har;..char XoffC
6bb0: 68 61 72 3b 0a 09 63 68 61 72 20 45 72 72 6f 72  har;..char Error
6bc0: 43 68 61 72 3b 0a 09 63 68 61 72 20 45 6f 66 43  Char;..char EofC
6bd0: 68 61 72 3b 0a 09 63 68 61 72 20 45 76 74 43 68  har;..char EvtCh
6be0: 61 72 3b 0a 09 57 4f 52 44 20 77 52 65 73 65 72  ar;..WORD wReser
6bf0: 76 65 64 31 3b 0a 7d 0a 61 6c 69 61 73 20 44 43  ved1;.}.alias DC
6c00: 42 2a 20 4c 50 44 43 42 3b 0a 0a 73 74 72 75 63  B* LPDCB;..struc
6c10: 74 20 43 4f 4d 4d 43 4f 4e 46 49 47 20 7b 0a 09  t COMMCONFIG {..
6c20: 44 57 4f 52 44 20 64 77 53 69 7a 65 20 3d 20 43  DWORD dwSize = C
6c30: 4f 4d 4d 43 4f 4e 46 49 47 2e 73 69 7a 65 6f 66  OMMCONFIG.sizeof
6c40: 3b 0a 09 57 4f 52 44 20 20 77 56 65 72 73 69 6f  ;..WORD  wVersio
6c50: 6e 3b 0a 09 57 4f 52 44 20 20 77 52 65 73 65 72  n;..WORD  wReser
6c60: 76 65 64 3b 0a 09 44 43 42 20 20 20 64 63 62 3b  ved;..DCB   dcb;
6c70: 0a 09 44 57 4f 52 44 20 64 77 50 72 6f 76 69 64  ..DWORD dwProvid
6c80: 65 72 53 75 62 54 79 70 65 3b 0a 09 44 57 4f 52  erSubType;..DWOR
6c90: 44 20 64 77 50 72 6f 76 69 64 65 72 4f 66 66 73  D dwProviderOffs
6ca0: 65 74 3b 0a 09 44 57 4f 52 44 20 64 77 50 72 6f  et;..DWORD dwPro
6cb0: 76 69 64 65 72 53 69 7a 65 3b 0a 09 57 43 48 41  viderSize;..WCHA
6cc0: 52 20 5f 77 63 50 72 6f 76 69 64 65 72 44 61 74  R _wcProviderDat
6cd0: 61 3b 0a 0a 09 57 43 48 41 52 2a 20 77 63 50 72  a;...WCHAR* wcPr
6ce0: 6f 76 69 64 65 72 44 61 74 61 28 29 20 7b 20 72  oviderData() { r
6cf0: 65 74 75 72 6e 20 26 5f 77 63 50 72 6f 76 69 64  eturn &_wcProvid
6d00: 65 72 44 61 74 61 3b 20 7d 0a 7d 0a 61 6c 69 61  erData; }.}.alia
6d10: 73 20 43 4f 4d 4d 43 4f 4e 46 49 47 2a 20 4c 50  s COMMCONFIG* LP
6d20: 43 4f 4d 4d 43 4f 4e 46 49 47 3b 0a 0a 73 74 72  COMMCONFIG;..str
6d30: 75 63 74 20 43 4f 4d 4d 54 49 4d 45 4f 55 54 53  uct COMMTIMEOUTS
6d40: 20 7b 0a 09 44 57 4f 52 44 20 52 65 61 64 49 6e   {..DWORD ReadIn
6d50: 74 65 72 76 61 6c 54 69 6d 65 6f 75 74 3b 0a 09  tervalTimeout;..
6d60: 44 57 4f 52 44 20 52 65 61 64 54 6f 74 61 6c 54  DWORD ReadTotalT
6d70: 69 6d 65 6f 75 74 4d 75 6c 74 69 70 6c 69 65 72  imeoutMultiplier
6d80: 3b 0a 09 44 57 4f 52 44 20 52 65 61 64 54 6f 74  ;..DWORD ReadTot
6d90: 61 6c 54 69 6d 65 6f 75 74 43 6f 6e 73 74 61 6e  alTimeoutConstan
6da0: 74 3b 0a 09 44 57 4f 52 44 20 57 72 69 74 65 54  t;..DWORD WriteT
6db0: 6f 74 61 6c 54 69 6d 65 6f 75 74 4d 75 6c 74 69  otalTimeoutMulti
6dc0: 70 6c 69 65 72 3b 0a 09 44 57 4f 52 44 20 57 72  plier;..DWORD Wr
6dd0: 69 74 65 54 6f 74 61 6c 54 69 6d 65 6f 75 74 43  iteTotalTimeoutC
6de0: 6f 6e 73 74 61 6e 74 3b 0a 7d 0a 61 6c 69 61 73  onstant;.}.alias
6df0: 20 43 4f 4d 4d 54 49 4d 45 4f 55 54 53 2a 20 4c   COMMTIMEOUTS* L
6e00: 50 43 4f 4d 4d 54 49 4d 45 4f 55 54 53 3b 0a 0a  PCOMMTIMEOUTS;..
6e10: 73 74 72 75 63 74 20 43 4f 4d 53 54 41 54 20 7b  struct COMSTAT {
6e20: 0a 2f 2b 0a 09 44 57 4f 52 44 20 66 43 74 73 48  ./+..DWORD fCtsH
6e30: 6f 6c 64 3a 31 3b 0a 09 44 57 4f 52 44 20 66 44  old:1;..DWORD fD
6e40: 73 72 48 6f 6c 64 3a 31 3b 0a 09 44 57 4f 52 44  srHold:1;..DWORD
6e50: 20 66 52 6c 73 64 48 6f 6c 64 3a 31 3b 0a 09 44   fRlsdHold:1;..D
6e60: 57 4f 52 44 20 66 58 6f 66 66 48 6f 6c 64 3a 31  WORD fXoffHold:1
6e70: 3b 0a 09 44 57 4f 52 44 20 66 58 6f 66 66 53 65  ;..DWORD fXoffSe
6e80: 6e 74 3a 31 3b 0a 09 44 57 4f 52 44 20 66 45 6f  nt:1;..DWORD fEo
6e90: 66 3a 31 3b 0a 09 44 57 4f 52 44 20 66 54 78 69  f:1;..DWORD fTxi
6ea0: 6d 3a 31 3b 0a 09 44 57 4f 52 44 20 66 52 65 73  m:1;..DWORD fRes
6eb0: 65 72 76 65 64 3a 32 35 3b 0a 2b 2f 0a 09 44 57  erved:25;.+/..DW
6ec0: 4f 52 44 20 5f 62 66 3b 0a 20 20 20 20 62 6f 6f  ORD _bf;.    boo
6ed0: 6c 20 66 43 74 73 48 6f 6c 64 28 62 6f 6f 6c 20  l fCtsHold(bool 
6ee0: 66 29 20 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66  f)  { _bf = (_bf
6ef0: 20 26 20 7e 31 29 20 7c 20 66 3b 20 72 65 74 75   & ~1) | f; retu
6f00: 72 6e 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20 66 44  rn f; }..bool fD
6f10: 73 72 48 6f 6c 64 28 62 6f 6f 6c 20 66 29 20 20  srHold(bool f)  
6f20: 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e  { _bf = (_bf & ~
6f30: 32 29 20 7c 20 28 66 3c 3c 31 29 3b 20 72 65 74  2) | (f<<1); ret
6f40: 75 72 6e 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20 66  urn f; }..bool f
6f50: 52 6c 73 64 48 6f 6c 64 28 62 6f 6f 6c 20 66 29  RlsdHold(bool f)
6f60: 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26 20   { _bf = (_bf & 
6f70: 7e 34 29 20 7c 20 28 66 3c 3c 32 29 3b 20 72 65  ~4) | (f<<2); re
6f80: 74 75 72 6e 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20  turn f; }..bool 
6f90: 66 58 6f 66 66 48 6f 6c 64 28 62 6f 6f 6c 20 66  fXoffHold(bool f
6fa0: 29 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20 26  ) { _bf = (_bf &
6fb0: 20 7e 38 29 20 7c 20 28 66 3c 3c 33 29 3b 20 72   ~8) | (f<<3); r
6fc0: 65 74 75 72 6e 20 66 3b 20 7d 0a 09 62 6f 6f 6c  eturn f; }..bool
6fd0: 20 66 58 6f 66 66 53 65 6e 74 28 62 6f 6f 6c 20   fXoffSent(bool 
6fe0: 66 29 20 7b 20 5f 62 66 20 3d 20 28 5f 62 66 20  f) { _bf = (_bf 
6ff0: 26 20 7e 31 36 29 20 7c 20 28 66 3c 3c 34 29 3b  & ~16) | (f<<4);
7000: 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09 62 6f   return f; }..bo
7010: 6f 6c 20 66 45 6f 66 28 62 6f 6f 6c 20 66 29 20  ol fEof(bool f) 
7020: 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 28 5f 62       { _bf = (_b
7030: 66 20 26 20 7e 33 32 29 20 7c 20 28 66 3c 3c 35  f & ~32) | (f<<5
7040: 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09  ); return f; }..
7050: 62 6f 6f 6c 20 66 54 78 69 6d 28 62 6f 6f 6c 20  bool fTxim(bool 
7060: 66 29 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 28  f)     { _bf = (
7070: 5f 62 66 20 26 20 7e 36 34 29 20 7c 20 28 66 3c  _bf & ~64) | (f<
7080: 3c 36 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d  <6); return f; }
7090: 0a 0a 20 20 20 20 62 6f 6f 6c 20 66 43 74 73 48  ..    bool fCtsH
70a0: 6f 6c 64 28 29 20 20 7b 20 72 65 74 75 72 6e 20  old()  { return 
70b0: 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20  cast(bool) (_bf 
70c0: 26 20 31 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66 44  & 1); }..bool fD
70d0: 73 72 48 6f 6c 64 28 29 20 20 7b 20 72 65 74 75  srHold()  { retu
70e0: 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f  rn cast(bool) (_
70f0: 62 66 20 26 20 32 29 3b 20 7d 0a 09 62 6f 6f 6c  bf & 2); }..bool
7100: 20 66 52 6c 73 64 48 6f 6c 64 28 29 20 7b 20 72   fRlsdHold() { r
7110: 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29  eturn cast(bool)
7120: 20 28 5f 62 66 20 26 20 34 29 3b 20 7d 0a 09 62   (_bf & 4); }..b
7130: 6f 6f 6c 20 66 58 6f 66 66 48 6f 6c 64 28 29 20  ool fXoffHold() 
7140: 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f  { return cast(bo
7150: 6f 6c 29 20 28 5f 62 66 20 26 20 38 29 3b 20 7d  ol) (_bf & 8); }
7160: 0a 09 62 6f 6f 6c 20 66 58 6f 66 66 53 65 6e 74  ..bool fXoffSent
7170: 28 29 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74  () { return cast
7180: 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 31 36  (bool) (_bf & 16
7190: 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66 45 6f 66 28  ); }..bool fEof(
71a0: 29 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20  )      { return 
71b0: 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20  cast(bool) (_bf 
71c0: 26 20 33 32 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66  & 32); }..bool f
71d0: 54 78 69 6d 28 29 20 20 20 20 20 7b 20 72 65 74  Txim()     { ret
71e0: 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28  urn cast(bool) (
71f0: 5f 62 66 20 26 20 36 34 29 3b 20 7d 0a 0a 09 44  _bf & 64); }...D
7200: 57 4f 52 44 20 63 62 49 6e 51 75 65 3b 0a 09 44  WORD cbInQue;..D
7210: 57 4f 52 44 20 63 62 4f 75 74 51 75 65 3b 0a 7d  WORD cbOutQue;.}
7220: 0a 61 6c 69 61 73 20 43 4f 4d 53 54 41 54 2a 20  .alias COMSTAT* 
7230: 4c 50 43 4f 4d 53 54 41 54 3b 0a 0a 73 74 72 75  LPCOMSTAT;..stru
7240: 63 74 20 43 52 45 41 54 45 5f 50 52 4f 43 45 53  ct CREATE_PROCES
7250: 53 5f 44 45 42 55 47 5f 49 4e 46 4f 20 7b 0a 09  S_DEBUG_INFO {..
7260: 48 41 4e 44 4c 45 20 68 46 69 6c 65 3b 0a 09 48  HANDLE hFile;..H
7270: 41 4e 44 4c 45 20 68 50 72 6f 63 65 73 73 3b 0a  ANDLE hProcess;.
7280: 09 48 41 4e 44 4c 45 20 68 54 68 72 65 61 64 3b  .HANDLE hThread;
7290: 0a 09 4c 50 56 4f 49 44 20 6c 70 42 61 73 65 4f  ..LPVOID lpBaseO
72a0: 66 49 6d 61 67 65 3b 0a 09 44 57 4f 52 44 20 20  fImage;..DWORD  
72b0: 64 77 44 65 62 75 67 49 6e 66 6f 46 69 6c 65 4f  dwDebugInfoFileO
72c0: 66 66 73 65 74 3b 0a 09 44 57 4f 52 44 20 20 6e  ffset;..DWORD  n
72d0: 44 65 62 75 67 49 6e 66 6f 53 69 7a 65 3b 0a 09  DebugInfoSize;..
72e0: 4c 50 56 4f 49 44 20 6c 70 54 68 72 65 61 64 4c  LPVOID lpThreadL
72f0: 6f 63 61 6c 42 61 73 65 3b 0a 09 4c 50 54 48 52  ocalBase;..LPTHR
7300: 45 41 44 5f 53 54 41 52 54 5f 52 4f 55 54 49 4e  EAD_START_ROUTIN
7310: 45 20 6c 70 53 74 61 72 74 41 64 64 72 65 73 73  E lpStartAddress
7320: 3b 0a 09 4c 50 56 4f 49 44 20 6c 70 49 6d 61 67  ;..LPVOID lpImag
7330: 65 4e 61 6d 65 3b 0a 09 57 4f 52 44 20 20 20 66  eName;..WORD   f
7340: 55 6e 69 63 6f 64 65 3b 0a 7d 0a 61 6c 69 61 73  Unicode;.}.alias
7350: 20 43 52 45 41 54 45 5f 50 52 4f 43 45 53 53 5f   CREATE_PROCESS_
7360: 44 45 42 55 47 5f 49 4e 46 4f 2a 20 4c 50 43 52  DEBUG_INFO* LPCR
7370: 45 41 54 45 5f 50 52 4f 43 45 53 53 5f 44 45 42  EATE_PROCESS_DEB
7380: 55 47 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74  UG_INFO;..struct
7390: 20 43 52 45 41 54 45 5f 54 48 52 45 41 44 5f 44   CREATE_THREAD_D
73a0: 45 42 55 47 5f 49 4e 46 4f 20 7b 0a 09 48 41 4e  EBUG_INFO {..HAN
73b0: 44 4c 45 20 68 54 68 72 65 61 64 3b 0a 09 4c 50  DLE hThread;..LP
73c0: 56 4f 49 44 20 6c 70 54 68 72 65 61 64 4c 6f 63  VOID lpThreadLoc
73d0: 61 6c 42 61 73 65 3b 0a 09 4c 50 54 48 52 45 41  alBase;..LPTHREA
73e0: 44 5f 53 54 41 52 54 5f 52 4f 55 54 49 4e 45 20  D_START_ROUTINE 
73f0: 6c 70 53 74 61 72 74 41 64 64 72 65 73 73 3b 0a  lpStartAddress;.
7400: 7d 0a 61 6c 69 61 73 20 43 52 45 41 54 45 5f 54  }.alias CREATE_T
7410: 48 52 45 41 44 5f 44 45 42 55 47 5f 49 4e 46 4f  HREAD_DEBUG_INFO
7420: 2a 20 4c 50 43 52 45 41 54 45 5f 54 48 52 45 41  * LPCREATE_THREA
7430: 44 5f 44 45 42 55 47 5f 49 4e 46 4f 3b 0a 0a 73  D_DEBUG_INFO;..s
7440: 74 72 75 63 74 20 45 58 43 45 50 54 49 4f 4e 5f  truct EXCEPTION_
7450: 44 45 42 55 47 5f 49 4e 46 4f 20 7b 0a 09 45 58  DEBUG_INFO {..EX
7460: 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 20 45  CEPTION_RECORD E
7470: 78 63 65 70 74 69 6f 6e 52 65 63 6f 72 64 3b 0a  xceptionRecord;.
7480: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20  .DWORD          
7490: 20 20 64 77 46 69 72 73 74 43 68 61 6e 63 65 3b    dwFirstChance;
74a0: 0a 7d 0a 61 6c 69 61 73 20 45 58 43 45 50 54 49  .}.alias EXCEPTI
74b0: 4f 4e 5f 44 45 42 55 47 5f 49 4e 46 4f 2a 20 4c  ON_DEBUG_INFO* L
74c0: 50 45 58 43 45 50 54 49 4f 4e 5f 44 45 42 55 47  PEXCEPTION_DEBUG
74d0: 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 45  _INFO;..struct E
74e0: 58 49 54 5f 54 48 52 45 41 44 5f 44 45 42 55 47  XIT_THREAD_DEBUG
74f0: 5f 49 4e 46 4f 20 7b 0a 09 44 57 4f 52 44 20 64  _INFO {..DWORD d
7500: 77 45 78 69 74 43 6f 64 65 3b 0a 7d 0a 61 6c 69  wExitCode;.}.ali
7510: 61 73 20 45 58 49 54 5f 54 48 52 45 41 44 5f 44  as EXIT_THREAD_D
7520: 45 42 55 47 5f 49 4e 46 4f 2a 20 4c 50 45 58 49  EBUG_INFO* LPEXI
7530: 54 5f 54 48 52 45 41 44 5f 44 45 42 55 47 5f 49  T_THREAD_DEBUG_I
7540: 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 45 58 49  NFO;..struct EXI
7550: 54 5f 50 52 4f 43 45 53 53 5f 44 45 42 55 47 5f  T_PROCESS_DEBUG_
7560: 49 4e 46 4f 20 7b 0a 09 44 57 4f 52 44 20 64 77  INFO {..DWORD dw
7570: 45 78 69 74 43 6f 64 65 3b 0a 7d 0a 61 6c 69 61  ExitCode;.}.alia
7580: 73 20 45 58 49 54 5f 50 52 4f 43 45 53 53 5f 44  s EXIT_PROCESS_D
7590: 45 42 55 47 5f 49 4e 46 4f 2a 20 4c 50 45 58 49  EBUG_INFO* LPEXI
75a0: 54 5f 50 52 4f 43 45 53 53 5f 44 45 42 55 47 5f  T_PROCESS_DEBUG_
75b0: 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 4c 4f  INFO;..struct LO
75c0: 41 44 5f 44 4c 4c 5f 44 45 42 55 47 5f 49 4e 46  AD_DLL_DEBUG_INF
75d0: 4f 20 7b 0a 09 48 41 4e 44 4c 45 20 68 46 69 6c  O {..HANDLE hFil
75e0: 65 3b 0a 09 4c 50 56 4f 49 44 20 6c 70 42 61 73  e;..LPVOID lpBas
75f0: 65 4f 66 44 6c 6c 3b 0a 09 44 57 4f 52 44 20 20  eOfDll;..DWORD  
7600: 64 77 44 65 62 75 67 49 6e 66 6f 46 69 6c 65 4f  dwDebugInfoFileO
7610: 66 66 73 65 74 3b 0a 09 44 57 4f 52 44 20 20 6e  ffset;..DWORD  n
7620: 44 65 62 75 67 49 6e 66 6f 53 69 7a 65 3b 0a 09  DebugInfoSize;..
7630: 4c 50 56 4f 49 44 20 6c 70 49 6d 61 67 65 4e 61  LPVOID lpImageNa
7640: 6d 65 3b 0a 09 57 4f 52 44 20 20 20 66 55 6e 69  me;..WORD   fUni
7650: 63 6f 64 65 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f  code;.}.alias LO
7660: 41 44 5f 44 4c 4c 5f 44 45 42 55 47 5f 49 4e 46  AD_DLL_DEBUG_INF
7670: 4f 2a 20 4c 50 4c 4f 41 44 5f 44 4c 4c 5f 44 45  O* LPLOAD_DLL_DE
7680: 42 55 47 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63  BUG_INFO;..struc
7690: 74 20 55 4e 4c 4f 41 44 5f 44 4c 4c 5f 44 45 42  t UNLOAD_DLL_DEB
76a0: 55 47 5f 49 4e 46 4f 20 7b 0a 09 4c 50 56 4f 49  UG_INFO {..LPVOI
76b0: 44 20 6c 70 42 61 73 65 4f 66 44 6c 6c 3b 0a 7d  D lpBaseOfDll;.}
76c0: 0a 61 6c 69 61 73 20 55 4e 4c 4f 41 44 5f 44 4c  .alias UNLOAD_DL
76d0: 4c 5f 44 45 42 55 47 5f 49 4e 46 4f 2a 20 4c 50  L_DEBUG_INFO* LP
76e0: 55 4e 4c 4f 41 44 5f 44 4c 4c 5f 44 45 42 55 47  UNLOAD_DLL_DEBUG
76f0: 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 4f  _INFO;..struct O
7700: 55 54 50 55 54 5f 44 45 42 55 47 5f 53 54 52 49  UTPUT_DEBUG_STRI
7710: 4e 47 5f 49 4e 46 4f 20 7b 0a 09 4c 50 53 54 52  NG_INFO {..LPSTR
7720: 20 6c 70 44 65 62 75 67 53 74 72 69 6e 67 44 61   lpDebugStringDa
7730: 74 61 3b 0a 09 57 4f 52 44 20 20 66 55 6e 69 63  ta;..WORD  fUnic
7740: 6f 64 65 3b 0a 09 57 4f 52 44 20 20 6e 44 65 62  ode;..WORD  nDeb
7750: 75 67 53 74 72 69 6e 67 4c 65 6e 67 74 68 3b 0a  ugStringLength;.
7760: 7d 0a 61 6c 69 61 73 20 4f 55 54 50 55 54 5f 44  }.alias OUTPUT_D
7770: 45 42 55 47 5f 53 54 52 49 4e 47 5f 49 4e 46 4f  EBUG_STRING_INFO
7780: 2a 20 4c 50 4f 55 54 50 55 54 5f 44 45 42 55 47  * LPOUTPUT_DEBUG
7790: 5f 53 54 52 49 4e 47 5f 49 4e 46 4f 3b 0a 0a 73  _STRING_INFO;..s
77a0: 74 72 75 63 74 20 52 49 50 5f 49 4e 46 4f 20 7b  truct RIP_INFO {
77b0: 0a 09 44 57 4f 52 44 20 64 77 45 72 72 6f 72 3b  ..DWORD dwError;
77c0: 0a 09 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0a  ..DWORD dwType;.
77d0: 7d 0a 61 6c 69 61 73 20 52 49 50 5f 49 4e 46 4f  }.alias RIP_INFO
77e0: 2a 20 4c 50 52 49 50 5f 49 4e 46 4f 3b 0a 0a 73  * LPRIP_INFO;..s
77f0: 74 72 75 63 74 20 44 45 42 55 47 5f 45 56 45 4e  truct DEBUG_EVEN
7800: 54 20 7b 0a 09 44 57 4f 52 44 20 64 77 44 65 62  T {..DWORD dwDeb
7810: 75 67 45 76 65 6e 74 43 6f 64 65 3b 0a 09 44 57  ugEventCode;..DW
7820: 4f 52 44 20 64 77 50 72 6f 63 65 73 73 49 64 3b  ORD dwProcessId;
7830: 0a 09 44 57 4f 52 44 20 64 77 54 68 72 65 61 64  ..DWORD dwThread
7840: 49 64 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 45  Id;..union {...E
7850: 58 43 45 50 54 49 4f 4e 5f 44 45 42 55 47 5f 49  XCEPTION_DEBUG_I
7860: 4e 46 4f 20 20 20 20 20 20 45 78 63 65 70 74 69  NFO      Excepti
7870: 6f 6e 3b 0a 09 09 43 52 45 41 54 45 5f 54 48 52  on;...CREATE_THR
7880: 45 41 44 5f 44 45 42 55 47 5f 49 4e 46 4f 20 20  EAD_DEBUG_INFO  
7890: 43 72 65 61 74 65 54 68 72 65 61 64 3b 0a 09 09  CreateThread;...
78a0: 43 52 45 41 54 45 5f 50 52 4f 43 45 53 53 5f 44  CREATE_PROCESS_D
78b0: 45 42 55 47 5f 49 4e 46 4f 20 43 72 65 61 74 65  EBUG_INFO Create
78c0: 50 72 6f 63 65 73 73 49 6e 66 6f 3b 0a 09 09 45  ProcessInfo;...E
78d0: 58 49 54 5f 54 48 52 45 41 44 5f 44 45 42 55 47  XIT_THREAD_DEBUG
78e0: 5f 49 4e 46 4f 20 20 20 20 45 78 69 74 54 68 72  _INFO    ExitThr
78f0: 65 61 64 3b 0a 09 09 45 58 49 54 5f 50 52 4f 43  ead;...EXIT_PROC
7900: 45 53 53 5f 44 45 42 55 47 5f 49 4e 46 4f 20 20  ESS_DEBUG_INFO  
7910: 20 45 78 69 74 50 72 6f 63 65 73 73 3b 0a 09 09   ExitProcess;...
7920: 4c 4f 41 44 5f 44 4c 4c 5f 44 45 42 55 47 5f 49  LOAD_DLL_DEBUG_I
7930: 4e 46 4f 20 20 20 20 20 20 20 4c 6f 61 64 44 6c  NFO       LoadDl
7940: 6c 3b 0a 09 09 55 4e 4c 4f 41 44 5f 44 4c 4c 5f  l;...UNLOAD_DLL_
7950: 44 45 42 55 47 5f 49 4e 46 4f 20 20 20 20 20 55  DEBUG_INFO     U
7960: 6e 6c 6f 61 64 44 6c 6c 3b 0a 09 09 4f 55 54 50  nloadDll;...OUTP
7970: 55 54 5f 44 45 42 55 47 5f 53 54 52 49 4e 47 5f  UT_DEBUG_STRING_
7980: 49 4e 46 4f 20 20 44 65 62 75 67 53 74 72 69 6e  INFO  DebugStrin
7990: 67 3b 0a 09 09 52 49 50 5f 49 4e 46 4f 20 20 20  g;...RIP_INFO   
79a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52                 R
79b0: 69 70 49 6e 66 6f 3b 0a 09 7d 0a 7d 0a 61 6c 69  ipInfo;..}.}.ali
79c0: 61 73 20 44 45 42 55 47 5f 45 56 45 4e 54 2a 20  as DEBUG_EVENT* 
79d0: 4c 50 44 45 42 55 47 5f 45 56 45 4e 54 3b 0a 0a  LPDEBUG_EVENT;..
79e0: 73 74 72 75 63 74 20 4f 56 45 52 4c 41 50 50 45  struct OVERLAPPE
79f0: 44 20 7b 0a 09 55 4c 4f 4e 47 5f 50 54 52 20 49  D {..ULONG_PTR I
7a00: 6e 74 65 72 6e 61 6c 3b 0a 09 55 4c 4f 4e 47 5f  nternal;..ULONG_
7a10: 50 54 52 20 49 6e 74 65 72 6e 61 6c 48 69 67 68  PTR InternalHigh
7a20: 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 73 74 72  ;..union {...str
7a30: 75 63 74 20 7b 0a 09 09 09 44 57 4f 52 44 20 20  uct {....DWORD  
7a40: 20 20 20 4f 66 66 73 65 74 3b 0a 09 09 09 44 57     Offset;....DW
7a50: 4f 52 44 20 20 20 20 20 4f 66 66 73 65 74 48 69  ORD     OffsetHi
7a60: 67 68 3b 0a 09 09 7d 0a 09 09 50 56 4f 49 44 20  gh;...}...PVOID 
7a70: 20 20 20 20 50 6f 69 6e 74 65 72 3b 0a 09 7d 0a      Pointer;..}.
7a80: 09 48 41 4e 44 4c 45 20 20 20 20 68 45 76 65 6e  .HANDLE    hEven
7a90: 74 3b 0a 7d 0a 61 6c 69 61 73 20 4f 56 45 52 4c  t;.}.alias OVERL
7aa0: 41 50 50 45 44 2a 20 50 4f 56 45 52 4c 41 50 50  APPED* POVERLAPP
7ab0: 45 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44  ED, LPOVERLAPPED
7ac0: 3b 0a 0a 73 74 72 75 63 74 20 53 54 41 52 54 55  ;..struct STARTU
7ad0: 50 49 4e 46 4f 41 20 7b 0a 09 44 57 4f 52 44 20  PINFOA {..DWORD 
7ae0: 20 63 62 20 3d 20 53 54 41 52 54 55 50 49 4e 46   cb = STARTUPINF
7af0: 4f 41 2e 73 69 7a 65 6f 66 3b 0a 09 4c 50 53 54  OA.sizeof;..LPST
7b00: 52 20 20 6c 70 52 65 73 65 72 76 65 64 3b 0a 09  R  lpReserved;..
7b10: 4c 50 53 54 52 20 20 6c 70 44 65 73 6b 74 6f 70  LPSTR  lpDesktop
7b20: 3b 0a 09 4c 50 53 54 52 20 20 6c 70 54 69 74 6c  ;..LPSTR  lpTitl
7b30: 65 3b 0a 09 44 57 4f 52 44 20 20 64 77 58 3b 0a  e;..DWORD  dwX;.
7b40: 09 44 57 4f 52 44 20 20 64 77 59 3b 0a 09 44 57  .DWORD  dwY;..DW
7b50: 4f 52 44 20 20 64 77 58 53 69 7a 65 3b 0a 09 44  ORD  dwXSize;..D
7b60: 57 4f 52 44 20 20 64 77 59 53 69 7a 65 3b 0a 09  WORD  dwYSize;..
7b70: 44 57 4f 52 44 20 20 64 77 58 43 6f 75 6e 74 43  DWORD  dwXCountC
7b80: 68 61 72 73 3b 0a 09 44 57 4f 52 44 20 20 64 77  hars;..DWORD  dw
7b90: 59 43 6f 75 6e 74 43 68 61 72 73 3b 0a 09 44 57  YCountChars;..DW
7ba0: 4f 52 44 20 20 64 77 46 69 6c 6c 41 74 74 72 69  ORD  dwFillAttri
7bb0: 62 75 74 65 3b 0a 09 44 57 4f 52 44 20 20 64 77  bute;..DWORD  dw
7bc0: 46 6c 61 67 73 3b 0a 09 57 4f 52 44 20 20 20 77  Flags;..WORD   w
7bd0: 53 68 6f 77 57 69 6e 64 6f 77 3b 0a 09 57 4f 52  ShowWindow;..WOR
7be0: 44 20 20 20 63 62 52 65 73 65 72 76 65 64 32 3b  D   cbReserved2;
7bf0: 0a 09 50 42 59 54 45 20 20 6c 70 52 65 73 65 72  ..PBYTE  lpReser
7c00: 76 65 64 32 3b 0a 09 48 41 4e 44 4c 45 20 68 53  ved2;..HANDLE hS
7c10: 74 64 49 6e 70 75 74 3b 0a 09 48 41 4e 44 4c 45  tdInput;..HANDLE
7c20: 20 68 53 74 64 4f 75 74 70 75 74 3b 0a 09 48 41   hStdOutput;..HA
7c30: 4e 44 4c 45 20 68 53 74 64 45 72 72 6f 72 3b 0a  NDLE hStdError;.
7c40: 7d 0a 61 6c 69 61 73 20 53 54 41 52 54 55 50 49  }.alias STARTUPI
7c50: 4e 46 4f 41 2a 20 4c 50 53 54 41 52 54 55 50 49  NFOA* LPSTARTUPI
7c60: 4e 46 4f 41 3b 0a 0a 73 74 72 75 63 74 20 53 54  NFOA;..struct ST
7c70: 41 52 54 55 50 49 4e 46 4f 57 20 7b 0a 09 44 57  ARTUPINFOW {..DW
7c80: 4f 52 44 20 20 63 62 20 3d 20 53 54 41 52 54 55  ORD  cb = STARTU
7c90: 50 49 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b 0a 09  PINFOW.sizeof;..
7ca0: 4c 50 57 53 54 52 20 6c 70 52 65 73 65 72 76 65  LPWSTR lpReserve
7cb0: 64 3b 0a 09 4c 50 57 53 54 52 20 6c 70 44 65 73  d;..LPWSTR lpDes
7cc0: 6b 74 6f 70 3b 0a 09 4c 50 57 53 54 52 20 6c 70  ktop;..LPWSTR lp
7cd0: 54 69 74 6c 65 3b 0a 09 44 57 4f 52 44 20 20 64  Title;..DWORD  d
7ce0: 77 58 3b 0a 09 44 57 4f 52 44 20 20 64 77 59 3b  wX;..DWORD  dwY;
7cf0: 0a 09 44 57 4f 52 44 20 20 64 77 58 53 69 7a 65  ..DWORD  dwXSize
7d00: 3b 0a 09 44 57 4f 52 44 20 20 64 77 59 53 69 7a  ;..DWORD  dwYSiz
7d10: 65 3b 0a 09 44 57 4f 52 44 20 20 64 77 58 43 6f  e;..DWORD  dwXCo
7d20: 75 6e 74 43 68 61 72 73 3b 0a 09 44 57 4f 52 44  untChars;..DWORD
7d30: 20 20 64 77 59 43 6f 75 6e 74 43 68 61 72 73 3b    dwYCountChars;
7d40: 0a 09 44 57 4f 52 44 20 20 64 77 46 69 6c 6c 41  ..DWORD  dwFillA
7d50: 74 74 72 69 62 75 74 65 3b 0a 09 44 57 4f 52 44  ttribute;..DWORD
7d60: 20 20 64 77 46 6c 61 67 73 3b 0a 09 57 4f 52 44    dwFlags;..WORD
7d70: 20 20 20 77 53 68 6f 77 57 69 6e 64 6f 77 3b 0a     wShowWindow;.
7d80: 09 57 4f 52 44 20 20 20 63 62 52 65 73 65 72 76  .WORD   cbReserv
7d90: 65 64 32 3b 0a 09 50 42 59 54 45 20 20 6c 70 52  ed2;..PBYTE  lpR
7da0: 65 73 65 72 76 65 64 32 3b 0a 09 48 41 4e 44 4c  eserved2;..HANDL
7db0: 45 20 68 53 74 64 49 6e 70 75 74 3b 0a 09 48 41  E hStdInput;..HA
7dc0: 4e 44 4c 45 20 68 53 74 64 4f 75 74 70 75 74 3b  NDLE hStdOutput;
7dd0: 0a 09 48 41 4e 44 4c 45 20 68 53 74 64 45 72 72  ..HANDLE hStdErr
7de0: 6f 72 3b 0a 7d 0a 61 6c 69 61 73 20 53 54 41 52  or;.}.alias STAR
7df0: 54 55 50 49 4e 46 4f 57 2a 20 4c 50 53 54 41 52  TUPINFOW* LPSTAR
7e00: 54 55 50 49 4e 46 4f 57 3b 0a 0a 73 74 72 75 63  TUPINFOW;..struc
7e10: 74 20 50 52 4f 43 45 53 53 5f 49 4e 46 4f 52 4d  t PROCESS_INFORM
7e20: 41 54 49 4f 4e 20 7b 0a 09 48 41 4e 44 4c 45 20  ATION {..HANDLE 
7e30: 68 50 72 6f 63 65 73 73 3b 0a 09 48 41 4e 44 4c  hProcess;..HANDL
7e40: 45 20 68 54 68 72 65 61 64 3b 0a 09 44 57 4f 52  E hThread;..DWOR
7e50: 44 20 20 64 77 50 72 6f 63 65 73 73 49 64 3b 0a  D  dwProcessId;.
7e60: 09 44 57 4f 52 44 20 20 64 77 54 68 72 65 61 64  .DWORD  dwThread
7e70: 49 64 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 4f 43  Id;.}.alias PROC
7e80: 45 53 53 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a  ESS_INFORMATION*
7e90: 20 50 50 52 4f 43 45 53 53 5f 49 4e 46 4f 52 4d   PPROCESS_INFORM
7ea0: 41 54 49 4f 4e 2c 20 4c 50 50 52 4f 43 45 53 53  ATION, LPPROCESS
7eb0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73  _INFORMATION;..s
7ec0: 74 72 75 63 74 20 43 52 49 54 49 43 41 4c 5f 53  truct CRITICAL_S
7ed0: 45 43 54 49 4f 4e 5f 44 45 42 55 47 20 7b 0a 09  ECTION_DEBUG {..
7ee0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
7ef0: 20 20 54 79 70 65 3b 0a 09 57 4f 52 44 20 20 20    Type;..WORD   
7f00: 20 20 20 20 20 20 20 20 20 20 20 43 72 65 61 74             Creat
7f10: 6f 72 42 61 63 6b 54 72 61 63 65 49 6e 64 65 78  orBackTraceIndex
7f20: 3b 0a 09 43 52 49 54 49 43 41 4c 5f 53 45 43 54  ;..CRITICAL_SECT
7f30: 49 4f 4e 2a 20 43 72 69 74 69 63 61 6c 53 65 63  ION* CriticalSec
7f40: 74 69 6f 6e 3b 0a 09 4c 49 53 54 5f 45 4e 54 52  tion;..LIST_ENTR
7f50: 59 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73  Y        Process
7f60: 4c 6f 63 6b 73 4c 69 73 74 3b 0a 09 44 57 4f 52  LocksList;..DWOR
7f70: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e  D             En
7f80: 74 72 79 43 6f 75 6e 74 3b 0a 09 44 57 4f 52 44  tryCount;..DWORD
7f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e               Con
7fa0: 74 65 6e 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 44  tentionCount;..D
7fb0: 57 4f 52 44 5b 32 5d 20 20 20 20 20 20 20 20 20  WORD[2]         
7fc0: 20 53 70 61 72 65 3b 0a 7d 0a 61 6c 69 61 73 20   Spare;.}.alias 
7fd0: 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e  CRITICAL_SECTION
7fe0: 5f 44 45 42 55 47 2a 20 50 43 52 49 54 49 43 41  _DEBUG* PCRITICA
7ff0: 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 3b  L_SECTION_DEBUG;
8000: 0a 0a 73 74 72 75 63 74 20 43 52 49 54 49 43 41  ..struct CRITICA
8010: 4c 5f 53 45 43 54 49 4f 4e 20 7b 0a 09 50 43 52  L_SECTION {..PCR
8020: 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44  ITICAL_SECTION_D
8030: 45 42 55 47 20 44 65 62 75 67 49 6e 66 6f 3b 0a  EBUG DebugInfo;.
8040: 09 4c 4f 4e 47 20 20 20 4c 6f 63 6b 43 6f 75 6e  .LONG   LockCoun
8050: 74 3b 0a 09 4c 4f 4e 47 20 20 20 52 65 63 75 72  t;..LONG   Recur
8060: 73 69 6f 6e 43 6f 75 6e 74 3b 0a 09 48 41 4e 44  sionCount;..HAND
8070: 4c 45 20 4f 77 6e 69 6e 67 54 68 72 65 61 64 3b  LE OwningThread;
8080: 0a 09 48 41 4e 44 4c 45 20 4c 6f 63 6b 53 65 6d  ..HANDLE LockSem
8090: 61 70 68 6f 72 65 3b 0a 09 44 57 4f 52 44 20 20  aphore;..DWORD  
80a0: 53 70 69 6e 43 6f 75 6e 74 3b 0a 7d 0a 61 6c 69  SpinCount;.}.ali
80b0: 61 73 20 43 52 49 54 49 43 41 4c 5f 53 45 43 54  as CRITICAL_SECT
80c0: 49 4f 4e 2a 20 50 43 52 49 54 49 43 41 4c 5f 53  ION* PCRITICAL_S
80d0: 45 43 54 49 4f 4e 2c 20 4c 50 43 52 49 54 49 43  ECTION, LPCRITIC
80e0: 41 4c 5f 53 45 43 54 49 4f 4e 3b 0a 0a 73 74 72  AL_SECTION;..str
80f0: 75 63 74 20 53 59 53 54 45 4d 54 49 4d 45 20 7b  uct SYSTEMTIME {
8100: 0a 09 57 4f 52 44 20 77 59 65 61 72 3b 0a 09 57  ..WORD wYear;..W
8110: 4f 52 44 20 77 4d 6f 6e 74 68 3b 0a 09 57 4f 52  ORD wMonth;..WOR
8120: 44 20 77 44 61 79 4f 66 57 65 65 6b 3b 0a 09 57  D wDayOfWeek;..W
8130: 4f 52 44 20 77 44 61 79 3b 0a 09 57 4f 52 44 20  ORD wDay;..WORD 
8140: 77 48 6f 75 72 3b 0a 09 57 4f 52 44 20 77 4d 69  wHour;..WORD wMi
8150: 6e 75 74 65 3b 0a 09 57 4f 52 44 20 77 53 65 63  nute;..WORD wSec
8160: 6f 6e 64 3b 0a 09 57 4f 52 44 20 77 4d 69 6c 6c  ond;..WORD wMill
8170: 69 73 65 63 6f 6e 64 73 3b 0a 7d 0a 61 6c 69 61  iseconds;.}.alia
8180: 73 20 53 59 53 54 45 4d 54 49 4d 45 2a 20 4c 50  s SYSTEMTIME* LP
8190: 53 59 53 54 45 4d 54 49 4d 45 3b 0a 0a 73 74 61  SYSTEMTIME;..sta
81a0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
81b0: 49 4e 44 4f 57 53 20 3e 3d 20 30 78 34 31 30 29  INDOWS >= 0x410)
81c0: 20 7b 0a 09 73 74 72 75 63 74 20 57 49 4e 33 32   {..struct WIN32
81d0: 5f 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f  _FILE_ATTRIBUTE_
81e0: 44 41 54 41 20 7b 0a 09 09 44 57 4f 52 44 20 20  DATA {...DWORD  
81f0: 20 20 64 77 46 69 6c 65 41 74 74 72 69 62 75 74    dwFileAttribut
8200: 65 73 3b 0a 09 09 46 49 4c 45 54 49 4d 45 20 66  es;...FILETIME f
8210: 74 43 72 65 61 74 69 6f 6e 54 69 6d 65 3b 0a 09  tCreationTime;..
8220: 09 46 49 4c 45 54 49 4d 45 20 66 74 4c 61 73 74  .FILETIME ftLast
8230: 41 63 63 65 73 73 54 69 6d 65 3b 0a 09 09 46 49  AccessTime;...FI
8240: 4c 45 54 49 4d 45 20 66 74 4c 61 73 74 57 72 69  LETIME ftLastWri
8250: 74 65 54 69 6d 65 3b 0a 09 09 44 57 4f 52 44 20  teTime;...DWORD 
8260: 20 20 20 6e 46 69 6c 65 53 69 7a 65 48 69 67 68     nFileSizeHigh
8270: 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 6e 46 69  ;...DWORD    nFi
8280: 6c 65 53 69 7a 65 4c 6f 77 3b 0a 09 7d 0a 09 61  leSizeLow;..}..a
8290: 6c 69 61 73 20 57 49 4e 33 32 5f 46 49 4c 45 5f  lias WIN32_FILE_
82a0: 41 54 54 52 49 42 55 54 45 5f 44 41 54 41 2a 20  ATTRIBUTE_DATA* 
82b0: 4c 50 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54 54  LPWIN32_FILE_ATT
82c0: 52 49 42 55 54 45 5f 44 41 54 41 3b 0a 7d 0a 0a  RIBUTE_DATA;.}..
82d0: 73 74 72 75 63 74 20 57 49 4e 33 32 5f 46 49 4e  struct WIN32_FIN
82e0: 44 5f 44 41 54 41 41 20 7b 0a 09 44 57 4f 52 44  D_DATAA {..DWORD
82f0: 20 20 20 20 20 20 20 20 20 20 64 77 46 69 6c 65            dwFile
8300: 41 74 74 72 69 62 75 74 65 73 3b 0a 09 46 49 4c  Attributes;..FIL
8310: 45 54 49 4d 45 20 20 20 20 20 20 20 66 74 43 72  ETIME       ftCr
8320: 65 61 74 69 6f 6e 54 69 6d 65 3b 0a 09 46 49 4c  eationTime;..FIL
8330: 45 54 49 4d 45 20 20 20 20 20 20 20 66 74 4c 61  ETIME       ftLa
8340: 73 74 41 63 63 65 73 73 54 69 6d 65 3b 0a 09 46  stAccessTime;..F
8350: 49 4c 45 54 49 4d 45 20 20 20 20 20 20 20 66 74  ILETIME       ft
8360: 4c 61 73 74 57 72 69 74 65 54 69 6d 65 3b 0a 09  LastWriteTime;..
8370: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 6e  DWORD          n
8380: 46 69 6c 65 53 69 7a 65 48 69 67 68 3b 0a 09 44  FileSizeHigh;..D
8390: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 6e 46  WORD          nF
83a0: 69 6c 65 53 69 7a 65 4c 6f 77 3b 0a 2f 2f 20 23  ileSizeLow;.// #
83b0: 69 66 64 65 66 20 5f 57 49 4e 33 32 5f 57 43 45  ifdef _WIN32_WCE
83c0: 0a 2f 2f 09 44 57 4f 52 44 20 64 77 4f 49 44 3b  .//.DWORD dwOID;
83d0: 0a 2f 2f 20 23 65 6c 73 65 0a 09 44 57 4f 52 44  .// #else..DWORD
83e0: 20 20 20 20 20 20 20 20 20 20 64 77 52 65 73 65            dwRese
83f0: 72 76 65 64 30 3b 0a 09 44 57 4f 52 44 20 20 20  rved0;..DWORD   
8400: 20 20 20 20 20 20 20 64 77 52 65 73 65 72 76 65         dwReserve
8410: 64 31 3b 0a 2f 2f 20 23 65 6e 64 69 66 0a 09 43  d1;.// #endif..C
8420: 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d 20 63 46  HAR[MAX_PATH] cF
8430: 69 6c 65 4e 61 6d 65 3b 0a 2f 2f 20 23 69 66 6e  ileName;.// #ifn
8440: 64 65 66 20 5f 57 49 4e 33 32 5f 57 43 45 0a 09  def _WIN32_WCE..
8450: 43 48 41 52 5b 31 34 5d 20 20 20 20 20 20 20 63  CHAR[14]       c
8460: 41 6c 74 65 72 6e 61 74 65 46 69 6c 65 4e 61 6d  AlternateFileNam
8470: 65 3b 0a 2f 2f 20 23 65 6e 64 69 66 0a 7d 0a 61  e;.// #endif.}.a
8480: 6c 69 61 73 20 57 49 4e 33 32 5f 46 49 4e 44 5f  lias WIN32_FIND_
8490: 44 41 54 41 41 2a 20 50 57 49 4e 33 32 5f 46 49  DATAA* PWIN32_FI
84a0: 4e 44 5f 44 41 54 41 41 2c 20 4c 50 57 49 4e 33  ND_DATAA, LPWIN3
84b0: 32 5f 46 49 4e 44 5f 44 41 54 41 41 3b 0a 0a 73  2_FIND_DATAA;..s
84c0: 74 72 75 63 74 20 57 49 4e 33 32 5f 46 49 4e 44  truct WIN32_FIND
84d0: 5f 44 41 54 41 57 20 7b 0a 09 44 57 4f 52 44 20  _DATAW {..DWORD 
84e0: 20 20 20 20 20 20 20 20 20 20 64 77 46 69 6c 65            dwFile
84f0: 41 74 74 72 69 62 75 74 65 73 3b 0a 09 46 49 4c  Attributes;..FIL
8500: 45 54 49 4d 45 20 20 20 20 20 20 20 20 66 74 43  ETIME        ftC
8510: 72 65 61 74 69 6f 6e 54 69 6d 65 3b 0a 09 46 49  reationTime;..FI
8520: 4c 45 54 49 4d 45 20 20 20 20 20 20 20 20 66 74  LETIME        ft
8530: 4c 61 73 74 41 63 63 65 73 73 54 69 6d 65 3b 0a  LastAccessTime;.
8540: 09 46 49 4c 45 54 49 4d 45 20 20 20 20 20 20 20  .FILETIME       
8550: 20 66 74 4c 61 73 74 57 72 69 74 65 54 69 6d 65   ftLastWriteTime
8560: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
8570: 20 20 20 6e 46 69 6c 65 53 69 7a 65 48 69 67 68     nFileSizeHigh
8580: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
8590: 20 20 20 6e 46 69 6c 65 53 69 7a 65 4c 6f 77 3b     nFileSizeLow;
85a0: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
85b0: 32 5f 57 43 45 0a 2f 2f 20 09 44 57 4f 52 44 20  2_WCE.// .DWORD 
85c0: 64 77 4f 49 44 3b 0a 2f 2f 20 23 65 6c 73 65 0a  dwOID;.// #else.
85d0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20  .DWORD          
85e0: 20 64 77 52 65 73 65 72 76 65 64 30 3b 0a 09 44   dwReserved0;..D
85f0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 64  WORD           d
8600: 77 52 65 73 65 72 76 65 64 31 3b 0a 2f 2f 20 23  wReserved1;.// #
8610: 65 6e 64 69 66 0a 09 57 43 48 41 52 5b 4d 41 58  endif..WCHAR[MAX
8620: 5f 50 41 54 48 5d 20 63 46 69 6c 65 4e 61 6d 65  _PATH] cFileName
8630: 3b 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49  ;.// #ifndef _WI
8640: 4e 33 32 5f 57 43 45 0a 09 57 43 48 41 52 5b 31  N32_WCE..WCHAR[1
8650: 34 5d 20 20 20 20 20 20 20 63 41 6c 74 65 72 6e  4]       cAltern
8660: 61 74 65 46 69 6c 65 4e 61 6d 65 3b 0a 2f 2f 20  ateFileName;.// 
8670: 23 65 6e 64 69 66 0a 7d 0a 61 6c 69 61 73 20 57  #endif.}.alias W
8680: 49 4e 33 32 5f 46 49 4e 44 5f 44 41 54 41 57 2a  IN32_FIND_DATAW*
8690: 20 50 57 49 4e 33 32 5f 46 49 4e 44 5f 44 41 54   PWIN32_FIND_DAT
86a0: 41 57 2c 20 4c 50 57 49 4e 33 32 5f 46 49 4e 44  AW, LPWIN32_FIND
86b0: 5f 44 41 54 41 57 3b 0a 0a 73 74 61 74 69 63 20  _DATAW;..static 
86c0: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
86d0: 5f 4f 4e 4c 59 29 20 7b 0a 09 73 74 72 75 63 74  _ONLY) {..struct
86e0: 20 57 49 4e 33 32 5f 53 54 52 45 41 4d 5f 49 44   WIN32_STREAM_ID
86f0: 20 7b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20   {...DWORD      
8700: 20 20 20 64 77 53 74 72 65 61 6d 49 64 3b 0a 09     dwStreamId;..
8710: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64  .DWORD         d
8720: 77 53 74 72 65 61 6d 41 74 74 72 69 62 75 74 65  wStreamAttribute
8730: 73 3b 0a 09 09 4c 41 52 47 45 5f 49 4e 54 45 47  s;...LARGE_INTEG
8740: 45 52 20 53 69 7a 65 3b 0a 09 09 44 57 4f 52 44  ER Size;...DWORD
8750: 20 20 20 20 20 20 20 20 20 64 77 53 74 72 65 61           dwStrea
8760: 6d 4e 61 6d 65 53 69 7a 65 3b 0a 09 09 57 43 48  mNameSize;...WCH
8770: 41 52 20 20 20 20 20 20 20 20 20 5f 63 53 74 72  AR         _cStr
8780: 65 61 6d 4e 61 6d 65 3b 0a 0a 09 09 57 43 48 41  eamName;....WCHA
8790: 52 2a 20 63 53 74 72 65 61 6d 4e 61 6d 65 28 29  R* cStreamName()
87a0: 20 7b 20 72 65 74 75 72 6e 20 26 5f 63 53 74 72   { return &_cStr
87b0: 65 61 6d 4e 61 6d 65 3b 20 7d 0a 09 7d 0a 09 61  eamName; }..}..a
87c0: 6c 69 61 73 20 57 49 4e 33 32 5f 53 54 52 45 41  lias WIN32_STREA
87d0: 4d 5f 49 44 2a 20 4c 50 57 49 4e 33 32 5f 53 54  M_ID* LPWIN32_ST
87e0: 52 45 41 4d 5f 49 44 3b 0a 0a 09 65 6e 75 6d 20  REAM_ID;...enum 
87f0: 46 49 4e 44 45 58 5f 49 4e 46 4f 5f 4c 45 56 45  FINDEX_INFO_LEVE
8800: 4c 53 20 7b 0a 09 09 46 69 6e 64 45 78 49 6e 66  LS {...FindExInf
8810: 6f 53 74 61 6e 64 61 72 64 2c 0a 09 09 46 69 6e  oStandard,...Fin
8820: 64 45 78 49 6e 66 6f 4d 61 78 49 6e 66 6f 4c 65  dExInfoMaxInfoLe
8830: 76 65 6c 0a 09 7d 0a 0a 09 65 6e 75 6d 20 46 49  vel..}...enum FI
8840: 4e 44 45 58 5f 53 45 41 52 43 48 5f 4f 50 53 20  NDEX_SEARCH_OPS 
8850: 7b 0a 09 09 46 69 6e 64 45 78 53 65 61 72 63 68  {...FindExSearch
8860: 4e 61 6d 65 4d 61 74 63 68 2c 0a 09 09 46 69 6e  NameMatch,...Fin
8870: 64 45 78 53 65 61 72 63 68 4c 69 6d 69 74 54 6f  dExSearchLimitTo
8880: 44 69 72 65 63 74 6f 72 69 65 73 2c 0a 09 09 46  Directories,...F
8890: 69 6e 64 45 78 53 65 61 72 63 68 4c 69 6d 69 74  indExSearchLimit
88a0: 54 6f 44 65 76 69 63 65 73 2c 0a 09 09 46 69 6e  ToDevices,...Fin
88b0: 64 45 78 53 65 61 72 63 68 4d 61 78 53 65 61 72  dExSearchMaxSear
88c0: 63 68 4f 70 0a 09 7d 0a 0a 09 65 6e 75 6d 20 41  chOp..}...enum A
88d0: 43 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  CL_INFORMATION_C
88e0: 4c 41 53 53 20 7b 0a 09 09 41 63 6c 52 65 76 69  LASS {...AclRevi
88f0: 73 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 20  sionInformation 
8900: 3d 20 31 2c 0a 09 09 41 63 6c 53 69 7a 65 49 6e  = 1,...AclSizeIn
8910: 66 6f 72 6d 61 74 69 6f 6e 0a 09 7d 0a 0a 09 73  formation..}...s
8920: 74 72 75 63 74 20 48 57 5f 50 52 4f 46 49 4c 45  truct HW_PROFILE
8930: 5f 49 4e 46 4f 41 20 7b 0a 09 09 44 57 4f 52 44  _INFOA {...DWORD
8940: 20 64 77 44 6f 63 6b 49 6e 66 6f 3b 0a 09 09 43   dwDockInfo;...C
8950: 48 41 52 5b 48 57 5f 50 52 4f 46 49 4c 45 5f 47  HAR[HW_PROFILE_G
8960: 55 49 44 4c 45 4e 5d 20 73 7a 48 77 50 72 6f 66  UIDLEN] szHwProf
8970: 69 6c 65 47 75 69 64 3b 0a 09 09 43 48 41 52 5b  ileGuid;...CHAR[
8980: 4d 41 58 5f 50 52 4f 46 49 4c 45 5f 4c 45 4e 5d  MAX_PROFILE_LEN]
8990: 20 20 20 20 73 7a 48 77 50 72 6f 66 69 6c 65 4e      szHwProfileN
89a0: 61 6d 65 3b 0a 09 7d 0a 09 61 6c 69 61 73 20 48  ame;..}..alias H
89b0: 57 5f 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 41 2a  W_PROFILE_INFOA*
89c0: 20 4c 50 48 57 5f 50 52 4f 46 49 4c 45 5f 49 4e   LPHW_PROFILE_IN
89d0: 46 4f 41 3b 0a 0a 09 73 74 72 75 63 74 20 48 57  FOA;...struct HW
89e0: 5f 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 57 20 7b  _PROFILE_INFOW {
89f0: 0a 09 09 44 57 4f 52 44 20 64 77 44 6f 63 6b 49  ...DWORD dwDockI
8a00: 6e 66 6f 3b 0a 09 09 57 43 48 41 52 5b 48 57 5f  nfo;...WCHAR[HW_
8a10: 50 52 4f 46 49 4c 45 5f 47 55 49 44 4c 45 4e 5d  PROFILE_GUIDLEN]
8a20: 20 73 7a 48 77 50 72 6f 66 69 6c 65 47 75 69 64   szHwProfileGuid
8a30: 3b 0a 09 09 57 43 48 41 52 5b 4d 41 58 5f 50 52  ;...WCHAR[MAX_PR
8a40: 4f 46 49 4c 45 5f 4c 45 4e 5d 20 20 20 20 73 7a  OFILE_LEN]    sz
8a50: 48 77 50 72 6f 66 69 6c 65 4e 61 6d 65 3b 0a 09  HwProfileName;..
8a60: 7d 0a 09 61 6c 69 61 73 20 48 57 5f 50 52 4f 46  }..alias HW_PROF
8a70: 49 4c 45 5f 49 4e 46 4f 57 2a 20 4c 50 48 57 5f  ILE_INFOW* LPHW_
8a80: 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 57 3b 0a 7d  PROFILE_INFOW;.}
8a90: 0a 0a 2f 2a 09 3f 3f 3f 20 4d 53 44 4e 20 64 6f  ../*.??? MSDN do
8aa0: 63 75 6d 65 6e 74 73 20 74 68 69 73 20 6f 6e 6c  cuments this onl
8ab0: 79 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 43 45  y for Windows CE
8ac0: 2f 4d 6f 62 69 6c 65 2c 20 62 75 74 20 69 74 27  /Mobile, but it'
8ad0: 73 20 75 73 65 64 20 62 79 0a 20 2a 09 47 65 74  s used by. *.Get
8ae0: 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 45 78  FileAttributesEx
8af0: 2c 20 77 68 69 63 68 20 69 73 20 69 6e 20 64 65  , which is in de
8b00: 73 6b 74 6f 70 20 57 69 6e 64 6f 77 73 2e 0a 20  sktop Windows.. 
8b10: 2a 2f 0a 65 6e 75 6d 20 47 45 54 5f 46 49 4c 45  */.enum GET_FILE
8b20: 45 58 5f 49 4e 46 4f 5f 4c 45 56 45 4c 53 20 7b  EX_INFO_LEVELS {
8b30: 0a 09 47 65 74 46 69 6c 65 45 78 49 6e 66 6f 53  ..GetFileExInfoS
8b40: 74 61 6e 64 61 72 64 2c 0a 09 47 65 74 46 69 6c  tandard,..GetFil
8b50: 65 45 78 4d 61 78 49 6e 66 6f 4c 65 76 65 6c 0a  eExMaxInfoLevel.
8b60: 7d 0a 0a 73 74 72 75 63 74 20 53 59 53 54 45 4d  }..struct SYSTEM
8b70: 5f 49 4e 46 4f 20 7b 0a 09 75 6e 69 6f 6e 20 7b  _INFO {..union {
8b80: 0a 09 09 44 57 4f 52 44 20 64 77 4f 65 6d 49 64  ...DWORD dwOemId
8b90: 3b 0a 09 09 73 74 72 75 63 74 20 7b 0a 09 09 09  ;...struct {....
8ba0: 57 4f 52 44 20 77 50 72 6f 63 65 73 73 6f 72 41  WORD wProcessorA
8bb0: 72 63 68 69 74 65 63 74 75 72 65 3b 0a 09 09 09  rchitecture;....
8bc0: 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 3b 0a  WORD wReserved;.
8bd0: 09 09 7d 0a 09 7d 0a 09 44 57 4f 52 44 20 64 77  ..}..}..DWORD dw
8be0: 50 61 67 65 53 69 7a 65 3b 0a 09 50 56 4f 49 44  PageSize;..PVOID
8bf0: 20 6c 70 4d 69 6e 69 6d 75 6d 41 70 70 6c 69 63   lpMinimumApplic
8c00: 61 74 69 6f 6e 41 64 64 72 65 73 73 3b 0a 09 50  ationAddress;..P
8c10: 56 4f 49 44 20 6c 70 4d 61 78 69 6d 75 6d 41 70  VOID lpMaximumAp
8c20: 70 6c 69 63 61 74 69 6f 6e 41 64 64 72 65 73 73  plicationAddress
8c30: 3b 0a 09 44 57 4f 52 44 20 64 77 41 63 74 69 76  ;..DWORD dwActiv
8c40: 65 50 72 6f 63 65 73 73 6f 72 4d 61 73 6b 3b 0a  eProcessorMask;.
8c50: 09 44 57 4f 52 44 20 64 77 4e 75 6d 62 65 72 4f  .DWORD dwNumberO
8c60: 66 50 72 6f 63 65 73 73 6f 72 73 3b 0a 09 44 57  fProcessors;..DW
8c70: 4f 52 44 20 64 77 50 72 6f 63 65 73 73 6f 72 54  ORD dwProcessorT
8c80: 79 70 65 3b 0a 09 44 57 4f 52 44 20 64 77 41 6c  ype;..DWORD dwAl
8c90: 6c 6f 63 61 74 69 6f 6e 47 72 61 6e 75 6c 61 72  locationGranular
8ca0: 69 74 79 3b 0a 09 57 4f 52 44 20 20 77 50 72 6f  ity;..WORD  wPro
8cb0: 63 65 73 73 6f 72 4c 65 76 65 6c 3b 0a 09 57 4f  cessorLevel;..WO
8cc0: 52 44 20 20 77 50 72 6f 63 65 73 73 6f 72 52 65  RD  wProcessorRe
8cd0: 76 69 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20  vision;.}.alias 
8ce0: 53 59 53 54 45 4d 5f 49 4e 46 4f 2a 20 4c 50 53  SYSTEM_INFO* LPS
8cf0: 59 53 54 45 4d 5f 49 4e 46 4f 3b 0a 0a 73 74 61  YSTEM_INFO;..sta
8d00: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
8d10: 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 20 5f 57 49  INNT_ONLY && _WI
8d20: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
8d30: 30 30 29 20 7b 0a 09 73 74 72 75 63 74 20 53 59  00) {..struct SY
8d40: 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 55  STEM_POWER_STATU
8d50: 53 20 7b 0a 09 09 42 59 54 45 20 41 43 4c 69 6e  S {...BYTE ACLin
8d60: 65 53 74 61 74 75 73 3b 0a 09 09 42 59 54 45 20  eStatus;...BYTE 
8d70: 42 61 74 74 65 72 79 46 6c 61 67 3b 0a 09 09 42  BatteryFlag;...B
8d80: 59 54 45 20 42 61 74 74 65 72 79 4c 69 66 65 50  YTE BatteryLifeP
8d90: 65 72 63 65 6e 74 3b 0a 09 09 42 59 54 45 20 52  ercent;...BYTE R
8da0: 65 73 65 72 76 65 64 31 3b 0a 09 09 44 57 4f 52  eserved1;...DWOR
8db0: 44 20 42 61 74 74 65 72 79 4c 69 66 65 54 69 6d  D BatteryLifeTim
8dc0: 65 3b 0a 09 09 44 57 4f 52 44 20 42 61 74 74 65  e;...DWORD Batte
8dd0: 72 79 46 75 6c 6c 4c 69 66 65 54 69 6d 65 3b 0a  ryFullLifeTime;.
8de0: 09 7d 0a 09 61 6c 69 61 73 20 53 59 53 54 45 4d  .}..alias SYSTEM
8df0: 5f 50 4f 57 45 52 5f 53 54 41 54 55 53 2a 20 4c  _POWER_STATUS* L
8e00: 50 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54  PSYSTEM_POWER_ST
8e10: 41 54 55 53 3b 0a 7d 0a 0a 73 74 72 75 63 74 20  ATUS;.}..struct 
8e20: 54 49 4d 45 5f 5a 4f 4e 45 5f 49 4e 46 4f 52 4d  TIME_ZONE_INFORM
8e30: 41 54 49 4f 4e 20 7b 0a 09 4c 4f 4e 47 20 20 20  ATION {..LONG   
8e40: 20 20 20 20 42 69 61 73 3b 0a 09 57 43 48 41 52      Bias;..WCHAR
8e50: 5b 33 32 5d 20 20 53 74 61 6e 64 61 72 64 4e 61  [32]  StandardNa
8e60: 6d 65 3b 0a 09 53 59 53 54 45 4d 54 49 4d 45 20  me;..SYSTEMTIME 
8e70: 53 74 61 6e 64 61 72 64 44 61 74 65 3b 0a 09 4c  StandardDate;..L
8e80: 4f 4e 47 20 20 20 20 20 20 20 53 74 61 6e 64 61  ONG       Standa
8e90: 72 64 42 69 61 73 3b 0a 09 57 43 48 41 52 5b 33  rdBias;..WCHAR[3
8ea0: 32 5d 20 20 44 61 79 6c 69 67 68 74 4e 61 6d 65  2]  DaylightName
8eb0: 3b 0a 09 53 59 53 54 45 4d 54 49 4d 45 20 44 61  ;..SYSTEMTIME Da
8ec0: 79 6c 69 67 68 74 44 61 74 65 3b 0a 09 4c 4f 4e  ylightDate;..LON
8ed0: 47 20 20 20 20 20 20 20 44 61 79 6c 69 67 68 74  G       Daylight
8ee0: 42 69 61 73 3b 0a 7d 0a 61 6c 69 61 73 20 54 49  Bias;.}.alias TI
8ef0: 4d 45 5f 5a 4f 4e 45 5f 49 4e 46 4f 52 4d 41 54  ME_ZONE_INFORMAT
8f00: 49 4f 4e 2a 20 4c 50 54 49 4d 45 5f 5a 4f 4e 45  ION* LPTIME_ZONE
8f10: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 2f  _INFORMATION;../
8f20: 2f 20 4d 53 44 4e 20 64 6f 63 75 6d 65 6e 74 73  / MSDN documents
8f30: 20 74 68 69 73 2c 20 70 6f 73 73 69 62 6c 79 20   this, possibly 
8f40: 65 72 72 6f 6e 65 6f 75 73 6c 79 2c 20 61 73 20  erroneously, as 
8f50: 57 69 6e 32 30 30 30 2b 2e 0a 73 74 72 75 63 74  Win2000+..struct
8f60: 20 4d 45 4d 4f 52 59 53 54 41 54 55 53 20 7b 0a   MEMORYSTATUS {.
8f70: 09 44 57 4f 52 44 20 64 77 4c 65 6e 67 74 68 3b  .DWORD dwLength;
8f80: 0a 09 44 57 4f 52 44 20 64 77 4d 65 6d 6f 72 79  ..DWORD dwMemory
8f90: 4c 6f 61 64 3b 0a 09 44 57 4f 52 44 20 64 77 54  Load;..DWORD dwT
8fa0: 6f 74 61 6c 50 68 79 73 3b 0a 09 44 57 4f 52 44  otalPhys;..DWORD
8fb0: 20 64 77 41 76 61 69 6c 50 68 79 73 3b 0a 09 44   dwAvailPhys;..D
8fc0: 57 4f 52 44 20 64 77 54 6f 74 61 6c 50 61 67 65  WORD dwTotalPage
8fd0: 46 69 6c 65 3b 0a 09 44 57 4f 52 44 20 64 77 41  File;..DWORD dwA
8fe0: 76 61 69 6c 50 61 67 65 46 69 6c 65 3b 0a 09 44  vailPageFile;..D
8ff0: 57 4f 52 44 20 64 77 54 6f 74 61 6c 56 69 72 74  WORD dwTotalVirt
9000: 75 61 6c 3b 0a 09 44 57 4f 52 44 20 64 77 41 76  ual;..DWORD dwAv
9010: 61 69 6c 56 69 72 74 75 61 6c 3b 0a 7d 0a 61 6c  ailVirtual;.}.al
9020: 69 61 73 20 4d 45 4d 4f 52 59 53 54 41 54 55 53  ias MEMORYSTATUS
9030: 2a 20 4c 50 4d 45 4d 4f 52 59 53 54 41 54 55 53  * LPMEMORYSTATUS
9040: 3b 0a 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ;..static if (_W
9050: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
9060: 35 30 30 29 20 7b 0a 09 73 74 72 75 63 74 20 4d  500) {..struct M
9070: 45 4d 4f 52 59 53 54 41 54 55 53 45 58 20 7b 0a  EMORYSTATUSEX {.
9080: 09 09 44 57 4f 52 44 20 20 20 20 20 64 77 4c 65  ..DWORD     dwLe
9090: 6e 67 74 68 3b 0a 09 09 44 57 4f 52 44 20 20 20  ngth;...DWORD   
90a0: 20 20 64 77 4d 65 6d 6f 72 79 4c 6f 61 64 3b 0a    dwMemoryLoad;.
90b0: 09 09 44 57 4f 52 44 4c 4f 4e 47 20 75 6c 6c 54  ..DWORDLONG ullT
90c0: 6f 74 61 6c 50 68 79 73 3b 0a 09 09 44 57 4f 52  otalPhys;...DWOR
90d0: 44 4c 4f 4e 47 20 75 6c 6c 41 76 61 69 6c 50 68  DLONG ullAvailPh
90e0: 79 73 3b 0a 09 09 44 57 4f 52 44 4c 4f 4e 47 20  ys;...DWORDLONG 
90f0: 75 6c 6c 54 6f 74 61 6c 50 61 67 65 46 69 6c 65  ullTotalPageFile
9100: 3b 0a 09 09 44 57 4f 52 44 4c 4f 4e 47 20 75 6c  ;...DWORDLONG ul
9110: 6c 41 76 61 69 6c 50 61 67 65 46 69 6c 65 3b 0a  lAvailPageFile;.
9120: 09 09 44 57 4f 52 44 4c 4f 4e 47 20 75 6c 6c 54  ..DWORDLONG ullT
9130: 6f 74 61 6c 56 69 72 74 75 61 6c 3b 0a 09 09 44  otalVirtual;...D
9140: 57 4f 52 44 4c 4f 4e 47 20 75 6c 6c 41 76 61 69  WORDLONG ullAvai
9150: 6c 56 69 72 74 75 61 6c 3b 0a 09 09 44 57 4f 52  lVirtual;...DWOR
9160: 44 4c 4f 4e 47 20 75 6c 6c 41 76 61 69 6c 45 78  DLONG ullAvailEx
9170: 74 65 6e 64 65 64 56 69 72 74 75 61 6c 3b 0a 09  tendedVirtual;..
9180: 7d 0a 09 61 6c 69 61 73 20 4d 45 4d 4f 52 59 53  }..alias MEMORYS
9190: 54 41 54 55 53 45 58 2a 20 4c 50 4d 45 4d 4f 52  TATUSEX* LPMEMOR
91a0: 59 53 54 41 54 55 53 45 58 3b 0a 7d 0a 0a 73 74  YSTATUSEX;.}..st
91b0: 72 75 63 74 20 4c 44 54 5f 45 4e 54 52 59 20 7b  ruct LDT_ENTRY {
91c0: 0a 09 57 4f 52 44 20 4c 69 6d 69 74 4c 6f 77 3b  ..WORD LimitLow;
91d0: 0a 09 57 4f 52 44 20 42 61 73 65 4c 6f 77 3b 0a  ..WORD BaseLow;.
91e0: 09 73 74 72 75 63 74 20 7b 0a 09 09 42 59 54 45  .struct {...BYTE
91f0: 20 42 61 73 65 4d 69 64 3b 0a 09 09 42 59 54 45   BaseMid;...BYTE
9200: 20 46 6c 61 67 73 31 3b 0a 09 09 42 59 54 45 20   Flags1;...BYTE 
9210: 46 6c 61 67 73 32 3b 0a 09 09 42 59 54 45 20 42  Flags2;...BYTE B
9220: 61 73 65 48 69 3b 0a 0a 09 09 62 79 74 65 20 54  aseHi;....byte T
9230: 79 70 65 28 62 79 74 65 20 66 29 20 20 20 20 20  ype(byte f)     
9240: 20 20 20 7b 20 46 6c 61 67 73 31 20 3d 20 63 61     { Flags1 = ca
9250: 73 74 28 42 59 54 45 29 20 28 28 46 6c 61 67 73  st(BYTE) ((Flags
9260: 31 20 26 20 30 78 45 30 29 20 7c 20 66 29 3b 20  1 & 0xE0) | f); 
9270: 72 65 74 75 72 6e 20 63 61 73 74 28 62 79 74 65  return cast(byte
9280: 29 28 66 20 26 20 30 78 31 46 29 3b 20 7d 0a 09  )(f & 0x1F); }..
9290: 09 62 79 74 65 20 44 70 6c 28 62 79 74 65 20 66  .byte Dpl(byte f
92a0: 29 20 20 20 20 20 20 20 20 20 7b 20 46 6c 61 67  )         { Flag
92b0: 73 31 20 3d 20 63 61 73 74 28 42 59 54 45 29 20  s1 = cast(BYTE) 
92c0: 28 28 46 6c 61 67 73 31 20 26 20 30 78 39 46 29  ((Flags1 & 0x9F)
92d0: 20 7c 20 28 66 3c 3c 35 29 29 3b 20 72 65 74 75   | (f<<5)); retu
92e0: 72 6e 20 63 61 73 74 28 62 79 74 65 29 28 66 20  rn cast(byte)(f 
92f0: 26 20 33 29 3b 20 7d 0a 09 09 62 6f 6f 6c 20 50  & 3); }...bool P
9300: 72 65 73 28 62 6f 6f 6c 20 66 29 20 20 20 20 20  res(bool f)     
9310: 20 20 20 7b 20 46 6c 61 67 73 31 20 3d 20 63 61     { Flags1 = ca
9320: 73 74 28 42 59 54 45 29 20 28 28 46 6c 61 67 73  st(BYTE) ((Flags
9330: 31 20 26 20 30 78 37 46 29 20 7c 20 28 66 3c 3c  1 & 0x7F) | (f<<
9340: 37 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d  7)); return f; }
9350: 0a 0a 09 09 62 79 74 65 20 4c 69 6d 69 74 48 69  ....byte LimitHi
9360: 28 62 79 74 65 20 66 29 20 20 20 20 20 7b 20 46  (byte f)     { F
9370: 6c 61 67 73 32 20 3d 20 63 61 73 74 28 42 59 54  lags2 = cast(BYT
9380: 45 29 20 28 28 46 6c 61 67 73 32 20 26 20 30 78  E) ((Flags2 & 0x
9390: 46 30 29 20 7c 20 28 66 26 30 78 30 46 29 29 3b  F0) | (f&0x0F));
93a0: 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 79 74   return cast(byt
93b0: 65 29 28 66 20 26 20 30 78 30 46 29 3b 20 7d 0a  e)(f & 0x0F); }.
93c0: 09 09 62 6f 6f 6c 20 53 79 73 28 62 6f 6f 6c 20  ..bool Sys(bool 
93d0: 66 29 20 20 20 20 20 20 20 20 20 7b 20 46 6c 61  f)         { Fla
93e0: 67 73 32 20 3d 20 63 61 73 74 28 42 59 54 45 29  gs2 = cast(BYTE)
93f0: 20 28 28 46 6c 61 67 73 32 20 26 20 30 78 45 46   ((Flags2 & 0xEF
9400: 29 20 7c 20 28 66 3c 3c 34 29 29 3b 20 72 65 74  ) | (f<<4)); ret
9410: 75 72 6e 20 66 3b 20 7d 0a 09 09 2f 2f 20 4e 65  urn f; }...// Ne
9420: 78 74 20 62 69 74 20 69 73 20 72 65 73 65 72 76  xt bit is reserv
9430: 65 64 0a 09 09 62 6f 6f 6c 20 44 65 66 61 75 6c  ed...bool Defaul
9440: 74 5f 42 69 67 28 62 6f 6f 6c 20 66 29 20 7b 20  t_Big(bool f) { 
9450: 46 6c 61 67 73 32 20 3d 20 63 61 73 74 28 42 59  Flags2 = cast(BY
9460: 54 45 29 20 28 28 46 6c 61 67 73 32 20 26 20 30  TE) ((Flags2 & 0
9470: 78 42 46 29 20 7c 20 28 66 3c 3c 36 29 29 3b 20  xBF) | (f<<6)); 
9480: 72 65 74 75 72 6e 20 66 3b 20 7d 0a 09 09 62 6f  return f; }...bo
9490: 6f 6c 20 47 72 61 6e 75 6c 61 72 69 74 79 28 62  ol Granularity(b
94a0: 6f 6f 6c 20 66 29 20 7b 20 46 6c 61 67 73 32 20  ool f) { Flags2 
94b0: 3d 20 63 61 73 74 28 42 59 54 45 29 20 28 28 46  = cast(BYTE) ((F
94c0: 6c 61 67 73 32 20 26 20 30 78 37 46 29 20 7c 20  lags2 & 0x7F) | 
94d0: 28 66 3c 3c 37 29 29 3b 20 72 65 74 75 72 6e 20  (f<<7)); return 
94e0: 66 3b 20 7d 0a 0a 09 09 62 79 74 65 20 54 79 70  f; }....byte Typ
94f0: 65 28 29 20 20 20 20 20 20 20 20 7b 20 72 65 74  e()        { ret
9500: 75 72 6e 20 63 61 73 74 28 62 79 74 65 29 20 28  urn cast(byte) (
9510: 46 6c 61 67 73 31 20 26 20 30 78 31 46 29 3b 20  Flags1 & 0x1F); 
9520: 7d 0a 09 09 62 79 74 65 20 44 70 6c 28 29 20 20  }...byte Dpl()  
9530: 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20         { return 
9540: 63 61 73 74 28 62 79 74 65 29 20 28 28 46 6c 61  cast(byte) ((Fla
9550: 67 73 31 20 26 20 30 78 36 30 29 3e 3e 35 29 3b  gs1 & 0x60)>>5);
9560: 20 7d 0a 09 09 62 6f 6f 6c 20 50 72 65 73 28 29   }...bool Pres()
9570: 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e          { return
9580: 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 46 6c 61   cast(bool) (Fla
9590: 67 73 31 20 26 20 30 78 38 30 29 3b 20 7d 0a 0a  gs1 & 0x80); }..
95a0: 09 09 62 79 74 65 20 4c 69 6d 69 74 48 69 28 29  ..byte LimitHi()
95b0: 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61       { return ca
95c0: 73 74 28 62 79 74 65 29 20 28 46 6c 61 67 73 32  st(byte) (Flags2
95d0: 20 26 20 30 78 30 46 29 3b 20 7d 0a 09 09 62 6f   & 0x0F); }...bo
95e0: 6f 6c 20 53 79 73 28 29 20 20 20 20 20 20 20 20  ol Sys()        
95f0: 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62   { return cast(b
9600: 6f 6f 6c 29 20 28 46 6c 61 67 73 32 20 26 20 30  ool) (Flags2 & 0
9610: 78 31 30 29 3b 20 7d 0a 09 09 62 6f 6f 6c 20 44  x10); }...bool D
9620: 65 66 61 75 6c 74 5f 42 69 67 28 29 20 7b 20 72  efault_Big() { r
9630: 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29  eturn cast(bool)
9640: 20 28 46 6c 61 67 73 32 20 26 20 30 78 34 30 29   (Flags2 & 0x40)
9650: 3b 20 7d 0a 09 09 62 6f 6f 6c 20 47 72 61 6e 75  ; }...bool Granu
9660: 6c 61 72 69 74 79 28 29 20 7b 20 72 65 74 75 72  larity() { retur
9670: 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 46 6c  n cast(bool) (Fl
9680: 61 67 73 32 20 26 20 30 78 38 30 29 3b 20 7d 0a  ags2 & 0x80); }.
9690: 09 7d 0a 2f 2b 0a 09 75 6e 69 6f 6e 20 20 48 69  .}./+..union  Hi
96a0: 67 68 57 6f 72 64 20 7b 0a 09 09 73 74 72 75 63  ghWord {...struc
96b0: 74 20 42 79 74 65 73 20 7b 0a 09 09 09 42 59 54  t Bytes {....BYT
96c0: 45 20 42 61 73 65 4d 69 64 3b 0a 09 09 09 42 59  E BaseMid;....BY
96d0: 54 45 20 46 6c 61 67 73 31 3b 0a 09 09 09 42 59  TE Flags1;....BY
96e0: 54 45 20 46 6c 61 67 73 32 3b 0a 09 09 09 42 59  TE Flags2;....BY
96f0: 54 45 20 42 61 73 65 48 69 3b 0a 09 09 7d 0a 09  TE BaseHi;...}..
9700: 73 74 72 75 63 74 20 42 69 74 73 20 7b 0a 09 09  struct Bits {...
9710: 44 57 4f 52 44 20 42 61 73 65 4d 69 64 3a 38 3b  DWORD BaseMid:8;
9720: 0a 09 09 44 57 4f 52 44 20 54 79 70 65 3a 35 3b  ...DWORD Type:5;
9730: 0a 09 09 44 57 4f 52 44 20 44 70 6c 3a 32 3b 0a  ...DWORD Dpl:2;.
9740: 09 09 44 57 4f 52 44 20 50 72 65 73 3a 31 3b 0a  ..DWORD Pres:1;.
9750: 09 09 44 57 4f 52 44 20 4c 69 6d 69 74 48 69 3a  ..DWORD LimitHi:
9760: 34 3b 0a 09 09 44 57 4f 52 44 20 53 79 73 3a 31  4;...DWORD Sys:1
9770: 3b 0a 09 09 44 57 4f 52 44 20 52 65 73 65 72 76  ;...DWORD Reserv
9780: 65 64 5f 30 3a 31 3b 0a 09 09 44 57 4f 52 44 20  ed_0:1;...DWORD 
9790: 44 65 66 61 75 6c 74 5f 42 69 67 3a 31 3b 0a 09  Default_Big:1;..
97a0: 09 44 57 4f 52 44 20 47 72 61 6e 75 6c 61 72 69  .DWORD Granulari
97b0: 74 79 3a 31 3b 0a 09 09 44 57 4f 52 44 20 42 61  ty:1;...DWORD Ba
97c0: 73 65 48 69 3a 38 3b 0a 09 7d 0a 09 7d 0a 2b 2f  seHi:8;..}..}.+/
97d0: 0a 7d 0a 61 6c 69 61 73 20 4c 44 54 5f 45 4e 54  .}.alias LDT_ENT
97e0: 52 59 2a 20 50 4c 44 54 5f 45 4e 54 52 59 2c 20  RY* PLDT_ENTRY, 
97f0: 4c 50 4c 44 54 5f 45 4e 54 52 59 3b 0a 0a 2f 2a  LPLDT_ENTRY;../*
9800: 09 41 73 20 77 69 74 68 20 74 68 65 20 6f 74 68  .As with the oth
9810: 65 72 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65  er memory manage
9820: 6d 65 6e 74 20 66 75 6e 63 74 69 6f 6e 73 20 61  ment functions a
9830: 6e 64 20 73 74 72 75 63 74 75 72 65 73 2c 20 4d  nd structures, M
9840: 53 44 4e 27 73 0a 20 2a 09 57 69 6e 64 6f 77 73  SDN's. *.Windows
9850: 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 73 68   version info sh
9860: 61 6c 6c 20 62 65 20 74 61 6b 65 6e 20 77 69 74  all be taken wit
9870: 68 20 61 20 63 75 70 20 6f 66 20 73 61 6c 74 2e  h a cup of salt.
9880: 0a 20 2a 2f 0a 73 74 72 75 63 74 20 50 52 4f 43  . */.struct PROC
9890: 45 53 53 5f 48 45 41 50 5f 45 4e 54 52 59 20 7b  ESS_HEAP_ENTRY {
98a0: 0a 09 50 56 4f 49 44 20 6c 70 44 61 74 61 3b 0a  ..PVOID lpData;.
98b0: 09 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0a 09  .DWORD cbData;..
98c0: 42 59 54 45 20 20 63 62 4f 76 65 72 68 65 61 64  BYTE  cbOverhead
98d0: 3b 0a 09 42 59 54 45 20 20 69 52 65 67 69 6f 6e  ;..BYTE  iRegion
98e0: 49 6e 64 65 78 3b 0a 09 57 4f 52 44 20 20 77 46  Index;..WORD  wF
98f0: 6c 61 67 73 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09  lags;..union {..
9900: 09 73 74 72 75 63 74 20 42 6c 6f 63 6b 20 7b 0a  .struct Block {.
9910: 09 09 09 48 41 4e 44 4c 45 20 20 20 68 4d 65 6d  ...HANDLE   hMem
9920: 3b 0a 09 09 09 44 57 4f 52 44 5b 33 5d 20 64 77  ;....DWORD[3] dw
9930: 52 65 73 65 72 76 65 64 3b 0a 09 09 7d 0a 09 09  Reserved;...}...
9940: 73 74 72 75 63 74 20 52 65 67 69 6f 6e 20 7b 0a  struct Region {.
9950: 09 09 09 44 57 4f 52 44 20 20 20 20 64 77 43 6f  ...DWORD    dwCo
9960: 6d 6d 69 74 74 65 64 53 69 7a 65 3b 0a 09 09 09  mmittedSize;....
9970: 44 57 4f 52 44 20 20 20 20 64 77 55 6e 43 6f 6d  DWORD    dwUnCom
9980: 6d 69 74 74 65 64 53 69 7a 65 3b 0a 09 09 09 4c  mittedSize;....L
9990: 50 56 4f 49 44 20 20 20 6c 70 46 69 72 73 74 42  PVOID   lpFirstB
99a0: 6c 6f 63 6b 3b 0a 09 09 09 4c 50 56 4f 49 44 20  lock;....LPVOID 
99b0: 20 20 6c 70 4c 61 73 74 42 6c 6f 63 6b 3b 0a 09    lpLastBlock;..
99c0: 09 7d 0a 09 7d 0a 7d 0a 61 6c 69 61 73 20 50 52  .}..}.}.alias PR
99d0: 4f 43 45 53 53 5f 48 45 41 50 5f 45 4e 54 52 59  OCESS_HEAP_ENTRY
99e0: 2a 20 4c 50 50 52 4f 43 45 53 53 5f 48 45 41 50  * LPPROCESS_HEAP
99f0: 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 74 20  _ENTRY;..struct 
9a00: 4f 46 53 54 52 55 43 54 20 7b 0a 09 42 59 54 45  OFSTRUCT {..BYTE
9a10: 20 20 20 20 20 20 63 42 79 74 65 73 20 3d 20 4f        cBytes = O
9a20: 46 53 54 52 55 43 54 2e 73 69 7a 65 6f 66 3b 0a  FSTRUCT.sizeof;.
9a30: 09 42 59 54 45 20 20 20 20 20 20 66 46 69 78 65  .BYTE      fFixe
9a40: 64 44 69 73 6b 3b 0a 09 57 4f 52 44 20 20 20 20  dDisk;..WORD    
9a50: 20 20 6e 45 72 72 43 6f 64 65 3b 0a 09 57 4f 52    nErrCode;..WOR
9a60: 44 20 20 20 20 20 20 52 65 73 65 72 76 65 64 31  D      Reserved1
9a70: 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 52 65 73  ;..WORD      Res
9a80: 65 72 76 65 64 32 3b 0a 09 43 48 41 52 5b 31 32  erved2;..CHAR[12
9a90: 38 5d 20 73 7a 50 61 74 68 4e 61 6d 65 3b 20 2f  8] szPathName; /
9aa0: 2f 20 63 6f 6e 73 74 20 4f 46 53 5f 4d 41 58 50  / const OFS_MAXP
9ab0: 41 54 48 4e 41 4d 45 20 3d 20 31 32 38 3b 0a 7d  ATHNAME = 128;.}
9ac0: 0a 61 6c 69 61 73 20 4f 46 53 54 52 55 43 54 2a  .alias OFSTRUCT*
9ad0: 20 4c 50 4f 46 53 54 52 55 43 54 2c 20 50 4f 46   LPOFSTRUCT, POF
9ae0: 53 54 52 55 43 54 3b 0a 0a 2f 2a 09 3f 3f 3f 20  STRUCT;../*.??? 
9af0: 4d 53 44 4e 20 64 6f 63 75 6d 65 6e 74 73 20 74  MSDN documents t
9b00: 68 69 73 20 6f 6e 6c 79 20 66 6f 72 20 57 69 6e  his only for Win
9b10: 64 6f 77 73 20 43 45 2c 20 62 75 74 20 69 74 27  dows CE, but it'
9b20: 73 20 75 73 65 64 20 62 79 0a 20 2a 09 49 6d 61  s used by. *.Ima
9b30: 67 65 47 65 74 43 65 72 74 69 66 69 63 61 74 65  geGetCertificate
9b40: 44 61 74 61 2c 20 77 68 69 63 68 20 69 73 20 69  Data, which is i
9b50: 6e 20 64 65 73 6b 74 6f 70 20 57 69 6e 64 6f 77  n desktop Window
9b60: 73 2e 0a 20 2a 2f 0a 73 74 72 75 63 74 20 57 49  s.. */.struct WI
9b70: 4e 5f 43 45 52 54 49 46 49 43 41 54 45 20 7b 0a  N_CERTIFICATE {.
9b80: 09 44 57 4f 52 44 20 64 77 4c 65 6e 67 74 68 3b  .DWORD dwLength;
9b90: 0a 09 57 4f 52 44 20 20 77 52 65 76 69 73 69 6f  ..WORD  wRevisio
9ba0: 6e 3b 0a 09 57 4f 52 44 20 20 77 43 65 72 74 69  n;..WORD  wCerti
9bb0: 66 69 63 61 74 65 54 79 70 65 3b 0a 09 42 59 54  ficateType;..BYT
9bc0: 45 20 20 5f 62 43 65 72 74 69 66 69 63 61 74 65  E  _bCertificate
9bd0: 3b 0a 0a 09 42 59 54 45 2a 20 62 43 65 72 74 69  ;...BYTE* bCerti
9be0: 66 69 63 61 74 65 28 29 20 7b 20 72 65 74 75 72  ficate() { retur
9bf0: 6e 20 26 5f 62 43 65 72 74 69 66 69 63 61 74 65  n &_bCertificate
9c00: 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 57 49 4e 5f  ; }.}.alias WIN_
9c10: 43 45 52 54 49 46 49 43 41 54 45 2a 20 4c 50 57  CERTIFICATE* LPW
9c20: 49 4e 5f 43 45 52 54 49 46 49 43 41 54 45 3b 0a  IN_CERTIFICATE;.
9c30: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
9c40: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
9c50: 30 29 20 7b 0a 09 65 6e 75 6d 20 43 4f 4d 50 55  0) {..enum COMPU
9c60: 54 45 52 5f 4e 41 4d 45 5f 46 4f 52 4d 41 54 20  TER_NAME_FORMAT 
9c70: 7b 0a 09 09 43 6f 6d 70 75 74 65 72 4e 61 6d 65  {...ComputerName
9c80: 4e 65 74 42 49 4f 53 2c 0a 09 09 43 6f 6d 70 75  NetBIOS,...Compu
9c90: 74 65 72 4e 61 6d 65 44 6e 73 48 6f 73 74 6e 61  terNameDnsHostna
9ca0: 6d 65 2c 0a 09 09 43 6f 6d 70 75 74 65 72 4e 61  me,...ComputerNa
9cb0: 6d 65 44 6e 73 44 6f 6d 61 69 6e 2c 0a 09 09 43  meDnsDomain,...C
9cc0: 6f 6d 70 75 74 65 72 4e 61 6d 65 44 6e 73 46 75  omputerNameDnsFu
9cd0: 6c 6c 79 51 75 61 6c 69 66 69 65 64 2c 0a 09 09  llyQualified,...
9ce0: 43 6f 6d 70 75 74 65 72 4e 61 6d 65 50 68 79 73  ComputerNamePhys
9cf0: 69 63 61 6c 4e 65 74 42 49 4f 53 2c 0a 09 09 43  icalNetBIOS,...C
9d00: 6f 6d 70 75 74 65 72 4e 61 6d 65 50 68 79 73 69  omputerNamePhysi
9d10: 63 61 6c 44 6e 73 48 6f 73 74 6e 61 6d 65 2c 0a  calDnsHostname,.
9d20: 09 09 43 6f 6d 70 75 74 65 72 4e 61 6d 65 50 68  ..ComputerNamePh
9d30: 79 73 69 63 61 6c 44 6e 73 44 6f 6d 61 69 6e 2c  ysicalDnsDomain,
9d40: 0a 09 09 43 6f 6d 70 75 74 65 72 4e 61 6d 65 50  ...ComputerNameP
9d50: 68 79 73 69 63 61 6c 44 6e 73 46 75 6c 6c 79 51  hysicalDnsFullyQ
9d60: 75 61 6c 69 66 69 65 64 2c 0a 09 09 43 6f 6d 70  ualified,...Comp
9d70: 75 74 65 72 4e 61 6d 65 4d 61 78 0a 09 7d 0a 7d  uterNameMax..}.}
9d80: 0a 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
9d90: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
9da0: 30 31 29 20 7b 0a 09 73 74 72 75 63 74 20 41 43  01) {..struct AC
9db0: 54 43 54 58 41 20 7b 0a 09 09 55 4c 4f 4e 47 20  TCTXA {...ULONG 
9dc0: 63 62 53 69 7a 65 20 3d 20 74 68 69 73 2e 73 69  cbSize = this.si
9dd0: 7a 65 6f 66 3b 0a 09 09 44 57 4f 52 44 20 64 77  zeof;...DWORD dw
9de0: 46 6c 61 67 73 3b 0a 09 09 4c 50 43 53 54 52 20  Flags;...LPCSTR 
9df0: 6c 70 53 6f 75 72 63 65 3b 0a 09 09 55 53 48 4f  lpSource;...USHO
9e00: 52 54 20 77 50 72 6f 63 65 73 73 6f 72 41 72 63  RT wProcessorArc
9e10: 68 69 74 65 63 74 75 72 65 3b 0a 09 09 4c 41 4e  hitecture;...LAN
9e20: 47 49 44 20 77 4c 61 6e 67 49 64 3b 0a 09 09 4c  GID wLangId;...L
9e30: 50 43 53 54 52 20 6c 70 41 73 73 65 6d 62 6c 79  PCSTR lpAssembly
9e40: 44 69 72 65 63 74 6f 72 79 3b 0a 09 09 4c 50 43  Directory;...LPC
9e50: 53 54 52 20 6c 70 52 65 73 6f 75 72 63 65 4e 61  STR lpResourceNa
9e60: 6d 65 3b 0a 09 09 4c 50 43 53 54 52 20 6c 70 41  me;...LPCSTR lpA
9e70: 70 70 6c 69 63 61 74 69 6f 6e 4e 61 6d 65 3b 0a  pplicationName;.
9e80: 09 09 48 4d 4f 44 55 4c 45 20 68 4d 6f 64 75 6c  ..HMODULE hModul
9e90: 65 3b 0a 09 7d 0a 09 61 6c 69 61 73 20 41 43 54  e;..}..alias ACT
9ea0: 43 54 58 41 2a 20 20 20 20 20 20 20 50 41 43 54  CTXA*       PACT
9eb0: 43 54 58 41 3b 0a 09 61 6c 69 61 73 20 43 50 74  CTXA;..alias CPt
9ec0: 72 21 28 41 43 54 43 54 58 41 29 20 50 43 41 43  r!(ACTCTXA) PCAC
9ed0: 54 43 54 58 41 3b 0a 0a 09 73 74 72 75 63 74 20  TCTXA;...struct 
9ee0: 41 43 54 43 54 58 57 20 7b 0a 09 09 55 4c 4f 4e  ACTCTXW {...ULON
9ef0: 47 20 63 62 53 69 7a 65 20 3d 20 74 68 69 73 2e  G cbSize = this.
9f00: 73 69 7a 65 6f 66 3b 0a 09 09 44 57 4f 52 44 20  sizeof;...DWORD 
9f10: 64 77 46 6c 61 67 73 3b 0a 09 09 4c 50 43 57 53  dwFlags;...LPCWS
9f20: 54 52 20 6c 70 53 6f 75 72 63 65 3b 0a 09 09 55  TR lpSource;...U
9f30: 53 48 4f 52 54 20 77 50 72 6f 63 65 73 73 6f 72  SHORT wProcessor
9f40: 41 72 63 68 69 74 65 63 74 75 72 65 3b 0a 09 09  Architecture;...
9f50: 4c 41 4e 47 49 44 20 77 4c 61 6e 67 49 64 3b 0a  LANGID wLangId;.
9f60: 09 09 4c 50 43 57 53 54 52 20 6c 70 41 73 73 65  ..LPCWSTR lpAsse
9f70: 6d 62 6c 79 44 69 72 65 63 74 6f 72 79 3b 0a 09  mblyDirectory;..
9f80: 09 4c 50 43 57 53 54 52 20 6c 70 52 65 73 6f 75  .LPCWSTR lpResou
9f90: 72 63 65 4e 61 6d 65 3b 0a 09 09 4c 50 43 57 53  rceName;...LPCWS
9fa0: 54 52 20 6c 70 41 70 70 6c 69 63 61 74 69 6f 6e  TR lpApplication
9fb0: 4e 61 6d 65 3b 0a 09 09 48 4d 4f 44 55 4c 45 20  Name;...HMODULE 
9fc0: 68 4d 6f 64 75 6c 65 3b 0a 09 7d 0a 09 61 6c 69  hModule;..}..ali
9fd0: 61 73 20 41 43 54 43 54 58 57 2a 20 20 20 20 20  as ACTCTXW*     
9fe0: 20 20 50 41 43 54 43 54 58 57 3b 0a 09 61 6c 69    PACTCTXW;..ali
9ff0: 61 73 20 43 50 74 72 21 28 41 43 54 43 54 58 57  as CPtr!(ACTCTXW
a000: 29 20 50 43 41 43 54 43 54 58 57 3b 0a 0a 09 73  ) PCACTCTXW;...s
a010: 74 72 75 63 74 20 41 43 54 43 54 58 5f 53 45 43  truct ACTCTX_SEC
a020: 54 49 4f 4e 5f 4b 45 59 45 44 5f 44 41 54 41 20  TION_KEYED_DATA 
a030: 7b 0a 09 09 55 4c 4f 4e 47 20 63 62 53 69 7a 65  {...ULONG cbSize
a040: 20 3d 20 74 68 69 73 2e 73 69 7a 65 6f 66 3b 0a   = this.sizeof;.
a050: 09 09 55 4c 4f 4e 47 20 75 6c 44 61 74 61 46 6f  ..ULONG ulDataFo
a060: 72 6d 61 74 56 65 72 73 69 6f 6e 3b 0a 09 09 50  rmatVersion;...P
a070: 56 4f 49 44 20 6c 70 44 61 74 61 3b 0a 09 09 55  VOID lpData;...U
a080: 4c 4f 4e 47 20 75 6c 4c 65 6e 67 74 68 3b 0a 09  LONG ulLength;..
a090: 09 50 56 4f 49 44 20 6c 70 53 65 63 74 69 6f 6e  .PVOID lpSection
a0a0: 47 6c 6f 62 61 6c 44 61 74 61 3b 0a 09 09 55 4c  GlobalData;...UL
a0b0: 4f 4e 47 20 75 6c 53 65 63 74 69 6f 6e 47 6c 6f  ONG ulSectionGlo
a0c0: 62 61 6c 44 61 74 61 4c 65 6e 67 74 68 3b 0a 09  balDataLength;..
a0d0: 09 50 56 4f 49 44 20 6c 70 53 65 63 74 69 6f 6e  .PVOID lpSection
a0e0: 42 61 73 65 3b 0a 09 09 55 4c 4f 4e 47 20 75 6c  Base;...ULONG ul
a0f0: 53 65 63 74 69 6f 6e 54 6f 74 61 6c 4c 65 6e 67  SectionTotalLeng
a100: 74 68 3b 0a 09 09 48 41 4e 44 4c 45 20 68 41 63  th;...HANDLE hAc
a110: 74 43 74 78 3b 0a 09 09 48 41 4e 44 4c 45 20 75  tCtx;...HANDLE u
a120: 6c 41 73 73 65 6d 62 6c 79 52 6f 73 74 65 72 49  lAssemblyRosterI
a130: 6e 64 65 78 3b 0a 09 7d 0a 09 61 6c 69 61 73 20  ndex;..}..alias 
a140: 41 43 54 43 54 58 5f 53 45 43 54 49 4f 4e 5f 4b  ACTCTX_SECTION_K
a150: 45 59 45 44 5f 44 41 54 41 2a 20 20 20 20 20 20  EYED_DATA*      
a160: 20 50 41 43 54 43 54 58 5f 53 45 43 54 49 4f 4e   PACTCTX_SECTION
a170: 5f 4b 45 59 45 44 5f 44 41 54 41 3b 0a 09 61 6c  _KEYED_DATA;..al
a180: 69 61 73 20 43 50 74 72 21 28 41 43 54 43 54 58  ias CPtr!(ACTCTX
a190: 5f 53 45 43 54 49 4f 4e 5f 4b 45 59 45 44 5f 44  _SECTION_KEYED_D
a1a0: 41 54 41 29 20 50 43 41 43 54 43 54 58 5f 53 45  ATA) PCACTCTX_SE
a1b0: 43 54 49 4f 4e 5f 4b 45 59 45 44 5f 44 41 54 41  CTION_KEYED_DATA
a1c0: 3b 0a 0a 09 65 6e 75 6d 20 4d 45 4d 4f 52 59 5f  ;...enum MEMORY_
a1d0: 52 45 53 4f 55 52 43 45 5f 4e 4f 54 49 46 49 43  RESOURCE_NOTIFIC
a1e0: 41 54 49 4f 4e 5f 54 59 50 45 20 7b 0a 09 09 4c  ATION_TYPE {...L
a1f0: 6f 77 4d 65 6d 6f 72 79 52 65 73 6f 75 72 63 65  owMemoryResource
a200: 4e 6f 74 69 66 69 63 61 74 69 6f 6e 2c 0a 09 09  Notification,...
a210: 48 69 67 68 4d 65 6d 6f 72 79 52 65 73 6f 75 72  HighMemoryResour
a220: 63 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 0a 09  ceNotification..
a230: 7d 0a 0a 7d 20 2f 2f 20 28 5f 57 49 4e 33 32 5f  }..} // (_WIN32_
a240: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
a250: 0a 0a 73 74 61 74 69 63 20 69 66 20 28 57 49 4e  ..static if (WIN
a260: 56 45 52 20 3e 3d 20 30 78 34 31 30 29 20 7b 0a  VER >= 0x410) {.
a270: 09 2f 2a 09 61 70 70 61 72 65 6e 74 6c 79 20 75  ./*.apparently u
a280: 73 65 64 20 6f 6e 6c 79 20 62 79 20 53 65 74 54  sed only by SetT
a290: 68 72 65 61 64 45 78 65 63 75 74 69 6f 6e 53 74  hreadExecutionSt
a2a0: 61 74 65 20 28 57 69 6e 32 30 30 30 2b 29 0a 09  ate (Win2000+)..
a2b0: 20 2a 09 61 6e 64 20 44 44 4b 20 66 75 6e 63 74   *.and DDK funct
a2c0: 69 6f 6e 73 20 28 76 65 72 73 69 6f 6e 20 63 6f  ions (version co
a2d0: 6d 70 61 74 69 62 69 6c 69 74 79 20 6e 6f 74 20  mpatibility not 
a2e0: 65 73 74 61 62 6c 69 73 68 65 64 29 0a 09 20 2a  established).. *
a2f0: 2f 0a 09 61 6c 69 61 73 20 44 57 4f 52 44 20 45  /..alias DWORD E
a300: 58 45 43 55 54 49 4f 4e 5f 53 54 41 54 45 3b 0a  XECUTION_STATE;.
a310: 7d 0a 0a 2f 2f 20 43 61 6c 6c 62 61 63 6b 73 0a  }..// Callbacks.
a320: 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29  extern (Windows)
a330: 20 7b 0a 09 61 6c 69 61 73 20 44 57 4f 52 44 20   {..alias DWORD 
a340: 66 75 6e 63 74 69 6f 6e 28 4c 50 56 4f 49 44 29  function(LPVOID)
a350: 20 4c 50 54 48 52 45 41 44 5f 53 54 41 52 54 5f   LPTHREAD_START_
a360: 52 4f 55 54 49 4e 45 3b 0a 09 61 6c 69 61 73 20  ROUTINE;..alias 
a370: 44 57 4f 52 44 20 66 75 6e 63 74 69 6f 6e 28 4c  DWORD function(L
a380: 41 52 47 45 5f 49 4e 54 45 47 45 52 2c 20 4c 41  ARGE_INTEGER, LA
a390: 52 47 45 5f 49 4e 54 45 47 45 52 2c 20 4c 41 52  RGE_INTEGER, LAR
a3a0: 47 45 5f 49 4e 54 45 47 45 52 2c 20 4c 41 52 47  GE_INTEGER, LARG
a3b0: 45 5f 49 4e 54 45 47 45 52 2c 0a 09 09 44 57 4f  E_INTEGER,...DWO
a3c0: 52 44 2c 20 44 57 4f 52 44 2c 20 48 41 4e 44 4c  RD, DWORD, HANDL
a3d0: 45 2c 20 48 41 4e 44 4c 45 2c 20 4c 50 56 4f 49  E, HANDLE, LPVOI
a3e0: 44 29 20 20 4c 50 50 52 4f 47 52 45 53 53 5f 52  D)  LPPROGRESS_R
a3f0: 4f 55 54 49 4e 45 3b 0a 09 61 6c 69 61 73 20 76  OUTINE;..alias v
a400: 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f  oid function(PVO
a410: 49 44 29 20 4c 50 46 49 42 45 52 5f 53 54 41 52  ID) LPFIBER_STAR
a420: 54 5f 52 4f 55 54 49 4e 45 3b 0a 0a 09 61 6c 69  T_ROUTINE;...ali
a430: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e  as BOOL function
a440: 28 48 4d 4f 44 55 4c 45 2c 20 4c 50 43 53 54 52  (HMODULE, LPCSTR
a450: 2c 20 4c 50 43 53 54 52 2c 20 57 4f 52 44 2c 20  , LPCSTR, WORD, 
a460: 4c 4f 4e 47 29 20 45 4e 55 4d 52 45 53 4c 41 4e  LONG) ENUMRESLAN
a470: 47 50 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42  GPROCA;..alias B
a480: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 4d 4f  OOL function(HMO
a490: 44 55 4c 45 2c 20 4c 50 43 57 53 54 52 2c 20 4c  DULE, LPCWSTR, L
a4a0: 50 43 57 53 54 52 2c 20 57 4f 52 44 2c 20 4c 4f  PCWSTR, WORD, LO
a4b0: 4e 47 29 20 45 4e 55 4d 52 45 53 4c 41 4e 47 50  NG) ENUMRESLANGP
a4c0: 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 4f 4f  ROCW;..alias BOO
a4d0: 4c 20 66 75 6e 63 74 69 6f 6e 28 48 4d 4f 44 55  L function(HMODU
a4e0: 4c 45 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 54  LE, LPCSTR, LPST
a4f0: 52 2c 20 4c 4f 4e 47 29 20 45 4e 55 4d 52 45 53  R, LONG) ENUMRES
a500: 4e 41 4d 45 50 52 4f 43 41 3b 0a 09 61 6c 69 61  NAMEPROCA;..alia
a510: 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28  s BOOL function(
a520: 48 4d 4f 44 55 4c 45 2c 20 4c 50 43 57 53 54 52  HMODULE, LPCWSTR
a530: 2c 20 4c 50 57 53 54 52 2c 20 4c 4f 4e 47 29 20  , LPWSTR, LONG) 
a540: 45 4e 55 4d 52 45 53 4e 41 4d 45 50 52 4f 43 57  ENUMRESNAMEPROCW
a550: 3b 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75  ;..alias BOOL fu
a560: 6e 63 74 69 6f 6e 28 48 4d 4f 44 55 4c 45 2c 20  nction(HMODULE, 
a570: 4c 50 53 54 52 2c 20 4c 4f 4e 47 29 20 45 4e 55  LPSTR, LONG) ENU
a580: 4d 52 45 53 54 59 50 45 50 52 4f 43 41 3b 0a 09  MRESTYPEPROCA;..
a590: 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74  alias BOOL funct
a5a0: 69 6f 6e 28 48 4d 4f 44 55 4c 45 2c 20 4c 50 57  ion(HMODULE, LPW
a5b0: 53 54 52 2c 20 4c 4f 4e 47 29 20 45 4e 55 4d 52  STR, LONG) ENUMR
a5c0: 45 53 54 59 50 45 50 52 4f 43 57 3b 0a 09 61 6c  ESTYPEPROCW;..al
a5d0: 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69 6f  ias void functio
a5e0: 6e 28 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  n(DWORD, DWORD, 
a5f0: 4c 50 4f 56 45 52 4c 41 50 50 45 44 29 20 4c 50  LPOVERLAPPED) LP
a600: 4f 56 45 52 4c 41 50 50 45 44 5f 43 4f 4d 50 4c  OVERLAPPED_COMPL
a610: 45 54 49 4f 4e 5f 52 4f 55 54 49 4e 45 3b 0a 09  ETION_ROUTINE;..
a620: 61 6c 69 61 73 20 4c 4f 4e 47 20 66 75 6e 63 74  alias LONG funct
a630: 69 6f 6e 28 4c 50 45 58 43 45 50 54 49 4f 4e 5f  ion(LPEXCEPTION_
a640: 50 4f 49 4e 54 45 52 53 29 20 50 54 4f 50 5f 4c  POINTERS) PTOP_L
a650: 45 56 45 4c 5f 45 58 43 45 50 54 49 4f 4e 5f 46  EVEL_EXCEPTION_F
a660: 49 4c 54 45 52 3b 0a 09 61 6c 69 61 73 20 50 54  ILTER;..alias PT
a670: 4f 50 5f 4c 45 56 45 4c 5f 45 58 43 45 50 54 49  OP_LEVEL_EXCEPTI
a680: 4f 4e 5f 46 49 4c 54 45 52 20 4c 50 54 4f 50 5f  ON_FILTER LPTOP_
a690: 4c 45 56 45 4c 5f 45 58 43 45 50 54 49 4f 4e 5f  LEVEL_EXCEPTION_
a6a0: 46 49 4c 54 45 52 3b 0a 0a 09 61 6c 69 61 73 20  FILTER;...alias 
a6b0: 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 55 4c  void function(UL
a6c0: 4f 4e 47 5f 50 54 52 29 20 50 41 50 43 46 55 4e  ONG_PTR) PAPCFUN
a6d0: 43 3b 0a 09 61 6c 69 61 73 20 76 6f 69 64 20 66  C;..alias void f
a6e0: 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 44  unction(PVOID, D
a6f0: 57 4f 52 44 2c 20 44 57 4f 52 44 29 20 50 54 49  WORD, DWORD) PTI
a700: 4d 45 52 41 50 43 52 4f 55 54 49 4e 45 3b 0a 0a  MERAPCROUTINE;..
a710: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
a720: 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26  32_WINNT_ONLY &&
a730: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
a740: 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69 61   0x500) {...alia
a750: 73 20 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28  s void function(
a760: 50 56 4f 49 44 2c 20 42 4f 4f 4c 45 41 4e 29 20  PVOID, BOOLEAN) 
a770: 57 41 49 54 4f 52 54 49 4d 45 52 43 41 4c 4c 42  WAITORTIMERCALLB
a780: 41 43 4b 3b 0a 09 7d 0a 7d 0a 0a 4c 50 54 53 54  ACK;..}.}..LPTST
a790: 52 20 4d 41 4b 45 49 4e 54 41 54 4f 4d 28 73 68  R MAKEINTATOM(sh
a7a0: 6f 72 74 20 69 29 20 7b 0a 09 72 65 74 75 72 6e  ort i) {..return
a7b0: 20 63 61 73 74 28 4c 50 54 53 54 52 29 20 69 3b   cast(LPTSTR) i;
a7c0: 0a 7d 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  .}..extern (Wind
a7d0: 6f 77 73 29 20 7b 0a 09 41 54 4f 4d 20 41 64 64  ows) {..ATOM Add
a7e0: 41 74 6f 6d 41 28 4c 50 43 53 54 52 29 3b 0a 09  AtomA(LPCSTR);..
a7f0: 41 54 4f 4d 20 41 64 64 41 74 6f 6d 57 28 4c 50  ATOM AddAtomW(LP
a800: 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 41 72  CWSTR);..BOOL Ar
a810: 65 46 69 6c 65 41 70 69 73 41 4e 53 49 28 29 3b  eFileApisANSI();
a820: 0a 09 42 4f 4f 4c 20 42 65 65 70 28 44 57 4f 52  ..BOOL Beep(DWOR
a830: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 48 41 4e 44  D, DWORD);..HAND
a840: 4c 45 20 42 65 67 69 6e 55 70 64 61 74 65 52 65  LE BeginUpdateRe
a850: 73 6f 75 72 63 65 41 28 4c 50 43 53 54 52 2c 20  sourceA(LPCSTR, 
a860: 42 4f 4f 4c 29 3b 0a 09 48 41 4e 44 4c 45 20 42  BOOL);..HANDLE B
a870: 65 67 69 6e 55 70 64 61 74 65 52 65 73 6f 75 72  eginUpdateResour
a880: 63 65 57 28 4c 50 43 57 53 54 52 2c 20 42 4f 4f  ceW(LPCWSTR, BOO
a890: 4c 29 3b 0a 09 42 4f 4f 4c 20 42 75 69 6c 64 43  L);..BOOL BuildC
a8a0: 6f 6d 6d 44 43 42 41 28 4c 50 43 53 54 52 2c 20  ommDCBA(LPCSTR, 
a8b0: 4c 50 44 43 42 29 3b 0a 09 42 4f 4f 4c 20 42 75  LPDCB);..BOOL Bu
a8c0: 69 6c 64 43 6f 6d 6d 44 43 42 57 28 4c 50 43 57  ildCommDCBW(LPCW
a8d0: 53 54 52 2c 20 4c 50 44 43 42 29 3b 0a 09 42 4f  STR, LPDCB);..BO
a8e0: 4f 4c 20 42 75 69 6c 64 43 6f 6d 6d 44 43 42 41  OL BuildCommDCBA
a8f0: 6e 64 54 69 6d 65 6f 75 74 73 41 28 4c 50 43 53  ndTimeoutsA(LPCS
a900: 54 52 2c 20 4c 50 44 43 42 2c 20 4c 50 43 4f 4d  TR, LPDCB, LPCOM
a910: 4d 54 49 4d 45 4f 55 54 53 29 3b 0a 09 42 4f 4f  MTIMEOUTS);..BOO
a920: 4c 20 42 75 69 6c 64 43 6f 6d 6d 44 43 42 41 6e  L BuildCommDCBAn
a930: 64 54 69 6d 65 6f 75 74 73 57 28 4c 50 43 57 53  dTimeoutsW(LPCWS
a940: 54 52 2c 20 4c 50 44 43 42 2c 20 4c 50 43 4f 4d  TR, LPDCB, LPCOM
a950: 4d 54 49 4d 45 4f 55 54 53 29 3b 0a 09 42 4f 4f  MTIMEOUTS);..BOO
a960: 4c 20 43 61 6c 6c 4e 61 6d 65 64 50 69 70 65 41  L CallNamedPipeA
a970: 28 4c 50 43 53 54 52 2c 20 50 56 4f 49 44 2c 20  (LPCSTR, PVOID, 
a980: 44 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44 57  DWORD, PVOID, DW
a990: 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 44 57 4f  ORD, PDWORD, DWO
a9a0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 43 61 6c 6c 4e  RD);..BOOL CallN
a9b0: 61 6d 65 64 50 69 70 65 57 28 4c 50 43 57 53 54  amedPipeW(LPCWST
a9c0: 52 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c  R, PVOID, DWORD,
a9d0: 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 50   PVOID, DWORD, P
a9e0: 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09  DWORD, DWORD);..
a9f0: 42 4f 4f 4c 20 43 61 6e 63 65 6c 44 65 76 69 63  BOOL CancelDevic
aa00: 65 57 61 6b 65 75 70 52 65 71 75 65 73 74 28 48  eWakeupRequest(H
aa10: 41 4e 44 4c 45 29 3b 0a 09 42 4f 4f 4c 20 43 68  ANDLE);..BOOL Ch
aa20: 65 63 6b 54 6f 6b 65 6e 4d 65 6d 62 65 72 73 68  eckTokenMembersh
aa30: 69 70 28 48 41 4e 44 4c 45 2c 20 50 53 49 44 2c  ip(HANDLE, PSID,
aa40: 20 50 42 4f 4f 4c 29 3b 0a 09 42 4f 4f 4c 20 43   PBOOL);..BOOL C
aa50: 6c 65 61 72 43 6f 6d 6d 42 72 65 61 6b 28 48 41  learCommBreak(HA
aa60: 4e 44 4c 45 29 3b 0a 09 42 4f 4f 4c 20 43 6c 65  NDLE);..BOOL Cle
aa70: 61 72 43 6f 6d 6d 45 72 72 6f 72 28 48 41 4e 44  arCommError(HAND
aa80: 4c 45 2c 20 50 44 57 4f 52 44 2c 20 4c 50 43 4f  LE, PDWORD, LPCO
aa90: 4d 53 54 41 54 29 3b 0a 09 42 4f 4f 4c 20 43 6c  MSTAT);..BOOL Cl
aaa0: 6f 73 65 48 61 6e 64 6c 65 28 48 41 4e 44 4c 45  oseHandle(HANDLE
aab0: 29 3b 0a 09 42 4f 4f 4c 20 43 6f 6d 6d 43 6f 6e  );..BOOL CommCon
aac0: 66 69 67 44 69 61 6c 6f 67 41 28 4c 50 43 53 54  figDialogA(LPCST
aad0: 52 2c 20 48 57 4e 44 2c 20 4c 50 43 4f 4d 4d 43  R, HWND, LPCOMMC
aae0: 4f 4e 46 49 47 29 3b 0a 09 42 4f 4f 4c 20 43 6f  ONFIG);..BOOL Co
aaf0: 6d 6d 43 6f 6e 66 69 67 44 69 61 6c 6f 67 57 28  mmConfigDialogW(
ab00: 4c 50 43 57 53 54 52 2c 20 48 57 4e 44 2c 20 4c  LPCWSTR, HWND, L
ab10: 50 43 4f 4d 4d 43 4f 4e 46 49 47 29 3b 0a 09 4c  PCOMMCONFIG);..L
ab20: 4f 4e 47 20 43 6f 6d 70 61 72 65 46 69 6c 65 54  ONG CompareFileT
ab30: 69 6d 65 28 43 50 74 72 21 28 46 49 4c 45 54 49  ime(CPtr!(FILETI
ab40: 4d 45 29 2c 20 43 50 74 72 21 28 46 49 4c 45 54  ME), CPtr!(FILET
ab50: 49 4d 45 29 29 3b 0a 09 42 4f 4f 4c 20 43 6f 6e  IME));..BOOL Con
ab60: 74 69 6e 75 65 44 65 62 75 67 45 76 65 6e 74 28  tinueDebugEvent(
ab70: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57  DWORD, DWORD, DW
ab80: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 43 6f 70 79  ORD);..BOOL Copy
ab90: 46 69 6c 65 41 28 4c 50 43 53 54 52 2c 20 4c 50  FileA(LPCSTR, LP
aba0: 43 53 54 52 2c 20 42 4f 4f 4c 29 3b 0a 09 42 4f  CSTR, BOOL);..BO
abb0: 4f 4c 20 43 6f 70 79 46 69 6c 65 57 28 4c 50 43  OL CopyFileW(LPC
abc0: 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 42  WSTR, LPCWSTR, B
abd0: 4f 4f 4c 29 3b 0a 09 42 4f 4f 4c 20 43 6f 70 79  OOL);..BOOL Copy
abe0: 46 69 6c 65 45 78 41 28 4c 50 43 53 54 52 2c 20  FileExA(LPCSTR, 
abf0: 4c 50 43 53 54 52 2c 20 4c 50 50 52 4f 47 52 45  LPCSTR, LPPROGRE
ac00: 53 53 5f 52 4f 55 54 49 4e 45 2c 20 4c 50 56 4f  SS_ROUTINE, LPVO
ac10: 49 44 2c 20 4c 50 42 4f 4f 4c 2c 20 44 57 4f 52  ID, LPBOOL, DWOR
ac20: 44 29 3b 0a 09 42 4f 4f 4c 20 43 6f 70 79 46 69  D);..BOOL CopyFi
ac30: 6c 65 45 78 57 28 4c 50 43 57 53 54 52 2c 20 4c  leExW(LPCWSTR, L
ac40: 50 43 57 53 54 52 2c 20 4c 50 50 52 4f 47 52 45  PCWSTR, LPPROGRE
ac50: 53 53 5f 52 4f 55 54 49 4e 45 2c 20 4c 50 56 4f  SS_ROUTINE, LPVO
ac60: 49 44 2c 20 4c 50 42 4f 4f 4c 2c 20 44 57 4f 52  ID, LPBOOL, DWOR
ac70: 44 29 3b 0a 0a 09 2f 2b 20 46 49 58 4d 45 0a 09  D);.../+ FIXME..
ac80: 61 6c 69 61 73 20 6d 65 6d 6d 6f 76 65 20 52 74  alias memmove Rt
ac90: 6c 4d 6f 76 65 4d 65 6d 6f 72 79 3b 0a 09 61 6c  lMoveMemory;..al
aca0: 69 61 73 20 6d 65 6d 63 70 79 20 52 74 6c 43 6f  ias memcpy RtlCo
acb0: 70 79 4d 65 6d 6f 72 79 3b 0a 0a 09 76 6f 69 64  pyMemory;...void
acc0: 20 52 74 6c 46 69 6c 6c 4d 65 6d 6f 72 79 28 50   RtlFillMemory(P
acd0: 56 4f 49 44 20 64 65 73 74 2c 20 53 49 5a 45 5f  VOID dest, SIZE_
ace0: 54 20 6c 65 6e 2c 20 42 59 54 45 20 66 69 6c 6c  T len, BYTE fill
acf0: 29 20 7b 0a 09 09 6d 65 6d 73 65 74 28 64 65 73  ) {...memset(des
ad00: 74 2c 20 66 69 6c 6c 2c 20 6c 65 6e 29 3b 0a 09  t, fill, len);..
ad10: 7d 0a 0a 09 76 6f 69 64 20 52 74 6c 5a 65 72 6f  }...void RtlZero
ad20: 4d 65 6d 6f 72 79 28 50 56 4f 49 44 20 64 65 73  Memory(PVOID des
ad30: 74 2c 20 53 49 5a 45 5f 54 20 6c 65 6e 29 20 7b  t, SIZE_T len) {
ad40: 0a 09 09 52 74 6c 46 69 6c 6c 4d 65 6d 6f 72 79  ...RtlFillMemory
ad50: 28 64 65 73 74 2c 20 6c 65 6e 20 2c 20 30 29 3b  (dest, len , 0);
ad60: 0a 09 7d 0a 0a 09 61 6c 69 61 73 20 52 74 6c 4d  ..}...alias RtlM
ad70: 6f 76 65 4d 65 6d 6f 72 79 20 4d 6f 76 65 4d 65  oveMemory MoveMe
ad80: 6d 6f 72 79 3b 0a 09 61 6c 69 61 73 20 52 74 6c  mory;..alias Rtl
ad90: 43 6f 70 79 4d 65 6d 6f 72 79 20 43 6f 70 79 4d  CopyMemory CopyM
ada0: 65 6d 6f 72 79 3b 0a 09 61 6c 69 61 73 20 52 74  emory;..alias Rt
adb0: 6c 46 69 6c 6c 4d 65 6d 6f 72 79 20 46 69 6c 6c  lFillMemory Fill
adc0: 4d 65 6d 6f 72 79 3b 0a 09 61 6c 69 61 73 20 52  Memory;..alias R
add0: 74 6c 5a 65 72 6f 4d 65 6d 6f 72 79 20 5a 65 72  tlZeroMemory Zer
ade0: 6f 4d 65 6d 6f 72 79 3b 0a 09 2b 2f 0a 09 42 4f  oMemory;..+/..BO
adf0: 4f 4c 20 43 72 65 61 74 65 44 69 72 65 63 74 6f  OL CreateDirecto
ae00: 72 79 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 45  ryA(LPCSTR, LPSE
ae10: 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45  CURITY_ATTRIBUTE
ae20: 53 29 3b 0a 09 42 4f 4f 4c 20 43 72 65 61 74 65  S);..BOOL Create
ae30: 44 69 72 65 63 74 6f 72 79 57 28 4c 50 43 57 53  DirectoryW(LPCWS
ae40: 54 52 2c 20 4c 50 53 45 43 55 52 49 54 59 5f 41  TR, LPSECURITY_A
ae50: 54 54 52 49 42 55 54 45 53 29 3b 0a 09 42 4f 4f  TTRIBUTES);..BOO
ae60: 4c 20 43 72 65 61 74 65 44 69 72 65 63 74 6f 72  L CreateDirector
ae70: 79 45 78 41 28 4c 50 43 53 54 52 2c 20 4c 50 43  yExA(LPCSTR, LPC
ae80: 53 54 52 2c 20 4c 50 53 45 43 55 52 49 54 59 5f  STR, LPSECURITY_
ae90: 41 54 54 52 49 42 55 54 45 53 29 3b 0a 09 42 4f  ATTRIBUTES);..BO
aea0: 4f 4c 20 43 72 65 61 74 65 44 69 72 65 63 74 6f  OL CreateDirecto
aeb0: 72 79 45 78 57 28 4c 50 43 57 53 54 52 2c 20 4c  ryExW(LPCWSTR, L
aec0: 50 43 57 53 54 52 2c 20 4c 50 53 45 43 55 52 49  PCWSTR, LPSECURI
aed0: 54 59 5f 41 54 54 52 49 42 55 54 45 53 29 3b 0a  TY_ATTRIBUTES);.
aee0: 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65 45 76  .HANDLE CreateEv
aef0: 65 6e 74 41 28 4c 50 53 45 43 55 52 49 54 59 5f  entA(LPSECURITY_
af00: 41 54 54 52 49 42 55 54 45 53 2c 20 42 4f 4f 4c  ATTRIBUTES, BOOL
af10: 2c 20 42 4f 4f 4c 2c 20 4c 50 43 53 54 52 29 3b  , BOOL, LPCSTR);
af20: 0a 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65 45  ..HANDLE CreateE
af30: 76 65 6e 74 57 28 4c 50 53 45 43 55 52 49 54 59  ventW(LPSECURITY
af40: 5f 41 54 54 52 49 42 55 54 45 53 2c 20 42 4f 4f  _ATTRIBUTES, BOO
af50: 4c 2c 20 42 4f 4f 4c 2c 20 4c 50 43 57 53 54 52  L, BOOL, LPCWSTR
af60: 29 3b 0a 09 48 41 4e 44 4c 45 20 43 72 65 61 74  );..HANDLE Creat
af70: 65 46 69 6c 65 41 28 4c 50 43 53 54 52 2c 20 44  eFileA(LPCSTR, D
af80: 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 53  WORD, DWORD, LPS
af90: 45 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54  ECURITY_ATTRIBUT
afa0: 45 53 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  ES, DWORD, DWORD
afb0: 2c 20 48 41 4e 44 4c 45 29 3b 0a 09 48 41 4e 44  , HANDLE);..HAND
afc0: 4c 45 20 43 72 65 61 74 65 46 69 6c 65 57 28 4c  LE CreateFileW(L
afd0: 50 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 44  PCWSTR, DWORD, D
afe0: 57 4f 52 44 2c 20 4c 50 53 45 43 55 52 49 54 59  WORD, LPSECURITY
aff0: 5f 41 54 54 52 49 42 55 54 45 53 2c 20 44 57 4f  _ATTRIBUTES, DWO
b000: 52 44 2c 20 44 57 4f 52 44 2c 20 48 41 4e 44 4c  RD, DWORD, HANDL
b010: 45 29 3b 0a 09 48 41 4e 44 4c 45 20 43 72 65 61  E);..HANDLE Crea
b020: 74 65 49 6f 43 6f 6d 70 6c 65 74 69 6f 6e 50 6f  teIoCompletionPo
b030: 72 74 28 48 41 4e 44 4c 45 2c 20 48 41 4e 44 4c  rt(HANDLE, HANDL
b040: 45 2c 20 55 4c 4f 4e 47 5f 50 54 52 2c 20 44 57  E, ULONG_PTR, DW
b050: 4f 52 44 29 3b 0a 09 48 41 4e 44 4c 45 20 43 72  ORD);..HANDLE Cr
b060: 65 61 74 65 4d 61 69 6c 73 6c 6f 74 41 28 4c 50  eateMailslotA(LP
b070: 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f  CSTR, DWORD, DWO
b080: 52 44 2c 20 4c 50 53 45 43 55 52 49 54 59 5f 41  RD, LPSECURITY_A
b090: 54 54 52 49 42 55 54 45 53 29 3b 0a 09 48 41 4e  TTRIBUTES);..HAN
b0a0: 44 4c 45 20 43 72 65 61 74 65 4d 61 69 6c 73 6c  DLE CreateMailsl
b0b0: 6f 74 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f  otW(LPCWSTR, DWO
b0c0: 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 53 45 43  RD, DWORD, LPSEC
b0d0: 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53  URITY_ATTRIBUTES
b0e0: 29 3b 0a 09 48 41 4e 44 4c 45 20 43 72 65 61 74  );..HANDLE Creat
b0f0: 65 4d 75 74 65 78 41 28 4c 50 53 45 43 55 52 49  eMutexA(LPSECURI
b100: 54 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20 42  TY_ATTRIBUTES, B
b110: 4f 4f 4c 2c 20 4c 50 43 53 54 52 29 3b 0a 09 48  OOL, LPCSTR);..H
b120: 41 4e 44 4c 45 20 43 72 65 61 74 65 4d 75 74 65  ANDLE CreateMute
b130: 78 57 28 4c 50 53 45 43 55 52 49 54 59 5f 41 54  xW(LPSECURITY_AT
b140: 54 52 49 42 55 54 45 53 2c 20 42 4f 4f 4c 2c 20  TRIBUTES, BOOL, 
b150: 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20  LPCWSTR);..BOOL 
b160: 43 72 65 61 74 65 50 69 70 65 28 50 48 41 4e 44  CreatePipe(PHAND
b170: 4c 45 2c 20 50 48 41 4e 44 4c 45 2c 20 4c 50 53  LE, PHANDLE, LPS
b180: 45 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54  ECURITY_ATTRIBUT
b190: 45 53 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  ES, DWORD);..BOO
b1a0: 4c 20 43 72 65 61 74 65 50 72 6f 63 65 73 73 41  L CreateProcessA
b1b0: 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20  (LPCSTR, LPSTR, 
b1c0: 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49  LPSECURITY_ATTRI
b1d0: 42 55 54 45 53 2c 20 4c 50 53 45 43 55 52 49 54  BUTES, LPSECURIT
b1e0: 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20 42 4f  Y_ATTRIBUTES, BO
b1f0: 4f 4c 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44  OL, DWORD, PVOID
b200: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 54 41 52  , LPCSTR, LPSTAR
b210: 54 55 50 49 4e 46 4f 41 2c 20 4c 50 50 52 4f 43  TUPINFOA, LPPROC
b220: 45 53 53 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 29  ESS_INFORMATION)
b230: 3b 0a 09 42 4f 4f 4c 20 43 72 65 61 74 65 50 72  ;..BOOL CreatePr
b240: 6f 63 65 73 73 57 28 4c 50 43 57 53 54 52 2c 20  ocessW(LPCWSTR, 
b250: 4c 50 57 53 54 52 2c 20 4c 50 53 45 43 55 52 49  LPWSTR, LPSECURI
b260: 54 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20 4c  TY_ATTRIBUTES, L
b270: 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42  PSECURITY_ATTRIB
b280: 55 54 45 53 2c 20 42 4f 4f 4c 2c 20 44 57 4f 52  UTES, BOOL, DWOR
b290: 44 2c 20 50 56 4f 49 44 2c 20 4c 50 43 57 53 54  D, PVOID, LPCWST
b2a0: 52 2c 20 4c 50 53 54 41 52 54 55 50 49 4e 46 4f  R, LPSTARTUPINFO
b2b0: 57 2c 20 4c 50 50 52 4f 43 45 53 53 5f 49 4e 46  W, LPPROCESS_INF
b2c0: 4f 52 4d 41 54 49 4f 4e 29 3b 0a 09 48 41 4e 44  ORMATION);..HAND
b2d0: 4c 45 20 43 72 65 61 74 65 53 65 6d 61 70 68 6f  LE CreateSemapho
b2e0: 72 65 41 28 4c 50 53 45 43 55 52 49 54 59 5f 41  reA(LPSECURITY_A
b2f0: 54 54 52 49 42 55 54 45 53 2c 20 4c 4f 4e 47 2c  TTRIBUTES, LONG,
b300: 20 4c 4f 4e 47 2c 20 4c 50 43 53 54 52 29 3b 0a   LONG, LPCSTR);.
b310: 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65 53 65  .HANDLE CreateSe
b320: 6d 61 70 68 6f 72 65 57 28 4c 50 53 45 43 55 52  maphoreW(LPSECUR
b330: 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20  ITY_ATTRIBUTES, 
b340: 4c 4f 4e 47 2c 20 4c 4f 4e 47 2c 20 4c 50 43 57  LONG, LONG, LPCW
b350: 53 54 52 29 3b 0a 09 48 41 4e 44 4c 45 20 43 72  STR);..HANDLE Cr
b360: 65 61 74 65 54 68 72 65 61 64 28 4c 50 53 45 43  eateThread(LPSEC
b370: 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53  URITY_ATTRIBUTES
b380: 2c 20 44 57 4f 52 44 2c 20 4c 50 54 48 52 45 41  , DWORD, LPTHREA
b390: 44 5f 53 54 41 52 54 5f 52 4f 55 54 49 4e 45 2c  D_START_ROUTINE,
b3a0: 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 50   PVOID, DWORD, P
b3b0: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 44 65  DWORD);..BOOL De
b3c0: 62 75 67 41 63 74 69 76 65 50 72 6f 63 65 73 73  bugActiveProcess
b3d0: 28 44 57 4f 52 44 29 3b 0a 09 76 6f 69 64 20 44  (DWORD);..void D
b3e0: 65 62 75 67 42 72 65 61 6b 28 29 3b 0a 09 41 54  ebugBreak();..AT
b3f0: 4f 4d 20 44 65 6c 65 74 65 41 74 6f 6d 28 41 54  OM DeleteAtom(AT
b400: 4f 4d 29 3b 0a 09 76 6f 69 64 20 44 65 6c 65 74  OM);..void Delet
b410: 65 43 72 69 74 69 63 61 6c 53 65 63 74 69 6f 6e  eCriticalSection
b420: 28 50 43 52 49 54 49 43 41 4c 5f 53 45 43 54 49  (PCRITICAL_SECTI
b430: 4f 4e 29 3b 0a 09 42 4f 4f 4c 20 44 65 6c 65 74  ON);..BOOL Delet
b440: 65 46 69 6c 65 41 28 4c 50 43 53 54 52 29 3b 0a  eFileA(LPCSTR);.
b450: 09 42 4f 4f 4c 20 44 65 6c 65 74 65 46 69 6c 65  .BOOL DeleteFile
b460: 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f  W(LPCWSTR);..BOO
b470: 4c 20 44 69 73 61 62 6c 65 54 68 72 65 61 64 4c  L DisableThreadL
b480: 69 62 72 61 72 79 43 61 6c 6c 73 28 48 4d 4f 44  ibraryCalls(HMOD
b490: 55 4c 45 29 3b 0a 09 42 4f 4f 4c 20 44 6f 73 44  ULE);..BOOL DosD
b4a0: 61 74 65 54 69 6d 65 54 6f 46 69 6c 65 54 69 6d  ateTimeToFileTim
b4b0: 65 28 57 4f 52 44 2c 20 57 4f 52 44 2c 20 4c 50  e(WORD, WORD, LP
b4c0: 46 49 4c 45 54 49 4d 45 29 3b 0a 09 42 4f 4f 4c  FILETIME);..BOOL
b4d0: 20 44 75 70 6c 69 63 61 74 65 48 61 6e 64 6c 65   DuplicateHandle
b4e0: 28 48 41 4e 44 4c 45 2c 20 48 41 4e 44 4c 45 2c  (HANDLE, HANDLE,
b4f0: 20 48 41 4e 44 4c 45 2c 20 50 48 41 4e 44 4c 45   HANDLE, PHANDLE
b500: 2c 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 44  , DWORD, BOOL, D
b510: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 45 6e 64  WORD);..BOOL End
b520: 55 70 64 61 74 65 52 65 73 6f 75 72 63 65 41 28  UpdateResourceA(
b530: 48 41 4e 44 4c 45 2c 20 42 4f 4f 4c 29 3b 0a 09  HANDLE, BOOL);..
b540: 42 4f 4f 4c 20 45 6e 64 55 70 64 61 74 65 52 65  BOOL EndUpdateRe
b550: 73 6f 75 72 63 65 57 28 48 41 4e 44 4c 45 2c 20  sourceW(HANDLE, 
b560: 42 4f 4f 4c 29 3b 0a 09 76 6f 69 64 20 45 6e 74  BOOL);..void Ent
b570: 65 72 43 72 69 74 69 63 61 6c 53 65 63 74 69 6f  erCriticalSectio
b580: 6e 28 4c 50 43 52 49 54 49 43 41 4c 5f 53 45 43  n(LPCRITICAL_SEC
b590: 54 49 4f 4e 29 3b 0a 09 42 4f 4f 4c 20 45 6e 75  TION);..BOOL Enu
b5a0: 6d 52 65 73 6f 75 72 63 65 4c 61 6e 67 75 61 67  mResourceLanguag
b5b0: 65 73 41 28 48 4d 4f 44 55 4c 45 2c 20 4c 50 43  esA(HMODULE, LPC
b5c0: 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 45 4e 55  STR, LPCSTR, ENU
b5d0: 4d 52 45 53 4c 41 4e 47 50 52 4f 43 2c 20 4c 4f  MRESLANGPROC, LO
b5e0: 4e 47 5f 50 54 52 29 3b 0a 09 42 4f 4f 4c 20 45  NG_PTR);..BOOL E
b5f0: 6e 75 6d 52 65 73 6f 75 72 63 65 4c 61 6e 67 75  numResourceLangu
b600: 61 67 65 73 57 28 48 4d 4f 44 55 4c 45 2c 20 4c  agesW(HMODULE, L
b610: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c  PCWSTR, LPCWSTR,
b620: 20 45 4e 55 4d 52 45 53 4c 41 4e 47 50 52 4f 43   ENUMRESLANGPROC
b630: 2c 20 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09 42 4f  , LONG_PTR);..BO
b640: 4f 4c 20 45 6e 75 6d 52 65 73 6f 75 72 63 65 4e  OL EnumResourceN
b650: 61 6d 65 73 41 28 48 4d 4f 44 55 4c 45 2c 20 4c  amesA(HMODULE, L
b660: 50 43 53 54 52 2c 20 45 4e 55 4d 52 45 53 4e 41  PCSTR, ENUMRESNA
b670: 4d 45 50 52 4f 43 2c 20 4c 4f 4e 47 5f 50 54 52  MEPROC, LONG_PTR
b680: 29 3b 0a 09 42 4f 4f 4c 20 45 6e 75 6d 52 65 73  );..BOOL EnumRes
b690: 6f 75 72 63 65 4e 61 6d 65 73 57 28 48 4d 4f 44  ourceNamesW(HMOD
b6a0: 55 4c 45 2c 20 4c 50 43 57 53 54 52 2c 20 45 4e  ULE, LPCWSTR, EN
b6b0: 55 4d 52 45 53 4e 41 4d 45 50 52 4f 43 2c 20 4c  UMRESNAMEPROC, L
b6c0: 4f 4e 47 5f 50 54 52 29 3b 0a 09 42 4f 4f 4c 20  ONG_PTR);..BOOL 
b6d0: 45 6e 75 6d 52 65 73 6f 75 72 63 65 54 79 70 65  EnumResourceType
b6e0: 73 41 28 48 4d 4f 44 55 4c 45 2c 20 45 4e 55 4d  sA(HMODULE, ENUM
b6f0: 52 45 53 54 59 50 45 50 52 4f 43 2c 20 4c 4f 4e  RESTYPEPROC, LON
b700: 47 5f 50 54 52 29 3b 0a 09 42 4f 4f 4c 20 45 6e  G_PTR);..BOOL En
b710: 75 6d 52 65 73 6f 75 72 63 65 54 79 70 65 73 57  umResourceTypesW
b720: 28 48 4d 4f 44 55 4c 45 2c 20 45 4e 55 4d 52 45  (HMODULE, ENUMRE
b730: 53 54 59 50 45 50 52 4f 43 2c 20 4c 4f 4e 47 5f  STYPEPROC, LONG_
b740: 50 54 52 29 3b 0a 09 42 4f 4f 4c 20 45 73 63 61  PTR);..BOOL Esca
b750: 70 65 43 6f 6d 6d 46 75 6e 63 74 69 6f 6e 28 48  peCommFunction(H
b760: 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a 09  ANDLE, DWORD);..
b770: 76 6f 69 64 20 45 78 69 74 50 72 6f 63 65 73 73  void ExitProcess
b780: 28 55 49 4e 54 29 3b 20 2f 2f 20 4e 65 76 65 72  (UINT); // Never
b790: 20 72 65 74 75 72 6e 73 0a 09 76 6f 69 64 20 45   returns..void E
b7a0: 78 69 74 54 68 72 65 61 64 28 44 57 4f 52 44 29  xitThread(DWORD)
b7b0: 3b 20 2f 2f 20 4e 65 76 65 72 20 72 65 74 75 72  ; // Never retur
b7c0: 6e 73 0a 09 44 57 4f 52 44 20 45 78 70 61 6e 64  ns..DWORD Expand
b7d0: 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74 72 69 6e  EnvironmentStrin
b7e0: 67 73 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54  gsA(LPCSTR, LPST
b7f0: 52 2c 20 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52  R, DWORD);..DWOR
b800: 44 20 45 78 70 61 6e 64 45 6e 76 69 72 6f 6e 6d  D ExpandEnvironm
b810: 65 6e 74 53 74 72 69 6e 67 73 57 28 4c 50 43 57  entStringsW(LPCW
b820: 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f  STR, LPWSTR, DWO
b830: 52 44 29 3b 0a 09 76 6f 69 64 20 46 61 74 61 6c  RD);..void Fatal
b840: 41 70 70 45 78 69 74 41 28 55 49 4e 54 2c 20 4c  AppExitA(UINT, L
b850: 50 43 53 54 52 29 3b 0a 09 76 6f 69 64 20 46 61  PCSTR);..void Fa
b860: 74 61 6c 41 70 70 45 78 69 74 57 28 55 49 4e 54  talAppExitW(UINT
b870: 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 76 6f 69  , LPCWSTR);..voi
b880: 64 20 46 61 74 61 6c 45 78 69 74 28 69 6e 74 29  d FatalExit(int)
b890: 3b 0a 09 42 4f 4f 4c 20 46 69 6c 65 54 69 6d 65  ;..BOOL FileTime
b8a0: 54 6f 44 6f 73 44 61 74 65 54 69 6d 65 28 43 50  ToDosDateTime(CP
b8b0: 74 72 21 28 46 49 4c 45 54 49 4d 45 29 20 2c 20  tr!(FILETIME) , 
b8c0: 4c 50 57 4f 52 44 2c 20 4c 50 57 4f 52 44 29 3b  LPWORD, LPWORD);
b8d0: 0a 09 42 4f 4f 4c 20 46 69 6c 65 54 69 6d 65 54  ..BOOL FileTimeT
b8e0: 6f 4c 6f 63 61 6c 46 69 6c 65 54 69 6d 65 28 43  oLocalFileTime(C
b8f0: 50 74 72 21 28 46 49 4c 45 54 49 4d 45 29 20 2c  Ptr!(FILETIME) ,
b900: 20 4c 50 46 49 4c 45 54 49 4d 45 29 3b 0a 09 42   LPFILETIME);..B
b910: 4f 4f 4c 20 46 69 6c 65 54 69 6d 65 54 6f 53 79  OOL FileTimeToSy
b920: 73 74 65 6d 54 69 6d 65 28 43 50 74 72 21 28 46  stemTime(CPtr!(F
b930: 49 4c 45 54 49 4d 45 29 20 2c 20 4c 50 53 59 53  ILETIME) , LPSYS
b940: 54 45 4d 54 49 4d 45 29 3b 0a 09 41 54 4f 4d 20  TEMTIME);..ATOM 
b950: 46 69 6e 64 41 74 6f 6d 41 28 4c 50 43 53 54 52  FindAtomA(LPCSTR
b960: 29 3b 0a 09 41 54 4f 4d 20 46 69 6e 64 41 74 6f  );..ATOM FindAto
b970: 6d 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f  mW(LPCWSTR);..BO
b980: 4f 4c 20 46 69 6e 64 43 6c 6f 73 65 28 48 41 4e  OL FindClose(HAN
b990: 44 4c 45 29 3b 0a 09 42 4f 4f 4c 20 46 69 6e 64  DLE);..BOOL Find
b9a0: 43 6c 6f 73 65 43 68 61 6e 67 65 4e 6f 74 69 66  CloseChangeNotif
b9b0: 69 63 61 74 69 6f 6e 28 48 41 4e 44 4c 45 29 3b  ication(HANDLE);
b9c0: 0a 09 48 41 4e 44 4c 45 20 46 69 6e 64 46 69 72  ..HANDLE FindFir
b9d0: 73 74 43 68 61 6e 67 65 4e 6f 74 69 66 69 63 61  stChangeNotifica
b9e0: 74 69 6f 6e 41 28 4c 50 43 53 54 52 2c 20 42 4f  tionA(LPCSTR, BO
b9f0: 4f 4c 2c 20 44 57 4f 52 44 29 3b 0a 09 48 41 4e  OL, DWORD);..HAN
ba00: 44 4c 45 20 46 69 6e 64 46 69 72 73 74 43 68 61  DLE FindFirstCha
ba10: 6e 67 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 57  ngeNotificationW
ba20: 28 4c 50 43 57 53 54 52 2c 20 42 4f 4f 4c 2c 20  (LPCWSTR, BOOL, 
ba30: 44 57 4f 52 44 29 3b 0a 09 48 41 4e 44 4c 45 20  DWORD);..HANDLE 
ba40: 46 69 6e 64 46 69 72 73 74 46 69 6c 65 41 28 4c  FindFirstFileA(L
ba50: 50 43 53 54 52 2c 20 4c 50 57 49 4e 33 32 5f 46  PCSTR, LPWIN32_F
ba60: 49 4e 44 5f 44 41 54 41 41 29 3b 0a 09 48 41 4e  IND_DATAA);..HAN
ba70: 44 4c 45 20 46 69 6e 64 46 69 72 73 74 46 69 6c  DLE FindFirstFil
ba80: 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 49  eW(LPCWSTR, LPWI
ba90: 4e 33 32 5f 46 49 4e 44 5f 44 41 54 41 57 29 3b  N32_FIND_DATAW);
baa0: 0a 09 42 4f 4f 4c 20 46 69 6e 64 4e 65 78 74 43  ..BOOL FindNextC
bab0: 68 61 6e 67 65 4e 6f 74 69 66 69 63 61 74 69 6f  hangeNotificatio
bac0: 6e 28 48 41 4e 44 4c 45 29 3b 0a 09 42 4f 4f 4c  n(HANDLE);..BOOL
bad0: 20 46 69 6e 64 4e 65 78 74 46 69 6c 65 41 28 48   FindNextFileA(H
bae0: 41 4e 44 4c 45 2c 20 4c 50 57 49 4e 33 32 5f 46  ANDLE, LPWIN32_F
baf0: 49 4e 44 5f 44 41 54 41 41 29 3b 0a 09 42 4f 4f  IND_DATAA);..BOO
bb00: 4c 20 46 69 6e 64 4e 65 78 74 46 69 6c 65 57 28  L FindNextFileW(
bb10: 48 41 4e 44 4c 45 2c 20 4c 50 57 49 4e 33 32 5f  HANDLE, LPWIN32_
bb20: 46 49 4e 44 5f 44 41 54 41 57 29 3b 0a 09 48 52  FIND_DATAW);..HR
bb30: 53 52 43 20 46 69 6e 64 52 65 73 6f 75 72 63 65  SRC FindResource
bb40: 41 28 48 4d 4f 44 55 4c 45 2c 20 4c 50 43 53 54  A(HMODULE, LPCST
bb50: 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09 48 52 53  R, LPCSTR);..HRS
bb60: 52 43 20 46 69 6e 64 52 65 73 6f 75 72 63 65 57  RC FindResourceW
bb70: 28 48 49 4e 53 54 41 4e 43 45 2c 20 4c 50 43 57  (HINSTANCE, LPCW
bb80: 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09  STR, LPCWSTR);..
bb90: 48 52 53 52 43 20 46 69 6e 64 52 65 73 6f 75 72  HRSRC FindResour
bba0: 63 65 45 78 41 28 48 49 4e 53 54 41 4e 43 45 2c  ceExA(HINSTANCE,
bbb0: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c   LPCSTR, LPCSTR,
bbc0: 20 57 4f 52 44 29 3b 0a 09 48 52 53 52 43 20 46   WORD);..HRSRC F
bbd0: 69 6e 64 52 65 73 6f 75 72 63 65 45 78 57 28 48  indResourceExW(H
bbe0: 49 4e 53 54 41 4e 43 45 2c 20 4c 50 43 57 53 54  INSTANCE, LPCWST
bbf0: 52 2c 20 4c 50 43 57 53 54 52 2c 20 57 4f 52 44  R, LPCWSTR, WORD
bc00: 29 3b 0a 09 42 4f 4f 4c 20 46 6c 75 73 68 46 69  );..BOOL FlushFi
bc10: 6c 65 42 75 66 66 65 72 73 28 48 41 4e 44 4c 45  leBuffers(HANDLE
bc20: 29 3b 0a 09 42 4f 4f 4c 20 46 6c 75 73 68 49 6e  );..BOOL FlushIn
bc30: 73 74 72 75 63 74 69 6f 6e 43 61 63 68 65 28 48  structionCache(H
bc40: 41 4e 44 4c 45 2c 20 50 43 56 4f 49 44 2c 20 44  ANDLE, PCVOID, D
bc50: 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20 46 6f  WORD);..DWORD Fo
bc60: 72 6d 61 74 4d 65 73 73 61 67 65 41 28 44 57 4f  rmatMessageA(DWO
bc70: 52 44 2c 20 50 43 56 4f 49 44 2c 20 44 57 4f 52  RD, PCVOID, DWOR
bc80: 44 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c  D, DWORD, LPSTR,
bc90: 20 44 57 4f 52 44 2c 20 76 61 5f 6c 69 73 74 2a   DWORD, va_list*
bca0: 29 3b 0a 09 44 57 4f 52 44 20 46 6f 72 6d 61 74  );..DWORD Format
bcb0: 4d 65 73 73 61 67 65 57 28 44 57 4f 52 44 2c 20  MessageW(DWORD, 
bcc0: 50 43 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44  PCVOID, DWORD, D
bcd0: 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 44 57  WORD, LPWSTR, DW
bce0: 4f 52 44 2c 20 76 61 5f 6c 69 73 74 2a 29 3b 0a  ORD, va_list*);.
bcf0: 09 42 4f 4f 4c 20 46 72 65 65 45 6e 76 69 72 6f  .BOOL FreeEnviro
bd00: 6e 6d 65 6e 74 53 74 72 69 6e 67 73 41 28 4c 50  nmentStringsA(LP
bd10: 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46 72 65 65  STR);..BOOL Free
bd20: 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74 72 69 6e  EnvironmentStrin
bd30: 67 73 57 28 4c 50 57 53 54 52 29 3b 0a 09 42 4f  gsW(LPWSTR);..BO
bd40: 4f 4c 20 46 72 65 65 4c 69 62 72 61 72 79 28 48  OL FreeLibrary(H
bd50: 4d 4f 44 55 4c 45 29 3b 0a 09 76 6f 69 64 20 46  MODULE);..void F
bd60: 72 65 65 4c 69 62 72 61 72 79 41 6e 64 45 78 69  reeLibraryAndExi
bd70: 74 54 68 72 65 61 64 28 48 4d 4f 44 55 4c 45 2c  tThread(HMODULE,
bd80: 20 44 57 4f 52 44 29 3b 20 2f 2f 20 6e 65 76 65   DWORD); // neve
bd90: 72 20 72 65 74 75 72 6e 73 0a 09 42 4f 4f 4c 20  r returns..BOOL 
bda0: 46 72 65 65 52 65 73 6f 75 72 63 65 28 48 47 4c  FreeResource(HGL
bdb0: 4f 42 41 4c 29 3b 0a 09 55 49 4e 54 20 47 65 74  OBAL);..UINT Get
bdc0: 41 74 6f 6d 4e 61 6d 65 41 28 41 54 4f 4d 2c 20  AtomNameA(ATOM, 
bdd0: 4c 50 53 54 52 2c 20 69 6e 74 29 3b 0a 09 55 49  LPSTR, int);..UI
bde0: 4e 54 20 47 65 74 41 74 6f 6d 4e 61 6d 65 57 28  NT GetAtomNameW(
bdf0: 41 54 4f 4d 2c 20 4c 50 57 53 54 52 2c 20 69 6e  ATOM, LPWSTR, in
be00: 74 29 3b 0a 09 4c 50 53 54 52 20 47 65 74 43 6f  t);..LPSTR GetCo
be10: 6d 6d 61 6e 64 4c 69 6e 65 41 28 29 3b 0a 09 4c  mmandLineA();..L
be20: 50 57 53 54 52 20 47 65 74 43 6f 6d 6d 61 6e 64  PWSTR GetCommand
be30: 4c 69 6e 65 57 28 29 3b 0a 09 42 4f 4f 4c 20 47  LineW();..BOOL G
be40: 65 74 43 6f 6d 6d 43 6f 6e 66 69 67 28 48 41 4e  etCommConfig(HAN
be50: 44 4c 45 2c 20 4c 50 43 4f 4d 4d 43 4f 4e 46 49  DLE, LPCOMMCONFI
be60: 47 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  G, PDWORD);..BOO
be70: 4c 20 47 65 74 43 6f 6d 6d 4d 61 73 6b 28 48 41  L GetCommMask(HA
be80: 4e 44 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a 09  NDLE, PDWORD);..
be90: 42 4f 4f 4c 20 47 65 74 43 6f 6d 6d 4d 6f 64 65  BOOL GetCommMode
bea0: 6d 53 74 61 74 75 73 28 48 41 4e 44 4c 45 2c 20  mStatus(HANDLE, 
beb0: 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47  PDWORD);..BOOL G
bec0: 65 74 43 6f 6d 6d 50 72 6f 70 65 72 74 69 65 73  etCommProperties
bed0: 28 48 41 4e 44 4c 45 2c 20 4c 50 43 4f 4d 4d 50  (HANDLE, LPCOMMP
bee0: 52 4f 50 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 43  ROP);..BOOL GetC
bef0: 6f 6d 6d 53 74 61 74 65 28 48 41 4e 44 4c 45 2c  ommState(HANDLE,
bf00: 20 4c 50 44 43 42 29 3b 0a 09 42 4f 4f 4c 20 47   LPDCB);..BOOL G
bf10: 65 74 43 6f 6d 6d 54 69 6d 65 6f 75 74 73 28 48  etCommTimeouts(H
bf20: 41 4e 44 4c 45 2c 20 4c 50 43 4f 4d 4d 54 49 4d  ANDLE, LPCOMMTIM
bf30: 45 4f 55 54 53 29 3b 0a 09 42 4f 4f 4c 20 47 65  EOUTS);..BOOL Ge
bf40: 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65 41 28 4c  tComputerNameA(L
bf50: 50 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09  PSTR, PDWORD);..
bf60: 42 4f 4f 4c 20 47 65 74 43 6f 6d 70 75 74 65 72  BOOL GetComputer
bf70: 4e 61 6d 65 57 28 4c 50 57 53 54 52 2c 20 50 44  NameW(LPWSTR, PD
bf80: 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20 47 65  WORD);..DWORD Ge
bf90: 74 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72  tCurrentDirector
bfa0: 79 41 28 44 57 4f 52 44 2c 20 4c 50 53 54 52 29  yA(DWORD, LPSTR)
bfb0: 3b 0a 09 44 57 4f 52 44 20 47 65 74 43 75 72 72  ;..DWORD GetCurr
bfc0: 65 6e 74 44 69 72 65 63 74 6f 72 79 57 28 44 57  entDirectoryW(DW
bfd0: 4f 52 44 2c 20 4c 50 57 53 54 52 29 3b 0a 09 48  ORD, LPWSTR);..H
bfe0: 41 4e 44 4c 45 20 47 65 74 43 75 72 72 65 6e 74  ANDLE GetCurrent
bff0: 50 72 6f 63 65 73 73 28 29 3b 0a 09 44 57 4f 52  Process();..DWOR
c000: 44 20 47 65 74 43 75 72 72 65 6e 74 50 72 6f 63  D GetCurrentProc
c010: 65 73 73 49 64 28 29 3b 0a 09 48 41 4e 44 4c 45  essId();..HANDLE
c020: 20 47 65 74 43 75 72 72 65 6e 74 54 68 72 65 61   GetCurrentThrea
c030: 64 28 29 3b 0a 2f 2a 20 49 6e 20 4d 69 6e 47 57  d();./* In MinGW
c040: 3a 0a 23 69 66 64 65 66 20 5f 57 49 4e 33 32 5f  :.#ifdef _WIN32_
c050: 57 43 45 0a 65 78 74 65 72 6e 20 44 57 4f 52 44  WCE.extern DWORD
c060: 20 47 65 74 43 75 72 72 65 6e 74 54 68 72 65 61   GetCurrentThrea
c070: 64 49 64 28 76 6f 69 64 29 3b 0a 23 65 6c 73 65  dId(void);.#else
c080: 0a 57 49 4e 42 41 53 45 41 50 49 20 44 57 4f 52  .WINBASEAPI DWOR
c090: 44 20 57 49 4e 41 50 49 20 47 65 74 43 75 72 72  D WINAPI GetCurr
c0a0: 65 6e 74 54 68 72 65 61 64 49 64 28 76 6f 69 64  entThreadId(void
c0b0: 29 3b 0a 23 65 6e 64 69 66 0a 2a 2f 0a 09 44 57  );.#endif.*/..DW
c0c0: 4f 52 44 20 47 65 74 43 75 72 72 65 6e 74 54 68  ORD GetCurrentTh
c0d0: 72 65 61 64 49 64 28 29 3b 0a 0a 09 61 6c 69 61  readId();...alia
c0e0: 73 20 47 65 74 54 69 63 6b 43 6f 75 6e 74 20 47  s GetTickCount G
c0f0: 65 74 43 75 72 72 65 6e 74 54 69 6d 65 3b 0a 0a  etCurrentTime;..
c100: 09 42 4f 4f 4c 20 47 65 74 44 65 66 61 75 6c 74  .BOOL GetDefault
c110: 43 6f 6d 6d 43 6f 6e 66 69 67 41 28 4c 50 43 53  CommConfigA(LPCS
c120: 54 52 2c 20 4c 50 43 4f 4d 4d 43 4f 4e 46 49 47  TR, LPCOMMCONFIG
c130: 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  , PDWORD);..BOOL
c140: 20 47 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 43   GetDefaultCommC
c150: 6f 6e 66 69 67 57 28 4c 50 43 57 53 54 52 2c 20  onfigW(LPCWSTR, 
c160: 4c 50 43 4f 4d 4d 43 4f 4e 46 49 47 2c 20 50 44  LPCOMMCONFIG, PD
c170: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74  WORD);..BOOL Get
c180: 44 69 73 6b 46 72 65 65 53 70 61 63 65 41 28 4c  DiskFreeSpaceA(L
c190: 50 43 53 54 52 2c 20 50 44 57 4f 52 44 2c 20 50  PCSTR, PDWORD, P
c1a0: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
c1b0: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65  DWORD);..BOOL Ge
c1c0: 74 44 69 73 6b 46 72 65 65 53 70 61 63 65 57 28  tDiskFreeSpaceW(
c1d0: 4c 50 43 57 53 54 52 2c 20 50 44 57 4f 52 44 2c  LPCWSTR, PDWORD,
c1e0: 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c   PDWORD, PDWORD,
c1f0: 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20   PDWORD);..BOOL 
c200: 47 65 74 44 69 73 6b 46 72 65 65 53 70 61 63 65  GetDiskFreeSpace
c210: 45 78 41 28 4c 50 43 53 54 52 2c 20 50 55 4c 41  ExA(LPCSTR, PULA
c220: 52 47 45 5f 49 4e 54 45 47 45 52 2c 20 50 55 4c  RGE_INTEGER, PUL
c230: 41 52 47 45 5f 49 4e 54 45 47 45 52 2c 20 50 55  ARGE_INTEGER, PU
c240: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 29 3b 0a  LARGE_INTEGER);.
c250: 09 42 4f 4f 4c 20 47 65 74 44 69 73 6b 46 72 65  .BOOL GetDiskFre
c260: 65 53 70 61 63 65 45 78 57 28 4c 50 43 57 53 54  eSpaceExW(LPCWST
c270: 52 2c 20 50 55 4c 41 52 47 45 5f 49 4e 54 45 47  R, PULARGE_INTEG
c280: 45 52 2c 20 50 55 4c 41 52 47 45 5f 49 4e 54 45  ER, PULARGE_INTE
c290: 47 45 52 2c 20 50 55 4c 41 52 47 45 5f 49 4e 54  GER, PULARGE_INT
c2a0: 45 47 45 52 29 3b 0a 09 55 49 4e 54 20 47 65 74  EGER);..UINT Get
c2b0: 44 72 69 76 65 54 79 70 65 41 28 4c 50 43 53 54  DriveTypeA(LPCST
c2c0: 52 29 3b 0a 09 55 49 4e 54 20 47 65 74 44 72 69  R);..UINT GetDri
c2d0: 76 65 54 79 70 65 57 28 4c 50 43 57 53 54 52 29  veTypeW(LPCWSTR)
c2e0: 3b 0a 09 4c 50 53 54 52 20 47 65 74 45 6e 76 69  ;..LPSTR GetEnvi
c2f0: 72 6f 6e 6d 65 6e 74 53 74 72 69 6e 67 73 28 29  ronmentStrings()
c300: 3b 20 2f 2f 20 3f 3f 3f 0a 09 4c 50 53 54 52 20  ; // ???..LPSTR 
c310: 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74  GetEnvironmentSt
c320: 72 69 6e 67 73 41 28 29 3b 0a 09 4c 50 57 53 54  ringsA();..LPWST
c330: 52 20 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74  R GetEnvironment
c340: 53 74 72 69 6e 67 73 57 28 29 3b 0a 09 44 57 4f  StringsW();..DWO
c350: 52 44 20 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e  RD GetEnvironmen
c360: 74 56 61 72 69 61 62 6c 65 41 28 4c 50 43 53 54  tVariableA(LPCST
c370: 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29  R, LPSTR, DWORD)
c380: 3b 0a 09 44 57 4f 52 44 20 47 65 74 45 6e 76 69  ;..DWORD GetEnvi
c390: 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 57  ronmentVariableW
c3a0: 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52  (LPCWSTR, LPWSTR
c3b0: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  , DWORD);..BOOL 
c3c0: 47 65 74 45 78 69 74 43 6f 64 65 50 72 6f 63 65  GetExitCodeProce
c3d0: 73 73 28 48 41 4e 44 4c 45 2c 20 50 44 57 4f 52  ss(HANDLE, PDWOR
c3e0: 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 45 78 69  D);..BOOL GetExi
c3f0: 74 43 6f 64 65 54 68 72 65 61 64 28 48 41 4e 44  tCodeThread(HAND
c400: 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a 09 44 57  LE, PDWORD);..DW
c410: 4f 52 44 20 47 65 74 46 69 6c 65 41 74 74 72 69  ORD GetFileAttri
c420: 62 75 74 65 73 41 28 4c 50 43 53 54 52 29 3b 0a  butesA(LPCSTR);.
c430: 09 44 57 4f 52 44 20 47 65 74 46 69 6c 65 41 74  .DWORD GetFileAt
c440: 74 72 69 62 75 74 65 73 57 28 4c 50 43 57 53 54  tributesW(LPCWST
c450: 52 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 46 69 6c  R);..BOOL GetFil
c460: 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 42 79 48 61  eInformationByHa
c470: 6e 64 6c 65 28 48 41 4e 44 4c 45 2c 20 4c 50 42  ndle(HANDLE, LPB
c480: 59 5f 48 41 4e 44 4c 45 5f 46 49 4c 45 5f 49 4e  Y_HANDLE_FILE_IN
c490: 46 4f 52 4d 41 54 49 4f 4e 29 3b 0a 09 44 57 4f  FORMATION);..DWO
c4a0: 52 44 20 47 65 74 46 69 6c 65 53 69 7a 65 28 48  RD GetFileSize(H
c4b0: 41 4e 44 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a  ANDLE, PDWORD);.
c4c0: 09 42 4f 4f 4c 20 47 65 74 46 69 6c 65 54 69 6d  .BOOL GetFileTim
c4d0: 65 28 48 41 4e 44 4c 45 2c 20 4c 50 46 49 4c 45  e(HANDLE, LPFILE
c4e0: 54 49 4d 45 2c 20 4c 50 46 49 4c 45 54 49 4d 45  TIME, LPFILETIME
c4f0: 2c 20 4c 50 46 49 4c 45 54 49 4d 45 29 3b 0a 09  , LPFILETIME);..
c500: 44 57 4f 52 44 20 47 65 74 46 69 6c 65 54 79 70  DWORD GetFileTyp
c510: 65 28 48 41 4e 44 4c 45 29 3b 0a 09 44 57 4f 52  e(HANDLE);..DWOR
c520: 44 20 47 65 74 46 75 6c 6c 50 61 74 68 4e 61 6d  D GetFullPathNam
c530: 65 41 28 4c 50 43 53 54 52 2c 20 44 57 4f 52 44  eA(LPCSTR, DWORD
c540: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 2a 29  , LPSTR, LPSTR*)
c550: 3b 0a 09 44 57 4f 52 44 20 47 65 74 46 75 6c 6c  ;..DWORD GetFull
c560: 50 61 74 68 4e 61 6d 65 57 28 4c 50 43 57 53 54  PathNameW(LPCWST
c570: 52 2c 20 44 57 4f 52 44 2c 20 4c 50 57 53 54 52  R, DWORD, LPWSTR
c580: 2c 20 4c 50 57 53 54 52 2a 29 3b 0a 09 44 57 4f  , LPWSTR*);..DWO
c590: 52 44 20 47 65 74 4c 61 73 74 45 72 72 6f 72 28  RD GetLastError(
c5a0: 29 3b 0a 09 76 6f 69 64 20 47 65 74 4c 6f 63 61  );..void GetLoca
c5b0: 6c 54 69 6d 65 28 4c 50 53 59 53 54 45 4d 54 49  lTime(LPSYSTEMTI
c5c0: 4d 45 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 4c  ME);..DWORD GetL
c5d0: 6f 67 69 63 61 6c 44 72 69 76 65 73 28 29 3b 0a  ogicalDrives();.
c5e0: 09 44 57 4f 52 44 20 47 65 74 4c 6f 67 69 63 61  .DWORD GetLogica
c5f0: 6c 44 72 69 76 65 53 74 72 69 6e 67 73 41 28 44  lDriveStringsA(D
c600: 57 4f 52 44 2c 20 4c 50 53 54 52 29 3b 0a 09 44  WORD, LPSTR);..D
c610: 57 4f 52 44 20 47 65 74 4c 6f 67 69 63 61 6c 44  WORD GetLogicalD
c620: 72 69 76 65 53 74 72 69 6e 67 73 57 28 44 57 4f  riveStringsW(DWO
c630: 52 44 2c 20 4c 50 57 53 54 52 29 3b 0a 09 42 4f  RD, LPWSTR);..BO
c640: 4f 4c 20 47 65 74 4d 61 69 6c 73 6c 6f 74 49 6e  OL GetMailslotIn
c650: 66 6f 28 48 41 4e 44 4c 45 2c 20 50 44 57 4f 52  fo(HANDLE, PDWOR
c660: 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  D, PDWORD, PDWOR
c670: 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 44 57 4f  D, PDWORD);..DWO
c680: 52 44 20 47 65 74 4d 6f 64 75 6c 65 46 69 6c 65  RD GetModuleFile
c690: 4e 61 6d 65 41 28 48 49 4e 53 54 41 4e 43 45 2c  NameA(HINSTANCE,
c6a0: 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a   LPSTR, DWORD);.
c6b0: 09 44 57 4f 52 44 20 47 65 74 4d 6f 64 75 6c 65  .DWORD GetModule
c6c0: 46 69 6c 65 4e 61 6d 65 57 28 48 49 4e 53 54 41  FileNameW(HINSTA
c6d0: 4e 43 45 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f  NCE, LPWSTR, DWO
c6e0: 52 44 29 3b 0a 09 48 4d 4f 44 55 4c 45 20 47 65  RD);..HMODULE Ge
c6f0: 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 41 28 4c  tModuleHandleA(L
c700: 50 43 53 54 52 29 3b 0a 09 48 4d 4f 44 55 4c 45  PCSTR);..HMODULE
c710: 20 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65   GetModuleHandle
c720: 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f  W(LPCWSTR);..BOO
c730: 4c 20 47 65 74 4e 61 6d 65 64 50 69 70 65 48 61  L GetNamedPipeHa
c740: 6e 64 6c 65 53 74 61 74 65 41 28 48 41 4e 44 4c  ndleStateA(HANDL
c750: 45 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  E, PDWORD, PDWOR
c760: 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  D, PDWORD, PDWOR
c770: 44 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29  D, LPSTR, DWORD)
c780: 3b 0a 09 42 4f 4f 4c 20 47 65 74 4e 61 6d 65 64  ;..BOOL GetNamed
c790: 50 69 70 65 48 61 6e 64 6c 65 53 74 61 74 65 57  PipeHandleStateW
c7a0: 28 48 41 4e 44 4c 45 2c 20 50 44 57 4f 52 44 2c  (HANDLE, PDWORD,
c7b0: 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c   PDWORD, PDWORD,
c7c0: 20 50 44 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c   PDWORD, LPWSTR,
c7d0: 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47   DWORD);..BOOL G
c7e0: 65 74 4e 61 6d 65 64 50 69 70 65 49 6e 66 6f 28  etNamedPipeInfo(
c7f0: 48 41 4e 44 4c 45 2c 20 50 44 57 4f 52 44 2c 20  HANDLE, PDWORD, 
c800: 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20  PDWORD, PDWORD, 
c810: 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47  PDWORD);..BOOL G
c820: 65 74 4f 76 65 72 6c 61 70 70 65 64 52 65 73 75  etOverlappedResu
c830: 6c 74 28 48 41 4e 44 4c 45 2c 20 4c 50 4f 56 45  lt(HANDLE, LPOVE
c840: 52 4c 41 50 50 45 44 2c 20 50 44 57 4f 52 44 2c  RLAPPED, PDWORD,
c850: 20 42 4f 4f 4c 29 3b 0a 09 44 57 4f 52 44 20 47   BOOL);..DWORD G
c860: 65 74 50 72 69 6f 72 69 74 79 43 6c 61 73 73 28  etPriorityClass(
c870: 48 41 4e 44 4c 45 29 3b 0a 09 55 49 4e 54 20 47  HANDLE);..UINT G
c880: 65 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65  etPrivateProfile
c890: 49 6e 74 41 28 4c 50 43 53 54 52 2c 20 4c 50 43  IntA(LPCSTR, LPC
c8a0: 53 54 52 2c 20 49 4e 54 2c 20 4c 50 43 53 54 52  STR, INT, LPCSTR
c8b0: 29 3b 0a 09 55 49 4e 54 20 47 65 74 50 72 69 76  );..UINT GetPriv
c8c0: 61 74 65 50 72 6f 66 69 6c 65 49 6e 74 57 28 4c  ateProfileIntW(L
c8d0: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c  PCWSTR, LPCWSTR,
c8e0: 20 49 4e 54 2c 20 4c 50 43 57 53 54 52 29 3b 0a   INT, LPCWSTR);.
c8f0: 09 44 57 4f 52 44 20 47 65 74 50 72 69 76 61 74  .DWORD GetPrivat
c900: 65 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 41  eProfileSectionA
c910: 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20  (LPCSTR, LPSTR, 
c920: 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 29 3b 0a  DWORD, LPCSTR);.
c930: 09 44 57 4f 52 44 20 47 65 74 50 72 69 76 61 74  .DWORD GetPrivat
c940: 65 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 57  eProfileSectionW
c950: 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52  (LPCWSTR, LPWSTR
c960: 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52  , DWORD, LPCWSTR
c970: 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 50 72 69  );..DWORD GetPri
c980: 76 61 74 65 50 72 6f 66 69 6c 65 53 65 63 74 69  vateProfileSecti
c990: 6f 6e 4e 61 6d 65 73 41 28 4c 50 53 54 52 2c 20  onNamesA(LPSTR, 
c9a0: 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 29 3b 0a  DWORD, LPCSTR);.
c9b0: 09 44 57 4f 52 44 20 47 65 74 50 72 69 76 61 74  .DWORD GetPrivat
c9c0: 65 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 4e  eProfileSectionN
c9d0: 61 6d 65 73 57 28 4c 50 57 53 54 52 2c 20 44 57  amesW(LPWSTR, DW
c9e0: 4f 52 44 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09  ORD, LPCWSTR);..
c9f0: 44 57 4f 52 44 20 47 65 74 50 72 69 76 61 74 65  DWORD GetPrivate
ca00: 50 72 6f 66 69 6c 65 53 74 72 69 6e 67 41 28 4c  ProfileStringA(L
ca10: 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c  PCSTR, LPCSTR, L
ca20: 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57  PCSTR, LPSTR, DW
ca30: 4f 52 44 2c 20 4c 50 43 53 54 52 29 3b 0a 09 44  ORD, LPCSTR);..D
ca40: 57 4f 52 44 20 47 65 74 50 72 69 76 61 74 65 50  WORD GetPrivateP
ca50: 72 6f 66 69 6c 65 53 74 72 69 6e 67 57 28 4c 50  rofileStringW(LP
ca60: 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20  CWSTR, LPCWSTR, 
ca70: 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c  LPCWSTR, LPWSTR,
ca80: 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 29   DWORD, LPCWSTR)
ca90: 3b 0a 09 42 4f 4f 4c 20 47 65 74 50 72 69 76 61  ;..BOOL GetPriva
caa0: 74 65 50 72 6f 66 69 6c 65 53 74 72 75 63 74 41  teProfileStructA
cab0: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c  (LPCSTR, LPCSTR,
cac0: 20 4c 50 56 4f 49 44 2c 20 55 49 4e 54 2c 20 4c   LPVOID, UINT, L
cad0: 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 47 65  PCSTR);..BOOL Ge
cae0: 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53  tPrivateProfileS
caf0: 74 72 75 63 74 57 28 4c 50 43 57 53 54 52 2c 20  tructW(LPCWSTR, 
cb00: 4c 50 43 57 53 54 52 2c 20 4c 50 56 4f 49 44 2c  LPCWSTR, LPVOID,
cb10: 20 55 49 4e 54 2c 20 4c 50 43 57 53 54 52 29 3b   UINT, LPCWSTR);
cb20: 0a 09 46 41 52 50 52 4f 43 20 47 65 74 50 72 6f  ..FARPROC GetPro
cb30: 63 41 64 64 72 65 73 73 28 48 49 4e 53 54 41 4e  cAddress(HINSTAN
cb40: 43 45 2c 20 4c 50 43 53 54 52 29 3b 0a 09 42 4f  CE, LPCSTR);..BO
cb50: 4f 4c 20 47 65 74 50 72 6f 63 65 73 73 41 66 66  OL GetProcessAff
cb60: 69 6e 69 74 79 4d 61 73 6b 28 48 41 4e 44 4c 45  inityMask(HANDLE
cb70: 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44  , PDWORD, PDWORD
cb80: 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 50 72 6f  );..DWORD GetPro
cb90: 63 65 73 73 56 65 72 73 69 6f 6e 28 44 57 4f 52  cessVersion(DWOR
cba0: 44 29 3b 0a 09 55 49 4e 54 20 47 65 74 50 72 6f  D);..UINT GetPro
cbb0: 66 69 6c 65 49 6e 74 41 28 4c 50 43 53 54 52 2c  fileIntA(LPCSTR,
cbc0: 20 4c 50 43 53 54 52 2c 20 49 4e 54 29 3b 0a 09   LPCSTR, INT);..
cbd0: 55 49 4e 54 20 47 65 74 50 72 6f 66 69 6c 65 49  UINT GetProfileI
cbe0: 6e 74 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43  ntW(LPCWSTR, LPC
cbf0: 57 53 54 52 2c 20 49 4e 54 29 3b 0a 09 44 57 4f  WSTR, INT);..DWO
cc00: 52 44 20 47 65 74 50 72 6f 66 69 6c 65 53 65 63  RD GetProfileSec
cc10: 74 69 6f 6e 41 28 4c 50 43 53 54 52 2c 20 4c 50  tionA(LPCSTR, LP
cc20: 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 44 57  STR, DWORD);..DW
cc30: 4f 52 44 20 47 65 74 50 72 6f 66 69 6c 65 53 65  ORD GetProfileSe
cc40: 63 74 69 6f 6e 57 28 4c 50 43 57 53 54 52 2c 20  ctionW(LPCWSTR, 
cc50: 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a  LPWSTR, DWORD);.
cc60: 09 44 57 4f 52 44 20 47 65 74 50 72 6f 66 69 6c  .DWORD GetProfil
cc70: 65 53 74 72 69 6e 67 41 28 4c 50 43 53 54 52 2c  eStringA(LPCSTR,
cc80: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c   LPCSTR, LPCSTR,
cc90: 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a   LPSTR, DWORD);.
cca0: 09 44 57 4f 52 44 20 47 65 74 50 72 6f 66 69 6c  .DWORD GetProfil
ccb0: 65 53 74 72 69 6e 67 57 28 4c 50 43 57 53 54 52  eStringW(LPCWSTR
ccc0: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
ccd0: 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52  TR, LPWSTR, DWOR
cce0: 44 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 53 68  D);..DWORD GetSh
ccf0: 6f 72 74 50 61 74 68 4e 61 6d 65 41 28 4c 50 43  ortPathNameA(LPC
cd00: 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52  STR, LPSTR, DWOR
cd10: 44 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 53 68  D);..DWORD GetSh
cd20: 6f 72 74 50 61 74 68 4e 61 6d 65 57 28 4c 50 43  ortPathNameW(LPC
cd30: 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57  WSTR, LPWSTR, DW
cd40: 4f 52 44 29 3b 0a 09 56 4f 49 44 20 47 65 74 53  ORD);..VOID GetS
cd50: 74 61 72 74 75 70 49 6e 66 6f 41 28 4c 50 53 54  tartupInfoA(LPST
cd60: 41 52 54 55 50 49 4e 46 4f 41 29 3b 0a 09 56 4f  ARTUPINFOA);..VO
cd70: 49 44 20 47 65 74 53 74 61 72 74 75 70 49 6e 66  ID GetStartupInf
cd80: 6f 57 28 4c 50 53 54 41 52 54 55 50 49 4e 46 4f  oW(LPSTARTUPINFO
cd90: 57 29 3b 0a 09 48 41 4e 44 4c 45 20 47 65 74 53  W);..HANDLE GetS
cda0: 74 64 48 61 6e 64 6c 65 28 44 57 4f 52 44 29 3b  tdHandle(DWORD);
cdb0: 0a 09 55 49 4e 54 20 47 65 74 53 79 73 74 65 6d  ..UINT GetSystem
cdc0: 44 69 72 65 63 74 6f 72 79 41 28 4c 50 53 54 52  DirectoryA(LPSTR
cdd0: 2c 20 55 49 4e 54 29 3b 0a 09 55 49 4e 54 20 47  , UINT);..UINT G
cde0: 65 74 53 79 73 74 65 6d 44 69 72 65 63 74 6f 72  etSystemDirector
cdf0: 79 57 28 4c 50 57 53 54 52 2c 20 55 49 4e 54 29  yW(LPWSTR, UINT)
ce00: 3b 0a 09 56 4f 49 44 20 47 65 74 53 79 73 74 65  ;..VOID GetSyste
ce10: 6d 49 6e 66 6f 28 4c 50 53 59 53 54 45 4d 5f 49  mInfo(LPSYSTEM_I
ce20: 4e 46 4f 29 3b 0a 09 56 4f 49 44 20 47 65 74 53  NFO);..VOID GetS
ce30: 79 73 74 65 6d 54 69 6d 65 28 4c 50 53 59 53 54  ystemTime(LPSYST
ce40: 45 4d 54 49 4d 45 29 3b 0a 09 42 4f 4f 4c 20 47  EMTIME);..BOOL G
ce50: 65 74 53 79 73 74 65 6d 54 69 6d 65 41 64 6a 75  etSystemTimeAdju
ce60: 73 74 6d 65 6e 74 28 50 44 57 4f 52 44 2c 20 50  stment(PDWORD, P
ce70: 44 57 4f 52 44 2c 20 50 42 4f 4f 4c 29 3b 0a 09  DWORD, PBOOL);..
ce80: 76 6f 69 64 20 47 65 74 53 79 73 74 65 6d 54 69  void GetSystemTi
ce90: 6d 65 41 73 46 69 6c 65 54 69 6d 65 28 4c 50 46  meAsFileTime(LPF
cea0: 49 4c 45 54 49 4d 45 29 3b 0a 09 55 49 4e 54 20  ILETIME);..UINT 
ceb0: 47 65 74 54 65 6d 70 46 69 6c 65 4e 61 6d 65 41  GetTempFileNameA
cec0: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c  (LPCSTR, LPCSTR,
ced0: 20 55 49 4e 54 2c 20 4c 50 53 54 52 29 3b 0a 09   UINT, LPSTR);..
cee0: 55 49 4e 54 20 47 65 74 54 65 6d 70 46 69 6c 65  UINT GetTempFile
cef0: 4e 61 6d 65 57 28 4c 50 43 57 53 54 52 2c 20 4c  NameW(LPCWSTR, L
cf00: 50 43 57 53 54 52 2c 20 55 49 4e 54 2c 20 4c 50  PCWSTR, UINT, LP
cf10: 57 53 54 52 29 3b 0a 09 44 57 4f 52 44 20 47 65  WSTR);..DWORD Ge
cf20: 74 54 65 6d 70 50 61 74 68 41 28 44 57 4f 52 44  tTempPathA(DWORD
cf30: 2c 20 4c 50 53 54 52 29 3b 0a 09 44 57 4f 52 44  , LPSTR);..DWORD
cf40: 20 47 65 74 54 65 6d 70 50 61 74 68 57 28 44 57   GetTempPathW(DW
cf50: 4f 52 44 2c 20 4c 50 57 53 54 52 29 3b 0a 09 42  ORD, LPWSTR);..B
cf60: 4f 4f 4c 20 47 65 74 54 68 72 65 61 64 43 6f 6e  OOL GetThreadCon
cf70: 74 65 78 74 28 48 41 4e 44 4c 45 2c 20 4c 50 43  text(HANDLE, LPC
cf80: 4f 4e 54 45 58 54 29 3b 0a 09 69 6e 74 20 47 65  ONTEXT);..int Ge
cf90: 74 54 68 72 65 61 64 50 72 69 6f 72 69 74 79 28  tThreadPriority(
cfa0: 48 41 4e 44 4c 45 29 3b 0a 09 42 4f 4f 4c 20 47  HANDLE);..BOOL G
cfb0: 65 74 54 68 72 65 61 64 53 65 6c 65 63 74 6f 72  etThreadSelector
cfc0: 45 6e 74 72 79 28 48 41 4e 44 4c 45 2c 20 44 57  Entry(HANDLE, DW
cfd0: 4f 52 44 2c 20 4c 50 4c 44 54 5f 45 4e 54 52 59  ORD, LPLDT_ENTRY
cfe0: 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 54 69 63  );..DWORD GetTic
cff0: 6b 43 6f 75 6e 74 28 29 3b 0a 09 44 57 4f 52 44  kCount();..DWORD
d000: 20 47 65 74 54 69 6d 65 5a 6f 6e 65 49 6e 66 6f   GetTimeZoneInfo
d010: 72 6d 61 74 69 6f 6e 28 4c 50 54 49 4d 45 5f 5a  rmation(LPTIME_Z
d020: 4f 4e 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 29  ONE_INFORMATION)
d030: 3b 0a 09 42 4f 4f 4c 20 47 65 74 55 73 65 72 4e  ;..BOOL GetUserN
d040: 61 6d 65 41 20 28 4c 50 53 54 52 2c 20 50 44 57  ameA (LPSTR, PDW
d050: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 55  ORD);..BOOL GetU
d060: 73 65 72 4e 61 6d 65 57 28 4c 50 57 53 54 52 2c  serNameW(LPWSTR,
d070: 20 50 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44   PDWORD);..DWORD
d080: 20 47 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 09   GetVersion();..
d090: 42 4f 4f 4c 20 47 65 74 56 65 72 73 69 6f 6e 45  BOOL GetVersionE
d0a0: 78 41 28 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e  xA(LPOSVERSIONIN
d0b0: 46 4f 41 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 56  FOA);..BOOL GetV
d0c0: 65 72 73 69 6f 6e 45 78 57 28 4c 50 4f 53 56 45  ersionExW(LPOSVE
d0d0: 52 53 49 4f 4e 49 4e 46 4f 57 29 3b 0a 09 42 4f  RSIONINFOW);..BO
d0e0: 4f 4c 20 47 65 74 56 6f 6c 75 6d 65 49 6e 66 6f  OL GetVolumeInfo
d0f0: 72 6d 61 74 69 6f 6e 41 28 4c 50 43 53 54 52 2c  rmationA(LPCSTR,
d100: 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 50   LPSTR, DWORD, P
d110: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
d120: 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 44 57  DWORD, LPSTR, DW
d130: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 56  ORD);..BOOL GetV
d140: 6f 6c 75 6d 65 49 6e 66 6f 72 6d 61 74 69 6f 6e  olumeInformation
d150: 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54  W(LPCWSTR, LPWST
d160: 52 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44  R, DWORD, PDWORD
d170: 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44  , PDWORD, PDWORD
d180: 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 29  , LPWSTR, DWORD)
d190: 3b 0a 09 55 49 4e 54 20 47 65 74 57 69 6e 64 6f  ;..UINT GetWindo
d1a0: 77 73 44 69 72 65 63 74 6f 72 79 41 28 4c 50 53  wsDirectoryA(LPS
d1b0: 54 52 2c 20 55 49 4e 54 29 3b 0a 09 55 49 4e 54  TR, UINT);..UINT
d1c0: 20 47 65 74 57 69 6e 64 6f 77 73 44 69 72 65 63   GetWindowsDirec
d1d0: 74 6f 72 79 57 28 4c 50 57 53 54 52 2c 20 55 49  toryW(LPWSTR, UI
d1e0: 4e 54 29 3b 0a 09 44 57 4f 52 44 20 47 65 74 57  NT);..DWORD GetW
d1f0: 69 6e 64 6f 77 54 68 72 65 61 64 50 72 6f 63 65  indowThreadProce
d200: 73 73 49 64 28 48 57 4e 44 2c 20 50 44 57 4f 52  ssId(HWND, PDWOR
d210: 44 29 3b 0a 09 41 54 4f 4d 20 47 6c 6f 62 61 6c  D);..ATOM Global
d220: 41 64 64 41 74 6f 6d 41 28 4c 50 43 53 54 52 29  AddAtomA(LPCSTR)
d230: 3b 0a 09 41 54 4f 4d 20 47 6c 6f 62 61 6c 41 64  ;..ATOM GlobalAd
d240: 64 41 74 6f 6d 57 28 4c 50 43 57 53 54 52 29 3b  dAtomW(LPCWSTR);
d250: 0a 09 41 54 4f 4d 20 47 6c 6f 62 61 6c 44 65 6c  ..ATOM GlobalDel
d260: 65 74 65 41 74 6f 6d 28 41 54 4f 4d 29 3b 0a 09  eteAtom(ATOM);..
d270: 41 54 4f 4d 20 47 6c 6f 62 61 6c 46 69 6e 64 41  ATOM GlobalFindA
d280: 74 6f 6d 41 28 4c 50 43 53 54 52 29 3b 0a 09 41  tomA(LPCSTR);..A
d290: 54 4f 4d 20 47 6c 6f 62 61 6c 46 69 6e 64 41 74  TOM GlobalFindAt
d2a0: 6f 6d 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 55  omW(LPCWSTR);..U
d2b0: 49 4e 54 20 47 6c 6f 62 61 6c 47 65 74 41 74 6f  INT GlobalGetAto
d2c0: 6d 4e 61 6d 65 41 28 41 54 4f 4d 2c 20 4c 50 53  mNameA(ATOM, LPS
d2d0: 54 52 2c 20 69 6e 74 29 3b 0a 09 55 49 4e 54 20  TR, int);..UINT 
d2e0: 47 6c 6f 62 61 6c 47 65 74 41 74 6f 6d 4e 61 6d  GlobalGetAtomNam
d2f0: 65 57 28 41 54 4f 4d 2c 20 4c 50 57 53 54 52 2c  eW(ATOM, LPWSTR,
d300: 20 69 6e 74 29 3b 0a 0a 09 62 6f 6f 6c 20 48 61   int);...bool Ha
d310: 73 4f 76 65 72 6c 61 70 70 65 64 49 6f 43 6f 6d  sOverlappedIoCom
d320: 70 6c 65 74 65 64 28 4c 50 4f 56 45 52 4c 41 50  pleted(LPOVERLAP
d330: 50 45 44 20 6c 70 4f 76 65 72 6c 61 70 70 65 64  PED lpOverlapped
d340: 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 6c 70 4f  ) {...return lpO
d350: 76 65 72 6c 61 70 70 65 64 2e 49 6e 74 65 72 6e  verlapped.Intern
d360: 61 6c 20 21 3d 20 53 54 41 54 55 53 5f 50 45 4e  al != STATUS_PEN
d370: 44 49 4e 47 3b 0a 09 7d 0a 0a 09 42 4f 4f 4c 20  DING;..}...BOOL 
d380: 49 6e 69 74 41 74 6f 6d 54 61 62 6c 65 28 44 57  InitAtomTable(DW
d390: 4f 52 44 29 3b 0a 09 56 4f 49 44 20 49 6e 69 74  ORD);..VOID Init
d3a0: 69 61 6c 69 7a 65 43 72 69 74 69 63 61 6c 53 65  ializeCriticalSe
d3b0: 63 74 69 6f 6e 28 4c 50 43 52 49 54 49 43 41 4c  ction(LPCRITICAL
d3c0: 5f 53 45 43 54 49 4f 4e 29 3b 0a 09 2f 2a 09 3f  _SECTION);../*.?
d3d0: 3f 3f 20 54 68 65 20 6e 65 78 74 20 74 77 6f 20  ?? The next two 
d3e0: 61 72 65 20 61 6c 6c 65 67 65 64 6c 79 20 6f 62  are allegedly ob
d3f0: 73 6f 6c 65 74 65 20 61 6e 64 20 22 73 75 70 70  solete and "supp
d400: 6f 72 74 65 64 20 6f 6e 6c 79 20 66 6f 72 0a 09  orted only for..
d410: 20 2a 09 62 61 63 6b 77 61 72 64 20 63 6f 6d 70   *.backward comp
d420: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 74  atibility with t
d430: 68 65 20 31 36 2d 62 69 74 20 57 69 6e 64 6f 77  he 16-bit Window
d440: 73 20 41 50 49 22 2e 20 20 59 65 74 20 74 68 65  s API".  Yet the
d450: 0a 09 20 2a 09 72 65 70 6c 61 63 65 6d 65 6e 74  .. *.replacement
d460: 73 20 49 73 42 61 64 52 65 61 64 50 74 72 20 61  s IsBadReadPtr a
d470: 6e 64 20 49 73 42 61 64 57 72 69 74 65 50 74 72  nd IsBadWritePtr
d480: 20 61 72 65 20 61 70 70 61 72 65 6e 74 6c 79 20   are apparently 
d490: 57 69 6e 32 30 30 30 2b 0a 09 20 2a 09 6f 6e 6c  Win2000+.. *.onl
d4a0: 79 2e 20 20 57 68 65 72 65 27 73 20 74 68 65 20  y.  Where's the 
d4b0: 6d 69 73 74 61 6b 65 3f 0a 09 20 2a 2f 0a 09 42  mistake?.. */..B
d4c0: 4f 4f 4c 20 49 73 42 61 64 48 75 67 65 52 65 61  OOL IsBadHugeRea
d4d0: 64 50 74 72 28 50 43 56 4f 49 44 2c 20 55 49 4e  dPtr(PCVOID, UIN
d4e0: 54 29 3b 0a 09 42 4f 4f 4c 20 49 73 42 61 64 48  T);..BOOL IsBadH
d4f0: 75 67 65 57 72 69 74 65 50 74 72 28 50 56 4f 49  ugeWritePtr(PVOI
d500: 44 2c 20 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20  D, UINT);..BOOL 
d510: 49 73 42 61 64 52 65 61 64 50 74 72 28 50 43 56  IsBadReadPtr(PCV
d520: 4f 49 44 2c 20 55 49 4e 54 29 3b 0a 09 42 4f 4f  OID, UINT);..BOO
d530: 4c 20 49 73 42 61 64 53 74 72 69 6e 67 50 74 72  L IsBadStringPtr
d540: 41 28 4c 50 43 53 54 52 2c 20 55 49 4e 54 29 3b  A(LPCSTR, UINT);
d550: 0a 09 42 4f 4f 4c 20 49 73 42 61 64 53 74 72 69  ..BOOL IsBadStri
d560: 6e 67 50 74 72 57 28 4c 50 43 57 53 54 52 2c 20  ngPtrW(LPCWSTR, 
d570: 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 49 73 42  UINT);..BOOL IsB
d580: 61 64 57 72 69 74 65 50 74 72 28 50 56 4f 49 44  adWritePtr(PVOID
d590: 2c 20 55 49 4e 54 29 3b 0a 09 76 6f 69 64 20 4c  , UINT);..void L
d5a0: 65 61 76 65 43 72 69 74 69 63 61 6c 53 65 63 74  eaveCriticalSect
d5b0: 69 6f 6e 28 4c 50 43 52 49 54 49 43 41 4c 5f 53  ion(LPCRITICAL_S
d5c0: 45 43 54 49 4f 4e 29 3b 0a 09 48 49 4e 53 54 41  ECTION);..HINSTA
d5d0: 4e 43 45 20 4c 6f 61 64 4c 69 62 72 61 72 79 41  NCE LoadLibraryA
d5e0: 28 4c 50 43 53 54 52 29 3b 0a 09 48 49 4e 53 54  (LPCSTR);..HINST
d5f0: 41 4e 43 45 20 4c 6f 61 64 4c 69 62 72 61 72 79  ANCE LoadLibrary
d600: 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 48 49 4e  W(LPCWSTR);..HIN
d610: 53 54 41 4e 43 45 20 4c 6f 61 64 4c 69 62 72 61  STANCE LoadLibra
d620: 72 79 45 78 41 28 4c 50 43 53 54 52 2c 20 48 41  ryExA(LPCSTR, HA
d630: 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a 09 48  NDLE, DWORD);..H
d640: 49 4e 53 54 41 4e 43 45 20 4c 6f 61 64 4c 69 62  INSTANCE LoadLib
d650: 72 61 72 79 45 78 57 28 4c 50 43 57 53 54 52 2c  raryExW(LPCWSTR,
d660: 20 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b   HANDLE, DWORD);
d670: 0a 09 44 57 4f 52 44 20 4c 6f 61 64 4d 6f 64 75  ..DWORD LoadModu
d680: 6c 65 28 4c 50 43 53 54 52 2c 20 50 56 4f 49 44  le(LPCSTR, PVOID
d690: 29 3b 0a 09 48 47 4c 4f 42 41 4c 20 4c 6f 61 64  );..HGLOBAL Load
d6a0: 52 65 73 6f 75 72 63 65 28 48 49 4e 53 54 41 4e  Resource(HINSTAN
d6b0: 43 45 2c 20 48 52 53 52 43 29 3b 0a 09 42 4f 4f  CE, HRSRC);..BOO
d6c0: 4c 20 4c 6f 63 61 6c 46 69 6c 65 54 69 6d 65 54  L LocalFileTimeT
d6d0: 6f 46 69 6c 65 54 69 6d 65 28 43 50 74 72 21 28  oFileTime(CPtr!(
d6e0: 46 49 4c 45 54 49 4d 45 29 20 2c 20 4c 50 46 49  FILETIME) , LPFI
d6f0: 4c 45 54 49 4d 45 29 3b 0a 09 42 4f 4f 4c 20 4c  LETIME);..BOOL L
d700: 6f 63 6b 46 69 6c 65 28 48 41 4e 44 4c 45 2c 20  ockFile(HANDLE, 
d710: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57  DWORD, DWORD, DW
d720: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 50 56  ORD, DWORD);..PV
d730: 4f 49 44 20 4c 6f 63 6b 52 65 73 6f 75 72 63 65  OID LockResource
d740: 28 48 47 4c 4f 42 41 4c 29 3b 0a 0a 09 4c 50 53  (HGLOBAL);...LPS
d750: 54 52 20 6c 73 74 72 63 61 74 41 28 4c 50 53 54  TR lstrcatA(LPST
d760: 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09 4c 50 57  R, LPCSTR);..LPW
d770: 53 54 52 20 6c 73 74 72 63 61 74 57 28 4c 50 57  STR lstrcatW(LPW
d780: 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09  STR, LPCWSTR);..
d790: 69 6e 74 20 6c 73 74 72 63 6d 70 41 28 4c 50 43  int lstrcmpA(LPC
d7a0: 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09 69  STR, LPCSTR);..i
d7b0: 6e 74 20 6c 73 74 72 63 6d 70 69 41 28 4c 50 43  nt lstrcmpiA(LPC
d7c0: 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09 69  STR, LPCSTR);..i
d7d0: 6e 74 20 6c 73 74 72 63 6d 70 69 57 28 4c 50 43  nt lstrcmpiW(LPC
d7e0: 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a  WSTR, LPCWSTR);.
d7f0: 09 69 6e 74 20 6c 73 74 72 63 6d 70 57 28 4c 50  .int lstrcmpW(LP
d800: 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b  CWSTR, LPCWSTR);
d810: 0a 09 4c 50 53 54 52 20 6c 73 74 72 63 70 79 41  ..LPSTR lstrcpyA
d820: 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 52 29 3b  (LPSTR, LPCSTR);
d830: 0a 09 4c 50 53 54 52 20 6c 73 74 72 63 70 79 6e  ..LPSTR lstrcpyn
d840: 41 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 52 2c  A(LPSTR, LPCSTR,
d850: 20 69 6e 74 29 3b 0a 09 4c 50 57 53 54 52 20 6c   int);..LPWSTR l
d860: 73 74 72 63 70 79 6e 57 28 4c 50 57 53 54 52 2c  strcpynW(LPWSTR,
d870: 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 29 3b 0a   LPCWSTR, int);.
d880: 09 4c 50 57 53 54 52 20 6c 73 74 72 63 70 79 57  .LPWSTR lstrcpyW
d890: 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 54 52  (LPWSTR, LPCWSTR
d8a0: 29 3b 0a 09 69 6e 74 20 6c 73 74 72 6c 65 6e 41  );..int lstrlenA
d8b0: 28 4c 50 43 53 54 52 29 3b 0a 09 69 6e 74 20 6c  (LPCSTR);..int l
d8c0: 73 74 72 6c 65 6e 57 28 4c 50 43 57 53 54 52 29  strlenW(LPCWSTR)
d8d0: 3b 0a 0a 09 42 4f 4f 4c 20 4d 6f 76 65 46 69 6c  ;...BOOL MoveFil
d8e0: 65 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54  eA(LPCSTR, LPCST
d8f0: 52 29 3b 0a 09 42 4f 4f 4c 20 4d 6f 76 65 46 69  R);..BOOL MoveFi
d900: 6c 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43  leW(LPCWSTR, LPC
d910: 57 53 54 52 29 3b 0a 09 69 6e 74 20 4d 75 6c 44  WSTR);..int MulD
d920: 69 76 28 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74  iv(int, int, int
d930: 29 3b 0a 09 48 41 4e 44 4c 45 20 4f 70 65 6e 45  );..HANDLE OpenE
d940: 76 65 6e 74 41 28 44 57 4f 52 44 2c 20 42 4f 4f  ventA(DWORD, BOO
d950: 4c 2c 20 4c 50 43 53 54 52 29 3b 0a 09 48 41 4e  L, LPCSTR);..HAN
d960: 44 4c 45 20 4f 70 65 6e 45 76 65 6e 74 57 28 44  DLE OpenEventW(D
d970: 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c 50 43 57  WORD, BOOL, LPCW
d980: 53 54 52 29 3b 0a 09 64 65 70 72 65 63 61 74 65  STR);..deprecate
d990: 64 20 48 46 49 4c 45 20 4f 70 65 6e 46 69 6c 65  d HFILE OpenFile
d9a0: 28 4c 50 43 53 54 52 2c 20 4c 50 4f 46 53 54 52  (LPCSTR, LPOFSTR
d9b0: 55 43 54 2c 20 55 49 4e 54 29 3b 0a 09 48 41 4e  UCT, UINT);..HAN
d9c0: 44 4c 45 20 4f 70 65 6e 4d 75 74 65 78 41 28 44  DLE OpenMutexA(D
d9d0: 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c 50 43 53  WORD, BOOL, LPCS
d9e0: 54 52 29 3b 0a 09 48 41 4e 44 4c 45 20 4f 70 65  TR);..HANDLE Ope
d9f0: 6e 4d 75 74 65 78 57 28 44 57 4f 52 44 2c 20 42  nMutexW(DWORD, B
da00: 4f 4f 4c 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09  OOL, LPCWSTR);..
da10: 48 41 4e 44 4c 45 20 4f 70 65 6e 50 72 6f 63 65  HANDLE OpenProce
da20: 73 73 28 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20  ss(DWORD, BOOL, 
da30: 44 57 4f 52 44 29 3b 0a 09 48 41 4e 44 4c 45 20  DWORD);..HANDLE 
da40: 4f 70 65 6e 53 65 6d 61 70 68 6f 72 65 41 28 44  OpenSemaphoreA(D
da50: 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c 50 43 53  WORD, BOOL, LPCS
da60: 54 52 29 3b 0a 09 48 41 4e 44 4c 45 20 4f 70 65  TR);..HANDLE Ope
da70: 6e 53 65 6d 61 70 68 6f 72 65 57 28 44 57 4f 52  nSemaphoreW(DWOR
da80: 44 2c 20 42 4f 4f 4c 2c 20 4c 50 43 57 53 54 52  D, BOOL, LPCWSTR
da90: 29 3b 0a 09 76 6f 69 64 20 4f 75 74 70 75 74 44  );..void OutputD
daa0: 65 62 75 67 53 74 72 69 6e 67 41 28 4c 50 43 53  ebugStringA(LPCS
dab0: 54 52 29 3b 0a 09 76 6f 69 64 20 4f 75 74 70 75  TR);..void Outpu
dac0: 74 44 65 62 75 67 53 74 72 69 6e 67 57 28 4c 50  tDebugStringW(LP
dad0: 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 50 65  CWSTR);..BOOL Pe
dae0: 65 6b 4e 61 6d 65 64 50 69 70 65 28 48 41 4e 44  ekNamedPipe(HAND
daf0: 4c 45 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44  LE, PVOID, DWORD
db00: 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44  , PDWORD, PDWORD
db10: 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  , PDWORD);..BOOL
db20: 20 50 75 6c 73 65 45 76 65 6e 74 28 48 41 4e 44   PulseEvent(HAND
db30: 4c 45 29 3b 0a 09 42 4f 4f 4c 20 50 75 72 67 65  LE);..BOOL Purge
db40: 43 6f 6d 6d 28 48 41 4e 44 4c 45 2c 20 44 57 4f  Comm(HANDLE, DWO
db50: 52 44 29 3b 0a 09 42 4f 4f 4c 20 51 75 65 72 79  RD);..BOOL Query
db60: 50 65 72 66 6f 72 6d 61 6e 63 65 43 6f 75 6e 74  PerformanceCount
db70: 65 72 28 50 4c 41 52 47 45 5f 49 4e 54 45 47 45  er(PLARGE_INTEGE
db80: 52 29 3b 0a 09 42 4f 4f 4c 20 51 75 65 72 79 50  R);..BOOL QueryP
db90: 65 72 66 6f 72 6d 61 6e 63 65 46 72 65 71 75 65  erformanceFreque
dba0: 6e 63 79 28 50 4c 41 52 47 45 5f 49 4e 54 45 47  ncy(PLARGE_INTEG
dbb0: 45 52 29 3b 0a 09 44 57 4f 52 44 20 51 75 65 75  ER);..DWORD Queu
dbc0: 65 55 73 65 72 41 50 43 28 50 41 50 43 46 55 4e  eUserAPC(PAPCFUN
dbd0: 43 2c 20 48 41 4e 44 4c 45 2c 20 55 4c 4f 4e 47  C, HANDLE, ULONG
dbe0: 5f 50 54 52 29 3b 0a 09 76 6f 69 64 20 52 61 69  _PTR);..void Rai
dbf0: 73 65 45 78 63 65 70 74 69 6f 6e 28 44 57 4f 52  seException(DWOR
dc00: 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  D, DWORD, DWORD,
dc10: 20 43 50 74 72 21 28 44 57 4f 52 44 29 29 3b 0a   CPtr!(DWORD));.
dc20: 09 42 4f 4f 4c 20 52 65 61 64 46 69 6c 65 28 48  .BOOL ReadFile(H
dc30: 41 4e 44 4c 45 2c 20 50 56 4f 49 44 2c 20 44 57  ANDLE, PVOID, DW
dc40: 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 4c 50 4f  ORD, PDWORD, LPO
dc50: 56 45 52 4c 41 50 50 45 44 29 3b 0a 09 42 4f 4f  VERLAPPED);..BOO
dc60: 4c 20 52 65 61 64 46 69 6c 65 45 78 28 48 41 4e  L ReadFileEx(HAN
dc70: 44 4c 45 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52  DLE, PVOID, DWOR
dc80: 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44 2c  D, LPOVERLAPPED,
dc90: 20 4c 50 4f 56 45 52 4c 41 50 50 45 44 5f 43 4f   LPOVERLAPPED_CO
dca0: 4d 50 4c 45 54 49 4f 4e 5f 52 4f 55 54 49 4e 45  MPLETION_ROUTINE
dcb0: 29 3b 0a 09 42 4f 4f 4c 20 52 65 61 64 50 72 6f  );..BOOL ReadPro
dcc0: 63 65 73 73 4d 65 6d 6f 72 79 28 48 41 4e 44 4c  cessMemory(HANDL
dcd0: 45 2c 20 50 43 56 4f 49 44 2c 20 50 56 4f 49 44  E, PCVOID, PVOID
dce0: 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29  , DWORD, PDWORD)
dcf0: 3b 0a 09 42 4f 4f 4c 20 52 65 6c 65 61 73 65 4d  ;..BOOL ReleaseM
dd00: 75 74 65 78 28 48 41 4e 44 4c 45 29 3b 0a 09 42  utex(HANDLE);..B
dd10: 4f 4f 4c 20 52 65 6c 65 61 73 65 53 65 6d 61 70  OOL ReleaseSemap
dd20: 68 6f 72 65 28 48 41 4e 44 4c 45 2c 20 4c 4f 4e  hore(HANDLE, LON
dd30: 47 2c 20 4c 50 4c 4f 4e 47 29 3b 0a 09 42 4f 4f  G, LPLONG);..BOO
dd40: 4c 20 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72  L RemoveDirector
dd50: 79 41 28 4c 50 43 53 54 52 29 3b 0a 09 42 4f 4f  yA(LPCSTR);..BOO
dd60: 4c 20 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72  L RemoveDirector
dd70: 79 57 28 4c 50 43 57 53 54 52 29 3b 0a 2f 2a 20  yW(LPCWSTR);./* 
dd80: 49 6e 20 4d 69 6e 47 57 3a 0a 23 69 66 64 65 66  In MinGW:.#ifdef
dd90: 20 5f 57 49 4e 33 32 5f 57 43 45 0a 65 78 74 65   _WIN32_WCE.exte
dda0: 72 6e 20 42 4f 4f 4c 20 52 65 73 65 74 45 76 65  rn BOOL ResetEve
ddb0: 6e 74 28 48 41 4e 44 4c 45 29 3b 0a 23 65 6c 73  nt(HANDLE);.#els
ddc0: 65 0a 57 49 4e 42 41 53 45 41 50 49 20 42 4f 4f  e.WINBASEAPI BOO
ddd0: 4c 20 57 49 4e 41 50 49 20 52 65 73 65 74 45 76  L WINAPI ResetEv
dde0: 65 6e 74 28 48 41 4e 44 4c 45 29 3b 0a 23 65 6e  ent(HANDLE);.#en
ddf0: 64 69 66 0a 2a 2f 0a 09 42 4f 4f 4c 20 52 65 73  dif.*/..BOOL Res
de00: 65 74 45 76 65 6e 74 28 48 41 4e 44 4c 45 29 3b  etEvent(HANDLE);
de10: 0a 09 44 57 4f 52 44 20 52 65 73 75 6d 65 54 68  ..DWORD ResumeTh
de20: 72 65 61 64 28 48 41 4e 44 4c 45 29 3b 0a 09 44  read(HANDLE);..D
de30: 57 4f 52 44 20 53 65 61 72 63 68 50 61 74 68 41  WORD SearchPathA
de40: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c  (LPCSTR, LPCSTR,
de50: 20 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20   LPCSTR, DWORD, 
de60: 4c 50 53 54 52 2c 20 4c 50 53 54 52 2a 29 3b 0a  LPSTR, LPSTR*);.
de70: 09 44 57 4f 52 44 20 53 65 61 72 63 68 50 61 74  .DWORD SearchPat
de80: 68 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  hW(LPCWSTR, LPCW
de90: 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 44 57  STR, LPCWSTR, DW
dea0: 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 4c 50 57  ORD, LPWSTR, LPW
deb0: 53 54 52 2a 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  STR*);..BOOL Set
dec0: 43 6f 6d 6d 42 72 65 61 6b 28 48 41 4e 44 4c 45  CommBreak(HANDLE
ded0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 43 6f 6d 6d  );..BOOL SetComm
dee0: 43 6f 6e 66 69 67 28 48 41 4e 44 4c 45 2c 20 4c  Config(HANDLE, L
def0: 50 43 4f 4d 4d 43 4f 4e 46 49 47 2c 20 44 57 4f  PCOMMCONFIG, DWO
df00: 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 43 6f  RD);..BOOL SetCo
df10: 6d 6d 4d 61 73 6b 28 48 41 4e 44 4c 45 2c 20 44  mmMask(HANDLE, D
df20: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
df30: 43 6f 6d 6d 53 74 61 74 65 28 48 41 4e 44 4c 45  CommState(HANDLE
df40: 2c 20 4c 50 44 43 42 29 3b 0a 09 42 4f 4f 4c 20  , LPDCB);..BOOL 
df50: 53 65 74 43 6f 6d 6d 54 69 6d 65 6f 75 74 73 28  SetCommTimeouts(
df60: 48 41 4e 44 4c 45 2c 20 4c 50 43 4f 4d 4d 54 49  HANDLE, LPCOMMTI
df70: 4d 45 4f 55 54 53 29 3b 0a 09 42 4f 4f 4c 20 53  MEOUTS);..BOOL S
df80: 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65 41 28  etComputerNameA(
df90: 4c 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53  LPCSTR);..BOOL S
dfa0: 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65 57 28  etComputerNameW(
dfb0: 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20  LPCWSTR);..BOOL 
dfc0: 53 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74  SetCurrentDirect
dfd0: 6f 72 79 41 28 4c 50 43 53 54 52 29 3b 0a 09 42  oryA(LPCSTR);..B
dfe0: 4f 4f 4c 20 53 65 74 43 75 72 72 65 6e 74 44 69  OOL SetCurrentDi
dff0: 72 65 63 74 6f 72 79 57 28 4c 50 43 57 53 54 52  rectoryW(LPCWSTR
e000: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 44 65 66 61  );..BOOL SetDefa
e010: 75 6c 74 43 6f 6d 6d 43 6f 6e 66 69 67 41 28 4c  ultCommConfigA(L
e020: 50 43 53 54 52 2c 20 4c 50 43 4f 4d 4d 43 4f 4e  PCSTR, LPCOMMCON
e030: 46 49 47 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f  FIG, DWORD);..BO
e040: 4f 4c 20 53 65 74 44 65 66 61 75 6c 74 43 6f 6d  OL SetDefaultCom
e050: 6d 43 6f 6e 66 69 67 57 28 4c 50 43 57 53 54 52  mConfigW(LPCWSTR
e060: 2c 20 4c 50 43 4f 4d 4d 43 4f 4e 46 49 47 2c 20  , LPCOMMCONFIG, 
e070: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
e080: 74 45 6e 64 4f 66 46 69 6c 65 28 48 41 4e 44 4c  tEndOfFile(HANDL
e090: 45 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 45 6e 76  E);..BOOL SetEnv
e0a0: 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65  ironmentVariable
e0b0: 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52  A(LPCSTR, LPCSTR
e0c0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 45 6e 76 69  );..BOOL SetEnvi
e0d0: 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 57  ronmentVariableW
e0e0: 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54  (LPCWSTR, LPCWST
e0f0: 52 29 3b 0a 09 55 49 4e 54 20 53 65 74 45 72 72  R);..UINT SetErr
e100: 6f 72 4d 6f 64 65 28 55 49 4e 54 29 3b 0a 2f 2a  orMode(UINT);./*
e110: 20 49 6e 20 4d 69 6e 47 57 3a 0a 23 69 66 64 65   In MinGW:.#ifde
e120: 66 20 5f 57 49 4e 33 32 5f 57 43 45 0a 65 78 74  f _WIN32_WCE.ext
e130: 65 72 6e 20 42 4f 4f 4c 20 53 65 74 45 76 65 6e  ern BOOL SetEven
e140: 74 28 48 41 4e 44 4c 45 29 3b 0a 23 65 6c 73 65  t(HANDLE);.#else
e150: 0a 57 49 4e 42 41 53 45 41 50 49 20 42 4f 4f 4c  .WINBASEAPI BOOL
e160: 20 57 49 4e 41 50 49 20 53 65 74 45 76 65 6e 74   WINAPI SetEvent
e170: 28 48 41 4e 44 4c 45 29 3b 0a 23 65 6e 64 69 66  (HANDLE);.#endif
e180: 0a 2a 2f 0a 09 42 4f 4f 4c 20 53 65 74 45 76 65  .*/..BOOL SetEve
e190: 6e 74 28 48 41 4e 44 4c 45 29 3b 0a 09 56 4f 49  nt(HANDLE);..VOI
e1a0: 44 20 53 65 74 46 69 6c 65 41 70 69 73 54 6f 41  D SetFileApisToA
e1b0: 4e 53 49 28 29 3b 0a 09 56 4f 49 44 20 53 65 74  NSI();..VOID Set
e1c0: 46 69 6c 65 41 70 69 73 54 6f 4f 45 4d 28 29 3b  FileApisToOEM();
e1d0: 0a 09 42 4f 4f 4c 20 53 65 74 46 69 6c 65 41 74  ..BOOL SetFileAt
e1e0: 74 72 69 62 75 74 65 73 41 28 4c 50 43 53 54 52  tributesA(LPCSTR
e1f0: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  , DWORD);..BOOL 
e200: 53 65 74 46 69 6c 65 41 74 74 72 69 62 75 74 65  SetFileAttribute
e210: 73 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f 52  sW(LPCWSTR, DWOR
e220: 44 29 3b 0a 09 44 57 4f 52 44 20 53 65 74 46 69  D);..DWORD SetFi
e230: 6c 65 50 6f 69 6e 74 65 72 28 48 41 4e 44 4c 45  lePointer(HANDLE
e240: 2c 20 4c 4f 4e 47 2c 20 50 4c 4f 4e 47 2c 20 44  , LONG, PLONG, D
e250: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
e260: 46 69 6c 65 54 69 6d 65 28 48 41 4e 44 4c 45 2c  FileTime(HANDLE,
e270: 20 43 50 74 72 21 28 46 49 4c 45 54 49 4d 45 29   CPtr!(FILETIME)
e280: 2c 20 43 50 74 72 21 28 46 49 4c 45 54 49 4d 45  , CPtr!(FILETIME
e290: 29 2c 20 43 50 74 72 21 28 46 49 4c 45 54 49 4d  ), CPtr!(FILETIM
e2a0: 45 29 29 3b 0a 09 64 65 70 72 65 63 61 74 65 64  E));..deprecated
e2b0: 20 55 49 4e 54 20 53 65 74 48 61 6e 64 6c 65 43   UINT SetHandleC
e2c0: 6f 75 6e 74 28 55 49 4e 54 29 3b 0a 09 76 6f 69  ount(UINT);..voi
e2d0: 64 20 53 65 74 4c 61 73 74 45 72 72 6f 72 28 44  d SetLastError(D
e2e0: 57 4f 52 44 29 3b 0a 09 76 6f 69 64 20 53 65 74  WORD);..void Set
e2f0: 4c 61 73 74 45 72 72 6f 72 45 78 28 44 57 4f 52  LastErrorEx(DWOR
e300: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D, DWORD);..BOOL
e310: 20 53 65 74 4c 6f 63 61 6c 54 69 6d 65 28 43 50   SetLocalTime(CP
e320: 74 72 21 28 53 59 53 54 45 4d 54 49 4d 45 29 29  tr!(SYSTEMTIME))
e330: 3b 0a 09 42 4f 4f 4c 20 53 65 74 4d 61 69 6c 73  ;..BOOL SetMails
e340: 6c 6f 74 49 6e 66 6f 28 48 41 4e 44 4c 45 2c 20  lotInfo(HANDLE, 
e350: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
e360: 74 4e 61 6d 65 64 50 69 70 65 48 61 6e 64 6c 65  tNamedPipeHandle
e370: 53 74 61 74 65 28 48 41 4e 44 4c 45 2c 20 50 44  State(HANDLE, PD
e380: 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44  WORD, PDWORD, PD
e390: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
e3a0: 50 72 69 6f 72 69 74 79 43 6c 61 73 73 28 48 41  PriorityClass(HA
e3b0: 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a 09 42  NDLE, DWORD);..B
e3c0: 4f 4f 4c 20 53 65 74 53 74 64 48 61 6e 64 6c 65  OOL SetStdHandle
e3d0: 28 44 57 4f 52 44 2c 20 48 41 4e 44 4c 45 29 3b  (DWORD, HANDLE);
e3e0: 0a 09 42 4f 4f 4c 20 53 65 74 53 79 73 74 65 6d  ..BOOL SetSystem
e3f0: 54 69 6d 65 28 43 50 74 72 21 28 53 59 53 54 45  Time(CPtr!(SYSTE
e400: 4d 54 49 4d 45 29 29 3b 0a 09 44 57 4f 52 44 20  MTIME));..DWORD 
e410: 53 65 74 54 68 72 65 61 64 41 66 66 69 6e 69 74  SetThreadAffinit
e420: 79 4d 61 73 6b 28 48 41 4e 44 4c 45 2c 20 44 57  yMask(HANDLE, DW
e430: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 54  ORD);..BOOL SetT
e440: 68 72 65 61 64 43 6f 6e 74 65 78 74 28 48 41 4e  hreadContext(HAN
e450: 44 4c 45 2c 20 43 50 74 72 21 28 43 4f 4e 54 45  DLE, CPtr!(CONTE
e460: 58 54 29 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 54  XT));..BOOL SetT
e470: 68 72 65 61 64 50 72 69 6f 72 69 74 79 28 48 41  hreadPriority(HA
e480: 4e 44 4c 45 2c 20 69 6e 74 29 3b 0a 09 42 4f 4f  NDLE, int);..BOO
e490: 4c 20 53 65 74 54 69 6d 65 5a 6f 6e 65 49 6e 66  L SetTimeZoneInf
e4a0: 6f 72 6d 61 74 69 6f 6e 28 43 50 74 72 21 28 54  ormation(CPtr!(T
e4b0: 49 4d 45 5f 5a 4f 4e 45 5f 49 4e 46 4f 52 4d 41  IME_ZONE_INFORMA
e4c0: 54 49 4f 4e 29 29 3b 0a 09 4c 50 54 4f 50 5f 4c  TION));..LPTOP_L
e4d0: 45 56 45 4c 5f 45 58 43 45 50 54 49 4f 4e 5f 46  EVEL_EXCEPTION_F
e4e0: 49 4c 54 45 52 20 53 65 74 55 6e 68 61 6e 64 6c  ILTER SetUnhandl
e4f0: 65 64 45 78 63 65 70 74 69 6f 6e 46 69 6c 74 65  edExceptionFilte
e500: 72 28 4c 50 54 4f 50 5f 4c 45 56 45 4c 5f 45 58  r(LPTOP_LEVEL_EX
e510: 43 45 50 54 49 4f 4e 5f 46 49 4c 54 45 52 29 3b  CEPTION_FILTER);
e520: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 43 6f 6d 6d  ..BOOL SetupComm
e530: 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20  (HANDLE, DWORD, 
e540: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
e550: 74 56 6f 6c 75 6d 65 4c 61 62 65 6c 41 28 4c 50  tVolumeLabelA(LP
e560: 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09  CSTR, LPCSTR);..
e570: 42 4f 4f 4c 20 53 65 74 56 6f 6c 75 6d 65 4c 61  BOOL SetVolumeLa
e580: 62 65 6c 57 28 4c 50 43 57 53 54 52 2c 20 4c 50  belW(LPCWSTR, LP
e590: 43 57 53 54 52 29 3b 0a 0a 09 44 57 4f 52 44 20  CWSTR);...DWORD 
e5a0: 53 69 7a 65 6f 66 52 65 73 6f 75 72 63 65 28 48  SizeofResource(H
e5b0: 49 4e 53 54 41 4e 43 45 2c 20 48 52 53 52 43 29  INSTANCE, HRSRC)
e5c0: 3b 0a 09 76 6f 69 64 20 53 6c 65 65 70 28 44 57  ;..void Sleep(DW
e5d0: 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20 53 6c 65  ORD);..DWORD Sle
e5e0: 65 70 45 78 28 44 57 4f 52 44 2c 20 42 4f 4f 4c  epEx(DWORD, BOOL
e5f0: 29 3b 0a 09 44 57 4f 52 44 20 53 75 73 70 65 6e  );..DWORD Suspen
e600: 64 54 68 72 65 61 64 28 48 41 4e 44 4c 45 29 3b  dThread(HANDLE);
e610: 0a 09 42 4f 4f 4c 20 53 79 73 74 65 6d 54 69 6d  ..BOOL SystemTim
e620: 65 54 6f 46 69 6c 65 54 69 6d 65 28 43 50 74 72  eToFileTime(CPtr
e630: 21 28 53 59 53 54 45 4d 54 49 4d 45 29 2c 20 4c  !(SYSTEMTIME), L
e640: 50 46 49 4c 45 54 49 4d 45 29 3b 0a 09 42 4f 4f  PFILETIME);..BOO
e650: 4c 20 54 65 72 6d 69 6e 61 74 65 50 72 6f 63 65  L TerminateProce
e660: 73 73 28 48 41 4e 44 4c 45 2c 20 55 49 4e 54 29  ss(HANDLE, UINT)
e670: 3b 0a 09 42 4f 4f 4c 20 54 65 72 6d 69 6e 61 74  ;..BOOL Terminat
e680: 65 54 68 72 65 61 64 28 48 41 4e 44 4c 45 2c 20  eThread(HANDLE, 
e690: 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20 54  DWORD);..DWORD T
e6a0: 6c 73 41 6c 6c 6f 63 28 29 3b 0a 09 42 4f 4f 4c  lsAlloc();..BOOL
e6b0: 20 54 6c 73 46 72 65 65 28 44 57 4f 52 44 29 3b   TlsFree(DWORD);
e6c0: 0a 09 50 56 4f 49 44 20 54 6c 73 47 65 74 56 61  ..PVOID TlsGetVa
e6d0: 6c 75 65 28 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  lue(DWORD);..BOO
e6e0: 4c 20 54 6c 73 53 65 74 56 61 6c 75 65 28 44 57  L TlsSetValue(DW
e6f0: 4f 52 44 2c 20 50 56 4f 49 44 29 3b 0a 09 42 4f  ORD, PVOID);..BO
e700: 4f 4c 20 54 72 61 6e 73 61 63 74 4e 61 6d 65 64  OL TransactNamed
e710: 50 69 70 65 28 48 41 4e 44 4c 45 2c 20 50 56 4f  Pipe(HANDLE, PVO
e720: 49 44 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44  ID, DWORD, PVOID
e730: 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c  , DWORD, PDWORD,
e740: 20 4c 50 4f 56 45 52 4c 41 50 50 45 44 29 3b 0a   LPOVERLAPPED);.
e750: 09 42 4f 4f 4c 20 54 72 61 6e 73 6d 69 74 43 6f  .BOOL TransmitCo
e760: 6d 6d 43 68 61 72 28 48 41 4e 44 4c 45 2c 20 63  mmChar(HANDLE, c
e770: 68 61 72 29 3b 0a 09 4c 4f 4e 47 20 55 6e 68 61  har);..LONG Unha
e780: 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e 46 69  ndledExceptionFi
e790: 6c 74 65 72 28 4c 50 45 58 43 45 50 54 49 4f 4e  lter(LPEXCEPTION
e7a0: 5f 50 4f 49 4e 54 45 52 53 29 3b 0a 09 42 4f 4f  _POINTERS);..BOO
e7b0: 4c 20 55 6e 6c 6f 63 6b 46 69 6c 65 28 48 41 4e  L UnlockFile(HAN
e7c0: 44 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  DLE, DWORD, DWOR
e7d0: 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29  D, DWORD, DWORD)
e7e0: 3b 0a 09 42 4f 4f 4c 20 57 61 69 74 43 6f 6d 6d  ;..BOOL WaitComm
e7f0: 45 76 65 6e 74 28 48 41 4e 44 4c 45 2c 20 50 44  Event(HANDLE, PD
e800: 57 4f 52 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50  WORD, LPOVERLAPP
e810: 45 44 29 3b 0a 09 42 4f 4f 4c 20 57 61 69 74 46  ED);..BOOL WaitF
e820: 6f 72 44 65 62 75 67 45 76 65 6e 74 28 4c 50 44  orDebugEvent(LPD
e830: 45 42 55 47 5f 45 56 45 4e 54 2c 20 44 57 4f 52  EBUG_EVENT, DWOR
e840: 44 29 3b 0a 09 44 57 4f 52 44 20 57 61 69 74 46  D);..DWORD WaitF
e850: 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a 65 63 74  orMultipleObject
e860: 73 28 44 57 4f 52 44 2c 20 43 50 74 72 21 28 48  s(DWORD, CPtr!(H
e870: 41 4e 44 4c 45 29 2c 20 42 4f 4f 4c 2c 20 44 57  ANDLE), BOOL, DW
e880: 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20 57 61 69  ORD);..DWORD Wai
e890: 74 46 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a 65  tForMultipleObje
e8a0: 63 74 73 45 78 28 44 57 4f 52 44 2c 20 43 50 74  ctsEx(DWORD, CPt
e8b0: 72 21 28 48 41 4e 44 4c 45 29 2c 20 42 4f 4f 4c  r!(HANDLE), BOOL
e8c0: 2c 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0a  , DWORD, BOOL);.
e8d0: 09 44 57 4f 52 44 20 57 61 69 74 46 6f 72 53 69  .DWORD WaitForSi
e8e0: 6e 67 6c 65 4f 62 6a 65 63 74 28 48 41 4e 44 4c  ngleObject(HANDL
e8f0: 45 2c 20 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52  E, DWORD);..DWOR
e900: 44 20 57 61 69 74 46 6f 72 53 69 6e 67 6c 65 4f  D WaitForSingleO
e910: 62 6a 65 63 74 45 78 28 48 41 4e 44 4c 45 2c 20  bjectEx(HANDLE, 
e920: 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0a 09 42  DWORD, BOOL);..B
e930: 4f 4f 4c 20 57 61 69 74 4e 61 6d 65 64 50 69 70  OOL WaitNamedPip
e940: 65 41 28 4c 50 43 53 54 52 2c 20 44 57 4f 52 44  eA(LPCSTR, DWORD
e950: 29 3b 0a 09 42 4f 4f 4c 20 57 61 69 74 4e 61 6d  );..BOOL WaitNam
e960: 65 64 50 69 70 65 57 28 4c 50 43 57 53 54 52 2c  edPipeW(LPCWSTR,
e970: 20 44 57 4f 52 44 29 3b 0a 09 2f 2f 20 75 6e 64   DWORD);..// und
e980: 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44  ocumented on MSD
e990: 4e 0a 09 42 4f 4f 4c 20 57 69 6e 4c 6f 61 64 54  N..BOOL WinLoadT
e9a0: 72 75 73 74 50 72 6f 76 69 64 65 72 28 47 55 49  rustProvider(GUI
e9b0: 44 2a 29 3b 0a 09 42 4f 4f 4c 20 57 72 69 74 65  D*);..BOOL Write
e9c0: 46 69 6c 65 28 48 41 4e 44 4c 45 2c 20 50 43 56  File(HANDLE, PCV
e9d0: 4f 49 44 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f  OID, DWORD, PDWO
e9e0: 52 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44  RD, LPOVERLAPPED
e9f0: 29 3b 0a 09 42 4f 4f 4c 20 57 72 69 74 65 46 69  );..BOOL WriteFi
ea00: 6c 65 45 78 28 48 41 4e 44 4c 45 2c 20 50 43 56  leEx(HANDLE, PCV
ea10: 4f 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 4f 56  OID, DWORD, LPOV
ea20: 45 52 4c 41 50 50 45 44 2c 20 4c 50 4f 56 45 52  ERLAPPED, LPOVER
ea30: 4c 41 50 50 45 44 5f 43 4f 4d 50 4c 45 54 49 4f  LAPPED_COMPLETIO
ea40: 4e 5f 52 4f 55 54 49 4e 45 29 3b 0a 09 42 4f 4f  N_ROUTINE);..BOO
ea50: 4c 20 57 72 69 74 65 50 72 69 76 61 74 65 50 72  L WritePrivatePr
ea60: 6f 66 69 6c 65 53 65 63 74 69 6f 6e 41 28 4c 50  ofileSectionA(LP
ea70: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50  CSTR, LPCSTR, LP
ea80: 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 57 72 69  CSTR);..BOOL Wri
ea90: 74 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65  tePrivateProfile
eaa0: 53 65 63 74 69 6f 6e 57 28 4c 50 43 57 53 54 52  SectionW(LPCWSTR
eab0: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
eac0: 54 52 29 3b 0a 09 42 4f 4f 4c 20 57 72 69 74 65  TR);..BOOL Write
ead0: 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74  PrivateProfileSt
eae0: 72 69 6e 67 41 28 4c 50 43 53 54 52 2c 20 4c 50  ringA(LPCSTR, LP
eaf0: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50  CSTR, LPCSTR, LP
eb00: 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 57 72 69  CSTR);..BOOL Wri
eb10: 74 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65  tePrivateProfile
eb20: 53 74 72 69 6e 67 57 28 4c 50 43 57 53 54 52 2c  StringW(LPCWSTR,
eb30: 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54   LPCWSTR, LPCWST
eb40: 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f  R, LPCWSTR);..BO
eb50: 4f 4c 20 57 72 69 74 65 50 72 69 76 61 74 65 50  OL WritePrivateP
eb60: 72 6f 66 69 6c 65 53 74 72 75 63 74 41 28 4c 50  rofileStructA(LP
eb70: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50  CSTR, LPCSTR, LP
eb80: 56 4f 49 44 2c 20 55 49 4e 54 2c 20 4c 50 43 53  VOID, UINT, LPCS
eb90: 54 52 29 3b 0a 09 42 4f 4f 4c 20 57 72 69 74 65  TR);..BOOL Write
eba0: 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74  PrivateProfileSt
ebb0: 72 75 63 74 57 28 4c 50 43 57 53 54 52 2c 20 4c  ructW(LPCWSTR, L
ebc0: 50 43 57 53 54 52 2c 20 4c 50 56 4f 49 44 2c 20  PCWSTR, LPVOID, 
ebd0: 55 49 4e 54 2c 20 4c 50 43 57 53 54 52 29 3b 0a  UINT, LPCWSTR);.
ebe0: 09 42 4f 4f 4c 20 57 72 69 74 65 50 72 6f 63 65  .BOOL WriteProce
ebf0: 73 73 4d 65 6d 6f 72 79 28 48 41 4e 44 4c 45 2c  ssMemory(HANDLE,
ec00: 20 4c 50 56 4f 49 44 2c 20 4c 50 43 56 4f 49 44   LPVOID, LPCVOID
ec10: 2c 20 53 49 5a 45 5f 54 2c 20 53 49 5a 45 5f 54  , SIZE_T, SIZE_T
ec20: 2a 29 3b 0a 09 42 4f 4f 4c 20 57 72 69 74 65 50  *);..BOOL WriteP
ec30: 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 41 28 4c  rofileSectionA(L
ec40: 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a  PCSTR, LPCSTR);.
ec50: 09 42 4f 4f 4c 20 57 72 69 74 65 50 72 6f 66 69  .BOOL WriteProfi
ec60: 6c 65 53 65 63 74 69 6f 6e 57 28 4c 50 43 57 53  leSectionW(LPCWS
ec70: 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 42  TR, LPCWSTR);..B
ec80: 4f 4f 4c 20 57 72 69 74 65 50 72 6f 66 69 6c 65  OOL WriteProfile
ec90: 53 74 72 69 6e 67 41 28 4c 50 43 53 54 52 2c 20  StringA(LPCSTR, 
eca0: 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b  LPCSTR, LPCSTR);
ecb0: 0a 09 42 4f 4f 4c 20 57 72 69 74 65 50 72 6f 66  ..BOOL WriteProf
ecc0: 69 6c 65 53 74 72 69 6e 67 57 28 4c 50 43 57 53  ileStringW(LPCWS
ecd0: 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43  TR, LPCWSTR, LPC
ece0: 57 53 54 52 29 3b 0a 0a 09 2f 2a 09 4d 65 6d 6f  WSTR);.../*.Memo
ecf0: 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 75  ry allocation fu
ed00: 6e 63 74 69 6f 6e 73 2e 0a 09 20 2a 09 4d 53 44  nctions... *.MSD
ed10: 4e 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 65 73  N documents thes
ed20: 65 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 61 73  e erroneously as
ed30: 20 57 69 6e 32 30 30 30 2b 3b 20 74 68 75 73 20   Win2000+; thus 
ed40: 69 74 20 69 73 20 75 6e 63 65 72 74 61 69 6e 20  it is uncertain 
ed50: 77 68 61 74 0a 09 20 2a 09 76 65 72 73 69 6f 6e  what.. *.version
ed60: 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 74   compatibility t
ed70: 68 65 79 20 72 65 61 6c 6c 79 20 68 61 76 65 2e  hey really have.
ed80: 0a 09 20 2a 2f 0a 09 48 47 4c 4f 42 41 4c 20 47  .. */..HGLOBAL G
ed90: 6c 6f 62 61 6c 41 6c 6c 6f 63 28 55 49 4e 54 2c  lobalAlloc(UINT,
eda0: 20 44 57 4f 52 44 29 3b 0a 09 48 47 4c 4f 42 41   DWORD);..HGLOBA
edb0: 4c 20 47 6c 6f 62 61 6c 44 69 73 63 61 72 64 28  L GlobalDiscard(
edc0: 48 47 4c 4f 42 41 4c 29 3b 0a 09 48 47 4c 4f 42  HGLOBAL);..HGLOB
edd0: 41 4c 20 47 6c 6f 62 61 6c 46 72 65 65 28 48 47  AL GlobalFree(HG
ede0: 4c 4f 42 41 4c 29 3b 0a 09 48 47 4c 4f 42 41 4c  LOBAL);..HGLOBAL
edf0: 20 47 6c 6f 62 61 6c 48 61 6e 64 6c 65 28 50 43   GlobalHandle(PC
ee00: 56 4f 49 44 29 3b 0a 09 4c 50 56 4f 49 44 20 47  VOID);..LPVOID G
ee10: 6c 6f 62 61 6c 4c 6f 63 6b 28 48 47 4c 4f 42 41  lobalLock(HGLOBA
ee20: 4c 29 3b 0a 09 56 4f 49 44 20 47 6c 6f 62 61 6c  L);..VOID Global
ee30: 4d 65 6d 6f 72 79 53 74 61 74 75 73 28 4c 50 4d  MemoryStatus(LPM
ee40: 45 4d 4f 52 59 53 54 41 54 55 53 29 3b 0a 09 48  EMORYSTATUS);..H
ee50: 47 4c 4f 42 41 4c 20 47 6c 6f 62 61 6c 52 65 41  GLOBAL GlobalReA
ee60: 6c 6c 6f 63 28 48 47 4c 4f 42 41 4c 2c 20 44 57  lloc(HGLOBAL, DW
ee70: 4f 52 44 2c 20 55 49 4e 54 29 3b 0a 09 44 57 4f  ORD, UINT);..DWO
ee80: 52 44 20 47 6c 6f 62 61 6c 53 69 7a 65 28 48 47  RD GlobalSize(HG
ee90: 4c 4f 42 41 4c 29 3b 0a 09 42 4f 4f 4c 20 47 6c  LOBAL);..BOOL Gl
eea0: 6f 62 61 6c 55 6e 6c 6f 63 6b 28 48 47 4c 4f 42  obalUnlock(HGLOB
eeb0: 41 4c 29 3b 0a 09 50 56 4f 49 44 20 48 65 61 70  AL);..PVOID Heap
eec0: 41 6c 6c 6f 63 28 48 41 4e 44 4c 45 2c 20 44 57  Alloc(HANDLE, DW
eed0: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 53 49  ORD, DWORD);..SI
eee0: 5a 45 5f 54 20 48 65 61 70 43 6f 6d 70 61 63 74  ZE_T HeapCompact
eef0: 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b  (HANDLE, DWORD);
ef00: 0a 09 48 41 4e 44 4c 45 20 48 65 61 70 43 72 65  ..HANDLE HeapCre
ef10: 61 74 65 28 44 57 4f 52 44 2c 20 44 57 4f 52 44  ate(DWORD, DWORD
ef20: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  , DWORD);..BOOL 
ef30: 48 65 61 70 44 65 73 74 72 6f 79 28 48 41 4e 44  HeapDestroy(HAND
ef40: 4c 45 29 3b 0a 09 42 4f 4f 4c 20 48 65 61 70 46  LE);..BOOL HeapF
ef50: 72 65 65 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52  ree(HANDLE, DWOR
ef60: 44 2c 20 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c  D, PVOID);..BOOL
ef70: 20 48 65 61 70 4c 6f 63 6b 28 48 41 4e 44 4c 45   HeapLock(HANDLE
ef80: 29 3b 0a 09 50 56 4f 49 44 20 48 65 61 70 52 65  );..PVOID HeapRe
ef90: 41 6c 6c 6f 63 28 48 41 4e 44 4c 45 2c 20 44 57  Alloc(HANDLE, DW
efa0: 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52  ORD, PVOID, DWOR
efb0: 44 29 3b 0a 09 44 57 4f 52 44 20 48 65 61 70 53  D);..DWORD HeapS
efc0: 69 7a 65 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52  ize(HANDLE, DWOR
efd0: 44 2c 20 50 43 56 4f 49 44 29 3b 0a 09 42 4f 4f  D, PCVOID);..BOO
efe0: 4c 20 48 65 61 70 55 6e 6c 6f 63 6b 28 48 41 4e  L HeapUnlock(HAN
eff0: 44 4c 45 29 3b 0a 09 42 4f 4f 4c 20 48 65 61 70  DLE);..BOOL Heap
f000: 56 61 6c 69 64 61 74 65 28 48 41 4e 44 4c 45 2c  Validate(HANDLE,
f010: 20 44 57 4f 52 44 2c 20 50 43 56 4f 49 44 29 3b   DWORD, PCVOID);
f020: 0a 09 42 4f 4f 4c 20 48 65 61 70 57 61 6c 6b 28  ..BOOL HeapWalk(
f030: 48 41 4e 44 4c 45 2c 20 4c 50 50 52 4f 43 45 53  HANDLE, LPPROCES
f040: 53 5f 48 45 41 50 5f 45 4e 54 52 59 29 3b 0a 09  S_HEAP_ENTRY);..
f050: 48 4c 4f 43 41 4c 20 4c 6f 63 61 6c 41 6c 6c 6f  HLOCAL LocalAllo
f060: 63 28 55 49 4e 54 2c 20 53 49 5a 45 5f 54 29 3b  c(UINT, SIZE_T);
f070: 0a 09 48 4c 4f 43 41 4c 20 4c 6f 63 61 6c 44 69  ..HLOCAL LocalDi
f080: 73 63 61 72 64 28 48 4c 4f 43 41 4c 29 3b 0a 09  scard(HLOCAL);..
f090: 48 4c 4f 43 41 4c 20 4c 6f 63 61 6c 46 72 65 65  HLOCAL LocalFree
f0a0: 28 48 4c 4f 43 41 4c 29 3b 0a 09 48 4c 4f 43 41  (HLOCAL);..HLOCA
f0b0: 4c 20 4c 6f 63 61 6c 48 61 6e 64 6c 65 28 4c 50  L LocalHandle(LP
f0c0: 43 56 4f 49 44 29 3b 0a 09 50 56 4f 49 44 20 4c  CVOID);..PVOID L
f0d0: 6f 63 61 6c 4c 6f 63 6b 28 48 4c 4f 43 41 4c 29  ocalLock(HLOCAL)
f0e0: 3b 0a 09 48 4c 4f 43 41 4c 20 4c 6f 63 61 6c 52  ;..HLOCAL LocalR
f0f0: 65 41 6c 6c 6f 63 28 48 4c 4f 43 41 4c 2c 20 53  eAlloc(HLOCAL, S
f100: 49 5a 45 5f 54 2c 20 55 49 4e 54 29 3b 0a 09 55  IZE_T, UINT);..U
f110: 49 4e 54 20 4c 6f 63 61 6c 53 69 7a 65 28 48 4c  INT LocalSize(HL
f120: 4f 43 41 4c 29 3b 0a 09 42 4f 4f 4c 20 4c 6f 63  OCAL);..BOOL Loc
f130: 61 6c 55 6e 6c 6f 63 6b 28 48 4c 4f 43 41 4c 29  alUnlock(HLOCAL)
f140: 3b 0a 09 50 56 4f 49 44 20 56 69 72 74 75 61 6c  ;..PVOID Virtual
f150: 41 6c 6c 6f 63 28 50 56 4f 49 44 2c 20 44 57 4f  Alloc(PVOID, DWO
f160: 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  RD, DWORD, DWORD
f170: 29 3b 0a 09 50 56 4f 49 44 20 56 69 72 74 75 61  );..PVOID Virtua
f180: 6c 41 6c 6c 6f 63 45 78 28 48 41 4e 44 4c 45 2c  lAllocEx(HANDLE,
f190: 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44   PVOID, DWORD, D
f1a0: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42  WORD, DWORD);..B
f1b0: 4f 4f 4c 20 56 69 72 74 75 61 6c 46 72 65 65 28  OOL VirtualFree(
f1c0: 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57  PVOID, DWORD, DW
f1d0: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 56 69 72 74  ORD);..BOOL Virt
f1e0: 75 61 6c 46 72 65 65 45 78 28 48 41 4e 44 4c 45  ualFreeEx(HANDLE
f1f0: 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20  , PVOID, DWORD, 
f200: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 56 69  DWORD);..BOOL Vi
f210: 72 74 75 61 6c 4c 6f 63 6b 28 50 56 4f 49 44 2c  rtualLock(PVOID,
f220: 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 56   DWORD);..BOOL V
f230: 69 72 74 75 61 6c 50 72 6f 74 65 63 74 28 50 56  irtualProtect(PV
f240: 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  OID, DWORD, DWOR
f250: 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  D, PDWORD);..BOO
f260: 4c 20 56 69 72 74 75 61 6c 50 72 6f 74 65 63 74  L VirtualProtect
f270: 45 78 28 48 41 4e 44 4c 45 2c 20 50 56 4f 49 44  Ex(HANDLE, PVOID
f280: 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  , DWORD, DWORD, 
f290: 50 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20  PDWORD);..DWORD 
f2a0: 56 69 72 74 75 61 6c 51 75 65 72 79 28 4c 50 43  VirtualQuery(LPC
f2b0: 56 4f 49 44 2c 20 50 4d 45 4d 4f 52 59 5f 42 41  VOID, PMEMORY_BA
f2c0: 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2c  SIC_INFORMATION,
f2d0: 20 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44 20   DWORD);..DWORD 
f2e0: 56 69 72 74 75 61 6c 51 75 65 72 79 45 78 28 48  VirtualQueryEx(H
f2f0: 41 4e 44 4c 45 2c 20 4c 50 43 56 4f 49 44 2c 20  ANDLE, LPCVOID, 
f300: 50 4d 45 4d 4f 52 59 5f 42 41 53 49 43 5f 49 4e  PMEMORY_BASIC_IN
f310: 46 4f 52 4d 41 54 49 4f 4e 2c 20 44 57 4f 52 44  FORMATION, DWORD
f320: 29 3b 0a 09 42 4f 4f 4c 20 56 69 72 74 75 61 6c  );..BOOL Virtual
f330: 55 6e 6c 6f 63 6b 28 50 56 4f 49 44 2c 20 44 57  Unlock(PVOID, DW
f340: 4f 52 44 29 3b 0a 0a 09 73 74 61 74 69 63 20 69  ORD);...static i
f350: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 44 4f 57  f (_WIN32_WINDOW
f360: 53 20 3e 3d 20 30 78 36 30 30 29 20 7b 0a 09 09  S >= 0x600) {...
f370: 42 4f 4f 4c 20 43 61 6e 63 65 6c 49 6f 45 78 28  BOOL CancelIoEx(
f380: 48 41 4e 44 4c 45 2c 20 4c 50 4f 56 45 52 4c 41  HANDLE, LPOVERLA
f390: 50 50 45 44 29 3b 0a 09 7d 0a 0a 09 73 74 61 74  PPED);..}...stat
f3a0: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
f3b0: 4e 44 4f 57 53 20 3e 3d 20 30 78 34 31 30 29 20  NDOWS >= 0x410) 
f3c0: 7b 0a 09 09 42 4f 4f 4c 20 43 61 6e 63 65 6c 49  {...BOOL CancelI
f3d0: 6f 28 48 41 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f  o(HANDLE);...BOO
f3e0: 4c 20 43 61 6e 63 65 6c 57 61 69 74 61 62 6c 65  L CancelWaitable
f3f0: 54 69 6d 65 72 28 48 41 4e 44 4c 45 29 3b 0a 09  Timer(HANDLE);..
f400: 09 50 56 4f 49 44 20 43 6f 6e 76 65 72 74 54 68  .PVOID ConvertTh
f410: 72 65 61 64 54 6f 46 69 62 65 72 28 50 56 4f 49  readToFiber(PVOI
f420: 44 29 3b 0a 09 09 4c 50 56 4f 49 44 20 43 72 65  D);...LPVOID Cre
f430: 61 74 65 46 69 62 65 72 28 53 49 5a 45 5f 54 2c  ateFiber(SIZE_T,
f440: 20 4c 50 46 49 42 45 52 5f 53 54 41 52 54 5f 52   LPFIBER_START_R
f450: 4f 55 54 49 4e 45 2c 20 4c 50 56 4f 49 44 29 3b  OUTINE, LPVOID);
f460: 0a 09 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65  ...HANDLE Create
f470: 57 61 69 74 61 62 6c 65 54 69 6d 65 72 41 28 4c  WaitableTimerA(L
f480: 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42  PSECURITY_ATTRIB
f490: 55 54 45 53 2c 20 42 4f 4f 4c 2c 20 4c 50 43 53  UTES, BOOL, LPCS
f4a0: 54 52 29 3b 0a 09 09 48 41 4e 44 4c 45 20 43 72  TR);...HANDLE Cr
f4b0: 65 61 74 65 57 61 69 74 61 62 6c 65 54 69 6d 65  eateWaitableTime
f4c0: 72 57 28 4c 50 53 45 43 55 52 49 54 59 5f 41 54  rW(LPSECURITY_AT
f4d0: 54 52 49 42 55 54 45 53 2c 20 42 4f 4f 4c 2c 20  TRIBUTES, BOOL, 
f4e0: 4c 50 43 57 53 54 52 29 3b 0a 09 09 76 6f 69 64  LPCWSTR);...void
f4f0: 20 44 65 6c 65 74 65 46 69 62 65 72 28 50 56 4f   DeleteFiber(PVO
f500: 49 44 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74 46  ID);...BOOL GetF
f510: 69 6c 65 41 74 74 72 69 62 75 74 65 73 45 78 41  ileAttributesExA
f520: 28 4c 50 43 53 54 52 2c 20 47 45 54 5f 46 49 4c  (LPCSTR, GET_FIL
f530: 45 45 58 5f 49 4e 46 4f 5f 4c 45 56 45 4c 53 2c  EEX_INFO_LEVELS,
f540: 20 50 56 4f 49 44 29 3b 0a 09 09 42 4f 4f 4c 20   PVOID);...BOOL 
f550: 47 65 74 46 69 6c 65 41 74 74 72 69 62 75 74 65  GetFileAttribute
f560: 73 45 78 57 28 4c 50 43 57 53 54 52 2c 20 47 45  sExW(LPCWSTR, GE
f570: 54 5f 46 49 4c 45 45 58 5f 49 4e 46 4f 5f 4c 45  T_FILEEX_INFO_LE
f580: 56 45 4c 53 2c 20 50 56 4f 49 44 29 3b 0a 09 09  VELS, PVOID);...
f590: 44 57 4f 52 44 20 47 65 74 4c 6f 6e 67 50 61 74  DWORD GetLongPat
f5a0: 68 4e 61 6d 65 41 28 4c 50 43 53 54 52 2c 20 4c  hNameA(LPCSTR, L
f5b0: 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09  PSTR, DWORD);...
f5c0: 44 57 4f 52 44 20 47 65 74 4c 6f 6e 67 50 61 74  DWORD GetLongPat
f5d0: 68 4e 61 6d 65 57 28 4c 50 43 57 53 54 52 2c 20  hNameW(LPCWSTR, 
f5e0: 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a  LPWSTR, DWORD);.
f5f0: 09 09 42 4f 4f 4c 20 49 6e 69 74 69 61 6c 69 7a  ..BOOL Initializ
f600: 65 43 72 69 74 69 63 61 6c 53 65 63 74 69 6f 6e  eCriticalSection
f610: 41 6e 64 53 70 69 6e 43 6f 75 6e 74 28 4c 50 43  AndSpinCount(LPC
f620: 52 49 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 2c  RITICAL_SECTION,
f630: 20 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c 20   DWORD);...BOOL 
f640: 49 73 44 65 62 75 67 67 65 72 50 72 65 73 65 6e  IsDebuggerPresen
f650: 74 28 29 3b 0a 09 09 48 41 4e 44 4c 45 20 4f 70  t();...HANDLE Op
f660: 65 6e 57 61 69 74 61 62 6c 65 54 69 6d 65 72 41  enWaitableTimerA
f670: 28 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c 50  (DWORD, BOOL, LP
f680: 43 53 54 52 29 3b 0a 09 09 48 41 4e 44 4c 45 20  CSTR);...HANDLE 
f690: 4f 70 65 6e 57 61 69 74 61 62 6c 65 54 69 6d 65  OpenWaitableTime
f6a0: 72 57 28 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20  rW(DWORD, BOOL, 
f6b0: 4c 50 43 57 53 54 52 29 3b 0a 09 09 44 57 4f 52  LPCWSTR);...DWOR
f6c0: 44 20 51 75 65 72 79 44 6f 73 44 65 76 69 63 65  D QueryDosDevice
f6d0: 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c  A(LPCSTR, LPSTR,
f6e0: 20 44 57 4f 52 44 29 3b 0a 09 09 44 57 4f 52 44   DWORD);...DWORD
f6f0: 20 51 75 65 72 79 44 6f 73 44 65 76 69 63 65 57   QueryDosDeviceW
f700: 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52  (LPCWSTR, LPWSTR
f710: 2c 20 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c  , DWORD);...BOOL
f720: 20 53 65 74 57 61 69 74 61 62 6c 65 54 69 6d 65   SetWaitableTime
f730: 72 28 48 41 4e 44 4c 45 2c 20 43 50 74 72 21 28  r(HANDLE, CPtr!(
f740: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 29 2c 20  LARGE_INTEGER), 
f750: 4c 4f 4e 47 2c 20 50 54 49 4d 45 52 41 50 43 52  LONG, PTIMERAPCR
f760: 4f 55 54 49 4e 45 2c 20 50 56 4f 49 44 2c 20 42  OUTINE, PVOID, B
f770: 4f 4f 4c 29 3b 0a 09 09 76 6f 69 64 20 53 77 69  OOL);...void Swi
f780: 74 63 68 54 6f 46 69 62 65 72 28 50 56 4f 49 44  tchToFiber(PVOID
f790: 29 3b 0a 09 7d 0a 0a 09 73 74 61 74 69 63 20 69  );..}...static i
f7a0: 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 35  f (WINVER >= 0x5
f7b0: 30 30 29 20 7b 0a 09 09 48 41 4e 44 4c 45 20 4f  00) {...HANDLE O
f7c0: 70 65 6e 54 68 72 65 61 64 28 44 57 4f 52 44 2c  penThread(DWORD,
f7d0: 20 42 4f 4f 4c 2c 20 44 57 4f 52 44 29 3b 0a 09   BOOL, DWORD);..
f7e0: 7d 0a 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f  }...static if (_
f7f0: 57 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59  WIN32_WINNT_ONLY
f800: 29 20 7b 0a 09 09 42 4f 4f 4c 20 41 63 63 65 73  ) {...BOOL Acces
f810: 73 43 68 65 63 6b 28 50 53 45 43 55 52 49 54 59  sCheck(PSECURITY
f820: 5f 44 45 53 43 52 49 50 54 4f 52 2c 20 48 41 4e  _DESCRIPTOR, HAN
f830: 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50 47 45 4e  DLE, DWORD, PGEN
f840: 45 52 49 43 5f 4d 41 50 50 49 4e 47 2c 20 50 50  ERIC_MAPPING, PP
f850: 52 49 56 49 4c 45 47 45 5f 53 45 54 2c 20 50 44  RIVILEGE_SET, PD
f860: 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 42  WORD, PDWORD, PB
f870: 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 41 63 63  OOL);...BOOL Acc
f880: 65 73 73 43 68 65 63 6b 41 6e 64 41 75 64 69 74  essCheckAndAudit
f890: 41 6c 61 72 6d 41 28 4c 50 43 53 54 52 2c 20 4c  AlarmA(LPCSTR, L
f8a0: 50 56 4f 49 44 2c 20 4c 50 53 54 52 2c 20 4c 50  PVOID, LPSTR, LP
f8b0: 53 54 52 2c 20 50 53 45 43 55 52 49 54 59 5f 44  STR, PSECURITY_D
f8c0: 45 53 43 52 49 50 54 4f 52 2c 20 44 57 4f 52 44  ESCRIPTOR, DWORD
f8d0: 2c 20 50 47 45 4e 45 52 49 43 5f 4d 41 50 50 49  , PGENERIC_MAPPI
f8e0: 4e 47 2c 20 42 4f 4f 4c 2c 20 50 44 57 4f 52 44  NG, BOOL, PDWORD
f8f0: 2c 20 50 42 4f 4f 4c 2c 20 50 42 4f 4f 4c 29 3b  , PBOOL, PBOOL);
f900: 0a 09 09 42 4f 4f 4c 20 41 63 63 65 73 73 43 68  ...BOOL AccessCh
f910: 65 63 6b 41 6e 64 41 75 64 69 74 41 6c 61 72 6d  eckAndAuditAlarm
f920: 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 56 4f 49  W(LPCWSTR, LPVOI
f930: 44 2c 20 4c 50 57 53 54 52 2c 20 4c 50 57 53 54  D, LPWSTR, LPWST
f940: 52 2c 20 50 53 45 43 55 52 49 54 59 5f 44 45 53  R, PSECURITY_DES
f950: 43 52 49 50 54 4f 52 2c 20 44 57 4f 52 44 2c 20  CRIPTOR, DWORD, 
f960: 50 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47  PGENERIC_MAPPING
f970: 2c 20 42 4f 4f 4c 2c 20 50 44 57 4f 52 44 2c 20  , BOOL, PDWORD, 
f980: 50 42 4f 4f 4c 2c 20 50 42 4f 4f 4c 29 3b 0a 09  PBOOL, PBOOL);..
f990: 09 42 4f 4f 4c 20 41 64 64 41 63 63 65 73 73 41  .BOOL AddAccessA
f9a0: 6c 6c 6f 77 65 64 41 63 65 28 50 41 43 4c 2c 20  llowedAce(PACL, 
f9b0: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 53  DWORD, DWORD, PS
f9c0: 49 44 29 3b 0a 09 09 42 4f 4f 4c 20 41 64 64 41  ID);...BOOL AddA
f9d0: 63 63 65 73 73 44 65 6e 69 65 64 41 63 65 28 50  ccessDeniedAce(P
f9e0: 41 43 4c 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  ACL, DWORD, DWOR
f9f0: 44 2c 20 50 53 49 44 29 3b 0a 09 09 42 4f 4f 4c  D, PSID);...BOOL
fa00: 20 41 64 64 41 63 65 28 50 41 43 4c 2c 20 44 57   AddAce(PACL, DW
fa10: 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49  ORD, DWORD, PVOI
fa20: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f  D, DWORD);...BOO
fa30: 4c 20 41 64 64 41 75 64 69 74 41 63 63 65 73 73  L AddAuditAccess
fa40: 41 63 65 28 50 41 43 4c 2c 20 44 57 4f 52 44 2c  Ace(PACL, DWORD,
fa50: 20 44 57 4f 52 44 2c 20 50 53 49 44 2c 20 42 4f   DWORD, PSID, BO
fa60: 4f 4c 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f  OL, BOOL);...BOO
fa70: 4c 20 41 64 6a 75 73 74 54 6f 6b 65 6e 47 72 6f  L AdjustTokenGro
fa80: 75 70 73 28 48 41 4e 44 4c 45 2c 20 42 4f 4f 4c  ups(HANDLE, BOOL
fa90: 2c 20 50 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 2c  , PTOKEN_GROUPS,
faa0: 20 44 57 4f 52 44 2c 20 50 54 4f 4b 45 4e 5f 47   DWORD, PTOKEN_G
fab0: 52 4f 55 50 53 2c 20 50 44 57 4f 52 44 29 3b 0a  ROUPS, PDWORD);.
fac0: 09 09 42 4f 4f 4c 20 41 64 6a 75 73 74 54 6f 6b  ..BOOL AdjustTok
fad0: 65 6e 50 72 69 76 69 6c 65 67 65 73 28 48 41 4e  enPrivileges(HAN
fae0: 44 4c 45 2c 20 42 4f 4f 4c 2c 20 50 54 4f 4b 45  DLE, BOOL, PTOKE
faf0: 4e 5f 50 52 49 56 49 4c 45 47 45 53 2c 20 44 57  N_PRIVILEGES, DW
fb00: 4f 52 44 2c 20 50 54 4f 4b 45 4e 5f 50 52 49 56  ORD, PTOKEN_PRIV
fb10: 49 4c 45 47 45 53 2c 20 50 44 57 4f 52 44 29 3b  ILEGES, PDWORD);
fb20: 0a 09 09 42 4f 4f 4c 20 41 6c 6c 6f 63 61 74 65  ...BOOL Allocate
fb30: 41 6e 64 49 6e 69 74 69 61 6c 69 7a 65 53 69 64  AndInitializeSid
fb40: 28 50 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52  (PSID_IDENTIFIER
fb50: 5f 41 55 54 48 4f 52 49 54 59 2c 20 42 59 54 45  _AUTHORITY, BYTE
fb60: 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  , DWORD, DWORD, 
fb70: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57  DWORD, DWORD, DW
fb80: 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  ORD, DWORD, DWOR
fb90: 44 2c 20 44 57 4f 52 44 2c 20 50 53 49 44 2a 29  D, DWORD, PSID*)
fba0: 3b 0a 09 09 42 4f 4f 4c 20 41 6c 6c 6f 63 61 74  ;...BOOL Allocat
fbb0: 65 4c 6f 63 61 6c 6c 79 55 6e 69 71 75 65 49 64  eLocallyUniqueId
fbc0: 28 50 4c 55 49 44 29 3b 0a 09 09 42 4f 4f 4c 20  (PLUID);...BOOL 
fbd0: 41 72 65 41 6c 6c 41 63 63 65 73 73 65 73 47 72  AreAllAccessesGr
fbe0: 61 6e 74 65 64 28 44 57 4f 52 44 2c 20 44 57 4f  anted(DWORD, DWO
fbf0: 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 41 72 65 41  RD);...BOOL AreA
fc00: 6e 79 41 63 63 65 73 73 65 73 47 72 61 6e 74 65  nyAccessesGrante
fc10: 64 28 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b  d(DWORD, DWORD);
fc20: 0a 09 09 42 4f 4f 4c 20 42 61 63 6b 75 70 45 76  ...BOOL BackupEv
fc30: 65 6e 74 4c 6f 67 41 28 48 41 4e 44 4c 45 2c 20  entLogA(HANDLE, 
fc40: 4c 50 43 53 54 52 29 3b 0a 09 09 42 4f 4f 4c 20  LPCSTR);...BOOL 
fc50: 42 61 63 6b 75 70 45 76 65 6e 74 4c 6f 67 57 28  BackupEventLogW(
fc60: 48 41 4e 44 4c 45 2c 20 4c 50 43 57 53 54 52 29  HANDLE, LPCWSTR)
fc70: 3b 0a 09 09 42 4f 4f 4c 20 42 61 63 6b 75 70 52  ;...BOOL BackupR
fc80: 65 61 64 28 48 41 4e 44 4c 45 2c 20 4c 50 42 59  ead(HANDLE, LPBY
fc90: 54 45 2c 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f  TE, DWORD, LPDWO
fca0: 52 44 2c 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20  RD, BOOL, BOOL, 
fcb0: 4c 50 56 4f 49 44 2a 29 3b 0a 09 09 42 4f 4f 4c  LPVOID*);...BOOL
fcc0: 20 42 61 63 6b 75 70 53 65 65 6b 28 48 41 4e 44   BackupSeek(HAND
fcd0: 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  LE, DWORD, DWORD
fce0: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f  , LPDWORD, LPDWO
fcf0: 52 44 2c 20 4c 50 56 4f 49 44 2a 29 3b 0a 09 09  RD, LPVOID*);...
fd00: 42 4f 4f 4c 20 42 61 63 6b 75 70 57 72 69 74 65  BOOL BackupWrite
fd10: 28 48 41 4e 44 4c 45 2c 20 4c 50 42 59 54 45 2c  (HANDLE, LPBYTE,
fd20: 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c   DWORD, LPDWORD,
fd30: 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20 4c 50 56   BOOL, BOOL, LPV
fd40: 4f 49 44 2a 29 3b 0a 09 09 42 4f 4f 4c 20 43 6c  OID*);...BOOL Cl
fd50: 65 61 72 45 76 65 6e 74 4c 6f 67 41 28 48 41 4e  earEventLogA(HAN
fd60: 44 4c 45 2c 20 4c 50 43 53 54 52 29 3b 0a 09 09  DLE, LPCSTR);...
fd70: 42 4f 4f 4c 20 43 6c 65 61 72 45 76 65 6e 74 4c  BOOL ClearEventL
fd80: 6f 67 57 28 48 41 4e 44 4c 45 2c 20 4c 50 43 57  ogW(HANDLE, LPCW
fd90: 53 54 52 29 3b 0a 09 09 42 4f 4f 4c 20 43 6c 6f  STR);...BOOL Clo
fda0: 73 65 45 76 65 6e 74 4c 6f 67 28 48 41 4e 44 4c  seEventLog(HANDL
fdb0: 45 29 3b 0a 09 09 42 4f 4f 4c 20 43 6f 6e 6e 65  E);...BOOL Conne
fdc0: 63 74 4e 61 6d 65 64 50 69 70 65 28 48 41 4e 44  ctNamedPipe(HAND
fdd0: 4c 45 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44  LE, LPOVERLAPPED
fde0: 29 3b 0a 09 09 42 4f 4f 4c 20 43 6f 70 79 53 69  );...BOOL CopySi
fdf0: 64 28 44 57 4f 52 44 2c 20 50 53 49 44 2c 20 50  d(DWORD, PSID, P
fe00: 53 49 44 29 3b 0a 09 09 48 41 4e 44 4c 45 20 43  SID);...HANDLE C
fe10: 72 65 61 74 65 4e 61 6d 65 64 50 69 70 65 41 28  reateNamedPipeA(
fe20: 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 44  LPCSTR, DWORD, D
fe30: 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f  WORD, DWORD, DWO
fe40: 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  RD, DWORD, DWORD
fe50: 2c 20 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54  , LPSECURITY_ATT
fe60: 52 49 42 55 54 45 53 29 3b 0a 09 09 48 41 4e 44  RIBUTES);...HAND
fe70: 4c 45 20 43 72 65 61 74 65 4e 61 6d 65 64 50 69  LE CreateNamedPi
fe80: 70 65 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f  peW(LPCWSTR, DWO
fe90: 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  RD, DWORD, DWORD
fea0: 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  , DWORD, DWORD, 
feb0: 44 57 4f 52 44 2c 20 4c 50 53 45 43 55 52 49 54  DWORD, LPSECURIT
fec0: 59 5f 41 54 54 52 49 42 55 54 45 53 29 3b 0a 09  Y_ATTRIBUTES);..
fed0: 09 42 4f 4f 4c 20 43 72 65 61 74 65 50 72 69 76  .BOOL CreatePriv
fee0: 61 74 65 4f 62 6a 65 63 74 53 65 63 75 72 69 74  ateObjectSecurit
fef0: 79 28 50 53 45 43 55 52 49 54 59 5f 44 45 53 43  y(PSECURITY_DESC
ff00: 52 49 50 54 4f 52 2c 20 50 53 45 43 55 52 49 54  RIPTOR, PSECURIT
ff10: 59 5f 44 45 53 43 52 49 50 54 4f 52 2c 20 50 53  Y_DESCRIPTOR, PS
ff20: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
ff30: 4f 52 2a 2c 20 42 4f 4f 4c 2c 20 48 41 4e 44 4c  OR*, BOOL, HANDL
ff40: 45 2c 20 50 47 45 4e 45 52 49 43 5f 4d 41 50 50  E, PGENERIC_MAPP
ff50: 49 4e 47 29 3b 0a 09 09 42 4f 4f 4c 20 43 72 65  ING);...BOOL Cre
ff60: 61 74 65 50 72 6f 63 65 73 73 41 73 55 73 65 72  ateProcessAsUser
ff70: 41 28 48 41 4e 44 4c 45 2c 20 4c 50 43 53 54 52  A(HANDLE, LPCSTR
ff80: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 45 43 55 52  , LPSTR, LPSECUR
ff90: 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20  ITY_ATTRIBUTES, 
ffa0: 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49  LPSECURITY_ATTRI
ffb0: 42 55 54 45 53 2c 20 42 4f 4f 4c 2c 20 44 57 4f  BUTES, BOOL, DWO
ffc0: 52 44 2c 20 50 56 4f 49 44 2c 20 4c 50 43 53 54  RD, PVOID, LPCST
ffd0: 52 2c 20 4c 50 53 54 41 52 54 55 50 49 4e 46 4f  R, LPSTARTUPINFO
ffe0: 41 2c 20 4c 50 50 52 4f 43 45 53 53 5f 49 4e 46  A, LPPROCESS_INF
fff0: 4f 52 4d 41 54 49 4f 4e 29 3b 0a 09 09 42 4f 4f  ORMATION);...BOO
10000 4c 20 43 72 65 61 74 65 50 72 6f 63 65 73 73 41  L CreateProcessA
10010 73 55 73 65 72 57 28 48 41 4e 44 4c 45 2c 20 4c  sUserW(HANDLE, L
10020 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20  PCWSTR, LPWSTR, 
10030 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49  LPSECURITY_ATTRI
10040 42 55 54 45 53 2c 20 4c 50 53 45 43 55 52 49 54  BUTES, LPSECURIT
10050 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20 42 4f  Y_ATTRIBUTES, BO
10060 4f 4c 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44  OL, DWORD, PVOID
10070 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 53 54 41  , LPCWSTR, LPSTA
10080 52 54 55 50 49 4e 46 4f 57 2c 20 4c 50 50 52 4f  RTUPINFOW, LPPRO
10090 43 45 53 53 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  CESS_INFORMATION
100a0 29 3b 0a 09 09 48 41 4e 44 4c 45 20 43 72 65 61  );...HANDLE Crea
100b0 74 65 52 65 6d 6f 74 65 54 68 72 65 61 64 28 48  teRemoteThread(H
100c0 41 4e 44 4c 45 2c 20 4c 50 53 45 43 55 52 49 54  ANDLE, LPSECURIT
100d0 59 5f 41 54 54 52 49 42 55 54 45 53 2c 20 44 57  Y_ATTRIBUTES, DW
100e0 4f 52 44 2c 20 4c 50 54 48 52 45 41 44 5f 53 54  ORD, LPTHREAD_ST
100f0 41 52 54 5f 52 4f 55 54 49 4e 45 2c 20 4c 50 56  ART_ROUTINE, LPV
10100 4f 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 44 57  OID, DWORD, LPDW
10110 4f 52 44 29 3b 0a 09 09 44 57 4f 52 44 20 43 72  ORD);...DWORD Cr
10120 65 61 74 65 54 61 70 65 50 61 72 74 69 74 69 6f  eateTapePartitio
10130 6e 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c  n(HANDLE, DWORD,
10140 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a   DWORD, DWORD);.
10150 09 09 42 4f 4f 4c 20 44 65 66 69 6e 65 44 6f 73  ..BOOL DefineDos
10160 44 65 76 69 63 65 41 28 44 57 4f 52 44 2c 20 4c  DeviceA(DWORD, L
10170 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a  PCSTR, LPCSTR);.
10180 09 09 42 4f 4f 4c 20 44 65 66 69 6e 65 44 6f 73  ..BOOL DefineDos
10190 44 65 76 69 63 65 57 28 44 57 4f 52 44 2c 20 4c  DeviceW(DWORD, L
101a0 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29  PCWSTR, LPCWSTR)
101b0 3b 0a 09 09 42 4f 4f 4c 20 44 65 6c 65 74 65 41  ;...BOOL DeleteA
101c0 63 65 28 50 41 43 4c 2c 20 44 57 4f 52 44 29 3b  ce(PACL, DWORD);
101d0 0a 09 09 42 4f 4f 4c 20 44 65 72 65 67 69 73 74  ...BOOL Deregist
101e0 65 72 45 76 65 6e 74 53 6f 75 72 63 65 28 48 41  erEventSource(HA
101f0 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 44 65  NDLE);...BOOL De
10200 73 74 72 6f 79 50 72 69 76 61 74 65 4f 62 6a 65  stroyPrivateObje
10210 63 74 53 65 63 75 72 69 74 79 28 50 53 45 43 55  ctSecurity(PSECU
10220 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2a  RITY_DESCRIPTOR*
10230 29 3b 0a 09 09 42 4f 4f 4c 20 44 65 76 69 63 65  );...BOOL Device
10240 49 6f 43 6f 6e 74 72 6f 6c 28 48 41 4e 44 4c 45  IoControl(HANDLE
10250 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20  , DWORD, PVOID, 
10260 44 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44 57  DWORD, PVOID, DW
10270 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 4f 56  ORD, PDWORD, POV
10280 45 52 4c 41 50 50 45 44 29 3b 0a 09 09 42 4f 4f  ERLAPPED);...BOO
10290 4c 20 44 69 73 63 6f 6e 6e 65 63 74 4e 61 6d 65  L DisconnectName
102a0 64 50 69 70 65 28 48 41 4e 44 4c 45 29 3b 0a 09  dPipe(HANDLE);..
102b0 09 42 4f 4f 4c 20 44 75 70 6c 69 63 61 74 65 54  .BOOL DuplicateT
102c0 6f 6b 65 6e 28 48 41 4e 44 4c 45 2c 20 53 45 43  oken(HANDLE, SEC
102d0 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54  URITY_IMPERSONAT
102e0 49 4f 4e 5f 4c 45 56 45 4c 2c 20 50 48 41 4e 44  ION_LEVEL, PHAND
102f0 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 44 75 70 6c  LE);...BOOL Dupl
10300 69 63 61 74 65 54 6f 6b 65 6e 45 78 28 48 41 4e  icateTokenEx(HAN
10310 44 4c 45 2c 20 44 57 4f 52 44 2c 20 4c 50 53 45  DLE, DWORD, LPSE
10320 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45  CURITY_ATTRIBUTE
10330 53 2c 20 53 45 43 55 52 49 54 59 5f 49 4d 50 45  S, SECURITY_IMPE
10340 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 2c  RSONATION_LEVEL,
10350 20 54 4f 4b 45 4e 5f 54 59 50 45 2c 20 50 48 41   TOKEN_TYPE, PHA
10360 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 45 71  NDLE);...BOOL Eq
10370 75 61 6c 50 72 65 66 69 78 53 69 64 28 50 53 49  ualPrefixSid(PSI
10380 44 2c 20 50 53 49 44 29 3b 0a 09 09 42 4f 4f 4c  D, PSID);...BOOL
10390 20 45 71 75 61 6c 53 69 64 28 50 53 49 44 2c 20   EqualSid(PSID, 
103a0 50 53 49 44 29 3b 0a 09 09 44 57 4f 52 44 20 45  PSID);...DWORD E
103b0 72 61 73 65 54 61 70 65 28 48 41 4e 44 4c 45 2c  raseTape(HANDLE,
103c0 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0a 09   DWORD, BOOL);..
103d0 09 48 41 4e 44 4c 45 20 46 69 6e 64 46 69 72 73  .HANDLE FindFirs
103e0 74 46 69 6c 65 45 78 41 28 4c 50 43 53 54 52 2c  tFileExA(LPCSTR,
103f0 20 46 49 4e 44 45 58 5f 49 4e 46 4f 5f 4c 45 56   FINDEX_INFO_LEV
10400 45 4c 53 2c 20 50 56 4f 49 44 2c 20 46 49 4e 44  ELS, PVOID, FIND
10410 45 58 5f 53 45 41 52 43 48 5f 4f 50 53 2c 20 50  EX_SEARCH_OPS, P
10420 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09  VOID, DWORD);...
10430 48 41 4e 44 4c 45 20 46 69 6e 64 46 69 72 73 74  HANDLE FindFirst
10440 46 69 6c 65 45 78 57 28 4c 50 43 57 53 54 52 2c  FileExW(LPCWSTR,
10450 20 46 49 4e 44 45 58 5f 49 4e 46 4f 5f 4c 45 56   FINDEX_INFO_LEV
10460 45 4c 53 2c 20 50 56 4f 49 44 2c 20 46 49 4e 44  ELS, PVOID, FIND
10470 45 58 5f 53 45 41 52 43 48 5f 4f 50 53 2c 20 50  EX_SEARCH_OPS, P
10480 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09  VOID, DWORD);...
10490 42 4f 4f 4c 20 46 69 6e 64 46 69 72 73 74 46 72  BOOL FindFirstFr
104a0 65 65 41 63 65 28 50 41 43 4c 2c 20 50 56 4f 49  eeAce(PACL, PVOI
104b0 44 2a 29 3b 0a 09 09 50 56 4f 49 44 20 46 72 65  D*);...PVOID Fre
104c0 65 53 69 64 28 50 53 49 44 29 3b 0a 09 09 42 4f  eSid(PSID);...BO
104d0 4f 4c 20 47 65 74 41 63 65 28 50 41 43 4c 2c 20  OL GetAce(PACL, 
104e0 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2a 29 3b  DWORD, LPVOID*);
104f0 0a 09 09 42 4f 4f 4c 20 47 65 74 41 63 6c 49 6e  ...BOOL GetAclIn
10500 66 6f 72 6d 61 74 69 6f 6e 28 50 41 43 4c 2c 20  formation(PACL, 
10510 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 41 43  PVOID, DWORD, AC
10520 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c  L_INFORMATION_CL
10530 41 53 53 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74  ASS);...BOOL Get
10540 42 69 6e 61 72 79 54 79 70 65 41 28 4c 50 43 53  BinaryTypeA(LPCS
10550 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09 42  TR, PDWORD);...B
10560 4f 4f 4c 20 47 65 74 42 69 6e 61 72 79 54 79 70  OOL GetBinaryTyp
10570 65 57 28 4c 50 43 57 53 54 52 2c 20 50 44 57 4f  eW(LPCWSTR, PDWO
10580 52 44 29 3b 0a 09 09 44 57 4f 52 44 20 47 65 74  RD);...DWORD Get
10590 43 6f 6d 70 72 65 73 73 65 64 46 69 6c 65 53 69  CompressedFileSi
105a0 7a 65 41 28 4c 50 43 53 54 52 2c 20 50 44 57 4f  zeA(LPCSTR, PDWO
105b0 52 44 29 3b 0a 09 09 44 57 4f 52 44 20 47 65 74  RD);...DWORD Get
105c0 43 6f 6d 70 72 65 73 73 65 64 46 69 6c 65 53 69  CompressedFileSi
105d0 7a 65 57 28 4c 50 43 57 53 54 52 2c 20 50 44 57  zeW(LPCWSTR, PDW
105e0 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74  ORD);...BOOL Get
105f0 43 75 72 72 65 6e 74 48 77 50 72 6f 66 69 6c 65  CurrentHwProfile
10600 41 28 4c 50 48 57 5f 50 52 4f 46 49 4c 45 5f 49  A(LPHW_PROFILE_I
10610 4e 46 4f 41 29 3b 0a 09 09 42 4f 4f 4c 20 47 65  NFOA);...BOOL Ge
10620 74 43 75 72 72 65 6e 74 48 77 50 72 6f 66 69 6c  tCurrentHwProfil
10630 65 57 28 4c 50 48 57 5f 50 52 4f 46 49 4c 45 5f  eW(LPHW_PROFILE_
10640 49 4e 46 4f 57 29 3b 0a 09 09 42 4f 4f 4c 20 47  INFOW);...BOOL G
10650 65 74 46 69 6c 65 53 65 63 75 72 69 74 79 41 28  etFileSecurityA(
10660 4c 50 43 53 54 52 2c 20 53 45 43 55 52 49 54 59  LPCSTR, SECURITY
10670 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2c 20 50 53  _INFORMATION, PS
10680 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
10690 4f 52 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52  OR, DWORD, PDWOR
106a0 44 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74 46 69  D);...BOOL GetFi
106b0 6c 65 53 65 63 75 72 69 74 79 57 28 4c 50 43 57  leSecurityW(LPCW
106c0 53 54 52 2c 20 53 45 43 55 52 49 54 59 5f 49 4e  STR, SECURITY_IN
106d0 46 4f 52 4d 41 54 49 4f 4e 2c 20 50 53 45 43 55  FORMATION, PSECU
106e0 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2c  RITY_DESCRIPTOR,
106f0 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b   DWORD, PDWORD);
10700 0a 09 09 42 4f 4f 4c 20 47 65 74 48 61 6e 64 6c  ...BOOL GetHandl
10710 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 48 41 4e  eInformation(HAN
10720 44 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09  DLE, PDWORD);...
10730 42 4f 4f 4c 20 47 65 74 4b 65 72 6e 65 6c 4f 62  BOOL GetKernelOb
10740 6a 65 63 74 53 65 63 75 72 69 74 79 28 48 41 4e  jectSecurity(HAN
10750 44 4c 45 2c 20 53 45 43 55 52 49 54 59 5f 49 4e  DLE, SECURITY_IN
10760 46 4f 52 4d 41 54 49 4f 4e 2c 20 50 53 45 43 55  FORMATION, PSECU
10770 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2c  RITY_DESCRIPTOR,
10780 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b   DWORD, PDWORD);
10790 0a 09 09 44 57 4f 52 44 20 47 65 74 4c 65 6e 67  ...DWORD GetLeng
107a0 74 68 53 69 64 28 50 53 49 44 29 3b 0a 09 09 42  thSid(PSID);...B
107b0 4f 4f 4c 20 47 65 74 4e 75 6d 62 65 72 4f 66 45  OOL GetNumberOfE
107c0 76 65 6e 74 4c 6f 67 52 65 63 6f 72 64 73 28 48  ventLogRecords(H
107d0 41 4e 44 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a  ANDLE, PDWORD);.
107e0 09 09 42 4f 4f 4c 20 47 65 74 4f 6c 64 65 73 74  ..BOOL GetOldest
107f0 45 76 65 6e 74 4c 6f 67 52 65 63 6f 72 64 28 48  EventLogRecord(H
10800 41 4e 44 4c 45 2c 20 50 44 57 4f 52 44 29 3b 0a  ANDLE, PDWORD);.
10810 09 09 42 4f 4f 4c 20 47 65 74 50 72 69 76 61 74  ..BOOL GetPrivat
10820 65 4f 62 6a 65 63 74 53 65 63 75 72 69 74 79 28  eObjectSecurity(
10830 50 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49  PSECURITY_DESCRI
10840 50 54 4f 52 2c 20 53 45 43 55 52 49 54 59 5f 49  PTOR, SECURITY_I
10850 4e 46 4f 52 4d 41 54 49 4f 4e 2c 20 50 53 45 43  NFORMATION, PSEC
10860 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
10870 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29  , DWORD, PDWORD)
10880 3b 0a 09 09 42 4f 4f 4c 20 47 65 74 50 72 6f 63  ;...BOOL GetProc
10890 65 73 73 50 72 69 6f 72 69 74 79 42 6f 6f 73 74  essPriorityBoost
108a0 28 48 41 4e 44 4c 45 2c 20 50 42 4f 4f 4c 29 3b  (HANDLE, PBOOL);
108b0 0a 09 09 42 4f 4f 4c 20 47 65 74 50 72 6f 63 65  ...BOOL GetProce
108c0 73 73 53 68 75 74 64 6f 77 6e 50 61 72 61 6d 65  ssShutdownParame
108d0 74 65 72 73 28 50 44 57 4f 52 44 2c 20 50 44 57  ters(PDWORD, PDW
108e0 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74  ORD);...BOOL Get
108f0 50 72 6f 63 65 73 73 54 69 6d 65 73 28 48 41 4e  ProcessTimes(HAN
10900 44 4c 45 2c 20 4c 50 46 49 4c 45 54 49 4d 45 2c  DLE, LPFILETIME,
10910 20 4c 50 46 49 4c 45 54 49 4d 45 2c 20 4c 50 46   LPFILETIME, LPF
10920 49 4c 45 54 49 4d 45 2c 20 4c 50 46 49 4c 45 54  ILETIME, LPFILET
10930 49 4d 45 29 3b 0a 09 09 48 57 49 4e 53 54 41 20  IME);...HWINSTA 
10940 47 65 74 50 72 6f 63 65 73 73 57 69 6e 64 6f 77  GetProcessWindow
10950 53 74 61 74 69 6f 6e 28 29 3b 0a 09 09 42 4f 4f  Station();...BOO
10960 4c 20 47 65 74 50 72 6f 63 65 73 73 57 6f 72 6b  L GetProcessWork
10970 69 6e 67 53 65 74 53 69 7a 65 28 48 41 4e 44 4c  ingSetSize(HANDL
10980 45 2c 20 50 53 49 5a 45 5f 54 2c 20 50 53 49 5a  E, PSIZE_T, PSIZ
10990 45 5f 54 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74  E_T);...BOOL Get
109a0 51 75 65 75 65 64 43 6f 6d 70 6c 65 74 69 6f 6e  QueuedCompletion
109b0 53 74 61 74 75 73 28 48 41 4e 44 4c 45 2c 20 50  Status(HANDLE, P
109c0 44 57 4f 52 44 2c 20 50 55 4c 4f 4e 47 5f 50 54  DWORD, PULONG_PT
109d0 52 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44 2a  R, LPOVERLAPPED*
109e0 2c 20 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c  , DWORD);...BOOL
109f0 20 47 65 74 53 65 63 75 72 69 74 79 44 65 73 63   GetSecurityDesc
10a00 72 69 70 74 6f 72 43 6f 6e 74 72 6f 6c 28 50 53  riptorControl(PS
10a10 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
10a20 4f 52 2c 20 50 53 45 43 55 52 49 54 59 5f 44 45  OR, PSECURITY_DE
10a30 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c  SCRIPTOR_CONTROL
10a40 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f  , PDWORD);...BOO
10a50 4c 20 47 65 74 53 65 63 75 72 69 74 79 44 65 73  L GetSecurityDes
10a60 63 72 69 70 74 6f 72 44 61 63 6c 28 50 53 45 43  criptorDacl(PSEC
10a70 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
10a80 2c 20 4c 50 42 4f 4f 4c 2c 20 50 41 43 4c 2a 2c  , LPBOOL, PACL*,
10a90 20 4c 50 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c   LPBOOL);...BOOL
10aa0 20 47 65 74 53 65 63 75 72 69 74 79 44 65 73 63   GetSecurityDesc
10ab0 72 69 70 74 6f 72 47 72 6f 75 70 28 50 53 45 43  riptorGroup(PSEC
10ac0 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
10ad0 2c 20 50 53 49 44 2a 2c 20 4c 50 42 4f 4f 4c 29  , PSID*, LPBOOL)
10ae0 3b 0a 09 09 44 57 4f 52 44 20 47 65 74 53 65 63  ;...DWORD GetSec
10af0 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72 4c  urityDescriptorL
10b00 65 6e 67 74 68 28 50 53 45 43 55 52 49 54 59 5f  ength(PSECURITY_
10b10 44 45 53 43 52 49 50 54 4f 52 29 3b 0a 09 09 42  DESCRIPTOR);...B
10b20 4f 4f 4c 20 47 65 74 53 65 63 75 72 69 74 79 44  OOL GetSecurityD
10b30 65 73 63 72 69 70 74 6f 72 4f 77 6e 65 72 28 50  escriptorOwner(P
10b40 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
10b50 54 4f 52 2c 20 50 53 49 44 2a 2c 20 4c 50 42 4f  TOR, PSID*, LPBO
10b60 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 47 65 74 53  OL);...BOOL GetS
10b70 65 63 75 72 69 74 79 44 65 73 63 72 69 70 74 6f  ecurityDescripto
10b80 72 53 61 63 6c 28 50 53 45 43 55 52 49 54 59 5f  rSacl(PSECURITY_
10b90 44 45 53 43 52 49 50 54 4f 52 2c 20 4c 50 42 4f  DESCRIPTOR, LPBO
10ba0 4f 4c 2c 20 50 41 43 4c 2a 2c 20 4c 50 42 4f 4f  OL, PACL*, LPBOO
10bb0 4c 29 3b 0a 09 09 50 53 49 44 5f 49 44 45 4e 54  L);...PSID_IDENT
10bc0 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59 20  IFIER_AUTHORITY 
10bd0 47 65 74 53 69 64 49 64 65 6e 74 69 66 69 65 72  GetSidIdentifier
10be0 41 75 74 68 6f 72 69 74 79 28 50 53 49 44 29 3b  Authority(PSID);
10bf0 0a 09 09 44 57 4f 52 44 20 47 65 74 53 69 64 4c  ...DWORD GetSidL
10c00 65 6e 67 74 68 52 65 71 75 69 72 65 64 28 55 43  engthRequired(UC
10c10 48 41 52 29 3b 0a 09 09 50 44 57 4f 52 44 20 47  HAR);...PDWORD G
10c20 65 74 53 69 64 53 75 62 41 75 74 68 6f 72 69 74  etSidSubAuthorit
10c30 79 28 50 53 49 44 2c 20 44 57 4f 52 44 29 3b 0a  y(PSID, DWORD);.
10c40 09 09 50 55 43 48 41 52 20 47 65 74 53 69 64 53  ..PUCHAR GetSidS
10c50 75 62 41 75 74 68 6f 72 69 74 79 43 6f 75 6e 74  ubAuthorityCount
10c60 28 50 53 49 44 29 3b 0a 09 09 44 57 4f 52 44 20  (PSID);...DWORD 
10c70 47 65 74 54 61 70 65 50 61 72 61 6d 65 74 65 72  GetTapeParameter
10c80 73 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c  s(HANDLE, DWORD,
10c90 20 50 44 57 4f 52 44 2c 20 50 56 4f 49 44 29 3b   PDWORD, PVOID);
10ca0 0a 09 09 44 57 4f 52 44 20 47 65 74 54 61 70 65  ...DWORD GetTape
10cb0 50 6f 73 69 74 69 6f 6e 28 48 41 4e 44 4c 45 2c  Position(HANDLE,
10cc0 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20   DWORD, PDWORD, 
10cd0 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b  PDWORD, PDWORD);
10ce0 0a 09 09 44 57 4f 52 44 20 47 65 74 54 61 70 65  ...DWORD GetTape
10cf0 53 74 61 74 75 73 28 48 41 4e 44 4c 45 29 3b 0a  Status(HANDLE);.
10d00 09 09 42 4f 4f 4c 20 47 65 74 54 68 72 65 61 64  ..BOOL GetThread
10d10 50 72 69 6f 72 69 74 79 42 6f 6f 73 74 28 48 41  PriorityBoost(HA
10d20 4e 44 4c 45 2c 20 50 42 4f 4f 4c 29 3b 0a 09 09  NDLE, PBOOL);...
10d30 42 4f 4f 4c 20 47 65 74 54 68 72 65 61 64 54 69  BOOL GetThreadTi
10d40 6d 65 73 28 48 41 4e 44 4c 45 2c 20 4c 50 46 49  mes(HANDLE, LPFI
10d50 4c 45 54 49 4d 45 2c 20 4c 50 46 49 4c 45 54 49  LETIME, LPFILETI
10d60 4d 45 2c 20 4c 50 46 49 4c 45 54 49 4d 45 2c 20  ME, LPFILETIME, 
10d70 4c 50 46 49 4c 45 54 49 4d 45 29 3b 0a 09 09 42  LPFILETIME);...B
10d80 4f 4f 4c 20 47 65 74 54 6f 6b 65 6e 49 6e 66 6f  OOL GetTokenInfo
10d90 72 6d 61 74 69 6f 6e 28 48 41 4e 44 4c 45 2c 20  rmation(HANDLE, 
10da0 54 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f  TOKEN_INFORMATIO
10db0 4e 5f 43 4c 41 53 53 2c 20 50 56 4f 49 44 2c 20  N_CLASS, PVOID, 
10dc0 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a  DWORD, PDWORD);.
10dd0 09 09 42 4f 4f 4c 20 49 6d 70 65 72 73 6f 6e 61  ..BOOL Impersona
10de0 74 65 4c 6f 67 67 65 64 4f 6e 55 73 65 72 28 48  teLoggedOnUser(H
10df0 41 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 49  ANDLE);...BOOL I
10e00 6d 70 65 72 73 6f 6e 61 74 65 4e 61 6d 65 64 50  mpersonateNamedP
10e10 69 70 65 43 6c 69 65 6e 74 28 48 41 4e 44 4c 45  ipeClient(HANDLE
10e20 29 3b 0a 09 09 42 4f 4f 4c 20 49 6d 70 65 72 73  );...BOOL Impers
10e30 6f 6e 61 74 65 53 65 6c 66 28 53 45 43 55 52 49  onateSelf(SECURI
10e40 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e  TY_IMPERSONATION
10e50 5f 4c 45 56 45 4c 29 3b 0a 09 09 42 4f 4f 4c 20  _LEVEL);...BOOL 
10e60 49 6e 69 74 69 61 6c 69 7a 65 41 63 6c 28 50 41  InitializeAcl(PA
10e70 43 4c 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  CL, DWORD, DWORD
10e80 29 3b 0a 09 09 44 57 4f 52 44 20 53 65 74 43 72  );...DWORD SetCr
10e90 69 74 69 63 61 6c 53 65 63 74 69 6f 6e 53 70 69  iticalSectionSpi
10ea0 6e 43 6f 75 6e 74 28 4c 50 43 52 49 54 49 43 41  nCount(LPCRITICA
10eb0 4c 5f 53 45 43 54 49 4f 4e 2c 20 44 57 4f 52 44  L_SECTION, DWORD
10ec0 29 3b 0a 09 09 42 4f 4f 4c 20 49 6e 69 74 69 61  );...BOOL Initia
10ed0 6c 69 7a 65 53 65 63 75 72 69 74 79 44 65 73 63  lizeSecurityDesc
10ee0 72 69 70 74 6f 72 28 50 53 45 43 55 52 49 54 59  riptor(PSECURITY
10ef0 5f 44 45 53 43 52 49 50 54 4f 52 2c 20 44 57 4f  _DESCRIPTOR, DWO
10f00 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 49 6e 69 74  RD);...BOOL Init
10f10 69 61 6c 69 7a 65 53 69 64 28 50 53 49 44 2c 20  ializeSid(PSID, 
10f20 50 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f  PSID_IDENTIFIER_
10f30 41 55 54 48 4f 52 49 54 59 2c 20 42 59 54 45 29  AUTHORITY, BYTE)
10f40 3b 0a 09 09 42 4f 4f 4c 20 49 73 50 72 6f 63 65  ;...BOOL IsProce
10f50 73 73 6f 72 46 65 61 74 75 72 65 50 72 65 73 65  ssorFeaturePrese
10f60 6e 74 28 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f  nt(DWORD);...BOO
10f70 4c 20 49 73 54 65 78 74 55 6e 69 63 6f 64 65 28  L IsTextUnicode(
10f80 50 43 56 4f 49 44 2c 20 69 6e 74 2c 20 4c 50 49  PCVOID, int, LPI
10f90 4e 54 29 3b 0a 09 09 42 4f 4f 4c 20 49 73 56 61  NT);...BOOL IsVa
10fa0 6c 69 64 41 63 6c 28 50 41 43 4c 29 3b 0a 09 09  lidAcl(PACL);...
10fb0 42 4f 4f 4c 20 49 73 56 61 6c 69 64 53 65 63 75  BOOL IsValidSecu
10fc0 72 69 74 79 44 65 73 63 72 69 70 74 6f 72 28 50  rityDescriptor(P
10fd0 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
10fe0 54 4f 52 29 3b 0a 09 09 42 4f 4f 4c 20 49 73 56  TOR);...BOOL IsV
10ff0 61 6c 69 64 53 69 64 28 50 53 49 44 29 3b 0a 09  alidSid(PSID);..
11000 09 42 4f 4f 4c 20 4c 6f 63 6b 46 69 6c 65 45 78  .BOOL LockFileEx
11010 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20  (HANDLE, DWORD, 
11020 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57  DWORD, DWORD, DW
11030 4f 52 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45  ORD, LPOVERLAPPE
11040 44 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 67 6f 6e  D);...BOOL Logon
11050 55 73 65 72 41 28 4c 50 53 54 52 2c 20 4c 50 53  UserA(LPSTR, LPS
11060 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44  TR, LPSTR, DWORD
11070 2c 20 44 57 4f 52 44 2c 20 50 48 41 4e 44 4c 45  , DWORD, PHANDLE
11080 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 67 6f 6e 55  );...BOOL LogonU
11090 73 65 72 57 28 4c 50 57 53 54 52 2c 20 4c 50 57  serW(LPWSTR, LPW
110a0 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f  STR, LPWSTR, DWO
110b0 52 44 2c 20 44 57 4f 52 44 2c 20 50 48 41 4e 44  RD, DWORD, PHAND
110c0 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 6f 6b  LE);...BOOL Look
110d0 75 70 41 63 63 6f 75 6e 74 4e 61 6d 65 41 28 4c  upAccountNameA(L
110e0 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 50  PCSTR, LPCSTR, P
110f0 53 49 44 2c 20 50 44 57 4f 52 44 2c 20 4c 50 53  SID, PDWORD, LPS
11100 54 52 2c 20 50 44 57 4f 52 44 2c 20 50 53 49 44  TR, PDWORD, PSID
11110 5f 4e 41 4d 45 5f 55 53 45 29 3b 0a 09 09 42 4f  _NAME_USE);...BO
11120 4f 4c 20 4c 6f 6f 6b 75 70 41 63 63 6f 75 6e 74  OL LookupAccount
11130 4e 61 6d 65 57 28 4c 50 43 57 53 54 52 2c 20 4c  NameW(LPCWSTR, L
11140 50 43 57 53 54 52 2c 20 50 53 49 44 2c 20 50 44  PCWSTR, PSID, PD
11150 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 50 44  WORD, LPWSTR, PD
11160 57 4f 52 44 2c 20 50 53 49 44 5f 4e 41 4d 45 5f  WORD, PSID_NAME_
11170 55 53 45 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 6f  USE);...BOOL Loo
11180 6b 75 70 41 63 63 6f 75 6e 74 53 69 64 41 28 4c  kupAccountSidA(L
11190 50 43 53 54 52 2c 20 50 53 49 44 2c 20 4c 50 53  PCSTR, PSID, LPS
111a0 54 52 2c 20 50 44 57 4f 52 44 2c 20 4c 50 53 54  TR, PDWORD, LPST
111b0 52 2c 20 50 44 57 4f 52 44 2c 20 50 53 49 44 5f  R, PDWORD, PSID_
111c0 4e 41 4d 45 5f 55 53 45 29 3b 0a 09 09 42 4f 4f  NAME_USE);...BOO
111d0 4c 20 4c 6f 6f 6b 75 70 41 63 63 6f 75 6e 74 53  L LookupAccountS
111e0 69 64 57 28 4c 50 43 57 53 54 52 2c 20 50 53 49  idW(LPCWSTR, PSI
111f0 44 2c 20 4c 50 57 53 54 52 2c 20 50 44 57 4f 52  D, LPWSTR, PDWOR
11200 44 2c 20 4c 50 57 53 54 52 2c 20 50 44 57 4f 52  D, LPWSTR, PDWOR
11210 44 2c 20 50 53 49 44 5f 4e 41 4d 45 5f 55 53 45  D, PSID_NAME_USE
11220 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 6f 6b 75 70  );...BOOL Lookup
11230 50 72 69 76 69 6c 65 67 65 44 69 73 70 6c 61 79  PrivilegeDisplay
11240 4e 61 6d 65 41 28 4c 50 43 53 54 52 2c 20 4c 50  NameA(LPCSTR, LP
11250 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 50 44 57  CSTR, LPSTR, PDW
11260 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09  ORD, PDWORD);...
11270 42 4f 4f 4c 20 4c 6f 6f 6b 75 70 50 72 69 76 69  BOOL LookupPrivi
11280 6c 65 67 65 44 69 73 70 6c 61 79 4e 61 6d 65 57  legeDisplayNameW
11290 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54  (LPCWSTR, LPCWST
112a0 52 2c 20 4c 50 57 53 54 52 2c 20 50 44 57 4f 52  R, LPWSTR, PDWOR
112b0 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09 42 4f  D, PDWORD);...BO
112c0 4f 4c 20 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65  OL LookupPrivile
112d0 67 65 4e 61 6d 65 41 28 4c 50 43 53 54 52 2c 20  geNameA(LPCSTR, 
112e0 50 4c 55 49 44 2c 20 4c 50 53 54 52 2c 20 50 44  PLUID, LPSTR, PD
112f0 57 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f  WORD);...BOOL Lo
11300 6f 6b 75 70 50 72 69 76 69 6c 65 67 65 4e 61 6d  okupPrivilegeNam
11310 65 57 28 4c 50 43 57 53 54 52 2c 20 50 4c 55 49  eW(LPCWSTR, PLUI
11320 44 2c 20 4c 50 57 53 54 52 2c 20 50 44 57 4f 52  D, LPWSTR, PDWOR
11330 44 29 3b 0a 09 09 42 4f 4f 4c 20 4c 6f 6f 6b 75  D);...BOOL Looku
11340 70 50 72 69 76 69 6c 65 67 65 56 61 6c 75 65 41  pPrivilegeValueA
11350 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c  (LPCSTR, LPCSTR,
11360 20 50 4c 55 49 44 29 3b 0a 09 09 42 4f 4f 4c 20   PLUID);...BOOL 
11370 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65 67 65 56  LookupPrivilegeV
11380 61 6c 75 65 57 28 4c 50 43 57 53 54 52 2c 20 4c  alueW(LPCWSTR, L
11390 50 43 57 53 54 52 2c 20 50 4c 55 49 44 29 3b 0a  PCWSTR, PLUID);.
113a0 09 09 42 4f 4f 4c 20 4d 61 6b 65 41 62 73 6f 6c  ..BOOL MakeAbsol
113b0 75 74 65 53 44 28 50 53 45 43 55 52 49 54 59 5f  uteSD(PSECURITY_
113c0 44 45 53 43 52 49 50 54 4f 52 2c 20 50 53 45 43  DESCRIPTOR, PSEC
113d0 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
113e0 2c 20 50 44 57 4f 52 44 2c 20 50 41 43 4c 2c 20  , PDWORD, PACL, 
113f0 50 44 57 4f 52 44 2c 20 50 41 43 4c 2c 20 50 44  PDWORD, PACL, PD
11400 57 4f 52 44 2c 20 50 53 49 44 2c 20 50 44 57 4f  WORD, PSID, PDWO
11410 52 44 2c 20 50 53 49 44 2c 20 50 44 57 4f 52 44  RD, PSID, PDWORD
11420 29 3b 0a 09 09 42 4f 4f 4c 20 4d 61 6b 65 53 65  );...BOOL MakeSe
11430 6c 66 52 65 6c 61 74 69 76 65 53 44 28 50 53 45  lfRelativeSD(PSE
11440 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f  CURITY_DESCRIPTO
11450 52 2c 20 50 53 45 43 55 52 49 54 59 5f 44 45 53  R, PSECURITY_DES
11460 43 52 49 50 54 4f 52 2c 20 50 44 57 4f 52 44 29  CRIPTOR, PDWORD)
11470 3b 0a 09 09 56 4f 49 44 20 4d 61 70 47 65 6e 65  ;...VOID MapGene
11480 72 69 63 4d 61 73 6b 28 50 44 57 4f 52 44 2c 20  ricMask(PDWORD, 
11490 50 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47  PGENERIC_MAPPING
114a0 29 3b 0a 09 09 42 4f 4f 4c 20 4d 6f 76 65 46 69  );...BOOL MoveFi
114b0 6c 65 45 78 41 28 4c 50 43 53 54 52 2c 20 4c 50  leExA(LPCSTR, LP
114c0 43 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09  CSTR, DWORD);...
114d0 42 4f 4f 4c 20 4d 6f 76 65 46 69 6c 65 45 78 57  BOOL MoveFileExW
114e0 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54  (LPCWSTR, LPCWST
114f0 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09 42 4f 4f  R, DWORD);...BOO
11500 4c 20 4e 6f 74 69 66 79 43 68 61 6e 67 65 45 76  L NotifyChangeEv
11510 65 6e 74 4c 6f 67 28 48 41 4e 44 4c 45 2c 20 48  entLog(HANDLE, H
11520 41 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20 4f  ANDLE);...BOOL O
11530 62 6a 65 63 74 43 6c 6f 73 65 41 75 64 69 74 41  bjectCloseAuditA
11540 6c 61 72 6d 41 28 4c 50 43 53 54 52 2c 20 50 56  larmA(LPCSTR, PV
11550 4f 49 44 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f  OID, BOOL);...BO
11560 4f 4c 20 4f 62 6a 65 63 74 43 6c 6f 73 65 41 75  OL ObjectCloseAu
11570 64 69 74 41 6c 61 72 6d 57 28 4c 50 43 57 53 54  ditAlarmW(LPCWST
11580 52 2c 20 50 56 4f 49 44 2c 20 42 4f 4f 4c 29 3b  R, PVOID, BOOL);
11590 0a 09 09 42 4f 4f 4c 20 4f 62 6a 65 63 74 44 65  ...BOOL ObjectDe
115a0 6c 65 74 65 41 75 64 69 74 41 6c 61 72 6d 41 28  leteAuditAlarmA(
115b0 4c 50 43 53 54 52 2c 20 50 56 4f 49 44 2c 20 42  LPCSTR, PVOID, B
115c0 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 4f 62 6a  OOL);...BOOL Obj
115d0 65 63 74 44 65 6c 65 74 65 41 75 64 69 74 41 6c  ectDeleteAuditAl
115e0 61 72 6d 57 28 4c 50 43 57 53 54 52 2c 20 50 56  armW(LPCWSTR, PV
115f0 4f 49 44 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f  OID, BOOL);...BO
11600 4f 4c 20 4f 62 6a 65 63 74 4f 70 65 6e 41 75 64  OL ObjectOpenAud
11610 69 74 41 6c 61 72 6d 41 28 4c 50 43 53 54 52 2c  itAlarmA(LPCSTR,
11620 20 50 56 4f 49 44 2c 20 4c 50 53 54 52 2c 20 4c   PVOID, LPSTR, L
11630 50 53 54 52 2c 20 50 53 45 43 55 52 49 54 59 5f  PSTR, PSECURITY_
11640 44 45 53 43 52 49 50 54 4f 52 2c 20 48 41 4e 44  DESCRIPTOR, HAND
11650 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  LE, DWORD, DWORD
11660 2c 20 50 50 52 49 56 49 4c 45 47 45 5f 53 45 54  , PPRIVILEGE_SET
11670 2c 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20 50 42  , BOOL, BOOL, PB
11680 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 4f 62 6a  OOL);...BOOL Obj
11690 65 63 74 4f 70 65 6e 41 75 64 69 74 41 6c 61 72  ectOpenAuditAlar
116a0 6d 57 28 4c 50 43 57 53 54 52 2c 20 50 56 4f 49  mW(LPCWSTR, PVOI
116b0 44 2c 20 4c 50 57 53 54 52 2c 20 4c 50 57 53 54  D, LPWSTR, LPWST
116c0 52 2c 20 50 53 45 43 55 52 49 54 59 5f 44 45 53  R, PSECURITY_DES
116d0 43 52 49 50 54 4f 52 2c 20 48 41 4e 44 4c 45 2c  CRIPTOR, HANDLE,
116e0 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50   DWORD, DWORD, P
116f0 50 52 49 56 49 4c 45 47 45 5f 53 45 54 2c 20 42  PRIVILEGE_SET, B
11700 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20 50 42 4f 4f 4c  OOL, BOOL, PBOOL
11710 29 3b 0a 09 09 42 4f 4f 4c 20 4f 62 6a 65 63 74  );...BOOL Object
11720 50 72 69 76 69 6c 65 67 65 41 75 64 69 74 41 6c  PrivilegeAuditAl
11730 61 72 6d 41 28 4c 50 43 53 54 52 2c 20 50 56 4f  armA(LPCSTR, PVO
11740 49 44 2c 20 48 41 4e 44 4c 45 2c 20 44 57 4f 52  ID, HANDLE, DWOR
11750 44 2c 20 50 50 52 49 56 49 4c 45 47 45 5f 53 45  D, PPRIVILEGE_SE
11760 54 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c  T, BOOL);...BOOL
11770 20 4f 62 6a 65 63 74 50 72 69 76 69 6c 65 67 65   ObjectPrivilege
11780 41 75 64 69 74 41 6c 61 72 6d 57 28 4c 50 43 57  AuditAlarmW(LPCW
11790 53 54 52 2c 20 50 56 4f 49 44 2c 20 48 41 4e 44  STR, PVOID, HAND
117a0 4c 45 2c 20 44 57 4f 52 44 2c 20 50 50 52 49 56  LE, DWORD, PPRIV
117b0 49 4c 45 47 45 5f 53 45 54 2c 20 42 4f 4f 4c 29  ILEGE_SET, BOOL)
117c0 3b 0a 09 09 48 41 4e 44 4c 45 20 4f 70 65 6e 42  ;...HANDLE OpenB
117d0 61 63 6b 75 70 45 76 65 6e 74 4c 6f 67 41 28 4c  ackupEventLogA(L
117e0 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a  PCSTR, LPCSTR);.
117f0 09 09 48 41 4e 44 4c 45 20 4f 70 65 6e 42 61 63  ..HANDLE OpenBac
11800 6b 75 70 45 76 65 6e 74 4c 6f 67 57 28 4c 50 43  kupEventLogW(LPC
11810 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a  WSTR, LPCWSTR);.
11820 09 09 48 41 4e 44 4c 45 20 4f 70 65 6e 45 76 65  ..HANDLE OpenEve
11830 6e 74 4c 6f 67 41 28 4c 50 43 53 54 52 2c 20 4c  ntLogA(LPCSTR, L
11840 50 43 53 54 52 29 3b 0a 09 09 48 41 4e 44 4c 45  PCSTR);...HANDLE
11850 20 4f 70 65 6e 45 76 65 6e 74 4c 6f 67 57 28 4c   OpenEventLogW(L
11860 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29  PCWSTR, LPCWSTR)
11870 3b 0a 09 09 42 4f 4f 4c 20 4f 70 65 6e 50 72 6f  ;...BOOL OpenPro
11880 63 65 73 73 54 6f 6b 65 6e 28 48 41 4e 44 4c 45  cessToken(HANDLE
11890 2c 20 44 57 4f 52 44 2c 20 50 48 41 4e 44 4c 45  , DWORD, PHANDLE
118a0 29 3b 0a 09 09 42 4f 4f 4c 20 4f 70 65 6e 54 68  );...BOOL OpenTh
118b0 72 65 61 64 54 6f 6b 65 6e 28 48 41 4e 44 4c 45  readToken(HANDLE
118c0 2c 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 50  , DWORD, BOOL, P
118d0 48 41 4e 44 4c 45 29 3b 0a 09 09 42 4f 4f 4c 20  HANDLE);...BOOL 
118e0 50 6f 73 74 51 75 65 75 65 64 43 6f 6d 70 6c 65  PostQueuedComple
118f0 74 69 6f 6e 53 74 61 74 75 73 28 48 41 4e 44 4c  tionStatus(HANDL
11900 45 2c 20 44 57 4f 52 44 2c 20 55 4c 4f 4e 47 5f  E, DWORD, ULONG_
11910 50 54 52 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45  PTR, LPOVERLAPPE
11920 44 29 3b 0a 09 09 44 57 4f 52 44 20 50 72 65 70  D);...DWORD Prep
11930 61 72 65 54 61 70 65 28 48 41 4e 44 4c 45 2c 20  areTape(HANDLE, 
11940 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0a 09 09  DWORD, BOOL);...
11950 42 4f 4f 4c 20 50 72 69 76 69 6c 65 67 65 43 68  BOOL PrivilegeCh
11960 65 63 6b 28 48 41 4e 44 4c 45 2c 20 50 50 52 49  eck(HANDLE, PPRI
11970 56 49 4c 45 47 45 5f 53 45 54 2c 20 50 42 4f 4f  VILEGE_SET, PBOO
11980 4c 29 3b 0a 09 09 42 4f 4f 4c 20 50 72 69 76 69  L);...BOOL Privi
11990 6c 65 67 65 64 53 65 72 76 69 63 65 41 75 64 69  legedServiceAudi
119a0 74 41 6c 61 72 6d 41 28 4c 50 43 53 54 52 2c 20  tAlarmA(LPCSTR, 
119b0 4c 50 43 53 54 52 2c 20 48 41 4e 44 4c 45 2c 20  LPCSTR, HANDLE, 
119c0 50 50 52 49 56 49 4c 45 47 45 5f 53 45 54 2c 20  PPRIVILEGE_SET, 
119d0 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 50 72  BOOL);...BOOL Pr
119e0 69 76 69 6c 65 67 65 64 53 65 72 76 69 63 65 41  ivilegedServiceA
119f0 75 64 69 74 41 6c 61 72 6d 57 28 4c 50 43 57 53  uditAlarmW(LPCWS
11a00 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 48 41 4e  TR, LPCWSTR, HAN
11a10 44 4c 45 2c 20 50 50 52 49 56 49 4c 45 47 45 5f  DLE, PPRIVILEGE_
11a20 53 45 54 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f  SET, BOOL);...BO
11a30 4f 4c 20 52 65 61 64 44 69 72 65 63 74 6f 72 79  OL ReadDirectory
11a40 43 68 61 6e 67 65 73 57 28 48 41 4e 44 4c 45 2c  ChangesW(HANDLE,
11a50 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 42   PVOID, DWORD, B
11a60 4f 4f 4c 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f  OOL, DWORD, PDWO
11a70 52 44 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44  RD, LPOVERLAPPED
11a80 2c 20 4c 50 4f 56 45 52 4c 41 50 50 45 44 5f 43  , LPOVERLAPPED_C
11a90 4f 4d 50 4c 45 54 49 4f 4e 5f 52 4f 55 54 49 4e  OMPLETION_ROUTIN
11aa0 45 29 3b 0a 09 09 42 4f 4f 4c 20 52 65 61 64 45  E);...BOOL ReadE
11ab0 76 65 6e 74 4c 6f 67 41 28 48 41 4e 44 4c 45 2c  ventLogA(HANDLE,
11ac0 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50   DWORD, DWORD, P
11ad0 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f  VOID, DWORD, DWO
11ae0 52 44 2a 2c 20 44 57 4f 52 44 2a 29 3b 0a 09 09  RD*, DWORD*);...
11af0 42 4f 4f 4c 20 52 65 61 64 45 76 65 6e 74 4c 6f  BOOL ReadEventLo
11b00 67 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44  gW(HANDLE, DWORD
11b10 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20  , DWORD, PVOID, 
11b20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2a 2c 20 44  DWORD, DWORD*, D
11b30 57 4f 52 44 2a 29 3b 0a 09 09 42 4f 4f 4c 20 52  WORD*);...BOOL R
11b40 65 61 64 46 69 6c 65 53 63 61 74 74 65 72 28 48  eadFileScatter(H
11b50 41 4e 44 4c 45 2c 20 46 49 4c 45 5f 53 45 47 4d  ANDLE, FILE_SEGM
11b60 45 4e 54 5f 45 4c 45 4d 45 4e 54 2a 2c 20 44 57  ENT_ELEMENT*, DW
11b70 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50  ORD, LPDWORD, LP
11b80 4f 56 45 52 4c 41 50 50 45 44 29 3b 0a 09 09 48  OVERLAPPED);...H
11b90 41 4e 44 4c 45 20 52 65 67 69 73 74 65 72 45 76  ANDLE RegisterEv
11ba0 65 6e 74 53 6f 75 72 63 65 41 20 28 4c 50 43 53  entSourceA (LPCS
11bb0 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a 09 09 48  TR, LPCSTR);...H
11bc0 41 4e 44 4c 45 20 52 65 67 69 73 74 65 72 45 76  ANDLE RegisterEv
11bd0 65 6e 74 53 6f 75 72 63 65 57 28 4c 50 43 57 53  entSourceW(LPCWS
11be0 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 09  TR, LPCWSTR);...
11bf0 42 4f 4f 4c 20 52 65 70 6f 72 74 45 76 65 6e 74  BOOL ReportEvent
11c00 41 28 48 41 4e 44 4c 45 2c 20 57 4f 52 44 2c 20  A(HANDLE, WORD, 
11c10 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 53 49  WORD, DWORD, PSI
11c20 44 2c 20 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  D, WORD, DWORD, 
11c30 4c 50 43 53 54 52 2a 2c 20 50 56 4f 49 44 29 3b  LPCSTR*, PVOID);
11c40 0a 09 09 42 4f 4f 4c 20 52 65 70 6f 72 74 45 76  ...BOOL ReportEv
11c50 65 6e 74 57 28 48 41 4e 44 4c 45 2c 20 57 4f 52  entW(HANDLE, WOR
11c60 44 2c 20 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  D, WORD, DWORD, 
11c70 50 53 49 44 2c 20 57 4f 52 44 2c 20 44 57 4f 52  PSID, WORD, DWOR
11c80 44 2c 20 4c 50 43 57 53 54 52 2a 2c 20 50 56 4f  D, LPCWSTR*, PVO
11c90 49 44 29 3b 0a 09 09 42 4f 4f 4c 20 52 65 76 65  ID);...BOOL Reve
11ca0 72 74 54 6f 53 65 6c 66 28 29 3b 0a 09 09 42 4f  rtToSelf();...BO
11cb0 4f 4c 20 53 65 74 41 63 6c 49 6e 66 6f 72 6d 61  OL SetAclInforma
11cc0 74 69 6f 6e 28 50 41 43 4c 2c 20 50 56 4f 49 44  tion(PACL, PVOID
11cd0 2c 20 44 57 4f 52 44 2c 20 41 43 4c 5f 49 4e 46  , DWORD, ACL_INF
11ce0 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 29 3b  ORMATION_CLASS);
11cf0 0a 09 09 42 4f 4f 4c 20 53 65 74 46 69 6c 65 53  ...BOOL SetFileS
11d00 65 63 75 72 69 74 79 41 28 4c 50 43 53 54 52 2c  ecurityA(LPCSTR,
11d10 20 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d   SECURITY_INFORM
11d20 41 54 49 4f 4e 2c 20 50 53 45 43 55 52 49 54 59  ATION, PSECURITY
11d30 5f 44 45 53 43 52 49 50 54 4f 52 29 3b 0a 09 09  _DESCRIPTOR);...
11d40 42 4f 4f 4c 20 53 65 74 46 69 6c 65 53 65 63 75  BOOL SetFileSecu
11d50 72 69 74 79 57 28 4c 50 43 57 53 54 52 2c 20 53  rityW(LPCWSTR, S
11d60 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54  ECURITY_INFORMAT
11d70 49 4f 4e 2c 20 50 53 45 43 55 52 49 54 59 5f 44  ION, PSECURITY_D
11d80 45 53 43 52 49 50 54 4f 52 29 3b 0a 09 09 42 4f  ESCRIPTOR);...BO
11d90 4f 4c 20 53 65 74 48 61 6e 64 6c 65 49 6e 66 6f  OL SetHandleInfo
11da0 72 6d 61 74 69 6f 6e 28 48 41 4e 44 4c 45 2c 20  rmation(HANDLE, 
11db0 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09  DWORD, DWORD);..
11dc0 09 42 4f 4f 4c 20 53 65 74 4b 65 72 6e 65 6c 4f  .BOOL SetKernelO
11dd0 62 6a 65 63 74 53 65 63 75 72 69 74 79 28 48 41  bjectSecurity(HA
11de0 4e 44 4c 45 2c 20 53 45 43 55 52 49 54 59 5f 49  NDLE, SECURITY_I
11df0 4e 46 4f 52 4d 41 54 49 4f 4e 2c 20 50 53 45 43  NFORMATION, PSEC
11e00 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
11e10 29 3b 0a 09 09 42 4f 4f 4c 20 53 65 74 50 72 69  );...BOOL SetPri
11e20 76 61 74 65 4f 62 6a 65 63 74 53 65 63 75 72 69  vateObjectSecuri
11e30 74 79 28 53 45 43 55 52 49 54 59 5f 49 4e 46 4f  ty(SECURITY_INFO
11e40 52 4d 41 54 49 4f 4e 2c 20 50 53 45 43 55 52 49  RMATION, PSECURI
11e50 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2c 20 50  TY_DESCRIPTOR, P
11e60 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
11e70 54 4f 52 2a 20 2c 20 50 47 45 4e 45 52 49 43 5f  TOR* , PGENERIC_
11e80 4d 41 50 50 49 4e 47 2c 20 48 41 4e 44 4c 45 29  MAPPING, HANDLE)
11e90 3b 0a 09 09 42 4f 4f 4c 20 53 65 74 50 72 6f 63  ;...BOOL SetProc
11ea0 65 73 73 41 66 66 69 6e 69 74 79 4d 61 73 6b 28  essAffinityMask(
11eb0 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a  HANDLE, DWORD);.
11ec0 09 09 42 4f 4f 4c 20 53 65 74 50 72 6f 63 65 73  ..BOOL SetProces
11ed0 73 50 72 69 6f 72 69 74 79 42 6f 6f 73 74 28 48  sPriorityBoost(H
11ee0 41 4e 44 4c 45 2c 20 42 4f 4f 4c 29 3b 0a 09 09  ANDLE, BOOL);...
11ef0 42 4f 4f 4c 20 53 65 74 50 72 6f 63 65 73 73 53  BOOL SetProcessS
11f00 68 75 74 64 6f 77 6e 50 61 72 61 6d 65 74 65 72  hutdownParameter
11f10 73 28 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b  s(DWORD, DWORD);
11f20 0a 09 09 42 4f 4f 4c 20 53 65 74 50 72 6f 63 65  ...BOOL SetProce
11f30 73 73 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65  ssWorkingSetSize
11f40 28 48 41 4e 44 4c 45 2c 20 53 49 5a 45 5f 54 2c  (HANDLE, SIZE_T,
11f50 20 53 49 5a 45 5f 54 29 3b 0a 09 09 42 4f 4f 4c   SIZE_T);...BOOL
11f60 20 53 65 74 53 65 63 75 72 69 74 79 44 65 73 63   SetSecurityDesc
11f70 72 69 70 74 6f 72 44 61 63 6c 28 50 53 45 43 55  riptorDacl(PSECU
11f80 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2c  RITY_DESCRIPTOR,
11f90 20 42 4f 4f 4c 2c 20 50 41 43 4c 2c 20 42 4f 4f   BOOL, PACL, BOO
11fa0 4c 29 3b 0a 09 09 42 4f 4f 4c 20 53 65 74 53 65  L);...BOOL SetSe
11fb0 63 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72  curityDescriptor
11fc0 47 72 6f 75 70 28 50 53 45 43 55 52 49 54 59 5f  Group(PSECURITY_
11fd0 44 45 53 43 52 49 50 54 4f 52 2c 20 50 53 49 44  DESCRIPTOR, PSID
11fe0 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20  , BOOL);...BOOL 
11ff0 53 65 74 53 65 63 75 72 69 74 79 44 65 73 63 72  SetSecurityDescr
12000 69 70 74 6f 72 4f 77 6e 65 72 28 50 53 45 43 55  iptorOwner(PSECU
12010 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 2c  RITY_DESCRIPTOR,
12020 20 50 53 49 44 2c 20 42 4f 4f 4c 29 3b 0a 09 09   PSID, BOOL);...
12030 42 4f 4f 4c 20 53 65 74 53 65 63 75 72 69 74 79  BOOL SetSecurity
12040 44 65 73 63 72 69 70 74 6f 72 53 61 63 6c 28 50  DescriptorSacl(P
12050 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
12060 54 4f 52 2c 20 42 4f 4f 4c 2c 20 50 41 43 4c 2c  TOR, BOOL, PACL,
12070 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 53   BOOL);...BOOL S
12080 65 74 53 79 73 74 65 6d 54 69 6d 65 41 64 6a 75  etSystemTimeAdju
12090 73 74 6d 65 6e 74 28 44 57 4f 52 44 2c 20 42 4f  stment(DWORD, BO
120a0 4f 4c 29 3b 0a 09 09 44 57 4f 52 44 20 53 65 74  OL);...DWORD Set
120b0 54 61 70 65 50 61 72 61 6d 65 74 65 72 73 28 48  TapeParameters(H
120c0 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50 56  ANDLE, DWORD, PV
120d0 4f 49 44 29 3b 0a 09 09 44 57 4f 52 44 20 53 65  OID);...DWORD Se
120e0 74 54 61 70 65 50 6f 73 69 74 69 6f 6e 28 48 41  tTapePosition(HA
120f0 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f  NDLE, DWORD, DWO
12100 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  RD, DWORD, DWORD
12110 2c 20 42 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20  , BOOL);...BOOL 
12120 53 65 74 54 68 72 65 61 64 50 72 69 6f 72 69 74  SetThreadPriorit
12130 79 42 6f 6f 73 74 28 48 41 4e 44 4c 45 2c 20 42  yBoost(HANDLE, B
12140 4f 4f 4c 29 3b 0a 09 09 42 4f 4f 4c 20 53 65 74  OOL);...BOOL Set
12150 54 68 72 65 61 64 54 6f 6b 65 6e 28 50 48 41 4e  ThreadToken(PHAN
12160 44 4c 45 2c 20 48 41 4e 44 4c 45 29 3b 0a 09 09  DLE, HANDLE);...
12170 42 4f 4f 4c 20 53 65 74 54 6f 6b 65 6e 49 6e 66  BOOL SetTokenInf
12180 6f 72 6d 61 74 69 6f 6e 28 48 41 4e 44 4c 45 2c  ormation(HANDLE,
12190 20 54 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49   TOKEN_INFORMATI
121a0 4f 4e 5f 43 4c 41 53 53 2c 20 50 56 4f 49 44 2c  ON_CLASS, PVOID,
121b0 20 44 57 4f 52 44 29 3b 0a 09 09 44 57 4f 52 44   DWORD);...DWORD
121c0 20 53 69 67 6e 61 6c 4f 62 6a 65 63 74 41 6e 64   SignalObjectAnd
121d0 57 61 69 74 28 48 41 4e 44 4c 45 2c 20 48 41 4e  Wait(HANDLE, HAN
121e0 44 4c 45 2c 20 44 57 4f 52 44 2c 20 42 4f 4f 4c  DLE, DWORD, BOOL
121f0 29 3b 0a 09 09 42 4f 4f 4c 20 53 77 69 74 63 68  );...BOOL Switch
12200 54 6f 54 68 72 65 61 64 28 29 3b 0a 09 09 42 4f  ToThread();...BO
12210 4f 4c 20 53 79 73 74 65 6d 54 69 6d 65 54 6f 54  OL SystemTimeToT
12220 7a 53 70 65 63 69 66 69 63 4c 6f 63 61 6c 54 69  zSpecificLocalTi
12230 6d 65 28 4c 50 54 49 4d 45 5f 5a 4f 4e 45 5f 49  me(LPTIME_ZONE_I
12240 4e 46 4f 52 4d 41 54 49 4f 4e 2c 20 4c 50 53 59  NFORMATION, LPSY
12250 53 54 45 4d 54 49 4d 45 2c 20 4c 50 53 59 53 54  STEMTIME, LPSYST
12260 45 4d 54 49 4d 45 29 3b 0a 09 09 42 4f 4f 4c 20  EMTIME);...BOOL 
12270 54 72 79 45 6e 74 65 72 43 72 69 74 69 63 61 6c  TryEnterCritical
12280 53 65 63 74 69 6f 6e 28 4c 50 43 52 49 54 49 43  Section(LPCRITIC
12290 41 4c 5f 53 45 43 54 49 4f 4e 29 3b 0a 09 09 42  AL_SECTION);...B
122a0 4f 4f 4c 20 55 6e 6c 6f 63 6b 46 69 6c 65 45 78  OOL UnlockFileEx
122b0 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20  (HANDLE, DWORD, 
122c0 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50  DWORD, DWORD, LP
122d0 4f 56 45 52 4c 41 50 50 45 44 29 3b 0a 09 09 42  OVERLAPPED);...B
122e0 4f 4f 4c 20 55 70 64 61 74 65 52 65 73 6f 75 72  OOL UpdateResour
122f0 63 65 41 28 48 41 4e 44 4c 45 2c 20 4c 50 43 53  ceA(HANDLE, LPCS
12300 54 52 2c 20 4c 50 43 53 54 52 2c 20 57 4f 52 44  TR, LPCSTR, WORD
12310 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b  , PVOID, DWORD);
12320 0a 09 09 42 4f 4f 4c 20 55 70 64 61 74 65 52 65  ...BOOL UpdateRe
12330 73 6f 75 72 63 65 57 28 48 41 4e 44 4c 45 2c 20  sourceW(HANDLE, 
12340 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52  LPCWSTR, LPCWSTR
12350 2c 20 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44  , WORD, PVOID, D
12360 57 4f 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 57 72  WORD);...BOOL Wr
12370 69 74 65 46 69 6c 65 47 61 74 68 65 72 28 48 41  iteFileGather(HA
12380 4e 44 4c 45 2c 20 46 49 4c 45 5f 53 45 47 4d 45  NDLE, FILE_SEGME
12390 4e 54 5f 45 4c 45 4d 45 4e 54 2a 2c 20 44 57 4f  NT_ELEMENT*, DWO
123a0 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 4f  RD, LPDWORD, LPO
123b0 56 45 52 4c 41 50 50 45 44 29 3b 0a 09 09 44 57  VERLAPPED);...DW
123c0 4f 52 44 20 57 72 69 74 65 54 61 70 65 6d 61 72  ORD WriteTapemar
123d0 6b 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c  k(HANDLE, DWORD,
123e0 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0a 0a   DWORD, BOOL);..
123f0 09 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
12400 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
12410 30 30 29 20 7b 0a 09 09 09 42 4f 4f 4c 20 41 64  00) {....BOOL Ad
12420 64 41 63 63 65 73 73 41 6c 6c 6f 77 65 64 41 63  dAccessAllowedAc
12430 65 45 78 28 50 41 43 4c 2c 20 44 57 4f 52 44 2c  eEx(PACL, DWORD,
12440 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50   DWORD, DWORD, P
12450 53 49 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 41 64  SID);....BOOL Ad
12460 64 41 63 63 65 73 73 44 65 6e 69 65 64 41 63 65  dAccessDeniedAce
12470 45 78 28 50 41 43 4c 2c 20 44 57 4f 52 44 2c 20  Ex(PACL, DWORD, 
12480 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 53  DWORD, DWORD, PS
12490 49 44 29 3b 0a 09 09 09 50 56 4f 49 44 20 41 64  ID);....PVOID Ad
124a0 64 56 65 63 74 6f 72 65 64 45 78 63 65 70 74 69  dVectoredExcepti
124b0 6f 6e 48 61 6e 64 6c 65 72 28 55 4c 4f 4e 47 2c  onHandler(ULONG,
124c0 20 50 56 45 43 54 4f 52 45 44 5f 45 58 43 45 50   PVECTORED_EXCEP
124d0 54 49 4f 4e 5f 48 41 4e 44 4c 45 52 29 3b 0a 09  TION_HANDLER);..
124e0 09 09 42 4f 4f 4c 20 41 6c 6c 6f 63 61 74 65 55  ..BOOL AllocateU
124f0 73 65 72 50 68 79 73 69 63 61 6c 50 61 67 65 73  serPhysicalPages
12500 28 48 41 4e 44 4c 45 2c 20 50 55 4c 4f 4e 47 5f  (HANDLE, PULONG_
12510 50 54 52 2c 20 50 55 4c 4f 4e 47 5f 50 54 52 29  PTR, PULONG_PTR)
12520 3b 0a 09 09 09 42 4f 4f 4c 20 41 73 73 69 67 6e  ;....BOOL Assign
12530 50 72 6f 63 65 73 73 54 6f 4a 6f 62 4f 62 6a 65  ProcessToJobObje
12540 63 74 28 48 41 4e 44 4c 45 2c 20 48 41 4e 44 4c  ct(HANDLE, HANDL
12550 45 29 3b 0a 09 09 09 42 4f 4f 4c 20 43 68 61 6e  E);....BOOL Chan
12560 67 65 54 69 6d 65 72 51 75 65 75 65 54 69 6d 65  geTimerQueueTime
12570 72 28 48 41 4e 44 4c 45 2c 48 41 4e 44 4c 45 2c  r(HANDLE,HANDLE,
12580 55 4c 4f 4e 47 2c 55 4c 4f 4e 47 29 3b 0a 09 09  ULONG,ULONG);...
12590 09 4c 50 56 4f 49 44 20 43 72 65 61 74 65 46 69  .LPVOID CreateFi
125a0 62 65 72 45 78 28 53 49 5a 45 5f 54 2c 20 53 49  berEx(SIZE_T, SI
125b0 5a 45 5f 54 2c 20 44 57 4f 52 44 2c 20 4c 50 46  ZE_T, DWORD, LPF
125c0 49 42 45 52 5f 53 54 41 52 54 5f 52 4f 55 54 49  IBER_START_ROUTI
125d0 4e 45 2c 20 4c 50 56 4f 49 44 29 3b 0a 09 09 09  NE, LPVOID);....
125e0 48 41 4e 44 4c 45 20 43 72 65 61 74 65 46 69 6c  HANDLE CreateFil
125f0 65 4d 61 70 70 69 6e 67 41 28 48 41 4e 44 4c 45  eMappingA(HANDLE
12600 2c 20 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54  , LPSECURITY_ATT
12610 52 49 42 55 54 45 53 2c 20 44 57 4f 52 44 2c 20  RIBUTES, DWORD, 
12620 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50  DWORD, DWORD, LP
12630 43 53 54 52 29 3b 0a 09 09 09 48 41 4e 44 4c 45  CSTR);....HANDLE
12640 20 43 72 65 61 74 65 46 69 6c 65 4d 61 70 70 69   CreateFileMappi
12650 6e 67 57 28 48 41 4e 44 4c 45 2c 20 4c 50 53 45  ngW(HANDLE, LPSE
12660 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45  CURITY_ATTRIBUTE
12670 53 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  S, DWORD, DWORD,
12680 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 29   DWORD, LPCWSTR)
12690 3b 0a 09 09 09 42 4f 4f 4c 20 43 72 65 61 74 65  ;....BOOL Create
126a0 48 61 72 64 4c 69 6e 6b 41 28 4c 50 43 53 54 52  HardLinkA(LPCSTR
126b0 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 45 43 55  , LPCSTR, LPSECU
126c0 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 29  RITY_ATTRIBUTES)
126d0 3b 0a 09 09 09 42 4f 4f 4c 20 43 72 65 61 74 65  ;....BOOL Create
126e0 48 61 72 64 4c 69 6e 6b 57 28 4c 50 43 57 53 54  HardLinkW(LPCWST
126f0 52 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 53 45  R, LPCWSTR, LPSE
12700 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 45  CURITY_ATTRIBUTE
12710 53 29 3b 0a 09 09 09 48 41 4e 44 4c 45 20 43 72  S);....HANDLE Cr
12720 65 61 74 65 4a 6f 62 4f 62 6a 65 63 74 41 28 4c  eateJobObjectA(L
12730 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42  PSECURITY_ATTRIB
12740 55 54 45 53 2c 20 4c 50 43 53 54 52 29 3b 0a 09  UTES, LPCSTR);..
12750 09 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65 4a  ..HANDLE CreateJ
12760 6f 62 4f 62 6a 65 63 74 57 28 4c 50 53 45 43 55  obObjectW(LPSECU
12770 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 2c  RITY_ATTRIBUTES,
12780 20 4c 50 43 57 53 54 52 29 3b 0a 09 09 09 42 4f   LPCWSTR);....BO
12790 4f 4c 20 43 72 65 61 74 65 50 72 6f 63 65 73 73  OL CreateProcess
127a0 57 69 74 68 4c 6f 67 6f 6e 57 28 4c 50 43 57 53  WithLogonW(LPCWS
127b0 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43  TR, LPCWSTR, LPC
127c0 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43  WSTR, DWORD, LPC
127d0 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57  WSTR, LPWSTR, DW
127e0 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 43  ORD, LPVOID, LPC
127f0 57 53 54 52 2c 20 4c 50 53 54 41 52 54 55 50 49  WSTR, LPSTARTUPI
12800 4e 46 4f 57 2c 20 4c 50 50 52 4f 43 45 53 53 5f  NFOW, LPPROCESS_
12810 49 4e 46 4f 52 4d 41 54 49 4f 4e 29 3b 0a 09 09  INFORMATION);...
12820 09 48 41 4e 44 4c 45 20 43 72 65 61 74 65 54 69  .HANDLE CreateTi
12830 6d 65 72 51 75 65 75 65 28 29 3b 0a 09 09 09 42  merQueue();....B
12840 4f 4f 4c 20 43 72 65 61 74 65 54 69 6d 65 72 51  OOL CreateTimerQ
12850 75 65 75 65 54 69 6d 65 72 28 50 48 41 4e 44 4c  ueueTimer(PHANDL
12860 45 2c 20 48 41 4e 44 4c 45 2c 20 57 41 49 54 4f  E, HANDLE, WAITO
12870 52 54 49 4d 45 52 43 41 4c 4c 42 41 43 4b 2c 20  RTIMERCALLBACK, 
12880 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57  PVOID, DWORD, DW
12890 4f 52 44 2c 20 55 4c 4f 4e 47 29 3b 0a 09 09 09  ORD, ULONG);....
128a0 42 4f 4f 4c 20 44 65 6c 65 74 65 54 69 6d 65 72  BOOL DeleteTimer
128b0 51 75 65 75 65 28 48 41 4e 44 4c 45 29 3b 0a 09  Queue(HANDLE);..
128c0 09 09 42 4f 4f 4c 20 44 65 6c 65 74 65 54 69 6d  ..BOOL DeleteTim
128d0 65 72 51 75 65 75 65 45 78 28 48 41 4e 44 4c 45  erQueueEx(HANDLE
128e0 2c 20 48 41 4e 44 4c 45 29 3b 0a 09 09 09 42 4f  , HANDLE);....BO
128f0 4f 4c 20 44 65 6c 65 74 65 54 69 6d 65 72 51 75  OL DeleteTimerQu
12900 65 75 65 54 69 6d 65 72 28 48 41 4e 44 4c 45 2c  eueTimer(HANDLE,
12910 20 48 41 4e 44 4c 45 2c 20 48 41 4e 44 4c 45 29   HANDLE, HANDLE)
12920 3b 0a 09 09 09 42 4f 4f 4c 20 44 65 6c 65 74 65  ;....BOOL Delete
12930 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74  VolumeMountPoint
12940 41 28 4c 50 43 53 54 52 29 3b 0a 09 09 09 42 4f  A(LPCSTR);....BO
12950 4f 4c 20 44 65 6c 65 74 65 56 6f 6c 75 6d 65 4d  OL DeleteVolumeM
12960 6f 75 6e 74 50 6f 69 6e 74 57 28 4c 50 43 57 53  ountPointW(LPCWS
12970 54 52 29 3b 0a 09 09 09 42 4f 4f 4c 20 44 6e 73  TR);....BOOL Dns
12980 48 6f 73 74 6e 61 6d 65 54 6f 43 6f 6d 70 75 74  HostnameToComput
12990 65 72 4e 61 6d 65 41 28 4c 50 43 53 54 52 2c 20  erNameA(LPCSTR, 
129a0 4c 50 53 54 52 2c 20 4c 50 44 57 4f 52 44 29 3b  LPSTR, LPDWORD);
129b0 0a 09 09 09 42 4f 4f 4c 20 44 6e 73 48 6f 73 74  ....BOOL DnsHost
129c0 6e 61 6d 65 54 6f 43 6f 6d 70 75 74 65 72 4e 61  nameToComputerNa
129d0 6d 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57  meW(LPCWSTR, LPW
129e0 53 54 52 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 09  STR, LPDWORD);..
129f0 09 09 42 4f 4f 4c 20 45 6e 63 72 79 70 74 46 69  ..BOOL EncryptFi
12a00 6c 65 41 28 4c 50 43 53 54 52 29 3b 0a 09 09 09  leA(LPCSTR);....
12a10 42 4f 4f 4c 20 45 6e 63 72 79 70 74 46 69 6c 65  BOOL EncryptFile
12a20 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 09 09 42  W(LPCWSTR);....B
12a30 4f 4f 4c 20 46 69 6c 65 45 6e 63 72 79 70 74 69  OOL FileEncrypti
12a40 6f 6e 53 74 61 74 75 73 41 28 4c 50 43 53 54 52  onStatusA(LPCSTR
12a50 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 09 09 09 42  , LPDWORD);....B
12a60 4f 4f 4c 20 46 69 6c 65 45 6e 63 72 79 70 74 69  OOL FileEncrypti
12a70 6f 6e 53 74 61 74 75 73 57 28 4c 50 43 57 53 54  onStatusW(LPCWST
12a80 52 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 09 09 09  R, LPDWORD);....
12a90 48 41 4e 44 4c 45 20 46 69 6e 64 46 69 72 73 74  HANDLE FindFirst
12aa0 56 6f 6c 75 6d 65 41 28 4c 50 43 53 54 52 2c 20  VolumeA(LPCSTR, 
12ab0 44 57 4f 52 44 29 3b 0a 09 09 09 48 41 4e 44 4c  DWORD);....HANDL
12ac0 45 20 46 69 6e 64 46 69 72 73 74 56 6f 6c 75 6d  E FindFirstVolum
12ad0 65 4d 6f 75 6e 74 50 6f 69 6e 74 41 28 4c 50 53  eMountPointA(LPS
12ae0 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44  TR, LPSTR, DWORD
12af0 29 3b 0a 09 09 09 48 41 4e 44 4c 45 20 46 69 6e  );....HANDLE Fin
12b00 64 46 69 72 73 74 56 6f 6c 75 6d 65 4d 6f 75 6e  dFirstVolumeMoun
12b10 74 50 6f 69 6e 74 57 28 4c 50 57 53 54 52 2c 20  tPointW(LPWSTR, 
12b20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a  LPWSTR, DWORD);.
12b30 09 09 09 48 41 4e 44 4c 45 20 46 69 6e 64 46 69  ...HANDLE FindFi
12b40 72 73 74 56 6f 6c 75 6d 65 57 28 4c 50 43 57 53  rstVolumeW(LPCWS
12b50 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09 42  TR, DWORD);....B
12b60 4f 4f 4c 20 46 69 6e 64 4e 65 78 74 56 6f 6c 75  OOL FindNextVolu
12b70 6d 65 41 28 48 41 4e 44 4c 45 2c 20 4c 50 43 53  meA(HANDLE, LPCS
12b80 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09 42  TR, DWORD);....B
12b90 4f 4f 4c 20 46 69 6e 64 4e 65 78 74 56 6f 6c 75  OOL FindNextVolu
12ba0 6d 65 57 28 48 41 4e 44 4c 45 2c 20 4c 50 57 53  meW(HANDLE, LPWS
12bb0 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09 42  TR, DWORD);....B
12bc0 4f 4f 4c 20 46 69 6e 64 4e 65 78 74 56 6f 6c 75  OOL FindNextVolu
12bd0 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 41 28 48 41  meMountPointA(HA
12be0 4e 44 4c 45 2c 20 4c 50 53 54 52 2c 20 44 57 4f  NDLE, LPSTR, DWO
12bf0 52 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 46 69 6e  RD);....BOOL Fin
12c00 64 4e 65 78 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74  dNextVolumeMount
12c10 50 6f 69 6e 74 57 28 48 41 4e 44 4c 45 2c 20 4c  PointW(HANDLE, L
12c20 50 57 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09  PWSTR, DWORD);..
12c30 09 09 42 4f 4f 4c 20 46 69 6e 64 56 6f 6c 75 6d  ..BOOL FindVolum
12c40 65 43 6c 6f 73 65 28 48 41 4e 44 4c 45 29 3b 0a  eClose(HANDLE);.
12c50 09 09 09 42 4f 4f 4c 20 46 69 6e 64 56 6f 6c 75  ...BOOL FindVolu
12c60 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 43 6c 6f 73  meMountPointClos
12c70 65 28 48 41 4e 44 4c 45 29 3b 0a 09 09 09 42 4f  e(HANDLE);....BO
12c80 4f 4c 20 46 6c 75 73 68 56 69 65 77 4f 66 46 69  OL FlushViewOfFi
12c90 6c 65 28 50 43 56 4f 49 44 2c 20 44 57 4f 52 44  le(PCVOID, DWORD
12ca0 29 3b 0a 09 09 09 42 4f 4f 4c 20 46 72 65 65 55  );....BOOL FreeU
12cb0 73 65 72 50 68 79 73 69 63 61 6c 50 61 67 65 73  serPhysicalPages
12cc0 28 48 41 4e 44 4c 45 2c 20 50 55 4c 4f 4e 47 5f  (HANDLE, PULONG_
12cd0 50 54 52 2c 20 50 55 4c 4f 4e 47 5f 50 54 52 29  PTR, PULONG_PTR)
12ce0 3b 0a 09 09 09 42 4f 4f 4c 20 47 65 74 43 6f 6d  ;....BOOL GetCom
12cf0 70 75 74 65 72 4e 61 6d 65 45 78 41 28 43 4f 4d  puterNameExA(COM
12d00 50 55 54 45 52 5f 4e 41 4d 45 5f 46 4f 52 4d 41  PUTER_NAME_FORMA
12d10 54 2c 20 4c 50 53 54 52 2c 20 4c 50 44 57 4f 52  T, LPSTR, LPDWOR
12d20 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 47 65 74 43  D);....BOOL GetC
12d30 6f 6d 70 75 74 65 72 4e 61 6d 65 45 78 57 28 43  omputerNameExW(C
12d40 4f 4d 50 55 54 45 52 5f 4e 41 4d 45 5f 46 4f 52  OMPUTER_NAME_FOR
12d50 4d 41 54 2c 20 4c 50 57 53 54 52 2c 20 4c 50 44  MAT, LPWSTR, LPD
12d60 57 4f 52 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 47  WORD);....BOOL G
12d70 65 74 46 69 6c 65 53 69 7a 65 45 78 28 48 41 4e  etFileSizeEx(HAN
12d80 44 4c 45 2c 20 50 4c 41 52 47 45 5f 49 4e 54 45  DLE, PLARGE_INTE
12d90 47 45 52 29 3b 0a 09 09 09 42 4f 4f 4c 20 47 65  GER);....BOOL Ge
12da0 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 45 78 41  tModuleHandleExA
12db0 28 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20  (DWORD, LPCSTR, 
12dc0 48 4d 4f 44 55 4c 45 2a 29 3b 0a 09 09 09 42 4f  HMODULE*);....BO
12dd0 4f 4c 20 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64  OL GetModuleHand
12de0 6c 65 45 78 57 28 44 57 4f 52 44 2c 20 4c 50 43  leExW(DWORD, LPC
12df0 57 53 54 52 2c 20 48 4d 4f 44 55 4c 45 2a 29 3b  WSTR, HMODULE*);
12e00 0a 09 09 09 48 41 4e 44 4c 45 20 47 65 74 50 72  ....HANDLE GetPr
12e10 6f 63 65 73 73 48 65 61 70 28 29 3b 0a 09 09 09  ocessHeap();....
12e20 44 57 4f 52 44 20 47 65 74 50 72 6f 63 65 73 73  DWORD GetProcess
12e30 48 65 61 70 73 28 44 57 4f 52 44 2c 20 50 48 41  Heaps(DWORD, PHA
12e40 4e 44 4c 45 29 3b 0a 09 09 09 42 4f 4f 4c 20 47  NDLE);....BOOL G
12e50 65 74 50 72 6f 63 65 73 73 49 6f 43 6f 75 6e 74  etProcessIoCount
12e60 65 72 73 28 48 41 4e 44 4c 45 2c 20 50 49 4f 5f  ers(HANDLE, PIO_
12e70 43 4f 55 4e 54 45 52 53 29 3b 0a 09 09 09 42 4f  COUNTERS);....BO
12e80 4f 4c 20 47 65 74 53 79 73 74 65 6d 50 6f 77 65  OL GetSystemPowe
12e90 72 53 74 61 74 75 73 28 4c 50 53 59 53 54 45 4d  rStatus(LPSYSTEM
12ea0 5f 50 4f 57 45 52 5f 53 54 41 54 55 53 29 3b 0a  _POWER_STATUS);.
12eb0 09 09 09 55 49 4e 54 20 47 65 74 53 79 73 74 65  ...UINT GetSyste
12ec0 6d 57 69 6e 64 6f 77 73 44 69 72 65 63 74 6f 72  mWindowsDirector
12ed0 79 41 28 4c 50 53 54 52 2c 20 55 49 4e 54 29 3b  yA(LPSTR, UINT);
12ee0 0a 09 09 09 55 49 4e 54 20 47 65 74 53 79 73 74  ....UINT GetSyst
12ef0 65 6d 57 69 6e 64 6f 77 73 44 69 72 65 63 74 6f  emWindowsDirecto
12f00 72 79 57 28 4c 50 57 53 54 52 2c 20 55 49 4e 54  ryW(LPWSTR, UINT
12f10 29 3b 0a 09 09 09 42 4f 4f 4c 20 47 65 74 56 6f  );....BOOL GetVo
12f20 6c 75 6d 65 4e 61 6d 65 46 6f 72 56 6f 6c 75 6d  lumeNameForVolum
12f30 65 4d 6f 75 6e 74 50 6f 69 6e 74 41 28 4c 50 43  eMountPointA(LPC
12f40 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52  STR, LPSTR, DWOR
12f50 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 47 65 74 56  D);....BOOL GetV
12f60 6f 6c 75 6d 65 4e 61 6d 65 46 6f 72 56 6f 6c 75  olumeNameForVolu
12f70 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 57 28 4c 50  meMountPointW(LP
12f80 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44  CWSTR, LPWSTR, D
12f90 57 4f 52 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 47  WORD);....BOOL G
12fa0 65 74 56 6f 6c 75 6d 65 50 61 74 68 4e 61 6d 65  etVolumePathName
12fb0 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c  A(LPCSTR, LPSTR,
12fc0 20 44 57 4f 52 44 29 3b 0a 09 09 09 42 4f 4f 4c   DWORD);....BOOL
12fd0 20 47 65 74 56 6f 6c 75 6d 65 50 61 74 68 4e 61   GetVolumePathNa
12fe0 6d 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57  meW(LPCWSTR, LPW
12ff0 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09  STR, DWORD);....
13000 42 4f 4f 4c 20 47 6c 6f 62 61 6c 4d 65 6d 6f 72  BOOL GlobalMemor
13010 79 53 74 61 74 75 73 45 78 28 4c 50 4d 45 4d 4f  yStatusEx(LPMEMO
13020 52 59 53 54 41 54 55 53 45 58 29 3b 0a 09 09 09  RYSTATUSEX);....
13030 42 4f 4f 4c 20 49 73 42 61 64 43 6f 64 65 50 74  BOOL IsBadCodePt
13040 72 28 46 41 52 50 52 4f 43 29 3b 0a 09 09 09 42  r(FARPROC);....B
13050 4f 4f 4c 20 49 73 53 79 73 74 65 6d 52 65 73 75  OOL IsSystemResu
13060 6d 65 41 75 74 6f 6d 61 74 69 63 28 29 3b 0a 09  meAutomatic();..
13070 09 09 42 4f 4f 4c 20 4d 61 70 55 73 65 72 50 68  ..BOOL MapUserPh
13080 79 73 69 63 61 6c 50 61 67 65 73 28 50 56 4f 49  ysicalPages(PVOI
13090 44 2c 20 55 4c 4f 4e 47 5f 50 54 52 2c 20 50 55  D, ULONG_PTR, PU
130a0 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09 09 09 42 4f  LONG_PTR);....BO
130b0 4f 4c 20 4d 61 70 55 73 65 72 50 68 79 73 69 63  OL MapUserPhysic
130c0 61 6c 50 61 67 65 73 53 63 61 74 74 65 72 28 50  alPagesScatter(P
130d0 56 4f 49 44 2a 2c 20 55 4c 4f 4e 47 5f 50 54 52  VOID*, ULONG_PTR
130e0 2c 20 50 55 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09  , PULONG_PTR);..
130f0 09 09 50 56 4f 49 44 20 4d 61 70 56 69 65 77 4f  ..PVOID MapViewO
13100 66 46 69 6c 65 28 48 41 4e 44 4c 45 2c 20 44 57  fFile(HANDLE, DW
13110 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  ORD, DWORD, DWOR
13120 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09 50 56  D, DWORD);....PV
13130 4f 49 44 20 4d 61 70 56 69 65 77 4f 66 46 69 6c  OID MapViewOfFil
13140 65 45 78 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52  eEx(HANDLE, DWOR
13150 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  D, DWORD, DWORD,
13160 20 44 57 4f 52 44 2c 20 50 56 4f 49 44 29 3b 0a   DWORD, PVOID);.
13170 09 09 09 48 41 4e 44 4c 45 20 4f 70 65 6e 46 69  ...HANDLE OpenFi
13180 6c 65 4d 61 70 70 69 6e 67 41 28 44 57 4f 52 44  leMappingA(DWORD
13190 2c 20 42 4f 4f 4c 2c 20 4c 50 43 53 54 52 29 3b  , BOOL, LPCSTR);
131a0 0a 09 09 09 48 41 4e 44 4c 45 20 4f 70 65 6e 46  ....HANDLE OpenF
131b0 69 6c 65 4d 61 70 70 69 6e 67 57 28 44 57 4f 52  ileMappingW(DWOR
131c0 44 2c 20 42 4f 4f 4c 2c 20 4c 50 43 57 53 54 52  D, BOOL, LPCWSTR
131d0 29 3b 0a 09 09 09 42 4f 4f 4c 20 50 72 6f 63 65  );....BOOL Proce
131e0 73 73 49 64 54 6f 53 65 73 73 69 6f 6e 49 64 28  ssIdToSessionId(
131f0 44 57 4f 52 44 2c 20 44 57 4f 52 44 2a 29 3b 0a  DWORD, DWORD*);.
13200 09 09 09 42 4f 4f 4c 20 51 75 65 72 79 49 6e 66  ...BOOL QueryInf
13210 6f 72 6d 61 74 69 6f 6e 4a 6f 62 4f 62 6a 65 63  ormationJobObjec
13220 74 28 48 41 4e 44 4c 45 2c 20 4a 4f 42 4f 42 4a  t(HANDLE, JOBOBJ
13230 45 43 54 49 4e 46 4f 43 4c 41 53 53 2c 20 4c 50  ECTINFOCLASS, LP
13240 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 44  VOID, DWORD, LPD
13250 57 4f 52 44 29 3b 0a 09 09 09 55 4c 4f 4e 47 20  WORD);....ULONG 
13260 52 65 6d 6f 76 65 56 65 63 74 6f 72 65 64 45 78  RemoveVectoredEx
13270 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 50  ceptionHandler(P
13280 56 4f 49 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 52  VOID);....BOOL R
13290 65 70 6c 61 63 65 46 69 6c 65 41 28 4c 50 43 53  eplaceFileA(LPCS
132a0 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53  TR, LPCSTR, LPCS
132b0 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 56 4f 49  TR, DWORD, LPVOI
132c0 44 2c 20 4c 50 56 4f 49 44 29 3b 0a 09 09 09 42  D, LPVOID);....B
132d0 4f 4f 4c 20 52 65 70 6c 61 63 65 46 69 6c 65 57  OOL ReplaceFileW
132e0 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54  (LPCWSTR, LPCWST
132f0 52 2c 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52  R, LPCWSTR, DWOR
13300 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 56 4f 49  D, LPVOID, LPVOI
13310 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 53 65 74 43  D);....BOOL SetC
13320 6f 6d 70 75 74 65 72 4e 61 6d 65 45 78 41 28 43  omputerNameExA(C
13330 4f 4d 50 55 54 45 52 5f 4e 41 4d 45 5f 46 4f 52  OMPUTER_NAME_FOR
13340 4d 41 54 2c 20 4c 50 43 53 54 52 29 3b 0a 09 09  MAT, LPCSTR);...
13350 09 42 4f 4f 4c 20 53 65 74 43 6f 6d 70 75 74 65  .BOOL SetCompute
13360 72 4e 61 6d 65 45 78 57 28 43 4f 4d 50 55 54 45  rNameExW(COMPUTE
13370 52 5f 4e 41 4d 45 5f 46 4f 52 4d 41 54 2c 20 4c  R_NAME_FORMAT, L
13380 50 43 57 53 54 52 29 3b 0a 09 09 09 42 4f 4f 4c  PCWSTR);....BOOL
13390 20 53 65 74 46 69 6c 65 50 6f 69 6e 74 65 72 45   SetFilePointerE
133a0 78 28 48 41 4e 44 4c 45 2c 20 4c 41 52 47 45 5f  x(HANDLE, LARGE_
133b0 49 4e 54 45 47 45 52 2c 20 50 4c 41 52 47 45 5f  INTEGER, PLARGE_
133c0 49 4e 54 45 47 45 52 2c 20 44 57 4f 52 44 29 3b  INTEGER, DWORD);
133d0 0a 09 09 09 42 4f 4f 4c 20 53 65 74 49 6e 66 6f  ....BOOL SetInfo
133e0 72 6d 61 74 69 6f 6e 4a 6f 62 4f 62 6a 65 63 74  rmationJobObject
133f0 28 48 41 4e 44 4c 45 2c 20 4a 4f 42 4f 42 4a 45  (HANDLE, JOBOBJE
13400 43 54 49 4e 46 4f 43 4c 41 53 53 2c 20 4c 50 56  CTINFOCLASS, LPV
13410 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09  OID, DWORD);....
13420 42 4f 4f 4c 20 53 65 74 53 65 63 75 72 69 74 79  BOOL SetSecurity
13430 44 65 73 63 72 69 70 74 6f 72 43 6f 6e 74 72 6f  DescriptorContro
13440 6c 28 50 53 45 43 55 52 49 54 59 5f 44 45 53 43  l(PSECURITY_DESC
13450 52 49 50 54 4f 52 2c 20 53 45 43 55 52 49 54 59  RIPTOR, SECURITY
13460 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54  _DESCRIPTOR_CONT
13470 52 4f 4c 2c 20 53 45 43 55 52 49 54 59 5f 44 45  ROL, SECURITY_DE
13480 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c  SCRIPTOR_CONTROL
13490 29 3b 0a 09 09 09 42 4f 4f 4c 20 53 65 74 53 79  );....BOOL SetSy
134a0 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65 28 42  stemPowerState(B
134b0 4f 4f 4c 2c 20 42 4f 4f 4c 29 3b 0a 09 09 09 45  OOL, BOOL);....E
134c0 58 45 43 55 54 49 4f 4e 5f 53 54 41 54 45 20 53  XECUTION_STATE S
134d0 65 74 54 68 72 65 61 64 45 78 65 63 75 74 69 6f  etThreadExecutio
134e0 6e 53 74 61 74 65 28 45 58 45 43 55 54 49 4f 4e  nState(EXECUTION
134f0 5f 53 54 41 54 45 29 3b 0a 09 09 09 44 57 4f 52  _STATE);....DWOR
13500 44 20 53 65 74 54 68 72 65 61 64 49 64 65 61 6c  D SetThreadIdeal
13510 50 72 6f 63 65 73 73 6f 72 28 48 41 4e 44 4c 45  Processor(HANDLE
13520 2c 20 44 57 4f 52 44 29 3b 0a 09 09 09 42 4f 4f  , DWORD);....BOO
13530 4c 20 53 65 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74  L SetVolumeMount
13540 50 6f 69 6e 74 41 28 4c 50 43 53 54 52 2c 20 4c  PointA(LPCSTR, L
13550 50 43 53 54 52 29 3b 0a 09 09 09 42 4f 4f 4c 20  PCSTR);....BOOL 
13560 53 65 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f  SetVolumeMountPo
13570 69 6e 74 57 28 4c 50 43 57 53 54 52 2c 20 4c 50  intW(LPCWSTR, LP
13580 43 57 53 54 52 29 3b 0a 09 09 09 42 4f 4f 4c 20  CWSTR);....BOOL 
13590 54 65 72 6d 69 6e 61 74 65 4a 6f 62 4f 62 6a 65  TerminateJobObje
135a0 63 74 28 48 41 4e 44 4c 45 2c 20 55 49 4e 54 29  ct(HANDLE, UINT)
135b0 3b 0a 09 09 09 42 4f 4f 4c 20 55 6e 6d 61 70 56  ;....BOOL UnmapV
135c0 69 65 77 4f 66 46 69 6c 65 28 50 56 4f 49 44 29  iewOfFile(PVOID)
135d0 3b 0a 09 09 09 42 4f 4f 4c 20 55 6e 72 65 67 69  ;....BOOL Unregi
135e0 73 74 65 72 57 61 69 74 28 48 41 4e 44 4c 45 29  sterWait(HANDLE)
135f0 3b 0a 09 09 09 42 4f 4f 4c 20 55 6e 72 65 67 69  ;....BOOL Unregi
13600 73 74 65 72 57 61 69 74 45 78 28 48 41 4e 44 4c  sterWaitEx(HANDL
13610 45 2c 20 48 41 4e 44 4c 45 29 3b 0a 09 09 09 42  E, HANDLE);....B
13620 4f 4f 4c 20 56 65 72 69 66 79 56 65 72 73 69 6f  OOL VerifyVersio
13630 6e 49 6e 66 6f 41 28 4c 50 4f 53 56 45 52 53 49  nInfoA(LPOSVERSI
13640 4f 4e 49 4e 46 4f 45 58 41 2c 20 44 57 4f 52 44  ONINFOEXA, DWORD
13650 2c 20 44 57 4f 52 44 4c 4f 4e 47 29 3b 0a 09 09  , DWORDLONG);...
13660 09 42 4f 4f 4c 20 56 65 72 69 66 79 56 65 72 73  .BOOL VerifyVers
13670 69 6f 6e 49 6e 66 6f 57 28 4c 50 4f 53 56 45 52  ionInfoW(LPOSVER
13680 53 49 4f 4e 49 4e 46 4f 45 58 57 2c 20 44 57 4f  SIONINFOEXW, DWO
13690 52 44 2c 20 44 57 4f 52 44 4c 4f 4e 47 29 3b 0a  RD, DWORDLONG);.
136a0 09 09 7d 0a 0a 09 09 73 74 61 74 69 63 20 69 66  ..}....static if
136b0 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
136c0 3d 20 30 78 35 30 31 29 20 7b 0a 09 09 09 42 4f  = 0x501) {....BO
136d0 4f 4c 20 41 63 74 69 76 61 74 65 41 63 74 43 74  OL ActivateActCt
136e0 78 28 48 41 4e 44 4c 45 2c 20 55 4c 4f 4e 47 5f  x(HANDLE, ULONG_
136f0 50 54 52 2a 29 3b 0a 09 09 09 76 6f 69 64 20 41  PTR*);....void A
13700 64 64 52 65 66 41 63 74 43 74 78 28 48 41 4e 44  ddRefActCtx(HAND
13710 4c 45 29 3b 0a 09 09 09 42 4f 4f 4c 20 43 68 65  LE);....BOOL Che
13720 63 6b 4e 61 6d 65 4c 65 67 61 6c 44 4f 53 38 44  ckNameLegalDOS8D
13730 6f 74 33 41 28 4c 50 43 53 54 52 2c 20 4c 50 53  ot3A(LPCSTR, LPS
13740 54 52 2c 20 44 57 4f 52 44 2c 20 50 42 4f 4f 4c  TR, DWORD, PBOOL
13750 2c 20 50 42 4f 4f 4c 29 3b 0a 09 09 09 42 4f 4f  , PBOOL);....BOO
13760 4c 20 43 68 65 63 6b 4e 61 6d 65 4c 65 67 61 6c  L CheckNameLegal
13770 44 4f 53 38 44 6f 74 33 57 28 4c 50 43 57 53 54  DOS8Dot3W(LPCWST
13780 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c  R, LPSTR, DWORD,
13790 20 50 42 4f 4f 4c 2c 20 50 42 4f 4f 4c 29 3b 0a   PBOOL, PBOOL);.
137a0 09 09 09 42 4f 4f 4c 20 43 68 65 63 6b 52 65 6d  ...BOOL CheckRem
137b0 6f 74 65 44 65 62 75 67 67 65 72 50 72 65 73 65  oteDebuggerPrese
137c0 6e 74 28 48 41 4e 44 4c 45 2c 20 50 42 4f 4f 4c  nt(HANDLE, PBOOL
137d0 29 3b 0a 09 09 09 42 4f 4f 4c 20 43 6f 6e 76 65  );....BOOL Conve
137e0 72 74 46 69 62 65 72 54 6f 54 68 72 65 61 64 28  rtFiberToThread(
137f0 29 3b 0a 09 09 09 48 41 4e 44 4c 45 20 43 72 65  );....HANDLE Cre
13800 61 74 65 41 63 74 43 74 78 41 28 50 43 41 43 54  ateActCtxA(PCACT
13810 43 54 58 41 29 3b 0a 09 09 09 48 41 4e 44 4c 45  CTXA);....HANDLE
13820 20 43 72 65 61 74 65 41 63 74 43 74 78 57 28 50   CreateActCtxW(P
13830 43 41 43 54 43 54 58 57 29 3b 0a 09 09 09 48 41  CACTCTXW);....HA
13840 4e 44 4c 45 20 43 72 65 61 74 65 4d 65 6d 6f 72  NDLE CreateMemor
13850 79 52 65 73 6f 75 72 63 65 4e 6f 74 69 66 69 63  yResourceNotific
13860 61 74 69 6f 6e 28 4d 45 4d 4f 52 59 5f 52 45 53  ation(MEMORY_RES
13870 4f 55 52 43 45 5f 4e 4f 54 49 46 49 43 41 54 49  OURCE_NOTIFICATI
13880 4f 4e 5f 54 59 50 45 29 3b 0a 09 09 09 42 4f 4f  ON_TYPE);....BOO
13890 4c 20 44 65 61 63 74 69 76 61 74 65 41 63 74 43  L DeactivateActC
138a0 74 78 28 44 57 4f 52 44 2c 20 55 4c 4f 4e 47 5f  tx(DWORD, ULONG_
138b0 50 54 52 29 3b 0a 09 09 09 42 4f 4f 4c 20 44 65  PTR);....BOOL De
138c0 62 75 67 41 63 74 69 76 65 50 72 6f 63 65 73 73  bugActiveProcess
138d0 53 74 6f 70 28 44 57 4f 52 44 29 3b 0a 09 09 09  Stop(DWORD);....
138e0 42 4f 4f 4c 20 44 65 62 75 67 42 72 65 61 6b 50  BOOL DebugBreakP
138f0 72 6f 63 65 73 73 28 48 41 4e 44 4c 45 29 3b 0a  rocess(HANDLE);.
13900 09 09 09 42 4f 4f 4c 20 44 65 62 75 67 53 65 74  ...BOOL DebugSet
13910 50 72 6f 63 65 73 73 4b 69 6c 6c 4f 6e 45 78 69  ProcessKillOnExi
13920 74 28 42 4f 4f 4c 29 3b 0a 09 09 09 42 4f 4f 4c  t(BOOL);....BOOL
13930 20 46 69 6e 64 41 63 74 43 74 78 53 65 63 74 69   FindActCtxSecti
13940 6f 6e 47 75 69 64 28 44 57 4f 52 44 2c 20 43 50  onGuid(DWORD, CP
13950 74 72 21 28 47 55 49 44 29 2c 20 55 4c 4f 4e 47  tr!(GUID), ULONG
13960 2c 20 43 50 74 72 21 28 47 55 49 44 29 2c 0a 09  , CPtr!(GUID),..
13970 09 09 20 20 50 41 43 54 43 54 58 5f 53 45 43 54  ..  PACTCTX_SECT
13980 49 4f 4e 5f 4b 45 59 45 44 5f 44 41 54 41 29 3b  ION_KEYED_DATA);
13990 0a 09 09 09 42 4f 4f 4c 20 46 69 6e 64 41 63 74  ....BOOL FindAct
139a0 43 74 78 53 65 63 74 69 6f 6e 53 74 72 69 6e 67  CtxSectionString
139b0 41 28 44 57 4f 52 44 2c 20 43 50 74 72 21 28 47  A(DWORD, CPtr!(G
139c0 55 49 44 29 2c 20 55 4c 4f 4e 47 2c 20 4c 50 43  UID), ULONG, LPC
139d0 53 54 52 2c 0a 09 09 09 20 20 50 41 43 54 43 54  STR,....  PACTCT
139e0 58 5f 53 45 43 54 49 4f 4e 5f 4b 45 59 45 44 5f  X_SECTION_KEYED_
139f0 44 41 54 41 29 3b 0a 09 09 09 42 4f 4f 4c 20 46  DATA);....BOOL F
13a00 69 6e 64 41 63 74 43 74 78 53 65 63 74 69 6f 6e  indActCtxSection
13a10 53 74 72 69 6e 67 57 28 44 57 4f 52 44 2c 20 43  StringW(DWORD, C
13a20 50 74 72 21 28 47 55 49 44 29 2c 20 55 4c 4f 4e  Ptr!(GUID), ULON
13a30 47 2c 20 4c 50 43 57 53 54 52 2c 0a 09 09 09 20  G, LPCWSTR,.... 
13a40 20 50 41 43 54 43 54 58 5f 53 45 43 54 49 4f 4e   PACTCTX_SECTION
13a50 5f 4b 45 59 45 44 5f 44 41 54 41 29 3b 0a 09 09  _KEYED_DATA);...
13a60 09 42 4f 4f 4c 20 47 65 74 43 75 72 72 65 6e 74  .BOOL GetCurrent
13a70 41 63 74 43 74 78 28 48 41 4e 44 4c 45 2a 29 3b  ActCtx(HANDLE*);
13a80 0a 09 09 09 56 4f 49 44 20 47 65 74 4e 61 74 69  ....VOID GetNati
13a90 76 65 53 79 73 74 65 6d 49 6e 66 6f 28 4c 50 53  veSystemInfo(LPS
13aa0 59 53 54 45 4d 5f 49 4e 46 4f 29 3b 0a 09 09 09  YSTEM_INFO);....
13ab0 42 4f 4f 4c 20 47 65 74 50 72 6f 63 65 73 73 48  BOOL GetProcessH
13ac0 61 6e 64 6c 65 43 6f 75 6e 74 28 48 41 4e 44 4c  andleCount(HANDL
13ad0 45 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09 09 42  E, PDWORD);....B
13ae0 4f 4f 4c 20 47 65 74 53 79 73 74 65 6d 52 65 67  OOL GetSystemReg
13af0 69 73 74 72 79 51 75 6f 74 61 28 50 44 57 4f 52  istryQuota(PDWOR
13b00 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09 09 42  D, PDWORD);....B
13b10 4f 4f 4c 20 47 65 74 53 79 73 74 65 6d 54 69 6d  OOL GetSystemTim
13b20 65 73 28 4c 50 46 49 4c 45 54 49 4d 45 2c 20 4c  es(LPFILETIME, L
13b30 50 46 49 4c 45 54 49 4d 45 2c 20 4c 50 46 49 4c  PFILETIME, LPFIL
13b40 45 54 49 4d 45 29 3b 0a 09 09 09 55 49 4e 54 20  ETIME);....UINT 
13b50 47 65 74 53 79 73 74 65 6d 57 6f 77 36 34 44 69  GetSystemWow64Di
13b60 72 65 63 74 6f 72 79 41 28 4c 50 53 54 52 2c 20  rectoryA(LPSTR, 
13b70 55 49 4e 54 29 3b 0a 09 09 09 55 49 4e 54 20 47  UINT);....UINT G
13b80 65 74 53 79 73 74 65 6d 57 6f 77 36 34 44 69 72  etSystemWow64Dir
13b90 65 63 74 6f 72 79 57 28 4c 50 57 53 54 52 2c 20  ectoryW(LPWSTR, 
13ba0 55 49 4e 54 29 3b 0a 09 09 09 42 4f 4f 4c 20 47  UINT);....BOOL G
13bb0 65 74 54 68 72 65 61 64 49 4f 50 65 6e 64 69 6e  etThreadIOPendin
13bc0 67 46 6c 61 67 28 48 41 4e 44 4c 45 2c 20 50 42  gFlag(HANDLE, PB
13bd0 4f 4f 4c 29 3b 0a 09 09 09 42 4f 4f 4c 20 47 65  OOL);....BOOL Ge
13be0 74 56 6f 6c 75 6d 65 50 61 74 68 4e 61 6d 65 73  tVolumePathNames
13bf0 46 6f 72 56 6f 6c 75 6d 65 4e 61 6d 65 41 28 4c  ForVolumeNameA(L
13c00 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57  PCSTR, LPSTR, DW
13c10 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 09  ORD, PDWORD);...
13c20 09 42 4f 4f 4c 20 47 65 74 56 6f 6c 75 6d 65 50  .BOOL GetVolumeP
13c30 61 74 68 4e 61 6d 65 73 46 6f 72 56 6f 6c 75 6d  athNamesForVolum
13c40 65 4e 61 6d 65 57 28 4c 50 43 57 53 54 52 2c 20  eNameW(LPCWSTR, 
13c50 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50  LPWSTR, DWORD, P
13c60 44 57 4f 52 44 29 3b 0a 09 09 09 55 49 4e 54 20  DWORD);....UINT 
13c70 47 65 74 57 72 69 74 65 57 61 74 63 68 28 44 57  GetWriteWatch(DW
13c80 4f 52 44 2c 20 50 56 4f 49 44 2c 20 53 49 5a 45  ORD, PVOID, SIZE
13c90 5f 54 2c 20 50 56 4f 49 44 2a 2c 20 50 55 4c 4f  _T, PVOID*, PULO
13ca0 4e 47 5f 50 54 52 2c 20 50 55 4c 4f 4e 47 29 3b  NG_PTR, PULONG);
13cb0 0a 09 09 09 42 4f 4f 4c 20 48 65 61 70 51 75 65  ....BOOL HeapQue
13cc0 72 79 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 48 41  ryInformation(HA
13cd0 4e 44 4c 45 2c 20 48 45 41 50 5f 49 4e 46 4f 52  NDLE, HEAP_INFOR
13ce0 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 2c 20 50 56  MATION_CLASS, PV
13cf0 4f 49 44 2c 20 53 49 5a 45 5f 54 2c 20 50 53 49  OID, SIZE_T, PSI
13d00 5a 45 5f 54 29 3b 0a 09 09 09 42 4f 4f 4c 20 48  ZE_T);....BOOL H
13d10 65 61 70 53 65 74 49 6e 66 6f 72 6d 61 74 69 6f  eapSetInformatio
13d20 6e 28 48 41 4e 44 4c 45 2c 20 48 45 41 50 5f 49  n(HANDLE, HEAP_I
13d30 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53  NFORMATION_CLASS
13d40 2c 20 50 56 4f 49 44 2c 20 53 49 5a 45 5f 54 29  , PVOID, SIZE_T)
13d50 3b 0a 09 09 09 42 4f 4f 4c 20 49 73 50 72 6f 63  ;....BOOL IsProc
13d60 65 73 73 49 6e 4a 6f 62 28 48 41 4e 44 4c 45 2c  essInJob(HANDLE,
13d70 20 48 41 4e 44 4c 45 2c 20 50 42 4f 4f 4c 29 3b   HANDLE, PBOOL);
13d80 0a 09 09 09 42 4f 4f 4c 20 49 73 57 6f 77 36 34  ....BOOL IsWow64
13d90 50 72 6f 63 65 73 73 28 48 41 4e 44 4c 45 2c 20  Process(HANDLE, 
13da0 50 42 4f 4f 4c 29 3b 0a 09 09 09 42 4f 4f 4c 20  PBOOL);....BOOL 
13db0 51 75 65 72 79 41 63 74 43 74 78 57 28 44 57 4f  QueryActCtxW(DWO
13dc0 52 44 2c 20 48 41 4e 44 4c 45 2c 20 50 56 4f 49  RD, HANDLE, PVOI
13dd0 44 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2c  D, ULONG, PVOID,
13de0 20 53 49 5a 45 5f 54 2c 20 53 49 5a 45 5f 54 2a   SIZE_T, SIZE_T*
13df0 29 3b 0a 09 09 09 42 4f 4f 4c 20 51 75 65 72 79  );....BOOL Query
13e00 4d 65 6d 6f 72 79 52 65 73 6f 75 72 63 65 4e 6f  MemoryResourceNo
13e10 74 69 66 69 63 61 74 69 6f 6e 28 48 41 4e 44 4c  tification(HANDL
13e20 45 2c 20 50 42 4f 4f 4c 29 3b 0a 09 09 09 76 6f  E, PBOOL);....vo
13e30 69 64 20 52 65 6c 65 61 73 65 41 63 74 43 74 78  id ReleaseActCtx
13e40 28 48 41 4e 44 4c 45 29 3b 0a 09 09 09 55 49 4e  (HANDLE);....UIN
13e50 54 20 52 65 73 65 74 57 72 69 74 65 57 61 74 63  T ResetWriteWatc
13e60 68 28 4c 50 56 4f 49 44 2c 20 53 49 5a 45 5f 54  h(LPVOID, SIZE_T
13e70 29 3b 0a 09 09 09 42 4f 4f 4c 20 53 65 74 46 69  );....BOOL SetFi
13e80 6c 65 53 68 6f 72 74 4e 61 6d 65 41 28 48 41 4e  leShortNameA(HAN
13e90 44 4c 45 2c 20 4c 50 43 53 54 52 29 3b 0a 09 09  DLE, LPCSTR);...
13ea0 09 42 4f 4f 4c 20 53 65 74 46 69 6c 65 53 68 6f  .BOOL SetFileSho
13eb0 72 74 4e 61 6d 65 57 28 48 41 4e 44 4c 45 2c 20  rtNameW(HANDLE, 
13ec0 4c 50 43 57 53 54 52 29 3b 0a 09 09 09 42 4f 4f  LPCWSTR);....BOO
13ed0 4c 20 53 65 74 46 69 6c 65 56 61 6c 69 64 44 61  L SetFileValidDa
13ee0 74 61 28 48 41 4e 44 4c 45 2c 20 4c 4f 4e 47 4c  ta(HANDLE, LONGL
13ef0 4f 4e 47 29 3b 0a 09 09 09 42 4f 4f 4c 20 5a 6f  ONG);....BOOL Zo
13f00 6d 62 69 66 79 41 63 74 43 74 78 28 48 41 4e 44  mbifyActCtx(HAND
13f10 4c 45 29 3b 0a 09 09 7d 0a 0a 09 09 73 74 61 74  LE);...}....stat
13f20 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
13f30 4e 4e 54 20 3e 3d 20 30 78 35 30 32 29 20 7b 0a  NNT >= 0x502) {.
13f40 09 09 09 44 57 4f 52 44 20 47 65 74 46 69 72 6d  ...DWORD GetFirm
13f50 77 61 72 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 56  wareEnvironmentV
13f60 61 72 69 61 62 6c 65 41 28 4c 50 43 53 54 52 2c  ariableA(LPCSTR,
13f70 20 4c 50 43 53 54 52 2c 20 50 56 4f 49 44 2c 20   LPCSTR, PVOID, 
13f80 44 57 4f 52 44 29 3b 0a 09 09 09 44 57 4f 52 44  DWORD);....DWORD
13f90 20 47 65 74 46 69 72 6d 77 61 72 65 45 6e 76 69   GetFirmwareEnvi
13fa0 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 57  ronmentVariableW
13fb0 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54  (LPCWSTR, LPCWST
13fc0 52 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 29  R, PVOID, DWORD)
13fd0 3b 0a 09 09 09 44 57 4f 52 44 20 47 65 74 44 6c  ;....DWORD GetDl
13fe0 6c 44 69 72 65 63 74 6f 72 79 41 28 44 57 4f 52  lDirectoryA(DWOR
13ff0 44 2c 20 4c 50 53 54 52 29 3b 0a 09 09 09 44 57  D, LPSTR);....DW
14000 4f 52 44 20 47 65 74 44 6c 6c 44 69 72 65 63 74  ORD GetDllDirect
14010 6f 72 79 57 28 44 57 4f 52 44 2c 20 4c 50 57 53  oryW(DWORD, LPWS
14020 54 52 29 3b 0a 09 09 09 44 57 4f 52 44 20 47 65  TR);....DWORD Ge
14030 74 50 72 6f 63 65 73 73 49 64 28 48 41 4e 44 4c  tProcessId(HANDL
14040 45 29 3b 0a 09 09 09 48 41 4e 44 4c 45 20 52 65  E);....HANDLE Re
14050 4f 70 65 6e 46 69 6c 65 28 48 41 4e 44 4c 45 2c  OpenFile(HANDLE,
14060 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44   DWORD, DWORD, D
14070 57 4f 52 44 29 3b 0a 09 09 09 42 4f 4f 4c 20 53  WORD);....BOOL S
14080 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79 41 28  etDllDirectoryA(
14090 4c 50 43 53 54 52 29 3b 0a 09 09 09 42 4f 4f 4c  LPCSTR);....BOOL
140a0 20 53 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79   SetDllDirectory
140b0 57 28 4c 50 43 57 53 54 52 29 3b 0a 09 09 09 42  W(LPCWSTR);....B
140c0 4f 4f 4c 20 53 65 74 46 69 72 6d 77 61 72 65 45  OOL SetFirmwareE
140d0 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62  nvironmentVariab
140e0 6c 65 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53  leA(LPCSTR, LPCS
140f0 54 52 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44  TR, PVOID, DWORD
14100 29 3b 0a 09 09 09 42 4f 4f 4c 20 53 65 74 46 69  );....BOOL SetFi
14110 72 6d 77 61 72 65 45 6e 76 69 72 6f 6e 6d 65 6e  rmwareEnvironmen
14120 74 56 61 72 69 61 62 6c 65 57 28 4c 50 43 57 53  tVariableW(LPCWS
14130 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 50 56 4f  TR, LPCWSTR, PVO
14140 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 09 7d 0a  ID, DWORD);...}.
14150 09 7d 0a 0a 09 2f 2f 20 3f 3f 3f 0a 09 73 74 61  .}...// ???..sta
14160 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
14170 49 4e 4e 54 20 3e 3d 20 30 78 35 31 30 29 20 7b  INNT >= 0x510) {
14180 0a 09 09 56 4f 49 44 20 52 65 73 74 6f 72 65 4c  ...VOID RestoreL
14190 61 73 74 45 72 72 6f 72 28 44 57 4f 52 44 29 3b  astError(DWORD);
141a0 0a 09 7d 0a 7d 0a 0a 0a 76 65 72 73 69 6f 6e 20  ..}.}...version 
141b0 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09 61 6c 69  (Unicode) {..ali
141c0 61 73 20 53 54 41 52 54 55 50 49 4e 46 4f 57 20  as STARTUPINFOW 
141d0 53 54 41 52 54 55 50 49 4e 46 4f 3b 0a 09 61 6c  STARTUPINFO;..al
141e0 69 61 73 20 57 49 4e 33 32 5f 46 49 4e 44 5f 44  ias WIN32_FIND_D
141f0 41 54 41 57 20 57 49 4e 33 32 5f 46 49 4e 44 5f  ATAW WIN32_FIND_
14200 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 45 4e 55  DATA;..alias ENU
14210 4d 52 45 53 4c 41 4e 47 50 52 4f 43 57 20 45 4e  MRESLANGPROCW EN
14220 55 4d 52 45 53 4c 41 4e 47 50 52 4f 43 3b 0a 09  UMRESLANGPROC;..
14230 61 6c 69 61 73 20 45 4e 55 4d 52 45 53 4e 41 4d  alias ENUMRESNAM
14240 45 50 52 4f 43 57 20 45 4e 55 4d 52 45 53 4e 41  EPROCW ENUMRESNA
14250 4d 45 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 45  MEPROC;..alias E
14260 4e 55 4d 52 45 53 54 59 50 45 50 52 4f 43 57 20  NUMRESTYPEPROCW 
14270 45 4e 55 4d 52 45 53 54 59 50 45 50 52 4f 43 3b  ENUMRESTYPEPROC;
14280 0a 09 61 6c 69 61 73 20 41 64 64 41 74 6f 6d 57  ..alias AddAtomW
14290 20 41 64 64 41 74 6f 6d 3b 0a 09 61 6c 69 61 73   AddAtom;..alias
142a0 20 42 65 67 69 6e 55 70 64 61 74 65 52 65 73 6f   BeginUpdateReso
142b0 75 72 63 65 57 20 42 65 67 69 6e 55 70 64 61 74  urceW BeginUpdat
142c0 65 52 65 73 6f 75 72 63 65 3b 0a 09 61 6c 69 61  eResource;..alia
142d0 73 20 42 75 69 6c 64 43 6f 6d 6d 44 43 42 57 20  s BuildCommDCBW 
142e0 42 75 69 6c 64 43 6f 6d 6d 44 43 42 3b 0a 09 61  BuildCommDCB;..a
142f0 6c 69 61 73 20 42 75 69 6c 64 43 6f 6d 6d 44 43  lias BuildCommDC
14300 42 41 6e 64 54 69 6d 65 6f 75 74 73 57 20 42 75  BAndTimeoutsW Bu
14310 69 6c 64 43 6f 6d 6d 44 43 42 41 6e 64 54 69 6d  ildCommDCBAndTim
14320 65 6f 75 74 73 3b 0a 09 61 6c 69 61 73 20 43 61  eouts;..alias Ca
14330 6c 6c 4e 61 6d 65 64 50 69 70 65 57 20 43 61 6c  llNamedPipeW Cal
14340 6c 4e 61 6d 65 64 50 69 70 65 3b 0a 09 61 6c 69  lNamedPipe;..ali
14350 61 73 20 43 6f 6d 6d 43 6f 6e 66 69 67 44 69 61  as CommConfigDia
14360 6c 6f 67 57 20 43 6f 6d 6d 43 6f 6e 66 69 67 44  logW CommConfigD
14370 69 61 6c 6f 67 3b 0a 09 61 6c 69 61 73 20 43 6f  ialog;..alias Co
14380 70 79 46 69 6c 65 57 20 43 6f 70 79 46 69 6c 65  pyFileW CopyFile
14390 3b 0a 09 61 6c 69 61 73 20 43 6f 70 79 46 69 6c  ;..alias CopyFil
143a0 65 45 78 57 20 43 6f 70 79 46 69 6c 65 45 78 3b  eExW CopyFileEx;
143b0 0a 09 61 6c 69 61 73 20 43 72 65 61 74 65 44 69  ..alias CreateDi
143c0 72 65 63 74 6f 72 79 57 20 43 72 65 61 74 65 44  rectoryW CreateD
143d0 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c 69 61 73  irectory;..alias
143e0 20 43 72 65 61 74 65 44 69 72 65 63 74 6f 72 79   CreateDirectory
143f0 45 78 57 20 43 72 65 61 74 65 44 69 72 65 63 74  ExW CreateDirect
14400 6f 72 79 45 78 3b 0a 09 61 6c 69 61 73 20 43 72  oryEx;..alias Cr
14410 65 61 74 65 45 76 65 6e 74 57 20 43 72 65 61 74  eateEventW Creat
14420 65 45 76 65 6e 74 3b 0a 09 61 6c 69 61 73 20 43  eEvent;..alias C
14430 72 65 61 74 65 46 69 6c 65 57 20 43 72 65 61 74  reateFileW Creat
14440 65 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 43 72  eFile;..alias Cr
14450 65 61 74 65 4d 61 69 6c 73 6c 6f 74 57 20 43 72  eateMailslotW Cr
14460 65 61 74 65 4d 61 69 6c 73 6c 6f 74 3b 0a 09 61  eateMailslot;..a
14470 6c 69 61 73 20 43 72 65 61 74 65 4d 75 74 65 78  lias CreateMutex
14480 57 20 43 72 65 61 74 65 4d 75 74 65 78 3b 0a 09  W CreateMutex;..
14490 61 6c 69 61 73 20 43 72 65 61 74 65 50 72 6f 63  alias CreateProc
144a0 65 73 73 57 20 43 72 65 61 74 65 50 72 6f 63 65  essW CreateProce
144b0 73 73 3b 0a 09 61 6c 69 61 73 20 43 72 65 61 74  ss;..alias Creat
144c0 65 53 65 6d 61 70 68 6f 72 65 57 20 43 72 65 61  eSemaphoreW Crea
144d0 74 65 53 65 6d 61 70 68 6f 72 65 3b 0a 09 61 6c  teSemaphore;..al
144e0 69 61 73 20 44 65 6c 65 74 65 46 69 6c 65 57 20  ias DeleteFileW 
144f0 44 65 6c 65 74 65 46 69 6c 65 3b 0a 09 61 6c 69  DeleteFile;..ali
14500 61 73 20 45 6e 64 55 70 64 61 74 65 52 65 73 6f  as EndUpdateReso
14510 75 72 63 65 57 20 45 6e 64 55 70 64 61 74 65 52  urceW EndUpdateR
14520 65 73 6f 75 72 63 65 3b 0a 09 61 6c 69 61 73 20  esource;..alias 
14530 45 6e 75 6d 52 65 73 6f 75 72 63 65 4c 61 6e 67  EnumResourceLang
14540 75 61 67 65 73 57 20 45 6e 75 6d 52 65 73 6f 75  uagesW EnumResou
14550 72 63 65 4c 61 6e 67 75 61 67 65 73 3b 0a 09 61  rceLanguages;..a
14560 6c 69 61 73 20 45 6e 75 6d 52 65 73 6f 75 72 63  lias EnumResourc
14570 65 4e 61 6d 65 73 57 20 45 6e 75 6d 52 65 73 6f  eNamesW EnumReso
14580 75 72 63 65 4e 61 6d 65 73 3b 0a 09 61 6c 69 61  urceNames;..alia
14590 73 20 45 6e 75 6d 52 65 73 6f 75 72 63 65 54 79  s EnumResourceTy
145a0 70 65 73 57 20 45 6e 75 6d 52 65 73 6f 75 72 63  pesW EnumResourc
145b0 65 54 79 70 65 73 3b 0a 09 61 6c 69 61 73 20 45  eTypes;..alias E
145c0 78 70 61 6e 64 45 6e 76 69 72 6f 6e 6d 65 6e 74  xpandEnvironment
145d0 53 74 72 69 6e 67 73 57 20 45 78 70 61 6e 64 45  StringsW ExpandE
145e0 6e 76 69 72 6f 6e 6d 65 6e 74 53 74 72 69 6e 67  nvironmentString
145f0 73 3b 0a 09 61 6c 69 61 73 20 46 61 74 61 6c 41  s;..alias FatalA
14600 70 70 45 78 69 74 57 20 46 61 74 61 6c 41 70 70  ppExitW FatalApp
14610 45 78 69 74 3b 0a 09 61 6c 69 61 73 20 46 69 6e  Exit;..alias Fin
14620 64 41 74 6f 6d 57 20 46 69 6e 64 41 74 6f 6d 3b  dAtomW FindAtom;
14630 0a 09 61 6c 69 61 73 20 46 69 6e 64 46 69 72 73  ..alias FindFirs
14640 74 43 68 61 6e 67 65 4e 6f 74 69 66 69 63 61 74  tChangeNotificat
14650 69 6f 6e 57 20 46 69 6e 64 46 69 72 73 74 43 68  ionW FindFirstCh
14660 61 6e 67 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e  angeNotification
14670 3b 0a 09 61 6c 69 61 73 20 46 69 6e 64 46 69 72  ;..alias FindFir
14680 73 74 46 69 6c 65 57 20 46 69 6e 64 46 69 72 73  stFileW FindFirs
14690 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 46 69  tFile;..alias Fi
146a0 6e 64 4e 65 78 74 46 69 6c 65 57 20 46 69 6e 64  ndNextFileW Find
146b0 4e 65 78 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73  NextFile;..alias
146c0 20 46 69 6e 64 52 65 73 6f 75 72 63 65 57 20 46   FindResourceW F
146d0 69 6e 64 52 65 73 6f 75 72 63 65 3b 0a 09 61 6c  indResource;..al
146e0 69 61 73 20 46 69 6e 64 52 65 73 6f 75 72 63 65  ias FindResource
146f0 45 78 57 20 46 69 6e 64 52 65 73 6f 75 72 63 65  ExW FindResource
14700 45 78 3b 0a 09 61 6c 69 61 73 20 46 6f 72 6d 61  Ex;..alias Forma
14710 74 4d 65 73 73 61 67 65 57 20 46 6f 72 6d 61 74  tMessageW Format
14720 4d 65 73 73 61 67 65 3b 0a 09 61 6c 69 61 73 20  Message;..alias 
14730 46 72 65 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 53  FreeEnvironmentS
14740 74 72 69 6e 67 73 57 20 46 72 65 65 45 6e 76 69  tringsW FreeEnvi
14750 72 6f 6e 6d 65 6e 74 53 74 72 69 6e 67 73 3b 0a  ronmentStrings;.
14760 09 61 6c 69 61 73 20 47 65 74 41 74 6f 6d 4e 61  .alias GetAtomNa
14770 6d 65 57 20 47 65 74 41 74 6f 6d 4e 61 6d 65 3b  meW GetAtomName;
14780 0a 09 61 6c 69 61 73 20 47 65 74 43 6f 6d 6d 61  ..alias GetComma
14790 6e 64 4c 69 6e 65 57 20 47 65 74 43 6f 6d 6d 61  ndLineW GetComma
147a0 6e 64 4c 69 6e 65 3b 0a 09 61 6c 69 61 73 20 47  ndLine;..alias G
147b0 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65 57 20  etComputerNameW 
147c0 47 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65 3b  GetComputerName;
147d0 0a 09 61 6c 69 61 73 20 47 65 74 43 75 72 72 65  ..alias GetCurre
147e0 6e 74 44 69 72 65 63 74 6f 72 79 57 20 47 65 74  ntDirectoryW Get
147f0 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79  CurrentDirectory
14800 3b 0a 09 61 6c 69 61 73 20 47 65 74 44 65 66 61  ;..alias GetDefa
14810 75 6c 74 43 6f 6d 6d 43 6f 6e 66 69 67 57 20 47  ultCommConfigW G
14820 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 43 6f 6e  etDefaultCommCon
14830 66 69 67 3b 0a 09 61 6c 69 61 73 20 47 65 74 44  fig;..alias GetD
14840 69 73 6b 46 72 65 65 53 70 61 63 65 57 20 47 65  iskFreeSpaceW Ge
14850 74 44 69 73 6b 46 72 65 65 53 70 61 63 65 3b 0a  tDiskFreeSpace;.
14860 09 61 6c 69 61 73 20 47 65 74 44 69 73 6b 46 72  .alias GetDiskFr
14870 65 65 53 70 61 63 65 45 78 57 20 47 65 74 44 69  eeSpaceExW GetDi
14880 73 6b 46 72 65 65 53 70 61 63 65 45 78 3b 0a 09  skFreeSpaceEx;..
14890 61 6c 69 61 73 20 47 65 74 44 72 69 76 65 54 79  alias GetDriveTy
148a0 70 65 57 20 47 65 74 44 72 69 76 65 54 79 70 65  peW GetDriveType
148b0 3b 0a 09 61 6c 69 61 73 20 47 65 74 45 6e 76 69  ;..alias GetEnvi
148c0 72 6f 6e 6d 65 6e 74 53 74 72 69 6e 67 73 57 20  ronmentStringsW 
148d0 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74  GetEnvironmentSt
148e0 72 69 6e 67 73 3b 0a 09 61 6c 69 61 73 20 47 65  rings;..alias Ge
148f0 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69  tEnvironmentVari
14900 61 62 6c 65 57 20 47 65 74 45 6e 76 69 72 6f 6e  ableW GetEnviron
14910 6d 65 6e 74 56 61 72 69 61 62 6c 65 3b 0a 09 61  mentVariable;..a
14920 6c 69 61 73 20 47 65 74 46 69 6c 65 41 74 74 72  lias GetFileAttr
14930 69 62 75 74 65 73 57 20 47 65 74 46 69 6c 65 41  ibutesW GetFileA
14940 74 74 72 69 62 75 74 65 73 3b 0a 09 61 6c 69 61  ttributes;..alia
14950 73 20 47 65 74 46 75 6c 6c 50 61 74 68 4e 61 6d  s GetFullPathNam
14960 65 57 20 47 65 74 46 75 6c 6c 50 61 74 68 4e 61  eW GetFullPathNa
14970 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 4c 6f  me;..alias GetLo
14980 67 69 63 61 6c 44 72 69 76 65 53 74 72 69 6e 67  gicalDriveString
14990 73 57 20 47 65 74 4c 6f 67 69 63 61 6c 44 72 69  sW GetLogicalDri
149a0 76 65 53 74 72 69 6e 67 73 3b 0a 09 61 6c 69 61  veStrings;..alia
149b0 73 20 47 65 74 4d 6f 64 75 6c 65 46 69 6c 65 4e  s GetModuleFileN
149c0 61 6d 65 57 20 47 65 74 4d 6f 64 75 6c 65 46 69  ameW GetModuleFi
149d0 6c 65 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47  leName;..alias G
149e0 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 57 20  etModuleHandleW 
149f0 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 3b  GetModuleHandle;
14a00 0a 09 61 6c 69 61 73 20 47 65 74 4e 61 6d 65 64  ..alias GetNamed
14a10 50 69 70 65 48 61 6e 64 6c 65 53 74 61 74 65 57  PipeHandleStateW
14a20 20 47 65 74 4e 61 6d 65 64 50 69 70 65 48 61 6e   GetNamedPipeHan
14a30 64 6c 65 53 74 61 74 65 3b 0a 09 61 6c 69 61 73  dleState;..alias
14a40 20 47 65 74 50 72 69 76 61 74 65 50 72 6f 66 69   GetPrivateProfi
14a50 6c 65 49 6e 74 57 20 47 65 74 50 72 69 76 61 74  leIntW GetPrivat
14a60 65 50 72 6f 66 69 6c 65 49 6e 74 3b 0a 09 61 6c  eProfileInt;..al
14a70 69 61 73 20 47 65 74 50 72 69 76 61 74 65 50 72  ias GetPrivatePr
14a80 6f 66 69 6c 65 53 65 63 74 69 6f 6e 57 20 47 65  ofileSectionW Ge
14a90 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53  tPrivateProfileS
14aa0 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 47  ection;..alias G
14ab0 65 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65  etPrivateProfile
14ac0 53 65 63 74 69 6f 6e 4e 61 6d 65 73 57 20 47 65  SectionNamesW Ge
14ad0 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53  tPrivateProfileS
14ae0 65 63 74 69 6f 6e 4e 61 6d 65 73 3b 0a 09 61 6c  ectionNames;..al
14af0 69 61 73 20 47 65 74 50 72 69 76 61 74 65 50 72  ias GetPrivatePr
14b00 6f 66 69 6c 65 53 74 72 69 6e 67 57 20 47 65 74  ofileStringW Get
14b10 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74  PrivateProfileSt
14b20 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 47 65 74  ring;..alias Get
14b30 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74  PrivateProfileSt
14b40 72 75 63 74 57 20 47 65 74 50 72 69 76 61 74 65  ructW GetPrivate
14b50 50 72 6f 66 69 6c 65 53 74 72 75 63 74 3b 0a 09  ProfileStruct;..
14b60 61 6c 69 61 73 20 47 65 74 50 72 6f 66 69 6c 65  alias GetProfile
14b70 49 6e 74 57 20 47 65 74 50 72 6f 66 69 6c 65 49  IntW GetProfileI
14b80 6e 74 3b 0a 09 61 6c 69 61 73 20 47 65 74 50 72  nt;..alias GetPr
14b90 6f 66 69 6c 65 53 65 63 74 69 6f 6e 57 20 47 65  ofileSectionW Ge
14ba0 74 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 3b  tProfileSection;
14bb0 0a 09 61 6c 69 61 73 20 47 65 74 50 72 6f 66 69  ..alias GetProfi
14bc0 6c 65 53 74 72 69 6e 67 57 20 47 65 74 50 72 6f  leStringW GetPro
14bd0 66 69 6c 65 53 74 72 69 6e 67 3b 0a 09 61 6c 69  fileString;..ali
14be0 61 73 20 47 65 74 53 68 6f 72 74 50 61 74 68 4e  as GetShortPathN
14bf0 61 6d 65 57 20 47 65 74 53 68 6f 72 74 50 61 74  ameW GetShortPat
14c00 68 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65  hName;..alias Ge
14c10 74 53 74 61 72 74 75 70 49 6e 66 6f 57 20 47 65  tStartupInfoW Ge
14c20 74 53 74 61 72 74 75 70 49 6e 66 6f 3b 0a 09 61  tStartupInfo;..a
14c30 6c 69 61 73 20 47 65 74 53 79 73 74 65 6d 44 69  lias GetSystemDi
14c40 72 65 63 74 6f 72 79 57 20 47 65 74 53 79 73 74  rectoryW GetSyst
14c50 65 6d 44 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c  emDirectory;..al
14c60 69 61 73 20 47 65 74 54 65 6d 70 46 69 6c 65 4e  ias GetTempFileN
14c70 61 6d 65 57 20 47 65 74 54 65 6d 70 46 69 6c 65  ameW GetTempFile
14c80 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65 74  Name;..alias Get
14c90 54 65 6d 70 50 61 74 68 57 20 47 65 74 54 65 6d  TempPathW GetTem
14ca0 70 50 61 74 68 3b 0a 09 61 6c 69 61 73 20 47 65  pPath;..alias Ge
14cb0 74 55 73 65 72 4e 61 6d 65 57 20 47 65 74 55 73  tUserNameW GetUs
14cc0 65 72 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47  erName;..alias G
14cd0 65 74 56 65 72 73 69 6f 6e 45 78 57 20 47 65 74  etVersionExW Get
14ce0 56 65 72 73 69 6f 6e 45 78 3b 0a 09 61 6c 69 61  VersionEx;..alia
14cf0 73 20 47 65 74 56 6f 6c 75 6d 65 49 6e 66 6f 72  s GetVolumeInfor
14d00 6d 61 74 69 6f 6e 57 20 47 65 74 56 6f 6c 75 6d  mationW GetVolum
14d10 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 61  eInformation;..a
14d20 6c 69 61 73 20 47 65 74 57 69 6e 64 6f 77 73 44  lias GetWindowsD
14d30 69 72 65 63 74 6f 72 79 57 20 47 65 74 57 69 6e  irectoryW GetWin
14d40 64 6f 77 73 44 69 72 65 63 74 6f 72 79 3b 0a 09  dowsDirectory;..
14d50 61 6c 69 61 73 20 47 6c 6f 62 61 6c 41 64 64 41  alias GlobalAddA
14d60 74 6f 6d 57 20 47 6c 6f 62 61 6c 41 64 64 41 74  tomW GlobalAddAt
14d70 6f 6d 3b 0a 09 61 6c 69 61 73 20 47 6c 6f 62 61  om;..alias Globa
14d80 6c 46 69 6e 64 41 74 6f 6d 57 20 47 6c 6f 62 61  lFindAtomW Globa
14d90 6c 46 69 6e 64 41 74 6f 6d 3b 0a 09 61 6c 69 61  lFindAtom;..alia
14da0 73 20 47 6c 6f 62 61 6c 47 65 74 41 74 6f 6d 4e  s GlobalGetAtomN
14db0 61 6d 65 57 20 47 6c 6f 62 61 6c 47 65 74 41 74  ameW GlobalGetAt
14dc0 6f 6d 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 49  omName;..alias I
14dd0 73 42 61 64 53 74 72 69 6e 67 50 74 72 57 20 49  sBadStringPtrW I
14de0 73 42 61 64 53 74 72 69 6e 67 50 74 72 3b 0a 09  sBadStringPtr;..
14df0 61 6c 69 61 73 20 4c 6f 61 64 4c 69 62 72 61 72  alias LoadLibrar
14e00 79 57 20 4c 6f 61 64 4c 69 62 72 61 72 79 3b 0a  yW LoadLibrary;.
14e10 09 61 6c 69 61 73 20 4c 6f 61 64 4c 69 62 72 61  .alias LoadLibra
14e20 72 79 45 78 57 20 4c 6f 61 64 4c 69 62 72 61 72  ryExW LoadLibrar
14e30 79 45 78 3b 0a 09 61 6c 69 61 73 20 6c 73 74 72  yEx;..alias lstr
14e40 63 61 74 57 20 6c 73 74 72 63 61 74 3b 0a 09 61  catW lstrcat;..a
14e50 6c 69 61 73 20 6c 73 74 72 63 6d 70 57 20 6c 73  lias lstrcmpW ls
14e60 74 72 63 6d 70 3b 0a 09 61 6c 69 61 73 20 6c 73  trcmp;..alias ls
14e70 74 72 63 6d 70 69 57 20 6c 73 74 72 63 6d 70 69  trcmpiW lstrcmpi
14e80 3b 0a 09 61 6c 69 61 73 20 6c 73 74 72 63 70 79  ;..alias lstrcpy
14e90 57 20 6c 73 74 72 63 70 79 3b 0a 09 61 6c 69 61  W lstrcpy;..alia
14ea0 73 20 6c 73 74 72 63 70 79 6e 57 20 6c 73 74 72  s lstrcpynW lstr
14eb0 63 70 79 6e 3b 0a 09 61 6c 69 61 73 20 6c 73 74  cpyn;..alias lst
14ec0 72 6c 65 6e 57 20 6c 73 74 72 6c 65 6e 3b 0a 09  rlenW lstrlen;..
14ed0 61 6c 69 61 73 20 4d 6f 76 65 46 69 6c 65 57 20  alias MoveFileW 
14ee0 4d 6f 76 65 46 69 6c 65 3b 0a 09 61 6c 69 61 73  MoveFile;..alias
14ef0 20 4f 70 65 6e 45 76 65 6e 74 57 20 4f 70 65 6e   OpenEventW Open
14f00 45 76 65 6e 74 3b 0a 09 61 6c 69 61 73 20 4f 70  Event;..alias Op
14f10 65 6e 4d 75 74 65 78 57 20 4f 70 65 6e 4d 75 74  enMutexW OpenMut
14f20 65 78 3b 0a 09 61 6c 69 61 73 20 4f 70 65 6e 53  ex;..alias OpenS
14f30 65 6d 61 70 68 6f 72 65 57 20 4f 70 65 6e 53 65  emaphoreW OpenSe
14f40 6d 61 70 68 6f 72 65 3b 0a 09 61 6c 69 61 73 20  maphore;..alias 
14f50 4f 75 74 70 75 74 44 65 62 75 67 53 74 72 69 6e  OutputDebugStrin
14f60 67 57 20 4f 75 74 70 75 74 44 65 62 75 67 53 74  gW OutputDebugSt
14f70 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 52 65 6d  ring;..alias Rem
14f80 6f 76 65 44 69 72 65 63 74 6f 72 79 57 20 52 65  oveDirectoryW Re
14f90 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 3b 0a 09  moveDirectory;..
14fa0 61 6c 69 61 73 20 53 65 61 72 63 68 50 61 74 68  alias SearchPath
14fb0 57 20 53 65 61 72 63 68 50 61 74 68 3b 0a 09 61  W SearchPath;..a
14fc0 6c 69 61 73 20 53 65 74 43 6f 6d 70 75 74 65 72  lias SetComputer
14fd0 4e 61 6d 65 57 20 53 65 74 43 6f 6d 70 75 74 65  NameW SetCompute
14fe0 72 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 53 65  rName;..alias Se
14ff0 74 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72  tCurrentDirector
15000 79 57 20 53 65 74 43 75 72 72 65 6e 74 44 69 72  yW SetCurrentDir
15010 65 63 74 6f 72 79 3b 0a 09 61 6c 69 61 73 20 53  ectory;..alias S
15020 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 43 6f 6e  etDefaultCommCon
15030 66 69 67 57 20 53 65 74 44 65 66 61 75 6c 74 43  figW SetDefaultC
15040 6f 6d 6d 43 6f 6e 66 69 67 3b 0a 09 61 6c 69 61  ommConfig;..alia
15050 73 20 53 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74  s SetEnvironment
15060 56 61 72 69 61 62 6c 65 57 20 53 65 74 45 6e 76  VariableW SetEnv
15070 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65  ironmentVariable
15080 3b 0a 09 61 6c 69 61 73 20 53 65 74 46 69 6c 65  ;..alias SetFile
15090 41 74 74 72 69 62 75 74 65 73 57 20 53 65 74 46  AttributesW SetF
150a0 69 6c 65 41 74 74 72 69 62 75 74 65 73 3b 0a 09  ileAttributes;..
150b0 61 6c 69 61 73 20 53 65 74 56 6f 6c 75 6d 65 4c  alias SetVolumeL
150c0 61 62 65 6c 57 20 53 65 74 56 6f 6c 75 6d 65 4c  abelW SetVolumeL
150d0 61 62 65 6c 3b 0a 09 61 6c 69 61 73 20 57 61 69  abel;..alias Wai
150e0 74 4e 61 6d 65 64 50 69 70 65 57 20 57 61 69 74  tNamedPipeW Wait
150f0 4e 61 6d 65 64 50 69 70 65 3b 0a 09 61 6c 69 61  NamedPipe;..alia
15100 73 20 57 72 69 74 65 50 72 69 76 61 74 65 50 72  s WritePrivatePr
15110 6f 66 69 6c 65 53 65 63 74 69 6f 6e 57 20 57 72  ofileSectionW Wr
15120 69 74 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c  itePrivateProfil
15130 65 53 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73  eSection;..alias
15140 20 57 72 69 74 65 50 72 69 76 61 74 65 50 72 6f   WritePrivatePro
15150 66 69 6c 65 53 74 72 69 6e 67 57 20 57 72 69 74  fileStringW Writ
15160 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53  ePrivateProfileS
15170 74 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 57 72  tring;..alias Wr
15180 69 74 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c  itePrivateProfil
15190 65 53 74 72 75 63 74 57 20 57 72 69 74 65 50 72  eStructW WritePr
151a0 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74 72 75  ivateProfileStru
151b0 63 74 3b 0a 09 61 6c 69 61 73 20 57 72 69 74 65  ct;..alias Write
151c0 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e 57 20  ProfileSectionW 
151d0 57 72 69 74 65 50 72 6f 66 69 6c 65 53 65 63 74  WriteProfileSect
151e0 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 57 72 69 74  ion;..alias Writ
151f0 65 50 72 6f 66 69 6c 65 53 74 72 69 6e 67 57 20  eProfileStringW 
15200 57 72 69 74 65 50 72 6f 66 69 6c 65 53 74 72 69  WriteProfileStri
15210 6e 67 3b 0a 0a 09 73 74 61 74 69 63 20 69 66 20  ng;...static if 
15220 28 5f 57 49 4e 33 32 5f 57 49 4e 44 4f 57 53 20  (_WIN32_WINDOWS 
15230 3e 3d 20 30 78 34 31 30 29 20 7b 0a 09 09 61 6c  >= 0x410) {...al
15240 69 61 73 20 43 72 65 61 74 65 57 61 69 74 61 62  ias CreateWaitab
15250 6c 65 54 69 6d 65 72 57 20 43 72 65 61 74 65 57  leTimerW CreateW
15260 61 69 74 61 62 6c 65 54 69 6d 65 72 3b 0a 09 09  aitableTimer;...
15270 61 6c 69 61 73 20 47 65 74 46 69 6c 65 41 74 74  alias GetFileAtt
15280 72 69 62 75 74 65 73 45 78 57 20 47 65 74 46 69  ributesExW GetFi
15290 6c 65 41 74 74 72 69 62 75 74 65 73 45 78 3b 0a  leAttributesEx;.
152a0 09 09 61 6c 69 61 73 20 47 65 74 4c 6f 6e 67 50  ..alias GetLongP
152b0 61 74 68 4e 61 6d 65 57 20 47 65 74 4c 6f 6e 67  athNameW GetLong
152c0 50 61 74 68 4e 61 6d 65 3b 0a 09 09 61 6c 69 61  PathName;...alia
152d0 73 20 51 75 65 72 79 44 6f 73 44 65 76 69 63 65  s QueryDosDevice
152e0 57 20 51 75 65 72 79 44 6f 73 44 65 76 69 63 65  W QueryDosDevice
152f0 3b 0a 09 7d 0a 0a 09 73 74 61 74 69 63 20 69 66  ;..}...static if
15300 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f   (_WIN32_WINNT_O
15310 4e 4c 59 29 20 7b 0a 09 09 61 6c 69 61 73 20 48  NLY) {...alias H
15320 57 5f 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 57 20  W_PROFILE_INFOW 
15330 48 57 5f 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 3b  HW_PROFILE_INFO;
15340 0a 09 09 61 6c 69 61 73 20 41 63 63 65 73 73 43  ...alias AccessC
15350 68 65 63 6b 41 6e 64 41 75 64 69 74 41 6c 61 72  heckAndAuditAlar
15360 6d 57 20 41 63 63 65 73 73 43 68 65 63 6b 41 6e  mW AccessCheckAn
15370 64 41 75 64 69 74 41 6c 61 72 6d 3b 0a 09 09 61  dAuditAlarm;...a
15380 6c 69 61 73 20 42 61 63 6b 75 70 45 76 65 6e 74  lias BackupEvent
15390 4c 6f 67 57 20 42 61 63 6b 75 70 45 76 65 6e 74  LogW BackupEvent
153a0 4c 6f 67 3b 0a 09 09 61 6c 69 61 73 20 43 6c 65  Log;...alias Cle
153b0 61 72 45 76 65 6e 74 4c 6f 67 57 20 43 6c 65 61  arEventLogW Clea
153c0 72 45 76 65 6e 74 4c 6f 67 3b 0a 09 09 61 6c 69  rEventLog;...ali
153d0 61 73 20 43 72 65 61 74 65 4e 61 6d 65 64 50 69  as CreateNamedPi
153e0 70 65 57 20 43 72 65 61 74 65 4e 61 6d 65 64 50  peW CreateNamedP
153f0 69 70 65 3b 0a 09 09 61 6c 69 61 73 20 43 72 65  ipe;...alias Cre
15400 61 74 65 50 72 6f 63 65 73 73 41 73 55 73 65 72  ateProcessAsUser
15410 57 20 43 72 65 61 74 65 50 72 6f 63 65 73 73 41  W CreateProcessA
15420 73 55 73 65 72 3b 0a 09 09 61 6c 69 61 73 20 44  sUser;...alias D
15430 65 66 69 6e 65 44 6f 73 44 65 76 69 63 65 57 20  efineDosDeviceW 
15440 44 65 66 69 6e 65 44 6f 73 44 65 76 69 63 65 3b  DefineDosDevice;
15450 0a 09 09 61 6c 69 61 73 20 46 69 6e 64 46 69 72  ...alias FindFir
15460 73 74 46 69 6c 65 45 78 57 20 46 69 6e 64 46 69  stFileExW FindFi
15470 72 73 74 46 69 6c 65 45 78 3b 0a 09 09 61 6c 69  rstFileEx;...ali
15480 61 73 20 47 65 74 42 69 6e 61 72 79 54 79 70 65  as GetBinaryType
15490 57 20 47 65 74 42 69 6e 61 72 79 54 79 70 65 3b  W GetBinaryType;
154a0 0a 09 09 61 6c 69 61 73 20 47 65 74 43 6f 6d 70  ...alias GetComp
154b0 72 65 73 73 65 64 46 69 6c 65 53 69 7a 65 57 20  ressedFileSizeW 
154c0 47 65 74 43 6f 6d 70 72 65 73 73 65 64 46 69 6c  GetCompressedFil
154d0 65 53 69 7a 65 3b 0a 09 09 61 6c 69 61 73 20 47  eSize;...alias G
154e0 65 74 46 69 6c 65 53 65 63 75 72 69 74 79 57 20  etFileSecurityW 
154f0 47 65 74 46 69 6c 65 53 65 63 75 72 69 74 79 3b  GetFileSecurity;
15500 0a 09 09 61 6c 69 61 73 20 4c 6f 67 6f 6e 55 73  ...alias LogonUs
15510 65 72 57 20 4c 6f 67 6f 6e 55 73 65 72 3b 0a 09  erW LogonUser;..
15520 09 61 6c 69 61 73 20 4c 6f 6f 6b 75 70 41 63 63  .alias LookupAcc
15530 6f 75 6e 74 4e 61 6d 65 57 20 4c 6f 6f 6b 75 70  ountNameW Lookup
15540 41 63 63 6f 75 6e 74 4e 61 6d 65 3b 0a 09 09 61  AccountName;...a
15550 6c 69 61 73 20 4c 6f 6f 6b 75 70 41 63 63 6f 75  lias LookupAccou
15560 6e 74 53 69 64 57 20 4c 6f 6f 6b 75 70 41 63 63  ntSidW LookupAcc
15570 6f 75 6e 74 53 69 64 3b 0a 09 09 61 6c 69 61 73  ountSid;...alias
15580 20 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65 67 65   LookupPrivilege
15590 44 69 73 70 6c 61 79 4e 61 6d 65 57 20 4c 6f 6f  DisplayNameW Loo
155a0 6b 75 70 50 72 69 76 69 6c 65 67 65 44 69 73 70  kupPrivilegeDisp
155b0 6c 61 79 4e 61 6d 65 3b 0a 09 09 61 6c 69 61 73  layName;...alias
155c0 20 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65 67 65   LookupPrivilege
155d0 4e 61 6d 65 57 20 4c 6f 6f 6b 75 70 50 72 69 76  NameW LookupPriv
155e0 69 6c 65 67 65 4e 61 6d 65 3b 0a 09 09 61 6c 69  ilegeName;...ali
155f0 61 73 20 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65  as LookupPrivile
15600 67 65 56 61 6c 75 65 57 20 4c 6f 6f 6b 75 70 50  geValueW LookupP
15610 72 69 76 69 6c 65 67 65 56 61 6c 75 65 3b 0a 09  rivilegeValue;..
15620 09 61 6c 69 61 73 20 4d 6f 76 65 46 69 6c 65 45  .alias MoveFileE
15630 78 57 20 4d 6f 76 65 46 69 6c 65 45 78 3b 0a 09  xW MoveFileEx;..
15640 09 61 6c 69 61 73 20 4f 62 6a 65 63 74 43 6c 6f  .alias ObjectClo
15650 73 65 41 75 64 69 74 41 6c 61 72 6d 57 20 4f 62  seAuditAlarmW Ob
15660 6a 65 63 74 43 6c 6f 73 65 41 75 64 69 74 41 6c  jectCloseAuditAl
15670 61 72 6d 3b 0a 09 09 61 6c 69 61 73 20 4f 62 6a  arm;...alias Obj
15680 65 63 74 44 65 6c 65 74 65 41 75 64 69 74 41 6c  ectDeleteAuditAl
15690 61 72 6d 57 20 4f 62 6a 65 63 74 44 65 6c 65 74  armW ObjectDelet
156a0 65 41 75 64 69 74 41 6c 61 72 6d 3b 0a 09 09 61  eAuditAlarm;...a
156b0 6c 69 61 73 20 4f 62 6a 65 63 74 4f 70 65 6e 41  lias ObjectOpenA
156c0 75 64 69 74 41 6c 61 72 6d 57 20 4f 62 6a 65 63  uditAlarmW Objec
156d0 74 4f 70 65 6e 41 75 64 69 74 41 6c 61 72 6d 3b  tOpenAuditAlarm;
156e0 0a 09 09 61 6c 69 61 73 20 4f 62 6a 65 63 74 50  ...alias ObjectP
156f0 72 69 76 69 6c 65 67 65 41 75 64 69 74 41 6c 61  rivilegeAuditAla
15700 72 6d 57 20 4f 62 6a 65 63 74 50 72 69 76 69 6c  rmW ObjectPrivil
15710 65 67 65 41 75 64 69 74 41 6c 61 72 6d 3b 0a 09  egeAuditAlarm;..
15720 09 61 6c 69 61 73 20 4f 70 65 6e 42 61 63 6b 75  .alias OpenBacku
15730 70 45 76 65 6e 74 4c 6f 67 57 20 4f 70 65 6e 42  pEventLogW OpenB
15740 61 63 6b 75 70 45 76 65 6e 74 4c 6f 67 3b 0a 09  ackupEventLog;..
15750 09 61 6c 69 61 73 20 4f 70 65 6e 45 76 65 6e 74  .alias OpenEvent
15760 4c 6f 67 57 20 4f 70 65 6e 45 76 65 6e 74 4c 6f  LogW OpenEventLo
15770 67 3b 0a 09 09 61 6c 69 61 73 20 50 72 69 76 69  g;...alias Privi
15780 6c 65 67 65 64 53 65 72 76 69 63 65 41 75 64 69  legedServiceAudi
15790 74 41 6c 61 72 6d 57 20 50 72 69 76 69 6c 65 67  tAlarmW Privileg
157a0 65 64 53 65 72 76 69 63 65 41 75 64 69 74 41 6c  edServiceAuditAl
157b0 61 72 6d 3b 0a 09 09 61 6c 69 61 73 20 52 65 61  arm;...alias Rea
157c0 64 45 76 65 6e 74 4c 6f 67 57 20 52 65 61 64 45  dEventLogW ReadE
157d0 76 65 6e 74 4c 6f 67 3b 0a 09 09 61 6c 69 61 73  ventLog;...alias
157e0 20 52 65 67 69 73 74 65 72 45 76 65 6e 74 53 6f   RegisterEventSo
157f0 75 72 63 65 57 20 52 65 67 69 73 74 65 72 45 76  urceW RegisterEv
15800 65 6e 74 53 6f 75 72 63 65 3b 0a 09 09 61 6c 69  entSource;...ali
15810 61 73 20 52 65 70 6f 72 74 45 76 65 6e 74 57 20  as ReportEventW 
15820 52 65 70 6f 72 74 45 76 65 6e 74 3b 0a 09 09 61  ReportEvent;...a
15830 6c 69 61 73 20 53 65 74 46 69 6c 65 53 65 63 75  lias SetFileSecu
15840 72 69 74 79 57 20 53 65 74 46 69 6c 65 53 65 63  rityW SetFileSec
15850 75 72 69 74 79 3b 0a 09 09 61 6c 69 61 73 20 55  urity;...alias U
15860 70 64 61 74 65 52 65 73 6f 75 72 63 65 57 20 55  pdateResourceW U
15870 70 64 61 74 65 52 65 73 6f 75 72 63 65 3b 0a 0a  pdateResource;..
15880 09 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
15890 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
158a0 30 30 29 20 7b 0a 09 09 09 61 6c 69 61 73 20 43  00) {....alias C
158b0 72 65 61 74 65 46 69 6c 65 4d 61 70 70 69 6e 67  reateFileMapping
158c0 57 20 43 72 65 61 74 65 46 69 6c 65 4d 61 70 70  W CreateFileMapp
158d0 69 6e 67 3b 0a 09 09 09 61 6c 69 61 73 20 43 72  ing;....alias Cr
158e0 65 61 74 65 48 61 72 64 4c 69 6e 6b 57 20 43 72  eateHardLinkW Cr
158f0 65 61 74 65 48 61 72 64 4c 69 6e 6b 3b 0a 09 09  eateHardLink;...
15900 09 61 6c 69 61 73 20 43 72 65 61 74 65 4a 6f 62  .alias CreateJob
15910 4f 62 6a 65 63 74 57 20 43 72 65 61 74 65 4a 6f  ObjectW CreateJo
15920 62 4f 62 6a 65 63 74 3b 0a 09 09 09 61 6c 69 61  bObject;....alia
15930 73 20 44 65 6c 65 74 65 56 6f 6c 75 6d 65 4d 6f  s DeleteVolumeMo
15940 75 6e 74 50 6f 69 6e 74 57 20 44 65 6c 65 74 65  untPointW Delete
15950 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74  VolumeMountPoint
15960 3b 0a 09 09 09 61 6c 69 61 73 20 44 6e 73 48 6f  ;....alias DnsHo
15970 73 74 6e 61 6d 65 54 6f 43 6f 6d 70 75 74 65 72  stnameToComputer
15980 4e 61 6d 65 57 20 44 6e 73 48 6f 73 74 6e 61 6d  NameW DnsHostnam
15990 65 54 6f 43 6f 6d 70 75 74 65 72 4e 61 6d 65 3b  eToComputerName;
159a0 0a 09 09 09 61 6c 69 61 73 20 45 6e 63 72 79 70  ....alias Encryp
159b0 74 46 69 6c 65 57 20 45 6e 63 72 79 70 74 46 69  tFileW EncryptFi
159c0 6c 65 3b 0a 09 09 09 61 6c 69 61 73 20 46 69 6c  le;....alias Fil
159d0 65 45 6e 63 72 79 70 74 69 6f 6e 53 74 61 74 75  eEncryptionStatu
159e0 73 57 20 46 69 6c 65 45 6e 63 72 79 70 74 69 6f  sW FileEncryptio
159f0 6e 53 74 61 74 75 73 3b 0a 09 09 09 61 6c 69 61  nStatus;....alia
15a00 73 20 46 69 6e 64 46 69 72 73 74 56 6f 6c 75 6d  s FindFirstVolum
15a10 65 57 20 46 69 6e 64 46 69 72 73 74 56 6f 6c 75  eW FindFirstVolu
15a20 6d 65 3b 0a 09 09 09 61 6c 69 61 73 20 46 69 6e  me;....alias Fin
15a30 64 46 69 72 73 74 56 6f 6c 75 6d 65 4d 6f 75 6e  dFirstVolumeMoun
15a40 74 50 6f 69 6e 74 57 20 46 69 6e 64 46 69 72 73  tPointW FindFirs
15a50 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e  tVolumeMountPoin
15a60 74 3b 0a 09 09 09 61 6c 69 61 73 20 46 69 6e 64  t;....alias Find
15a70 4e 65 78 74 56 6f 6c 75 6d 65 57 20 46 69 6e 64  NextVolumeW Find
15a80 4e 65 78 74 56 6f 6c 75 6d 65 3b 0a 09 09 09 61  NextVolume;....a
15a90 6c 69 61 73 20 46 69 6e 64 4e 65 78 74 56 6f 6c  lias FindNextVol
15aa0 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 57 20 46  umeMountPointW F
15ab0 69 6e 64 4e 65 78 74 56 6f 6c 75 6d 65 4d 6f 75  indNextVolumeMou
15ac0 6e 74 50 6f 69 6e 74 3b 0a 09 09 09 61 6c 69 61  ntPoint;....alia
15ad0 73 20 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c  s GetModuleHandl
15ae0 65 45 78 57 20 47 65 74 4d 6f 64 75 6c 65 48 61  eExW GetModuleHa
15af0 6e 64 6c 65 45 78 3b 0a 09 09 09 61 6c 69 61 73  ndleEx;....alias
15b00 20 47 65 74 53 79 73 74 65 6d 57 69 6e 64 6f 77   GetSystemWindow
15b10 73 44 69 72 65 63 74 6f 72 79 57 20 47 65 74 53  sDirectoryW GetS
15b20 79 73 74 65 6d 57 69 6e 64 6f 77 73 44 69 72 65  ystemWindowsDire
15b30 63 74 6f 72 79 3b 0a 09 09 09 61 6c 69 61 73 20  ctory;....alias 
15b40 47 65 74 56 6f 6c 75 6d 65 4e 61 6d 65 46 6f 72  GetVolumeNameFor
15b50 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74  VolumeMountPoint
15b60 57 20 47 65 74 56 6f 6c 75 6d 65 4e 61 6d 65 46  W GetVolumeNameF
15b70 6f 72 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69  orVolumeMountPoi
15b80 6e 74 3b 0a 09 09 09 61 6c 69 61 73 20 47 65 74  nt;....alias Get
15b90 56 6f 6c 75 6d 65 50 61 74 68 4e 61 6d 65 57 20  VolumePathNameW 
15ba0 47 65 74 56 6f 6c 75 6d 65 50 61 74 68 4e 61 6d  GetVolumePathNam
15bb0 65 3b 0a 09 09 09 61 6c 69 61 73 20 4f 70 65 6e  e;....alias Open
15bc0 46 69 6c 65 4d 61 70 70 69 6e 67 57 20 4f 70 65  FileMappingW Ope
15bd0 6e 46 69 6c 65 4d 61 70 70 69 6e 67 3b 0a 09 09  nFileMapping;...
15be0 09 61 6c 69 61 73 20 52 65 70 6c 61 63 65 46 69  .alias ReplaceFi
15bf0 6c 65 57 20 52 65 70 6c 61 63 65 46 69 6c 65 3b  leW ReplaceFile;
15c00 0a 09 09 09 61 6c 69 61 73 20 53 65 74 56 6f 6c  ....alias SetVol
15c10 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 57 20 53  umeMountPointW S
15c20 65 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69  etVolumeMountPoi
15c30 6e 74 3b 0a 09 09 09 61 6c 69 61 73 20 56 65 72  nt;....alias Ver
15c40 69 66 79 56 65 72 73 69 6f 6e 49 6e 66 6f 57 20  ifyVersionInfoW 
15c50 56 65 72 69 66 79 56 65 72 73 69 6f 6e 49 6e 66  VerifyVersionInf
15c60 6f 3b 0a 09 09 7d 0a 0a 09 09 73 74 61 74 69 63  o;...}....static
15c70 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
15c80 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0a 09 09  T >= 0x501) {...
15c90 09 61 6c 69 61 73 20 41 43 54 43 54 58 57 20 41  .alias ACTCTXW A
15ca0 43 54 43 54 58 3b 0a 09 09 09 61 6c 69 61 73 20  CTCTX;....alias 
15cb0 43 68 65 63 6b 4e 61 6d 65 4c 65 67 61 6c 44 4f  CheckNameLegalDO
15cc0 53 38 44 6f 74 33 57 20 43 68 65 63 6b 4e 61 6d  S8Dot3W CheckNam
15cd0 65 4c 65 67 61 6c 44 4f 53 38 44 6f 74 33 3b 0a  eLegalDOS8Dot3;.
15ce0 09 09 09 61 6c 69 61 73 20 43 72 65 61 74 65 41  ...alias CreateA
15cf0 63 74 43 74 78 57 20 43 72 65 61 74 65 41 63 74  ctCtxW CreateAct
15d00 43 74 78 3b 0a 09 09 09 61 6c 69 61 73 20 46 69  Ctx;....alias Fi
15d10 6e 64 41 63 74 43 74 78 53 65 63 74 69 6f 6e 53  ndActCtxSectionS
15d20 74 72 69 6e 67 57 20 46 69 6e 64 41 63 74 43 74  tringW FindActCt
15d30 78 53 65 63 74 69 6f 6e 53 74 72 69 6e 67 3b 0a  xSectionString;.
15d40 09 09 09 61 6c 69 61 73 20 47 65 74 53 79 73 74  ...alias GetSyst
15d50 65 6d 57 6f 77 36 34 44 69 72 65 63 74 6f 72 79  emWow64Directory
15d60 57 20 47 65 74 53 79 73 74 65 6d 57 6f 77 36 34  W GetSystemWow64
15d70 44 69 72 65 63 74 6f 72 79 3b 0a 09 09 09 61 6c  Directory;....al
15d80 69 61 73 20 47 65 74 56 6f 6c 75 6d 65 50 61 74  ias GetVolumePat
15d90 68 4e 61 6d 65 73 46 6f 72 56 6f 6c 75 6d 65 4e  hNamesForVolumeN
15da0 61 6d 65 57 20 47 65 74 56 6f 6c 75 6d 65 50 61  ameW GetVolumePa
15db0 74 68 4e 61 6d 65 73 46 6f 72 56 6f 6c 75 6d 65  thNamesForVolume
15dc0 4e 61 6d 65 3b 0a 09 09 09 61 6c 69 61 73 20 53  Name;....alias S
15dd0 65 74 46 69 6c 65 53 68 6f 72 74 4e 61 6d 65 57  etFileShortNameW
15de0 20 53 65 74 46 69 6c 65 53 68 6f 72 74 4e 61 6d   SetFileShortNam
15df0 65 3b 0a 09 09 7d 0a 0a 09 09 73 74 61 74 69 63  e;...}....static
15e00 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
15e10 54 20 3e 3d 20 30 78 35 30 32 29 20 7b 0a 09 09  T >= 0x502) {...
15e20 09 61 6c 69 61 73 20 53 65 74 46 69 72 6d 77 61  .alias SetFirmwa
15e30 72 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72  reEnvironmentVar
15e40 69 61 62 6c 65 57 20 53 65 74 46 69 72 6d 77 61  iableW SetFirmwa
15e50 72 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72  reEnvironmentVar
15e60 69 61 62 6c 65 3b 0a 09 09 09 61 6c 69 61 73 20  iable;....alias 
15e70 53 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79 57  SetDllDirectoryW
15e80 20 53 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79   SetDllDirectory
15e90 3b 0a 09 09 09 61 6c 69 61 73 20 47 65 74 44 6c  ;....alias GetDl
15ea0 6c 44 69 72 65 63 74 6f 72 79 57 20 47 65 74 44  lDirectoryW GetD
15eb0 6c 6c 44 69 72 65 63 74 6f 72 79 3b 0a 09 09 7d  llDirectory;...}
15ec0 0a 09 7d 0a 0a 7d 20 65 6c 73 65 20 7b 0a 09 61  ..}..} else {..a
15ed0 6c 69 61 73 20 53 54 41 52 54 55 50 49 4e 46 4f  lias STARTUPINFO
15ee0 41 20 53 54 41 52 54 55 50 49 4e 46 4f 3b 0a 09  A STARTUPINFO;..
15ef0 61 6c 69 61 73 20 57 49 4e 33 32 5f 46 49 4e 44  alias WIN32_FIND
15f00 5f 44 41 54 41 41 20 57 49 4e 33 32 5f 46 49 4e  _DATAA WIN32_FIN
15f10 44 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 45  D_DATA;..alias E
15f20 4e 55 4d 52 45 53 4c 41 4e 47 50 52 4f 43 57 20  NUMRESLANGPROCW 
15f30 45 4e 55 4d 52 45 53 4c 41 4e 47 50 52 4f 43 3b  ENUMRESLANGPROC;
15f40 0a 09 61 6c 69 61 73 20 45 4e 55 4d 52 45 53 4e  ..alias ENUMRESN
15f50 41 4d 45 50 52 4f 43 57 20 45 4e 55 4d 52 45 53  AMEPROCW ENUMRES
15f60 4e 41 4d 45 50 52 4f 43 3b 0a 09 61 6c 69 61 73  NAMEPROC;..alias
15f70 20 45 4e 55 4d 52 45 53 54 59 50 45 50 52 4f 43   ENUMRESTYPEPROC
15f80 57 20 45 4e 55 4d 52 45 53 54 59 50 45 50 52 4f  W ENUMRESTYPEPRO
15f90 43 3b 0a 09 61 6c 69 61 73 20 41 64 64 41 74 6f  C;..alias AddAto
15fa0 6d 41 20 41 64 64 41 74 6f 6d 3b 0a 09 61 6c 69  mA AddAtom;..ali
15fb0 61 73 20 42 65 67 69 6e 55 70 64 61 74 65 52 65  as BeginUpdateRe
15fc0 73 6f 75 72 63 65 41 20 42 65 67 69 6e 55 70 64  sourceA BeginUpd
15fd0 61 74 65 52 65 73 6f 75 72 63 65 3b 0a 09 61 6c  ateResource;..al
15fe0 69 61 73 20 42 75 69 6c 64 43 6f 6d 6d 44 43 42  ias BuildCommDCB
15ff0 41 20 42 75 69 6c 64 43 6f 6d 6d 44 43 42 3b 0a  A BuildCommDCB;.
16000 09 61 6c 69 61 73 20 42 75 69 6c 64 43 6f 6d 6d  .alias BuildComm
16010 44 43 42 41 6e 64 54 69 6d 65 6f 75 74 73 41 20  DCBAndTimeoutsA 
16020 42 75 69 6c 64 43 6f 6d 6d 44 43 42 41 6e 64 54  BuildCommDCBAndT
16030 69 6d 65 6f 75 74 73 3b 0a 09 61 6c 69 61 73 20  imeouts;..alias 
16040 43 61 6c 6c 4e 61 6d 65 64 50 69 70 65 41 20 43  CallNamedPipeA C
16050 61 6c 6c 4e 61 6d 65 64 50 69 70 65 3b 0a 09 61  allNamedPipe;..a
16060 6c 69 61 73 20 43 6f 6d 6d 43 6f 6e 66 69 67 44  lias CommConfigD
16070 69 61 6c 6f 67 41 20 43 6f 6d 6d 43 6f 6e 66 69  ialogA CommConfi
16080 67 44 69 61 6c 6f 67 3b 0a 09 61 6c 69 61 73 20  gDialog;..alias 
16090 43 6f 70 79 46 69 6c 65 41 20 43 6f 70 79 46 69  CopyFileA CopyFi
160a0 6c 65 3b 0a 09 61 6c 69 61 73 20 43 6f 70 79 46  le;..alias CopyF
160b0 69 6c 65 45 78 41 20 43 6f 70 79 46 69 6c 65 45  ileExA CopyFileE
160c0 78 3b 0a 09 61 6c 69 61 73 20 43 72 65 61 74 65  x;..alias Create
160d0 44 69 72 65 63 74 6f 72 79 41 20 43 72 65 61 74  DirectoryA Creat
160e0 65 44 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c 69  eDirectory;..ali
160f0 61 73 20 43 72 65 61 74 65 44 69 72 65 63 74 6f  as CreateDirecto
16100 72 79 45 78 41 20 43 72 65 61 74 65 44 69 72 65  ryExA CreateDire
16110 63 74 6f 72 79 45 78 3b 0a 09 61 6c 69 61 73 20  ctoryEx;..alias 
16120 43 72 65 61 74 65 45 76 65 6e 74 41 20 43 72 65  CreateEventA Cre
16130 61 74 65 45 76 65 6e 74 3b 0a 09 61 6c 69 61 73  ateEvent;..alias
16140 20 43 72 65 61 74 65 46 69 6c 65 41 20 43 72 65   CreateFileA Cre
16150 61 74 65 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20  ateFile;..alias 
16160 43 72 65 61 74 65 4d 61 69 6c 73 6c 6f 74 41 20  CreateMailslotA 
16170 43 72 65 61 74 65 4d 61 69 6c 73 6c 6f 74 3b 0a  CreateMailslot;.
16180 09 61 6c 69 61 73 20 43 72 65 61 74 65 4d 75 74  .alias CreateMut
16190 65 78 41 20 43 72 65 61 74 65 4d 75 74 65 78 3b  exA CreateMutex;
161a0 0a 09 61 6c 69 61 73 20 43 72 65 61 74 65 50 72  ..alias CreatePr
161b0 6f 63 65 73 73 41 20 43 72 65 61 74 65 50 72 6f  ocessA CreatePro
161c0 63 65 73 73 3b 0a 09 61 6c 69 61 73 20 43 72 65  cess;..alias Cre
161d0 61 74 65 53 65 6d 61 70 68 6f 72 65 41 20 43 72  ateSemaphoreA Cr
161e0 65 61 74 65 53 65 6d 61 70 68 6f 72 65 3b 0a 09  eateSemaphore;..
161f0 61 6c 69 61 73 20 44 65 6c 65 74 65 46 69 6c 65  alias DeleteFile
16200 41 20 44 65 6c 65 74 65 46 69 6c 65 3b 0a 09 61  A DeleteFile;..a
16210 6c 69 61 73 20 45 6e 64 55 70 64 61 74 65 52 65  lias EndUpdateRe
16220 73 6f 75 72 63 65 41 20 45 6e 64 55 70 64 61 74  sourceA EndUpdat
16230 65 52 65 73 6f 75 72 63 65 3b 0a 09 61 6c 69 61  eResource;..alia
16240 73 20 45 6e 75 6d 52 65 73 6f 75 72 63 65 4c 61  s EnumResourceLa
16250 6e 67 75 61 67 65 73 41 20 45 6e 75 6d 52 65 73  nguagesA EnumRes
16260 6f 75 72 63 65 4c 61 6e 67 75 61 67 65 73 3b 0a  ourceLanguages;.
16270 09 61 6c 69 61 73 20 45 6e 75 6d 52 65 73 6f 75  .alias EnumResou
16280 72 63 65 4e 61 6d 65 73 41 20 45 6e 75 6d 52 65  rceNamesA EnumRe
16290 73 6f 75 72 63 65 4e 61 6d 65 73 3b 0a 09 61 6c  sourceNames;..al
162a0 69 61 73 20 45 6e 75 6d 52 65 73 6f 75 72 63 65  ias EnumResource
162b0 54 79 70 65 73 41 20 45 6e 75 6d 52 65 73 6f 75  TypesA EnumResou
162c0 72 63 65 54 79 70 65 73 3b 0a 09 61 6c 69 61 73  rceTypes;..alias
162d0 20 45 78 70 61 6e 64 45 6e 76 69 72 6f 6e 6d 65   ExpandEnvironme
162e0 6e 74 53 74 72 69 6e 67 73 41 20 45 78 70 61 6e  ntStringsA Expan
162f0 64 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74 72 69  dEnvironmentStri
16300 6e 67 73 3b 0a 09 61 6c 69 61 73 20 46 61 74 61  ngs;..alias Fata
16310 6c 41 70 70 45 78 69 74 41 20 46 61 74 61 6c 41  lAppExitA FatalA
16320 70 70 45 78 69 74 3b 0a 09 61 6c 69 61 73 20 46  ppExit;..alias F
16330 69 6e 64 41 74 6f 6d 41 20 46 69 6e 64 41 74 6f  indAtomA FindAto
16340 6d 3b 0a 09 61 6c 69 61 73 20 46 69 6e 64 46 69  m;..alias FindFi
16350 72 73 74 43 68 61 6e 67 65 4e 6f 74 69 66 69 63  rstChangeNotific
16360 61 74 69 6f 6e 41 20 46 69 6e 64 46 69 72 73 74  ationA FindFirst
16370 43 68 61 6e 67 65 4e 6f 74 69 66 69 63 61 74 69  ChangeNotificati
16380 6f 6e 3b 0a 09 61 6c 69 61 73 20 46 69 6e 64 46  on;..alias FindF
16390 69 72 73 74 46 69 6c 65 41 20 46 69 6e 64 46 69  irstFileA FindFi
163a0 72 73 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20  rstFile;..alias 
163b0 46 69 6e 64 4e 65 78 74 46 69 6c 65 41 20 46 69  FindNextFileA Fi
163c0 6e 64 4e 65 78 74 46 69 6c 65 3b 0a 09 61 6c 69  ndNextFile;..ali
163d0 61 73 20 46 69 6e 64 52 65 73 6f 75 72 63 65 41  as FindResourceA
163e0 20 46 69 6e 64 52 65 73 6f 75 72 63 65 3b 0a 09   FindResource;..
163f0 61 6c 69 61 73 20 46 69 6e 64 52 65 73 6f 75 72  alias FindResour
16400 63 65 45 78 41 20 46 69 6e 64 52 65 73 6f 75 72  ceExA FindResour
16410 63 65 45 78 3b 0a 09 61 6c 69 61 73 20 46 6f 72  ceEx;..alias For
16420 6d 61 74 4d 65 73 73 61 67 65 41 20 46 6f 72 6d  matMessageA Form
16430 61 74 4d 65 73 73 61 67 65 3b 0a 09 61 6c 69 61  atMessage;..alia
16440 73 20 46 72 65 65 45 6e 76 69 72 6f 6e 6d 65 6e  s FreeEnvironmen
16450 74 53 74 72 69 6e 67 73 41 20 46 72 65 65 45 6e  tStringsA FreeEn
16460 76 69 72 6f 6e 6d 65 6e 74 53 74 72 69 6e 67 73  vironmentStrings
16470 3b 0a 09 61 6c 69 61 73 20 47 65 74 41 74 6f 6d  ;..alias GetAtom
16480 4e 61 6d 65 41 20 47 65 74 41 74 6f 6d 4e 61 6d  NameA GetAtomNam
16490 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 43 6f 6d  e;..alias GetCom
164a0 6d 61 6e 64 4c 69 6e 65 41 20 47 65 74 43 6f 6d  mandLineA GetCom
164b0 6d 61 6e 64 4c 69 6e 65 3b 0a 09 61 6c 69 61 73  mandLine;..alias
164c0 20 47 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d 65   GetComputerName
164d0 41 20 47 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d  A GetComputerNam
164e0 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 43 75 72  e;..alias GetCur
164f0 72 65 6e 74 44 69 72 65 63 74 6f 72 79 41 20 47  rentDirectoryA G
16500 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f  etCurrentDirecto
16510 72 79 3b 0a 09 61 6c 69 61 73 20 47 65 74 44 65  ry;..alias GetDe
16520 66 61 75 6c 74 43 6f 6d 6d 43 6f 6e 66 69 67 41  faultCommConfigA
16530 20 47 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 43   GetDefaultCommC
16540 6f 6e 66 69 67 3b 0a 09 61 6c 69 61 73 20 47 65  onfig;..alias Ge
16550 74 44 69 73 6b 46 72 65 65 53 70 61 63 65 41 20  tDiskFreeSpaceA 
16560 47 65 74 44 69 73 6b 46 72 65 65 53 70 61 63 65  GetDiskFreeSpace
16570 3b 0a 09 61 6c 69 61 73 20 47 65 74 44 69 73 6b  ;..alias GetDisk
16580 46 72 65 65 53 70 61 63 65 45 78 41 20 47 65 74  FreeSpaceExA Get
16590 44 69 73 6b 46 72 65 65 53 70 61 63 65 45 78 3b  DiskFreeSpaceEx;
165a0 0a 09 61 6c 69 61 73 20 47 65 74 44 72 69 76 65  ..alias GetDrive
165b0 54 79 70 65 41 20 47 65 74 44 72 69 76 65 54 79  TypeA GetDriveTy
165c0 70 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 45 6e  pe;..alias GetEn
165d0 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c  vironmentVariabl
165e0 65 41 20 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e  eA GetEnvironmen
165f0 74 56 61 72 69 61 62 6c 65 3b 0a 09 61 6c 69 61  tVariable;..alia
16600 73 20 47 65 74 46 69 6c 65 41 74 74 72 69 62 75  s GetFileAttribu
16610 74 65 73 41 20 47 65 74 46 69 6c 65 41 74 74 72  tesA GetFileAttr
16620 69 62 75 74 65 73 3b 0a 09 61 6c 69 61 73 20 47  ibutes;..alias G
16630 65 74 46 75 6c 6c 50 61 74 68 4e 61 6d 65 41 20  etFullPathNameA 
16640 47 65 74 46 75 6c 6c 50 61 74 68 4e 61 6d 65 3b  GetFullPathName;
16650 0a 09 61 6c 69 61 73 20 47 65 74 4c 6f 67 69 63  ..alias GetLogic
16660 61 6c 44 72 69 76 65 53 74 72 69 6e 67 73 41 20  alDriveStringsA 
16670 47 65 74 4c 6f 67 69 63 61 6c 44 72 69 76 65 53  GetLogicalDriveS
16680 74 72 69 6e 67 73 3b 0a 09 61 6c 69 61 73 20 47  trings;..alias G
16690 65 74 4e 61 6d 65 64 50 69 70 65 48 61 6e 64 6c  etNamedPipeHandl
166a0 65 53 74 61 74 65 41 20 47 65 74 4e 61 6d 65 64  eStateA GetNamed
166b0 50 69 70 65 48 61 6e 64 6c 65 53 74 61 74 65 3b  PipeHandleState;
166c0 0a 09 61 6c 69 61 73 20 47 65 74 4d 6f 64 75 6c  ..alias GetModul
166d0 65 48 61 6e 64 6c 65 41 20 47 65 74 4d 6f 64 75  eHandleA GetModu
166e0 6c 65 48 61 6e 64 6c 65 3b 0a 09 61 6c 69 61 73  leHandle;..alias
166f0 20 47 65 74 4d 6f 64 75 6c 65 46 69 6c 65 4e 61   GetModuleFileNa
16700 6d 65 41 20 47 65 74 4d 6f 64 75 6c 65 46 69 6c  meA GetModuleFil
16710 65 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65  eName;..alias Ge
16720 74 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 49  tPrivateProfileI
16730 6e 74 41 20 47 65 74 50 72 69 76 61 74 65 50 72  ntA GetPrivatePr
16740 6f 66 69 6c 65 49 6e 74 3b 0a 09 61 6c 69 61 73  ofileInt;..alias
16750 20 47 65 74 50 72 69 76 61 74 65 50 72 6f 66 69   GetPrivateProfi
16760 6c 65 53 65 63 74 69 6f 6e 41 20 47 65 74 50 72  leSectionA GetPr
16770 69 76 61 74 65 50 72 6f 66 69 6c 65 53 65 63 74  ivateProfileSect
16780 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 47 65 74 50  ion;..alias GetP
16790 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 65 63  rivateProfileSec
167a0 74 69 6f 6e 4e 61 6d 65 73 41 20 47 65 74 50 72  tionNamesA GetPr
167b0 69 76 61 74 65 50 72 6f 66 69 6c 65 53 65 63 74  ivateProfileSect
167c0 69 6f 6e 4e 61 6d 65 73 3b 0a 09 61 6c 69 61 73  ionNames;..alias
167d0 20 47 65 74 50 72 69 76 61 74 65 50 72 6f 66 69   GetPrivateProfi
167e0 6c 65 53 74 72 69 6e 67 41 20 47 65 74 50 72 69  leStringA GetPri
167f0 76 61 74 65 50 72 6f 66 69 6c 65 53 74 72 69 6e  vateProfileStrin
16800 67 3b 0a 09 61 6c 69 61 73 20 47 65 74 50 72 69  g;..alias GetPri
16810 76 61 74 65 50 72 6f 66 69 6c 65 53 74 72 75 63  vateProfileStruc
16820 74 41 20 47 65 74 50 72 69 76 61 74 65 50 72 6f  tA GetPrivatePro
16830 66 69 6c 65 53 74 72 75 63 74 3b 0a 09 61 6c 69  fileStruct;..ali
16840 61 73 20 47 65 74 50 72 6f 66 69 6c 65 49 6e 74  as GetProfileInt
16850 41 20 47 65 74 50 72 6f 66 69 6c 65 49 6e 74 3b  A GetProfileInt;
16860 0a 09 61 6c 69 61 73 20 47 65 74 50 72 6f 66 69  ..alias GetProfi
16870 6c 65 53 65 63 74 69 6f 6e 41 20 47 65 74 50 72  leSectionA GetPr
16880 6f 66 69 6c 65 53 65 63 74 69 6f 6e 3b 0a 09 61  ofileSection;..a
16890 6c 69 61 73 20 47 65 74 50 72 6f 66 69 6c 65 53  lias GetProfileS
168a0 74 72 69 6e 67 41 20 47 65 74 50 72 6f 66 69 6c  tringA GetProfil
168b0 65 53 74 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20  eString;..alias 
168c0 47 65 74 53 68 6f 72 74 50 61 74 68 4e 61 6d 65  GetShortPathName
168d0 41 20 47 65 74 53 68 6f 72 74 50 61 74 68 4e 61  A GetShortPathNa
168e0 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 53 74  me;..alias GetSt
168f0 61 72 74 75 70 49 6e 66 6f 41 20 47 65 74 53 74  artupInfoA GetSt
16900 61 72 74 75 70 49 6e 66 6f 3b 0a 09 61 6c 69 61  artupInfo;..alia
16910 73 20 47 65 74 53 79 73 74 65 6d 44 69 72 65 63  s GetSystemDirec
16920 74 6f 72 79 41 20 47 65 74 53 79 73 74 65 6d 44  toryA GetSystemD
16930 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c 69 61 73  irectory;..alias
16940 20 47 65 74 54 65 6d 70 46 69 6c 65 4e 61 6d 65   GetTempFileName
16950 41 20 47 65 74 54 65 6d 70 46 69 6c 65 4e 61 6d  A GetTempFileNam
16960 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 54 65 6d  e;..alias GetTem
16970 70 50 61 74 68 41 20 47 65 74 54 65 6d 70 50 61  pPathA GetTempPa
16980 74 68 3b 0a 09 61 6c 69 61 73 20 47 65 74 55 73  th;..alias GetUs
16990 65 72 4e 61 6d 65 41 20 47 65 74 55 73 65 72 4e  erNameA GetUserN
169a0 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65 74 56  ame;..alias GetV
169b0 65 72 73 69 6f 6e 45 78 41 20 47 65 74 56 65 72  ersionExA GetVer
169c0 73 69 6f 6e 45 78 3b 0a 09 61 6c 69 61 73 20 47  sionEx;..alias G
169d0 65 74 56 6f 6c 75 6d 65 49 6e 66 6f 72 6d 61 74  etVolumeInformat
169e0 69 6f 6e 41 20 47 65 74 56 6f 6c 75 6d 65 49 6e  ionA GetVolumeIn
169f0 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 61 6c 69 61  formation;..alia
16a00 73 20 47 65 74 57 69 6e 64 6f 77 73 44 69 72 65  s GetWindowsDire
16a10 63 74 6f 72 79 41 20 47 65 74 57 69 6e 64 6f 77  ctoryA GetWindow
16a20 73 44 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c 69  sDirectory;..ali
16a30 61 73 20 47 6c 6f 62 61 6c 41 64 64 41 74 6f 6d  as GlobalAddAtom
16a40 41 20 47 6c 6f 62 61 6c 41 64 64 41 74 6f 6d 3b  A GlobalAddAtom;
16a50 0a 09 61 6c 69 61 73 20 47 6c 6f 62 61 6c 46 69  ..alias GlobalFi
16a60 6e 64 41 74 6f 6d 41 20 47 6c 6f 62 61 6c 46 69  ndAtomA GlobalFi
16a70 6e 64 41 74 6f 6d 3b 0a 09 61 6c 69 61 73 20 47  ndAtom;..alias G
16a80 6c 6f 62 61 6c 47 65 74 41 74 6f 6d 4e 61 6d 65  lobalGetAtomName
16a90 41 20 47 6c 6f 62 61 6c 47 65 74 41 74 6f 6d 4e  A GlobalGetAtomN
16aa0 61 6d 65 3b 0a 09 61 6c 69 61 73 20 49 73 42 61  ame;..alias IsBa
16ab0 64 53 74 72 69 6e 67 50 74 72 41 20 49 73 42 61  dStringPtrA IsBa
16ac0 64 53 74 72 69 6e 67 50 74 72 3b 0a 09 61 6c 69  dStringPtr;..ali
16ad0 61 73 20 4c 6f 61 64 4c 69 62 72 61 72 79 41 20  as LoadLibraryA 
16ae0 4c 6f 61 64 4c 69 62 72 61 72 79 3b 0a 09 61 6c  LoadLibrary;..al
16af0 69 61 73 20 4c 6f 61 64 4c 69 62 72 61 72 79 45  ias LoadLibraryE
16b00 78 41 20 4c 6f 61 64 4c 69 62 72 61 72 79 45 78  xA LoadLibraryEx
16b10 3b 0a 09 61 6c 69 61 73 20 6c 73 74 72 63 61 74  ;..alias lstrcat
16b20 41 20 6c 73 74 72 63 61 74 3b 0a 09 61 6c 69 61  A lstrcat;..alia
16b30 73 20 6c 73 74 72 63 6d 70 41 20 6c 73 74 72 63  s lstrcmpA lstrc
16b40 6d 70 3b 0a 09 61 6c 69 61 73 20 6c 73 74 72 63  mp;..alias lstrc
16b50 6d 70 69 41 20 6c 73 74 72 63 6d 70 69 3b 0a 09  mpiA lstrcmpi;..
16b60 61 6c 69 61 73 20 6c 73 74 72 63 70 79 41 20 6c  alias lstrcpyA l
16b70 73 74 72 63 70 79 3b 0a 09 61 6c 69 61 73 20 6c  strcpy;..alias l
16b80 73 74 72 63 70 79 6e 41 20 6c 73 74 72 63 70 79  strcpynA lstrcpy
16b90 6e 3b 0a 09 61 6c 69 61 73 20 6c 73 74 72 6c 65  n;..alias lstrle
16ba0 6e 41 20 6c 73 74 72 6c 65 6e 3b 0a 09 61 6c 69  nA lstrlen;..ali
16bb0 61 73 20 4d 6f 76 65 46 69 6c 65 41 20 4d 6f 76  as MoveFileA Mov
16bc0 65 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 4f 70  eFile;..alias Op
16bd0 65 6e 45 76 65 6e 74 41 20 4f 70 65 6e 45 76 65  enEventA OpenEve
16be0 6e 74 3b 0a 09 61 6c 69 61 73 20 4f 70 65 6e 4d  nt;..alias OpenM
16bf0 75 74 65 78 41 20 4f 70 65 6e 4d 75 74 65 78 3b  utexA OpenMutex;
16c00 0a 09 61 6c 69 61 73 20 4f 70 65 6e 53 65 6d 61  ..alias OpenSema
16c10 70 68 6f 72 65 41 20 4f 70 65 6e 53 65 6d 61 70  phoreA OpenSemap
16c20 68 6f 72 65 3b 0a 09 61 6c 69 61 73 20 4f 75 74  hore;..alias Out
16c30 70 75 74 44 65 62 75 67 53 74 72 69 6e 67 41 20  putDebugStringA 
16c40 4f 75 74 70 75 74 44 65 62 75 67 53 74 72 69 6e  OutputDebugStrin
16c50 67 3b 0a 09 61 6c 69 61 73 20 52 65 6d 6f 76 65  g;..alias Remove
16c60 44 69 72 65 63 74 6f 72 79 41 20 52 65 6d 6f 76  DirectoryA Remov
16c70 65 44 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c 69  eDirectory;..ali
16c80 61 73 20 53 65 61 72 63 68 50 61 74 68 41 20 53  as SearchPathA S
16c90 65 61 72 63 68 50 61 74 68 3b 0a 09 61 6c 69 61  earchPath;..alia
16ca0 73 20 53 65 74 43 6f 6d 70 75 74 65 72 4e 61 6d  s SetComputerNam
16cb0 65 41 20 53 65 74 43 6f 6d 70 75 74 65 72 4e 61  eA SetComputerNa
16cc0 6d 65 3b 0a 09 61 6c 69 61 73 20 53 65 74 43 75  me;..alias SetCu
16cd0 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79 41 20  rrentDirectoryA 
16ce0 53 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74  SetCurrentDirect
16cf0 6f 72 79 3b 0a 09 61 6c 69 61 73 20 53 65 74 44  ory;..alias SetD
16d00 65 66 61 75 6c 74 43 6f 6d 6d 43 6f 6e 66 69 67  efaultCommConfig
16d10 41 20 53 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d  A SetDefaultComm
16d20 43 6f 6e 66 69 67 3b 0a 09 61 6c 69 61 73 20 53  Config;..alias S
16d30 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72  etEnvironmentVar
16d40 69 61 62 6c 65 41 20 53 65 74 45 6e 76 69 72 6f  iableA SetEnviro
16d50 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 3b 0a 09  nmentVariable;..
16d60 61 6c 69 61 73 20 53 65 74 46 69 6c 65 41 74 74  alias SetFileAtt
16d70 72 69 62 75 74 65 73 41 20 53 65 74 46 69 6c 65  ributesA SetFile
16d80 41 74 74 72 69 62 75 74 65 73 3b 0a 09 61 6c 69  Attributes;..ali
16d90 61 73 20 53 65 74 56 6f 6c 75 6d 65 4c 61 62 65  as SetVolumeLabe
16da0 6c 41 20 53 65 74 56 6f 6c 75 6d 65 4c 61 62 65  lA SetVolumeLabe
16db0 6c 3b 0a 09 61 6c 69 61 73 20 57 61 69 74 4e 61  l;..alias WaitNa
16dc0 6d 65 64 50 69 70 65 41 20 57 61 69 74 4e 61 6d  medPipeA WaitNam
16dd0 65 64 50 69 70 65 3b 0a 09 61 6c 69 61 73 20 57  edPipe;..alias W
16de0 72 69 74 65 50 72 69 76 61 74 65 50 72 6f 66 69  ritePrivateProfi
16df0 6c 65 53 65 63 74 69 6f 6e 41 20 57 72 69 74 65  leSectionA Write
16e00 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 65  PrivateProfileSe
16e10 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 57 72  ction;..alias Wr
16e20 69 74 65 50 72 69 76 61 74 65 50 72 6f 66 69 6c  itePrivateProfil
16e30 65 53 74 72 69 6e 67 41 20 57 72 69 74 65 50 72  eStringA WritePr
16e40 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74 72 69  ivateProfileStri
16e50 6e 67 3b 0a 09 61 6c 69 61 73 20 57 72 69 74 65  ng;..alias Write
16e60 50 72 69 76 61 74 65 50 72 6f 66 69 6c 65 53 74  PrivateProfileSt
16e70 72 75 63 74 41 20 57 72 69 74 65 50 72 69 76 61  ructA WritePriva
16e80 74 65 50 72 6f 66 69 6c 65 53 74 72 75 63 74 3b  teProfileStruct;
16e90 0a 09 61 6c 69 61 73 20 57 72 69 74 65 50 72 6f  ..alias WritePro
16ea0 66 69 6c 65 53 65 63 74 69 6f 6e 41 20 57 72 69  fileSectionA Wri
16eb0 74 65 50 72 6f 66 69 6c 65 53 65 63 74 69 6f 6e  teProfileSection
16ec0 3b 0a 09 61 6c 69 61 73 20 57 72 69 74 65 50 72  ;..alias WritePr
16ed0 6f 66 69 6c 65 53 74 72 69 6e 67 41 20 57 72 69  ofileStringA Wri
16ee0 74 65 50 72 6f 66 69 6c 65 53 74 72 69 6e 67 3b  teProfileString;
16ef0 0a 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
16f00 49 4e 33 32 5f 57 49 4e 44 4f 57 53 20 3e 3d 20  IN32_WINDOWS >= 
16f10 30 78 34 31 30 29 20 7b 0a 09 09 61 6c 69 61 73  0x410) {...alias
16f20 20 43 72 65 61 74 65 57 61 69 74 61 62 6c 65 54   CreateWaitableT
16f30 69 6d 65 72 41 20 43 72 65 61 74 65 57 61 69 74  imerA CreateWait
16f40 61 62 6c 65 54 69 6d 65 72 3b 0a 09 09 61 6c 69  ableTimer;...ali
16f50 61 73 20 47 65 74 46 69 6c 65 41 74 74 72 69 62  as GetFileAttrib
16f60 75 74 65 73 45 78 41 20 47 65 74 46 69 6c 65 41  utesExA GetFileA
16f70 74 74 72 69 62 75 74 65 73 45 78 3b 0a 09 09 61  ttributesEx;...a
16f80 6c 69 61 73 20 47 65 74 4c 6f 6e 67 50 61 74 68  lias GetLongPath
16f90 4e 61 6d 65 41 20 47 65 74 4c 6f 6e 67 50 61 74  NameA GetLongPat
16fa0 68 4e 61 6d 65 3b 0a 09 09 61 6c 69 61 73 20 51  hName;...alias Q
16fb0 75 65 72 79 44 6f 73 44 65 76 69 63 65 41 20 51  ueryDosDeviceA Q
16fc0 75 65 72 79 44 6f 73 44 65 76 69 63 65 3b 0a 09  ueryDosDevice;..
16fd0 7d 0a 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f  }...static if (_
16fe0 57 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59  WIN32_WINNT_ONLY
16ff0 29 20 7b 0a 09 09 61 6c 69 61 73 20 48 57 5f 50  ) {...alias HW_P
17000 52 4f 46 49 4c 45 5f 49 4e 46 4f 41 20 48 57 5f  ROFILE_INFOA HW_
17010 50 52 4f 46 49 4c 45 5f 49 4e 46 4f 3b 0a 09 09  PROFILE_INFO;...
17020 61 6c 69 61 73 20 41 63 63 65 73 73 43 68 65 63  alias AccessChec
17030 6b 41 6e 64 41 75 64 69 74 41 6c 61 72 6d 41 20  kAndAuditAlarmA 
17040 41 63 63 65 73 73 43 68 65 63 6b 41 6e 64 41 75  AccessCheckAndAu
17050 64 69 74 41 6c 61 72 6d 3b 0a 09 09 61 6c 69 61  ditAlarm;...alia
17060 73 20 42 61 63 6b 75 70 45 76 65 6e 74 4c 6f 67  s BackupEventLog
17070 41 20 42 61 63 6b 75 70 45 76 65 6e 74 4c 6f 67  A BackupEventLog
17080 3b 0a 09 09 61 6c 69 61 73 20 43 6c 65 61 72 45  ;...alias ClearE
17090 76 65 6e 74 4c 6f 67 41 20 43 6c 65 61 72 45 76  ventLogA ClearEv
170a0 65 6e 74 4c 6f 67 3b 0a 09 09 61 6c 69 61 73 20  entLog;...alias 
170b0 43 72 65 61 74 65 4e 61 6d 65 64 50 69 70 65 41  CreateNamedPipeA
170c0 20 43 72 65 61 74 65 4e 61 6d 65 64 50 69 70 65   CreateNamedPipe
170d0 3b 0a 09 09 61 6c 69 61 73 20 43 72 65 61 74 65  ;...alias Create
170e0 50 72 6f 63 65 73 73 41 73 55 73 65 72 41 20 43  ProcessAsUserA C
170f0 72 65 61 74 65 50 72 6f 63 65 73 73 41 73 55 73  reateProcessAsUs
17100 65 72 3b 0a 09 09 61 6c 69 61 73 20 44 65 66 69  er;...alias Defi
17110 6e 65 44 6f 73 44 65 76 69 63 65 41 20 44 65 66  neDosDeviceA Def
17120 69 6e 65 44 6f 73 44 65 76 69 63 65 3b 0a 09 09  ineDosDevice;...
17130 61 6c 69 61 73 20 46 69 6e 64 46 69 72 73 74 46  alias FindFirstF
17140 69 6c 65 45 78 41 20 46 69 6e 64 46 69 72 73 74  ileExA FindFirst
17150 46 69 6c 65 45 78 3b 0a 09 09 61 6c 69 61 73 20  FileEx;...alias 
17160 47 65 74 42 69 6e 61 72 79 54 79 70 65 41 20 47  GetBinaryTypeA G
17170 65 74 42 69 6e 61 72 79 54 79 70 65 3b 0a 09 09  etBinaryType;...
17180 61 6c 69 61 73 20 47 65 74 43 6f 6d 70 72 65 73  alias GetCompres
17190 73 65 64 46 69 6c 65 53 69 7a 65 41 20 47 65 74  sedFileSizeA Get
171a0 43 6f 6d 70 72 65 73 73 65 64 46 69 6c 65 53 69  CompressedFileSi
171b0 7a 65 3b 0a 09 09 61 6c 69 61 73 20 47 65 74 46  ze;...alias GetF
171c0 69 6c 65 53 65 63 75 72 69 74 79 41 20 47 65 74  ileSecurityA Get
171d0 46 69 6c 65 53 65 63 75 72 69 74 79 3b 0a 09 09  FileSecurity;...
171e0 61 6c 69 61 73 20 4c 6f 67 6f 6e 55 73 65 72 41  alias LogonUserA
171f0 20 4c 6f 67 6f 6e 55 73 65 72 3b 0a 09 09 61 6c   LogonUser;...al
17200 69 61 73 20 4c 6f 6f 6b 75 70 41 63 63 6f 75 6e  ias LookupAccoun
17210 74 4e 61 6d 65 41 20 4c 6f 6f 6b 75 70 41 63 63  tNameA LookupAcc
17220 6f 75 6e 74 4e 61 6d 65 3b 0a 09 09 61 6c 69 61  ountName;...alia
17230 73 20 4c 6f 6f 6b 75 70 41 63 63 6f 75 6e 74 53  s LookupAccountS
17240 69 64 41 20 4c 6f 6f 6b 75 70 41 63 63 6f 75 6e  idA LookupAccoun
17250 74 53 69 64 3b 0a 09 09 61 6c 69 61 73 20 4c 6f  tSid;...alias Lo
17260 6f 6b 75 70 50 72 69 76 69 6c 65 67 65 44 69 73  okupPrivilegeDis
17270 70 6c 61 79 4e 61 6d 65 41 20 4c 6f 6f 6b 75 70  playNameA Lookup
17280 50 72 69 76 69 6c 65 67 65 44 69 73 70 6c 61 79  PrivilegeDisplay
17290 4e 61 6d 65 3b 0a 09 09 61 6c 69 61 73 20 4c 6f  Name;...alias Lo
172a0 6f 6b 75 70 50 72 69 76 69 6c 65 67 65 4e 61 6d  okupPrivilegeNam
172b0 65 41 20 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65  eA LookupPrivile
172c0 67 65 4e 61 6d 65 3b 0a 09 09 61 6c 69 61 73 20  geName;...alias 
172d0 4c 6f 6f 6b 75 70 50 72 69 76 69 6c 65 67 65 56  LookupPrivilegeV
172e0 61 6c 75 65 41 20 4c 6f 6f 6b 75 70 50 72 69 76  alueA LookupPriv
172f0 69 6c 65 67 65 56 61 6c 75 65 3b 0a 09 09 61 6c  ilegeValue;...al
17300 69 61 73 20 4d 6f 76 65 46 69 6c 65 45 78 41 20  ias MoveFileExA 
17310 4d 6f 76 65 46 69 6c 65 45 78 3b 0a 09 09 61 6c  MoveFileEx;...al
17320 69 61 73 20 4f 62 6a 65 63 74 43 6c 6f 73 65 41  ias ObjectCloseA
17330 75 64 69 74 41 6c 61 72 6d 41 20 4f 62 6a 65 63  uditAlarmA Objec
17340 74 43 6c 6f 73 65 41 75 64 69 74 41 6c 61 72 6d  tCloseAuditAlarm
17350 3b 0a 09 09 61 6c 69 61 73 20 4f 62 6a 65 63 74  ;...alias Object
17360 44 65 6c 65 74 65 41 75 64 69 74 41 6c 61 72 6d  DeleteAuditAlarm
17370 41 20 4f 62 6a 65 63 74 44 65 6c 65 74 65 41 75  A ObjectDeleteAu
17380 64 69 74 41 6c 61 72 6d 3b 0a 09 09 61 6c 69 61  ditAlarm;...alia
17390 73 20 4f 62 6a 65 63 74 4f 70 65 6e 41 75 64 69  s ObjectOpenAudi
173a0 74 41 6c 61 72 6d 41 20 4f 62 6a 65 63 74 4f 70  tAlarmA ObjectOp
173b0 65 6e 41 75 64 69 74 41 6c 61 72 6d 3b 0a 09 09  enAuditAlarm;...
173c0 61 6c 69 61 73 20 4f 62 6a 65 63 74 50 72 69 76  alias ObjectPriv
173d0 69 6c 65 67 65 41 75 64 69 74 41 6c 61 72 6d 41  ilegeAuditAlarmA
173e0 20 4f 62 6a 65 63 74 50 72 69 76 69 6c 65 67 65   ObjectPrivilege
173f0 41 75 64 69 74 41 6c 61 72 6d 3b 0a 09 09 61 6c  AuditAlarm;...al
17400 69 61 73 20 4f 70 65 6e 42 61 63 6b 75 70 45 76  ias OpenBackupEv
17410 65 6e 74 4c 6f 67 41 20 4f 70 65 6e 42 61 63 6b  entLogA OpenBack
17420 75 70 45 76 65 6e 74 4c 6f 67 3b 0a 09 09 61 6c  upEventLog;...al
17430 69 61 73 20 4f 70 65 6e 45 76 65 6e 74 4c 6f 67  ias OpenEventLog
17440 41 20 4f 70 65 6e 45 76 65 6e 74 4c 6f 67 3b 0a  A OpenEventLog;.
17450 09 09 61 6c 69 61 73 20 50 72 69 76 69 6c 65 67  ..alias Privileg
17460 65 64 53 65 72 76 69 63 65 41 75 64 69 74 41 6c  edServiceAuditAl
17470 61 72 6d 41 20 50 72 69 76 69 6c 65 67 65 64 53  armA PrivilegedS
17480 65 72 76 69 63 65 41 75 64 69 74 41 6c 61 72 6d  erviceAuditAlarm
17490 3b 0a 09 09 61 6c 69 61 73 20 52 65 61 64 45 76  ;...alias ReadEv
174a0 65 6e 74 4c 6f 67 41 20 52 65 61 64 45 76 65 6e  entLogA ReadEven
174b0 74 4c 6f 67 3b 0a 09 09 61 6c 69 61 73 20 52 65  tLog;...alias Re
174c0 67 69 73 74 65 72 45 76 65 6e 74 53 6f 75 72 63  gisterEventSourc
174d0 65 41 20 52 65 67 69 73 74 65 72 45 76 65 6e 74  eA RegisterEvent
174e0 53 6f 75 72 63 65 3b 0a 09 09 61 6c 69 61 73 20  Source;...alias 
174f0 52 65 70 6f 72 74 45 76 65 6e 74 41 20 52 65 70  ReportEventA Rep
17500 6f 72 74 45 76 65 6e 74 3b 0a 09 09 61 6c 69 61  ortEvent;...alia
17510 73 20 53 65 74 46 69 6c 65 53 65 63 75 72 69 74  s SetFileSecurit
17520 79 41 20 53 65 74 46 69 6c 65 53 65 63 75 72 69  yA SetFileSecuri
17530 74 79 3b 0a 09 09 61 6c 69 61 73 20 55 70 64 61  ty;...alias Upda
17540 74 65 52 65 73 6f 75 72 63 65 41 20 55 70 64 61  teResourceA Upda
17550 74 65 52 65 73 6f 75 72 63 65 3b 0a 0a 09 09 73  teResource;....s
17560 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
17570 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29  _WINNT >= 0x500)
17580 20 7b 0a 09 09 09 61 6c 69 61 73 20 43 72 65 61   {....alias Crea
17590 74 65 46 69 6c 65 4d 61 70 70 69 6e 67 41 20 43  teFileMappingA C
175a0 72 65 61 74 65 46 69 6c 65 4d 61 70 70 69 6e 67  reateFileMapping
175b0 3b 0a 09 09 09 61 6c 69 61 73 20 43 72 65 61 74  ;....alias Creat
175c0 65 48 61 72 64 4c 69 6e 6b 41 20 43 72 65 61 74  eHardLinkA Creat
175d0 65 48 61 72 64 4c 69 6e 6b 3b 0a 09 09 09 61 6c  eHardLink;....al
175e0 69 61 73 20 43 72 65 61 74 65 4a 6f 62 4f 62 6a  ias CreateJobObj
175f0 65 63 74 41 20 43 72 65 61 74 65 4a 6f 62 4f 62  ectA CreateJobOb
17600 6a 65 63 74 3b 0a 09 09 09 61 6c 69 61 73 20 44  ject;....alias D
17610 65 6c 65 74 65 56 6f 6c 75 6d 65 4d 6f 75 6e 74  eleteVolumeMount
17620 50 6f 69 6e 74 41 20 44 65 6c 65 74 65 56 6f 6c  PointA DeleteVol
17630 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 3b 0a 09  umeMountPoint;..
17640 09 09 61 6c 69 61 73 20 44 6e 73 48 6f 73 74 6e  ..alias DnsHostn
17650 61 6d 65 54 6f 43 6f 6d 70 75 74 65 72 4e 61 6d  ameToComputerNam
17660 65 41 20 44 6e 73 48 6f 73 74 6e 61 6d 65 54 6f  eA DnsHostnameTo
17670 43 6f 6d 70 75 74 65 72 4e 61 6d 65 3b 0a 09 09  ComputerName;...
17680 09 61 6c 69 61 73 20 45 6e 63 72 79 70 74 46 69  .alias EncryptFi
17690 6c 65 41 20 45 6e 63 72 79 70 74 46 69 6c 65 3b  leA EncryptFile;
176a0 0a 09 09 09 61 6c 69 61 73 20 46 69 6c 65 45 6e  ....alias FileEn
176b0 63 72 79 70 74 69 6f 6e 53 74 61 74 75 73 41 20  cryptionStatusA 
176c0 46 69 6c 65 45 6e 63 72 79 70 74 69 6f 6e 53 74  FileEncryptionSt
176d0 61 74 75 73 3b 0a 09 09 09 61 6c 69 61 73 20 46  atus;....alias F
176e0 69 6e 64 46 69 72 73 74 56 6f 6c 75 6d 65 41 20  indFirstVolumeA 
176f0 46 69 6e 64 46 69 72 73 74 56 6f 6c 75 6d 65 3b  FindFirstVolume;
17700 0a 09 09 09 61 6c 69 61 73 20 46 69 6e 64 46 69  ....alias FindFi
17710 72 73 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f  rstVolumeMountPo
17720 69 6e 74 41 20 46 69 6e 64 46 69 72 73 74 56 6f  intA FindFirstVo
17730 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 3b 0a  lumeMountPoint;.
17740 09 09 09 61 6c 69 61 73 20 46 69 6e 64 4e 65 78  ...alias FindNex
17750 74 56 6f 6c 75 6d 65 41 20 46 69 6e 64 4e 65 78  tVolumeA FindNex
17760 74 56 6f 6c 75 6d 65 3b 0a 09 09 09 61 6c 69 61  tVolume;....alia
17770 73 20 46 69 6e 64 4e 65 78 74 56 6f 6c 75 6d 65  s FindNextVolume
17780 4d 6f 75 6e 74 50 6f 69 6e 74 41 20 46 69 6e 64  MountPointA Find
17790 4e 65 78 74 56 6f 6c 75 6d 65 4d 6f 75 6e 74 50  NextVolumeMountP
177a0 6f 69 6e 74 3b 0a 09 09 09 61 6c 69 61 73 20 47  oint;....alias G
177b0 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 45 78  etModuleHandleEx
177c0 41 20 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c  A GetModuleHandl
177d0 65 45 78 3b 0a 09 09 09 61 6c 69 61 73 20 47 65  eEx;....alias Ge
177e0 74 53 79 73 74 65 6d 57 69 6e 64 6f 77 73 44 69  tSystemWindowsDi
177f0 72 65 63 74 6f 72 79 41 20 47 65 74 53 79 73 74  rectoryA GetSyst
17800 65 6d 57 69 6e 64 6f 77 73 44 69 72 65 63 74 6f  emWindowsDirecto
17810 72 79 3b 0a 09 09 09 61 6c 69 61 73 20 47 65 74  ry;....alias Get
17820 56 6f 6c 75 6d 65 4e 61 6d 65 46 6f 72 56 6f 6c  VolumeNameForVol
17830 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 41 20 47  umeMountPointA G
17840 65 74 56 6f 6c 75 6d 65 4e 61 6d 65 46 6f 72 56  etVolumeNameForV
17850 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 3b  olumeMountPoint;
17860 0a 09 09 09 61 6c 69 61 73 20 47 65 74 56 6f 6c  ....alias GetVol
17870 75 6d 65 50 61 74 68 4e 61 6d 65 41 20 47 65 74  umePathNameA Get
17880 56 6f 6c 75 6d 65 50 61 74 68 4e 61 6d 65 3b 0a  VolumePathName;.
17890 09 09 09 61 6c 69 61 73 20 4f 70 65 6e 46 69 6c  ...alias OpenFil
178a0 65 4d 61 70 70 69 6e 67 41 20 4f 70 65 6e 46 69  eMappingA OpenFi
178b0 6c 65 4d 61 70 70 69 6e 67 3b 0a 09 09 09 61 6c  leMapping;....al
178c0 69 61 73 20 52 65 70 6c 61 63 65 46 69 6c 65 41  ias ReplaceFileA
178d0 20 52 65 70 6c 61 63 65 46 69 6c 65 3b 0a 09 09   ReplaceFile;...
178e0 09 61 6c 69 61 73 20 53 65 74 56 6f 6c 75 6d 65  .alias SetVolume
178f0 4d 6f 75 6e 74 50 6f 69 6e 74 41 20 53 65 74 56  MountPointA SetV
17900 6f 6c 75 6d 65 4d 6f 75 6e 74 50 6f 69 6e 74 3b  olumeMountPoint;
17910 0a 09 09 09 61 6c 69 61 73 20 56 65 72 69 66 79  ....alias Verify
17920 56 65 72 73 69 6f 6e 49 6e 66 6f 41 20 56 65 72  VersionInfoA Ver
17930 69 66 79 56 65 72 73 69 6f 6e 49 6e 66 6f 3b 0a  ifyVersionInfo;.
17940 09 09 7d 0a 0a 09 09 73 74 61 74 69 63 20 69 66  ..}....static if
17950 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
17960 3d 20 30 78 35 30 31 29 20 7b 0a 09 09 09 61 6c  = 0x501) {....al
17970 69 61 73 20 41 43 54 43 54 58 41 20 41 43 54 43  ias ACTCTXA ACTC
17980 54 58 3b 0a 09 09 09 61 6c 69 61 73 20 43 68 65  TX;....alias Che
17990 63 6b 4e 61 6d 65 4c 65 67 61 6c 44 4f 53 38 44  ckNameLegalDOS8D
179a0 6f 74 33 41 20 43 68 65 63 6b 4e 61 6d 65 4c 65  ot3A CheckNameLe
179b0 67 61 6c 44 4f 53 38 44 6f 74 33 3b 0a 09 09 09  galDOS8Dot3;....
179c0 61 6c 69 61 73 20 43 72 65 61 74 65 41 63 74 43  alias CreateActC
179d0 74 78 41 20 43 72 65 61 74 65 41 63 74 43 74 78  txA CreateActCtx
179e0 3b 0a 09 09 09 61 6c 69 61 73 20 46 69 6e 64 41  ;....alias FindA
179f0 63 74 43 74 78 53 65 63 74 69 6f 6e 53 74 72 69  ctCtxSectionStri
17a00 6e 67 41 20 46 69 6e 64 41 63 74 43 74 78 53 65  ngA FindActCtxSe
17a10 63 74 69 6f 6e 53 74 72 69 6e 67 3b 0a 09 09 09  ctionString;....
17a20 61 6c 69 61 73 20 47 65 74 53 79 73 74 65 6d 57  alias GetSystemW
17a30 6f 77 36 34 44 69 72 65 63 74 6f 72 79 41 20 47  ow64DirectoryA G
17a40 65 74 53 79 73 74 65 6d 57 6f 77 36 34 44 69 72  etSystemWow64Dir
17a50 65 63 74 6f 72 79 3b 0a 09 09 09 61 6c 69 61 73  ectory;....alias
17a60 20 47 65 74 56 6f 6c 75 6d 65 50 61 74 68 4e 61   GetVolumePathNa
17a70 6d 65 73 46 6f 72 56 6f 6c 75 6d 65 4e 61 6d 65  mesForVolumeName
17a80 41 20 47 65 74 56 6f 6c 75 6d 65 50 61 74 68 4e  A GetVolumePathN
17a90 61 6d 65 73 46 6f 72 56 6f 6c 75 6d 65 4e 61 6d  amesForVolumeNam
17aa0 65 3b 0a 09 09 09 61 6c 69 61 73 20 53 65 74 46  e;....alias SetF
17ab0 69 6c 65 53 68 6f 72 74 4e 61 6d 65 41 20 53 65  ileShortNameA Se
17ac0 74 46 69 6c 65 53 68 6f 72 74 4e 61 6d 65 3b 0a  tFileShortName;.
17ad0 09 09 7d 0a 0a 09 09 73 74 61 74 69 63 20 69 66  ..}....static if
17ae0 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
17af0 3d 20 30 78 35 30 32 29 20 7b 0a 09 09 09 61 6c  = 0x502) {....al
17b00 69 61 73 20 47 65 74 44 6c 6c 44 69 72 65 63 74  ias GetDllDirect
17b10 6f 72 79 41 20 47 65 74 44 6c 6c 44 69 72 65 63  oryA GetDllDirec
17b20 74 6f 72 79 3b 0a 09 09 09 61 6c 69 61 73 20 53  tory;....alias S
17b30 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79 41 20  etDllDirectoryA 
17b40 53 65 74 44 6c 6c 44 69 72 65 63 74 6f 72 79 3b  SetDllDirectory;
17b50 0a 09 09 09 61 6c 69 61 73 20 53 65 74 46 69 72  ....alias SetFir
17b60 6d 77 61 72 65 45 6e 76 69 72 6f 6e 6d 65 6e 74  mwareEnvironment
17b70 56 61 72 69 61 62 6c 65 41 20 53 65 74 46 69 72  VariableA SetFir
17b80 6d 77 61 72 65 45 6e 76 69 72 6f 6e 6d 65 6e 74  mwareEnvironment
17b90 56 61 72 69 61 62 6c 65 3b 0a 09 09 7d 0a 09 7d  Variable;...}..}
17ba0 0a 7d 0a 0a 61 6c 69 61 73 20 53 54 41 52 54 55  .}..alias STARTU
17bb0 50 49 4e 46 4f 2a 20 4c 50 53 54 41 52 54 55 50  PINFO* LPSTARTUP
17bc0 49 4e 46 4f 3b 0a 61 6c 69 61 73 20 57 49 4e 33  INFO;.alias WIN3
17bd0 32 5f 46 49 4e 44 5f 44 41 54 41 2a 20 4c 50 57  2_FIND_DATA* LPW
17be0 49 4e 33 32 5f 46 49 4e 44 5f 44 41 54 41 3b 0a  IN32_FIND_DATA;.
17bf0 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
17c00 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 29 20 7b  32_WINNT_ONLY) {
17c10 0a 09 61 6c 69 61 73 20 48 57 5f 50 52 4f 46 49  ..alias HW_PROFI
17c20 4c 45 5f 49 4e 46 4f 2a 20 4c 50 48 57 5f 50 52  LE_INFO* LPHW_PR
17c30 4f 46 49 4c 45 5f 49 4e 46 4f 3b 0a 0a 09 73 74  OFILE_INFO;...st
17c40 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
17c50 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20  WINNT >= 0x501) 
17c60 7b 0a 09 09 61 6c 69 61 73 20 41 43 54 43 54 58  {...alias ACTCTX
17c70 2a 20 50 41 43 54 43 54 58 2c 20 50 43 41 43 54  * PACTCTX, PCACT
17c80 43 54 58 3b 0a 09 7d 0a 7d 0a                    CTX;..}.}.