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;..}.}.