0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20 ********\.*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 77 69 6e 6e 74 winnt
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 *.*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 *.*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 Translated from
0190: 4d 69 6e 47 57 20 41 50 49 20 66 6f 72 20 4d 53 MinGW API for MS
01a0: 2d 57 69 6e 64 6f 77 73 20 33 2e 31 32 20 20 20 -Windows 3.12
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63 aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65 ********/.module
02a0: 20 77 69 6e 33 32 2e 77 69 6e 6e 74 3b 0a 0a 70 win32.winnt;..p
02b0: 75 62 6c 69 63 20 69 6d 70 6f 72 74 20 77 69 6e ublic import win
02c0: 33 32 2e 62 61 73 65 74 73 64 2c 20 77 69 6e 33 32.basetsd, win3
02d0: 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 2.windef, win32.
02e0: 77 69 6e 65 72 72 6f 72 3b 0a 70 72 69 76 61 74 winerror;.privat
02f0: 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 e import win32.w
0300: 33 32 61 70 69 3b 0a 0a 2f 2a 20 54 72 61 6e 73 32api;../* Trans
0310: 6c 61 74 69 6f 6e 20 4e 6f 74 65 73 3a 0a 54 68 lation Notes:.Th
0320: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72 e following macr
0330: 6f 73 20 61 72 65 20 75 6e 6e 65 65 64 65 64 20 os are unneeded
0340: 66 6f 72 20 44 3a 0a 46 49 45 4c 44 5f 4f 46 46 for D:.FIELD_OFF
0350: 53 45 54 28 74 2c 66 29 2c 20 43 4f 4e 54 41 49 SET(t,f), CONTAI
0360: 4e 49 4e 47 5f 52 45 43 4f 52 44 28 61 64 64 72 NING_RECORD(addr
0370: 65 73 73 2c 20 74 79 70 65 2c 20 66 69 65 6c 64 ess, type, field
0380: 29 0a 2a 2f 0a 0a 61 6c 69 61 73 20 76 6f 69 64 ).*/..alias void
0390: 20 20 20 56 4f 49 44 3b 0a 61 6c 69 61 73 20 63 VOID;.alias c
03a0: 68 61 72 20 20 20 43 48 41 52 2c 20 43 43 48 41 har CHAR, CCHA
03b0: 52 3b 0a 61 6c 69 61 73 20 77 63 68 61 72 20 20 R;.alias wchar
03c0: 57 43 48 41 52 3b 0a 61 6c 69 61 73 20 62 6f 6f WCHAR;.alias boo
03d0: 6c 20 20 20 42 4f 4f 4c 45 41 4e 3b 0a 61 6c 69 l BOOLEAN;.ali
03e0: 61 73 20 62 79 74 65 20 20 20 46 43 48 41 52 3b as byte FCHAR;
03f0: 0a 61 6c 69 61 73 20 75 62 79 74 65 20 20 55 43 .alias ubyte UC
0400: 48 41 52 3b 0a 61 6c 69 61 73 20 73 68 6f 72 74 HAR;.alias short
0410: 20 20 53 48 4f 52 54 3b 0a 61 6c 69 61 73 20 75 SHORT;.alias u
0420: 73 68 6f 72 74 20 4c 41 4e 47 49 44 2c 20 46 53 short LANGID, FS
0430: 48 4f 52 54 3b 0a 61 6c 69 61 73 20 75 69 6e 74 HORT;.alias uint
0440: 20 20 20 4c 43 49 44 2c 20 46 4c 4f 4e 47 2c 20 LCID, FLONG,
0450: 41 43 43 45 53 53 5f 4d 41 53 4b 3b 0a 61 6c 69 ACCESS_MASK;.ali
0460: 61 73 20 6c 6f 6e 67 20 20 20 4c 4f 4e 47 4c 4f as long LONGLO
0470: 4e 47 2c 20 55 53 4e 3b 0a 61 6c 69 61 73 20 75 NG, USN;.alias u
0480: 6c 6f 6e 67 20 20 44 57 4f 52 44 4c 4f 4e 47 2c long DWORDLONG,
0490: 20 55 4c 4f 4e 47 4c 4f 4e 47 3b 0a 0a 61 6c 69 ULONGLONG;..ali
04a0: 61 73 20 76 6f 69 64 2a 20 20 50 56 4f 49 44 2c as void* PVOID,
04b0: 20 4c 50 56 4f 49 44 3b 0a 61 6c 69 61 73 20 63 LPVOID;.alias c
04c0: 68 61 72 2a 20 20 50 53 5a 2c 20 50 43 48 41 52 har* PSZ, PCHAR
04d0: 2c 20 50 43 43 48 41 52 2c 20 4c 50 43 48 2c 20 , PCCHAR, LPCH,
04e0: 50 43 48 2c 20 4c 50 53 54 52 2c 20 50 53 54 52 PCH, LPSTR, PSTR
04f0: 3b 0a 61 6c 69 61 73 20 77 63 68 61 72 2a 20 50 ;.alias wchar* P
0500: 57 43 48 41 52 2c 20 4c 50 57 43 48 2c 20 50 57 WCHAR, LPWCH, PW
0510: 43 48 2c 20 4c 50 57 53 54 52 2c 20 50 57 53 54 CH, LPWSTR, PWST
0520: 52 3b 0a 61 6c 69 61 73 20 62 6f 6f 6c 2a 20 20 R;.alias bool*
0530: 50 42 4f 4f 4c 45 41 4e 3b 0a 61 6c 69 61 73 20 PBOOLEAN;.alias
0540: 75 62 79 74 65 2a 20 50 55 43 48 41 52 3b 0a 61 ubyte* PUCHAR;.a
0550: 6c 69 61 73 20 73 68 6f 72 74 2a 20 50 53 48 4f lias short* PSHO
0560: 52 54 3b 0a 61 6c 69 61 73 20 69 6e 74 2a 20 20 RT;.alias int*
0570: 20 50 4c 4f 4e 47 3b 0a 61 6c 69 61 73 20 75 69 PLONG;.alias ui
0580: 6e 74 2a 20 20 50 4c 43 49 44 2c 20 50 41 43 43 nt* PLCID, PACC
0590: 45 53 53 5f 4d 41 53 4b 3b 0a 61 6c 69 61 73 20 ESS_MASK;.alias
05a0: 6c 6f 6e 67 2a 20 20 50 4c 4f 4e 47 4c 4f 4e 47 long* PLONGLONG
05b0: 3b 0a 61 6c 69 61 73 20 75 6c 6f 6e 67 2a 20 50 ;.alias ulong* P
05c0: 44 57 4f 52 44 4c 4f 4e 47 2c 20 50 55 4c 4f 4e DWORDLONG, PULON
05d0: 47 4c 4f 4e 47 3b 0a 0a 2f 2f 20 46 49 58 4d 45 GLONG;..// FIXME
05e0: 28 4d 69 6e 47 57 29 20 66 6f 72 20 5f 5f 57 49 (MinGW) for __WI
05f0: 4e 36 34 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 N64.alias void*
0600: 20 50 56 4f 49 44 36 34 3b 0a 0a 2f 2f 20 63 6f PVOID64;..// co
0610: 6e 73 74 20 76 65 72 73 69 6f 6e 73 0a 61 6c 69 nst versions.ali
0620: 61 73 20 43 50 74 72 21 28 63 68 61 72 29 20 20 as CPtr!(char)
0630: 4c 50 43 43 48 2c 20 50 43 53 54 52 2c 20 4c 50 LPCCH, PCSTR, LP
0640: 43 53 54 52 3b 0a 61 6c 69 61 73 20 43 50 74 72 CSTR;.alias CPtr
0650: 21 28 77 63 68 61 72 29 20 4c 50 43 57 43 48 2c !(wchar) LPCWCH,
0660: 20 50 43 57 43 48 2c 20 4c 50 43 57 53 54 52 2c PCWCH, LPCWSTR,
0670: 20 50 43 57 53 54 52 3b 0a 0a 76 65 72 73 69 6f PCWSTR;..versio
0680: 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09 61 n (Unicode) {..a
0690: 6c 69 61 73 20 57 43 48 41 52 20 54 43 48 41 52 lias WCHAR TCHAR
06a0: 2c 20 5f 54 43 48 41 52 3b 0a 7d 20 65 6c 73 65 , _TCHAR;.} else
06b0: 20 7b 0a 09 61 6c 69 61 73 20 43 48 41 52 20 54 {..alias CHAR T
06c0: 43 48 41 52 2c 20 5f 54 43 48 41 52 3b 0a 7d 0a CHAR, _TCHAR;.}.
06d0: 0a 61 6c 69 61 73 20 54 43 48 41 52 20 20 20 20 .alias TCHAR
06e0: 20 20 20 20 54 42 59 54 45 3b 0a 61 6c 69 61 73 TBYTE;.alias
06f0: 20 54 43 48 41 52 2a 20 20 20 20 20 20 20 50 54 TCHAR* PT
0700: 43 48 2c 20 50 54 42 59 54 45 2c 20 4c 50 54 43 CH, PTBYTE, LPTC
0710: 48 2c 20 50 54 53 54 52 2c 20 4c 50 54 53 54 52 H, PTSTR, LPTSTR
0720: 2c 20 4c 50 2c 20 50 54 43 48 41 52 3b 0a 61 6c , LP, PTCHAR;.al
0730: 69 61 73 20 43 50 74 72 21 28 54 43 48 41 52 29 ias CPtr!(TCHAR)
0740: 20 4c 50 43 54 53 54 52 3b 0a 0a 63 6f 6e 73 74 LPCTSTR;..const
0750: 20 63 68 61 72 20 41 4e 53 49 5f 4e 55 4c 4c 20 char ANSI_NULL
0760: 3d 20 27 5c 30 27 3b 0a 63 6f 6e 73 74 20 77 63 = '\0';.const wc
0770: 68 61 72 20 55 4e 49 43 4f 44 45 5f 4e 55 4c 4c har UNICODE_NULL
0780: 20 3d 20 27 5c 30 27 3b 0a 0a 63 6f 6e 73 74 20 = '\0';..const
0790: 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f APPLICATION_ERRO
07a0: 52 5f 4d 41 53 4b 20 20 20 20 20 20 20 3d 20 30 R_MASK = 0
07b0: 78 32 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 x20000000;.const
07c0: 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f ERROR_SEVERITY_
07d0: 53 55 43 43 45 53 53 20 20 20 20 20 20 20 3d 20 SUCCESS =
07e0: 30 78 30 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 0x00000000;.cons
07f0: 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 t ERROR_SEVERITY
0800: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 41 4c 20 3d _INFORMATIONAL =
0810: 20 30 78 34 30 30 30 30 30 30 30 3b 0a 63 6f 6e 0x40000000;.con
0820: 73 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54 st ERROR_SEVERIT
0830: 59 5f 57 41 52 4e 49 4e 47 20 20 20 20 20 20 20 Y_WARNING
0840: 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0a 63 6f = 0x80000000;.co
0850: 6e 73 74 20 45 52 52 4f 52 5f 53 45 56 45 52 49 nst ERROR_SEVERI
0860: 54 59 5f 45 52 52 4f 52 20 20 20 20 20 20 20 20 TY_ERROR
0870: 20 3d 20 30 78 43 30 30 30 30 30 30 30 3b 0a 0a = 0xC0000000;..
0880: 2f 2f 20 4d 69 6e 47 57 3a 20 61 6c 73 6f 20 69 // MinGW: also i
0890: 6e 20 64 64 6b 2f 6e 74 69 66 73 2e 68 0a 65 6e n ddk/ntifs.h.en
08a0: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 43 um : USHORT {..C
08b0: 4f 4d 50 52 45 53 53 49 4f 4e 5f 46 4f 52 4d 41 OMPRESSION_FORMA
08c0: 54 5f 4e 4f 4e 45 20 20 20 20 20 3d 20 30 78 30 T_NONE = 0x0
08d0: 30 30 30 2c 0a 09 43 4f 4d 50 52 45 53 53 49 4f 000,..COMPRESSIO
08e0: 4e 5f 46 4f 52 4d 41 54 5f 44 45 46 41 55 4c 54 N_FORMAT_DEFAULT
08f0: 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 43 4f 4d = 0x0001,..COM
0900: 50 52 45 53 53 49 4f 4e 5f 46 4f 52 4d 41 54 5f PRESSION_FORMAT_
0910: 4c 5a 4e 54 31 20 20 20 20 3d 20 30 78 30 30 30 LZNT1 = 0x000
0920: 32 2c 0a 09 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 2,..COMPRESSION_
0930: 45 4e 47 49 4e 45 5f 53 54 41 4e 44 41 52 44 20 ENGINE_STANDARD
0940: 3d 20 30 78 30 30 30 30 2c 0a 09 43 4f 4d 50 52 = 0x0000,..COMPR
0950: 45 53 53 49 4f 4e 5f 45 4e 47 49 4e 45 5f 4d 41 ESSION_ENGINE_MA
0960: 58 49 4d 55 4d 20 20 3d 20 30 78 30 31 30 30 2c XIMUM = 0x0100,
0970: 0a 09 43 4f 4d 50 52 45 53 53 49 4f 4e 5f 45 4e ..COMPRESSION_EN
0980: 47 49 4e 45 5f 48 49 42 45 52 20 20 20 20 3d 20 GINE_HIBER =
0990: 30 78 30 32 30 30 0a 7d 0a 0a 2f 2f 20 41 43 43 0x0200.}..// ACC
09a0: 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 4a 45 43 ESS_DENIED_OBJEC
09b0: 54 5f 41 43 45 2c 20 65 74 63 0a 63 6f 6e 73 74 T_ACE, etc.const
09c0: 20 44 57 4f 52 44 0a 09 41 43 45 5f 4f 42 4a 45 DWORD..ACE_OBJE
09d0: 43 54 5f 54 59 50 45 5f 50 52 45 53 45 4e 54 20 CT_TYPE_PRESENT
09e0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
09f0: 30 30 30 30 30 31 2c 0a 09 41 43 45 5f 49 4e 48 000001,..ACE_INH
0a00: 45 52 49 54 45 44 5f 4f 42 4a 45 43 54 5f 54 59 ERITED_OBJECT_TY
0a10: 50 45 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 30 PE_PRESENT = 0x0
0a20: 30 30 30 30 30 30 32 3b 0a 0a 2f 2f 20 41 43 45 0000002;..// ACE
0a30: 5f 48 45 41 44 45 52 2e 41 63 65 54 79 70 65 0a _HEADER.AceType.
0a40: 2f 2f 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f 6e // also in ddk/n
0a50: 74 69 66 73 2e 68 0a 65 6e 75 6d 20 3a 20 42 59 tifs.h.enum : BY
0a60: 54 45 20 7b 0a 09 41 43 43 45 53 53 5f 41 4c 4c TE {..ACCESS_ALL
0a70: 4f 57 45 44 5f 41 43 45 5f 54 59 50 45 2c 0a 09 OWED_ACE_TYPE,..
0a80: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 41 43 ACCESS_DENIED_AC
0a90: 45 5f 54 59 50 45 2c 0a 09 53 59 53 54 45 4d 5f E_TYPE,..SYSTEM_
0aa0: 41 55 44 49 54 5f 41 43 45 5f 54 59 50 45 2c 0a AUDIT_ACE_TYPE,.
0ab0: 09 53 59 53 54 45 4d 5f 41 4c 41 52 4d 5f 41 43 .SYSTEM_ALARM_AC
0ac0: 45 5f 54 59 50 45 0a 7d 0a 0a 2f 2f 20 41 43 45 E_TYPE.}..// ACE
0ad0: 5f 48 45 41 44 45 52 2e 41 63 65 46 6c 61 67 73 _HEADER.AceFlags
0ae0: 0a 63 6f 6e 73 74 20 42 59 54 45 0a 09 4f 42 4a .const BYTE..OBJ
0af0: 45 43 54 5f 49 4e 48 45 52 49 54 5f 41 43 45 20 ECT_INHERIT_ACE
0b00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 2c 0a = 0x01,.
0b10: 09 43 4f 4e 54 41 49 4e 45 52 5f 49 4e 48 45 52 .CONTAINER_INHER
0b20: 49 54 5f 41 43 45 20 20 20 20 20 20 3d 20 30 78 IT_ACE = 0x
0b30: 30 32 2c 0a 09 4e 4f 5f 50 52 4f 50 41 47 41 54 02,..NO_PROPAGAT
0b40: 45 5f 49 4e 48 45 52 49 54 5f 41 43 45 20 20 20 E_INHERIT_ACE
0b50: 3d 20 30 78 30 34 2c 0a 09 49 4e 48 45 52 49 54 = 0x04,..INHERIT
0b60: 5f 4f 4e 4c 59 5f 41 43 45 20 20 20 20 20 20 20 _ONLY_ACE
0b70: 20 20 20 20 3d 20 30 78 30 38 2c 0a 09 49 4e 48 = 0x08,..INH
0b80: 45 52 49 54 45 44 5f 41 43 45 20 20 20 20 20 20 ERITED_ACE
0b90: 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 2c 0a = 0x10,.
0ba0: 09 56 41 4c 49 44 5f 49 4e 48 45 52 49 54 5f 46 .VALID_INHERIT_F
0bb0: 4c 41 47 53 20 20 20 20 20 20 20 20 3d 20 30 78 LAGS = 0x
0bc0: 31 46 2c 0a 09 53 55 43 43 45 53 53 46 55 4c 5f 1F,..SUCCESSFUL_
0bd0: 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41 47 20 ACCESS_ACE_FLAG
0be0: 3d 20 30 78 34 30 2c 0a 09 46 41 49 4c 45 44 5f = 0x40,..FAILED_
0bf0: 41 43 43 45 53 53 5f 41 43 45 5f 46 4c 41 47 20 ACCESS_ACE_FLAG
0c00: 20 20 20 20 3d 20 30 78 38 30 3b 0a 0a 2f 2f 20 = 0x80;..//
0c10: 41 63 63 65 73 73 20 4d 61 73 6b 20 46 6f 72 6d Access Mask Form
0c20: 61 74 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f at.const ACCESS_
0c30: 4d 41 53 4b 0a 09 44 45 4c 45 54 45 20 20 20 20 MASK..DELETE
0c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
0c50: 20 30 78 30 30 30 31 30 30 30 30 2c 0a 09 52 45 0x00010000,..RE
0c60: 41 44 5f 43 4f 4e 54 52 4f 4c 20 20 20 20 20 20 AD_CONTROL
0c70: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 30 = 0x00020
0c80: 30 30 30 2c 0a 09 57 52 49 54 45 5f 44 41 43 20 000,..WRITE_DAC
0c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
0ca0: 20 30 78 30 30 30 34 30 30 30 30 2c 0a 09 57 52 0x00040000,..WR
0cb0: 49 54 45 5f 4f 57 4e 45 52 20 20 20 20 20 20 20 ITE_OWNER
0cc0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 30 = 0x00080
0cd0: 30 30 30 2c 0a 09 53 59 4e 43 48 52 4f 4e 49 5a 000,..SYNCHRONIZ
0ce0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d E =
0cf0: 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 41 43 0x00100000,..AC
0d00: 43 45 53 53 5f 53 59 53 54 45 4d 5f 53 45 43 55 CESS_SYSTEM_SECU
0d10: 52 49 54 59 20 20 20 3d 20 30 78 30 31 30 30 30 RITY = 0x01000
0d20: 30 30 30 2c 0a 09 4d 41 58 49 4d 55 4d 5f 41 4c 000,..MAXIMUM_AL
0d30: 4c 4f 57 45 44 20 20 20 20 20 20 20 20 20 20 3d LOWED =
0d40: 20 30 78 30 32 30 30 30 30 30 30 2c 0a 09 47 45 0x02000000,..GE
0d50: 4e 45 52 49 43 5f 52 45 41 44 20 20 20 20 20 20 NERIC_READ
0d60: 20 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 = 0x80000
0d70: 30 30 30 2c 0a 09 47 45 4e 45 52 49 43 5f 57 52 000,..GENERIC_WR
0d80: 49 54 45 20 20 20 20 20 20 20 20 20 20 20 20 3d ITE =
0d90: 20 30 78 34 30 30 30 30 30 30 30 2c 0a 09 47 45 0x40000000,..GE
0da0: 4e 45 52 49 43 5f 45 58 45 43 55 54 45 20 20 20 NERIC_EXECUTE
0db0: 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 = 0x20000
0dc0: 30 30 30 2c 0a 09 47 45 4e 45 52 49 43 5f 41 4c 000,..GENERIC_AL
0dd0: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d L =
0de0: 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 53 54 0x10000000,..ST
0df0: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 ANDARD_RIGHTS_RE
0e00: 51 55 49 52 45 44 20 3d 20 30 78 30 30 30 46 30 QUIRED = 0x000F0
0e10: 30 30 30 2c 0a 09 53 54 41 4e 44 41 52 44 5f 52 000,..STANDARD_R
0e20: 49 47 48 54 53 5f 52 45 41 44 20 20 20 20 20 3d IGHTS_READ =
0e30: 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09 53 54 0x00020000,..ST
0e40: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 57 52 ANDARD_RIGHTS_WR
0e50: 49 54 45 20 20 20 20 3d 20 30 78 30 30 30 32 30 ITE = 0x00020
0e60: 30 30 30 2c 0a 09 53 54 41 4e 44 41 52 44 5f 52 000,..STANDARD_R
0e70: 49 47 48 54 53 5f 45 58 45 43 55 54 45 20 20 3d IGHTS_EXECUTE =
0e80: 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09 53 54 0x00020000,..ST
0e90: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 41 4c ANDARD_RIGHTS_AL
0ea0: 4c 20 20 20 20 20 20 3d 20 30 78 30 30 31 46 30 L = 0x001F0
0eb0: 30 30 30 2c 0a 09 53 50 45 43 49 46 49 43 5f 52 000,..SPECIFIC_R
0ec0: 49 47 48 54 53 5f 41 4c 4c 20 20 20 20 20 20 3d IGHTS_ALL =
0ed0: 20 30 78 30 30 30 30 46 46 46 46 3b 0a 0a 0a 63 0x0000FFFF;...c
0ee0: 6f 6e 73 74 20 44 57 4f 52 44 20 49 4e 56 41 4c onst DWORD INVAL
0ef0: 49 44 5f 46 49 4c 45 5f 41 54 54 52 49 42 55 54 ID_FILE_ATTRIBUT
0f00: 45 53 20 3d 20 2d 31 3b 0a 0a 2f 2f 20 4d 69 6e ES = -1;..// Min
0f10: 47 57 3a 20 41 6c 73 6f 20 69 6e 20 64 64 6b 2f GW: Also in ddk/
0f20: 77 69 6e 64 64 6b 2e 68 0a 63 6f 6e 73 74 20 44 winddk.h.const D
0f30: 57 4f 52 44 0a 09 46 49 4c 45 5f 4c 49 53 54 5f WORD..FILE_LIST_
0f40: 44 49 52 45 43 54 4f 52 59 20 20 20 20 20 20 20 DIRECTORY
0f50: 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46 = 0x00000001,..F
0f60: 49 4c 45 5f 52 45 41 44 5f 44 41 54 41 20 20 20 ILE_READ_DATA
0f70: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
0f80: 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 41 44 44 00001,..FILE_ADD
0f90: 5f 46 49 4c 45 20 20 20 20 20 20 20 20 20 20 20 _FILE
0fa0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a = 0x00000002,.
0fb0: 09 46 49 4c 45 5f 57 52 49 54 45 5f 44 41 54 41 .FILE_WRITE_DATA
0fc0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
0fd0: 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45 5f 41 0000002,..FILE_A
0fe0: 44 44 5f 53 55 42 44 49 52 45 43 54 4f 52 59 20 DD_SUBDIRECTORY
0ff0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 = 0x00000004
1000: 2c 0a 09 46 49 4c 45 5f 41 50 50 45 4e 44 5f 44 ,..FILE_APPEND_D
1010: 41 54 41 20 20 20 20 20 20 20 20 20 20 3d 20 30 ATA = 0
1020: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45 x00000004,..FILE
1030: 5f 43 52 45 41 54 45 5f 50 49 50 45 5f 49 4e 53 _CREATE_PIPE_INS
1040: 54 41 4e 43 45 20 3d 20 30 78 30 30 30 30 30 30 TANCE = 0x000000
1050: 30 34 2c 0a 09 46 49 4c 45 5f 52 45 41 44 5f 45 04,..FILE_READ_E
1060: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d A =
1070: 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 46 49 0x00000008,..FI
1080: 4c 45 5f 52 45 41 44 5f 50 52 4f 50 45 52 54 49 LE_READ_PROPERTI
1090: 45 53 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 ES = 0x0000
10a0: 30 30 30 38 2c 0a 09 46 49 4c 45 5f 57 52 49 54 0008,..FILE_WRIT
10b0: 45 5f 45 41 20 20 20 20 20 20 20 20 20 20 20 20 E_EA
10c0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09 = 0x00000010,..
10d0: 46 49 4c 45 5f 57 52 49 54 45 5f 50 52 4f 50 45 FILE_WRITE_PROPE
10e0: 52 54 49 45 53 20 20 20 20 20 3d 20 30 78 30 30 RTIES = 0x00
10f0: 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 45 58 000010,..FILE_EX
1100: 45 43 55 54 45 20 20 20 20 20 20 20 20 20 20 20 ECUTE
1110: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c = 0x00000020,
1120: 0a 09 46 49 4c 45 5f 54 52 41 56 45 52 53 45 20 ..FILE_TRAVERSE
1130: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
1140: 30 30 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 00000020,..FILE_
1150: 44 45 4c 45 54 45 5f 43 48 49 4c 44 20 20 20 20 DELETE_CHILD
1160: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 34 = 0x0000004
1170: 30 2c 0a 09 46 49 4c 45 5f 52 45 41 44 5f 41 54 0,..FILE_READ_AT
1180: 54 52 49 42 55 54 45 53 20 20 20 20 20 20 3d 20 TRIBUTES =
1190: 30 78 30 30 30 30 30 30 38 30 2c 0a 09 46 49 4c 0x00000080,..FIL
11a0: 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42 55 54 E_WRITE_ATTRIBUT
11b0: 45 53 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 ES = 0x00000
11c0: 31 30 30 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 100;..const DWOR
11d0: 44 0a 09 46 49 4c 45 5f 53 48 41 52 45 5f 52 45 D..FILE_SHARE_RE
11e0: 41 44 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 AD = 0x00
11f0: 30 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 53 48 000001,..FILE_SH
1200: 41 52 45 5f 57 52 49 54 45 20 20 20 20 20 20 20 ARE_WRITE
1210: 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 = 0x00000002,..F
1220: 49 4c 45 5f 53 48 41 52 45 5f 44 45 4c 45 54 45 ILE_SHARE_DELETE
1230: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 = 0x000000
1240: 30 34 2c 0a 09 46 49 4c 45 5f 53 48 41 52 45 5f 04,..FILE_SHARE_
1250: 56 41 4c 49 44 5f 46 4c 41 47 53 20 3d 20 30 78 VALID_FLAGS = 0x
1260: 30 30 30 30 30 30 30 37 3b 0a 0a 63 6f 6e 73 74 00000007;..const
1270: 20 44 57 4f 52 44 0a 09 46 49 4c 45 5f 41 54 54 DWORD..FILE_ATT
1280: 52 49 42 55 54 45 5f 52 45 41 44 4f 4e 4c 59 20 RIBUTE_READONLY
1290: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
12a0: 30 30 30 30 30 30 31 2c 0a 09 46 49 4c 45 5f 41 0000001,..FILE_A
12b0: 54 54 52 49 42 55 54 45 5f 48 49 44 44 45 4e 20 TTRIBUTE_HIDDEN
12c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 = 0
12d0: 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45 x00000002,..FILE
12e0: 5f 41 54 54 52 49 42 55 54 45 5f 53 59 53 54 45 _ATTRIBUTE_SYSTE
12f0: 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d M =
1300: 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 0x00000004,..FI
1310: 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 44 49 52 LE_ATTRIBUTE_DIR
1320: 45 43 54 4f 52 59 20 20 20 20 20 20 20 20 20 20 ECTORY
1330: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09 = 0x00000010,..
1340: 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 41 FILE_ATTRIBUTE_A
1350: 52 43 48 49 56 45 20 20 20 20 20 20 20 20 20 20 RCHIVE
1360: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c = 0x00000020,
1370: 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 ..FILE_ATTRIBUTE
1380: 5f 44 45 56 49 43 45 20 20 20 20 20 20 20 20 20 _DEVICE
1390: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 34 = 0x0000004
13a0: 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 0,..FILE_ATTRIBU
13b0: 54 45 5f 4e 4f 52 4d 41 4c 20 20 20 20 20 20 20 TE_NORMAL
13c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
13d0: 30 38 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 080,..FILE_ATTRI
13e0: 42 55 54 45 5f 54 45 4d 50 4f 52 41 52 59 20 20 BUTE_TEMPORARY
13f0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
1400: 30 30 31 30 30 2c 0a 09 46 49 4c 45 5f 41 54 54 00100,..FILE_ATT
1410: 52 49 42 55 54 45 5f 53 50 41 52 53 45 5f 46 49 RIBUTE_SPARSE_FI
1420: 4c 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 LE = 0x0
1430: 30 30 30 30 32 30 30 2c 0a 09 46 49 4c 45 5f 41 0000200,..FILE_A
1440: 54 54 52 49 42 55 54 45 5f 52 45 50 41 52 53 45 TTRIBUTE_REPARSE
1450: 5f 50 4f 49 4e 54 20 20 20 20 20 20 20 3d 20 30 _POINT = 0
1460: 78 30 30 30 30 30 34 30 30 2c 0a 09 46 49 4c 45 x00000400,..FILE
1470: 5f 41 54 54 52 49 42 55 54 45 5f 43 4f 4d 50 52 _ATTRIBUTE_COMPR
1480: 45 53 53 45 44 20 20 20 20 20 20 20 20 20 20 3d ESSED =
1490: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 46 49 0x00000800,..FI
14a0: 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 4f 46 46 LE_ATTRIBUTE_OFF
14b0: 4c 49 4e 45 20 20 20 20 20 20 20 20 20 20 20 20 LINE
14c0: 20 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09 = 0x00001000,..
14d0: 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 4e FILE_ATTRIBUTE_N
14e0: 4f 54 5f 43 4f 4e 54 45 4e 54 5f 49 4e 44 45 58 OT_CONTENT_INDEX
14f0: 45 44 20 3d 20 30 78 30 30 30 30 32 30 30 30 2c ED = 0x00002000,
1500: 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 ..FILE_ATTRIBUTE
1510: 5f 45 4e 43 52 59 50 54 45 44 20 20 20 20 20 20 _ENCRYPTED
1520: 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 30 = 0x0000400
1530: 30 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 42 55 0,..FILE_ATTRIBU
1540: 54 45 5f 56 41 4c 49 44 5f 46 4c 41 47 53 20 20 TE_VALID_FLAGS
1550: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 37 = 0x00007
1560: 66 62 37 2c 0a 09 46 49 4c 45 5f 41 54 54 52 49 fb7,..FILE_ATTRI
1570: 42 55 54 45 5f 56 41 4c 49 44 5f 53 45 54 5f 46 BUTE_VALID_SET_F
1580: 4c 41 47 53 20 20 20 20 20 3d 20 30 78 30 30 30 LAGS = 0x000
1590: 30 33 31 61 37 3b 0a 0a 2f 2f 20 54 68 65 73 65 031a7;..// These
15a0: 20 61 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65 6e are not documen
15b0: 74 65 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e 73 ted on MSDN.cons
15c0: 74 20 46 49 4c 45 5f 43 4f 50 59 5f 53 54 52 55 t FILE_COPY_STRU
15d0: 43 54 55 52 45 44 5f 53 54 4f 52 41 47 45 20 3d CTURED_STORAGE =
15e0: 20 30 78 30 30 30 30 30 30 34 31 3b 0a 63 6f 6e 0x00000041;.con
15f0: 73 74 20 46 49 4c 45 5f 53 54 52 55 43 54 55 52 st FILE_STRUCTUR
1600: 45 44 5f 53 54 4f 52 41 47 45 20 20 20 20 20 20 ED_STORAGE
1610: 3d 20 30 78 30 30 30 30 30 34 34 31 3b 0a 0a 2f = 0x00000441;../
1620: 2f 20 4e 6f 72 20 61 72 65 20 74 68 65 73 65 0a / Nor are these.
1630: 63 6f 6e 73 74 20 46 49 4c 45 5f 56 41 4c 49 44 const FILE_VALID
1640: 5f 4f 50 54 49 4f 4e 5f 46 4c 41 47 53 20 20 20 _OPTION_FLAGS
1650: 20 20 20 20 20 20 20 3d 20 30 78 30 30 66 66 66 = 0x00fff
1660: 66 66 66 3b 0a 63 6f 6e 73 74 20 46 49 4c 45 5f fff;.const FILE_
1670: 56 41 4c 49 44 5f 50 49 50 45 5f 4f 50 54 49 4f VALID_PIPE_OPTIO
1680: 4e 5f 46 4c 41 47 53 20 20 20 20 20 3d 20 30 78 N_FLAGS = 0x
1690: 30 30 30 30 30 30 33 32 3b 0a 63 6f 6e 73 74 20 00000032;.const
16a0: 46 49 4c 45 5f 56 41 4c 49 44 5f 4d 41 49 4c 53 FILE_VALID_MAILS
16b0: 4c 4f 54 5f 4f 50 54 49 4f 4e 5f 46 4c 41 47 53 LOT_OPTION_FLAGS
16c0: 20 3d 20 30 78 30 30 30 30 30 30 33 32 3b 0a 63 = 0x00000032;.c
16d0: 6f 6e 73 74 20 46 49 4c 45 5f 56 41 4c 49 44 5f onst FILE_VALID_
16e0: 53 45 54 5f 46 4c 41 47 53 20 20 20 20 20 20 20 SET_FLAGS
16f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 = 0x000000
1700: 33 36 3b 0a 0a 63 6f 6e 73 74 20 55 4c 4f 4e 47 36;..const ULONG
1710: 0a 09 46 49 4c 45 5f 53 55 50 45 52 53 45 44 45 ..FILE_SUPERSEDE
1720: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
1730: 30 30 30 30 30 30 30 2c 0a 09 46 49 4c 45 5f 4f 0000000,..FILE_O
1740: 50 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 PEN
1750: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c = 0x00000001,
1760: 0a 09 46 49 4c 45 5f 43 52 45 41 54 45 20 20 20 ..FILE_CREATE
1770: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
1780: 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 45 5f 4f 0000002,..FILE_O
1790: 50 45 4e 5f 49 46 20 20 20 20 20 20 20 20 20 20 PEN_IF
17a0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 33 2c = 0x00000003,
17b0: 0a 09 46 49 4c 45 5f 4f 56 45 52 57 52 49 54 45 ..FILE_OVERWRITE
17c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
17d0: 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45 5f 4f 0000004,..FILE_O
17e0: 56 45 52 57 52 49 54 45 5f 49 46 20 20 20 20 20 VERWRITE_IF
17f0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 35 2c = 0x00000005,
1800: 0a 09 46 49 4c 45 5f 4d 41 58 49 4d 55 4d 5f 44 ..FILE_MAXIMUM_D
1810: 49 53 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 ISPOSITION = 0x0
1820: 30 30 30 30 30 30 35 3b 0a 0a 63 6f 6e 73 74 20 0000005;..const
1830: 55 4c 4f 4e 47 0a 09 46 49 4c 45 5f 44 49 52 45 ULONG..FILE_DIRE
1840: 43 54 4f 52 59 5f 46 49 4c 45 20 20 20 20 20 20 CTORY_FILE
1850: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 = 0x000000
1860: 30 31 2c 0a 09 46 49 4c 45 5f 57 52 49 54 45 5f 01,..FILE_WRITE_
1870: 54 48 52 4f 55 47 48 20 20 20 20 20 20 20 20 20 THROUGH
1880: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 = 0x00000002
1890: 2c 0a 09 46 49 4c 45 5f 53 45 51 55 45 4e 54 49 ,..FILE_SEQUENTI
18a0: 41 4c 5f 4f 4e 4c 59 20 20 20 20 20 20 20 20 20 AL_ONLY
18b0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a = 0x00000004,.
18c0: 09 46 49 4c 45 5f 4e 4f 5f 49 4e 54 45 52 4d 45 .FILE_NO_INTERME
18d0: 44 49 41 54 45 5f 42 55 46 46 45 52 49 4e 47 20 DIATE_BUFFERING
18e0: 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 46 = 0x00000008,..F
18f0: 49 4c 45 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 5f ILE_SYNCHRONOUS_
1900: 49 4f 5f 41 4c 45 52 54 20 20 20 20 20 20 3d 20 IO_ALERT =
1910: 30 78 30 30 30 30 30 30 31 30 2c 0a 09 46 49 4c 0x00000010,..FIL
1920: 45 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 5f 49 4f E_SYNCHRONOUS_IO
1930: 5f 4e 4f 4e 41 4c 45 52 54 20 20 20 3d 20 30 78 _NONALERT = 0x
1940: 30 30 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 00000020,..FILE_
1950: 4e 4f 4e 5f 44 49 52 45 43 54 4f 52 59 5f 46 49 NON_DIRECTORY_FI
1960: 4c 45 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 LE = 0x00
1970: 30 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 43 52 000040,..FILE_CR
1980: 45 41 54 45 5f 54 52 45 45 5f 43 4f 4e 4e 45 43 EATE_TREE_CONNEC
1990: 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 30 30 30 TION = 0x0000
19a0: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 43 4f 4d 50 0080,..FILE_COMP
19b0: 4c 45 54 45 5f 49 46 5f 4f 50 4c 4f 43 4b 45 44 LETE_IF_OPLOCKED
19c0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 = 0x000001
19d0: 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 5f 45 41 5f 00,..FILE_NO_EA_
19e0: 4b 4e 4f 57 4c 45 44 47 45 20 20 20 20 20 20 20 KNOWLEDGE
19f0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 = 0x00000200
1a00: 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 46 4f 52 ,..FILE_OPEN_FOR
1a10: 5f 52 45 43 4f 56 45 52 59 20 20 20 20 20 20 20 _RECOVERY
1a20: 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0a = 0x00000400,.
1a30: 09 46 49 4c 45 5f 52 41 4e 44 4f 4d 5f 41 43 43 .FILE_RANDOM_ACC
1a40: 45 53 53 20 20 20 20 20 20 20 20 20 20 20 20 20 ESS
1a50: 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 46 = 0x00000800,..F
1a60: 49 4c 45 5f 44 45 4c 45 54 45 5f 4f 4e 5f 43 4c ILE_DELETE_ON_CL
1a70: 4f 53 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 OSE =
1a80: 30 78 30 30 30 30 31 30 30 30 2c 0a 09 46 49 4c 0x00001000,..FIL
1a90: 45 5f 4f 50 45 4e 5f 42 59 5f 46 49 4c 45 5f 49 E_OPEN_BY_FILE_I
1aa0: 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 D = 0x
1ab0: 30 30 30 30 32 30 30 30 2c 0a 09 46 49 4c 45 5f 00002000,..FILE_
1ac0: 4f 50 45 4e 5f 46 4f 52 5f 42 41 43 4b 55 50 5f OPEN_FOR_BACKUP_
1ad0: 49 4e 54 45 4e 54 20 20 20 20 3d 20 30 78 30 30 INTENT = 0x00
1ae0: 30 30 34 30 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 004000,..FILE_NO
1af0: 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20 20 20 20 _COMPRESSION
1b00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
1b10: 38 30 30 30 2c 0a 09 46 49 4c 45 5f 52 45 53 45 8000,..FILE_RESE
1b20: 52 56 45 5f 4f 50 46 49 4c 54 45 52 20 20 20 20 RVE_OPFILTER
1b30: 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 30 = 0x001000
1b40: 30 30 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 52 00,..FILE_OPEN_R
1b50: 45 50 41 52 53 45 5f 50 4f 49 4e 54 20 20 20 20 EPARSE_POINT
1b60: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 = 0x00200000
1b70: 2c 0a 09 46 49 4c 45 5f 4f 50 45 4e 5f 4e 4f 5f ,..FILE_OPEN_NO_
1b80: 52 45 43 41 4c 4c 20 20 20 20 20 20 20 20 20 20 RECALL
1b90: 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a = 0x00400000,.
1ba0: 09 46 49 4c 45 5f 4f 50 45 4e 5f 46 4f 52 5f 46 .FILE_OPEN_FOR_F
1bb0: 52 45 45 5f 53 50 41 43 45 5f 51 55 45 52 59 20 REE_SPACE_QUERY
1bc0: 3d 20 30 78 30 30 38 30 30 30 30 30 3b 0a 0a 0a = 0x00800000;...
1bd0: 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53 const ACCESS_MAS
1be0: 4b 0a 09 46 49 4c 45 5f 41 4c 4c 5f 41 43 43 45 K..FILE_ALL_ACCE
1bf0: 53 53 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 SS = STANDA
1c00: 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 RD_RIGHTS_REQUIR
1c10: 45 44 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45 ED | SYNCHRONIZE
1c20: 20 7c 20 30 78 30 31 46 46 2c 0a 09 46 49 4c 45 | 0x01FF,..FILE
1c30: 5f 47 45 4e 45 52 49 43 5f 45 58 45 43 55 54 45 _GENERIC_EXECUTE
1c40: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 = STANDARD_RIGH
1c50: 54 53 5f 45 58 45 43 55 54 45 20 7c 20 46 49 4c TS_EXECUTE | FIL
1c60: 45 5f 52 45 41 44 5f 41 54 54 52 49 42 55 54 45 E_READ_ATTRIBUTE
1c70: 53 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20 S..
1c80: 20 20 20 20 20 20 20 20 20 20 7c 20 46 49 4c 45 | FILE
1c90: 5f 45 58 45 43 55 54 45 20 7c 20 53 59 4e 43 48 _EXECUTE | SYNCH
1ca0: 52 4f 4e 49 5a 45 2c 0a 09 46 49 4c 45 5f 47 45 RONIZE,..FILE_GE
1cb0: 4e 45 52 49 43 5f 52 45 41 44 20 20 20 20 3d 20 NERIC_READ =
1cc0: 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f STANDARD_RIGHTS_
1cd0: 52 45 41 44 20 7c 20 46 49 4c 45 5f 52 45 41 44 READ | FILE_READ
1ce0: 5f 44 41 54 41 0a 09 20 20 20 20 20 20 20 20 20 _DATA..
1cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1d00: 46 49 4c 45 5f 52 45 41 44 5f 41 54 54 52 49 42 FILE_READ_ATTRIB
1d10: 55 54 45 53 20 7c 20 46 49 4c 45 5f 52 45 41 44 UTES | FILE_READ
1d20: 5f 45 41 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a _EA | SYNCHRONIZ
1d30: 45 2c 0a 09 46 49 4c 45 5f 47 45 4e 45 52 49 43 E,..FILE_GENERIC
1d40: 5f 57 52 49 54 45 20 20 20 3d 20 53 54 41 4e 44 _WRITE = STAND
1d50: 41 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45 ARD_RIGHTS_WRITE
1d60: 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f 44 41 | FILE_WRITE_DA
1d70: 54 41 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 TA..
1d80: 20 20 20 20 20 20 20 20 20 20 20 7c 20 46 49 4c | FIL
1d90: 45 5f 57 52 49 54 45 5f 41 54 54 52 49 42 55 54 E_WRITE_ATTRIBUT
1da0: 45 53 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f ES | FILE_WRITE_
1db0: 45 41 20 7c 20 46 49 4c 45 5f 41 50 50 45 4e 44 EA | FILE_APPEND
1dc0: 5f 44 41 54 41 0a 09 20 20 20 20 20 20 20 20 20 _DATA..
1dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1de0: 53 59 4e 43 48 52 4f 4e 49 5a 45 3b 0a 0a 2f 2f SYNCHRONIZE;..//
1df0: 20 4d 69 6e 47 57 3a 20 65 6e 64 20 77 69 6e 64 MinGW: end wind
1e00: 64 6b 2e 68 0a 2f 2f 20 4d 69 6e 47 57 3a 20 61 dk.h.// MinGW: a
1e10: 6c 73 6f 20 69 6e 20 64 64 6b 2f 6e 74 69 66 73 lso in ddk/ntifs
1e20: 2e 68 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 .h.const DWORD..
1e30: 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e FILE_NOTIFY_CHAN
1e40: 47 45 5f 46 49 4c 45 5f 4e 41 4d 45 20 20 20 20 GE_FILE_NAME
1e50: 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46 = 0x00000001,..F
1e60: 49 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 ILE_NOTIFY_CHANG
1e70: 45 5f 44 49 52 5f 4e 41 4d 45 20 20 20 20 20 3d E_DIR_NAME =
1e80: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49 0x00000002,..FI
1e90: 4c 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 LE_NOTIFY_CHANGE
1ea0: 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 3d 20 _NAME =
1eb0: 30 78 30 30 30 30 30 30 30 33 2c 0a 09 46 49 4c 0x00000003,..FIL
1ec0: 45 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f E_NOTIFY_CHANGE_
1ed0: 41 54 54 52 49 42 55 54 45 53 20 20 20 3d 20 30 ATTRIBUTES = 0
1ee0: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45 x00000004,..FILE
1ef0: 5f 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 53 _NOTIFY_CHANGE_S
1f00: 49 5a 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 IZE = 0x
1f10: 30 30 30 30 30 30 30 38 2c 0a 09 46 49 4c 45 5f 00000008,..FILE_
1f20: 4e 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41 NOTIFY_CHANGE_LA
1f30: 53 54 5f 57 52 49 54 45 20 20 20 3d 20 30 78 30 ST_WRITE = 0x0
1f40: 30 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 4e 0000010,..FILE_N
1f50: 4f 54 49 46 59 5f 43 48 41 4e 47 45 5f 4c 41 53 OTIFY_CHANGE_LAS
1f60: 54 5f 41 43 43 45 53 53 20 20 3d 20 30 78 30 30 T_ACCESS = 0x00
1f70: 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 4e 4f 000020,..FILE_NO
1f80: 54 49 46 59 5f 43 48 41 4e 47 45 5f 43 52 45 41 TIFY_CHANGE_CREA
1f90: 54 49 4f 4e 20 20 20 20 20 3d 20 30 78 30 30 30 TION = 0x000
1fa0: 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 00040,..FILE_NOT
1fb0: 49 46 59 5f 43 48 41 4e 47 45 5f 45 41 20 20 20 IFY_CHANGE_EA
1fc0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
1fd0: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 0080,..FILE_NOTI
1fe0: 46 59 5f 43 48 41 4e 47 45 5f 53 45 43 55 52 49 FY_CHANGE_SECURI
1ff0: 54 59 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 TY = 0x00000
2000: 31 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 100,..FILE_NOTIF
2010: 59 5f 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f Y_CHANGE_STREAM_
2020: 4e 41 4d 45 20 20 3d 20 30 78 30 30 30 30 30 32 NAME = 0x000002
2030: 30 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59 00,..FILE_NOTIFY
2040: 5f 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f 53 _CHANGE_STREAM_S
2050: 49 5a 45 20 20 3d 20 30 78 30 30 30 30 30 34 30 IZE = 0x0000040
2060: 30 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 0,..FILE_NOTIFY_
2070: 43 48 41 4e 47 45 5f 53 54 52 45 41 4d 5f 57 52 CHANGE_STREAM_WR
2080: 49 54 45 20 3d 20 30 78 30 30 30 30 30 38 30 30 ITE = 0x00000800
2090: 2c 0a 09 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 56 ,..FILE_NOTIFY_V
20a0: 41 4c 49 44 5f 4d 41 53 4b 20 20 20 20 20 20 20 ALID_MASK
20b0: 20 20 20 3d 20 30 78 30 30 30 30 30 66 66 66 3b = 0x00000fff;
20c0: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 46 ..const DWORD..F
20d0: 49 4c 45 5f 43 41 53 45 5f 53 45 4e 53 49 54 49 ILE_CASE_SENSITI
20e0: 56 45 5f 53 45 41 52 43 48 20 20 20 20 20 20 3d VE_SEARCH =
20f0: 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46 49 0x00000001,..FI
2100: 4c 45 5f 43 41 53 45 5f 50 52 45 53 45 52 56 45 LE_CASE_PRESERVE
2110: 44 5f 4e 41 4d 45 53 20 20 20 20 20 20 20 3d 20 D_NAMES =
2120: 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 49 4c 0x00000002,..FIL
2130: 45 5f 55 4e 49 43 4f 44 45 5f 4f 4e 5f 44 49 53 E_UNICODE_ON_DIS
2140: 4b 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 K = 0
2150: 78 30 30 30 30 30 30 30 34 2c 0a 09 46 49 4c 45 x00000004,..FILE
2160: 5f 50 45 52 53 49 53 54 45 4e 54 5f 41 43 4c 53 _PERSISTENT_ACLS
2170: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
2180: 30 30 30 30 30 30 30 38 2c 0a 09 46 49 4c 45 5f 00000008,..FILE_
2190: 46 49 4c 45 5f 43 4f 4d 50 52 45 53 53 49 4f 4e FILE_COMPRESSION
21a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
21b0: 30 30 30 30 30 31 30 2c 0a 09 46 49 4c 45 5f 56 0000010,..FILE_V
21c0: 4f 4c 55 4d 45 5f 51 55 4f 54 41 53 20 20 20 20 OLUME_QUOTAS
21d0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
21e0: 30 30 30 30 32 30 2c 0a 09 46 49 4c 45 5f 53 55 000020,..FILE_SU
21f0: 50 50 4f 52 54 53 5f 53 50 41 52 53 45 5f 46 49 PPORTS_SPARSE_FI
2200: 4c 45 53 20 20 20 20 20 20 3d 20 30 78 30 30 30 LES = 0x000
2210: 30 30 30 34 30 2c 0a 09 46 49 4c 45 5f 53 55 50 00040,..FILE_SUP
2220: 50 4f 52 54 53 5f 52 45 50 41 52 53 45 5f 50 4f PORTS_REPARSE_PO
2230: 49 4e 54 53 20 20 20 20 3d 20 30 78 30 30 30 30 INTS = 0x0000
2240: 30 30 38 30 2c 0a 09 46 49 4c 45 5f 53 55 50 50 0080,..FILE_SUPP
2250: 4f 52 54 53 5f 52 45 4d 4f 54 45 5f 53 54 4f 52 ORTS_REMOTE_STOR
2260: 41 47 45 20 20 20 20 3d 20 30 78 30 30 30 30 30 AGE = 0x00000
2270: 31 30 30 2c 0a 09 46 53 5f 4c 46 4e 5f 41 50 49 100,..FS_LFN_API
2280: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S
2290: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 = 0x000040
22a0: 30 30 2c 0a 09 46 49 4c 45 5f 56 4f 4c 55 4d 45 00,..FILE_VOLUME
22b0: 5f 49 53 5f 43 4f 4d 50 52 45 53 53 45 44 20 20 _IS_COMPRESSED
22c0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 = 0x0000800
22d0: 30 2c 0a 09 46 49 4c 45 5f 53 55 50 50 4f 52 54 0,..FILE_SUPPORT
22e0: 53 5f 4f 42 4a 45 43 54 5f 49 44 53 20 20 20 20 S_OBJECT_IDS
22f0: 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30 30 = 0x00010000
2300: 2c 0a 09 46 49 4c 45 5f 53 55 50 50 4f 52 54 53 ,..FILE_SUPPORTS
2310: 5f 45 4e 43 52 59 50 54 49 4f 4e 20 20 20 20 20 _ENCRYPTION
2320: 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c = 0x00020000,
2330: 0a 09 46 49 4c 45 5f 4e 41 4d 45 44 5f 53 54 52 ..FILE_NAMED_STR
2340: 45 41 4d 53 20 20 20 20 20 20 20 20 20 20 20 20 EAMS
2350: 20 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c 0a = 0x00040000,.
2360: 09 46 49 4c 45 5f 52 45 41 44 5f 4f 4e 4c 59 5f .FILE_READ_ONLY_
2370: 56 4f 4c 55 4d 45 20 20 20 20 20 20 20 20 20 20 VOLUME
2380: 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09 = 0x00080000,..
2390: 46 49 4c 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f FILE_SEQUENTIAL_
23a0: 57 52 49 54 45 5f 4f 4e 43 45 20 20 20 20 20 20 WRITE_ONCE
23b0: 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 46 = 0x00100000,..F
23c0: 49 4c 45 5f 53 55 50 50 4f 52 54 53 5f 54 52 41 ILE_SUPPORTS_TRA
23d0: 4e 53 41 43 54 49 4f 4e 53 20 20 20 20 20 20 3d NSACTIONS =
23e0: 20 30 78 30 30 32 30 30 30 30 30 3b 0a 0a 2f 2f 0x00200000;..//
23f0: 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74 20 64 These are not d
2400: 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44 ocumented on MSD
2410: 4e 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d N.const ACCESS_M
2420: 41 53 4b 0a 09 49 4f 5f 43 4f 4d 50 4c 45 54 49 ASK..IO_COMPLETI
2430: 4f 4e 5f 51 55 45 52 59 5f 53 54 41 54 45 20 20 ON_QUERY_STATE
2440: 3d 20 31 2c 0a 09 49 4f 5f 43 4f 4d 50 4c 45 54 = 1,..IO_COMPLET
2450: 49 4f 4e 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 ION_MODIFY_STATE
2460: 20 3d 20 32 2c 0a 09 49 4f 5f 43 4f 4d 50 4c 45 = 2,..IO_COMPLE
2470: 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20 TION_ALL_ACCESS
2480: 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 = STANDARD_RIG
2490: 48 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53 HTS_REQUIRED | S
24a0: 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 33 3b 0a YNCHRONIZE | 3;.
24b0: 2f 2f 20 4d 69 6e 47 57 3a 20 65 6e 64 20 6e 74 // MinGW: end nt
24c0: 69 66 73 2e 68 0a 0a 2f 2f 20 4d 69 6e 47 57 3a ifs.h..// MinGW:
24d0: 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f 77 69 6e also in ddk/win
24e0: 64 64 6b 2e 68 0a 63 6f 6e 73 74 20 44 57 4f 52 ddk.h.const DWOR
24f0: 44 0a 09 44 55 50 4c 49 43 41 54 45 5f 43 4c 4f D..DUPLICATE_CLO
2500: 53 45 5f 53 4f 55 52 43 45 20 20 20 20 3d 20 31 SE_SOURCE = 1
2510: 2c 0a 09 44 55 50 4c 49 43 41 54 45 5f 53 41 4d ,..DUPLICATE_SAM
2520: 45 5f 41 43 43 45 53 53 20 20 20 20 20 3d 20 32 E_ACCESS = 2
2530: 2c 0a 09 44 55 50 4c 49 43 41 54 45 5f 53 41 4d ,..DUPLICATE_SAM
2540: 45 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20 34 E_ATTRIBUTES = 4
2550: 3b 0a 2f 2f 20 4d 69 6e 47 57 3a 20 65 6e 64 20 ;.// MinGW: end
2560: 77 69 6e 64 64 6b 2e 6b 0a 0a 63 6f 6e 73 74 20 winddk.k..const
2570: 44 57 4f 52 44 0a 09 4d 41 49 4c 53 4c 4f 54 5f DWORD..MAILSLOT_
2580: 4e 4f 5f 4d 45 53 53 41 47 45 20 20 20 3d 20 2d NO_MESSAGE = -
2590: 31 2c 0a 09 4d 41 49 4c 53 4c 4f 54 5f 57 41 49 1,..MAILSLOT_WAI
25a0: 54 5f 46 4f 52 45 56 45 52 20 3d 20 2d 31 3b 0a T_FOREVER = -1;.
25b0: 0a 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 .const ACCESS_MA
25c0: 53 4b 0a 09 50 52 4f 43 45 53 53 5f 54 45 52 4d SK..PROCESS_TERM
25d0: 49 4e 41 54 45 20 20 20 20 20 20 20 20 20 3d 20 INATE =
25e0: 30 78 30 30 30 31 2c 0a 09 50 52 4f 43 45 53 53 0x0001,..PROCESS
25f0: 5f 43 52 45 41 54 45 5f 54 48 52 45 41 44 20 20 _CREATE_THREAD
2600: 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 50 52 = 0x0002,..PR
2610: 4f 43 45 53 53 5f 53 45 54 5f 53 45 53 53 49 4f OCESS_SET_SESSIO
2620: 4e 49 44 20 20 20 20 20 3d 20 30 78 30 30 30 34 NID = 0x0004
2630: 2c 0a 09 50 52 4f 43 45 53 53 5f 56 4d 5f 4f 50 ,..PROCESS_VM_OP
2640: 45 52 41 54 49 4f 4e 20 20 20 20 20 20 3d 20 30 ERATION = 0
2650: 78 30 30 30 38 2c 0a 09 50 52 4f 43 45 53 53 5f x0008,..PROCESS_
2660: 56 4d 5f 52 45 41 44 20 20 20 20 20 20 20 20 20 VM_READ
2670: 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 50 52 4f = 0x0010,..PRO
2680: 43 45 53 53 5f 56 4d 5f 57 52 49 54 45 20 20 20 CESS_VM_WRITE
2690: 20 20 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c = 0x0020,
26a0: 0a 09 50 52 4f 43 45 53 53 5f 44 55 50 5f 48 41 ..PROCESS_DUP_HA
26b0: 4e 44 4c 45 20 20 20 20 20 20 20 20 3d 20 30 78 NDLE = 0x
26c0: 30 30 34 30 2c 0a 09 50 52 4f 43 45 53 53 5f 43 0040,..PROCESS_C
26d0: 52 45 41 54 45 5f 50 52 4f 43 45 53 53 20 20 20 REATE_PROCESS
26e0: 20 3d 20 30 78 30 30 38 30 2c 0a 09 50 52 4f 43 = 0x0080,..PROC
26f0: 45 53 53 5f 53 45 54 5f 51 55 4f 54 41 20 20 20 ESS_SET_QUOTA
2700: 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 2c 0a = 0x0100,.
2710: 09 50 52 4f 43 45 53 53 5f 53 45 54 5f 49 4e 46 .PROCESS_SET_INF
2720: 4f 52 4d 41 54 49 4f 4e 20 20 20 3d 20 30 78 30 ORMATION = 0x0
2730: 32 30 30 2c 0a 09 50 52 4f 43 45 53 53 5f 51 55 200,..PROCESS_QU
2740: 45 52 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 ERY_INFORMATION
2750: 3d 20 30 78 30 34 30 30 2c 0a 09 50 52 4f 43 45 = 0x0400,..PROCE
2760: 53 53 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20 20 SS_ALL_ACCESS
2770: 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44 5f = STANDARD_
2780: 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 20 RIGHTS_REQUIRED
2790: 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20 7c 20 | SYNCHRONIZE |
27a0: 30 78 30 46 46 46 3b 0a 0a 63 6f 6e 73 74 20 41 0x0FFF;..const A
27b0: 43 43 45 53 53 5f 4d 41 53 4b 0a 09 54 48 52 45 CCESS_MASK..THRE
27c0: 41 44 5f 54 45 52 4d 49 4e 41 54 45 20 20 20 20 AD_TERMINATE
27d0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 = 0x0001
27e0: 2c 0a 09 54 48 52 45 41 44 5f 53 55 53 50 45 4e ,..THREAD_SUSPEN
27f0: 44 5f 52 45 53 55 4d 45 20 20 20 20 20 20 20 3d D_RESUME =
2800: 20 30 78 30 30 30 32 2c 0a 09 54 48 52 45 41 44 0x0002,..THREAD
2810: 5f 47 45 54 5f 43 4f 4e 54 45 58 54 20 20 20 20 _GET_CONTEXT
2820: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a = 0x0008,.
2830: 09 54 48 52 45 41 44 5f 53 45 54 5f 43 4f 4e 54 .THREAD_SET_CONT
2840: 45 58 54 20 20 20 20 20 20 20 20 20 20 3d 20 30 EXT = 0
2850: 78 30 30 31 30 2c 0a 09 54 48 52 45 41 44 5f 53 x0010,..THREAD_S
2860: 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 ET_INFORMATION
2870: 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 54 = 0x0020,..T
2880: 48 52 45 41 44 5f 51 55 45 52 59 5f 49 4e 46 4f HREAD_QUERY_INFO
2890: 52 4d 41 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 RMATION = 0x0
28a0: 30 34 30 2c 0a 09 54 48 52 45 41 44 5f 53 45 54 040,..THREAD_SET
28b0: 5f 54 48 52 45 41 44 5f 54 4f 4b 45 4e 20 20 20 _THREAD_TOKEN
28c0: 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 54 48 52 = 0x0080,..THR
28d0: 45 41 44 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20 EAD_IMPERSONATE
28e0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 = 0x010
28f0: 30 2c 0a 09 54 48 52 45 41 44 5f 44 49 52 45 43 0,..THREAD_DIREC
2900: 54 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 20 T_IMPERSONATION
2910: 3d 20 30 78 30 32 30 30 2c 0a 09 54 48 52 45 41 = 0x0200,..THREA
2920: 44 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20 20 20 D_ALL_ACCESS
2930: 20 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 = STANDAR
2940: 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 D_RIGHTS_REQUIRE
2950: 44 7c 53 59 4e 43 48 52 4f 4e 49 5a 45 7c 30 78 D|SYNCHRONIZE|0x
2960: 33 46 46 3b 0a 0a 2f 2f 20 54 68 65 73 65 20 61 3FF;..// These a
2970: 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65 6e 74 65 re not documente
2980: 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e 73 74 20 d on MSDN.const
2990: 54 48 52 45 41 44 5f 42 41 53 45 5f 50 52 49 4f THREAD_BASE_PRIO
29a0: 52 49 54 59 5f 4c 4f 57 52 54 20 3d 20 20 31 35 RITY_LOWRT = 15
29b0: 3b 0a 63 6f 6e 73 74 20 54 48 52 45 41 44 5f 42 ;.const THREAD_B
29c0: 41 53 45 5f 50 52 49 4f 52 49 54 59 5f 4d 41 58 ASE_PRIORITY_MAX
29d0: 20 20 20 3d 20 20 20 32 3b 0a 63 6f 6e 73 74 20 = 2;.const
29e0: 54 48 52 45 41 44 5f 42 41 53 45 5f 50 52 49 4f THREAD_BASE_PRIO
29f0: 52 49 54 59 5f 4d 49 4e 20 20 20 3d 20 20 2d 32 RITY_MIN = -2
2a00: 3b 0a 63 6f 6e 73 74 20 54 48 52 45 41 44 5f 42 ;.const THREAD_B
2a10: 41 53 45 5f 50 52 49 4f 52 49 54 59 5f 49 44 4c ASE_PRIORITY_IDL
2a20: 45 20 20 3d 20 2d 31 35 3b 0a 0a 63 6f 6e 73 74 E = -15;..const
2a30: 20 44 57 4f 52 44 20 45 58 43 45 50 54 49 4f 4e DWORD EXCEPTION
2a40: 5f 4e 4f 4e 43 4f 4e 54 49 4e 55 41 42 4c 45 20 _NONCONTINUABLE
2a50: 20 20 20 20 20 3d 20 20 31 3b 0a 63 6f 6e 73 74 = 1;.const
2a60: 20 73 69 7a 65 5f 74 20 45 58 43 45 50 54 49 4f size_t EXCEPTIO
2a70: 4e 5f 4d 41 58 49 4d 55 4d 5f 50 41 52 41 4d 45 N_MAXIMUM_PARAME
2a80: 54 45 52 53 20 3d 20 31 35 3b 0a 0a 2f 2f 20 54 TERS = 15;..// T
2a90: 68 65 73 65 20 61 72 65 20 6e 6f 74 20 64 6f 63 hese are not doc
2aa0: 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44 4e 0a umented on MSDN.
2ab0: 63 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53 const ACCESS_MAS
2ac0: 4b 0a 09 4d 55 54 41 4e 54 5f 51 55 45 52 59 5f K..MUTANT_QUERY_
2ad0: 53 54 41 54 45 20 3d 20 31 2c 0a 09 4d 55 54 41 STATE = 1,..MUTA
2ae0: 4e 54 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 NT_ALL_ACCESS =
2af0: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 STANDARD_RIGHTS
2b00: 5f 52 45 51 55 49 52 45 44 20 7c 20 53 59 4e 43 _REQUIRED | SYNC
2b10: 48 52 4f 4e 49 5a 45 20 7c 20 4d 55 54 41 4e 54 HRONIZE | MUTANT
2b20: 5f 51 55 45 52 59 5f 53 54 41 54 45 3b 0a 0a 63 _QUERY_STATE;..c
2b30: 6f 6e 73 74 20 41 43 43 45 53 53 5f 4d 41 53 4b onst ACCESS_MASK
2b40: 0a 09 54 49 4d 45 52 5f 51 55 45 52 59 5f 53 54 ..TIMER_QUERY_ST
2b50: 41 54 45 20 20 3d 20 31 2c 0a 09 54 49 4d 45 52 ATE = 1,..TIMER
2b60: 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 20 3d 20 _MODIFY_STATE =
2b70: 32 2c 0a 09 54 49 4d 45 52 5f 41 4c 4c 5f 41 43 2,..TIMER_ALL_AC
2b80: 43 45 53 53 20 20 20 3d 20 53 54 41 4e 44 41 52 CESS = STANDAR
2b90: 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 D_RIGHTS_REQUIRE
2ba0: 44 20 7c 20 53 59 4e 43 48 52 4f 4e 49 5a 45 20 D | SYNCHRONIZE
2bb0: 7c 20 54 49 4d 45 52 5f 51 55 45 52 59 5f 53 54 | TIMER_QUERY_ST
2bc0: 41 54 45 0a 09 20 20 20 20 20 20 20 20 20 20 20 ATE..
2bd0: 20 20 20 20 20 20 20 20 20 20 7c 20 54 49 4d 45 | TIME
2be0: 52 5f 4d 4f 44 49 46 59 5f 53 54 41 54 45 3b 0a R_MODIFY_STATE;.
2bf0: 0a 63 6f 6e 73 74 20 53 49 44 5f 49 44 45 4e 54 .const SID_IDENT
2c00: 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59 0a IFIER_AUTHORITY.
2c10: 09 53 45 43 55 52 49 54 59 5f 4e 55 4c 4c 5f 53 .SECURITY_NULL_S
2c20: 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20 20 ID_AUTHORITY
2c30: 20 20 20 20 3d 20 7b 5b 35 3a 20 30 5d 7d 2c 0a = {[5: 0]},.
2c40: 09 53 45 43 55 52 49 54 59 5f 57 4f 52 4c 44 5f .SECURITY_WORLD_
2c50: 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20 SID_AUTHORITY
2c60: 20 20 20 20 3d 20 7b 5b 35 3a 20 31 5d 7d 2c 0a = {[5: 1]},.
2c70: 09 53 45 43 55 52 49 54 59 5f 4c 4f 43 41 4c 5f .SECURITY_LOCAL_
2c80: 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20 20 20 SID_AUTHORITY
2c90: 20 20 20 20 3d 20 7b 5b 35 3a 20 32 5d 7d 2c 0a = {[5: 2]},.
2ca0: 09 53 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f .SECURITY_CREATO
2cb0: 52 5f 53 49 44 5f 41 55 54 48 4f 52 49 54 59 20 R_SID_AUTHORITY
2cc0: 20 20 20 20 3d 20 7b 5b 35 3a 20 33 5d 7d 2c 0a = {[5: 3]},.
2cd0: 09 53 45 43 55 52 49 54 59 5f 4e 4f 4e 5f 55 4e .SECURITY_NON_UN
2ce0: 49 51 55 45 5f 41 55 54 48 4f 52 49 54 59 20 20 IQUE_AUTHORITY
2cf0: 20 20 20 20 3d 20 7b 5b 35 3a 20 34 5d 7d 2c 0a = {[5: 4]},.
2d00: 09 53 45 43 55 52 49 54 59 5f 4e 54 5f 41 55 54 .SECURITY_NT_AUT
2d10: 48 4f 52 49 54 59 20 20 20 20 20 20 20 20 20 20 HORITY
2d20: 20 20 20 20 3d 20 7b 5b 35 3a 20 35 5d 7d 2c 0a = {[5: 5]},.
2d30: 09 53 45 43 55 52 49 54 59 5f 4d 41 4e 44 41 54 .SECURITY_MANDAT
2d40: 4f 52 59 5f 4c 41 42 45 4c 5f 41 55 54 48 4f 52 ORY_LABEL_AUTHOR
2d50: 49 54 59 20 3d 20 7b 5b 35 3a 20 36 5d 7d 3b 0a ITY = {[5: 6]};.
2d60: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53 45 .const DWORD..SE
2d70: 43 55 52 49 54 59 5f 4e 55 4c 4c 5f 52 49 44 20 CURITY_NULL_RID
2d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2d90: 20 20 3d 20 20 30 2c 0a 09 53 45 43 55 52 49 54 = 0,..SECURIT
2da0: 59 5f 57 4f 52 4c 44 5f 52 49 44 20 20 20 20 20 Y_WORLD_RID
2db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
2dc0: 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 4c 4f 43 0,..SECURITY_LOC
2dd0: 41 4c 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 AL_RID
2de0: 20 20 20 20 20 20 20 20 3d 20 20 30 2c 0a 09 53 = 0,..S
2df0: 45 43 55 52 49 54 59 5f 43 52 45 41 54 4f 52 5f ECURITY_CREATOR_
2e00: 4f 57 4e 45 52 5f 52 49 44 20 20 20 20 20 20 20 OWNER_RID
2e10: 20 20 20 3d 20 20 30 2c 0a 09 53 45 43 55 52 49 = 0,..SECURI
2e20: 54 59 5f 43 52 45 41 54 4f 52 5f 47 52 4f 55 50 TY_CREATOR_GROUP
2e30: 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 3d 20 _RID =
2e40: 20 31 2c 0a 09 53 45 43 55 52 49 54 59 5f 44 49 1,..SECURITY_DI
2e50: 41 4c 55 50 5f 52 49 44 20 20 20 20 20 20 20 20 ALUP_RID
2e60: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 = 1,..
2e70: 53 45 43 55 52 49 54 59 5f 4e 45 54 57 4f 52 4b SECURITY_NETWORK
2e80: 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 20 20 _RID
2e90: 20 20 20 20 3d 20 20 32 2c 0a 09 53 45 43 55 52 = 2,..SECUR
2ea0: 49 54 59 5f 42 41 54 43 48 5f 52 49 44 20 20 20 ITY_BATCH_RID
2eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
2ec0: 20 20 33 2c 0a 09 53 45 43 55 52 49 54 59 5f 49 3,..SECURITY_I
2ed0: 4e 54 45 52 41 43 54 49 56 45 5f 52 49 44 20 20 NTERACTIVE_RID
2ee0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 34 2c 0a = 4,.
2ef0: 09 53 45 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f .SECURITY_LOGON_
2f00: 49 44 53 5f 52 49 44 20 20 20 20 20 20 20 20 20 IDS_RID
2f10: 20 20 20 20 20 3d 20 20 35 2c 0a 09 53 45 43 55 = 5,..SECU
2f20: 52 49 54 59 5f 53 45 52 56 49 43 45 5f 52 49 44 RITY_SERVICE_RID
2f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2f40: 3d 20 20 36 2c 0a 09 53 45 43 55 52 49 54 59 5f = 6,..SECURITY_
2f50: 4c 4f 43 41 4c 5f 53 59 53 54 45 4d 5f 52 49 44 LOCAL_SYSTEM_RID
2f60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 38 2c = 18,
2f70: 0a 09 53 45 43 55 52 49 54 59 5f 42 55 49 4c 54 ..SECURITY_BUILT
2f80: 49 4e 5f 44 4f 4d 41 49 4e 5f 52 49 44 20 20 20 IN_DOMAIN_RID
2f90: 20 20 20 20 20 20 3d 20 33 32 2c 0a 09 53 45 43 = 32,..SEC
2fa0: 55 52 49 54 59 5f 50 52 49 4e 43 49 50 41 4c 5f URITY_PRINCIPAL_
2fb0: 53 45 4c 46 5f 52 49 44 20 20 20 20 20 20 20 20 SELF_RID
2fc0: 20 3d 20 31 30 2c 0a 09 53 45 43 55 52 49 54 59 = 10,..SECURITY
2fd0: 5f 43 52 45 41 54 4f 52 5f 4f 57 4e 45 52 5f 53 _CREATOR_OWNER_S
2fe0: 45 52 56 45 52 5f 52 49 44 20 20 20 3d 20 20 32 ERVER_RID = 2
2ff0: 2c 0a 09 53 45 43 55 52 49 54 59 5f 43 52 45 41 ,..SECURITY_CREA
3000: 54 4f 52 5f 47 52 4f 55 50 5f 53 45 52 56 45 52 TOR_GROUP_SERVER
3010: 5f 52 49 44 20 20 20 3d 20 20 33 2c 0a 09 53 45 _RID = 3,..SE
3020: 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f 49 44 53 CURITY_LOGON_IDS
3030: 5f 52 49 44 5f 43 4f 55 4e 54 20 20 20 20 20 20 _RID_COUNT
3040: 20 20 3d 20 20 33 2c 0a 09 53 45 43 55 52 49 54 = 3,..SECURIT
3050: 59 5f 41 4e 4f 4e 59 4d 4f 55 53 5f 4c 4f 47 4f Y_ANONYMOUS_LOGO
3060: 4e 5f 52 49 44 20 20 20 20 20 20 20 20 3d 20 20 N_RID =
3070: 37 2c 0a 09 53 45 43 55 52 49 54 59 5f 50 52 4f 7,..SECURITY_PRO
3080: 58 59 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 XY_RID
3090: 20 20 20 20 20 20 20 20 3d 20 20 38 2c 0a 09 53 = 8,..S
30a0: 45 43 55 52 49 54 59 5f 45 4e 54 45 52 50 52 49 ECURITY_ENTERPRI
30b0: 53 45 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f 52 SE_CONTROLLERS_R
30c0: 49 44 20 3d 20 20 39 2c 0a 09 53 45 43 55 52 49 ID = 9,..SECURI
30d0: 54 59 5f 53 45 52 56 45 52 5f 4c 4f 47 4f 4e 5f TY_SERVER_LOGON_
30e0: 52 49 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 RID =
30f0: 53 45 43 55 52 49 54 59 5f 45 4e 54 45 52 50 52 SECURITY_ENTERPR
3100: 49 53 45 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f ISE_CONTROLLERS_
3110: 52 49 44 2c 0a 09 53 45 43 55 52 49 54 59 5f 41 RID,..SECURITY_A
3120: 55 54 48 45 4e 54 49 43 41 54 45 44 5f 55 53 45 UTHENTICATED_USE
3130: 52 5f 52 49 44 20 20 20 20 20 3d 20 31 31 2c 0a R_RID = 11,.
3140: 09 53 45 43 55 52 49 54 59 5f 52 45 53 54 52 49 .SECURITY_RESTRI
3150: 43 54 45 44 5f 43 4f 44 45 5f 52 49 44 20 20 20 CTED_CODE_RID
3160: 20 20 20 20 20 3d 20 31 32 2c 0a 09 53 45 43 55 = 12,..SECU
3170: 52 49 54 59 5f 4e 54 5f 4e 4f 4e 5f 55 4e 49 51 RITY_NT_NON_UNIQ
3180: 55 45 5f 52 49 44 20 20 20 20 20 20 20 20 20 20 UE_RID
3190: 3d 20 32 31 2c 0a 09 53 49 44 5f 52 45 56 49 53 = 21,..SID_REVIS
31a0: 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 ION
31b0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 3b = 1;
31c0: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b ..enum : DWORD {
31d0: 0a 09 44 4f 4d 41 49 4e 5f 55 53 45 52 5f 52 49 ..DOMAIN_USER_RI
31e0: 44 5f 41 44 4d 49 4e 20 20 20 20 20 20 20 20 3d D_ADMIN =
31f0: 20 30 78 30 31 46 34 2c 0a 09 44 4f 4d 41 49 4e 0x01F4,..DOMAIN
3200: 5f 55 53 45 52 5f 52 49 44 5f 47 55 45 53 54 20 _USER_RID_GUEST
3210: 20 20 20 20 20 20 20 3d 20 30 78 30 31 46 35 2c = 0x01F5,
3220: 0a 09 44 4f 4d 41 49 4e 5f 47 52 4f 55 50 5f 52 ..DOMAIN_GROUP_R
3230: 49 44 5f 41 44 4d 49 4e 53 20 20 20 20 20 20 3d ID_ADMINS =
3240: 20 30 78 30 32 30 30 2c 0a 09 44 4f 4d 41 49 4e 0x0200,..DOMAIN
3250: 5f 47 52 4f 55 50 5f 52 49 44 5f 55 53 45 52 53 _GROUP_RID_USERS
3260: 20 20 20 20 20 20 20 3d 20 30 78 30 32 30 31 2c = 0x0201,
3270: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 ..DOMAIN_ALIAS_R
3280: 49 44 5f 41 44 4d 49 4e 53 20 20 20 20 20 20 3d ID_ADMINS =
3290: 20 30 78 30 32 32 30 2c 0a 09 44 4f 4d 41 49 4e 0x0220,..DOMAIN
32a0: 5f 41 4c 49 41 53 5f 52 49 44 5f 55 53 45 52 53 _ALIAS_RID_USERS
32b0: 20 20 20 20 20 20 20 3d 20 30 78 30 32 32 31 2c = 0x0221,
32c0: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 ..DOMAIN_ALIAS_R
32d0: 49 44 5f 47 55 45 53 54 53 20 20 20 20 20 20 3d ID_GUESTS =
32e0: 20 30 78 30 32 32 32 2c 0a 09 44 4f 4d 41 49 4e 0x0222,..DOMAIN
32f0: 5f 41 4c 49 41 53 5f 52 49 44 5f 50 4f 57 45 52 _ALIAS_RID_POWER
3300: 5f 55 53 45 52 53 20 3d 20 30 78 30 32 32 33 2c _USERS = 0x0223,
3310: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 ..DOMAIN_ALIAS_R
3320: 49 44 5f 41 43 43 4f 55 4e 54 5f 4f 50 53 20 3d ID_ACCOUNT_OPS =
3330: 20 30 78 30 32 32 34 2c 0a 09 44 4f 4d 41 49 4e 0x0224,..DOMAIN
3340: 5f 41 4c 49 41 53 5f 52 49 44 5f 53 59 53 54 45 _ALIAS_RID_SYSTE
3350: 4d 5f 4f 50 53 20 20 3d 20 30 78 30 32 32 35 2c M_OPS = 0x0225,
3360: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 ..DOMAIN_ALIAS_R
3370: 49 44 5f 50 52 49 4e 54 5f 4f 50 53 20 20 20 3d ID_PRINT_OPS =
3380: 20 30 78 30 32 32 36 2c 0a 09 44 4f 4d 41 49 4e 0x0226,..DOMAIN
3390: 5f 41 4c 49 41 53 5f 52 49 44 5f 42 41 43 4b 55 _ALIAS_RID_BACKU
33a0: 50 5f 4f 50 53 20 20 3d 20 30 78 30 32 32 37 2c P_OPS = 0x0227,
33b0: 0a 09 44 4f 4d 41 49 4e 5f 41 4c 49 41 53 5f 52 ..DOMAIN_ALIAS_R
33c0: 49 44 5f 52 45 50 4c 49 43 41 54 4f 52 20 20 3d ID_REPLICATOR =
33d0: 20 30 78 30 32 32 38 0a 7d 0a 0a 65 6e 75 6d 20 0x0228.}..enum
33e0: 3a 20 57 4f 52 44 20 7b 0a 09 53 45 43 55 52 49 : WORD {..SECURI
33f0: 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 55 4e 54 TY_MANDATORY_UNT
3400: 52 55 53 54 45 44 5f 52 49 44 20 20 20 20 20 20 RUSTED_RID
3410: 20 20 20 3d 20 30 2c 0a 09 53 45 43 55 52 49 54 = 0,..SECURIT
3420: 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 4c 4f 57 5f Y_MANDATORY_LOW_
3430: 52 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20 RID
3440: 20 20 3d 20 30 78 31 30 30 30 2c 0a 09 53 45 43 = 0x1000,..SEC
3450: 55 52 49 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f URITY_MANDATORY_
3460: 4d 45 44 49 55 4d 5f 52 49 44 20 20 20 20 20 20 MEDIUM_RID
3470: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a = 0x2000,.
3480: 09 53 45 43 55 52 49 54 59 5f 4d 41 4e 44 41 54 .SECURITY_MANDAT
3490: 4f 52 59 5f 48 49 47 48 5f 52 49 44 20 20 20 20 ORY_HIGH_RID
34a0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 33 30 = 0x30
34b0: 30 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 4d 41 00,..SECURITY_MA
34c0: 4e 44 41 54 4f 52 59 5f 53 59 53 54 45 4d 5f 52 NDATORY_SYSTEM_R
34d0: 49 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 ID =
34e0: 30 78 34 30 30 30 2c 0a 09 53 45 43 55 52 49 54 0x4000,..SECURIT
34f0: 59 5f 4d 41 4e 44 41 54 4f 52 59 5f 50 52 4f 54 Y_MANDATORY_PROT
3500: 45 43 54 45 44 5f 50 52 4f 43 45 53 53 5f 52 49 ECTED_PROCESS_RI
3510: 44 20 3d 20 30 78 35 30 30 30 2c 0a 09 53 45 43 D = 0x5000,..SEC
3520: 55 52 49 54 59 5f 4d 41 4e 44 41 54 4f 52 59 5f URITY_MANDATORY_
3530: 4d 41 58 49 4d 55 4d 5f 55 53 45 52 5f 52 49 44 MAXIMUM_USER_RID
3540: 20 20 20 20 20 20 3d 20 53 45 43 55 52 49 54 59 = SECURITY
3550: 5f 4d 41 4e 44 41 54 4f 52 59 5f 53 59 53 54 45 _MANDATORY_SYSTE
3560: 4d 5f 52 49 44 0a 7d 0a 0a 63 6f 6e 73 74 20 54 M_RID.}..const T
3570: 43 48 41 52 5b 5d 0a 09 53 45 5f 43 52 45 41 54 CHAR[]..SE_CREAT
3580: 45 5f 54 4f 4b 45 4e 5f 4e 41 4d 45 20 20 20 20 E_TOKEN_NAME
3590: 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65 61 = "SeCrea
35a0: 74 65 54 6f 6b 65 6e 50 72 69 76 69 6c 65 67 65 teTokenPrivilege
35b0: 22 2c 0a 09 53 45 5f 41 53 53 49 47 4e 50 52 49 ",..SE_ASSIGNPRI
35c0: 4d 41 52 59 54 4f 4b 45 4e 5f 4e 41 4d 45 20 20 MARYTOKEN_NAME
35d0: 20 20 20 3d 20 22 53 65 41 73 73 69 67 6e 50 72 = "SeAssignPr
35e0: 69 6d 61 72 79 54 6f 6b 65 6e 50 72 69 76 69 6c imaryTokenPrivil
35f0: 65 67 65 22 2c 0a 09 53 45 5f 4c 4f 43 4b 5f 4d ege",..SE_LOCK_M
3600: 45 4d 4f 52 59 5f 4e 41 4d 45 20 20 20 20 20 20 EMORY_NAME
3610: 20 20 20 20 20 20 3d 20 22 53 65 4c 6f 63 6b 4d = "SeLockM
3620: 65 6d 6f 72 79 50 72 69 76 69 6c 65 67 65 22 2c emoryPrivilege",
3630: 0a 09 53 45 5f 49 4e 43 52 45 41 53 45 5f 51 55 ..SE_INCREASE_QU
3640: 4f 54 41 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 OTA_NAME
3650: 20 3d 20 22 53 65 49 6e 63 72 65 61 73 65 51 75 = "SeIncreaseQu
3660: 6f 74 61 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 otaPrivilege",..
3670: 53 45 5f 55 4e 53 4f 4c 49 43 49 54 45 44 5f 49 SE_UNSOLICITED_I
3680: 4e 50 55 54 5f 4e 41 4d 45 20 20 20 20 20 20 3d NPUT_NAME =
3690: 20 22 53 65 55 6e 73 6f 6c 69 63 69 74 65 64 49 "SeUnsolicitedI
36a0: 6e 70 75 74 50 72 69 76 69 6c 65 67 65 22 2c 0a nputPrivilege",.
36b0: 09 53 45 5f 4d 41 43 48 49 4e 45 5f 41 43 43 4f .SE_MACHINE_ACCO
36c0: 55 4e 54 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 UNT_NAME
36d0: 3d 20 22 53 65 4d 61 63 68 69 6e 65 41 63 63 6f = "SeMachineAcco
36e0: 75 6e 74 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 untPrivilege",..
36f0: 53 45 5f 54 43 42 5f 4e 41 4d 45 20 20 20 20 20 SE_TCB_NAME
3700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
3710: 20 22 53 65 54 63 62 50 72 69 76 69 6c 65 67 65 "SeTcbPrivilege
3720: 22 2c 0a 09 53 45 5f 53 45 43 55 52 49 54 59 5f ",..SE_SECURITY_
3730: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 NAME
3740: 20 20 20 3d 20 22 53 65 53 65 63 75 72 69 74 79 = "SeSecurity
3750: 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f Privilege",..SE_
3760: 54 41 4b 45 5f 4f 57 4e 45 52 53 48 49 50 5f 4e TAKE_OWNERSHIP_N
3770: 41 4d 45 20 20 20 20 20 20 20 20 20 3d 20 22 53 AME = "S
3780: 65 54 61 6b 65 4f 77 6e 65 72 73 68 69 70 50 72 eTakeOwnershipPr
3790: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 4c 4f ivilege",..SE_LO
37a0: 41 44 5f 44 52 49 56 45 52 5f 4e 41 4d 45 20 20 AD_DRIVER_NAME
37b0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 4c = "SeL
37c0: 6f 61 64 44 72 69 76 65 72 50 72 69 76 69 6c 65 oadDriverPrivile
37d0: 67 65 22 2c 0a 09 53 45 5f 53 59 53 54 45 4d 5f ge",..SE_SYSTEM_
37e0: 50 52 4f 46 49 4c 45 5f 4e 41 4d 45 20 20 20 20 PROFILE_NAME
37f0: 20 20 20 20 20 3d 20 22 53 65 53 79 73 74 65 6d = "SeSystem
3800: 50 72 6f 66 69 6c 65 50 72 69 76 69 6c 65 67 65 ProfilePrivilege
3810: 22 2c 0a 09 53 45 5f 53 59 53 54 45 4d 54 49 4d ",..SE_SYSTEMTIM
3820: 45 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 E_NAME
3830: 20 20 20 3d 20 22 53 65 53 79 73 74 65 6d 74 69 = "SeSystemti
3840: 6d 65 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 mePrivilege",..S
3850: 45 5f 50 52 4f 46 5f 53 49 4e 47 4c 45 5f 50 52 E_PROF_SINGLE_PR
3860: 4f 43 45 53 53 5f 4e 41 4d 45 20 20 20 20 3d 20 OCESS_NAME =
3870: 22 53 65 50 72 6f 66 69 6c 65 53 69 6e 67 6c 65 "SeProfileSingle
3880: 50 72 6f 63 65 73 73 50 72 69 76 69 6c 65 67 65 ProcessPrivilege
3890: 22 2c 0a 09 53 45 5f 49 4e 43 5f 42 41 53 45 5f ",..SE_INC_BASE_
38a0: 50 52 49 4f 52 49 54 59 5f 4e 41 4d 45 20 20 20 PRIORITY_NAME
38b0: 20 20 20 3d 20 22 53 65 49 6e 63 72 65 61 73 65 = "SeIncrease
38c0: 42 61 73 65 50 72 69 6f 72 69 74 79 50 72 69 76 BasePriorityPriv
38d0: 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45 41 ilege",..SE_CREA
38e0: 54 45 5f 50 41 47 45 46 49 4c 45 5f 4e 41 4d 45 TE_PAGEFILE_NAME
38f0: 20 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65 = "SeCre
3900: 61 74 65 50 61 67 65 66 69 6c 65 50 72 69 76 69 atePagefilePrivi
3910: 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45 41 54 lege",..SE_CREAT
3920: 45 5f 50 45 52 4d 41 4e 45 4e 54 5f 4e 41 4d 45 E_PERMANENT_NAME
3930: 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 65 61 = "SeCrea
3940: 74 65 50 65 72 6d 61 6e 65 6e 74 50 72 69 76 69 tePermanentPrivi
3950: 6c 65 67 65 22 2c 0a 09 53 45 5f 42 41 43 4b 55 lege",..SE_BACKU
3960: 50 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 P_NAME
3970: 20 20 20 20 20 20 20 3d 20 22 53 65 42 61 63 6b = "SeBack
3980: 75 70 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 upPrivilege",..S
3990: 45 5f 52 45 53 54 4f 52 45 5f 4e 41 4d 45 20 20 E_RESTORE_NAME
39a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
39b0: 22 53 65 52 65 73 74 6f 72 65 50 72 69 76 69 6c "SeRestorePrivil
39c0: 65 67 65 22 2c 0a 09 53 45 5f 53 48 55 54 44 4f ege",..SE_SHUTDO
39d0: 57 4e 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 WN_NAME
39e0: 20 20 20 20 20 20 3d 20 22 53 65 53 68 75 74 64 = "SeShutd
39f0: 6f 77 6e 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 ownPrivilege",..
3a00: 53 45 5f 44 45 42 55 47 5f 4e 41 4d 45 20 20 20 SE_DEBUG_NAME
3a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
3a20: 20 22 53 65 44 65 62 75 67 50 72 69 76 69 6c 65 "SeDebugPrivile
3a30: 67 65 22 2c 0a 09 53 45 5f 41 55 44 49 54 5f 4e ge",..SE_AUDIT_N
3a40: 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20 AME
3a50: 20 20 20 20 20 3d 20 22 53 65 41 75 64 69 74 50 = "SeAuditP
3a60: 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 53 rivilege",..SE_S
3a70: 59 53 54 45 4d 5f 45 4e 56 49 52 4f 4e 4d 45 4e YSTEM_ENVIRONMEN
3a80: 54 5f 4e 41 4d 45 20 20 20 20 20 3d 20 22 53 65 T_NAME = "Se
3a90: 53 79 73 74 65 6d 45 6e 76 69 72 6f 6e 6d 65 6e SystemEnvironmen
3aa0: 74 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 tPrivilege",..SE
3ab0: 5f 43 48 41 4e 47 45 5f 4e 4f 54 49 46 59 5f 4e _CHANGE_NOTIFY_N
3ac0: 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20 22 AME = "
3ad0: 53 65 43 68 61 6e 67 65 4e 6f 74 69 66 79 50 72 SeChangeNotifyPr
3ae0: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 52 45 ivilege",..SE_RE
3af0: 4d 4f 54 45 5f 53 48 55 54 44 4f 57 4e 5f 4e 41 MOTE_SHUTDOWN_NA
3b00: 4d 45 20 20 20 20 20 20 20 20 3d 20 22 53 65 52 ME = "SeR
3b10: 65 6d 6f 74 65 53 68 75 74 64 6f 77 6e 50 72 69 emoteShutdownPri
3b20: 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 45 vilege",..SE_CRE
3b30: 41 54 45 5f 47 4c 4f 42 41 4c 5f 4e 41 4d 45 20 ATE_GLOBAL_NAME
3b40: 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 43 72 = "SeCr
3b50: 65 61 74 65 47 6c 6f 62 61 6c 50 72 69 76 69 6c eateGlobalPrivil
3b60: 65 67 65 22 2c 0a 09 53 45 5f 55 4e 44 4f 43 4b ege",..SE_UNDOCK
3b70: 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 _NAME
3b80: 20 20 20 20 20 20 3d 20 22 53 65 55 6e 64 6f 63 = "SeUndoc
3b90: 6b 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 kPrivilege",..SE
3ba0: 5f 4d 41 4e 41 47 45 5f 56 4f 4c 55 4d 45 5f 4e _MANAGE_VOLUME_N
3bb0: 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20 22 AME = "
3bc0: 53 65 4d 61 6e 61 67 65 56 6f 6c 75 6d 65 50 72 SeManageVolumePr
3bd0: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 49 4d ivilege",..SE_IM
3be0: 50 45 52 53 4f 4e 41 54 45 5f 4e 41 4d 45 20 20 PERSONATE_NAME
3bf0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 49 = "SeI
3c00: 6d 70 65 72 73 6f 6e 61 74 65 50 72 69 76 69 6c mpersonatePrivil
3c10: 65 67 65 22 2c 0a 09 53 45 5f 45 4e 41 42 4c 45 ege",..SE_ENABLE
3c20: 5f 44 45 4c 45 47 41 54 49 4f 4e 5f 4e 41 4d 45 _DELEGATION_NAME
3c30: 20 20 20 20 20 20 3d 20 22 53 65 45 6e 61 62 6c = "SeEnabl
3c40: 65 44 65 6c 65 67 61 74 69 6f 6e 50 72 69 76 69 eDelegationPrivi
3c50: 6c 65 67 65 22 2c 0a 09 53 45 5f 53 59 4e 43 5f lege",..SE_SYNC_
3c60: 41 47 45 4e 54 5f 4e 41 4d 45 20 20 20 20 20 20 AGENT_NAME
3c70: 20 20 20 20 20 20 20 3d 20 22 53 65 53 79 6e 63 = "SeSync
3c80: 41 67 65 6e 74 50 72 69 76 69 6c 65 67 65 22 2c AgentPrivilege",
3c90: 0a 09 53 45 5f 54 52 55 53 54 45 44 5f 43 52 45 ..SE_TRUSTED_CRE
3ca0: 44 4d 41 4e 5f 41 43 43 45 53 53 5f 4e 41 4d 45 DMAN_ACCESS_NAME
3cb0: 20 3d 20 22 53 65 54 72 75 73 74 65 64 43 72 65 = "SeTrustedCre
3cc0: 64 4d 61 6e 41 63 63 65 73 73 50 72 69 76 69 6c dManAccessPrivil
3cd0: 65 67 65 22 2c 0a 09 53 45 5f 52 45 4c 41 42 45 ege",..SE_RELABE
3ce0: 4c 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 L_NAME
3cf0: 20 20 20 20 20 20 3d 20 22 53 65 52 65 6c 61 62 = "SeRelab
3d00: 65 6c 50 72 69 76 69 6c 65 67 65 22 2c 0a 09 53 elPrivilege",..S
3d10: 45 5f 49 4e 43 52 45 41 53 45 5f 57 4f 52 4b 49 E_INCREASE_WORKI
3d20: 4e 47 5f 53 45 54 5f 4e 41 4d 45 20 20 20 3d 20 NG_SET_NAME =
3d30: 22 53 65 49 6e 63 72 65 61 73 65 57 6f 72 6b 69 "SeIncreaseWorki
3d40: 6e 67 53 65 74 50 72 69 76 69 6c 65 67 65 22 2c ngSetPrivilege",
3d50: 0a 09 53 45 5f 54 49 4d 45 5f 5a 4f 4e 45 5f 4e ..SE_TIME_ZONE_N
3d60: 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20 AME
3d70: 20 3d 20 22 53 65 54 69 6d 65 5a 6f 6e 65 50 72 = "SeTimeZonePr
3d80: 69 76 69 6c 65 67 65 22 2c 0a 09 53 45 5f 43 52 ivilege",..SE_CR
3d90: 45 41 54 45 5f 53 59 4d 42 4f 4c 49 43 5f 4c 49 EATE_SYMBOLIC_LI
3da0: 4e 4b 5f 4e 41 4d 45 20 20 20 3d 20 22 53 65 43 NK_NAME = "SeC
3db0: 72 65 61 74 65 53 79 6d 62 6f 6c 69 63 4c 69 6e reateSymbolicLin
3dc0: 6b 50 72 69 76 69 6c 65 67 65 22 3b 0a 0a 63 6f kPrivilege";..co
3dd0: 6e 73 74 20 44 57 4f 52 44 0a 09 53 45 5f 47 52 nst DWORD..SE_GR
3de0: 4f 55 50 5f 4d 41 4e 44 41 54 4f 52 59 20 20 20 OUP_MANDATORY
3df0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
3e00: 30 30 31 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 45 001,..SE_GROUP_E
3e10: 4e 41 42 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c NABLED_BY_DEFAUL
3e20: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a T = 0x00000002,.
3e30: 09 53 45 5f 47 52 4f 55 50 5f 45 4e 41 42 4c 45 .SE_GROUP_ENABLE
3e40: 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 D = 0
3e50: 78 30 30 30 30 30 30 30 34 2c 0a 09 53 45 5f 47 x00000004,..SE_G
3e60: 52 4f 55 50 5f 4f 57 4e 45 52 20 20 20 20 20 20 ROUP_OWNER
3e70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
3e80: 30 30 30 38 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 0008,..SE_GROUP_
3e90: 55 53 45 5f 46 4f 52 5f 44 45 4e 59 5f 4f 4e 4c USE_FOR_DENY_ONL
3ea0: 59 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c Y = 0x00000010,
3eb0: 0a 09 53 45 5f 47 52 4f 55 50 5f 49 4e 54 45 47 ..SE_GROUP_INTEG
3ec0: 52 49 54 59 20 20 20 20 20 20 20 20 20 20 3d 20 RITY =
3ed0: 30 78 30 30 30 30 30 30 32 30 2c 0a 09 53 45 5f 0x00000020,..SE_
3ee0: 47 52 4f 55 50 5f 49 4e 54 45 47 52 49 54 59 5f GROUP_INTEGRITY_
3ef0: 45 4e 41 42 4c 45 44 20 20 3d 20 30 78 30 30 30 ENABLED = 0x000
3f00: 30 30 30 34 30 2c 0a 09 53 45 5f 47 52 4f 55 50 00040,..SE_GROUP
3f10: 5f 52 45 53 4f 55 52 43 45 20 20 20 20 20 20 20 _RESOURCE
3f20: 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30 = 0x20000000
3f30: 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 4c 4f 47 4f ,..SE_GROUP_LOGO
3f40: 4e 5f 49 44 20 20 20 20 20 20 20 20 20 20 20 3d N_ID =
3f50: 20 30 78 43 30 30 30 30 30 30 30 3b 0a 0a 2f 2f 0xC0000000;..//
3f60: 20 50 72 69 6d 61 72 79 20 6c 61 6e 67 75 61 67 Primary languag
3f70: 65 20 69 64 65 6e 74 69 66 69 65 72 73 0a 65 6e e identifiers.en
3f80: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 4c um : USHORT {..L
3f90: 41 4e 47 5f 4e 45 55 54 52 41 4c 2c 0a 09 4c 41 ANG_NEUTRAL,..LA
3fa0: 4e 47 5f 41 52 41 42 49 43 2c 0a 09 4c 41 4e 47 NG_ARABIC,..LANG
3fb0: 5f 42 55 4c 47 41 52 49 41 4e 2c 0a 09 4c 41 4e _BULGARIAN,..LAN
3fc0: 47 5f 43 41 54 41 4c 41 4e 2c 0a 09 4c 41 4e 47 G_CATALAN,..LANG
3fd0: 5f 43 48 49 4e 45 53 45 2c 0a 09 4c 41 4e 47 5f _CHINESE,..LANG_
3fe0: 43 5a 45 43 48 2c 0a 09 4c 41 4e 47 5f 44 41 4e CZECH,..LANG_DAN
3ff0: 49 53 48 2c 0a 09 4c 41 4e 47 5f 47 45 52 4d 41 ISH,..LANG_GERMA
4000: 4e 2c 0a 09 4c 41 4e 47 5f 47 52 45 45 4b 2c 0a N,..LANG_GREEK,.
4010: 09 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 2c 0a 09 .LANG_ENGLISH,..
4020: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 2c 0a 09 4c LANG_SPANISH,..L
4030: 41 4e 47 5f 46 49 4e 4e 49 53 48 2c 0a 09 4c 41 ANG_FINNISH,..LA
4040: 4e 47 5f 46 52 45 4e 43 48 2c 0a 09 4c 41 4e 47 NG_FRENCH,..LANG
4050: 5f 48 45 42 52 45 57 2c 0a 09 4c 41 4e 47 5f 48 _HEBREW,..LANG_H
4060: 55 4e 47 41 52 49 41 4e 2c 0a 09 4c 41 4e 47 5f UNGARIAN,..LANG_
4070: 49 43 45 4c 41 4e 44 49 43 2c 0a 09 4c 41 4e 47 ICELANDIC,..LANG
4080: 5f 49 54 41 4c 49 41 4e 2c 0a 09 4c 41 4e 47 5f _ITALIAN,..LANG_
4090: 4a 41 50 41 4e 45 53 45 2c 0a 09 4c 41 4e 47 5f JAPANESE,..LANG_
40a0: 4b 4f 52 45 41 4e 2c 0a 09 4c 41 4e 47 5f 44 55 KOREAN,..LANG_DU
40b0: 54 43 48 2c 0a 09 4c 41 4e 47 5f 4e 4f 52 57 45 TCH,..LANG_NORWE
40c0: 47 49 41 4e 2c 0a 09 4c 41 4e 47 5f 50 4f 4c 49 GIAN,..LANG_POLI
40d0: 53 48 2c 0a 09 4c 41 4e 47 5f 50 4f 52 54 55 47 SH,..LANG_PORTUG
40e0: 55 45 53 45 2c 20 20 20 20 2f 2f 20 3d 20 30 78 UESE, // = 0x
40f0: 31 36 0a 09 4c 41 4e 47 5f 52 4f 4d 41 4e 49 41 16..LANG_ROMANIA
4100: 4e 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 N = 0x1
4110: 38 2c 0a 09 4c 41 4e 47 5f 52 55 53 53 49 41 4e 8,..LANG_RUSSIAN
4120: 2c 0a 09 4c 41 4e 47 5f 43 52 4f 41 54 49 41 4e ,..LANG_CROATIAN
4130: 2c 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 31 41 , // = 0x1A
4140: 0a 09 4c 41 4e 47 5f 53 45 52 42 49 41 4e 20 20 ..LANG_SERBIAN
4150: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 41 2c = 0x1A,
4160: 0a 09 4c 41 4e 47 5f 42 4f 53 4e 49 41 4e 20 20 ..LANG_BOSNIAN
4170: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 41 2c = 0x1A,
4180: 0a 09 4c 41 4e 47 5f 53 4c 4f 56 41 4b 2c 0a 09 ..LANG_SLOVAK,..
4190: 4c 41 4e 47 5f 41 4c 42 41 4e 49 41 4e 2c 0a 09 LANG_ALBANIAN,..
41a0: 4c 41 4e 47 5f 53 57 45 44 49 53 48 2c 0a 09 4c LANG_SWEDISH,..L
41b0: 41 4e 47 5f 54 48 41 49 2c 0a 09 4c 41 4e 47 5f ANG_THAI,..LANG_
41c0: 54 55 52 4b 49 53 48 2c 0a 09 4c 41 4e 47 5f 55 TURKISH,..LANG_U
41d0: 52 44 55 2c 0a 09 4c 41 4e 47 5f 49 4e 44 4f 4e RDU,..LANG_INDON
41e0: 45 53 49 41 4e 2c 0a 09 4c 41 4e 47 5f 55 4b 52 ESIAN,..LANG_UKR
41f0: 41 49 4e 49 41 4e 2c 0a 09 4c 41 4e 47 5f 42 45 AINIAN,..LANG_BE
4200: 4c 41 52 55 53 49 41 4e 2c 0a 09 4c 41 4e 47 5f LARUSIAN,..LANG_
4210: 53 4c 4f 56 45 4e 49 41 4e 2c 0a 09 4c 41 4e 47 SLOVENIAN,..LANG
4220: 5f 45 53 54 4f 4e 49 41 4e 2c 0a 09 4c 41 4e 47 _ESTONIAN,..LANG
4230: 5f 4c 41 54 56 49 41 4e 2c 0a 09 4c 41 4e 47 5f _LATVIAN,..LANG_
4240: 4c 49 54 48 55 41 4e 49 41 4e 2c 20 20 20 20 2f LITHUANIAN, /
4250: 2f 20 3d 20 30 78 32 37 0a 09 4c 41 4e 47 5f 46 / = 0x27..LANG_F
4260: 41 52 53 49 20 20 20 20 20 20 20 20 20 20 20 20 ARSI
4270: 20 3d 20 30 78 32 39 2c 0a 09 4c 41 4e 47 5f 50 = 0x29,..LANG_P
4280: 45 52 53 49 41 4e 20 20 20 20 20 20 20 20 20 20 ERSIAN
4290: 20 3d 20 30 78 32 39 2c 0a 09 4c 41 4e 47 5f 56 = 0x29,..LANG_V
42a0: 49 45 54 4e 41 4d 45 53 45 2c 0a 09 4c 41 4e 47 IETNAMESE,..LANG
42b0: 5f 41 52 4d 45 4e 49 41 4e 2c 0a 09 4c 41 4e 47 _ARMENIAN,..LANG
42c0: 5f 41 5a 45 52 49 2c 0a 09 4c 41 4e 47 5f 42 41 _AZERI,..LANG_BA
42d0: 53 51 55 45 2c 0a 09 4c 41 4e 47 5f 4c 4f 57 45 SQUE,..LANG_LOWE
42e0: 52 5f 53 4f 52 42 49 41 4e 2c 20 2f 2f 20 3d 20 R_SORBIAN, // =
42f0: 30 78 32 45 0a 09 4c 41 4e 47 5f 55 50 50 45 52 0x2E..LANG_UPPER
4300: 5f 53 4f 52 42 49 41 4e 20 20 20 20 20 3d 20 30 _SORBIAN = 0
4310: 78 32 45 2c 0a 09 4c 41 4e 47 5f 4d 41 43 45 44 x2E,..LANG_MACED
4320: 4f 4e 49 41 4e 2c 20 20 20 20 2f 2f 20 3d 20 30 ONIAN, // = 0
4330: 78 32 46 0a 09 4c 41 4e 47 5f 54 53 57 41 4e 41 x2F..LANG_TSWANA
4340: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
4350: 33 32 2c 0a 09 4c 41 4e 47 5f 58 48 4f 53 41 20 32,..LANG_XHOSA
4360: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
4370: 33 34 2c 0a 09 4c 41 4e 47 5f 5a 55 4c 55 2c 0a 34,..LANG_ZULU,.
4380: 09 4c 41 4e 47 5f 41 46 52 49 4b 41 41 4e 53 2c .LANG_AFRIKAANS,
4390: 0a 09 4c 41 4e 47 5f 47 45 4f 52 47 49 41 4e 2c ..LANG_GEORGIAN,
43a0: 0a 09 4c 41 4e 47 5f 46 41 45 52 4f 45 53 45 2c ..LANG_FAEROESE,
43b0: 0a 09 4c 41 4e 47 5f 48 49 4e 44 49 2c 0a 09 4c ..LANG_HINDI,..L
43c0: 41 4e 47 5f 4d 41 4c 54 45 53 45 2c 0a 09 4c 41 ANG_MALTESE,..LA
43d0: 4e 47 5f 53 41 4d 49 2c 0a 09 4c 41 4e 47 5f 49 NG_SAMI,..LANG_I
43e0: 52 49 53 48 2c 20 20 20 20 20 20 20 20 20 2f 2f RISH, //
43f0: 20 3d 20 30 78 33 43 0a 09 4c 41 4e 47 5f 4d 41 = 0x3C..LANG_MA
4400: 4c 41 59 20 20 20 20 20 20 20 20 20 20 20 20 20 LAY
4410: 3d 20 30 78 33 45 2c 0a 09 4c 41 4e 47 5f 4b 41 = 0x3E,..LANG_KA
4420: 5a 41 4b 2c 0a 09 4c 41 4e 47 5f 4b 59 52 47 59 ZAK,..LANG_KYRGY
4430: 5a 2c 0a 09 4c 41 4e 47 5f 53 57 41 48 49 4c 49 Z,..LANG_SWAHILI
4440: 2c 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 34 , // = 0x4
4450: 31 0a 09 4c 41 4e 47 5f 55 5a 42 45 4b 20 20 20 1..LANG_UZBEK
4460: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 33 = 0x43
4470: 2c 0a 09 4c 41 4e 47 5f 54 41 54 41 52 2c 0a 09 ,..LANG_TATAR,..
4480: 4c 41 4e 47 5f 42 45 4e 47 41 4c 49 2c 0a 09 4c LANG_BENGALI,..L
4490: 41 4e 47 5f 50 55 4e 4a 41 42 49 2c 0a 09 4c 41 ANG_PUNJABI,..LA
44a0: 4e 47 5f 47 55 4a 41 52 41 54 49 2c 0a 09 4c 41 NG_GUJARATI,..LA
44b0: 4e 47 5f 4f 52 49 59 41 2c 0a 09 4c 41 4e 47 5f NG_ORIYA,..LANG_
44c0: 54 41 4d 49 4c 2c 0a 09 4c 41 4e 47 5f 54 45 4c TAMIL,..LANG_TEL
44d0: 55 47 55 2c 0a 09 4c 41 4e 47 5f 4b 41 4e 4e 41 UGU,..LANG_KANNA
44e0: 44 41 2c 0a 09 4c 41 4e 47 5f 4d 41 4c 41 59 41 DA,..LANG_MALAYA
44f0: 4c 41 4d 2c 0a 09 4c 41 4e 47 5f 41 53 53 41 4d LAM,..LANG_ASSAM
4500: 45 53 45 2c 0a 09 4c 41 4e 47 5f 4d 41 52 41 54 ESE,..LANG_MARAT
4510: 48 49 2c 0a 09 4c 41 4e 47 5f 53 41 4e 53 4b 52 HI,..LANG_SANSKR
4520: 49 54 2c 0a 09 4c 41 4e 47 5f 4d 4f 4e 47 4f 4c IT,..LANG_MONGOL
4530: 49 41 4e 2c 0a 09 4c 41 4e 47 5f 54 49 42 45 54 IAN,..LANG_TIBET
4540: 41 4e 2c 0a 09 4c 41 4e 47 5f 57 45 4c 53 48 2c AN,..LANG_WELSH,
4550: 0a 09 4c 41 4e 47 5f 4b 48 4d 45 52 2c 0a 09 4c ..LANG_KHMER,..L
4560: 41 4e 47 5f 4c 41 4f 2c 20 20 20 20 20 20 20 20 ANG_LAO,
4570: 20 20 20 2f 2f 20 3d 20 30 78 35 34 0a 09 4c 41 // = 0x54..LA
4580: 4e 47 5f 47 41 4c 49 43 49 41 4e 20 20 20 20 20 NG_GALICIAN
4590: 20 20 20 20 20 3d 20 30 78 35 36 2c 0a 09 4c 41 = 0x56,..LA
45a0: 4e 47 5f 4b 4f 4e 4b 41 4e 49 2c 0a 09 4c 41 4e NG_KONKANI,..LAN
45b0: 47 5f 4d 41 4e 49 50 55 52 49 2c 0a 09 4c 41 4e G_MANIPURI,..LAN
45c0: 47 5f 53 49 4e 44 48 49 2c 0a 09 4c 41 4e 47 5f G_SINDHI,..LANG_
45d0: 53 59 52 49 41 43 2c 0a 09 4c 41 4e 47 5f 53 49 SYRIAC,..LANG_SI
45e0: 4e 48 41 4c 45 53 45 2c 20 20 20 20 20 2f 2f 20 NHALESE, //
45f0: 3d 20 30 78 35 42 0a 09 4c 41 4e 47 5f 49 4e 55 = 0x5B..LANG_INU
4600: 4b 54 49 54 55 54 20 20 20 20 20 20 20 20 20 3d KTITUT =
4610: 20 30 78 35 44 2c 0a 09 4c 41 4e 47 5f 41 4d 48 0x5D,..LANG_AMH
4620: 41 52 49 43 2c 0a 09 4c 41 4e 47 5f 54 41 4d 41 ARIC,..LANG_TAMA
4630: 5a 49 47 48 54 2c 0a 09 4c 41 4e 47 5f 4b 41 53 ZIGHT,..LANG_KAS
4640: 48 4d 49 52 49 2c 0a 09 4c 41 4e 47 5f 4e 45 50 HMIRI,..LANG_NEP
4650: 41 4c 49 2c 0a 09 4c 41 4e 47 5f 46 52 49 53 49 ALI,..LANG_FRISI
4660: 41 4e 2c 0a 09 4c 41 4e 47 5f 50 41 53 48 54 4f AN,..LANG_PASHTO
4670: 2c 0a 09 4c 41 4e 47 5f 46 49 4c 49 50 49 4e 4f ,..LANG_FILIPINO
4680: 2c 0a 09 4c 41 4e 47 5f 44 49 56 45 48 49 2c 20 ,..LANG_DIVEHI,
4690: 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 36 35 // = 0x65
46a0: 0a 09 4c 41 4e 47 5f 48 41 55 53 41 20 20 20 20 ..LANG_HAUSA
46b0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 38 2c = 0x68,
46c0: 0a 09 4c 41 4e 47 5f 59 4f 52 55 42 41 20 20 20 ..LANG_YORUBA
46d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 41 2c = 0x6A,
46e0: 0a 09 4c 41 4e 47 5f 51 55 45 43 48 55 41 2c 0a ..LANG_QUECHUA,.
46f0: 09 4c 41 4e 47 5f 53 4f 54 48 4f 2c 0a 09 4c 41 .LANG_SOTHO,..LA
4700: 4e 47 5f 42 41 53 48 4b 49 52 2c 0a 09 4c 41 4e NG_BASHKIR,..LAN
4710: 47 5f 4c 55 58 45 4d 42 4f 55 52 47 49 53 48 2c G_LUXEMBOURGISH,
4720: 0a 09 4c 41 4e 47 5f 47 52 45 45 4e 4c 41 4e 44 ..LANG_GREENLAND
4730: 49 43 2c 0a 09 4c 41 4e 47 5f 49 47 42 4f 2c 20 IC,..LANG_IGBO,
4740: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 30 78 // = 0x
4750: 37 30 0a 09 4c 41 4e 47 5f 54 49 47 52 49 47 4e 70..LANG_TIGRIGN
4760: 41 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37 A = 0x7
4770: 33 2c 0a 09 4c 41 4e 47 5f 59 49 20 20 20 20 20 3,..LANG_YI
4780: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37 = 0x7
4790: 38 2c 0a 09 4c 41 4e 47 5f 4d 41 50 55 44 55 4e 8,..LANG_MAPUDUN
47a0: 47 55 4e 20 20 20 20 20 20 20 20 3d 20 30 78 37 GUN = 0x7
47b0: 41 2c 0a 09 4c 41 4e 47 5f 4d 4f 48 41 57 4b 20 A,..LANG_MOHAWK
47c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37 = 0x7
47d0: 43 2c 0a 09 4c 41 4e 47 5f 42 52 45 54 4f 4e 20 C,..LANG_BRETON
47e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 37 = 0x7
47f0: 45 2c 0a 09 4c 41 4e 47 5f 55 49 47 48 55 52 20 E,..LANG_UIGHUR
4800: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 38 = 0x8
4810: 30 2c 0a 09 4c 41 4e 47 5f 4d 41 4f 52 49 2c 0a 0,..LANG_MAORI,.
4820: 09 4c 41 4e 47 5f 4f 43 43 49 54 41 4e 2c 0a 09 .LANG_OCCITAN,..
4830: 4c 41 4e 47 5f 43 4f 52 53 49 43 41 4e 2c 0a 09 LANG_CORSICAN,..
4840: 4c 41 4e 47 5f 41 4c 53 41 54 49 41 4e 2c 0a 09 LANG_ALSATIAN,..
4850: 4c 41 4e 47 5f 59 41 4b 55 54 2c 0a 09 4c 41 4e LANG_YAKUT,..LAN
4860: 47 5f 4b 49 43 48 45 2c 0a 09 4c 41 4e 47 5f 4b G_KICHE,..LANG_K
4870: 49 4e 59 41 52 57 41 4e 44 41 2c 0a 09 4c 41 4e INYARWANDA,..LAN
4880: 47 5f 57 4f 4c 4f 46 2c 20 20 20 20 20 20 20 20 G_WOLOF,
4890: 20 2f 2f 20 3d 20 30 78 38 38 0a 09 4c 41 4e 47 // = 0x88..LANG
48a0: 5f 44 41 52 49 20 20 20 20 20 20 20 20 20 20 20 _DARI
48b0: 20 20 20 3d 20 30 78 38 43 2c 0a 09 4c 41 4e 47 = 0x8C,..LANG
48c0: 5f 4d 41 4c 41 47 41 53 59 2c 20 20 20 20 20 20 _MALAGASY,
48d0: 2f 2f 20 3d 20 30 78 38 44 0a 0a 09 4c 41 4e 47 // = 0x8D...LANG
48e0: 5f 53 45 52 42 49 41 4e 5f 4e 45 55 54 52 41 4c _SERBIAN_NEUTRAL
48f0: 20 20 20 3d 20 30 78 37 43 31 41 2c 0a 09 4c 41 = 0x7C1A,..LA
4900: 4e 47 5f 42 4f 53 4e 49 41 4e 5f 4e 45 55 54 52 NG_BOSNIAN_NEUTR
4910: 41 4c 20 20 20 3d 20 30 78 37 38 31 41 2c 0a 0a AL = 0x781A,..
4920: 09 4c 41 4e 47 5f 49 4e 56 41 52 49 41 4e 54 20 .LANG_INVARIANT
4930: 20 20 20 20 20 20 20 20 3d 20 30 78 37 46 0a 7d = 0x7F.}
4940: 0a 0a 0a 2f 2f 20 53 75 62 6c 61 6e 67 75 61 67 ...// Sublanguag
4950: 65 20 69 64 65 6e 74 69 66 69 65 72 73 0a 65 6e e identifiers.en
4960: 75 6d 20 3a 20 55 53 48 4f 52 54 20 7b 0a 09 53 um : USHORT {..S
4970: 55 42 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 2c 0a UBLANG_NEUTRAL,.
4980: 09 53 55 42 4c 41 4e 47 5f 44 45 46 41 55 4c 54 .SUBLANG_DEFAULT
4990: 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 59 53 5f 44 ,..SUBLANG_SYS_D
49a0: 45 46 41 55 4c 54 2c 0a 09 53 55 42 4c 41 4e 47 EFAULT,..SUBLANG
49b0: 5f 43 55 53 54 4f 4d 5f 44 45 46 41 55 4c 54 2c _CUSTOM_DEFAULT,
49c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
49d0: 20 20 2f 2f 20 3d 20 20 33 0a 09 53 55 42 4c 41 // = 3..SUBLA
49e0: 4e 47 5f 55 49 5f 43 55 53 54 4f 4d 5f 44 45 46 NG_UI_CUSTOM_DEF
49f0: 41 55 4c 54 20 20 20 20 20 20 20 20 20 20 20 20 AULT
4a00: 20 20 20 20 20 20 20 3d 20 20 33 2c 0a 09 53 55 = 3,..SU
4a10: 42 4c 41 4e 47 5f 43 55 53 54 4f 4d 5f 55 4e 53 BLANG_CUSTOM_UNS
4a20: 50 45 43 49 46 49 45 44 2c 20 20 20 20 20 20 20 PECIFIED,
4a30: 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 34 0a 0a // = 4..
4a40: 09 53 55 42 4c 41 4e 47 5f 41 46 52 49 4b 41 41 .SUBLANG_AFRIKAA
4a50: 4e 53 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 NS_SOUTH_AFRICA
4a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
4a70: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 4c 42 41 1,..SUBLANG_ALBA
4a80: 4e 49 41 4e 5f 41 4c 42 41 4e 49 41 20 20 20 20 NIAN_ALBANIA
4a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4aa0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 = 1,..SUBLANG_A
4ab0: 4c 53 41 54 49 41 4e 5f 46 52 41 4e 43 45 20 20 LSATIAN_FRANCE
4ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4ad0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
4ae0: 47 5f 41 4d 48 41 52 49 43 5f 45 54 48 49 4f 50 G_AMHARIC_ETHIOP
4af0: 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 IA
4b00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 = 1,...SU
4b10: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 53 41 55 BLANG_ARABIC_SAU
4b20: 44 49 5f 41 52 41 42 49 41 20 20 20 20 20 20 20 DI_ARABIA
4b30: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
4b40: 09 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f .SUBLANG_ARABIC_
4b50: 49 52 41 51 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 IRAQ,..SUBLANG_A
4b60: 52 41 42 49 43 5f 45 47 59 50 54 2c 0a 09 53 55 RABIC_EGYPT,..SU
4b70: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4c 49 42 BLANG_ARABIC_LIB
4b80: 59 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 YA,..SUBLANG_ARA
4b90: 42 49 43 5f 41 4c 47 45 52 49 41 2c 0a 09 53 55 BIC_ALGERIA,..SU
4ba0: 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4d 4f 52 BLANG_ARABIC_MOR
4bb0: 4f 43 43 4f 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 OCCO,..SUBLANG_A
4bc0: 52 41 42 49 43 5f 54 55 4e 49 53 49 41 2c 0a 09 RABIC_TUNISIA,..
4bd0: 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 5f 4f SUBLANG_ARABIC_O
4be0: 4d 41 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 MAN,..SUBLANG_AR
4bf0: 41 42 49 43 5f 59 45 4d 45 4e 2c 0a 09 53 55 42 ABIC_YEMEN,..SUB
4c00: 4c 41 4e 47 5f 41 52 41 42 49 43 5f 53 59 52 49 LANG_ARABIC_SYRI
4c10: 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 42 A,..SUBLANG_ARAB
4c20: 49 43 5f 4a 4f 52 44 41 4e 2c 0a 09 53 55 42 4c IC_JORDAN,..SUBL
4c30: 41 4e 47 5f 41 52 41 42 49 43 5f 4c 45 42 41 4e ANG_ARABIC_LEBAN
4c40: 4f 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 ON,..SUBLANG_ARA
4c50: 42 49 43 5f 4b 55 57 41 49 54 2c 0a 09 53 55 42 BIC_KUWAIT,..SUB
4c60: 4c 41 4e 47 5f 41 52 41 42 49 43 5f 55 41 45 2c LANG_ARABIC_UAE,
4c70: 0a 09 53 55 42 4c 41 4e 47 5f 41 52 41 42 49 43 ..SUBLANG_ARABIC
4c80: 5f 42 41 48 52 41 49 4e 2c 0a 09 53 55 42 4c 41 _BAHRAIN,..SUBLA
4c90: 4e 47 5f 41 52 41 42 49 43 5f 51 41 54 41 52 2c NG_ARABIC_QATAR,
4ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4cb0: 20 20 20 20 2f 2f 20 3d 20 31 36 0a 0a 09 53 55 // = 16...SU
4cc0: 42 4c 41 4e 47 5f 41 52 4d 45 4e 49 41 4e 5f 41 BLANG_ARMENIAN_A
4cd0: 52 4d 45 4e 49 41 20 20 20 20 20 20 20 20 20 20 RMENIA
4ce0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
4cf0: 09 53 55 42 4c 41 4e 47 5f 41 53 53 41 4d 45 53 .SUBLANG_ASSAMES
4d00: 45 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 E_INDIA
4d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
4d20: 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 41 5a 45 1,...SUBLANG_AZE
4d30: 52 49 5f 4c 41 54 49 4e 20 20 20 20 20 20 20 20 RI_LATIN
4d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4d50: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f = 1,..SUBLANG_
4d60: 41 5a 45 52 49 5f 43 59 52 49 4c 4c 49 43 2c 20 AZERI_CYRILLIC,
4d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4d80: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 // = 2...SUBLA
4d90: 4e 47 5f 42 41 53 48 4b 49 52 5f 52 55 53 53 49 NG_BASHKIR_RUSSI
4da0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A
4db0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
4dc0: 42 4c 41 4e 47 5f 42 41 53 51 55 45 5f 42 41 53 BLANG_BASQUE_BAS
4dd0: 51 55 45 20 20 20 20 20 20 20 20 20 20 20 20 20 QUE
4de0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
4df0: 09 53 55 42 4c 41 4e 47 5f 42 45 4c 41 52 55 53 .SUBLANG_BELARUS
4e00: 49 41 4e 5f 42 45 4c 41 52 55 53 20 20 20 20 20 IAN_BELARUS
4e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
4e20: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 42 45 4e 47 1,..SUBLANG_BENG
4e30: 41 4c 49 5f 49 4e 44 49 41 20 20 20 20 20 20 20 ALI_INDIA
4e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4e50: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f = 1,...SUBLANG_
4e60: 42 4f 53 4e 49 41 4e 5f 42 4f 53 4e 49 41 5f 48 BOSNIAN_BOSNIA_H
4e70: 45 52 5a 45 47 4f 56 49 4e 41 5f 4c 41 54 49 4e ERZEGOVINA_LATIN
4e80: 20 20 20 20 3d 20 20 35 2c 0a 09 53 55 42 4c 41 = 5,..SUBLA
4e90: 4e 47 5f 42 4f 53 4e 49 41 4e 5f 42 4f 53 4e 49 NG_BOSNIAN_BOSNI
4ea0: 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f 43 59 A_HERZEGOVINA_CY
4eb0: 52 49 4c 4c 49 43 20 3d 20 20 38 2c 0a 0a 09 53 RILLIC = 8,...S
4ec0: 55 42 4c 41 4e 47 5f 42 52 45 54 4f 4e 5f 46 52 UBLANG_BRETON_FR
4ed0: 41 4e 43 45 20 20 20 20 20 20 20 20 20 20 20 20 ANCE
4ee0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
4ef0: 0a 09 53 55 42 4c 41 4e 47 5f 42 55 4c 47 41 52 ..SUBLANG_BULGAR
4f00: 49 41 4e 5f 42 55 4c 47 41 52 49 41 20 20 20 20 IAN_BULGARIA
4f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
4f20: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 43 41 54 1,..SUBLANG_CAT
4f30: 41 4c 41 4e 5f 43 41 54 41 4c 41 4e 20 20 20 20 ALAN_CATALAN
4f40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4f50: 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 = 1,...SUBLANG
4f60: 5f 43 48 49 4e 45 53 45 5f 54 52 41 44 49 54 49 _CHINESE_TRADITI
4f70: 4f 4e 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 ONAL
4f80: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
4f90: 41 4e 47 5f 43 48 49 4e 45 53 45 5f 53 49 4d 50 ANG_CHINESE_SIMP
4fa0: 4c 49 46 49 45 44 2c 0a 09 53 55 42 4c 41 4e 47 LIFIED,..SUBLANG
4fb0: 5f 43 48 49 4e 45 53 45 5f 48 4f 4e 47 4b 4f 4e _CHINESE_HONGKON
4fc0: 47 2c 0a 09 53 55 42 4c 41 4e 47 5f 43 48 49 4e G,..SUBLANG_CHIN
4fd0: 45 53 45 5f 53 49 4e 47 41 50 4f 52 45 2c 0a 09 ESE_SINGAPORE,..
4fe0: 53 55 42 4c 41 4e 47 5f 43 48 49 4e 45 53 45 5f SUBLANG_CHINESE_
4ff0: 4d 41 43 41 55 2c 20 20 20 20 20 20 20 20 20 20 MACAU,
5000: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 35 // = 5
5010: 0a 0a 09 53 55 42 4c 41 4e 47 5f 43 4f 52 53 49 ...SUBLANG_CORSI
5020: 43 41 4e 5f 46 52 41 4e 43 45 20 20 20 20 20 20 CAN_FRANCE
5030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
5040: 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 43 1,...SUBLANG_C
5050: 52 4f 41 54 49 41 4e 5f 43 52 4f 41 54 49 41 20 ROATIAN_CROATIA
5060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5070: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
5080: 47 5f 43 52 4f 41 54 49 41 4e 5f 42 4f 53 4e 49 G_CROATIAN_BOSNI
5090: 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f 4c 41 A_HERZEGOVINA_LA
50a0: 54 49 4e 20 20 20 3d 20 20 34 2c 0a 0a 09 53 55 TIN = 4,...SU
50b0: 42 4c 41 4e 47 5f 43 5a 45 43 48 5f 43 5a 45 43 BLANG_CZECH_CZEC
50c0: 48 5f 52 45 50 55 42 4c 49 43 20 20 20 20 20 20 H_REPUBLIC
50d0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
50e0: 09 53 55 42 4c 41 4e 47 5f 44 41 4e 49 53 48 5f .SUBLANG_DANISH_
50f0: 44 45 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20 DENMARK
5100: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
5110: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 44 49 56 45 1,..SUBLANG_DIVE
5120: 48 49 5f 4d 41 4c 44 49 56 45 53 20 20 20 20 20 HI_MALDIVES
5130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5140: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f = 1,...SUBLANG_
5150: 44 55 54 43 48 20 20 20 20 20 20 20 20 20 20 20 DUTCH
5160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5170: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
5180: 4e 47 5f 44 55 54 43 48 5f 42 45 4c 47 49 41 4e NG_DUTCH_BELGIAN
5190: 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,
51a0: 20 20 20 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 // = 2...SU
51b0: 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 55 53 BLANG_ENGLISH_US
51c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
51d0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
51e0: 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 .SUBLANG_ENGLISH
51f0: 5f 55 4b 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e _UK,..SUBLANG_EN
5200: 47 4c 49 53 48 5f 41 55 53 2c 0a 09 53 55 42 4c GLISH_AUS,..SUBL
5210: 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 43 41 4e 2c ANG_ENGLISH_CAN,
5220: 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 ..SUBLANG_ENGLIS
5230: 48 5f 4e 5a 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 H_NZ,..SUBLANG_E
5240: 4e 47 4c 49 53 48 5f 45 49 52 45 2c 20 20 20 20 NGLISH_EIRE,
5250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5260: 2f 2f 20 3d 20 20 36 0a 09 53 55 42 4c 41 4e 47 // = 6..SUBLANG
5270: 5f 45 4e 47 4c 49 53 48 5f 49 52 45 4c 41 4e 44 _ENGLISH_IRELAND
5280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5290: 20 20 20 20 20 3d 20 20 36 2c 0a 09 53 55 42 4c = 6,..SUBL
52a0: 41 4e 47 5f 45 4e 47 4c 49 53 48 5f 53 4f 55 54 ANG_ENGLISH_SOUT
52b0: 48 5f 41 46 52 49 43 41 2c 0a 09 53 55 42 4c 41 H_AFRICA,..SUBLA
52c0: 4e 47 5f 45 4e 47 4c 49 53 48 5f 4a 41 4d 41 49 NG_ENGLISH_JAMAI
52d0: 43 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 CA,..SUBLANG_ENG
52e0: 4c 49 53 48 5f 43 41 52 49 42 42 45 41 4e 2c 0a LISH_CARIBBEAN,.
52f0: 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 .SUBLANG_ENGLISH
5300: 5f 42 45 4c 49 5a 45 2c 0a 09 53 55 42 4c 41 4e _BELIZE,..SUBLAN
5310: 47 5f 45 4e 47 4c 49 53 48 5f 54 52 49 4e 49 44 G_ENGLISH_TRINID
5320: 41 44 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 AD,..SUBLANG_ENG
5330: 4c 49 53 48 5f 5a 49 4d 42 41 42 57 45 2c 0a 09 LISH_ZIMBABWE,..
5340: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f SUBLANG_ENGLISH_
5350: 50 48 49 4c 49 50 50 49 4e 45 53 2c 20 20 20 20 PHILIPPINES,
5360: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 31 33 // = 13
5370: 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 ..SUBLANG_ENGLIS
5380: 48 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 H_INDIA
5390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
53a0: 31 36 2c 0a 09 53 55 42 4c 41 4e 47 5f 45 4e 47 16,..SUBLANG_ENG
53b0: 4c 49 53 48 5f 4d 41 4c 41 59 53 49 41 2c 0a 09 LISH_MALAYSIA,..
53c0: 53 55 42 4c 41 4e 47 5f 45 4e 47 4c 49 53 48 5f SUBLANG_ENGLISH_
53d0: 53 49 4e 47 41 50 4f 52 45 2c 20 20 20 20 20 20 SINGAPORE,
53e0: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 31 38 // = 18
53f0: 0a 0a 09 53 55 42 4c 41 4e 47 5f 45 53 54 4f 4e ...SUBLANG_ESTON
5400: 49 41 4e 5f 45 53 54 4f 4e 49 41 20 20 20 20 20 IAN_ESTONIA
5410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
5420: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 41 1,..SUBLANG_FA
5430: 45 52 4f 45 53 45 5f 46 41 52 4f 45 5f 49 53 4c EROESE_FAROE_ISL
5440: 41 4e 44 53 20 20 20 20 20 20 20 20 20 20 20 20 ANDS
5450: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 = 1,..SUBLANG
5460: 5f 46 49 4c 49 50 49 4e 4f 5f 50 48 49 4c 49 50 _FILIPINO_PHILIP
5470: 50 49 4e 45 53 20 20 20 20 20 20 20 20 20 20 20 PINES
5480: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
5490: 41 4e 47 5f 46 49 4e 4e 49 53 48 5f 46 49 4e 4c ANG_FINNISH_FINL
54a0: 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 AND
54b0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 = 1,...
54c0: 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43 48 20 20 SUBLANG_FRENCH
54d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
54e0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
54f0: 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 52 45 4e 43 ,..SUBLANG_FRENC
5500: 48 5f 42 45 4c 47 49 41 4e 2c 0a 09 53 55 42 4c H_BELGIAN,..SUBL
5510: 41 4e 47 5f 46 52 45 4e 43 48 5f 43 41 4e 41 44 ANG_FRENCH_CANAD
5520: 49 41 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 46 52 IAN,..SUBLANG_FR
5530: 45 4e 43 48 5f 53 57 49 53 53 2c 0a 09 53 55 42 ENCH_SWISS,..SUB
5540: 4c 41 4e 47 5f 46 52 45 4e 43 48 5f 4c 55 58 45 LANG_FRENCH_LUXE
5550: 4d 42 4f 55 52 47 2c 0a 09 53 55 42 4c 41 4e 47 MBOURG,..SUBLANG
5560: 5f 46 52 45 4e 43 48 5f 4d 4f 4e 41 43 4f 2c 20 _FRENCH_MONACO,
5570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5580: 20 20 2f 2f 20 3d 20 20 36 0a 0a 09 53 55 42 4c // = 6...SUBL
5590: 41 4e 47 5f 46 52 49 53 49 41 4e 5f 4e 45 54 48 ANG_FRISIAN_NETH
55a0: 45 52 4c 41 4e 44 53 20 20 20 20 20 20 20 20 20 ERLANDS
55b0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 = 1,..S
55c0: 55 42 4c 41 4e 47 5f 47 41 4c 49 43 49 41 4e 5f UBLANG_GALICIAN_
55d0: 47 41 4c 49 43 49 41 4e 20 20 20 20 20 20 20 20 GALICIAN
55e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
55f0: 0a 09 53 55 42 4c 41 4e 47 5f 47 45 4f 52 47 49 ..SUBLANG_GEORGI
5600: 41 4e 5f 47 45 4f 52 47 49 41 20 20 20 20 20 20 AN_GEORGIA
5610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
5620: 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 47 45 1,...SUBLANG_GE
5630: 52 4d 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 RMAN
5640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5650: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 = 1,..SUBLANG
5660: 5f 47 45 52 4d 41 4e 5f 53 57 49 53 53 2c 0a 09 _GERMAN_SWISS,..
5670: 53 55 42 4c 41 4e 47 5f 47 45 52 4d 41 4e 5f 41 SUBLANG_GERMAN_A
5680: 55 53 54 52 49 41 4e 2c 0a 09 53 55 42 4c 41 4e USTRIAN,..SUBLAN
5690: 47 5f 47 45 52 4d 41 4e 5f 4c 55 58 45 4d 42 4f G_GERMAN_LUXEMBO
56a0: 55 52 47 2c 0a 09 53 55 42 4c 41 4e 47 5f 47 45 URG,..SUBLANG_GE
56b0: 52 4d 41 4e 5f 4c 49 45 43 48 54 45 4e 53 54 45 RMAN_LIECHTENSTE
56c0: 49 4e 2c 20 20 20 20 20 20 20 20 20 20 20 20 2f IN, /
56d0: 2f 20 3d 20 20 35 0a 0a 09 53 55 42 4c 41 4e 47 / = 5...SUBLANG
56e0: 5f 47 52 45 45 4b 5f 47 52 45 45 43 45 20 20 20 _GREEK_GREECE
56f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5700: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
5710: 41 4e 47 5f 47 52 45 45 4e 4c 41 4e 44 49 43 5f ANG_GREENLANDIC_
5720: 47 52 45 45 4e 4c 41 4e 44 20 20 20 20 20 20 20 GREENLAND
5730: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 = 1,..S
5740: 55 42 4c 41 4e 47 5f 47 55 4a 41 52 41 54 49 5f UBLANG_GUJARATI_
5750: 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 20 20 INDIA
5760: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
5770: 0a 09 53 55 42 4c 41 4e 47 5f 48 41 55 53 41 5f ..SUBLANG_HAUSA_
5780: 4e 49 47 45 52 49 41 20 20 20 20 20 20 20 20 20 NIGERIA
5790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
57a0: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 48 45 42 1,..SUBLANG_HEB
57b0: 52 45 57 5f 49 53 52 41 45 4c 20 20 20 20 20 20 REW_ISRAEL
57c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
57d0: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f = 1,..SUBLANG_
57e0: 48 49 4e 44 49 5f 49 4e 44 49 41 20 20 20 20 20 HINDI_INDIA
57f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5800: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
5810: 4e 47 5f 48 55 4e 47 41 52 49 41 4e 5f 48 55 4e NG_HUNGARIAN_HUN
5820: 47 41 52 59 20 20 20 20 20 20 20 20 20 20 20 20 GARY
5830: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
5840: 42 4c 41 4e 47 5f 49 43 45 4c 41 4e 44 49 43 5f BLANG_ICELANDIC_
5850: 49 43 45 4c 41 4e 44 20 20 20 20 20 20 20 20 20 ICELAND
5860: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
5870: 09 53 55 42 4c 41 4e 47 5f 49 47 42 4f 5f 4e 49 .SUBLANG_IGBO_NI
5880: 47 45 52 49 41 20 20 20 20 20 20 20 20 20 20 20 GERIA
5890: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
58a0: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 49 4e 44 4f 1,..SUBLANG_INDO
58b0: 4e 45 53 49 41 4e 5f 49 4e 44 4f 4e 45 53 49 41 NESIAN_INDONESIA
58c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
58d0: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f = 1,...SUBLANG_
58e0: 49 4e 55 4b 54 49 54 55 54 5f 43 41 4e 41 44 41 INUKTITUT_CANADA
58f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5900: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
5910: 4e 47 5f 49 4e 55 4b 54 49 54 55 54 5f 43 41 4e NG_INUKTITUT_CAN
5920: 41 44 41 5f 4c 41 54 49 4e 20 20 20 20 20 20 20 ADA_LATIN
5930: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 = 1,...S
5940: 55 42 4c 41 4e 47 5f 49 52 49 53 48 5f 49 52 45 UBLANG_IRISH_IRE
5950: 4c 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 LAND
5960: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
5970: 0a 0a 09 53 55 42 4c 41 4e 47 5f 49 54 41 4c 49 ...SUBLANG_ITALI
5980: 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AN
5990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
59a0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 49 54 1,..SUBLANG_IT
59b0: 41 4c 49 41 4e 5f 53 57 49 53 53 2c 20 20 20 20 ALIAN_SWISS,
59c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f /
59d0: 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47 / = 2...SUBLANG
59e0: 5f 4a 41 50 41 4e 45 53 45 5f 4a 41 50 41 4e 20 _JAPANESE_JAPAN
59f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5a00: 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42 = 1,...SUB
5a10: 4c 41 4e 47 5f 4b 41 53 48 4d 49 52 49 5f 49 4e LANG_KASHMIRI_IN
5a20: 44 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 DIA
5a30: 20 20 20 20 20 20 20 20 20 3d 20 20 32 2c 0a 09 = 2,..
5a40: 53 55 42 4c 41 4e 47 5f 4b 41 53 48 4d 49 52 49 SUBLANG_KASHMIRI
5a50: 5f 53 41 53 49 41 20 20 20 20 20 20 20 20 20 20 _SASIA
5a60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 32 = 2
5a70: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 4b 41 5a 41 ,...SUBLANG_KAZA
5a80: 4b 5f 4b 41 5a 41 4b 48 53 54 41 4e 20 20 20 20 K_KAZAKHSTAN
5a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5aa0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b = 1,..SUBLANG_K
5ab0: 48 4d 45 52 5f 43 41 4d 42 4f 44 49 41 20 20 20 HMER_CAMBODIA
5ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5ad0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
5ae0: 47 5f 4b 49 43 48 45 5f 47 55 41 54 45 4d 41 4c G_KICHE_GUATEMAL
5af0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A
5b00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 = 1,..SUB
5b10: 4c 41 4e 47 5f 4b 49 4e 59 41 52 57 41 4e 44 41 LANG_KINYARWANDA
5b20: 5f 52 57 41 4e 44 41 20 20 20 20 20 20 20 20 20 _RWANDA
5b30: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 = 1,..
5b40: 53 55 42 4c 41 4e 47 5f 4b 4f 4e 4b 41 4e 49 5f SUBLANG_KONKANI_
5b50: 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 20 20 INDIA
5b60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
5b70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b 4f 52 45 41 ,..SUBLANG_KOREA
5b80: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
5b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
5ba0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4b 59 1,..SUBLANG_KY
5bb0: 52 47 59 5a 5f 4b 59 52 47 59 5a 53 54 41 4e 20 RGYZ_KYRGYZSTAN
5bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5bd0: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 = 1,..SUBLANG
5be0: 5f 4c 41 4f 5f 4c 41 4f 5f 50 44 52 20 20 20 20 _LAO_LAO_PDR
5bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5c00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
5c10: 41 4e 47 5f 4c 41 54 56 49 41 4e 5f 4c 41 54 56 ANG_LATVIAN_LATV
5c20: 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 IA
5c30: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 0a 09 = 1,...
5c40: 53 55 42 4c 41 4e 47 5f 4c 49 54 48 55 41 4e 49 SUBLANG_LITHUANI
5c50: 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AN
5c60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
5c70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4c 49 54 48 55 ,..SUBLANG_LITHU
5c80: 41 4e 49 41 4e 5f 4c 49 54 48 55 41 4e 49 41 20 ANIAN_LITHUANIA
5c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
5ca0: 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 4c 1,...SUBLANG_L
5cb0: 4f 57 45 52 5f 53 4f 52 42 49 41 4e 5f 47 45 52 OWER_SORBIAN_GER
5cc0: 4d 41 4e 59 20 20 20 20 20 20 20 20 20 20 20 20 MANY
5cd0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
5ce0: 47 5f 4c 55 58 45 4d 42 4f 55 52 47 49 53 48 5f G_LUXEMBOURGISH_
5cf0: 4c 55 58 45 4d 42 4f 55 52 47 20 20 20 20 20 20 LUXEMBOURG
5d00: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 = 1,..SUB
5d10: 4c 41 4e 47 5f 4d 41 43 45 44 4f 4e 49 41 4e 5f LANG_MACEDONIAN_
5d20: 4d 41 43 45 44 4f 4e 49 41 20 20 20 20 20 20 20 MACEDONIA
5d30: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 = 1,..
5d40: 53 55 42 4c 41 4e 47 5f 4d 41 4c 41 59 41 4c 41 SUBLANG_MALAYALA
5d50: 4d 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 M_INDIA
5d60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
5d70: 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 41 4c 54 45 ,..SUBLANG_MALTE
5d80: 53 45 5f 4d 41 4c 54 41 20 20 20 20 20 20 20 20 SE_MALTA
5d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
5da0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 41 1,..SUBLANG_MA
5db0: 4f 52 49 5f 4e 45 57 5f 5a 45 41 4c 41 4e 44 20 ORI_NEW_ZEALAND
5dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5dd0: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 = 1,..SUBLANG
5de0: 5f 4d 41 50 55 44 55 4e 47 55 4e 5f 43 48 49 4c _MAPUDUNGUN_CHIL
5df0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
5e00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
5e10: 41 4e 47 5f 4d 41 52 41 54 48 49 5f 49 4e 44 49 ANG_MARATHI_INDI
5e20: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A
5e30: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 = 1,..S
5e40: 55 42 4c 41 4e 47 5f 4d 4f 48 41 57 4b 5f 4d 4f UBLANG_MOHAWK_MO
5e50: 48 41 57 4b 20 20 20 20 20 20 20 20 20 20 20 20 HAWK
5e60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
5e70: 0a 0a 09 53 55 42 4c 41 4e 47 5f 4d 4f 4e 47 4f ...SUBLANG_MONGO
5e80: 4c 49 41 4e 5f 43 59 52 49 4c 4c 49 43 5f 4d 4f LIAN_CYRILLIC_MO
5e90: 4e 47 4f 4c 49 41 20 20 20 20 20 20 20 20 20 3d NGOLIA =
5ea0: 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 4d 4f 1,..SUBLANG_MO
5eb0: 4e 47 4f 4c 49 41 4e 5f 50 52 43 2c 20 20 20 20 NGOLIAN_PRC,
5ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f /
5ed0: 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47 / = 2...SUBLANG
5ee0: 5f 4d 41 4c 41 59 5f 4d 41 4c 41 59 53 49 41 20 _MALAY_MALAYSIA
5ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5f00: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
5f10: 41 4e 47 5f 4d 41 4c 41 59 5f 42 52 55 4e 45 49 ANG_MALAY_BRUNEI
5f20: 5f 44 41 52 55 53 53 41 4c 41 4d 2c 20 20 20 20 _DARUSSALAM,
5f30: 20 20 20 20 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 // = 2...S
5f40: 55 42 4c 41 4e 47 5f 4e 45 50 41 4c 49 5f 4e 45 UBLANG_NEPALI_NE
5f50: 50 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 PAL
5f60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
5f70: 0a 09 53 55 42 4c 41 4e 47 5f 4e 45 50 41 4c 49 ..SUBLANG_NEPALI
5f80: 5f 49 4e 44 49 41 2c 20 20 20 20 20 20 20 20 20 _INDIA,
5f90: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 // =
5fa0: 20 32 0a 0a 09 53 55 42 4c 41 4e 47 5f 4e 4f 52 2...SUBLANG_NOR
5fb0: 57 45 47 49 41 4e 5f 42 4f 4b 4d 41 4c 20 20 20 WEGIAN_BOKMAL
5fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5fd0: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f = 1,..SUBLANG_
5fe0: 4e 4f 52 57 45 47 49 41 4e 5f 4e 59 4e 4f 52 53 NORWEGIAN_NYNORS
5ff0: 4b 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 K,
6000: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 // = 2...SUBLA
6010: 4e 47 5f 4f 43 43 49 54 41 4e 5f 46 52 41 4e 43 NG_OCCITAN_FRANC
6020: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
6030: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
6040: 42 4c 41 4e 47 5f 4f 52 49 59 41 5f 49 4e 44 49 BLANG_ORIYA_INDI
6050: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A
6060: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
6070: 09 53 55 42 4c 41 4e 47 5f 50 41 53 48 54 4f 5f .SUBLANG_PASHTO_
6080: 41 46 47 48 41 4e 49 53 54 41 4e 20 20 20 20 20 AFGHANISTAN
6090: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
60a0: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 50 45 52 53 1,..SUBLANG_PERS
60b0: 49 41 4e 5f 49 52 41 4e 20 20 20 20 20 20 20 20 IAN_IRAN
60c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
60d0: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 50 = 1,..SUBLANG_P
60e0: 4f 4c 49 53 48 5f 50 4f 4c 41 4e 44 20 20 20 20 OLISH_POLAND
60f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6100: 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 = 1,...SUBLA
6110: 4e 47 5f 50 4f 52 54 55 47 55 45 53 45 5f 42 52 NG_PORTUGUESE_BR
6120: 41 5a 49 4c 49 41 4e 20 20 20 20 20 20 20 20 20 AZILIAN
6130: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
6140: 42 4c 41 4e 47 5f 50 4f 52 54 55 47 55 45 53 45 BLANG_PORTUGUESE
6150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6160: 20 20 20 20 20 20 20 20 20 20 3d 20 20 32 2c 0a = 2,.
6170: 09 53 55 42 4c 41 4e 47 5f 50 4f 52 54 55 47 55 .SUBLANG_PORTUGU
6180: 45 53 45 5f 50 4f 52 54 55 47 41 4c 2c 20 20 20 ESE_PORTUGAL,
6190: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 // =
61a0: 32 0a 0a 09 53 55 42 4c 41 4e 47 5f 50 55 4e 4a 2...SUBLANG_PUNJ
61b0: 41 42 49 5f 49 4e 44 49 41 20 20 20 20 20 20 20 ABI_INDIA
61c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
61d0: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f = 1,...SUBLANG_
61e0: 51 55 45 43 48 55 41 5f 42 4f 4c 49 56 49 41 20 QUECHUA_BOLIVIA
61f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6200: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
6210: 4e 47 5f 51 55 45 43 48 55 41 5f 45 43 55 41 44 NG_QUECHUA_ECUAD
6220: 4f 52 2c 0a 09 53 55 42 4c 41 4e 47 5f 51 55 45 OR,..SUBLANG_QUE
6230: 43 48 55 41 5f 50 45 52 55 2c 20 20 20 20 20 20 CHUA_PERU,
6240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f //
6250: 20 3d 20 20 33 0a 0a 09 53 55 42 4c 41 4e 47 5f = 3...SUBLANG_
6260: 52 4f 4d 41 4e 49 41 4e 5f 52 4f 4d 41 4e 49 41 ROMANIAN_ROMANIA
6270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6280: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
6290: 4e 47 5f 52 4f 4d 41 4e 53 48 5f 53 57 49 54 5a NG_ROMANSH_SWITZ
62a0: 45 52 4c 41 4e 44 20 20 20 20 20 20 20 20 20 20 ERLAND
62b0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
62c0: 42 4c 41 4e 47 5f 52 55 53 53 49 41 4e 5f 52 55 BLANG_RUSSIAN_RU
62d0: 53 53 49 41 20 20 20 20 20 20 20 20 20 20 20 20 SSIA
62e0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
62f0: 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 4e ..SUBLANG_SAMI_N
6300: 4f 52 54 48 45 52 4e 5f 4e 4f 52 57 41 59 20 20 ORTHERN_NORWAY
6310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
6320: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 1,..SUBLANG_SAM
6330: 49 5f 4e 4f 52 54 48 45 52 4e 5f 53 57 45 44 45 I_NORTHERN_SWEDE
6340: 4e 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 N,..SUBLANG_SAMI
6350: 5f 4e 4f 52 54 48 45 52 4e 5f 46 49 4e 4c 41 4e _NORTHERN_FINLAN
6360: 44 2c 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 D, //
6370: 3d 20 20 33 0a 09 53 55 42 4c 41 4e 47 5f 53 41 = 3..SUBLANG_SA
6380: 4d 49 5f 53 4b 4f 4c 54 5f 46 49 4e 4c 41 4e 44 MI_SKOLT_FINLAND
6390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
63a0: 20 20 3d 20 20 33 2c 0a 09 53 55 42 4c 41 4e 47 = 3,..SUBLANG
63b0: 5f 53 41 4d 49 5f 49 4e 41 52 49 5f 46 49 4e 4c _SAMI_INARI_FINL
63c0: 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 AND
63d0: 20 20 20 20 20 3d 20 20 33 2c 0a 09 53 55 42 4c = 3,..SUBL
63e0: 41 4e 47 5f 53 41 4d 49 5f 4c 55 4c 45 5f 4e 4f ANG_SAMI_LULE_NO
63f0: 52 57 41 59 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 RWAY,..SUBLANG_S
6400: 41 4d 49 5f 4c 55 4c 45 5f 53 57 45 44 45 4e 2c AMI_LULE_SWEDEN,
6410: 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 53 ..SUBLANG_SAMI_S
6420: 4f 55 54 48 45 52 4e 5f 4e 4f 52 57 41 59 2c 0a OUTHERN_NORWAY,.
6430: 09 53 55 42 4c 41 4e 47 5f 53 41 4d 49 5f 53 4f .SUBLANG_SAMI_SO
6440: 55 54 48 45 52 4e 5f 53 57 45 44 45 4e 2c 20 20 UTHERN_SWEDEN,
6450: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 // =
6460: 37 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 41 4e 53 7...SUBLANG_SANS
6470: 4b 52 49 54 5f 49 4e 44 49 41 20 20 20 20 20 20 KRIT_INDIA
6480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6490: 3d 20 20 31 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f = 1,...SUBLANG_
64a0: 53 45 52 42 49 41 4e 5f 4c 41 54 49 4e 20 20 20 SERBIAN_LATIN
64b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
64c0: 20 20 20 20 3d 20 20 32 2c 0a 09 53 55 42 4c 41 = 2,..SUBLA
64d0: 4e 47 5f 53 45 52 42 49 41 4e 5f 43 59 52 49 4c NG_SERBIAN_CYRIL
64e0: 4c 49 43 2c 20 20 20 20 20 20 20 20 20 20 20 20 LIC,
64f0: 20 20 20 20 2f 2f 20 3d 20 20 33 0a 09 53 55 42 // = 3..SUB
6500: 4c 41 4e 47 5f 53 45 52 42 49 41 4e 5f 42 4f 53 LANG_SERBIAN_BOS
6510: 4e 49 41 5f 48 45 52 5a 45 47 4f 56 49 4e 41 5f NIA_HERZEGOVINA_
6520: 4c 41 54 49 4e 20 20 20 20 3d 20 20 36 2c 0a 09 LATIN = 6,..
6530: 53 55 42 4c 41 4e 47 5f 53 45 52 42 49 41 4e 5f SUBLANG_SERBIAN_
6540: 42 4f 53 4e 49 41 5f 48 45 52 5a 45 47 4f 56 49 BOSNIA_HERZEGOVI
6550: 4e 41 5f 43 59 52 49 4c 4c 49 43 20 3d 20 20 37 NA_CYRILLIC = 7
6560: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 49 4e 44 ,...SUBLANG_SIND
6570: 48 49 5f 41 46 47 48 41 4e 49 53 54 41 4e 20 20 HI_AFGHANISTAN
6580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6590: 3d 20 20 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 = 2,..SUBLANG_S
65a0: 49 4e 48 41 4c 45 53 45 5f 53 52 49 5f 4c 41 4e INHALESE_SRI_LAN
65b0: 4b 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 KA
65c0: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
65d0: 47 5f 53 4f 54 48 4f 5f 4e 4f 52 54 48 45 52 4e G_SOTHO_NORTHERN
65e0: 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 20 20 _SOUTH_AFRICA
65f0: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 = 1,..SUB
6600: 4c 41 4e 47 5f 53 4c 4f 56 41 4b 5f 53 4c 4f 56 LANG_SLOVAK_SLOV
6610: 41 4b 49 41 20 20 20 20 20 20 20 20 20 20 20 20 AKIA
6620: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 = 1,..
6630: 53 55 42 4c 41 4e 47 5f 53 4c 4f 56 45 4e 49 41 SUBLANG_SLOVENIA
6640: 4e 5f 53 4c 4f 56 45 4e 49 41 20 20 20 20 20 20 N_SLOVENIA
6650: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
6660: 2c 0a 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e ,...SUBLANG_SPAN
6670: 49 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 ISH
6680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6690: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 = 1,..SUBLANG_S
66a0: 50 41 4e 49 53 48 5f 4d 45 58 49 43 41 4e 2c 0a PANISH_MEXICAN,.
66b0: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 .SUBLANG_SPANISH
66c0: 5f 4d 4f 44 45 52 4e 2c 0a 09 53 55 42 4c 41 4e _MODERN,..SUBLAN
66d0: 47 5f 53 50 41 4e 49 53 48 5f 47 55 41 54 45 4d G_SPANISH_GUATEM
66e0: 41 4c 41 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 ALA,..SUBLANG_SP
66f0: 41 4e 49 53 48 5f 43 4f 53 54 41 5f 52 49 43 41 ANISH_COSTA_RICA
6700: 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 ,..SUBLANG_SPANI
6710: 53 48 5f 50 41 4e 41 4d 41 2c 0a 09 53 55 42 4c SH_PANAMA,..SUBL
6720: 41 4e 47 5f 53 50 41 4e 49 53 48 5f 44 4f 4d 49 ANG_SPANISH_DOMI
6730: 4e 49 43 41 4e 5f 52 45 50 55 42 4c 49 43 2c 0a NICAN_REPUBLIC,.
6740: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 .SUBLANG_SPANISH
6750: 5f 56 45 4e 45 5a 55 45 4c 41 2c 0a 09 53 55 42 _VENEZUELA,..SUB
6760: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 43 4f 4c LANG_SPANISH_COL
6770: 4f 4d 42 49 41 2c 0a 09 53 55 42 4c 41 4e 47 5f OMBIA,..SUBLANG_
6780: 53 50 41 4e 49 53 48 5f 50 45 52 55 2c 0a 09 53 SPANISH_PERU,..S
6790: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 41 UBLANG_SPANISH_A
67a0: 52 47 45 4e 54 49 4e 41 2c 0a 09 53 55 42 4c 41 RGENTINA,..SUBLA
67b0: 4e 47 5f 53 50 41 4e 49 53 48 5f 45 43 55 41 44 NG_SPANISH_ECUAD
67c0: 4f 52 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 OR,..SUBLANG_SPA
67d0: 4e 49 53 48 5f 43 48 49 4c 45 2c 0a 09 53 55 42 NISH_CHILE,..SUB
67e0: 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 55 52 55 LANG_SPANISH_URU
67f0: 47 55 41 59 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 GUAY,..SUBLANG_S
6800: 50 41 4e 49 53 48 5f 50 41 52 41 47 55 41 59 2c PANISH_PARAGUAY,
6810: 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 ..SUBLANG_SPANIS
6820: 48 5f 42 4f 4c 49 56 49 41 2c 0a 09 53 55 42 4c H_BOLIVIA,..SUBL
6830: 41 4e 47 5f 53 50 41 4e 49 53 48 5f 45 4c 5f 53 ANG_SPANISH_EL_S
6840: 41 4c 56 41 44 4f 52 2c 0a 09 53 55 42 4c 41 4e ALVADOR,..SUBLAN
6850: 47 5f 53 50 41 4e 49 53 48 5f 48 4f 4e 44 55 52 G_SPANISH_HONDUR
6860: 41 53 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 50 41 AS,..SUBLANG_SPA
6870: 4e 49 53 48 5f 4e 49 43 41 52 41 47 55 41 2c 0a NISH_NICARAGUA,.
6880: 09 53 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 .SUBLANG_SPANISH
6890: 5f 50 55 45 52 54 4f 5f 52 49 43 4f 2c 0a 09 53 _PUERTO_RICO,..S
68a0: 55 42 4c 41 4e 47 5f 53 50 41 4e 49 53 48 5f 55 UBLANG_SPANISH_U
68b0: 53 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S,
68c0: 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 32 31 0a // = 21.
68d0: 0a 09 53 55 42 4c 41 4e 47 5f 53 57 45 44 49 53 ..SUBLANG_SWEDIS
68e0: 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 H
68f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
6900: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 53 57 45 1,..SUBLANG_SWE
6910: 44 49 53 48 5f 53 57 45 44 45 4e 20 20 20 20 20 DISH_SWEDEN
6920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6930: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f = 1,..SUBLANG_
6940: 53 57 45 44 49 53 48 5f 46 49 4e 4c 41 4e 44 2c SWEDISH_FINLAND,
6950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6960: 20 2f 2f 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 // = 2...SUBLA
6970: 4e 47 5f 53 59 52 49 41 43 20 20 20 20 20 20 20 NG_SYRIAC
6980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6990: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
69a0: 42 4c 41 4e 47 5f 54 41 4a 49 4b 5f 54 41 4a 49 BLANG_TAJIK_TAJI
69b0: 4b 49 53 54 41 4e 20 20 20 20 20 20 20 20 20 20 KISTAN
69c0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
69d0: 09 53 55 42 4c 41 4e 47 5f 54 41 4d 41 5a 49 47 .SUBLANG_TAMAZIG
69e0: 48 54 5f 41 4c 47 45 52 49 41 5f 4c 41 54 49 4e HT_ALGERIA_LATIN
69f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
6a00: 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 41 4d 49 2,..SUBLANG_TAMI
6a10: 4c 5f 49 4e 44 49 41 20 20 20 20 20 20 20 20 20 L_INDIA
6a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6a30: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 = 1,..SUBLANG_T
6a40: 41 54 41 52 5f 52 55 53 53 49 41 20 20 20 20 20 ATAR_RUSSIA
6a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6a60: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
6a70: 47 5f 54 45 4c 55 47 55 5f 49 4e 44 49 41 20 20 G_TELUGU_INDIA
6a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6a90: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 = 1,..SUB
6aa0: 4c 41 4e 47 5f 54 48 41 49 5f 54 48 41 49 4c 41 LANG_THAI_THAILA
6ab0: 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ND
6ac0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 = 1,..
6ad0: 53 55 42 4c 41 4e 47 5f 54 49 42 45 54 41 4e 5f SUBLANG_TIBETAN_
6ae0: 50 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 PRC
6af0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 = 1
6b00: 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 49 42 45 54 ,..SUBLANG_TIBET
6b10: 41 4e 5f 42 48 55 54 41 4e 20 20 20 20 20 20 20 AN_BHUTAN
6b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
6b30: 20 20 32 2c 0a 09 53 55 42 4c 41 4e 47 5f 54 49 2,..SUBLANG_TI
6b40: 47 52 49 47 4e 41 5f 45 52 49 54 52 45 41 20 20 GRIGNA_ERITREA
6b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6b60: 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 = 1,..SUBLANG
6b70: 5f 54 53 57 41 4e 41 5f 53 4f 55 54 48 5f 41 46 _TSWANA_SOUTH_AF
6b80: 52 49 43 41 20 20 20 20 20 20 20 20 20 20 20 20 RICA
6b90: 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c = 1,..SUBL
6ba0: 41 4e 47 5f 54 55 52 4b 49 53 48 5f 54 55 52 4b ANG_TURKISH_TURK
6bb0: 45 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20 EY
6bc0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 = 1,..S
6bd0: 55 42 4c 41 4e 47 5f 54 55 52 4b 4d 45 4e 5f 54 UBLANG_TURKMEN_T
6be0: 55 52 4b 4d 45 4e 49 53 54 41 4e 20 20 20 20 20 URKMENISTAN
6bf0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c = 1,
6c00: 0a 09 53 55 42 4c 41 4e 47 5f 55 49 47 48 55 52 ..SUBLANG_UIGHUR
6c10: 5f 50 52 43 20 20 20 20 20 20 20 20 20 20 20 20 _PRC
6c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
6c30: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 55 4b 52 1,..SUBLANG_UKR
6c40: 41 49 4e 49 41 4e 5f 55 4b 52 41 49 4e 45 20 20 AINIAN_UKRAINE
6c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6c60: 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f = 1,..SUBLANG_
6c70: 55 50 50 45 52 5f 53 4f 52 42 49 41 4e 5f 47 45 UPPER_SORBIAN_GE
6c80: 52 4d 41 4e 59 20 20 20 20 20 20 20 20 20 20 20 RMANY
6c90: 20 20 20 20 3d 20 20 31 2c 0a 0a 09 53 55 42 4c = 1,...SUBL
6ca0: 41 4e 47 5f 55 52 44 55 5f 50 41 4b 49 53 54 41 ANG_URDU_PAKISTA
6cb0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
6cc0: 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 = 1,..S
6cd0: 55 42 4c 41 4e 47 5f 55 52 44 55 5f 49 4e 44 49 UBLANG_URDU_INDI
6ce0: 41 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A,
6cf0: 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 20 32 0a // = 2.
6d00: 0a 09 53 55 42 4c 41 4e 47 5f 55 5a 42 45 4b 5f ..SUBLANG_UZBEK_
6d10: 4c 41 54 49 4e 20 20 20 20 20 20 20 20 20 20 20 LATIN
6d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
6d30: 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 55 5a 42 1,..SUBLANG_UZB
6d40: 45 4b 5f 43 59 52 49 4c 4c 49 43 2c 20 20 20 20 EK_CYRILLIC,
6d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f //
6d60: 20 3d 20 20 32 0a 0a 09 53 55 42 4c 41 4e 47 5f = 2...SUBLANG_
6d70: 56 49 45 54 4e 41 4d 45 53 45 5f 56 49 45 54 4e VIETNAMESE_VIETN
6d80: 41 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AM
6d90: 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 = 1,..SUBLA
6da0: 4e 47 5f 57 45 4c 53 48 5f 55 4e 49 54 45 44 5f NG_WELSH_UNITED_
6db0: 4b 49 4e 47 44 4f 4d 20 20 20 20 20 20 20 20 20 KINGDOM
6dc0: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 = 1,..SU
6dd0: 42 4c 41 4e 47 5f 57 4f 4c 4f 46 5f 53 45 4e 45 BLANG_WOLOF_SENE
6de0: 47 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 GAL
6df0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c 0a = 1,.
6e00: 09 53 55 42 4c 41 4e 47 5f 59 4f 52 55 42 41 5f .SUBLANG_YORUBA_
6e10: 4e 49 47 45 52 49 41 20 20 20 20 20 20 20 20 20 NIGERIA
6e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 =
6e30: 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 58 48 4f 53 1,..SUBLANG_XHOS
6e40: 41 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 20 20 A_SOUTH_AFRICA
6e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6e60: 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e 47 5f 59 = 1,..SUBLANG_Y
6e70: 41 4b 55 54 5f 52 55 53 53 49 41 20 20 20 20 20 AKUT_RUSSIA
6e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6e90: 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 4c 41 4e = 1,..SUBLAN
6ea0: 47 5f 59 49 5f 50 52 43 20 20 20 20 20 20 20 20 G_YI_PRC
6eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
6ec0: 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 53 55 42 = 1,..SUB
6ed0: 4c 41 4e 47 5f 5a 55 4c 55 5f 53 4f 55 54 48 5f LANG_ZULU_SOUTH_
6ee0: 41 46 52 49 43 41 20 20 20 20 20 20 20 20 20 20 AFRICA
6ef0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 0a 7d 0a = 1.}.
6f00: 0a 2f 2f 20 54 68 69 73 20 69 73 20 6e 6f 74 20 .// This is not
6f10: 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 documented on MS
6f20: 44 4e 0a 63 6f 6e 73 74 20 4e 4c 53 5f 56 41 4c DN.const NLS_VAL
6f30: 49 44 5f 4c 4f 43 41 4c 45 5f 4d 41 53 4b 20 3d ID_LOCALE_MASK =
6f40: 20 31 30 34 38 35 37 35 3b 0a 0a 2f 2f 20 53 6f 1048575;..// So
6f50: 72 74 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72 rting identifier
6f60: 73 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a s.enum : WORD {.
6f70: 09 53 4f 52 54 5f 44 45 46 41 55 4c 54 20 20 20 .SORT_DEFAULT
6f80: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a = 0,.
6f90: 09 53 4f 52 54 5f 4a 41 50 41 4e 45 53 45 5f 58 .SORT_JAPANESE_X
6fa0: 4a 49 53 20 20 20 20 20 20 20 20 3d 20 30 2c 0a JIS = 0,.
6fb0: 09 53 4f 52 54 5f 4a 41 50 41 4e 45 53 45 5f 55 .SORT_JAPANESE_U
6fc0: 4e 49 43 4f 44 45 20 20 20 20 20 3d 20 31 2c 0a NICODE = 1,.
6fd0: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 42 49 .SORT_CHINESE_BI
6fe0: 47 35 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a G5 = 0,.
6ff0: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52 .SORT_CHINESE_PR
7000: 43 50 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a CP = 0,.
7010: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 55 4e .SORT_CHINESE_UN
7020: 49 43 4f 44 45 20 20 20 20 20 20 3d 20 31 2c 0a ICODE = 1,.
7030: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 50 52 .SORT_CHINESE_PR
7040: 43 20 20 20 20 20 20 20 20 20 20 3d 20 32 2c 0a C = 2,.
7050: 09 53 4f 52 54 5f 43 48 49 4e 45 53 45 5f 42 4f .SORT_CHINESE_BO
7060: 50 4f 4d 4f 46 4f 20 20 20 20 20 3d 20 33 2c 0a POMOFO = 3,.
7070: 09 53 4f 52 54 5f 4b 4f 52 45 41 4e 5f 4b 53 43 .SORT_KOREAN_KSC
7080: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a = 0,.
7090: 09 53 4f 52 54 5f 4b 4f 52 45 41 4e 5f 55 4e 49 .SORT_KOREAN_UNI
70a0: 43 4f 44 45 20 20 20 20 20 20 20 3d 20 31 2c 0a CODE = 1,.
70b0: 09 53 4f 52 54 5f 47 45 52 4d 41 4e 5f 50 48 4f .SORT_GERMAN_PHO
70c0: 4e 45 5f 42 4f 4f 4b 20 20 20 20 3d 20 31 2c 0a NE_BOOK = 1,.
70d0: 09 53 4f 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f .SORT_HUNGARIAN_
70e0: 44 45 46 41 55 4c 54 20 20 20 20 3d 20 30 2c 0a DEFAULT = 0,.
70f0: 09 53 4f 52 54 5f 48 55 4e 47 41 52 49 41 4e 5f .SORT_HUNGARIAN_
7100: 54 45 43 48 4e 49 43 41 4c 20 20 3d 20 31 2c 0a TECHNICAL = 1,.
7110: 09 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 54 .SORT_GEORGIAN_T
7120: 52 41 44 49 54 49 4f 4e 41 4c 20 3d 20 30 2c 0a RADITIONAL = 0,.
7130: 09 53 4f 52 54 5f 47 45 4f 52 47 49 41 4e 5f 4d .SORT_GEORGIAN_M
7140: 4f 44 45 52 4e 20 20 20 20 20 20 3d 20 31 0a 7d ODERN = 1.}
7150: 0a 0a 57 4f 52 44 20 4d 41 4b 45 4c 41 4e 47 49 ..WORD MAKELANGI
7160: 44 28 55 53 48 4f 52 54 20 70 2c 20 55 53 48 4f D(USHORT p, USHO
7170: 52 54 20 73 29 20 7b 20 72 65 74 75 72 6e 20 63 RT s) { return c
7180: 61 73 74 28 57 4f 52 44 29 28 28 73 20 3c 3c 20 ast(WORD)((s <<
7190: 31 30 29 20 7c 20 70 29 3b 20 7d 0a 57 4f 52 44 10) | p); }.WORD
71a0: 20 50 52 49 4d 41 52 59 4c 41 4e 47 49 44 28 57 PRIMARYLANGID(W
71b0: 4f 52 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75 ORD lgid) { retu
71c0: 72 6e 20 63 61 73 74 28 57 4f 52 44 29 28 6c 67 rn cast(WORD)(lg
71d0: 69 64 20 26 20 30 78 33 46 46 29 3b 20 7d 0a 57 id & 0x3FF); }.W
71e0: 4f 52 44 20 53 55 42 4c 41 4e 47 49 44 28 57 4f ORD SUBLANGID(WO
71f0: 52 44 20 6c 67 69 64 29 20 7b 20 72 65 74 75 72 RD lgid) { retur
7200: 6e 20 63 61 73 74 28 57 4f 52 44 29 28 6c 67 69 n cast(WORD)(lgi
7210: 64 20 3e 3e 3e 20 31 30 29 3b 20 7d 0a 0a 44 57 d >>> 10); }..DW
7220: 4f 52 44 20 4d 41 4b 45 4c 43 49 44 28 57 4f 52 ORD MAKELCID(WOR
7230: 44 20 6c 67 69 64 2c 20 57 4f 52 44 20 73 72 74 D lgid, WORD srt
7240: 69 64 29 20 7b 20 72 65 74 75 72 6e 20 28 63 61 id) { return (ca
7250: 73 74 28 44 57 4f 52 44 29 20 73 72 74 69 64 20 st(DWORD) srtid
7260: 3c 3c 20 31 36 29 20 7c 20 63 61 73 74 28 44 57 << 16) | cast(DW
7270: 4f 52 44 29 20 6c 67 69 64 3b 20 7d 0a 2f 2f 20 ORD) lgid; }.//
7280: 3f 3f 3f 0a 2f 2f 44 57 4f 52 44 20 4d 41 4b 45 ???.//DWORD MAKE
7290: 53 4f 52 54 4c 43 49 44 28 57 4f 52 44 20 6c 67 SORTLCID(WORD lg
72a0: 69 64 2c 20 57 4f 52 44 20 73 72 74 69 64 2c 20 id, WORD srtid,
72b0: 57 4f 52 44 20 76 65 72 29 20 7b 20 72 65 74 75 WORD ver) { retu
72c0: 72 6e 20 28 4d 41 4b 45 4c 43 49 44 28 6c 67 69 rn (MAKELCID(lgi
72d0: 64 2c 20 73 72 74 69 64 29 29 20 7c 20 28 28 63 d, srtid)) | ((c
72e0: 61 73 74 28 44 57 4f 52 44 29 76 65 72 29 20 3c ast(DWORD)ver) <
72f0: 3c 20 32 30 29 3b 20 7d 0a 57 4f 52 44 20 4c 41 < 20); }.WORD LA
7300: 4e 47 49 44 46 52 4f 4d 4c 43 49 44 28 4c 43 49 NGIDFROMLCID(LCI
7310: 44 20 6c 63 69 64 29 20 7b 20 72 65 74 75 72 6e D lcid) { return
7320: 20 63 61 73 74 28 57 4f 52 44 29 20 6c 63 69 64 cast(WORD) lcid
7330: 3b 20 7d 0a 57 4f 52 44 20 53 4f 52 54 49 44 46 ; }.WORD SORTIDF
7340: 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c 63 69 ROMLCID(LCID lci
7350: 64 29 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 d) { return cast
7360: 28 57 4f 52 44 29 20 28 28 6c 63 69 64 20 3e 3e (WORD) ((lcid >>
7370: 3e 20 31 36 29 20 26 20 30 78 30 46 29 3b 20 7d > 16) & 0x0F); }
7380: 0a 57 4f 52 44 20 53 4f 52 54 56 45 52 53 49 4f .WORD SORTVERSIO
7390: 4e 46 52 4f 4d 4c 43 49 44 28 4c 43 49 44 20 6c NFROMLCID(LCID l
73a0: 63 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 61 cid) { return ca
73b0: 73 74 28 57 4f 52 44 29 20 28 28 6c 63 69 64 20 st(WORD) ((lcid
73c0: 3e 3e 3e 20 32 30 29 20 26 20 30 78 30 46 29 3b >>> 20) & 0x0F);
73d0: 20 7d 0a 0a 63 6f 6e 73 74 20 57 4f 52 44 20 4c }..const WORD L
73e0: 41 4e 47 5f 53 59 53 54 45 4d 5f 44 45 46 41 55 ANG_SYSTEM_DEFAU
73f0: 4c 54 20 3d 20 28 53 55 42 4c 41 4e 47 5f 53 59 LT = (SUBLANG_SY
7400: 53 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 30 29 S_DEFAULT << 10)
7410: 20 7c 20 4c 41 4e 47 5f 4e 45 55 54 52 41 4c 3b | LANG_NEUTRAL;
7420: 0a 63 6f 6e 73 74 20 57 4f 52 44 20 4c 41 4e 47 .const WORD LANG
7430: 5f 55 53 45 52 5f 44 45 46 41 55 4c 54 20 20 20 _USER_DEFAULT
7440: 3d 20 28 53 55 42 4c 41 4e 47 5f 44 45 46 41 55 = (SUBLANG_DEFAU
7450: 4c 54 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e 47 LT << 10) | LANG
7460: 5f 4e 45 55 54 52 41 4c 3b 0a 63 6f 6e 73 74 20 _NEUTRAL;.const
7470: 44 57 4f 52 44 20 4c 4f 43 41 4c 45 5f 4e 45 55 DWORD LOCALE_NEU
7480: 54 52 41 4c 20 20 20 20 20 3d 20 28 53 4f 52 54 TRAL = (SORT
7490: 5f 44 45 46 41 55 4c 54 20 3c 3c 20 31 36 29 0a _DEFAULT << 16).
74a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
74b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
74c0: 20 7c 20 28 53 55 42 4c 41 4e 47 5f 4e 45 55 54 | (SUBLANG_NEUT
74d0: 52 41 4c 20 3c 3c 20 31 30 29 20 7c 20 4c 41 4e RAL << 10) | LAN
74e0: 47 5f 4e 45 55 54 52 41 4c 3b 0a 0a 2f 2f 20 2d G_NEUTRAL;..// -
74f0: 2d 2d 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b --.enum : BYTE {
7500: 0a 09 41 43 4c 5f 52 45 56 49 53 49 4f 4e 20 20 ..ACL_REVISION
7510: 20 20 3d 20 32 2c 0a 09 41 43 4c 5f 52 45 56 49 = 2,..ACL_REVI
7520: 53 49 4f 4e 5f 44 53 20 3d 20 34 0a 7d 0a 0a 2f SION_DS = 4.}../
7530: 2f 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74 20 / These are not
7540: 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 documented on MS
7550: 44 4e 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b DN.enum : BYTE {
7560: 0a 09 41 43 4c 5f 52 45 56 49 53 49 4f 4e 31 20 ..ACL_REVISION1
7570: 20 20 20 3d 20 31 2c 0a 09 41 43 4c 5f 52 45 56 = 1,..ACL_REV
7580: 49 53 49 4f 4e 32 2c 0a 09 41 43 4c 5f 52 45 56 ISION2,..ACL_REV
7590: 49 53 49 4f 4e 33 2c 0a 09 41 43 4c 5f 52 45 56 ISION3,..ACL_REV
75a0: 49 53 49 4f 4e 34 20 2f 2f 20 3d 20 34 0a 7d 0a ISION4 // = 4.}.
75b0: 0a 63 6f 6e 73 74 20 42 59 54 45 0a 09 4d 49 4e .const BYTE..MIN
75c0: 5f 41 43 4c 5f 52 45 56 49 53 49 4f 4e 20 3d 20 _ACL_REVISION =
75d0: 32 2c 0a 09 4d 41 58 5f 41 43 4c 5f 52 45 56 49 2,..MAX_ACL_REVI
75e0: 53 49 4f 4e 20 3d 20 34 3b 0a 0a 2f 2b 0a 2f 2f SION = 4;../+.//
75f0: 20 54 68 65 73 65 20 61 72 65 6e 27 74 20 6e 65 These aren't ne
7600: 63 65 73 73 61 72 79 20 66 6f 72 20 44 2e 0a 63 cessary for D..c
7610: 6f 6e 73 74 20 4d 49 4e 43 48 41 52 3d 30 78 38 onst MINCHAR=0x8
7620: 30 3b 0a 63 6f 6e 73 74 20 4d 41 58 43 48 41 52 0;.const MAXCHAR
7630: 3d 30 78 37 66 3b 0a 63 6f 6e 73 74 20 4d 49 4e =0x7f;.const MIN
7640: 53 48 4f 52 54 3d 30 78 38 30 30 30 3b 0a 63 6f SHORT=0x8000;.co
7650: 6e 73 74 20 4d 41 58 53 48 4f 52 54 3d 30 78 37 nst MAXSHORT=0x7
7660: 66 66 66 3b 0a 63 6f 6e 73 74 20 4d 49 4e 4c 4f fff;.const MINLO
7670: 4e 47 3d 30 78 38 30 30 30 30 30 30 30 3b 0a 63 NG=0x80000000;.c
7680: 6f 6e 73 74 20 4d 41 58 4c 4f 4e 47 3d 30 78 37 onst MAXLONG=0x7
7690: 66 66 66 66 66 66 66 3b 0a 63 6f 6e 73 74 20 4d fffffff;.const M
76a0: 41 58 42 59 54 45 3d 30 78 66 66 3b 0a 63 6f 6e AXBYTE=0xff;.con
76b0: 73 74 20 4d 41 58 57 4f 52 44 3d 30 78 66 66 66 st MAXWORD=0xfff
76c0: 66 3b 0a 63 6f 6e 73 74 20 4d 41 58 44 57 4f 52 f;.const MAXDWOR
76d0: 44 3d 30 78 66 66 66 66 66 66 66 66 3b 0a 2b 2f D=0xffffffff;.+/
76e0: 0a 0a 2f 2f 20 53 59 53 54 45 4d 5f 49 4e 46 4f ..// SYSTEM_INFO
76f0: 2e 64 77 50 72 6f 63 65 73 73 6f 72 54 79 70 65 .dwProcessorType
7700: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a .enum : DWORD {.
7710: 09 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54 45 4c .PROCESSOR_INTEL
7720: 5f 33 38 36 20 20 20 20 20 3d 20 20 20 33 38 36 _386 = 386
7730: 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 49 4e 54 ,..PROCESSOR_INT
7740: 45 4c 5f 34 38 36 20 20 20 20 20 3d 20 20 20 34 EL_486 = 4
7750: 38 36 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 49 86,..PROCESSOR_I
7760: 4e 54 45 4c 5f 50 45 4e 54 49 55 4d 20 3d 20 20 NTEL_PENTIUM =
7770: 20 35 38 36 2c 0a 09 50 52 4f 43 45 53 53 4f 52 586,..PROCESSOR
7780: 5f 4d 49 50 53 5f 52 34 30 30 30 20 20 20 20 3d _MIPS_R4000 =
7790: 20 20 34 30 30 30 2c 0a 09 50 52 4f 43 45 53 53 4000,..PROCESS
77a0: 4f 52 5f 41 4c 50 48 41 5f 32 31 30 36 34 20 20 OR_ALPHA_21064
77b0: 20 3d 20 32 31 30 36 34 2c 0a 09 50 52 4f 43 45 = 21064,..PROCE
77c0: 53 53 4f 52 5f 49 4e 54 45 4c 5f 49 41 36 34 20 SSOR_INTEL_IA64
77d0: 20 20 20 3d 20 20 32 32 30 30 0a 7d 0a 0a 2f 2f = 2200.}..//
77e0: 20 53 59 53 54 45 4d 5f 49 4e 46 4f 2e 77 50 72 SYSTEM_INFO.wPr
77f0: 6f 63 65 73 73 6f 72 41 72 63 68 69 74 65 63 74 ocessorArchitect
7800: 75 72 65 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 ure.enum : WORD
7810: 7b 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 {..PROCESSOR_ARC
7820: 48 49 54 45 43 54 55 52 45 5f 49 4e 54 45 4c 2c HITECTURE_INTEL,
7830: 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 ..PROCESSOR_ARCH
7840: 49 54 45 43 54 55 52 45 5f 4d 49 50 53 2c 0a 09 ITECTURE_MIPS,..
7850: 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54 PROCESSOR_ARCHIT
7860: 45 43 54 55 52 45 5f 41 4c 50 48 41 2c 0a 09 50 ECTURE_ALPHA,..P
7870: 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 54 45 ROCESSOR_ARCHITE
7880: 43 54 55 52 45 5f 50 50 43 2c 0a 09 50 52 4f 43 CTURE_PPC,..PROC
7890: 45 53 53 4f 52 5f 41 52 43 48 49 54 45 43 54 55 ESSOR_ARCHITECTU
78a0: 52 45 5f 53 48 58 2c 0a 09 50 52 4f 43 45 53 53 RE_SHX,..PROCESS
78b0: 4f 52 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f OR_ARCHITECTURE_
78c0: 41 52 4d 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f ARM,..PROCESSOR_
78d0: 41 52 43 48 49 54 45 43 54 55 52 45 5f 49 41 36 ARCHITECTURE_IA6
78e0: 34 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 4,..PROCESSOR_AR
78f0: 43 48 49 54 45 43 54 55 52 45 5f 41 4c 50 48 41 CHITECTURE_ALPHA
7900: 36 34 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 64,..PROCESSOR_A
7910: 52 43 48 49 54 45 43 54 55 52 45 5f 4d 53 49 4c RCHITECTURE_MSIL
7920: 2c 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 ,..PROCESSOR_ARC
7930: 48 49 54 45 43 54 55 52 45 5f 41 4d 44 36 34 2c HITECTURE_AMD64,
7940: 0a 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 ..PROCESSOR_ARCH
7950: 49 54 45 43 54 55 52 45 5f 49 41 33 32 5f 4f 4e ITECTURE_IA32_ON
7960: 5f 57 49 4e 36 34 2c 20 2f 2f 20 3d 20 31 30 0a _WIN64, // = 10.
7970: 09 50 52 4f 43 45 53 53 4f 52 5f 41 52 43 48 49 .PROCESSOR_ARCHI
7980: 54 45 43 54 55 52 45 5f 55 4e 4b 4e 4f 57 4e 20 TECTURE_UNKNOWN
7990: 3d 20 30 78 46 46 46 46 0a 7d 0a 0a 2f 2f 20 49 = 0xFFFF.}..// I
79a0: 73 50 72 6f 63 65 73 73 6f 72 46 65 61 74 75 72 sProcessorFeatur
79b0: 65 50 72 65 73 65 6e 74 28 29 0a 65 6e 75 6d 20 ePresent().enum
79c0: 3a 20 44 57 4f 52 44 20 7b 0a 09 50 46 5f 46 4c : DWORD {..PF_FL
79d0: 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 5f 50 52 45 OATING_POINT_PRE
79e0: 43 49 53 49 4f 4e 5f 45 52 52 41 54 41 2c 0a 09 CISION_ERRATA,..
79f0: 50 46 5f 46 4c 4f 41 54 49 4e 47 5f 50 4f 49 4e PF_FLOATING_POIN
7a00: 54 5f 45 4d 55 4c 41 54 45 44 2c 0a 09 50 46 5f T_EMULATED,..PF_
7a10: 43 4f 4d 50 41 52 45 5f 45 58 43 48 41 4e 47 45 COMPARE_EXCHANGE
7a20: 5f 44 4f 55 42 4c 45 2c 0a 09 50 46 5f 4d 4d 58 _DOUBLE,..PF_MMX
7a30: 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41 56 _INSTRUCTIONS_AV
7a40: 41 49 4c 41 42 4c 45 2c 0a 09 50 46 5f 50 50 43 AILABLE,..PF_PPC
7a50: 5f 4d 4f 56 45 4d 45 4d 5f 36 34 42 49 54 5f 4f _MOVEMEM_64BIT_O
7a60: 4b 2c 0a 09 50 46 5f 41 4c 50 48 41 5f 42 59 54 K,..PF_ALPHA_BYT
7a70: 45 5f 49 4e 53 54 52 55 43 54 49 4f 4e 53 2c 0a E_INSTRUCTIONS,.
7a80: 09 50 46 5f 58 4d 4d 49 5f 49 4e 53 54 52 55 43 .PF_XMMI_INSTRUC
7a90: 54 49 4f 4e 53 5f 41 56 41 49 4c 41 42 4c 45 2c TIONS_AVAILABLE,
7aa0: 0a 09 50 46 5f 33 44 4e 4f 57 5f 49 4e 53 54 52 ..PF_3DNOW_INSTR
7ab0: 55 43 54 49 4f 4e 53 5f 41 56 41 49 4c 41 42 4c UCTIONS_AVAILABL
7ac0: 45 2c 0a 09 50 46 5f 52 44 54 53 43 5f 49 4e 53 E,..PF_RDTSC_INS
7ad0: 54 52 55 43 54 49 4f 4e 5f 41 56 41 49 4c 41 42 TRUCTION_AVAILAB
7ae0: 4c 45 2c 0a 09 50 46 5f 50 41 45 5f 45 4e 41 42 LE,..PF_PAE_ENAB
7af0: 4c 45 44 2c 0a 09 50 46 5f 58 4d 4d 49 36 34 5f LED,..PF_XMMI64_
7b00: 49 4e 53 54 52 55 43 54 49 4f 4e 53 5f 41 56 41 INSTRUCTIONS_AVA
7b10: 49 4c 41 42 4c 45 0a 7d 0a 0a 2f 2f 20 4d 69 6e ILABLE.}..// Min
7b20: 47 57 3a 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f GW: also in ddk/
7b30: 6e 74 69 66 73 2e 68 0a 65 6e 75 6d 20 3a 20 44 ntifs.h.enum : D
7b40: 57 4f 52 44 20 7b 0a 09 46 49 4c 45 5f 41 43 54 WORD {..FILE_ACT
7b50: 49 4f 4e 5f 41 44 44 45 44 20 3d 20 31 2c 0a 09 ION_ADDED = 1,..
7b60: 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45 4d 4f FILE_ACTION_REMO
7b70: 56 45 44 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f VED,..FILE_ACTIO
7b80: 4e 5f 4d 4f 44 49 46 49 45 44 2c 0a 09 46 49 4c N_MODIFIED,..FIL
7b90: 45 5f 41 43 54 49 4f 4e 5f 52 45 4e 41 4d 45 44 E_ACTION_RENAMED
7ba0: 5f 4f 4c 44 5f 4e 41 4d 45 2c 0a 09 46 49 4c 45 _OLD_NAME,..FILE
7bb0: 5f 41 43 54 49 4f 4e 5f 52 45 4e 41 4d 45 44 5f _ACTION_RENAMED_
7bc0: 4e 45 57 5f 4e 41 4d 45 2c 0a 09 46 49 4c 45 5f NEW_NAME,..FILE_
7bd0: 41 43 54 49 4f 4e 5f 41 44 44 45 44 5f 53 54 52 ACTION_ADDED_STR
7be0: 45 41 4d 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f EAM,..FILE_ACTIO
7bf0: 4e 5f 52 45 4d 4f 56 45 44 5f 53 54 52 45 41 4d N_REMOVED_STREAM
7c00: 2c 0a 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 4d ,..FILE_ACTION_M
7c10: 4f 44 49 46 49 45 44 5f 53 54 52 45 41 4d 2c 0a ODIFIED_STREAM,.
7c20: 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 52 45 4d .FILE_ACTION_REM
7c30: 4f 56 45 44 5f 42 59 5f 44 45 4c 45 54 45 2c 0a OVED_BY_DELETE,.
7c40: 09 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 49 44 5f .FILE_ACTION_ID_
7c50: 4e 4f 54 5f 54 55 4e 4e 45 4c 4c 45 44 2c 0a 09 NOT_TUNNELLED,..
7c60: 46 49 4c 45 5f 41 43 54 49 4f 4e 5f 54 55 4e 4e FILE_ACTION_TUNN
7c70: 45 4c 4c 45 44 5f 49 44 5f 43 4f 4c 4c 49 53 49 ELLED_ID_COLLISI
7c80: 4f 4e 20 2f 2f 20 3d 20 31 31 0a 7d 0a 2f 2f 20 ON // = 11.}.//
7c90: 4d 69 6e 47 57 3a 20 65 6e 64 20 6e 74 69 66 73 MinGW: end ntifs
7ca0: 2e 68 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a .h..const DWORD.
7cb0: 09 48 45 41 50 5f 4e 4f 5f 53 45 52 49 41 4c 49 .HEAP_NO_SERIALI
7cc0: 5a 45 20 20 20 20 20 20 20 20 20 20 20 20 20 3d ZE =
7cd0: 20 30 78 30 31 2c 0a 09 48 45 41 50 5f 47 52 4f 0x01,..HEAP_GRO
7ce0: 57 41 42 4c 45 20 20 20 20 20 20 20 20 20 20 20 WABLE
7cf0: 20 20 20 20 20 20 3d 20 30 78 30 32 2c 0a 09 48 = 0x02,..H
7d00: 45 41 50 5f 47 45 4e 45 52 41 54 45 5f 45 58 43 EAP_GENERATE_EXC
7d10: 45 50 54 49 4f 4e 53 20 20 20 20 20 20 3d 20 30 EPTIONS = 0
7d20: 78 30 34 2c 0a 09 48 45 41 50 5f 5a 45 52 4f 5f x04,..HEAP_ZERO_
7d30: 4d 45 4d 4f 52 59 20 20 20 20 20 20 20 20 20 20 MEMORY
7d40: 20 20 20 20 3d 20 30 78 30 38 2c 0a 09 48 45 41 = 0x08,..HEA
7d50: 50 5f 52 45 41 4c 4c 4f 43 5f 49 4e 5f 50 4c 41 P_REALLOC_IN_PLA
7d60: 43 45 5f 4f 4e 4c 59 20 20 20 20 3d 20 30 78 31 CE_ONLY = 0x1
7d70: 30 2c 0a 09 48 45 41 50 5f 54 41 49 4c 5f 43 48 0,..HEAP_TAIL_CH
7d80: 45 43 4b 49 4e 47 5f 45 4e 41 42 4c 45 44 20 20 ECKING_ENABLED
7d90: 20 20 3d 20 30 78 32 30 2c 0a 09 48 45 41 50 5f = 0x20,..HEAP_
7da0: 46 52 45 45 5f 43 48 45 43 4b 49 4e 47 5f 45 4e FREE_CHECKING_EN
7db0: 41 42 4c 45 44 20 20 20 20 3d 20 30 78 34 30 2c ABLED = 0x40,
7dc0: 0a 09 48 45 41 50 5f 44 49 53 41 42 4c 45 5f 43 ..HEAP_DISABLE_C
7dd0: 4f 41 4c 45 53 43 45 5f 4f 4e 5f 46 52 45 45 20 OALESCE_ON_FREE
7de0: 3d 20 30 78 38 30 3b 0a 0a 2f 2f 20 54 68 65 73 = 0x80;..// Thes
7df0: 65 20 61 72 65 20 6e 6f 74 20 64 6f 63 75 6d 65 e are not docume
7e00: 6e 74 65 64 20 6f 6e 20 4d 53 44 4e 0a 63 6f 6e nted on MSDN.con
7e10: 73 74 20 48 45 41 50 5f 43 52 45 41 54 45 5f 41 st HEAP_CREATE_A
7e20: 4c 49 47 4e 5f 31 36 20 20 20 20 20 20 20 3d 20 LIGN_16 =
7e30: 30 3b 0a 63 6f 6e 73 74 20 48 45 41 50 5f 43 52 0;.const HEAP_CR
7e40: 45 41 54 45 5f 45 4e 41 42 4c 45 5f 54 52 41 43 EATE_ENABLE_TRAC
7e50: 49 4e 47 20 3d 20 30 78 30 32 30 30 30 30 3b 0a ING = 0x020000;.
7e60: 63 6f 6e 73 74 20 48 45 41 50 5f 4d 41 58 49 4d const HEAP_MAXIM
7e70: 55 4d 5f 54 41 47 20 20 20 20 20 20 20 20 20 20 UM_TAG
7e80: 20 3d 20 30 78 30 30 30 46 46 46 3b 0a 63 6f 6e = 0x000FFF;.con
7e90: 73 74 20 48 45 41 50 5f 50 53 45 55 44 4f 5f 54 st HEAP_PSEUDO_T
7ea0: 41 47 5f 46 4c 41 47 20 20 20 20 20 20 20 3d 20 AG_FLAG =
7eb0: 30 78 30 30 38 30 30 30 3b 0a 63 6f 6e 73 74 20 0x008000;.const
7ec0: 48 45 41 50 5f 54 41 47 5f 53 48 49 46 54 20 20 HEAP_TAG_SHIFT
7ed0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 36 3b = 16;
7ee0: 0a 2f 2f 20 3f 3f 3f 0a 2f 2f 4d 41 43 52 4f 20 .// ???.//MACRO
7ef0: 23 64 65 66 69 6e 65 20 48 45 41 50 5f 4d 41 4b #define HEAP_MAK
7f00: 45 5f 54 41 47 5f 46 4c 41 47 53 28 62 2c 6f 29 E_TAG_FLAGS(b,o)
7f10: 20 28 28 44 57 4f 52 44 29 28 28 62 29 2b 28 6f ((DWORD)((b)+(o
7f20: 29 3c 3c 31 36 29 29 29 0a 0a 63 6f 6e 73 74 20 )<<16)))..const
7f30: 41 43 43 45 53 53 5f 4d 41 53 4b 0a 09 4b 45 59 ACCESS_MASK..KEY
7f40: 5f 51 55 45 52 59 5f 56 41 4c 55 45 20 20 20 20 _QUERY_VALUE
7f50: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 2c 0a = 0x000001,.
7f60: 09 4b 45 59 5f 53 45 54 5f 56 41 4c 55 45 20 20 .KEY_SET_VALUE
7f70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
7f80: 30 32 2c 0a 09 4b 45 59 5f 43 52 45 41 54 45 5f 02,..KEY_CREATE_
7f90: 53 55 42 5f 4b 45 59 20 20 20 20 20 3d 20 30 78 SUB_KEY = 0x
7fa0: 30 30 30 30 30 34 2c 0a 09 4b 45 59 5f 45 4e 55 000004,..KEY_ENU
7fb0: 4d 45 52 41 54 45 5f 53 55 42 5f 4b 45 59 53 20 MERATE_SUB_KEYS
7fc0: 3d 20 30 78 30 30 30 30 30 38 2c 0a 09 4b 45 59 = 0x000008,..KEY
7fd0: 5f 4e 4f 54 49 46 59 20 20 20 20 20 20 20 20 20 _NOTIFY
7fe0: 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 2c 0a = 0x000010,.
7ff0: 09 4b 45 59 5f 43 52 45 41 54 45 5f 4c 49 4e 4b .KEY_CREATE_LINK
8000: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
8010: 32 30 2c 0a 09 4b 45 59 5f 57 52 49 54 45 20 20 20,..KEY_WRITE
8020: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
8030: 30 32 30 30 30 36 2c 0a 09 4b 45 59 5f 45 58 45 020006,..KEY_EXE
8040: 43 55 54 45 20 20 20 20 20 20 20 20 20 20 20 20 CUTE
8050: 3d 20 30 78 30 32 30 30 31 39 2c 0a 09 4b 45 59 = 0x020019,..KEY
8060: 5f 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20 _READ
8070: 20 20 20 20 3d 20 30 78 30 32 30 30 31 39 2c 0a = 0x020019,.
8080: 09 4b 45 59 5f 41 4c 4c 5f 41 43 43 45 53 53 20 .KEY_ALL_ACCESS
8090: 20 20 20 20 20 20 20 20 3d 20 30 78 30 46 30 30 = 0x0F00
80a0: 33 46 3b 0a 0a 73 74 61 74 69 63 20 69 66 20 28 3F;..static if (
80b0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 35 30 32 29 WINVER >= 0x502)
80c0: 20 7b 0a 09 63 6f 6e 73 74 20 41 43 43 45 53 53 {..const ACCESS
80d0: 5f 4d 41 53 4b 0a 09 09 4b 45 59 5f 57 4f 57 36 _MASK...KEY_WOW6
80e0: 34 5f 36 34 4b 45 59 20 20 20 20 3d 20 30 78 30 4_64KEY = 0x0
80f0: 30 30 31 30 30 2c 0a 09 09 4b 45 59 5f 57 4f 57 00100,...KEY_WOW
8100: 36 34 5f 33 32 4b 45 59 20 20 20 20 3d 20 30 78 64_32KEY = 0x
8110: 30 30 30 32 30 30 3b 0a 7d 0a 0a 63 6f 6e 73 74 000200;.}..const
8120: 20 44 57 4f 52 44 0a 09 52 45 47 5f 57 48 4f 4c DWORD..REG_WHOL
8130: 45 5f 48 49 56 45 5f 56 4f 4c 41 54 49 4c 45 20 E_HIVE_VOLATILE
8140: 3d 20 31 2c 0a 09 52 45 47 5f 52 45 46 52 45 53 = 1,..REG_REFRES
8150: 48 5f 48 49 56 45 20 20 20 20 20 20 20 20 3d 20 H_HIVE =
8160: 32 2c 0a 09 52 45 47 5f 4e 4f 5f 4c 41 5a 59 5f 2,..REG_NO_LAZY_
8170: 46 4c 55 53 48 20 20 20 20 20 20 20 3d 20 34 3b FLUSH = 4;
8180: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 52 ..const DWORD..R
8190: 45 47 5f 4f 50 54 49 4f 4e 5f 52 45 53 45 52 56 EG_OPTION_RESERV
81a0: 45 44 20 20 20 20 20 20 20 3d 20 20 30 2c 0a 09 ED = 0,..
81b0: 52 45 47 5f 4f 50 54 49 4f 4e 5f 4e 4f 4e 5f 56 REG_OPTION_NON_V
81c0: 4f 4c 41 54 49 4c 45 20 20 20 3d 20 20 30 2c 0a OLATILE = 0,.
81d0: 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 56 4f 4c 41 .REG_OPTION_VOLA
81e0: 54 49 4c 45 20 20 20 20 20 20 20 3d 20 20 31 2c TILE = 1,
81f0: 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 43 52 45 ..REG_OPTION_CRE
8200: 41 54 45 5f 4c 49 4e 4b 20 20 20 20 3d 20 20 32 ATE_LINK = 2
8210: 2c 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 42 41 ,..REG_OPTION_BA
8220: 43 4b 55 50 5f 52 45 53 54 4f 52 45 20 3d 20 20 CKUP_RESTORE =
8230: 34 2c 0a 09 52 45 47 5f 4f 50 54 49 4f 4e 5f 4f 4,..REG_OPTION_O
8240: 50 45 4e 5f 4c 49 4e 4b 20 20 20 20 20 20 3d 20 PEN_LINK =
8250: 20 38 2c 0a 09 52 45 47 5f 4c 45 47 41 4c 5f 4f 8,..REG_LEGAL_O
8260: 50 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 3d PTION =
8270: 20 31 35 3b 0a 0a 63 6f 6e 73 74 20 53 45 43 55 15;..const SECU
8280: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e RITY_INFORMATION
8290: 0a 09 4f 57 4e 45 52 5f 53 45 43 55 52 49 54 59 ..OWNER_SECURITY
82a0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20 20 _INFORMATION
82b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
82c0: 30 30 30 31 2c 0a 09 47 52 4f 55 50 5f 53 45 43 0001,..GROUP_SEC
82d0: 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f URITY_INFORMATIO
82e0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 N = 0
82f0: 78 30 30 30 30 30 30 30 32 2c 0a 09 44 41 43 4c x00000002,..DACL
8300: 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d _SECURITY_INFORM
8310: 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 ATION
8320: 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a = 0x00000004,.
8330: 09 53 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 .SACL_SECURITY_I
8340: 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20 20 20 20 NFORMATION
8350: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
8360: 30 30 38 2c 0a 09 4c 41 42 45 4c 5f 53 45 43 55 008,..LABEL_SECU
8370: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e RITY_INFORMATION
8380: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
8390: 30 30 30 30 30 30 31 30 2c 0a 09 55 4e 50 52 4f 00000010,..UNPRO
83a0: 54 45 43 54 45 44 5f 53 41 43 4c 5f 53 45 43 55 TECTED_SACL_SECU
83b0: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e RITY_INFORMATION
83c0: 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 = 0x10000000,..
83d0: 55 4e 50 52 4f 54 45 43 54 45 44 5f 44 41 43 4c UNPROTECTED_DACL
83e0: 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d _SECURITY_INFORM
83f0: 41 54 49 4f 4e 20 3d 20 30 78 32 30 30 30 30 30 ATION = 0x200000
8400: 30 30 2c 0a 09 50 52 4f 54 45 43 54 45 44 5f 53 00,..PROTECTED_S
8410: 41 43 4c 5f 53 45 43 55 52 49 54 59 5f 49 4e 46 ACL_SECURITY_INF
8420: 4f 52 4d 41 54 49 4f 4e 20 20 20 3d 20 30 78 34 ORMATION = 0x4
8430: 30 30 30 30 30 30 30 2c 0a 09 50 52 4f 54 45 43 0000000,..PROTEC
8440: 54 45 44 5f 44 41 43 4c 5f 53 45 43 55 52 49 54 TED_DACL_SECURIT
8450: 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 20 Y_INFORMATION
8460: 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0a 0a 63 = 0x80000000;..c
8470: 6f 6e 73 74 20 44 57 4f 52 44 20 4d 41 58 49 4d onst DWORD MAXIM
8480: 55 4d 5f 50 52 4f 43 45 53 53 4f 52 53 20 3d 20 UM_PROCESSORS =
8490: 33 32 3b 0a 0a 2f 2f 20 56 69 72 74 75 61 6c 41 32;..// VirtualA
84a0: 6c 6c 6f 63 28 29 2c 20 65 74 63 0a 2f 2f 20 2d lloc(), etc.// -
84b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
84c0: 2d 2d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 --..enum : DWORD
84d0: 20 7b 0a 09 50 41 47 45 5f 4e 4f 41 43 43 45 53 {..PAGE_NOACCES
84e0: 53 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 S = 0x0
84f0: 30 30 31 2c 0a 09 50 41 47 45 5f 52 45 41 44 4f 001,..PAGE_READO
8500: 4e 4c 59 20 20 20 20 20 20 20 20 20 20 3d 20 30 NLY = 0
8510: 78 30 30 30 32 2c 0a 09 50 41 47 45 5f 52 45 41 x0002,..PAGE_REA
8520: 44 57 52 49 54 45 20 20 20 20 20 20 20 20 20 3d DWRITE =
8530: 20 30 78 30 30 30 34 2c 0a 09 50 41 47 45 5f 57 0x0004,..PAGE_W
8540: 52 49 54 45 43 4f 50 59 20 20 20 20 20 20 20 20 RITECOPY
8550: 20 3d 20 30 78 30 30 30 38 2c 0a 09 50 41 47 45 = 0x0008,..PAGE
8560: 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20 20 _EXECUTE
8570: 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 50 41 = 0x0010,..PA
8580: 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41 44 20 GE_EXECUTE_READ
8590: 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 = 0x0020,..
85a0: 50 41 47 45 5f 45 58 45 43 55 54 45 5f 52 45 41 PAGE_EXECUTE_REA
85b0: 44 57 52 49 54 45 20 3d 20 30 78 30 30 34 30 2c DWRITE = 0x0040,
85c0: 0a 09 50 41 47 45 5f 45 58 45 43 55 54 45 5f 57 ..PAGE_EXECUTE_W
85d0: 52 49 54 45 43 4f 50 59 20 3d 20 30 78 30 30 38 RITECOPY = 0x008
85e0: 30 2c 0a 09 50 41 47 45 5f 47 55 41 52 44 20 20 0,..PAGE_GUARD
85f0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
8600: 31 30 30 2c 0a 09 50 41 47 45 5f 4e 4f 43 41 43 100,..PAGE_NOCAC
8610: 48 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 HE = 0
8620: 78 30 32 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 x0200.}..enum :
8630: 44 57 4f 52 44 20 7b 0a 09 4d 45 4d 5f 43 4f 4d DWORD {..MEM_COM
8640: 4d 49 54 20 20 20 20 20 20 3d 20 30 78 30 30 30 MIT = 0x000
8650: 30 31 30 30 30 2c 0a 09 4d 45 4d 5f 52 45 53 45 01000,..MEM_RESE
8660: 52 56 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 RVE = 0x0000
8670: 32 30 30 30 2c 0a 09 4d 45 4d 5f 44 45 43 4f 4d 2000,..MEM_DECOM
8680: 4d 49 54 20 20 20 20 3d 20 30 78 30 30 30 30 34 MIT = 0x00004
8690: 30 30 30 2c 0a 09 4d 45 4d 5f 52 45 4c 45 41 53 000,..MEM_RELEAS
86a0: 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 E = 0x000080
86b0: 30 30 2c 0a 09 4d 45 4d 5f 46 52 45 45 20 20 20 00,..MEM_FREE
86c0: 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30 = 0x0001000
86d0: 30 2c 0a 09 4d 45 4d 5f 50 52 49 56 41 54 45 20 0,..MEM_PRIVATE
86e0: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 = 0x00020000
86f0: 2c 0a 09 4d 45 4d 5f 4d 41 50 50 45 44 20 20 20 ,..MEM_MAPPED
8700: 20 20 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c = 0x00040000,
8710: 0a 09 4d 45 4d 5f 52 45 53 45 54 20 20 20 20 20 ..MEM_RESET
8720: 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a = 0x00080000,.
8730: 09 4d 45 4d 5f 54 4f 50 5f 44 4f 57 4e 20 20 20 .MEM_TOP_DOWN
8740: 20 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 = 0x00100000,..
8750: 4d 45 4d 5f 57 52 49 54 45 5f 57 41 54 43 48 20 MEM_WRITE_WATCH
8760: 3d 20 30 78 30 30 32 30 30 30 30 30 2c 20 2f 2f = 0x00200000, //
8770: 20 4d 69 6e 47 57 20 28 3f 3f 3f 29 3a 20 39 38 MinGW (???): 98
8780: 2f 4d 65 0a 09 4d 45 4d 5f 50 48 59 53 49 43 41 /Me..MEM_PHYSICA
8790: 4c 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 30 L = 0x0040000
87a0: 30 2c 0a 09 4d 45 4d 5f 34 4d 42 5f 50 41 47 45 0,..MEM_4MB_PAGE
87b0: 53 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 S = 0x80000000
87c0: 0a 7d 0a 0a 2f 2f 20 4d 69 6e 47 57 3a 20 61 6c .}..// MinGW: al
87d0: 73 6f 20 69 6e 20 64 64 6b 2f 6e 74 69 66 73 2e so in ddk/ntifs.
87e0: 68 0a 2f 2f 20 43 72 65 61 74 65 46 69 6c 65 4d h.// CreateFileM
87f0: 61 70 70 69 6e 67 28 29 0a 63 6f 6e 73 74 20 44 apping().const D
8800: 57 4f 52 44 0a 09 53 45 43 5f 42 41 53 45 44 20 WORD..SEC_BASED
8810: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 = 0x00200000
8820: 2c 0a 09 53 45 43 5f 4e 4f 5f 43 48 41 4e 47 45 ,..SEC_NO_CHANGE
8830: 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a 09 = 0x00400000,..
8840: 53 45 43 5f 46 49 4c 45 20 20 20 20 20 20 3d 20 SEC_FILE =
8850: 30 78 30 30 38 30 30 30 30 30 2c 0a 09 53 45 43 0x00800000,..SEC
8860: 5f 49 4d 41 47 45 20 20 20 20 20 3d 20 30 78 30 _IMAGE = 0x0
8870: 31 30 30 30 30 30 30 2c 0a 09 53 45 43 5f 56 4c 1000000,..SEC_VL
8880: 4d 20 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 M = 0x0200
8890: 30 30 30 30 2c 0a 09 53 45 43 5f 52 45 53 45 52 0000,..SEC_RESER
88a0: 56 45 20 20 20 3d 20 30 78 30 34 30 30 30 30 30 VE = 0x0400000
88b0: 30 2c 0a 09 53 45 43 5f 43 4f 4d 4d 49 54 20 20 0,..SEC_COMMIT
88c0: 20 20 3d 20 30 78 30 38 30 30 30 30 30 30 2c 0a = 0x08000000,.
88d0: 09 53 45 43 5f 4e 4f 43 41 43 48 45 20 20 20 3d .SEC_NOCACHE =
88e0: 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 4d 45 0x10000000,..ME
88f0: 4d 5f 49 4d 41 47 45 20 20 20 20 20 3d 20 53 45 M_IMAGE = SE
8900: 43 5f 49 4d 41 47 45 3b 0a 2f 2f 20 4d 69 6e 47 C_IMAGE;.// MinG
8910: 57 3a 20 65 6e 64 20 6e 74 69 66 73 2e 68 0a 0a W: end ntifs.h..
8920: 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 41 43 43 // ???.const ACC
8930: 45 53 53 5f 4d 41 53 4b 0a 09 53 45 43 54 49 4f ESS_MASK..SECTIO
8940: 4e 5f 51 55 45 52 59 20 20 20 20 20 20 20 3d 20 N_QUERY =
8950: 30 78 30 30 30 30 30 31 2c 0a 09 53 45 43 54 49 0x000001,..SECTI
8960: 4f 4e 5f 4d 41 50 5f 57 52 49 54 45 20 20 20 3d ON_MAP_WRITE =
8970: 20 30 78 30 30 30 30 30 32 2c 0a 09 53 45 43 54 0x000002,..SECT
8980: 49 4f 4e 5f 4d 41 50 5f 52 45 41 44 20 20 20 20 ION_MAP_READ
8990: 3d 20 30 78 30 30 30 30 30 34 2c 0a 09 53 45 43 = 0x000004,..SEC
89a0: 54 49 4f 4e 5f 4d 41 50 5f 45 58 45 43 55 54 45 TION_MAP_EXECUTE
89b0: 20 3d 20 30 78 30 30 30 30 30 38 2c 0a 09 53 45 = 0x000008,..SE
89c0: 43 54 49 4f 4e 5f 45 58 54 45 4e 44 5f 53 49 5a CTION_EXTEND_SIZ
89d0: 45 20 3d 20 30 78 30 30 30 30 31 30 2c 0a 09 53 E = 0x000010,..S
89e0: 45 43 54 49 4f 4e 5f 41 4c 4c 5f 41 43 43 45 53 ECTION_ALL_ACCES
89f0: 53 20 20 3d 20 30 78 30 46 30 30 31 46 3b 0a 0a S = 0x0F001F;..
8a00: 2f 2f 20 54 68 65 73 65 20 61 72 65 20 6e 6f 74 // These are not
8a10: 20 64 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d documented on M
8a20: 53 44 4e 0a 63 6f 6e 73 74 20 4d 45 53 53 41 47 SDN.const MESSAG
8a30: 45 5f 52 45 53 4f 55 52 43 45 5f 55 4e 49 43 4f E_RESOURCE_UNICO
8a40: 44 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 52 54 DE = 1;.const RT
8a50: 4c 5f 43 52 49 54 53 45 43 54 5f 54 59 50 45 20 L_CRITSECT_TYPE
8a60: 20 20 20 20 20 20 20 3d 20 30 3b 0a 63 6f 6e 73 = 0;.cons
8a70: 74 20 52 54 4c 5f 52 45 53 4f 55 52 43 45 5f 54 t RTL_RESOURCE_T
8a80: 59 50 45 20 20 20 20 20 20 20 20 3d 20 31 3b 0a YPE = 1;.
8a90: 0a 2f 2f 20 43 4f 46 46 20 66 69 6c 65 20 66 6f .// COFF file fo
8aa0: 72 6d 61 74 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d rmat.// --------
8ab0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f 20 49 4d 41 --------..// IMA
8ac0: 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 2e 43 GE_FILE_HEADER.C
8ad0: 68 61 72 61 63 74 65 72 69 73 74 69 63 73 0a 63 haracteristics.c
8ae0: 6f 6e 73 74 20 57 4f 52 44 0a 09 49 4d 41 47 45 onst WORD..IMAGE
8af0: 5f 46 49 4c 45 5f 52 45 4c 4f 43 53 5f 53 54 52 _FILE_RELOCS_STR
8b00: 49 50 50 45 44 20 20 20 20 20 20 20 20 20 3d 20 IPPED =
8b10: 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45 5f 46 0x0001,..IMAGE_F
8b20: 49 4c 45 5f 45 58 45 43 55 54 41 42 4c 45 5f 49 ILE_EXECUTABLE_I
8b30: 4d 41 47 45 20 20 20 20 20 20 20 20 3d 20 30 78 MAGE = 0x
8b40: 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 0002,..IMAGE_FIL
8b50: 45 5f 4c 49 4e 45 5f 4e 55 4d 53 5f 53 54 52 49 E_LINE_NUMS_STRI
8b60: 50 50 45 44 20 20 20 20 20 20 3d 20 30 78 30 30 PPED = 0x00
8b70: 30 34 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 04,..IMAGE_FILE_
8b80: 4c 4f 43 41 4c 5f 53 59 4d 53 5f 53 54 52 49 50 LOCAL_SYMS_STRIP
8b90: 50 45 44 20 20 20 20 20 3d 20 30 78 30 30 30 38 PED = 0x0008
8ba0: 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 41 47 ,..IMAGE_FILE_AG
8bb0: 47 52 45 53 49 56 45 5f 57 53 5f 54 52 49 4d 20 GRESIVE_WS_TRIM
8bc0: 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 2c 0a = 0x0010,.
8bd0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4c 41 52 47 .IMAGE_FILE_LARG
8be0: 45 5f 41 44 44 52 45 53 53 5f 41 57 41 52 45 20 E_ADDRESS_AWARE
8bf0: 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 49 = 0x0020,..I
8c00: 4d 41 47 45 5f 46 49 4c 45 5f 42 59 54 45 53 5f MAGE_FILE_BYTES_
8c10: 52 45 56 45 52 53 45 44 5f 4c 4f 20 20 20 20 20 REVERSED_LO
8c20: 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 49 4d 41 = 0x0080,..IMA
8c30: 47 45 5f 46 49 4c 45 5f 33 32 42 49 54 5f 4d 41 GE_FILE_32BIT_MA
8c40: 43 48 49 4e 45 20 20 20 20 20 20 20 20 20 20 20 CHINE
8c50: 3d 20 30 78 30 31 30 30 2c 0a 09 49 4d 41 47 45 = 0x0100,..IMAGE
8c60: 5f 46 49 4c 45 5f 44 45 42 55 47 5f 53 54 52 49 _FILE_DEBUG_STRI
8c70: 50 50 45 44 20 20 20 20 20 20 20 20 20 20 3d 20 PPED =
8c80: 30 78 30 32 30 30 2c 0a 09 49 4d 41 47 45 5f 46 0x0200,..IMAGE_F
8c90: 49 4c 45 5f 52 45 4d 4f 56 41 42 4c 45 5f 52 55 ILE_REMOVABLE_RU
8ca0: 4e 5f 46 52 4f 4d 5f 53 57 41 50 20 3d 20 30 78 N_FROM_SWAP = 0x
8cb0: 30 34 30 30 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 0400,..IMAGE_FIL
8cc0: 45 5f 4e 45 54 5f 52 55 4e 5f 46 52 4f 4d 5f 53 E_NET_RUN_FROM_S
8cd0: 57 41 50 20 20 20 20 20 20 20 3d 20 30 78 30 38 WAP = 0x08
8ce0: 30 30 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 00,..IMAGE_FILE_
8cf0: 53 59 53 54 45 4d 20 20 20 20 20 20 20 20 20 20 SYSTEM
8d00: 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 30 = 0x1000
8d10: 2c 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 44 4c ,..IMAGE_FILE_DL
8d20: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 L
8d30: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a = 0x2000,.
8d40: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 55 50 5f 53 .IMAGE_FILE_UP_S
8d50: 59 53 54 45 4d 5f 4f 4e 4c 59 20 20 20 20 20 20 YSTEM_ONLY
8d60: 20 20 20 20 3d 20 30 78 34 30 30 30 2c 0a 09 49 = 0x4000,..I
8d70: 4d 41 47 45 5f 46 49 4c 45 5f 42 59 54 45 53 5f MAGE_FILE_BYTES_
8d80: 52 45 56 45 52 53 45 44 5f 48 49 20 20 20 20 20 REVERSED_HI
8d90: 20 20 3d 20 30 78 38 30 30 30 3b 0a 0a 2f 2f 20 = 0x8000;..//
8da0: 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 IMAGE_FILE_HEADE
8db0: 52 2e 4d 61 63 68 69 6e 65 0a 65 6e 75 6d 20 3a R.Machine.enum :
8dc0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 46 WORD {..IMAGE_F
8dd0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 55 4e 4b 4e ILE_MACHINE_UNKN
8de0: 4f 57 4e 20 20 20 3d 20 30 78 30 30 30 30 2c 0a OWN = 0x0000,.
8df0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8e00: 49 4e 45 5f 49 33 38 36 20 20 20 20 20 20 3d 20 INE_I386 =
8e10: 30 78 30 31 34 43 2c 0a 09 49 4d 41 47 45 5f 46 0x014C,..IMAGE_F
8e20: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 52 33 30 30 ILE_MACHINE_R300
8e30: 30 20 20 20 20 20 3d 20 30 78 30 31 36 32 2c 0a 0 = 0x0162,.
8e40: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8e50: 49 4e 45 5f 52 34 30 30 30 20 20 20 20 20 3d 20 INE_R4000 =
8e60: 30 78 30 31 36 36 2c 0a 09 49 4d 41 47 45 5f 46 0x0166,..IMAGE_F
8e70: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 52 31 30 30 ILE_MACHINE_R100
8e80: 30 30 20 20 20 20 3d 20 30 78 30 31 36 38 2c 0a 00 = 0x0168,.
8e90: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8ea0: 49 4e 45 5f 57 43 45 4d 49 50 53 56 32 20 3d 20 INE_WCEMIPSV2 =
8eb0: 30 78 30 31 36 39 2c 0a 09 49 4d 41 47 45 5f 46 0x0169,..IMAGE_F
8ec0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 41 4c 50 48 ILE_MACHINE_ALPH
8ed0: 41 20 20 20 20 20 3d 20 30 78 30 31 38 34 2c 0a A = 0x0184,.
8ee0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8ef0: 49 4e 45 5f 53 48 33 20 20 20 20 20 20 20 3d 20 INE_SH3 =
8f00: 30 78 30 31 41 32 2c 0a 09 49 4d 41 47 45 5f 46 0x01A2,..IMAGE_F
8f10: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 33 44 ILE_MACHINE_SH3D
8f20: 53 50 20 20 20 20 3d 20 30 78 30 31 41 33 2c 0a SP = 0x01A3,.
8f30: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8f40: 49 4e 45 5f 53 48 34 20 20 20 20 20 20 20 3d 20 INE_SH4 =
8f50: 30 78 30 31 41 36 2c 0a 09 49 4d 41 47 45 5f 46 0x01A6,..IMAGE_F
8f60: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 53 48 35 20 ILE_MACHINE_SH5
8f70: 20 20 20 20 20 20 3d 20 30 78 30 31 41 38 2c 0a = 0x01A8,.
8f80: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8f90: 49 4e 45 5f 41 52 4d 20 20 20 20 20 20 20 3d 20 INE_ARM =
8fa0: 30 78 30 31 43 30 2c 0a 09 49 4d 41 47 45 5f 46 0x01C0,..IMAGE_F
8fb0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 54 48 55 4d ILE_MACHINE_THUM
8fc0: 42 20 20 20 20 20 3d 20 30 78 30 31 43 32 2c 0a B = 0x01C2,.
8fd0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
8fe0: 49 4e 45 5f 41 4d 33 33 20 20 20 20 20 20 3d 20 INE_AM33 =
8ff0: 30 78 30 31 44 33 2c 0a 09 49 4d 41 47 45 5f 46 0x01D3,..IMAGE_F
9000: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 50 4f 57 45 ILE_MACHINE_POWE
9010: 52 50 43 20 20 20 3d 20 30 78 30 31 46 30 2c 0a RPC = 0x01F0,.
9020: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
9030: 49 4e 45 5f 50 4f 57 45 52 50 43 46 50 20 3d 20 INE_POWERPCFP =
9040: 30 78 30 31 46 31 2c 0a 09 49 4d 41 47 45 5f 46 0x01F1,..IMAGE_F
9050: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 49 41 36 34 ILE_MACHINE_IA64
9060: 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a = 0x0200,.
9070: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
9080: 49 4e 45 5f 4d 49 50 53 31 36 20 20 20 20 3d 20 INE_MIPS16 =
9090: 30 78 30 32 36 36 2c 0a 09 49 4d 41 47 45 5f 46 0x0266,..IMAGE_F
90a0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d 49 50 53 ILE_MACHINE_MIPS
90b0: 46 50 55 20 20 20 3d 20 30 78 30 33 36 36 2c 0a FPU = 0x0366,.
90c0: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
90d0: 49 4e 45 5f 4d 49 50 53 46 50 55 31 36 20 3d 20 INE_MIPSFPU16 =
90e0: 30 78 30 34 36 36 2c 0a 09 49 4d 41 47 45 5f 46 0x0466,..IMAGE_F
90f0: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 45 42 43 20 ILE_MACHINE_EBC
9100: 20 20 20 20 20 20 3d 20 30 78 30 45 42 43 2c 0a = 0x0EBC,.
9110: 09 49 4d 41 47 45 5f 46 49 4c 45 5f 4d 41 43 48 .IMAGE_FILE_MACH
9120: 49 4e 45 5f 41 4d 44 36 34 20 20 20 20 20 3d 20 INE_AMD64 =
9130: 30 78 38 36 36 34 2c 0a 09 49 4d 41 47 45 5f 46 0x8664,..IMAGE_F
9140: 49 4c 45 5f 4d 41 43 48 49 4e 45 5f 4d 33 32 52 ILE_MACHINE_M32R
9150: 20 20 20 20 20 20 3d 20 30 78 39 30 34 31 0a 7d = 0x9041.}
9160: 0a 0a 2f 2f 20 3f 3f 3f 0a 65 6e 75 6d 20 20 7b ..// ???.enum {
9170: 0a 09 49 4d 41 47 45 5f 44 4f 53 5f 53 49 47 4e ..IMAGE_DOS_SIGN
9180: 41 54 55 52 45 20 20 20 20 3d 20 30 78 35 41 34 ATURE = 0x5A4
9190: 44 2c 0a 09 49 4d 41 47 45 5f 4f 53 32 5f 53 49 D,..IMAGE_OS2_SI
91a0: 47 4e 41 54 55 52 45 20 20 20 20 3d 20 30 78 34 GNATURE = 0x4
91b0: 35 34 45 2c 0a 09 49 4d 41 47 45 5f 4f 53 32 5f 54E,..IMAGE_OS2_
91c0: 53 49 47 4e 41 54 55 52 45 5f 4c 45 20 3d 20 30 SIGNATURE_LE = 0
91d0: 78 34 35 34 43 2c 0a 09 49 4d 41 47 45 5f 56 58 x454C,..IMAGE_VX
91e0: 44 5f 53 49 47 4e 41 54 55 52 45 20 20 20 20 3d D_SIGNATURE =
91f0: 20 30 78 34 35 34 43 2c 0a 09 49 4d 41 47 45 5f 0x454C,..IMAGE_
9200: 4e 54 5f 53 49 47 4e 41 54 55 52 45 20 20 20 20 NT_SIGNATURE
9210: 20 3d 20 30 78 34 35 35 30 0a 7d 0a 0a 2f 2f 20 = 0x4550.}..//
9220: 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 IMAGE_OPTIONAL_H
9230: 45 41 44 45 52 2e 4d 61 67 69 63 0a 65 6e 75 6d EADER.Magic.enum
9240: 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 : WORD {..IMAGE
9250: 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 44 52 _NT_OPTIONAL_HDR
9260: 33 32 5f 4d 41 47 49 43 20 3d 20 30 78 30 31 30 32_MAGIC = 0x010
9270: 42 2c 0a 09 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50 B,..IMAGE_ROM_OP
9280: 54 49 4f 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43 TIONAL_HDR_MAGIC
9290: 20 20 3d 20 30 78 30 31 30 37 2c 0a 09 49 4d 41 = 0x0107,..IMA
92a0: 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 GE_NT_OPTIONAL_H
92b0: 44 52 36 34 5f 4d 41 47 49 43 20 3d 20 30 78 30 DR64_MAGIC = 0x0
92c0: 32 30 42 0a 7d 0a 0a 2f 2f 20 49 4d 41 47 45 5f 20B.}..// IMAGE_
92d0: 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 2e OPTIONAL_HEADER.
92e0: 53 75 62 73 79 73 74 65 6d 0a 65 6e 75 6d 20 3a Subsystem.enum :
92f0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 53 WORD {..IMAGE_S
9300: 55 42 53 59 53 54 45 4d 5f 55 4e 4b 4e 4f 57 4e UBSYSTEM_UNKNOWN
9310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
9320: 20 20 3d 20 20 30 2c 0a 09 49 4d 41 47 45 5f 53 = 0,..IMAGE_S
9330: 55 42 53 59 53 54 45 4d 5f 4e 41 54 49 56 45 2c UBSYSTEM_NATIVE,
9340: 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 ..IMAGE_SUBSYSTE
9350: 4d 5f 57 49 4e 44 4f 57 53 5f 47 55 49 2c 0a 09 M_WINDOWS_GUI,..
9360: 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f IMAGE_SUBSYSTEM_
9370: 57 49 4e 44 4f 57 53 5f 43 55 49 2c 20 20 20 20 WINDOWS_CUI,
9380: 20 20 20 20 20 20 2f 2f 20 3d 20 20 33 0a 09 49 // = 3..I
9390: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 4f MAGE_SUBSYSTEM_O
93a0: 53 32 5f 43 55 49 20 20 20 20 20 20 20 20 20 20 S2_CUI
93b0: 20 20 20 20 20 20 20 20 3d 20 20 35 2c 0a 09 49 = 5,..I
93c0: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 50 MAGE_SUBSYSTEM_P
93d0: 4f 53 49 58 5f 43 55 49 20 20 20 20 20 20 20 20 OSIX_CUI
93e0: 20 20 20 20 20 20 20 20 3d 20 20 37 2c 0a 09 49 = 7,..I
93f0: 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 4e MAGE_SUBSYSTEM_N
9400: 41 54 49 56 45 5f 57 49 4e 44 4f 57 53 2c 0a 09 ATIVE_WINDOWS,..
9410: 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d 5f IMAGE_SUBSYSTEM_
9420: 57 49 4e 44 4f 57 53 5f 43 45 5f 47 55 49 2c 0a WINDOWS_CE_GUI,.
9430: 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 4d .IMAGE_SUBSYSTEM
9440: 5f 45 46 49 5f 41 50 50 4c 49 43 41 54 49 4f 4e _EFI_APPLICATION
9450: 2c 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 ,..IMAGE_SUBSYST
9460: 45 4d 5f 45 46 49 5f 42 4f 4f 54 5f 53 45 52 56 EM_EFI_BOOT_SERV
9470: 49 43 45 5f 44 52 49 56 45 52 2c 0a 09 49 4d 41 ICE_DRIVER,..IMA
9480: 47 45 5f 53 55 42 53 59 53 54 45 4d 5f 45 46 49 GE_SUBSYSTEM_EFI
9490: 5f 52 55 4e 54 49 4d 45 5f 44 52 49 56 45 52 2c _RUNTIME_DRIVER,
94a0: 0a 09 49 4d 41 47 45 5f 53 55 42 53 59 53 54 45 ..IMAGE_SUBSYSTE
94b0: 4d 5f 45 46 49 5f 52 4f 4d 2c 0a 09 49 4d 41 47 M_EFI_ROM,..IMAG
94c0: 45 5f 53 55 42 53 59 53 54 45 4d 5f 58 42 4f 58 E_SUBSYSTEM_XBOX
94d0: 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,
94e0: 20 20 2f 2f 20 3d 20 31 34 0a 09 49 4d 41 47 45 // = 14..IMAGE
94f0: 5f 53 55 42 53 59 53 54 45 4d 5f 57 49 4e 44 4f _SUBSYSTEM_WINDO
9500: 57 53 5f 42 4f 4f 54 5f 41 50 50 4c 49 43 41 54 WS_BOOT_APPLICAT
9510: 49 4f 4e 20 3d 20 31 36 0a 7d 0a 0a 2f 2f 20 49 ION = 16.}..// I
9520: 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 MAGE_OPTIONAL_HE
9530: 41 44 45 52 2e 44 6c 6c 43 68 61 72 61 63 74 65 ADER.DllCharacte
9540: 72 69 73 74 69 63 73 0a 63 6f 6e 73 74 20 57 4f ristics.const WO
9550: 52 44 0a 09 49 4d 41 47 45 5f 44 4c 4c 5f 43 48 RD..IMAGE_DLL_CH
9560: 41 52 41 43 54 45 52 49 53 54 49 43 53 5f 44 59 ARACTERISTICS_DY
9570: 4e 41 4d 49 43 5f 42 41 53 45 20 20 20 20 20 20 NAMIC_BASE
9580: 20 20 20 3d 20 30 78 30 30 34 30 2c 0a 09 49 4d = 0x0040,..IM
9590: 41 47 45 5f 44 4c 4c 5f 43 48 41 52 41 43 54 45 AGE_DLL_CHARACTE
95a0: 52 49 53 54 49 43 53 5f 46 4f 52 43 45 5f 49 4e RISTICS_FORCE_IN
95b0: 54 45 47 52 49 54 59 20 20 20 20 20 20 3d 20 30 TEGRITY = 0
95c0: 78 30 30 38 30 2c 0a 09 49 4d 41 47 45 5f 44 4c x0080,..IMAGE_DL
95d0: 4c 5f 43 48 41 52 41 43 54 45 52 49 53 54 49 43 L_CHARACTERISTIC
95e0: 53 5f 4e 58 5f 43 4f 4d 50 41 54 20 20 20 20 20 S_NX_COMPAT
95f0: 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 2c = 0x0100,
9600: 0a 09 49 4d 41 47 45 5f 44 4c 4c 43 48 41 52 41 ..IMAGE_DLLCHARA
9610: 43 54 45 52 49 53 54 49 43 53 5f 4e 4f 5f 49 53 CTERISTICS_NO_IS
9620: 4f 4c 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20 OLATION
9630: 20 3d 20 30 78 30 32 30 30 2c 0a 09 49 4d 41 47 = 0x0200,..IMAG
9640: 45 5f 44 4c 4c 43 48 41 52 41 43 54 45 52 49 53 E_DLLCHARACTERIS
9650: 54 49 43 53 5f 4e 4f 5f 53 45 48 09 20 20 20 20 TICS_NO_SEH.
9660: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
9670: 34 30 30 2c 0a 09 49 4d 41 47 45 5f 44 4c 4c 43 400,..IMAGE_DLLC
9680: 48 41 52 41 43 54 45 52 49 53 54 49 43 53 5f 4e HARACTERISTICS_N
9690: 4f 5f 42 49 4e 44 20 20 20 20 20 20 20 20 20 20 O_BIND
96a0: 20 20 20 20 20 3d 20 30 78 30 38 30 30 2c 0a 09 = 0x0800,..
96b0: 49 4d 41 47 45 5f 44 4c 4c 43 48 41 52 41 43 54 IMAGE_DLLCHARACT
96c0: 45 52 49 53 54 49 43 53 5f 57 44 4d 5f 44 52 49 ERISTICS_WDM_DRI
96d0: 56 45 52 20 20 20 20 20 20 20 20 20 20 20 20 3d VER =
96e0: 20 30 78 32 30 30 30 2c 0a 09 49 4d 41 47 45 5f 0x2000,..IMAGE_
96f0: 44 4c 4c 43 48 41 52 41 43 54 45 52 49 53 54 49 DLLCHARACTERISTI
9700: 43 53 5f 54 45 52 4d 49 4e 41 4c 5f 53 45 52 56 CS_TERMINAL_SERV
9710: 45 52 5f 41 57 41 52 45 20 3d 20 30 78 38 30 30 ER_AWARE = 0x800
9720: 30 3b 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 0;..// ???.const
9730: 20 49 4d 41 47 45 5f 53 45 50 41 52 41 54 45 5f IMAGE_SEPARATE_
9740: 44 45 42 55 47 5f 53 49 47 4e 41 54 55 52 45 20 DEBUG_SIGNATURE
9750: 3d 20 30 78 34 39 34 34 3b 0a 0a 63 6f 6e 73 74 = 0x4944;..const
9760: 20 73 69 7a 65 5f 74 0a 09 49 4d 41 47 45 5f 4e size_t..IMAGE_N
9770: 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52 UMBEROF_DIRECTOR
9780: 59 5f 45 4e 54 52 49 45 53 20 3d 20 20 31 36 2c Y_ENTRIES = 16,
9790: 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52 ..IMAGE_SIZEOF_R
97a0: 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 OM_OPTIONAL_HEAD
97b0: 45 52 20 3d 20 20 35 36 2c 0a 09 49 4d 41 47 45 ER = 56,..IMAGE
97c0: 5f 53 49 5a 45 4f 46 5f 53 54 44 5f 4f 50 54 49 _SIZEOF_STD_OPTI
97d0: 4f 4e 41 4c 5f 48 45 41 44 45 52 20 3d 20 20 32 ONAL_HEADER = 2
97e0: 38 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 8,..IMAGE_SIZEOF
97f0: 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 _NT_OPTIONAL_HEA
9800: 44 45 52 20 20 3d 20 32 32 34 2c 0a 09 49 4d 41 DER = 224,..IMA
9810: 47 45 5f 53 49 5a 45 4f 46 5f 53 48 4f 52 54 5f GE_SIZEOF_SHORT_
9820: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 3d 20 NAME =
9830: 20 20 38 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45 8,..IMAGE_SIZE
9840: 4f 46 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 OF_SECTION_HEADE
9850: 52 20 20 20 20 20 20 3d 20 20 34 30 2c 0a 09 49 R = 40,..I
9860: 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59 4d 42 MAGE_SIZEOF_SYMB
9870: 4f 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 OL
9880: 3d 20 20 31 38 2c 0a 09 49 4d 41 47 45 5f 53 49 = 18,..IMAGE_SI
9890: 5a 45 4f 46 5f 41 55 58 5f 53 59 4d 42 4f 4c 20 ZEOF_AUX_SYMBOL
98a0: 20 20 20 20 20 20 20 20 20 3d 20 20 31 38 2c 0a = 18,.
98b0: 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 52 45 .IMAGE_SIZEOF_RE
98c0: 4c 4f 43 41 54 49 4f 4e 20 20 20 20 20 20 20 20 LOCATION
98d0: 20 20 3d 20 20 31 30 2c 0a 09 49 4d 41 47 45 5f = 10,..IMAGE_
98e0: 53 49 5a 45 4f 46 5f 42 41 53 45 5f 52 45 4c 4f SIZEOF_BASE_RELO
98f0: 43 41 54 49 4f 4e 20 20 20 20 20 3d 20 20 20 38 CATION = 8
9900: 2c 0a 09 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f ,..IMAGE_SIZEOF_
9910: 4c 49 4e 45 4e 55 4d 42 45 52 20 20 20 20 20 20 LINENUMBER
9920: 20 20 20 20 3d 20 20 20 36 2c 0a 09 49 4d 41 47 = 6,..IMAG
9930: 45 5f 53 49 5a 45 4f 46 5f 41 52 43 48 49 56 45 E_SIZEOF_ARCHIVE
9940: 5f 4d 45 4d 42 45 52 5f 48 44 52 20 20 3d 20 20 _MEMBER_HDR =
9950: 36 30 2c 0a 09 53 49 5a 45 4f 46 5f 52 46 50 4f 60,..SIZEOF_RFPO
9960: 5f 44 41 54 41 20 20 20 20 20 20 20 20 20 20 20 _DATA
9970: 20 20 20 20 20 20 3d 20 20 31 36 3b 0a 0a 50 49 = 16;..PI
9980: 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 MAGE_SECTION_HEA
9990: 44 45 52 20 49 4d 41 47 45 5f 46 49 52 53 54 5f DER IMAGE_FIRST_
99a0: 53 45 43 54 49 4f 4e 28 50 49 4d 41 47 45 5f 4e SECTION(PIMAGE_N
99b0: 54 5f 48 45 41 44 45 52 53 20 68 29 20 7b 0a 09 T_HEADERS h) {..
99c0: 72 65 74 75 72 6e 20 63 61 73 74 28 50 49 4d 41 return cast(PIMA
99d0: 47 45 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 GE_SECTION_HEADE
99e0: 52 29 0a 09 09 28 26 68 2e 4f 70 74 69 6f 6e 61 R)...(&h.Optiona
99f0: 6c 48 65 61 64 65 72 20 2b 20 68 2e 46 69 6c 65 lHeader + h.File
9a00: 48 65 61 64 65 72 2e 53 69 7a 65 4f 66 4f 70 74 Header.SizeOfOpt
9a10: 69 6f 6e 61 6c 48 65 61 64 65 72 29 3b 0a 7d 0a ionalHeader);.}.
9a20: 0a 2f 2f 20 49 6d 61 67 65 44 69 72 65 63 74 6f .// ImageDirecto
9a30: 72 79 45 6e 74 72 79 54 6f 44 61 74 61 45 78 28 ryEntryToDataEx(
9a40: 29 0a 65 6e 75 6d 20 3a 20 55 53 48 4f 52 54 20 ).enum : USHORT
9a50: 7b 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f {..IMAGE_DIRECTO
9a60: 52 59 5f 45 4e 54 52 59 5f 45 58 50 4f 52 54 20 RY_ENTRY_EXPORT
9a70: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 30 = 0
9a80: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f ,..IMAGE_DIRECTO
9a90: 52 59 5f 45 4e 54 52 59 5f 49 4d 50 4f 52 54 2c RY_ENTRY_IMPORT,
9aa0: 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f 52 ..IMAGE_DIRECTOR
9ab0: 59 5f 45 4e 54 52 59 5f 52 45 53 4f 55 52 43 45 Y_ENTRY_RESOURCE
9ac0: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f ,..IMAGE_DIRECTO
9ad0: 52 59 5f 45 4e 54 52 59 5f 45 58 43 45 50 54 49 RY_ENTRY_EXCEPTI
9ae0: 4f 4e 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 ON,..IMAGE_DIREC
9af0: 54 4f 52 59 5f 45 4e 54 52 59 5f 53 45 43 55 52 TORY_ENTRY_SECUR
9b00: 49 54 59 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 ITY,..IMAGE_DIRE
9b10: 43 54 4f 52 59 5f 45 4e 54 52 59 5f 42 41 53 45 CTORY_ENTRY_BASE
9b20: 52 45 4c 4f 43 2c 0a 09 49 4d 41 47 45 5f 44 49 RELOC,..IMAGE_DI
9b30: 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45 RECTORY_ENTRY_DE
9b40: 42 55 47 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 BUG,..IMAGE_DIRE
9b50: 43 54 4f 52 59 5f 45 4e 54 52 59 5f 43 4f 50 59 CTORY_ENTRY_COPY
9b60: 52 49 47 48 54 2c 20 20 20 20 20 20 2f 2f 20 3d RIGHT, // =
9b70: 20 20 37 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 7..IMAGE_DIREC
9b80: 54 4f 52 59 5f 45 4e 54 52 59 5f 41 52 43 48 49 TORY_ENTRY_ARCHI
9b90: 54 45 43 54 55 52 45 20 20 20 20 20 20 20 3d 20 TECTURE =
9ba0: 20 37 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 7,..IMAGE_DIREC
9bb0: 54 4f 52 59 5f 45 4e 54 52 59 5f 47 4c 4f 42 41 TORY_ENTRY_GLOBA
9bc0: 4c 50 54 52 2c 0a 09 49 4d 41 47 45 5f 44 49 52 LPTR,..IMAGE_DIR
9bd0: 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 54 4c 53 ECTORY_ENTRY_TLS
9be0: 2c 0a 09 49 4d 41 47 45 5f 44 49 52 45 43 54 4f ,..IMAGE_DIRECTO
9bf0: 52 59 5f 45 4e 54 52 59 5f 4c 4f 41 44 5f 43 4f RY_ENTRY_LOAD_CO
9c00: 4e 46 49 47 2c 0a 09 49 4d 41 47 45 5f 44 49 52 NFIG,..IMAGE_DIR
9c10: 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 42 4f 55 ECTORY_ENTRY_BOU
9c20: 4e 44 5f 49 4d 50 4f 52 54 2c 0a 09 49 4d 41 47 ND_IMPORT,..IMAG
9c30: 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 52 E_DIRECTORY_ENTR
9c40: 59 5f 49 41 54 2c 0a 09 49 4d 41 47 45 5f 44 49 Y_IAT,..IMAGE_DI
9c50: 52 45 43 54 4f 52 59 5f 45 4e 54 52 59 5f 44 45 RECTORY_ENTRY_DE
9c60: 4c 41 59 5f 49 4d 50 4f 52 54 2c 0a 09 49 4d 41 LAY_IMPORT,..IMA
9c70: 47 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e 54 GE_DIRECTORY_ENT
9c80: 52 59 5f 43 4f 4d 5f 44 45 53 43 52 49 50 54 4f RY_COM_DESCRIPTO
9c90: 52 2c 20 2f 2f 20 3d 20 31 34 0a 7d 0a 0a 2f 2f R, // = 14.}..//
9ca0: 20 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f 48 IMAGE_SECTION_H
9cb0: 45 41 44 45 52 2e 43 68 61 72 61 63 74 65 72 69 EADER.Characteri
9cc0: 73 74 69 63 73 0a 63 6f 6e 73 74 20 44 57 4f 52 stics.const DWOR
9cd0: 44 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 D..IMAGE_SCN_TYP
9ce0: 45 5f 52 45 47 20 20 20 20 20 20 20 20 20 20 20 E_REG
9cf0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 = 0x00000000
9d00: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9d10: 45 5f 44 53 45 43 54 20 20 20 20 20 20 20 20 20 E_DSECT
9d20: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 = 0x00000001
9d30: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9d40: 45 5f 4e 4f 4c 4f 41 44 20 20 20 20 20 20 20 20 E_NOLOAD
9d50: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 = 0x00000002
9d60: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9d70: 45 5f 47 52 4f 55 50 20 20 20 20 20 20 20 20 20 E_GROUP
9d80: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 = 0x00000004
9d90: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9da0: 45 5f 4e 4f 5f 50 41 44 20 20 20 20 20 20 20 20 E_NO_PAD
9db0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38 = 0x00000008
9dc0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9dd0: 45 5f 43 4f 50 59 20 20 20 20 20 20 20 20 20 20 E_COPY
9de0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 = 0x00000010
9df0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54 ,..IMAGE_SCN_CNT
9e00: 5f 43 4f 44 45 20 20 20 20 20 20 20 20 20 20 20 _CODE
9e10: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 = 0x00000020
9e20: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54 ,..IMAGE_SCN_CNT
9e30: 5f 49 4e 49 54 49 41 4c 49 5a 45 44 5f 44 41 54 _INITIALIZED_DAT
9e40: 41 20 20 20 3d 20 30 78 30 30 30 30 30 30 34 30 A = 0x00000040
9e50: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 43 4e 54 ,..IMAGE_SCN_CNT
9e60: 5f 55 4e 49 4e 49 54 49 41 4c 49 5a 45 44 5f 44 _UNINITIALIZED_D
9e70: 41 54 41 20 3d 20 30 78 30 30 30 30 30 30 38 30 ATA = 0x00000080
9e80: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b ,..IMAGE_SCN_LNK
9e90: 5f 4f 54 48 45 52 20 20 20 20 20 20 20 20 20 20 _OTHER
9ea0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30 = 0x00000100
9eb0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b ,..IMAGE_SCN_LNK
9ec0: 5f 49 4e 46 4f 20 20 20 20 20 20 20 20 20 20 20 _INFO
9ed0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 = 0x00000200
9ee0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 54 59 50 ,..IMAGE_SCN_TYP
9ef0: 45 5f 4f 56 45 52 20 20 20 20 20 20 20 20 20 20 E_OVER
9f00: 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 = 0x00000400
9f10: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b ,..IMAGE_SCN_LNK
9f20: 5f 52 45 4d 4f 56 45 20 20 20 20 20 20 20 20 20 _REMOVE
9f30: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30 = 0x00000800
9f40: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b ,..IMAGE_SCN_LNK
9f50: 5f 43 4f 4d 44 41 54 20 20 20 20 20 20 20 20 20 _COMDAT
9f60: 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 30 30 = 0x00001000
9f70: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
9f80: 5f 46 41 52 44 41 54 41 20 20 20 20 20 20 20 20 _FARDATA
9f90: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 = 0x00008000
9fa0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 47 50 52 ,..IMAGE_SCN_GPR
9fb0: 45 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 EL
9fc0: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 = 0x00008000
9fd0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
9fe0: 5f 50 55 52 47 45 41 42 4c 45 20 20 20 20 20 20 _PURGEABLE
9ff0: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 = 0x00020000
a000: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a010: 5f 31 36 42 49 54 20 20 20 20 20 20 20 20 20 20 _16BIT
a020: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 = 0x00020000
a030: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a040: 5f 4c 4f 43 4b 45 44 20 20 20 20 20 20 20 20 20 _LOCKED
a050: 20 20 20 20 3d 20 30 78 30 30 30 34 30 30 30 30 = 0x00040000
a060: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a070: 5f 50 52 45 4c 4f 41 44 20 20 20 20 20 20 20 20 _PRELOAD
a080: 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 = 0x00080000
a090: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a0a0: 47 4e 5f 31 42 59 54 45 53 20 20 20 20 20 20 20 GN_1BYTES
a0b0: 20 20 20 20 3d 20 30 78 30 30 31 30 30 30 30 30 = 0x00100000
a0c0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a0d0: 47 4e 5f 32 42 59 54 45 53 20 20 20 20 20 20 20 GN_2BYTES
a0e0: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 = 0x00200000
a0f0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a100: 47 4e 5f 34 42 59 54 45 53 20 20 20 20 20 20 20 GN_4BYTES
a110: 20 20 20 20 3d 20 30 78 30 30 33 30 30 30 30 30 = 0x00300000
a120: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a130: 47 4e 5f 38 42 59 54 45 53 20 20 20 20 20 20 20 GN_8BYTES
a140: 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 = 0x00400000
a150: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a160: 47 4e 5f 31 36 42 59 54 45 53 20 20 20 20 20 20 GN_16BYTES
a170: 20 20 20 20 3d 20 30 78 30 30 35 30 30 30 30 30 = 0x00500000
a180: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a190: 47 4e 5f 33 32 42 59 54 45 53 20 20 20 20 20 20 GN_32BYTES
a1a0: 20 20 20 20 3d 20 30 78 30 30 36 30 30 30 30 30 = 0x00600000
a1b0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a1c0: 47 4e 5f 36 34 42 59 54 45 53 20 20 20 20 20 20 GN_64BYTES
a1d0: 20 20 20 20 3d 20 30 78 30 30 37 30 30 30 30 30 = 0x00700000
a1e0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a1f0: 47 4e 5f 31 32 38 42 59 54 45 53 20 20 20 20 20 GN_128BYTES
a200: 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 30 30 = 0x00800000
a210: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a220: 47 4e 5f 32 35 36 42 59 54 45 53 20 20 20 20 20 GN_256BYTES
a230: 20 20 20 20 3d 20 30 78 30 30 39 30 30 30 30 30 = 0x00900000
a240: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a250: 47 4e 5f 35 31 32 42 59 54 45 53 20 20 20 20 20 GN_512BYTES
a260: 20 20 20 20 3d 20 30 78 30 30 41 30 30 30 30 30 = 0x00A00000
a270: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a280: 47 4e 5f 31 30 32 34 42 59 54 45 53 20 20 20 20 GN_1024BYTES
a290: 20 20 20 20 3d 20 30 78 30 30 42 30 30 30 30 30 = 0x00B00000
a2a0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a2b0: 47 4e 5f 32 30 34 38 42 59 54 45 53 20 20 20 20 GN_2048BYTES
a2c0: 20 20 20 20 3d 20 30 78 30 30 43 30 30 30 30 30 = 0x00C00000
a2d0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a2e0: 47 4e 5f 34 30 39 36 42 59 54 45 53 20 20 20 20 GN_4096BYTES
a2f0: 20 20 20 20 3d 20 30 78 30 30 44 30 30 30 30 30 = 0x00D00000
a300: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 41 4c 49 ,..IMAGE_SCN_ALI
a310: 47 4e 5f 38 31 39 32 42 59 54 45 53 20 20 20 20 GN_8192BYTES
a320: 20 20 20 20 3d 20 30 78 30 30 45 30 30 30 30 30 = 0x00E00000
a330: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4c 4e 4b ,..IMAGE_SCN_LNK
a340: 5f 4e 52 45 4c 4f 43 5f 4f 56 46 4c 20 20 20 20 _NRELOC_OVFL
a350: 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 30 30 = 0x01000000
a360: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a370: 5f 44 49 53 43 41 52 44 41 42 4c 45 20 20 20 20 _DISCARDABLE
a380: 20 20 20 20 3d 20 30 78 30 32 30 30 30 30 30 30 = 0x02000000
a390: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a3a0: 5f 4e 4f 54 5f 43 41 43 48 45 44 20 20 20 20 20 _NOT_CACHED
a3b0: 20 20 20 20 3d 20 30 78 30 34 30 30 30 30 30 30 = 0x04000000
a3c0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a3d0: 5f 4e 4f 54 5f 50 41 47 45 44 20 20 20 20 20 20 _NOT_PAGED
a3e0: 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 30 30 = 0x08000000
a3f0: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a400: 5f 53 48 41 52 45 44 20 20 20 20 20 20 20 20 20 _SHARED
a410: 20 20 20 20 3d 20 30 78 31 30 30 30 30 30 30 30 = 0x10000000
a420: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a430: 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20 20 _EXECUTE
a440: 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30 = 0x20000000
a450: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a460: 5f 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20 _READ
a470: 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 30 30 = 0x40000000
a480: 2c 0a 09 49 4d 41 47 45 5f 53 43 4e 5f 4d 45 4d ,..IMAGE_SCN_MEM
a490: 5f 57 52 49 54 45 20 20 20 20 20 20 20 20 20 20 _WRITE
a4a0: 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 = 0x80000000
a4b0: 3b 0a 0a 2f 2a 09 54 68 65 20 66 6f 6c 6c 6f 77 ;../*.The follow
a4c0: 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 20 61 72 ing constants ar
a4d0: 65 20 6d 6f 73 74 6c 79 64 6f 63 75 6d 65 6e 74 e mostlydocument
a4e0: 65 64 20 61 74 0a 20 2a 09 68 74 74 70 3a 2f 2f ed at. *.http://
a4f0: 64 6f 77 6e 6c 6f 61 64 2e 6d 69 63 72 6f 73 6f download.microso
a500: 66 74 2e 63 6f 6d 2f 64 6f 77 6e 6c 6f 61 64 2f ft.com/download/
a510: 31 2f 36 2f 31 2f 31 36 31 62 61 35 31 32 2d 34 1/6/1/161ba512-4
a520: 30 65 32 2d 34 63 63 39 2d 38 34 33 61 2d 39 32 0e2-4cc9-843a-92
a530: 33 31 34 33 66 33 34 35 36 63 2f 70 65 63 6f 66 3143f3456c/pecof
a540: 66 2e 64 6f 63 0a 20 2a 09 62 75 74 20 64 6f 6e f.doc. *.but don
a550: 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20 64 65 't seem to be de
a560: 66 69 6e 65 64 20 69 6e 20 74 68 65 20 48 54 4d fined in the HTM
a570: 4c 20 64 6f 63 73 2e 0a 20 2a 2f 0a 65 6e 75 6d L docs.. */.enum
a580: 20 3a 20 53 48 4f 52 54 20 7b 0a 09 49 4d 41 47 : SHORT {..IMAG
a590: 45 5f 53 59 4d 5f 55 4e 44 45 46 49 4e 45 44 20 E_SYM_UNDEFINED
a5a0: 3d 20 20 30 2c 0a 09 49 4d 41 47 45 5f 53 59 4d = 0,..IMAGE_SYM
a5b0: 5f 41 42 53 4f 4c 55 54 45 20 20 3d 20 2d 31 2c _ABSOLUTE = -1,
a5c0: 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 44 45 42 55 ..IMAGE_SYM_DEBU
a5d0: 47 20 20 20 20 20 3d 20 2d 32 0a 7d 0a 0a 65 6e G = -2.}..en
a5e0: 75 6d 20 3a 20 75 62 79 74 65 20 7b 0a 09 49 4d um : ubyte {..IM
a5f0: 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 4e 55 4c AGE_SYM_TYPE_NUL
a600: 4c 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 L,..IMAGE_SYM_TY
a610: 50 45 5f 56 4f 49 44 2c 0a 09 49 4d 41 47 45 5f PE_VOID,..IMAGE_
a620: 53 59 4d 5f 54 59 50 45 5f 43 48 41 52 2c 0a 09 SYM_TYPE_CHAR,..
a630: 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 53 IMAGE_SYM_TYPE_S
a640: 48 4f 52 54 2c 0a 09 49 4d 41 47 45 5f 53 59 4d HORT,..IMAGE_SYM
a650: 5f 54 59 50 45 5f 49 4e 54 2c 0a 09 49 4d 41 47 _TYPE_INT,..IMAG
a660: 45 5f 53 59 4d 5f 54 59 50 45 5f 4c 4f 4e 47 2c E_SYM_TYPE_LONG,
a670: 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 ..IMAGE_SYM_TYPE
a680: 5f 46 4c 4f 41 54 2c 0a 09 49 4d 41 47 45 5f 53 _FLOAT,..IMAGE_S
a690: 59 4d 5f 54 59 50 45 5f 44 4f 55 42 4c 45 2c 0a YM_TYPE_DOUBLE,.
a6a0: 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f .IMAGE_SYM_TYPE_
a6b0: 53 54 52 55 43 54 2c 0a 09 49 4d 41 47 45 5f 53 STRUCT,..IMAGE_S
a6c0: 59 4d 5f 54 59 50 45 5f 55 4e 49 4f 4e 2c 0a 09 YM_TYPE_UNION,..
a6d0: 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f 45 IMAGE_SYM_TYPE_E
a6e0: 4e 55 4d 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f NUM,..IMAGE_SYM_
a6f0: 54 59 50 45 5f 4d 4f 45 2c 0a 09 49 4d 41 47 45 TYPE_MOE,..IMAGE
a700: 5f 53 59 4d 5f 54 59 50 45 5f 42 59 54 45 2c 0a _SYM_TYPE_BYTE,.
a710: 09 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 5f .IMAGE_SYM_TYPE_
a720: 57 4f 52 44 2c 0a 09 49 4d 41 47 45 5f 53 59 4d WORD,..IMAGE_SYM
a730: 5f 54 59 50 45 5f 55 49 4e 54 2c 0a 09 49 4d 41 _TYPE_UINT,..IMA
a740: 47 45 5f 53 59 4d 5f 54 59 50 45 5f 44 57 4f 52 GE_SYM_TYPE_DWOR
a750: 44 20 2f 2f 20 3d 20 31 35 0a 7d 0a 63 6f 6e 73 D // = 15.}.cons
a760: 74 20 49 4d 41 47 45 5f 53 59 4d 5f 54 59 50 45 t IMAGE_SYM_TYPE
a770: 5f 50 43 4f 44 45 20 3d 20 33 32 37 36 38 3b 20 _PCODE = 32768;
a780: 2f 2f 20 3f 3f 3f 0a 0a 65 6e 75 6d 20 3a 20 75 // ???..enum : u
a790: 62 79 74 65 20 7b 0a 09 49 4d 41 47 45 5f 53 59 byte {..IMAGE_SY
a7a0: 4d 5f 44 54 59 50 45 5f 4e 55 4c 4c 2c 0a 09 49 M_DTYPE_NULL,..I
a7b0: 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 45 5f 50 MAGE_SYM_DTYPE_P
a7c0: 4f 49 4e 54 45 52 2c 0a 09 49 4d 41 47 45 5f 53 OINTER,..IMAGE_S
a7d0: 59 4d 5f 44 54 59 50 45 5f 46 55 4e 43 54 49 4f YM_DTYPE_FUNCTIO
a7e0: 4e 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 44 54 N,..IMAGE_SYM_DT
a7f0: 59 50 45 5f 41 52 52 41 59 0a 7d 0a 0a 65 6e 75 YPE_ARRAY.}..enu
a800: 6d 20 3a 20 42 59 54 45 20 7b 0a 09 49 4d 41 47 m : BYTE {..IMAG
a810: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 4e 44 5f E_SYM_CLASS_END_
a820: 4f 46 5f 46 55 4e 43 54 49 4f 4e 20 20 3d 20 30 OF_FUNCTION = 0
a830: 78 46 46 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f xFF,..IMAGE_SYM_
a840: 43 4c 41 53 53 5f 4e 55 4c 4c 20 20 20 20 20 20 CLASS_NULL
a850: 20 20 20 20 20 20 20 3d 20 20 20 30 2c 0a 09 49 = 0,..I
a860: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 41 MAGE_SYM_CLASS_A
a870: 55 54 4f 4d 41 54 49 43 2c 0a 09 49 4d 41 47 45 UTOMATIC,..IMAGE
a880: 5f 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54 45 52 _SYM_CLASS_EXTER
a890: 4e 41 4c 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f NAL,..IMAGE_SYM_
a8a0: 43 4c 41 53 53 5f 53 54 41 54 49 43 2c 0a 09 49 CLASS_STATIC,..I
a8b0: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 52 MAGE_SYM_CLASS_R
a8c0: 45 47 49 53 54 45 52 2c 0a 09 49 4d 41 47 45 5f EGISTER,..IMAGE_
a8d0: 53 59 4d 5f 43 4c 41 53 53 5f 45 58 54 45 52 4e SYM_CLASS_EXTERN
a8e0: 41 4c 5f 44 45 46 2c 0a 09 49 4d 41 47 45 5f 53 AL_DEF,..IMAGE_S
a8f0: 59 4d 5f 43 4c 41 53 53 5f 4c 41 42 45 4c 2c 0a YM_CLASS_LABEL,.
a900: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 .IMAGE_SYM_CLASS
a910: 5f 55 4e 44 45 46 49 4e 45 44 5f 4c 41 42 45 4c _UNDEFINED_LABEL
a920: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 ,..IMAGE_SYM_CLA
a930: 53 53 5f 4d 45 4d 42 45 52 5f 4f 46 5f 53 54 52 SS_MEMBER_OF_STR
a940: 55 43 54 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f UCT,..IMAGE_SYM_
a950: 43 4c 41 53 53 5f 41 52 47 55 4d 45 4e 54 2c 0a CLASS_ARGUMENT,.
a960: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 .IMAGE_SYM_CLASS
a970: 5f 53 54 52 55 43 54 5f 54 41 47 2c 0a 09 49 4d _STRUCT_TAG,..IM
a980: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45 AGE_SYM_CLASS_ME
a990: 4d 42 45 52 5f 4f 46 5f 55 4e 49 4f 4e 2c 0a 09 MBER_OF_UNION,..
a9a0: 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f IMAGE_SYM_CLASS_
a9b0: 55 4e 49 4f 4e 5f 54 41 47 2c 0a 09 49 4d 41 47 UNION_TAG,..IMAG
a9c0: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 54 59 50 45 E_SYM_CLASS_TYPE
a9d0: 5f 44 45 46 49 4e 49 54 49 4f 4e 2c 0a 09 49 4d _DEFINITION,..IM
a9e0: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 55 4e AGE_SYM_CLASS_UN
a9f0: 44 45 46 49 4e 45 44 5f 53 54 41 54 49 43 2c 0a DEFINED_STATIC,.
aa00: 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 .IMAGE_SYM_CLASS
aa10: 5f 45 4e 55 4d 5f 54 41 47 2c 0a 09 49 4d 41 47 _ENUM_TAG,..IMAG
aa20: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 4d 45 4d 42 E_SYM_CLASS_MEMB
aa30: 45 52 5f 4f 46 5f 45 4e 55 4d 2c 0a 09 49 4d 41 ER_OF_ENUM,..IMA
aa40: 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 52 45 47 GE_SYM_CLASS_REG
aa50: 49 53 54 45 52 5f 50 41 52 41 4d 2c 0a 09 49 4d ISTER_PARAM,..IM
aa60: 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42 49 AGE_SYM_CLASS_BI
aa70: 54 5f 46 49 45 4c 44 2c 20 20 20 20 2f 2f 20 3d T_FIELD, // =
aa80: 20 20 31 38 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 18..IMAGE_SYM_
aa90: 43 4c 41 53 53 5f 46 41 52 5f 45 58 54 45 52 4e CLASS_FAR_EXTERN
aaa0: 41 4c 20 20 20 20 20 3d 20 20 36 38 2c 0a 09 49 AL = 68,..I
aab0: 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 42 MAGE_SYM_CLASS_B
aac0: 4c 4f 43 4b 20 20 20 20 20 20 20 20 20 20 20 20 LOCK
aad0: 3d 20 31 30 30 2c 0a 09 49 4d 41 47 45 5f 53 59 = 100,..IMAGE_SY
aae0: 4d 5f 43 4c 41 53 53 5f 46 55 4e 43 54 49 4f 4e M_CLASS_FUNCTION
aaf0: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 ,..IMAGE_SYM_CLA
ab00: 53 53 5f 45 4e 44 5f 4f 46 5f 53 54 52 55 43 54 SS_END_OF_STRUCT
ab10: 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 ,..IMAGE_SYM_CLA
ab20: 53 53 5f 46 49 4c 45 2c 0a 09 49 4d 41 47 45 5f SS_FILE,..IMAGE_
ab30: 53 59 4d 5f 43 4c 41 53 53 5f 53 45 43 54 49 4f SYM_CLASS_SECTIO
ab40: 4e 2c 0a 09 49 4d 41 47 45 5f 53 59 4d 5f 43 4c N,..IMAGE_SYM_CL
ab50: 41 53 53 5f 57 45 41 4b 5f 45 58 54 45 52 4e 41 ASS_WEAK_EXTERNA
ab60: 4c 2c 2f 2f 20 3d 20 31 30 35 0a 09 49 4d 41 47 L,// = 105..IMAG
ab70: 45 5f 53 59 4d 5f 43 4c 41 53 53 5f 43 4c 52 5f E_SYM_CLASS_CLR_
ab80: 54 4f 4b 45 4e 20 20 20 20 20 20 20 20 3d 20 31 TOKEN = 1
ab90: 30 37 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 42 59 54 07.}..enum : BYT
aba0: 45 20 7b 0a 09 49 4d 41 47 45 5f 43 4f 4d 44 41 E {..IMAGE_COMDA
abb0: 54 5f 53 45 4c 45 43 54 5f 4e 4f 44 55 50 4c 49 T_SELECT_NODUPLI
abc0: 43 41 54 45 53 20 3d 20 31 2c 0a 09 49 4d 41 47 CATES = 1,..IMAG
abd0: 45 5f 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f E_COMDAT_SELECT_
abe0: 41 4e 59 2c 0a 09 49 4d 41 47 45 5f 43 4f 4d 44 ANY,..IMAGE_COMD
abf0: 41 54 5f 53 45 4c 45 43 54 5f 53 41 4d 45 5f 53 AT_SELECT_SAME_S
ac00: 49 5a 45 2c 0a 09 49 4d 41 47 45 5f 43 4f 4d 44 IZE,..IMAGE_COMD
ac10: 41 54 5f 53 45 4c 45 43 54 5f 45 58 41 43 54 5f AT_SELECT_EXACT_
ac20: 4d 41 54 43 48 2c 0a 09 49 4d 41 47 45 5f 43 4f MATCH,..IMAGE_CO
ac30: 4d 44 41 54 5f 53 45 4c 45 43 54 5f 41 53 53 4f MDAT_SELECT_ASSO
ac40: 43 49 41 54 49 56 45 2c 0a 09 49 4d 41 47 45 5f CIATIVE,..IMAGE_
ac50: 43 4f 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4c 41 COMDAT_SELECT_LA
ac60: 52 47 45 53 54 2c 0a 09 49 4d 41 47 45 5f 43 4f RGEST,..IMAGE_CO
ac70: 4d 44 41 54 5f 53 45 4c 45 43 54 5f 4e 45 57 45 MDAT_SELECT_NEWE
ac80: 53 54 20 20 20 20 2f 2f 20 3d 20 37 0a 7d 0a 0a ST // = 7.}..
ac90: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 enum : DWORD {..
aca0: 49 4d 41 47 45 5f 57 45 41 4b 5f 45 58 54 45 52 IMAGE_WEAK_EXTER
acb0: 4e 5f 53 45 41 52 43 48 5f 4e 4f 4c 49 42 52 41 N_SEARCH_NOLIBRA
acc0: 52 59 20 3d 20 31 2c 0a 09 49 4d 41 47 45 5f 57 RY = 1,..IMAGE_W
acd0: 45 41 4b 5f 45 58 54 45 52 4e 5f 53 45 41 52 43 EAK_EXTERN_SEARC
ace0: 48 5f 4c 49 42 52 41 52 59 2c 0a 09 49 4d 41 47 H_LIBRARY,..IMAG
acf0: 45 5f 57 45 41 4b 5f 45 58 54 45 52 4e 5f 53 45 E_WEAK_EXTERN_SE
ad00: 41 52 43 48 5f 41 4c 49 41 53 0a 7d 0a 0a 65 6e ARCH_ALIAS.}..en
ad10: 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d 41 um : WORD {..IMA
ad20: 47 45 5f 52 45 4c 5f 49 33 38 36 5f 41 42 53 4f GE_REL_I386_ABSO
ad30: 4c 55 54 45 20 20 20 20 20 20 20 3d 20 30 78 30 LUTE = 0x0
ad40: 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 000,..IMAGE_REL_
ad50: 49 33 38 36 5f 44 49 52 31 36 20 20 20 20 20 20 I386_DIR16
ad60: 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 49 = 0x0001,..I
ad70: 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 52 45 MAGE_REL_I386_RE
ad80: 4c 31 36 20 20 20 20 20 20 20 20 20 20 3d 20 30 L16 = 0
ad90: 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 52 45 x0002,..IMAGE_RE
ada0: 4c 5f 49 33 38 36 5f 44 49 52 33 32 20 20 20 20 L_I386_DIR32
adb0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 36 2c 0a = 0x0006,.
adc0: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f .IMAGE_REL_I386_
add0: 44 49 52 33 32 4e 42 20 20 20 20 20 20 20 20 3d DIR32NB =
ade0: 20 30 78 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f 0x0007,..IMAGE_
adf0: 52 45 4c 5f 49 33 38 36 5f 53 45 47 31 32 20 20 REL_I386_SEG12
ae00: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39 = 0x0009
ae10: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 33 38 ,..IMAGE_REL_I38
ae20: 36 5f 53 45 43 54 49 4f 4e 20 20 20 20 20 20 20 6_SECTION
ae30: 20 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47 = 0x000A,..IMAG
ae40: 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45 43 52 45 E_REL_I386_SECRE
ae50: 4c 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 L = 0x00
ae60: 30 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 0B,..IMAGE_REL_I
ae70: 33 38 36 5f 54 4f 4b 45 4e 20 20 20 20 20 20 20 386_TOKEN
ae80: 20 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d = 0x000C,..IM
ae90: 41 47 45 5f 52 45 4c 5f 49 33 38 36 5f 53 45 43 AGE_REL_I386_SEC
aea0: 52 45 4c 37 20 20 20 20 20 20 20 20 3d 20 30 78 REL7 = 0x
aeb0: 30 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 000D,..IMAGE_REL
aec0: 5f 49 33 38 36 5f 52 45 4c 33 32 20 20 20 20 20 _I386_REL32
aed0: 20 20 20 20 20 3d 20 30 78 30 30 31 34 0a 7d 0a = 0x0014.}.
aee0: 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 .enum : WORD {..
aef0: 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f IMAGE_REL_AMD64_
af00: 41 42 53 4f 4c 55 54 45 20 20 20 20 20 20 3d 20 ABSOLUTE =
af10: 30 78 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 0x0000,..IMAGE_R
af20: 45 4c 5f 41 4d 44 36 34 5f 41 44 44 52 36 34 20 EL_AMD64_ADDR64
af30: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c = 0x0001,
af40: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 ..IMAGE_REL_AMD6
af50: 34 5f 41 44 44 52 33 32 20 20 20 20 20 20 20 20 4_ADDR32
af60: 3d 20 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 = 0x0002,..IMAGE
af70: 5f 52 45 4c 5f 41 4d 44 36 34 5f 41 44 44 52 33 _REL_AMD64_ADDR3
af80: 32 4e 42 20 20 20 20 20 20 3d 20 30 78 30 30 30 2NB = 0x000
af90: 33 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 3,..IMAGE_REL_AM
afa0: 44 36 34 5f 52 45 4c 33 32 20 20 20 20 20 20 20 D64_REL32
afb0: 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41 = 0x0004,..IMA
afc0: 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 45 4c GE_REL_AMD64_REL
afd0: 33 32 5f 31 20 20 20 20 20 20 20 3d 20 30 78 30 32_1 = 0x0
afe0: 30 30 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 005,..IMAGE_REL_
aff0: 41 4d 44 36 34 5f 52 45 4c 33 32 5f 32 20 20 20 AMD64_REL32_2
b000: 20 20 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49 = 0x0006,..I
b010: 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 52 MAGE_REL_AMD64_R
b020: 45 4c 33 32 5f 33 20 20 20 20 20 20 20 3d 20 30 EL32_3 = 0
b030: 78 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45 x0007,..IMAGE_RE
b040: 4c 5f 41 4d 44 36 34 5f 52 45 4c 33 32 5f 34 20 L_AMD64_REL32_4
b050: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a = 0x0008,.
b060: 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 .IMAGE_REL_AMD64
b070: 5f 52 45 4c 33 32 5f 35 20 20 20 20 20 20 20 3d _REL32_5 =
b080: 20 30 78 30 30 30 39 2c 0a 09 49 4d 41 47 45 5f 0x0009,..IMAGE_
b090: 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43 54 49 4f REL_AMD64_SECTIO
b0a0: 4e 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 41 N = 0x000A
b0b0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 ,..IMAGE_REL_AMD
b0c0: 36 34 5f 53 45 43 52 45 4c 20 20 20 20 20 20 20 64_SECREL
b0d0: 20 3d 20 30 78 30 30 30 42 2c 0a 09 49 4d 41 47 = 0x000B,..IMAG
b0e0: 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 45 43 52 E_REL_AMD64_SECR
b0f0: 45 4c 37 20 20 20 20 20 20 20 3d 20 30 78 30 30 EL7 = 0x00
b100: 30 43 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 0C,..IMAGE_REL_A
b110: 4d 44 36 34 5f 54 4f 4b 45 4e 20 20 20 20 20 20 MD64_TOKEN
b120: 20 20 20 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d = 0x000D,..IM
b130: 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f 53 52 AGE_REL_AMD64_SR
b140: 45 4c 33 32 20 20 20 20 20 20 20 20 3d 20 30 78 EL32 = 0x
b150: 30 30 30 45 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 000E,..IMAGE_REL
b160: 5f 41 4d 44 36 34 5f 50 41 49 52 20 20 20 20 20 _AMD64_PAIR
b170: 20 20 20 20 20 3d 20 30 78 30 30 30 46 2c 0a 09 = 0x000F,..
b180: 49 4d 41 47 45 5f 52 45 4c 5f 41 4d 44 36 34 5f IMAGE_REL_AMD64_
b190: 53 53 50 41 4e 33 32 20 20 20 20 20 20 20 3d 20 SSPAN32 =
b1a0: 30 78 30 30 31 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 0x0010.}..enum :
b1b0: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 WORD {..IMAGE_R
b1c0: 45 4c 5f 49 41 36 34 5f 41 42 53 4f 4c 55 54 45 EL_IA64_ABSOLUTE
b1d0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 2c = 0x0000,
b1e0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 ..IMAGE_REL_IA64
b1f0: 5f 49 4d 4d 31 34 20 20 20 20 20 20 20 20 20 20 _IMM14
b200: 3d 20 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45 = 0x0001,..IMAGE
b210: 5f 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 32 32 20 _REL_IA64_IMM22
b220: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
b230: 32 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 2,..IMAGE_REL_IA
b240: 36 34 5f 49 4d 4d 36 34 20 20 20 20 20 20 20 20 64_IMM64
b250: 20 20 3d 20 30 78 30 30 30 33 2c 0a 09 49 4d 41 = 0x0003,..IMA
b260: 47 45 5f 52 45 4c 5f 49 41 36 34 5f 44 49 52 33 GE_REL_IA64_DIR3
b270: 32 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 2 = 0x0
b280: 30 30 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 004,..IMAGE_REL_
b290: 49 41 36 34 5f 44 49 52 36 34 20 20 20 20 20 20 IA64_DIR64
b2a0: 20 20 20 20 3d 20 30 78 30 30 30 35 2c 0a 09 49 = 0x0005,..I
b2b0: 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 MAGE_REL_IA64_PC
b2c0: 52 45 4c 32 31 42 20 20 20 20 20 20 20 3d 20 30 REL21B = 0
b2d0: 78 30 30 30 36 2c 0a 09 49 4d 41 47 45 5f 52 45 x0006,..IMAGE_RE
b2e0: 4c 5f 49 41 36 34 5f 50 43 52 45 4c 32 31 4d 20 L_IA64_PCREL21M
b2f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 37 2c 0a = 0x0007,.
b300: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f .IMAGE_REL_IA64_
b310: 50 43 52 45 4c 32 31 46 20 20 20 20 20 20 20 3d PCREL21F =
b320: 20 30 78 30 30 30 38 2c 0a 09 49 4d 41 47 45 5f 0x0008,..IMAGE_
b330: 52 45 4c 5f 49 41 36 34 5f 47 50 52 45 4c 32 32 REL_IA64_GPREL22
b340: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39 = 0x0009
b350: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 ,..IMAGE_REL_IA6
b360: 34 5f 4c 54 4f 46 46 32 32 20 20 20 20 20 20 20 4_LTOFF22
b370: 20 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47 = 0x000A,..IMAG
b380: 45 5f 52 45 4c 5f 49 41 36 34 5f 53 45 43 54 49 E_REL_IA64_SECTI
b390: 4f 4e 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 ON = 0x00
b3a0: 30 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 0B,..IMAGE_REL_I
b3b0: 41 36 34 5f 53 45 43 52 45 4c 32 32 20 20 20 20 A64_SECREL22
b3c0: 20 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d = 0x000C,..IM
b3d0: 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 53 45 43 AGE_REL_IA64_SEC
b3e0: 52 45 4c 36 34 49 20 20 20 20 20 20 3d 20 30 78 REL64I = 0x
b3f0: 30 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 000D,..IMAGE_REL
b400: 5f 49 41 36 34 5f 53 45 43 52 45 4c 33 32 20 20 _IA64_SECREL32
b410: 20 20 20 20 20 3d 20 30 78 30 30 30 45 2c 0a 09 = 0x000E,..
b420: 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 44 IMAGE_REL_IA64_D
b430: 49 52 33 32 4e 42 20 20 20 20 20 20 20 20 3d 20 IR32NB =
b440: 30 78 30 30 31 30 2c 0a 09 49 4d 41 47 45 5f 52 0x0010,..IMAGE_R
b450: 45 4c 5f 49 41 36 34 5f 53 52 45 4c 31 34 20 20 EL_IA64_SREL14
b460: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 31 2c = 0x0011,
b470: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 ..IMAGE_REL_IA64
b480: 5f 53 52 45 4c 32 32 20 20 20 20 20 20 20 20 20 _SREL22
b490: 3d 20 30 78 30 30 31 32 2c 0a 09 49 4d 41 47 45 = 0x0012,..IMAGE
b4a0: 5f 52 45 4c 5f 49 41 36 34 5f 53 52 45 4c 33 32 _REL_IA64_SREL32
b4b0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 = 0x001
b4c0: 33 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 3,..IMAGE_REL_IA
b4d0: 36 34 5f 55 52 45 4c 33 32 20 20 20 20 20 20 20 64_UREL32
b4e0: 20 20 3d 20 30 78 30 30 31 34 2c 0a 09 49 4d 41 = 0x0014,..IMA
b4f0: 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 52 45 GE_REL_IA64_PCRE
b500: 4c 36 30 58 20 20 20 20 20 20 20 3d 20 30 78 30 L60X = 0x0
b510: 30 31 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 015,..IMAGE_REL_
b520: 49 41 36 34 5f 50 43 52 45 4c 36 30 42 20 20 20 IA64_PCREL60B
b530: 20 20 20 20 3d 20 30 78 30 30 31 36 2c 0a 09 49 = 0x0016,..I
b540: 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f 50 43 MAGE_REL_IA64_PC
b550: 52 45 4c 36 30 46 20 20 20 20 20 20 20 3d 20 30 REL60F = 0
b560: 78 30 30 31 37 2c 0a 09 49 4d 41 47 45 5f 52 45 x0017,..IMAGE_RE
b570: 4c 5f 49 41 36 34 5f 50 43 52 45 4c 36 30 49 20 L_IA64_PCREL60I
b580: 20 20 20 20 20 20 3d 20 30 78 30 30 31 38 2c 0a = 0x0018,.
b590: 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 34 5f .IMAGE_REL_IA64_
b5a0: 50 43 52 45 4c 36 30 4d 20 20 20 20 20 20 20 3d PCREL60M =
b5b0: 20 30 78 30 30 31 39 2c 0a 09 49 4d 41 47 45 5f 0x0019,..IMAGE_
b5c0: 52 45 4c 5f 49 41 36 34 5f 49 4d 4d 47 50 52 45 REL_IA64_IMMGPRE
b5d0: 4c 36 34 20 20 20 20 20 3d 20 30 78 30 30 31 41 L64 = 0x001A
b5e0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 41 36 ,..IMAGE_REL_IA6
b5f0: 34 5f 54 4f 4b 45 4e 20 20 20 20 20 20 20 20 20 4_TOKEN
b600: 20 3d 20 30 78 30 30 31 42 2c 0a 09 49 4d 41 47 = 0x001B,..IMAG
b610: 45 5f 52 45 4c 5f 49 41 36 34 5f 47 50 52 45 4c E_REL_IA64_GPREL
b620: 33 32 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 32 = 0x00
b630: 31 43 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 49 1C,..IMAGE_REL_I
b640: 41 36 34 5f 41 44 44 45 4e 44 20 20 20 20 20 20 A64_ADDEND
b650: 20 20 20 3d 20 30 78 30 30 31 46 0a 7d 0a 0a 65 = 0x001F.}..e
b660: 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49 4d num : WORD {..IM
b670: 41 47 45 5f 52 45 4c 5f 53 48 33 5f 41 42 53 4f AGE_REL_SH3_ABSO
b680: 4c 55 54 45 20 20 20 20 20 20 20 20 3d 20 30 78 LUTE = 0x
b690: 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 0000,..IMAGE_REL
b6a0: 5f 53 48 33 5f 44 49 52 45 43 54 31 36 20 20 20 _SH3_DIRECT16
b6b0: 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 = 0x0001,..
b6c0: 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 IMAGE_REL_SH3_DI
b6d0: 52 45 43 54 33 32 20 20 20 20 20 20 20 20 3d 20 RECT32 =
b6e0: 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 52 0x0002,..IMAGE_R
b6f0: 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38 20 20 EL_SH3_DIRECT8
b700: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 33 2c = 0x0003,
b710: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f ..IMAGE_REL_SH3_
b720: 44 49 52 45 43 54 38 5f 57 4f 52 44 20 20 20 20 DIRECT8_WORD
b730: 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41 47 45 = 0x0004,..IMAGE
b740: 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 43 54 38 _REL_SH3_DIRECT8
b750: 5f 4c 4f 4e 47 20 20 20 20 3d 20 30 78 30 30 30 _LONG = 0x000
b760: 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 5,..IMAGE_REL_SH
b770: 33 5f 44 49 52 45 43 54 34 20 20 20 20 20 20 20 3_DIRECT4
b780: 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49 4d 41 = 0x0006,..IMA
b790: 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 43 GE_REL_SH3_DIREC
b7a0: 54 34 5f 57 4f 52 44 20 20 20 20 3d 20 30 78 30 T4_WORD = 0x0
b7b0: 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 007,..IMAGE_REL_
b7c0: 53 48 33 5f 44 49 52 45 43 54 34 5f 4c 4f 4e 47 SH3_DIRECT4_LONG
b7d0: 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a 09 49 = 0x0008,..I
b7e0: 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 50 43 52 MAGE_REL_SH3_PCR
b7f0: 45 4c 38 5f 57 4f 52 44 20 20 20 20 20 3d 20 30 EL8_WORD = 0
b800: 78 30 30 30 39 2c 0a 09 49 4d 41 47 45 5f 52 45 x0009,..IMAGE_RE
b810: 4c 5f 53 48 33 5f 50 43 52 45 4c 38 5f 4c 4f 4e L_SH3_PCREL8_LON
b820: 47 20 20 20 20 20 3d 20 30 78 30 30 30 41 2c 0a G = 0x000A,.
b830: 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 50 .IMAGE_REL_SH3_P
b840: 43 52 45 4c 31 32 5f 57 4f 52 44 20 20 20 20 3d CREL12_WORD =
b850: 20 30 78 30 30 30 42 2c 0a 09 49 4d 41 47 45 5f 0x000B,..IMAGE_
b860: 52 45 4c 5f 53 48 33 5f 53 54 41 52 54 4f 46 5f REL_SH3_STARTOF_
b870: 53 45 43 54 49 4f 4e 20 3d 20 30 78 30 30 30 43 SECTION = 0x000C
b880: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 ,..IMAGE_REL_SH3
b890: 5f 53 49 5a 45 4f 46 5f 53 45 43 54 49 4f 4e 20 _SIZEOF_SECTION
b8a0: 20 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d 41 47 = 0x000D,..IMAG
b8b0: 45 5f 52 45 4c 5f 53 48 33 5f 53 45 43 54 49 4f E_REL_SH3_SECTIO
b8c0: 4e 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 N = 0x00
b8d0: 30 45 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 0E,..IMAGE_REL_S
b8e0: 48 33 5f 53 45 43 52 45 4c 20 20 20 20 20 20 20 H3_SECREL
b8f0: 20 20 20 3d 20 30 78 30 30 30 46 2c 0a 09 49 4d = 0x000F,..IM
b900: 41 47 45 5f 52 45 4c 5f 53 48 33 5f 44 49 52 45 AGE_REL_SH3_DIRE
b910: 43 54 33 32 5f 4e 42 20 20 20 20 20 3d 20 30 78 CT32_NB = 0x
b920: 30 30 31 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 0010,..IMAGE_REL
b930: 5f 53 48 33 5f 47 50 52 45 4c 34 5f 4c 4f 4e 47 _SH3_GPREL4_LONG
b940: 20 20 20 20 20 3d 20 30 78 30 30 31 31 2c 0a 09 = 0x0011,..
b950: 49 4d 41 47 45 5f 52 45 4c 5f 53 48 33 5f 54 4f IMAGE_REL_SH3_TO
b960: 4b 45 4e 20 20 20 20 20 20 20 20 20 20 20 3d 20 KEN =
b970: 30 78 30 30 31 32 2c 0a 09 49 4d 41 47 45 5f 52 0x0012,..IMAGE_R
b980: 45 4c 5f 53 48 4d 5f 50 43 52 45 4c 50 54 20 20 EL_SHM_PCRELPT
b990: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 33 2c = 0x0013,
b9a0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 4d 5f ..IMAGE_REL_SHM_
b9b0: 52 45 46 4c 4f 20 20 20 20 20 20 20 20 20 20 20 REFLO
b9c0: 3d 20 30 78 30 30 31 34 2c 0a 09 49 4d 41 47 45 = 0x0014,..IMAGE
b9d0: 5f 52 45 4c 5f 53 48 4d 5f 52 45 46 48 41 4c 46 _REL_SHM_REFHALF
b9e0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 = 0x001
b9f0: 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 53 48 5,..IMAGE_REL_SH
ba00: 4d 5f 52 45 4c 4c 4f 20 20 20 20 20 20 20 20 20 M_RELLO
ba10: 20 20 3d 20 30 78 30 30 31 36 2c 0a 09 49 4d 41 = 0x0016,..IMA
ba20: 47 45 5f 52 45 4c 5f 53 48 4d 5f 52 45 4c 48 41 GE_REL_SHM_RELHA
ba30: 4c 46 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 LF = 0x0
ba40: 30 31 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 017,..IMAGE_REL_
ba50: 53 48 4d 5f 50 41 49 52 20 20 20 20 20 20 20 20 SHM_PAIR
ba60: 20 20 20 20 3d 20 30 78 30 30 31 38 2c 0a 09 49 = 0x0018,..I
ba70: 4d 41 47 45 5f 52 45 4c 5f 53 48 4d 5f 4e 4f 4d MAGE_REL_SHM_NOM
ba80: 4f 44 45 20 20 20 20 20 20 20 20 20 20 3d 20 30 ODE = 0
ba90: 78 38 30 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 x8000.}..enum :
baa0: 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 45 WORD {..IMAGE_RE
bab0: 4c 5f 4d 33 32 52 5f 41 42 53 4f 4c 55 54 45 20 L_M32R_ABSOLUTE
bac0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 2c 0a = 0x0000,.
bad0: 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f .IMAGE_REL_M32R_
bae0: 41 44 44 52 33 32 20 20 20 20 20 20 20 20 20 3d ADDR32 =
baf0: 20 30 78 30 30 30 31 2c 0a 09 49 4d 41 47 45 5f 0x0001,..IMAGE_
bb00: 52 45 4c 5f 4d 33 32 52 5f 41 44 44 52 33 32 4e REL_M32R_ADDR32N
bb10: 42 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 B = 0x0002
bb20: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 ,..IMAGE_REL_M32
bb30: 52 5f 41 44 44 52 32 34 20 20 20 20 20 20 20 20 R_ADDR24
bb40: 20 3d 20 30 78 30 30 30 33 2c 0a 09 49 4d 41 47 = 0x0003,..IMAG
bb50: 45 5f 52 45 4c 5f 4d 33 32 52 5f 47 50 52 45 4c E_REL_M32R_GPREL
bb60: 31 36 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 16 = 0x00
bb70: 30 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 04,..IMAGE_REL_M
bb80: 33 32 52 5f 50 43 52 45 4c 32 34 20 20 20 20 20 32R_PCREL24
bb90: 20 20 20 3d 20 30 78 30 30 30 35 2c 0a 09 49 4d = 0x0005,..IM
bba0: 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 50 43 52 AGE_REL_M32R_PCR
bbb0: 45 4c 31 36 20 20 20 20 20 20 20 20 3d 20 30 78 EL16 = 0x
bbc0: 30 30 30 36 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 0006,..IMAGE_REL
bbd0: 5f 4d 33 32 52 5f 50 43 52 45 4c 38 20 20 20 20 _M32R_PCREL8
bbe0: 20 20 20 20 20 3d 20 30 78 30 30 30 37 2c 0a 09 = 0x0007,..
bbf0: 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 52 IMAGE_REL_M32R_R
bc00: 45 46 48 41 4c 46 20 20 20 20 20 20 20 20 3d 20 EFHALF =
bc10: 30 78 30 30 30 38 2c 0a 09 49 4d 41 47 45 5f 52 0x0008,..IMAGE_R
bc20: 45 4c 5f 4d 33 32 52 5f 52 45 46 48 49 20 20 20 EL_M32R_REFHI
bc30: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 39 2c = 0x0009,
bc40: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 32 52 ..IMAGE_REL_M32R
bc50: 5f 52 45 46 4c 4f 20 20 20 20 20 20 20 20 20 20 _REFLO
bc60: 3d 20 30 78 30 30 30 41 2c 0a 09 49 4d 41 47 45 = 0x000A,..IMAGE
bc70: 5f 52 45 4c 5f 4d 33 32 52 5f 50 41 49 52 20 20 _REL_M32R_PAIR
bc80: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
bc90: 42 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 33 B,..IMAGE_REL_M3
bca0: 32 52 5f 53 45 43 54 49 4f 4e 20 20 20 20 20 20 2R_SECTION
bcb0: 20 20 3d 20 30 78 30 30 30 43 2c 0a 09 49 4d 41 = 0x000C,..IMA
bcc0: 47 45 5f 52 45 4c 5f 4d 33 32 52 5f 53 45 43 52 GE_REL_M32R_SECR
bcd0: 45 4c 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 EL = 0x0
bce0: 30 30 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 00D,..IMAGE_REL_
bcf0: 4d 33 32 52 5f 54 4f 4b 45 4e 20 20 20 20 20 20 M32R_TOKEN
bd00: 20 20 20 20 3d 20 30 78 30 30 30 45 0a 7d 0a 0a = 0x000E.}..
bd10: 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 49 enum : WORD {..I
bd20: 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 41 42 MAGE_REL_MIPS_AB
bd30: 53 4f 4c 55 54 45 20 20 20 20 20 20 20 3d 20 30 SOLUTE = 0
bd40: 78 30 30 30 30 2c 0a 09 49 4d 41 47 45 5f 52 45 x0000,..IMAGE_RE
bd50: 4c 5f 4d 49 50 53 5f 52 45 46 48 41 4c 46 20 20 L_MIPS_REFHALF
bd60: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a = 0x0001,.
bd70: 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f .IMAGE_REL_MIPS_
bd80: 52 45 46 57 4f 52 44 20 20 20 20 20 20 20 20 3d REFWORD =
bd90: 20 30 78 30 30 30 32 2c 0a 09 49 4d 41 47 45 5f 0x0002,..IMAGE_
bda0: 52 45 4c 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 52 REL_MIPS_JMPADDR
bdb0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 33 = 0x0003
bdc0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 ,..IMAGE_REL_MIP
bdd0: 53 5f 52 45 46 48 49 20 20 20 20 20 20 20 20 20 S_REFHI
bde0: 20 3d 20 30 78 30 30 30 34 2c 0a 09 49 4d 41 47 = 0x0004,..IMAG
bdf0: 45 5f 52 45 4c 5f 4d 49 50 53 5f 52 45 46 4c 4f E_REL_MIPS_REFLO
be00: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
be10: 30 35 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 05,..IMAGE_REL_M
be20: 49 50 53 5f 47 50 52 45 4c 20 20 20 20 20 20 20 IPS_GPREL
be30: 20 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 49 4d = 0x0006,..IM
be40: 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 4c 49 54 AGE_REL_MIPS_LIT
be50: 45 52 41 4c 20 20 20 20 20 20 20 20 3d 20 30 78 ERAL = 0x
be60: 30 30 30 37 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 0007,..IMAGE_REL
be70: 5f 4d 49 50 53 5f 53 45 43 54 49 4f 4e 20 20 20 _MIPS_SECTION
be80: 20 20 20 20 20 3d 20 30 78 30 30 30 41 2c 0a 09 = 0x000A,..
be90: 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 53 IMAGE_REL_MIPS_S
bea0: 45 43 52 45 4c 20 20 20 20 20 20 20 20 20 3d 20 ECREL =
beb0: 30 78 30 30 30 42 2c 0a 09 49 4d 41 47 45 5f 52 0x000B,..IMAGE_R
bec0: 45 4c 5f 4d 49 50 53 5f 53 45 43 52 45 4c 4c 4f EL_MIPS_SECRELLO
bed0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 43 2c = 0x000C,
bee0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 50 53 ..IMAGE_REL_MIPS
bef0: 5f 53 45 43 52 45 4c 48 49 20 20 20 20 20 20 20 _SECRELHI
bf00: 3d 20 30 78 30 30 30 44 2c 0a 09 49 4d 41 47 45 = 0x000D,..IMAGE
bf10: 5f 52 45 4c 5f 4d 49 50 53 5f 4a 4d 50 41 44 44 _REL_MIPS_JMPADD
bf20: 52 31 36 20 20 20 20 20 20 3d 20 30 78 30 30 31 R16 = 0x001
bf30: 30 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 4d 49 0,..IMAGE_REL_MI
bf40: 50 53 5f 52 45 46 57 4f 52 44 4e 42 20 20 20 20 PS_REFWORDNB
bf50: 20 20 3d 20 30 78 30 30 32 32 2c 0a 09 49 4d 41 = 0x0022,..IMA
bf60: 47 45 5f 52 45 4c 5f 4d 49 50 53 5f 50 41 49 52 GE_REL_MIPS_PAIR
bf70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
bf80: 30 32 35 0a 7d 0a 0a 0a 65 6e 75 6d 20 3a 20 57 025.}...enum : W
bf90: 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 45 4c ORD {..IMAGE_REL
bfa0: 5f 41 4c 50 48 41 5f 41 42 53 4f 4c 55 54 45 2c _ALPHA_ABSOLUTE,
bfb0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 ..IMAGE_REL_ALPH
bfc0: 41 5f 52 45 46 4c 4f 4e 47 2c 0a 09 49 4d 41 47 A_REFLONG,..IMAG
bfd0: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 51 E_REL_ALPHA_REFQ
bfe0: 55 41 44 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f UAD,..IMAGE_REL_
bff0: 41 4c 50 48 41 5f 47 50 52 45 4c 33 32 2c 0a 09 ALPHA_GPREL32,..
c000: 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f IMAGE_REL_ALPHA_
c010: 4c 49 54 45 52 41 4c 2c 0a 09 49 4d 41 47 45 5f LITERAL,..IMAGE_
c020: 52 45 4c 5f 41 4c 50 48 41 5f 4c 49 54 55 53 45 REL_ALPHA_LITUSE
c030: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 ,..IMAGE_REL_ALP
c040: 48 41 5f 47 50 44 49 53 50 2c 0a 09 49 4d 41 47 HA_GPDISP,..IMAG
c050: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 42 52 41 44 E_REL_ALPHA_BRAD
c060: 44 52 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 DR,..IMAGE_REL_A
c070: 4c 50 48 41 5f 48 49 4e 54 2c 0a 09 49 4d 41 47 LPHA_HINT,..IMAG
c080: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 49 4e 4c 49 E_REL_ALPHA_INLI
c090: 4e 45 5f 52 45 46 4c 4f 4e 47 2c 0a 09 49 4d 41 NE_REFLONG,..IMA
c0a0: 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 45 46 GE_REL_ALPHA_REF
c0b0: 48 49 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 HI,..IMAGE_REL_A
c0c0: 4c 50 48 41 5f 52 45 46 4c 4f 2c 0a 09 49 4d 41 LPHA_REFLO,..IMA
c0d0: 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 50 41 49 GE_REL_ALPHA_PAI
c0e0: 52 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 41 4c R,..IMAGE_REL_AL
c0f0: 50 48 41 5f 4d 41 54 43 48 2c 0a 09 49 4d 41 47 PHA_MATCH,..IMAG
c100: 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43 54 E_REL_ALPHA_SECT
c110: 49 4f 4e 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f ION,..IMAGE_REL_
c120: 41 4c 50 48 41 5f 53 45 43 52 45 4c 2c 0a 09 49 ALPHA_SECREL,..I
c130: 4d 41 47 45 5f 52 45 4c 5f 41 4c 50 48 41 5f 52 MAGE_REL_ALPHA_R
c140: 45 46 4c 4f 4e 47 4e 42 2c 0a 09 49 4d 41 47 45 EFLONGNB,..IMAGE
c150: 5f 52 45 4c 5f 41 4c 50 48 41 5f 53 45 43 52 45 _REL_ALPHA_SECRE
c160: 4c 4c 4f 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f LLO,..IMAGE_REL_
c170: 41 4c 50 48 41 5f 53 45 43 52 45 4c 48 49 20 2f ALPHA_SECRELHI /
c180: 2f 20 3d 20 31 38 0a 7d 0a 0a 65 6e 75 6d 20 3a / = 18.}..enum :
c190: 20 57 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 52 WORD {..IMAGE_R
c1a0: 45 4c 5f 50 50 43 5f 41 42 53 4f 4c 55 54 45 2c EL_PPC_ABSOLUTE,
c1b0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f ..IMAGE_REL_PPC_
c1c0: 41 44 44 52 36 34 2c 0a 09 49 4d 41 47 45 5f 52 ADDR64,..IMAGE_R
c1d0: 45 4c 5f 50 50 43 5f 41 44 44 52 33 32 2c 0a 09 EL_PPC_ADDR32,..
c1e0: 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 IMAGE_REL_PPC_AD
c1f0: 44 52 32 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c DR24,..IMAGE_REL
c200: 5f 50 50 43 5f 41 44 44 52 31 36 2c 0a 09 49 4d _PPC_ADDR16,..IM
c210: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 41 44 44 52 AGE_REL_PPC_ADDR
c220: 31 34 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 14,..IMAGE_REL_P
c230: 50 43 5f 52 45 4c 32 34 2c 0a 09 49 4d 41 47 45 PC_REL24,..IMAGE
c240: 5f 52 45 4c 5f 50 50 43 5f 52 45 4c 31 34 2c 0a _REL_PPC_REL14,.
c250: 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 54 .IMAGE_REL_PPC_T
c260: 4f 43 52 45 4c 31 36 2c 0a 09 49 4d 41 47 45 5f OCREL16,..IMAGE_
c270: 52 45 4c 5f 50 50 43 5f 54 4f 43 52 45 4c 31 34 REL_PPC_TOCREL14
c280: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 ,..IMAGE_REL_PPC
c290: 5f 41 44 44 52 33 32 4e 42 2c 0a 09 49 4d 41 47 _ADDR32NB,..IMAG
c2a0: 45 5f 52 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c E_REL_PPC_SECREL
c2b0: 2c 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 ,..IMAGE_REL_PPC
c2c0: 5f 53 45 43 54 49 4f 4e 2c 0a 09 49 4d 41 47 45 _SECTION,..IMAGE
c2d0: 5f 52 45 4c 5f 50 50 43 5f 49 46 47 4c 55 45 2c _REL_PPC_IFGLUE,
c2e0: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f ..IMAGE_REL_PPC_
c2f0: 49 4d 47 4c 55 45 2c 0a 09 49 4d 41 47 45 5f 52 IMGLUE,..IMAGE_R
c300: 45 4c 5f 50 50 43 5f 53 45 43 52 45 4c 31 36 2c EL_PPC_SECREL16,
c310: 0a 09 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f ..IMAGE_REL_PPC_
c320: 52 45 46 48 49 2c 0a 09 49 4d 41 47 45 5f 52 45 REFHI,..IMAGE_RE
c330: 4c 5f 50 50 43 5f 52 45 46 4c 4f 2c 0a 09 49 4d L_PPC_REFLO,..IM
c340: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 50 41 49 52 AGE_REL_PPC_PAIR
c350: 20 2f 2f 20 3d 20 31 38 0a 7d 0a 0a 2f 2f 20 3f // = 18.}..// ?
c360: 3f 3f 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52 ??.const IMAGE_R
c370: 45 4c 5f 50 50 43 5f 54 59 50 45 4d 41 53 4b 20 EL_PPC_TYPEMASK
c380: 3d 20 30 78 30 30 46 46 3b 0a 63 6f 6e 73 74 20 = 0x00FF;.const
c390: 49 4d 41 47 45 5f 52 45 4c 5f 50 50 43 5f 4e 45 IMAGE_REL_PPC_NE
c3a0: 47 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 3b G = 0x0100;
c3b0: 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 4c .const IMAGE_REL
c3c0: 5f 50 50 43 5f 42 52 54 41 4b 45 4e 20 20 3d 20 _PPC_BRTAKEN =
c3d0: 30 78 30 32 30 30 3b 0a 63 6f 6e 73 74 20 49 4d 0x0200;.const IM
c3e0: 41 47 45 5f 52 45 4c 5f 50 50 43 5f 42 52 4e 54 AGE_REL_PPC_BRNT
c3f0: 41 4b 45 4e 20 3d 20 30 78 30 34 30 30 3b 0a 63 AKEN = 0x0400;.c
c400: 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 4c 5f 50 onst IMAGE_REL_P
c410: 50 43 5f 54 4f 43 44 45 46 4e 20 20 3d 20 30 78 PC_TOCDEFN = 0x
c420: 30 38 30 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49 0800;..enum {..I
c430: 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44 5f 41 MAGE_REL_BASED_A
c440: 42 53 4f 4c 55 54 45 2c 0a 09 49 4d 41 47 45 5f BSOLUTE,..IMAGE_
c450: 52 45 4c 5f 42 41 53 45 44 5f 48 49 47 48 2c 0a REL_BASED_HIGH,.
c460: 09 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44 .IMAGE_REL_BASED
c470: 5f 4c 4f 57 2c 0a 09 49 4d 41 47 45 5f 52 45 4c _LOW,..IMAGE_REL
c480: 5f 42 41 53 45 44 5f 48 49 47 48 4c 4f 57 2c 0a _BASED_HIGHLOW,.
c490: 09 49 4d 41 47 45 5f 52 45 4c 5f 42 41 53 45 44 .IMAGE_REL_BASED
c4a0: 5f 48 49 47 48 41 44 4a 2c 0a 09 49 4d 41 47 45 _HIGHADJ,..IMAGE
c4b0: 5f 52 45 4c 5f 42 41 53 45 44 5f 4d 49 50 53 5f _REL_BASED_MIPS_
c4c0: 4a 4d 50 41 44 44 52 0a 7d 0a 2f 2f 20 45 6e 64 JMPADDR.}.// End
c4d0: 20 6f 66 20 63 6f 6e 73 74 61 6e 74 73 20 64 6f of constants do
c4e0: 63 75 6d 65 6e 74 65 64 20 69 6e 20 70 65 63 6f cumented in peco
c4f0: 66 66 2e 64 6f 63 0a 0a 63 6f 6e 73 74 20 73 69 ff.doc..const si
c500: 7a 65 5f 74 20 49 4d 41 47 45 5f 41 52 43 48 49 ze_t IMAGE_ARCHI
c510: 56 45 5f 53 54 41 52 54 5f 53 49 5a 45 20 3d 20 VE_START_SIZE =
c520: 38 3b 0a 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 8;..const TCHAR[
c530: 5d 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45 ]..IMAGE_ARCHIVE
c540: 5f 53 54 41 52 54 20 20 20 20 20 20 20 20 20 20 _START
c550: 20 20 3d 20 22 21 3c 61 72 63 68 3e 5c 6e 22 2c = "!<arch>\n",
c560: 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45 5f ..IMAGE_ARCHIVE_
c570: 45 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 END
c580: 20 3d 20 22 60 5c 6e 22 2c 0a 09 49 4d 41 47 45 = "`\n",..IMAGE
c590: 5f 41 52 43 48 49 56 45 5f 50 41 44 20 20 20 20 _ARCHIVE_PAD
c5a0: 20 20 20 20 20 20 20 20 20 20 3d 20 22 5c 6e 22 = "\n"
c5b0: 2c 0a 09 49 4d 41 47 45 5f 41 52 43 48 49 56 45 ,..IMAGE_ARCHIVE
c5c0: 5f 4c 49 4e 4b 45 52 5f 4d 45 4d 42 45 52 20 20 _LINKER_MEMBER
c5d0: 20 20 3d 20 22 2f 20 20 20 20 20 20 20 20 20 20 = "/
c5e0: 20 20 20 20 20 22 2c 0a 09 49 4d 41 47 45 5f 41 ",..IMAGE_A
c5f0: 52 43 48 49 56 45 5f 4c 4f 4e 47 4e 41 4d 45 53 RCHIVE_LONGNAMES
c600: 5f 4d 45 4d 42 45 52 20 3d 20 22 2f 2f 20 20 20 _MEMBER = "//
c610: 20 20 20 20 20 20 20 20 20 20 20 22 3b 0a 0a 63 ";..c
c620: 6f 6e 73 74 20 49 4d 41 47 45 5f 4f 52 44 49 4e onst IMAGE_ORDIN
c630: 41 4c 5f 46 4c 41 47 33 32 20 3d 20 30 78 38 30 AL_FLAG32 = 0x80
c640: 30 30 30 30 30 30 3b 0a 0a 75 6c 6f 6e 67 20 49 000000;..ulong I
c650: 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 36 34 28 75 MAGE_ORDINAL64(u
c660: 6c 6f 6e 67 20 4f 72 64 69 6e 61 6c 29 20 7b 20 long Ordinal) {
c670: 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c 20 26 return Ordinal &
c680: 20 30 78 46 46 46 46 3b 20 7d 0a 75 69 6e 74 20 0xFFFF; }.uint
c690: 49 4d 41 47 45 5f 4f 52 44 49 4e 41 4c 33 32 28 IMAGE_ORDINAL32(
c6a0: 75 69 6e 74 20 4f 72 64 69 6e 61 6c 29 20 20 20 uint Ordinal)
c6b0: 7b 20 72 65 74 75 72 6e 20 4f 72 64 69 6e 61 6c { return Ordinal
c6c0: 20 26 20 30 78 46 46 46 46 3b 20 7d 0a 0a 62 6f & 0xFFFF; }..bo
c6d0: 6f 6c 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 59 ol IMAGE_SNAP_BY
c6e0: 5f 4f 52 44 49 4e 41 4c 33 32 28 75 69 6e 74 20 _ORDINAL32(uint
c6f0: 4f 72 64 69 6e 61 6c 29 20 7b 0a 09 72 65 74 75 Ordinal) {..retu
c700: 72 6e 20 28 4f 72 64 69 6e 61 6c 20 26 20 49 4d rn (Ordinal & IM
c710: 41 47 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 AGE_ORDINAL_FLAG
c720: 33 32 29 20 21 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 32) != 0;.}..con
c730: 73 74 20 75 6c 6f 6e 67 20 49 4d 41 47 45 5f 4f st ulong IMAGE_O
c740: 52 44 49 4e 41 4c 5f 46 4c 41 47 36 34 20 3d 20 RDINAL_FLAG64 =
c750: 30 78 38 30 30 30 30 30 30 30 30 30 30 30 30 30 0x80000000000000
c760: 30 30 3b 0a 0a 62 6f 6f 6c 20 49 4d 41 47 45 5f 00;..bool IMAGE_
c770: 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e 41 4c 36 SNAP_BY_ORDINAL6
c780: 34 28 75 6c 6f 6e 67 20 4f 72 64 69 6e 61 6c 29 4(ulong Ordinal)
c790: 20 7b 0a 09 72 65 74 75 72 6e 20 28 4f 72 64 69 {..return (Ordi
c7a0: 6e 61 6c 20 26 20 49 4d 41 47 45 5f 4f 52 44 49 nal & IMAGE_ORDI
c7b0: 4e 41 4c 5f 46 4c 41 47 36 34 29 20 21 3d 20 30 NAL_FLAG64) != 0
c7c0: 3b 0a 7d 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 ;.}..// ???.cons
c7d0: 74 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 t IMAGE_RESOURCE
c7e0: 5f 4e 41 4d 45 5f 49 53 5f 53 54 52 49 4e 47 20 _NAME_IS_STRING
c7f0: 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 3b = 0x80000000;
c800: 0a 63 6f 6e 73 74 20 49 4d 41 47 45 5f 52 45 53 .const IMAGE_RES
c810: 4f 55 52 43 45 5f 44 41 54 41 5f 49 53 5f 44 49 OURCE_DATA_IS_DI
c820: 52 45 43 54 4f 52 59 20 3d 20 30 78 38 30 30 30 RECTORY = 0x8000
c830: 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57 0000;..enum : DW
c840: 4f 52 44 20 7b 0a 09 49 4d 41 47 45 5f 44 45 42 ORD {..IMAGE_DEB
c850: 55 47 5f 54 59 50 45 5f 55 4e 4b 4e 4f 57 4e 2c UG_TYPE_UNKNOWN,
c860: 0a 09 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 ..IMAGE_DEBUG_TY
c870: 50 45 5f 43 4f 46 46 2c 0a 09 49 4d 41 47 45 5f PE_COFF,..IMAGE_
c880: 44 45 42 55 47 5f 54 59 50 45 5f 43 4f 44 45 56 DEBUG_TYPE_CODEV
c890: 49 45 57 2c 0a 09 49 4d 41 47 45 5f 44 45 42 55 IEW,..IMAGE_DEBU
c8a0: 47 5f 54 59 50 45 5f 46 50 4f 2c 0a 09 49 4d 41 G_TYPE_FPO,..IMA
c8b0: 47 45 5f 44 45 42 55 47 5f 54 59 50 45 5f 4d 49 GE_DEBUG_TYPE_MI
c8c0: 53 43 2c 0a 09 49 4d 41 47 45 5f 44 45 42 55 47 SC,..IMAGE_DEBUG
c8d0: 5f 54 59 50 45 5f 45 58 43 45 50 54 49 4f 4e 2c _TYPE_EXCEPTION,
c8e0: 0a 09 49 4d 41 47 45 5f 44 45 42 55 47 5f 54 59 ..IMAGE_DEBUG_TY
c8f0: 50 45 5f 46 49 58 55 50 2c 0a 09 49 4d 41 47 45 PE_FIXUP,..IMAGE
c900: 5f 44 45 42 55 47 5f 54 59 50 45 5f 4f 4d 41 50 _DEBUG_TYPE_OMAP
c910: 5f 54 4f 5f 53 52 43 2c 0a 09 49 4d 41 47 45 5f _TO_SRC,..IMAGE_
c920: 44 45 42 55 47 5f 54 59 50 45 5f 4f 4d 41 50 5f DEBUG_TYPE_OMAP_
c930: 46 52 4f 4d 5f 53 52 43 2c 0a 09 49 4d 41 47 45 FROM_SRC,..IMAGE
c940: 5f 44 45 42 55 47 5f 54 59 50 45 5f 42 4f 52 4c _DEBUG_TYPE_BORL
c950: 41 4e 44 20 2f 2f 20 3d 20 39 0a 7d 0a 0a 65 6e AND // = 9.}..en
c960: 75 6d 20 3a 20 75 62 79 74 65 20 7b 0a 09 46 52 um : ubyte {..FR
c970: 41 4d 45 5f 46 50 4f 2c 0a 09 46 52 41 4d 45 5f AME_FPO,..FRAME_
c980: 54 52 41 50 2c 0a 09 46 52 41 4d 45 5f 54 53 53 TRAP,..FRAME_TSS
c990: 2c 0a 09 46 52 41 4d 45 5f 4e 4f 4e 46 50 4f 0a ,..FRAME_NONFPO.
c9a0: 7d 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 }..// ???.const
c9b0: 49 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 IMAGE_DEBUG_MISC
c9c0: 5f 45 58 45 4e 41 4d 45 20 3d 20 31 3b 0a 0a 2f _EXENAME = 1;../
c9d0: 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 4e 5f 42 54 / ???.const N_BT
c9e0: 4d 41 53 4b 20 3d 20 30 78 30 30 30 46 3b 0a 63 MASK = 0x000F;.c
c9f0: 6f 6e 73 74 20 4e 5f 54 4d 41 53 4b 20 20 3d 20 onst N_TMASK =
ca00: 30 78 30 30 33 30 3b 0a 63 6f 6e 73 74 20 4e 5f 0x0030;.const N_
ca10: 54 4d 41 53 4b 31 20 3d 20 30 78 30 30 43 30 3b TMASK1 = 0x00C0;
ca20: 0a 63 6f 6e 73 74 20 4e 5f 54 4d 41 53 4b 32 20 .const N_TMASK2
ca30: 3d 20 30 78 30 30 46 30 3b 0a 63 6f 6e 73 74 20 = 0x00F0;.const
ca40: 4e 5f 42 54 53 48 46 54 20 3d 20 34 3b 0a 63 6f N_BTSHFT = 4;.co
ca50: 6e 73 74 20 4e 5f 54 53 48 49 46 54 20 3d 20 32 nst N_TSHIFT = 2
ca60: 3b 0a 0a 63 6f 6e 73 74 20 69 6e 74 0a 09 49 53 ;..const int..IS
ca70: 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 41 53 _TEXT_UNICODE_AS
ca80: 43 49 49 31 36 20 20 20 20 20 20 20 20 20 20 20 CII16
ca90: 20 3d 20 30 78 30 30 30 31 2c 0a 09 49 53 5f 54 = 0x0001,..IS_T
caa0: 45 58 54 5f 55 4e 49 43 4f 44 45 5f 53 54 41 54 EXT_UNICODE_STAT
cab0: 49 53 54 49 43 53 20 20 20 20 20 20 20 20 20 3d ISTICS =
cac0: 20 30 78 30 30 30 32 2c 0a 09 49 53 5f 54 45 58 0x0002,..IS_TEX
cad0: 54 5f 55 4e 49 43 4f 44 45 5f 43 4f 4e 54 52 4f T_UNICODE_CONTRO
cae0: 4c 53 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 LS = 0
caf0: 78 30 30 30 34 2c 0a 09 49 53 5f 54 45 58 54 5f x0004,..IS_TEXT_
cb00: 55 4e 49 43 4f 44 45 5f 53 49 47 4e 41 54 55 52 UNICODE_SIGNATUR
cb10: 45 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 E = 0x0
cb20: 30 30 38 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 008,..IS_TEXT_UN
cb30: 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 41 53 ICODE_REVERSE_AS
cb40: 43 49 49 31 36 20 20 20 20 3d 20 30 78 30 30 31 CII16 = 0x001
cb50: 30 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 0,..IS_TEXT_UNIC
cb60: 4f 44 45 5f 52 45 56 45 52 53 45 5f 53 54 41 54 ODE_REVERSE_STAT
cb70: 49 53 54 49 43 53 20 3d 20 30 78 30 30 32 30 2c ISTICS = 0x0020,
cb80: 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 ..IS_TEXT_UNICOD
cb90: 45 5f 52 45 56 45 52 53 45 5f 43 4f 4e 54 52 4f E_REVERSE_CONTRO
cba0: 4c 53 20 20 20 3d 20 30 78 30 30 34 30 2c 0a 09 LS = 0x0040,..
cbb0: 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f IS_TEXT_UNICODE_
cbc0: 52 45 56 45 52 53 45 5f 53 49 47 4e 41 54 55 52 REVERSE_SIGNATUR
cbd0: 45 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 49 53 E = 0x0080,..IS
cbe0: 5f 54 45 58 54 5f 55 4e 49 43 4f 44 45 5f 49 4c _TEXT_UNICODE_IL
cbf0: 4c 45 47 41 4c 5f 43 48 41 52 53 20 20 20 20 20 LEGAL_CHARS
cc00: 20 3d 20 30 78 30 31 30 30 2c 0a 09 49 53 5f 54 = 0x0100,..IS_T
cc10: 45 58 54 5f 55 4e 49 43 4f 44 45 5f 4f 44 44 5f EXT_UNICODE_ODD_
cc20: 4c 45 4e 47 54 48 20 20 20 20 20 20 20 20 20 3d LENGTH =
cc30: 20 30 78 30 32 30 30 2c 0a 09 49 53 5f 54 45 58 0x0200,..IS_TEX
cc40: 54 5f 55 4e 49 43 4f 44 45 5f 4e 55 4c 4c 5f 42 T_UNICODE_NULL_B
cc50: 59 54 45 53 20 20 20 20 20 20 20 20 20 3d 20 30 YTES = 0
cc60: 78 31 30 30 30 2c 0a 09 49 53 5f 54 45 58 54 5f x1000,..IS_TEXT_
cc70: 55 4e 49 43 4f 44 45 5f 55 4e 49 43 4f 44 45 5f UNICODE_UNICODE_
cc80: 4d 41 53 4b 20 20 20 20 20 20 20 3d 20 30 78 30 MASK = 0x0
cc90: 30 30 46 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 00F,..IS_TEXT_UN
cca0: 49 43 4f 44 45 5f 52 45 56 45 52 53 45 5f 4d 41 ICODE_REVERSE_MA
ccb0: 53 4b 20 20 20 20 20 20 20 3d 20 30 78 30 30 46 SK = 0x00F
ccc0: 30 2c 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 0,..IS_TEXT_UNIC
ccd0: 4f 44 45 5f 4e 4f 54 5f 55 4e 49 43 4f 44 45 5f ODE_NOT_UNICODE_
cce0: 4d 41 53 4b 20 20 20 3d 20 30 78 30 46 30 30 2c MASK = 0x0F00,
ccf0: 0a 09 49 53 5f 54 45 58 54 5f 55 4e 49 43 4f 44 ..IS_TEXT_UNICOD
cd00: 45 5f 4e 4f 54 5f 41 53 43 49 49 5f 4d 41 53 4b E_NOT_ASCII_MASK
cd10: 20 20 20 20 20 3d 20 30 78 46 30 30 30 3b 0a 0a = 0xF000;..
cd20: 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53 45 52 const DWORD..SER
cd30: 56 49 43 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56 VICE_KERNEL_DRIV
cd40: 45 52 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 ER = 0x000
cd50: 31 2c 0a 09 53 45 52 56 49 43 45 5f 46 49 4c 45 1,..SERVICE_FILE
cd60: 5f 53 59 53 54 45 4d 5f 44 52 49 56 45 52 20 20 _SYSTEM_DRIVER
cd70: 3d 20 30 78 30 30 30 32 2c 0a 09 53 45 52 56 49 = 0x0002,..SERVI
cd80: 43 45 5f 41 44 41 50 54 45 52 20 20 20 20 20 20 CE_ADAPTER
cd90: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 2c = 0x0004,
cda0: 0a 09 53 45 52 56 49 43 45 5f 52 45 43 4f 47 4e ..SERVICE_RECOGN
cdb0: 49 5a 45 52 5f 44 52 49 56 45 52 20 20 20 3d 20 IZER_DRIVER =
cdc0: 30 78 30 30 30 38 2c 0a 09 53 45 52 56 49 43 45 0x0008,..SERVICE
cdd0: 5f 57 49 4e 33 32 5f 4f 57 4e 5f 50 52 4f 43 45 _WIN32_OWN_PROCE
cde0: 53 53 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 SS = 0x0010,..
cdf0: 53 45 52 56 49 43 45 5f 57 49 4e 33 32 5f 53 48 SERVICE_WIN32_SH
ce00: 41 52 45 5f 50 52 4f 43 45 53 53 20 3d 20 30 78 ARE_PROCESS = 0x
ce10: 30 30 32 30 2c 0a 09 53 45 52 56 49 43 45 5f 49 0020,..SERVICE_I
ce20: 4e 54 45 52 41 43 54 49 56 45 5f 50 52 4f 43 45 NTERACTIVE_PROCE
ce30: 53 53 20 3d 20 30 78 30 31 30 30 2c 0a 09 53 45 SS = 0x0100,..SE
ce40: 52 56 49 43 45 5f 44 52 49 56 45 52 20 20 20 20 RVICE_DRIVER
ce50: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
ce60: 30 42 2c 0a 09 53 45 52 56 49 43 45 5f 57 49 4e 0B,..SERVICE_WIN
ce70: 33 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32
ce80: 20 3d 20 30 78 30 30 33 30 2c 0a 09 53 45 52 56 = 0x0030,..SERV
ce90: 49 43 45 5f 54 59 50 45 5f 41 4c 4c 20 20 20 20 ICE_TYPE_ALL
cea0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 33 46 = 0x013F
ceb0: 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 ;..enum : DWORD
cec0: 7b 0a 09 53 45 52 56 49 43 45 5f 42 4f 4f 54 5f {..SERVICE_BOOT_
ced0: 53 54 41 52 54 20 20 20 3d 20 30 2c 0a 09 53 45 START = 0,..SE
cee0: 52 56 49 43 45 5f 53 59 53 54 45 4d 5f 53 54 41 RVICE_SYSTEM_STA
cef0: 52 54 20 3d 20 31 2c 0a 09 53 45 52 56 49 43 45 RT = 1,..SERVICE
cf00: 5f 41 55 54 4f 5f 53 54 41 52 54 20 20 20 3d 20 _AUTO_START =
cf10: 32 2c 0a 09 53 45 52 56 49 43 45 5f 44 45 4d 41 2,..SERVICE_DEMA
cf20: 4e 44 5f 53 54 41 52 54 20 3d 20 33 2c 0a 09 53 ND_START = 3,..S
cf30: 45 52 56 49 43 45 5f 44 49 53 41 42 4c 45 44 20 ERVICE_DISABLED
cf40: 20 20 20 20 3d 20 34 0a 7d 0a 0a 65 6e 75 6d 20 = 4.}..enum
cf50: 3a 20 44 57 4f 52 44 20 7b 0a 09 53 45 52 56 49 : DWORD {..SERVI
cf60: 43 45 5f 45 52 52 4f 52 5f 49 47 4e 4f 52 45 20 CE_ERROR_IGNORE
cf70: 20 20 3d 20 30 2c 0a 09 53 45 52 56 49 43 45 5f = 0,..SERVICE_
cf80: 45 52 52 4f 52 5f 4e 4f 52 4d 41 4c 20 20 20 3d ERROR_NORMAL =
cf90: 20 31 2c 0a 09 53 45 52 56 49 43 45 5f 45 52 52 1,..SERVICE_ERR
cfa0: 4f 52 5f 53 45 56 45 52 45 20 20 20 3d 20 32 2c OR_SEVERE = 2,
cfb0: 0a 09 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f ..SERVICE_ERROR_
cfc0: 43 52 49 54 49 43 41 4c 20 3d 20 33 0a 7d 0a 0a CRITICAL = 3.}..
cfd0: 0a 63 6f 6e 73 74 20 75 69 6e 74 0a 09 53 45 5f .const uint..SE_
cfe0: 4f 57 4e 45 52 5f 44 45 46 41 55 4c 54 45 44 20 OWNER_DEFAULTED
cff0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
d000: 31 2c 0a 09 53 45 5f 47 52 4f 55 50 5f 44 45 46 1,..SE_GROUP_DEF
d010: 41 55 4c 54 45 44 20 20 20 20 20 20 20 20 20 20 AULTED
d020: 3d 20 30 78 30 30 30 32 2c 0a 09 53 45 5f 44 41 = 0x0002,..SE_DA
d030: 43 4c 5f 50 52 45 53 45 4e 54 20 20 20 20 20 20 CL_PRESENT
d040: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 2c = 0x0004,
d050: 0a 09 53 45 5f 44 41 43 4c 5f 44 45 46 41 55 4c ..SE_DACL_DEFAUL
d060: 54 45 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 TED =
d070: 30 78 30 30 30 38 2c 0a 09 53 45 5f 53 41 43 4c 0x0008,..SE_SACL
d080: 5f 50 52 45 53 45 4e 54 20 20 20 20 20 20 20 20 _PRESENT
d090: 20 20 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 = 0x0010,..
d0a0: 53 45 5f 53 41 43 4c 5f 44 45 46 41 55 4c 54 45 SE_SACL_DEFAULTE
d0b0: 44 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 D = 0x
d0c0: 30 30 32 30 2c 0a 09 53 45 5f 44 41 43 4c 5f 41 0020,..SE_DACL_A
d0d0: 55 54 4f 5f 49 4e 48 45 52 49 54 5f 52 45 51 20 UTO_INHERIT_REQ
d0e0: 20 20 20 3d 20 30 78 30 31 30 30 2c 0a 09 53 45 = 0x0100,..SE
d0f0: 5f 53 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 _SACL_AUTO_INHER
d100: 49 54 5f 52 45 51 20 20 20 20 3d 20 30 78 30 32 IT_REQ = 0x02
d110: 30 30 2c 0a 09 53 45 5f 44 41 43 4c 5f 41 55 54 00,..SE_DACL_AUT
d120: 4f 5f 49 4e 48 45 52 49 54 45 44 20 20 20 20 20 O_INHERITED
d130: 20 3d 20 30 78 30 34 30 30 2c 0a 09 53 45 5f 53 = 0x0400,..SE_S
d140: 41 43 4c 5f 41 55 54 4f 5f 49 4e 48 45 52 49 54 ACL_AUTO_INHERIT
d150: 45 44 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 ED = 0x0800
d160: 2c 0a 09 53 45 5f 44 41 43 4c 5f 50 52 4f 54 45 ,..SE_DACL_PROTE
d170: 43 54 45 44 20 20 20 20 20 20 20 20 20 20 20 3d CTED =
d180: 20 30 78 31 30 30 30 2c 0a 09 53 45 5f 53 41 43 0x1000,..SE_SAC
d190: 4c 5f 50 52 4f 54 45 43 54 45 44 20 20 20 20 20 L_PROTECTED
d1a0: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 2c 0a = 0x2000,.
d1b0: 09 53 45 5f 53 45 4c 46 5f 52 45 4c 41 54 49 56 .SE_SELF_RELATIV
d1c0: 45 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 E = 0
d1d0: 78 38 30 30 30 3b 0a 0a 65 6e 75 6d 20 53 45 43 x8000;..enum SEC
d1e0: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 URITY_IMPERSONAT
d1f0: 49 4f 4e 5f 4c 45 56 45 4c 20 7b 0a 09 53 65 63 ION_LEVEL {..Sec
d200: 75 72 69 74 79 41 6e 6f 6e 79 6d 6f 75 73 2c 0a urityAnonymous,.
d210: 09 53 65 63 75 72 69 74 79 49 64 65 6e 74 69 66 .SecurityIdentif
d220: 69 63 61 74 69 6f 6e 2c 0a 09 53 65 63 75 72 69 ication,..Securi
d230: 74 79 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 2c tyImpersonation,
d240: 0a 09 53 65 63 75 72 69 74 79 44 65 6c 65 67 61 ..SecurityDelega
d250: 74 69 6f 6e 0a 7d 0a 61 6c 69 61 73 20 53 45 43 tion.}.alias SEC
d260: 55 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 URITY_IMPERSONAT
d270: 49 4f 4e 5f 4c 45 56 45 4c 2a 20 50 53 45 43 55 ION_LEVEL* PSECU
d280: 52 49 54 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 RITY_IMPERSONATI
d290: 4f 4e 5f 4c 45 56 45 4c 3b 0a 0a 61 6c 69 61 73 ON_LEVEL;..alias
d2a0: 20 42 4f 4f 4c 45 41 4e 20 53 45 43 55 52 49 54 BOOLEAN SECURIT
d2b0: 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b 49 Y_CONTEXT_TRACKI
d2c0: 4e 47 5f 4d 4f 44 45 3b 0a 61 6c 69 61 73 20 42 NG_MODE;.alias B
d2d0: 4f 4f 4c 45 41 4e 2a 20 50 53 45 43 55 52 49 54 OOLEAN* PSECURIT
d2e0: 59 5f 43 4f 4e 54 45 58 54 5f 54 52 41 43 4b 49 Y_CONTEXT_TRACKI
d2f0: 4e 47 5f 4d 4f 44 45 3b 0a 0a 63 6f 6e 73 74 20 NG_MODE;..const
d300: 73 69 7a 65 5f 74 20 53 45 43 55 52 49 54 59 5f size_t SECURITY_
d310: 44 45 53 43 52 49 50 54 4f 52 5f 4d 49 4e 5f 4c DESCRIPTOR_MIN_L
d320: 45 4e 47 54 48 20 3d 20 32 30 3b 0a 0a 63 6f 6e ENGTH = 20;..con
d330: 73 74 20 44 57 4f 52 44 0a 09 53 45 43 55 52 49 st DWORD..SECURI
d340: 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 52 45 TY_DESCRIPTOR_RE
d350: 56 49 53 49 4f 4e 20 20 3d 20 31 2c 0a 09 53 45 VISION = 1,..SE
d360: 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f CURITY_DESCRIPTO
d370: 52 5f 52 45 56 49 53 49 4f 4e 31 20 3d 20 31 3b R_REVISION1 = 1;
d380: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 53 ..const DWORD..S
d390: 45 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e 41 42 E_PRIVILEGE_ENAB
d3a0: 4c 45 44 5f 42 59 5f 44 45 46 41 55 4c 54 20 3d LED_BY_DEFAULT =
d3b0: 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 53 45 0x00000001,..SE
d3c0: 5f 50 52 49 56 49 4c 45 47 45 5f 45 4e 41 42 4c _PRIVILEGE_ENABL
d3d0: 45 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 ED =
d3e0: 30 78 30 30 30 30 30 30 30 32 2c 0a 09 53 45 5f 0x00000002,..SE_
d3f0: 50 52 49 56 49 4c 45 47 45 5f 55 53 45 44 5f 46 PRIVILEGE_USED_F
d400: 4f 52 5f 41 43 43 45 53 53 20 20 20 20 3d 20 30 OR_ACCESS = 0
d410: 78 38 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e 73 x80000000;..cons
d420: 74 20 44 57 4f 52 44 20 50 52 49 56 49 4c 45 47 t DWORD PRIVILEG
d430: 45 5f 53 45 54 5f 41 4c 4c 5f 4e 45 43 45 53 53 E_SET_ALL_NECESS
d440: 41 52 59 20 3d 20 31 3b 0a 0a 63 6f 6e 73 74 20 ARY = 1;..const
d450: 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 4f SECURITY_IMPERSO
d460: 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 0a 09 53 45 NATION_LEVEL..SE
d470: 43 55 52 49 54 59 5f 4d 41 58 5f 49 4d 50 45 52 CURITY_MAX_IMPER
d480: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 3d SONATION_LEVEL =
d490: 20 53 45 43 55 52 49 54 59 5f 49 4d 50 45 52 53 SECURITY_IMPERS
d4a0: 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 2e 53 65 ONATION_LEVEL.Se
d4b0: 63 75 72 69 74 79 44 65 6c 65 67 61 74 69 6f 6e curityDelegation
d4c0: 2c 0a 09 44 45 46 41 55 4c 54 5f 49 4d 50 45 52 ,..DEFAULT_IMPER
d4d0: 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c 20 20 SONATION_LEVEL
d4e0: 20 20 20 20 3d 20 53 45 43 55 52 49 54 59 5f 49 = SECURITY_I
d4f0: 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 MPERSONATION_LEV
d500: 45 4c 2e 53 65 63 75 72 69 74 79 49 6d 70 65 72 EL.SecurityImper
d510: 73 6f 6e 61 74 69 6f 6e 3b 0a 0a 63 6f 6e 73 74 sonation;..const
d520: 20 42 4f 4f 4c 45 41 4e 0a 09 53 45 43 55 52 49 BOOLEAN..SECURI
d530: 54 59 5f 44 59 4e 41 4d 49 43 5f 54 52 41 43 4b TY_DYNAMIC_TRACK
d540: 49 4e 47 20 3d 20 74 72 75 65 2c 0a 09 53 45 43 ING = true,..SEC
d550: 55 52 49 54 59 5f 53 54 41 54 49 43 5f 54 52 41 URITY_STATIC_TRA
d560: 43 4b 49 4e 47 20 20 3d 20 66 61 6c 73 65 3b 0a CKING = false;.
d570: 0a 2f 2f 20 61 6c 73 6f 20 69 6e 20 64 64 6b 2f .// also in ddk/
d580: 6e 74 69 66 73 2e 68 0a 63 6f 6e 73 74 20 44 57 ntifs.h.const DW
d590: 4f 52 44 0a 09 54 4f 4b 45 4e 5f 41 53 53 49 47 ORD..TOKEN_ASSIG
d5a0: 4e 5f 50 52 49 4d 41 52 59 20 20 20 20 3d 20 30 N_PRIMARY = 0
d5b0: 78 30 30 30 31 2c 0a 09 54 4f 4b 45 4e 5f 44 55 x0001,..TOKEN_DU
d5c0: 50 4c 49 43 41 54 45 20 20 20 20 20 20 20 20 20 PLICATE
d5d0: 3d 20 30 78 30 30 30 32 2c 0a 09 54 4f 4b 45 4e = 0x0002,..TOKEN
d5e0: 5f 49 4d 50 45 52 53 4f 4e 41 54 45 20 20 20 20 _IMPERSONATE
d5f0: 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 54 4f = 0x0004,..TO
d600: 4b 45 4e 5f 51 55 45 52 59 20 20 20 20 20 20 20 KEN_QUERY
d610: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a = 0x0008,.
d620: 09 54 4f 4b 45 4e 5f 51 55 45 52 59 5f 53 4f 55 .TOKEN_QUERY_SOU
d630: 52 43 45 20 20 20 20 20 20 3d 20 30 78 30 30 31 RCE = 0x001
d640: 30 2c 0a 09 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 0,..TOKEN_ADJUST
d650: 5f 50 52 49 56 49 4c 45 47 45 53 20 3d 20 30 78 _PRIVILEGES = 0x
d660: 30 30 32 30 2c 0a 09 54 4f 4b 45 4e 5f 41 44 4a 0020,..TOKEN_ADJ
d670: 55 53 54 5f 47 52 4f 55 50 53 20 20 20 20 20 3d UST_GROUPS =
d680: 20 30 78 30 30 34 30 2c 0a 09 54 4f 4b 45 4e 5f 0x0040,..TOKEN_
d690: 41 44 4a 55 53 54 5f 44 45 46 41 55 4c 54 20 20 ADJUST_DEFAULT
d6a0: 20 20 3d 20 30 78 30 30 38 30 2c 0a 0a 09 54 4f = 0x0080,...TO
d6b0: 4b 45 4e 5f 41 4c 4c 5f 41 43 43 45 53 53 20 20 KEN_ALL_ACCESS
d6c0: 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44 = STANDARD
d6d0: 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 _RIGHTS_REQUIRED
d6e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
d6f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
d700: 20 54 4f 4b 45 4e 5f 41 53 53 49 47 4e 5f 50 52 TOKEN_ASSIGN_PR
d710: 49 4d 41 52 59 0a 20 20 20 20 20 20 20 20 20 20 IMARY.
d720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d730: 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 44 55 50 4c | TOKEN_DUPL
d740: 49 43 41 54 45 0a 20 20 20 20 20 20 20 20 20 20 ICATE.
d750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d760: 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 49 4d 50 45 | TOKEN_IMPE
d770: 52 53 4f 4e 41 54 45 0a 20 20 20 20 20 20 20 20 RSONATE.
d780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d790: 20 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 51 55 | TOKEN_QU
d7a0: 45 52 59 0a 20 20 20 20 20 20 20 20 20 20 20 20 ERY.
d7b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d7c0: 20 20 7c 20 54 4f 4b 45 4e 5f 51 55 45 52 59 5f | TOKEN_QUERY_
d7d0: 53 4f 55 52 43 45 0a 20 20 20 20 20 20 20 20 20 SOURCE.
d7e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d7f0: 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a | TOKEN_ADJ
d800: 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53 0a 20 UST_PRIVILEGES.
d810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d820: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 54 | T
d830: 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 47 52 4f 55 OKEN_ADJUST_GROU
d840: 50 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 PS.
d850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d860: 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f | TOKEN_ADJUST_
d870: 44 45 46 41 55 4c 54 2c 0a 09 54 4f 4b 45 4e 5f DEFAULT,..TOKEN_
d880: 52 45 41 44 20 20 20 20 20 20 20 20 20 20 20 20 READ
d890: 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 = STANDARD_RIG
d8a0: 48 54 53 5f 52 45 41 44 20 7c 20 54 4f 4b 45 4e HTS_READ | TOKEN
d8b0: 5f 51 55 45 52 59 2c 0a 09 54 4f 4b 45 4e 5f 57 _QUERY,..TOKEN_W
d8c0: 52 49 54 45 20 20 20 20 20 20 20 20 20 20 20 20 RITE
d8d0: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 = STANDARD_RIGH
d8e0: 54 53 5f 57 52 49 54 45 0a 20 20 20 20 20 20 20 TS_WRITE.
d8f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d900: 20 20 20 20 20 20 20 7c 20 54 4f 4b 45 4e 5f 41 | TOKEN_A
d910: 44 4a 55 53 54 5f 50 52 49 56 49 4c 45 47 45 53 DJUST_PRIVILEGES
d920: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
d930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
d940: 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 54 5f 47 52 TOKEN_ADJUST_GR
d950: 4f 55 50 53 0a 20 20 20 20 20 20 20 20 20 20 20 OUPS.
d960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
d970: 20 20 20 7c 20 54 4f 4b 45 4e 5f 41 44 4a 55 53 | TOKEN_ADJUS
d980: 54 5f 44 45 46 41 55 4c 54 2c 0a 09 54 4f 4b 45 T_DEFAULT,..TOKE
d990: 4e 5f 45 58 45 43 55 54 45 20 20 20 20 20 20 20 N_EXECUTE
d9a0: 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 = STANDARD_R
d9b0: 49 47 48 54 53 5f 45 58 45 43 55 54 45 3b 0a 0a IGHTS_EXECUTE;..
d9c0: 63 6f 6e 73 74 20 73 69 7a 65 5f 74 20 54 4f 4b const size_t TOK
d9d0: 45 4e 5f 53 4f 55 52 43 45 5f 4c 45 4e 47 54 48 EN_SOURCE_LENGTH
d9e0: 20 3d 20 38 3b 0a 2f 2f 20 65 6e 64 20 64 64 6b = 8;.// end ddk
d9f0: 2f 6e 74 69 66 73 2e 68 0a 0a 65 6e 75 6d 20 3a /ntifs.h..enum :
da00: 20 44 57 4f 52 44 20 7b 0a 09 44 4c 4c 5f 50 52 DWORD {..DLL_PR
da10: 4f 43 45 53 53 5f 44 45 54 41 43 48 2c 0a 09 44 OCESS_DETACH,..D
da20: 4c 4c 5f 50 52 4f 43 45 53 53 5f 41 54 54 41 43 LL_PROCESS_ATTAC
da30: 48 2c 0a 09 44 4c 4c 5f 54 48 52 45 41 44 5f 41 H,..DLL_THREAD_A
da40: 54 54 41 43 48 2c 0a 09 44 4c 4c 5f 54 48 52 45 TTACH,..DLL_THRE
da50: 41 44 5f 44 45 54 41 43 48 0a 7d 0a 0a 65 6e 75 AD_DETACH.}..enu
da60: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 44 42 47 m : DWORD {..DBG
da70: 5f 43 4f 4e 54 49 4e 55 45 20 20 20 20 20 20 20 _CONTINUE
da80: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 = 0x00010
da90: 30 30 32 2c 0a 09 44 42 47 5f 54 45 52 4d 49 4e 002,..DBG_TERMIN
daa0: 41 54 45 5f 54 48 52 45 41 44 20 20 20 20 20 20 ATE_THREAD
dab0: 3d 20 30 78 34 30 30 31 30 30 30 33 2c 0a 09 44 = 0x40010003,..D
dac0: 42 47 5f 54 45 52 4d 49 4e 41 54 45 5f 50 52 4f BG_TERMINATE_PRO
dad0: 43 45 53 53 20 20 20 20 20 3d 20 30 78 34 30 30 CESS = 0x400
dae0: 31 30 30 30 34 2c 0a 09 44 42 47 5f 43 4f 4e 54 10004,..DBG_CONT
daf0: 52 4f 4c 5f 43 20 20 20 20 20 20 20 20 20 20 20 ROL_C
db00: 20 20 3d 20 30 78 34 30 30 31 30 30 30 35 2c 0a = 0x40010005,.
db10: 09 44 42 47 5f 43 4f 4e 54 52 4f 4c 5f 42 52 45 .DBG_CONTROL_BRE
db20: 41 4b 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 AK = 0x4
db30: 30 30 31 30 30 30 38 2c 0a 09 44 42 47 5f 45 58 0010008,..DBG_EX
db40: 43 45 50 54 49 4f 4e 5f 4e 4f 54 5f 48 41 4e 44 CEPTION_NOT_HAND
db50: 4c 45 44 20 3d 20 30 78 38 30 30 31 30 30 30 31 LED = 0x80010001
db60: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 .}..enum : DWORD
db70: 20 7b 0a 09 54 41 50 45 5f 41 42 53 4f 4c 55 54 {..TAPE_ABSOLUT
db80: 45 5f 50 4f 53 49 54 49 4f 4e 2c 0a 09 54 41 50 E_POSITION,..TAP
db90: 45 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49 54 49 E_LOGICAL_POSITI
dba0: 4f 4e 2c 0a 09 54 41 50 45 5f 50 53 45 55 44 4f ON,..TAPE_PSEUDO
dbb0: 5f 4c 4f 47 49 43 41 4c 5f 50 4f 53 49 54 49 4f _LOGICAL_POSITIO
dbc0: 4e 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 N.}..enum : DWOR
dbd0: 44 20 7b 0a 09 54 41 50 45 5f 52 45 57 49 4e 44 D {..TAPE_REWIND
dbe0: 2c 0a 09 54 41 50 45 5f 41 42 53 4f 4c 55 54 45 ,..TAPE_ABSOLUTE
dbf0: 5f 42 4c 4f 43 4b 2c 0a 09 54 41 50 45 5f 4c 4f _BLOCK,..TAPE_LO
dc00: 47 49 43 41 4c 5f 42 4c 4f 43 4b 2c 0a 09 54 41 GICAL_BLOCK,..TA
dc10: 50 45 5f 50 53 45 55 44 4f 5f 4c 4f 47 49 43 41 PE_PSEUDO_LOGICA
dc20: 4c 5f 42 4c 4f 43 4b 2c 0a 09 54 41 50 45 5f 53 L_BLOCK,..TAPE_S
dc30: 50 41 43 45 5f 45 4e 44 5f 4f 46 5f 44 41 54 41 PACE_END_OF_DATA
dc40: 2c 0a 09 54 41 50 45 5f 53 50 41 43 45 5f 52 45 ,..TAPE_SPACE_RE
dc50: 4c 41 54 49 56 45 5f 42 4c 4f 43 4b 53 2c 0a 09 LATIVE_BLOCKS,..
dc60: 54 41 50 45 5f 53 50 41 43 45 5f 46 49 4c 45 4d TAPE_SPACE_FILEM
dc70: 41 52 4b 53 2c 0a 09 54 41 50 45 5f 53 50 41 43 ARKS,..TAPE_SPAC
dc80: 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f 46 4d 4b E_SEQUENTIAL_FMK
dc90: 53 2c 0a 09 54 41 50 45 5f 53 50 41 43 45 5f 53 S,..TAPE_SPACE_S
dca0: 45 54 4d 41 52 4b 53 2c 0a 09 54 41 50 45 5f 53 ETMARKS,..TAPE_S
dcb0: 50 41 43 45 5f 53 45 51 55 45 4e 54 49 41 4c 5f PACE_SEQUENTIAL_
dcc0: 53 4d 4b 53 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 SMKS.}..const DW
dcd0: 4f 52 44 0a 09 54 41 50 45 5f 44 52 49 56 45 5f ORD..TAPE_DRIVE_
dce0: 46 49 58 45 44 20 20 20 20 20 20 20 20 20 20 20 FIXED
dcf0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 = 0x00000001,..
dd00: 54 41 50 45 5f 44 52 49 56 45 5f 53 45 4c 45 43 TAPE_DRIVE_SELEC
dd10: 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 T = 0x
dd20: 30 30 30 30 30 30 30 32 2c 0a 09 54 41 50 45 5f 00000002,..TAPE_
dd30: 44 52 49 56 45 5f 49 4e 49 54 49 41 54 4f 52 20 DRIVE_INITIATOR
dd40: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
dd50: 30 30 34 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 004,..TAPE_DRIVE
dd60: 5f 45 52 41 53 45 5f 53 48 4f 52 54 20 20 20 20 _ERASE_SHORT
dd70: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a = 0x00000010,.
dd80: 09 54 41 50 45 5f 44 52 49 56 45 5f 45 52 41 53 .TAPE_DRIVE_ERAS
dd90: 45 5f 4c 4f 4e 47 20 20 20 20 20 20 20 3d 20 30 E_LONG = 0
dda0: 78 30 30 30 30 30 30 32 30 2c 0a 09 54 41 50 45 x00000020,..TAPE
ddb0: 5f 44 52 49 56 45 5f 45 52 41 53 45 5f 42 4f 50 _DRIVE_ERASE_BOP
ddc0: 5f 4f 4e 4c 59 20 20 20 3d 20 30 78 30 30 30 30 _ONLY = 0x0000
ddd0: 30 30 34 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 0040,..TAPE_DRIV
dde0: 45 5f 45 52 41 53 45 5f 49 4d 4d 45 44 49 41 54 E_ERASE_IMMEDIAT
ddf0: 45 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c E = 0x00000080,
de00: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 54 41 50 ..TAPE_DRIVE_TAP
de10: 45 5f 43 41 50 41 43 49 54 59 20 20 20 20 3d 20 E_CAPACITY =
de20: 30 78 30 30 30 30 30 31 30 30 2c 0a 09 54 41 50 0x00000100,..TAP
de30: 45 5f 44 52 49 56 45 5f 54 41 50 45 5f 52 45 4d E_DRIVE_TAPE_REM
de40: 41 49 4e 49 4e 47 20 20 20 3d 20 30 78 30 30 30 AINING = 0x000
de50: 30 30 32 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 00200,..TAPE_DRI
de60: 56 45 5f 46 49 58 45 44 5f 42 4c 4f 43 4b 20 20 VE_FIXED_BLOCK
de70: 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 = 0x00000400
de80: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 56 41 ,..TAPE_DRIVE_VA
de90: 52 49 41 42 4c 45 5f 42 4c 4f 43 4b 20 20 20 3d RIABLE_BLOCK =
dea0: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 54 41 0x00000800,..TA
deb0: 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 50 PE_DRIVE_WRITE_P
dec0: 52 4f 54 45 43 54 20 20 20 20 3d 20 30 78 30 30 ROTECT = 0x00
ded0: 30 30 31 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 001000,..TAPE_DR
dee0: 49 56 45 5f 45 4f 54 5f 57 5a 5f 53 49 5a 45 20 IVE_EOT_WZ_SIZE
def0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30 = 0x0000200
df00: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 45 0,..TAPE_DRIVE_E
df10: 43 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 CC
df20: 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0a 09 54 = 0x00010000,..T
df30: 41 50 45 5f 44 52 49 56 45 5f 43 4f 4d 50 52 45 APE_DRIVE_COMPRE
df40: 53 53 49 4f 4e 20 20 20 20 20 20 3d 20 30 78 30 SSION = 0x0
df50: 30 30 32 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 0020000,..TAPE_D
df60: 52 49 56 45 5f 50 41 44 44 49 4e 47 20 20 20 20 RIVE_PADDING
df70: 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 30 30 = 0x000400
df80: 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 00,..TAPE_DRIVE_
df90: 52 45 50 4f 52 54 5f 53 4d 4b 53 20 20 20 20 20 REPORT_SMKS
dfa0: 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09 = 0x00080000,..
dfb0: 54 41 50 45 5f 44 52 49 56 45 5f 47 45 54 5f 41 TAPE_DRIVE_GET_A
dfc0: 42 53 4f 4c 55 54 45 5f 42 4c 4b 20 3d 20 30 78 BSOLUTE_BLK = 0x
dfd0: 30 30 31 30 30 30 30 30 2c 0a 09 54 41 50 45 5f 00100000,..TAPE_
dfe0: 44 52 49 56 45 5f 47 45 54 5f 4c 4f 47 49 43 41 DRIVE_GET_LOGICA
dff0: 4c 5f 42 4c 4b 20 20 3d 20 30 78 30 30 32 30 30 L_BLK = 0x00200
e000: 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 000,..TAPE_DRIVE
e010: 5f 53 45 54 5f 45 4f 54 5f 57 5a 5f 53 49 5a 45 _SET_EOT_WZ_SIZE
e020: 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a = 0x00400000,.
e030: 09 54 41 50 45 5f 44 52 49 56 45 5f 45 4a 45 43 .TAPE_DRIVE_EJEC
e040: 54 5f 4d 45 44 49 41 20 20 20 20 20 20 3d 20 30 T_MEDIA = 0
e050: 78 30 31 30 30 30 30 30 30 2c 0a 09 54 41 50 45 x01000000,..TAPE
e060: 5f 44 52 49 56 45 5f 43 4c 45 41 4e 5f 52 45 51 _DRIVE_CLEAN_REQ
e070: 55 45 53 54 53 20 20 20 3d 20 30 78 30 32 30 30 UESTS = 0x0200
e080: 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 0000,..TAPE_DRIV
e090: 45 5f 53 45 54 5f 43 4d 50 5f 42 4f 50 5f 4f 4e E_SET_CMP_BOP_ON
e0a0: 4c 59 20 3d 20 30 78 30 34 30 30 30 30 30 30 2c LY = 0x04000000,
e0b0: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 52 45 53 ..TAPE_DRIVE_RES
e0c0: 45 52 56 45 44 5f 42 49 54 20 20 20 20 20 3d 20 ERVED_BIT =
e0d0: 30 78 38 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e 0x80000000;..con
e0e0: 73 74 20 44 57 4f 52 44 0a 09 54 41 50 45 5f 44 st DWORD..TAPE_D
e0f0: 52 49 56 45 5f 4c 4f 41 44 5f 55 4e 4c 4f 41 44 RIVE_LOAD_UNLOAD
e100: 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 = 0x800000
e110: 30 31 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 01,..TAPE_DRIVE_
e120: 54 45 4e 53 49 4f 4e 20 20 20 20 20 20 20 20 20 TENSION
e130: 20 3d 20 30 78 38 30 30 30 30 30 30 32 2c 0a 09 = 0x80000002,..
e140: 54 41 50 45 5f 44 52 49 56 45 5f 4c 4f 43 4b 5f TAPE_DRIVE_LOCK_
e150: 55 4e 4c 4f 43 4b 20 20 20 20 20 20 3d 20 30 78 UNLOCK = 0x
e160: 38 30 30 30 30 30 30 34 2c 0a 09 54 41 50 45 5f 80000004,..TAPE_
e170: 44 52 49 56 45 5f 52 45 57 49 4e 44 5f 49 4d 4d DRIVE_REWIND_IMM
e180: 45 44 49 41 54 45 20 3d 20 30 78 38 30 30 30 30 EDIATE = 0x80000
e190: 30 30 38 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 008,..TAPE_DRIVE
e1a0: 5f 53 45 54 5f 42 4c 4f 43 4b 5f 53 49 5a 45 20 _SET_BLOCK_SIZE
e1b0: 20 20 3d 20 30 78 38 30 30 30 30 30 31 30 2c 0a = 0x80000010,.
e1c0: 09 54 41 50 45 5f 44 52 49 56 45 5f 4c 4f 41 44 .TAPE_DRIVE_LOAD
e1d0: 5f 55 4e 4c 44 5f 49 4d 4d 45 44 20 20 3d 20 30 _UNLD_IMMED = 0
e1e0: 78 38 30 30 30 30 30 32 30 2c 0a 09 54 41 50 45 x80000020,..TAPE
e1f0: 5f 44 52 49 56 45 5f 54 45 4e 53 49 4f 4e 5f 49 _DRIVE_TENSION_I
e200: 4d 4d 45 44 20 20 20 20 3d 20 30 78 38 30 30 30 MMED = 0x8000
e210: 30 30 34 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 0040,..TAPE_DRIV
e220: 45 5f 4c 4f 43 4b 5f 55 4e 4c 4b 5f 49 4d 4d 45 E_LOCK_UNLK_IMME
e230: 44 20 20 3d 20 30 78 38 30 30 30 30 30 38 30 2c D = 0x80000080,
e240: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45 54 ..TAPE_DRIVE_SET
e250: 5f 45 43 43 20 20 20 20 20 20 20 20 20 20 3d 20 _ECC =
e260: 30 78 38 30 30 30 30 31 30 30 2c 0a 09 54 41 50 0x80000100,..TAP
e270: 45 5f 44 52 49 56 45 5f 53 45 54 5f 43 4f 4d 50 E_DRIVE_SET_COMP
e280: 52 45 53 53 49 4f 4e 20 20 3d 20 30 78 38 30 30 RESSION = 0x800
e290: 30 30 32 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 00200,..TAPE_DRI
e2a0: 56 45 5f 53 45 54 5f 50 41 44 44 49 4e 47 20 20 VE_SET_PADDING
e2b0: 20 20 20 20 3d 20 30 78 38 30 30 30 30 34 30 30 = 0x80000400
e2c0: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45 ,..TAPE_DRIVE_SE
e2d0: 54 5f 52 45 50 4f 52 54 5f 53 4d 4b 53 20 20 3d T_REPORT_SMKS =
e2e0: 20 30 78 38 30 30 30 30 38 30 30 2c 0a 09 54 41 0x80000800,..TA
e2f0: 50 45 5f 44 52 49 56 45 5f 41 42 53 4f 4c 55 54 PE_DRIVE_ABSOLUT
e300: 45 5f 42 4c 4b 20 20 20 20 20 3d 20 30 78 38 30 E_BLK = 0x80
e310: 30 30 31 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 001000,..TAPE_DR
e320: 49 56 45 5f 41 42 53 5f 42 4c 4b 5f 49 4d 4d 45 IVE_ABS_BLK_IMME
e330: 44 20 20 20 20 3d 20 30 78 38 30 30 30 32 30 30 D = 0x8000200
e340: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 4c 0,..TAPE_DRIVE_L
e350: 4f 47 49 43 41 4c 5f 42 4c 4b 20 20 20 20 20 20 OGICAL_BLK
e360: 3d 20 30 78 38 30 30 30 34 30 30 30 2c 0a 09 54 = 0x80004000,..T
e370: 41 50 45 5f 44 52 49 56 45 5f 4c 4f 47 5f 42 4c APE_DRIVE_LOG_BL
e380: 4b 5f 49 4d 4d 45 44 20 20 20 20 3d 20 30 78 38 K_IMMED = 0x8
e390: 30 30 30 38 30 30 30 2c 0a 09 54 41 50 45 5f 44 0008000,..TAPE_D
e3a0: 52 49 56 45 5f 45 4e 44 5f 4f 46 5f 44 41 54 41 RIVE_END_OF_DATA
e3b0: 20 20 20 20 20 20 3d 20 30 78 38 30 30 31 30 30 = 0x800100
e3c0: 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 00,..TAPE_DRIVE_
e3d0: 52 45 4c 41 54 49 56 45 5f 42 4c 4b 53 20 20 20 RELATIVE_BLKS
e3e0: 20 3d 20 30 78 38 30 30 32 30 30 30 30 2c 0a 09 = 0x80020000,..
e3f0: 54 41 50 45 5f 44 52 49 56 45 5f 46 49 4c 45 4d TAPE_DRIVE_FILEM
e400: 41 52 4b 53 20 20 20 20 20 20 20 20 3d 20 30 78 ARKS = 0x
e410: 38 30 30 34 30 30 30 30 2c 0a 09 54 41 50 45 5f 80040000,..TAPE_
e420: 44 52 49 56 45 5f 53 45 51 55 45 4e 54 49 41 4c DRIVE_SEQUENTIAL
e430: 5f 46 4d 4b 53 20 20 3d 20 30 78 38 30 30 38 30 _FMKS = 0x80080
e440: 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 000,..TAPE_DRIVE
e450: 5f 53 45 54 4d 41 52 4b 53 20 20 20 20 20 20 20 _SETMARKS
e460: 20 20 3d 20 30 78 38 30 31 30 30 30 30 30 2c 0a = 0x80100000,.
e470: 09 54 41 50 45 5f 44 52 49 56 45 5f 53 45 51 55 .TAPE_DRIVE_SEQU
e480: 45 4e 54 49 41 4c 5f 53 4d 4b 53 20 20 3d 20 30 ENTIAL_SMKS = 0
e490: 78 38 30 32 30 30 30 30 30 2c 0a 09 54 41 50 45 x80200000,..TAPE
e4a0: 5f 44 52 49 56 45 5f 52 45 56 45 52 53 45 5f 50 _DRIVE_REVERSE_P
e4b0: 4f 53 49 54 49 4f 4e 20 3d 20 30 78 38 30 34 30 OSITION = 0x8040
e4c0: 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 0000,..TAPE_DRIV
e4d0: 45 5f 53 50 41 43 45 5f 49 4d 4d 45 44 49 41 54 E_SPACE_IMMEDIAT
e4e0: 45 20 20 3d 20 30 78 38 30 38 30 30 30 30 30 2c E = 0x80800000,
e4f0: 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 57 52 49 ..TAPE_DRIVE_WRI
e500: 54 45 5f 53 45 54 4d 41 52 4b 53 20 20 20 3d 20 TE_SETMARKS =
e510: 30 78 38 31 30 30 30 30 30 30 2c 0a 09 54 41 50 0x81000000,..TAP
e520: 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 46 49 E_DRIVE_WRITE_FI
e530: 4c 45 4d 41 52 4b 53 20 20 3d 20 30 78 38 32 30 LEMARKS = 0x820
e540: 30 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 49 00000,..TAPE_DRI
e550: 56 45 5f 57 52 49 54 45 5f 53 48 4f 52 54 5f 46 VE_WRITE_SHORT_F
e560: 4d 4b 53 20 3d 20 30 78 38 34 30 30 30 30 30 30 MKS = 0x84000000
e570: 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 57 52 ,..TAPE_DRIVE_WR
e580: 49 54 45 5f 4c 4f 4e 47 5f 46 4d 4b 53 20 20 3d ITE_LONG_FMKS =
e590: 20 30 78 38 38 30 30 30 30 30 30 2c 0a 09 54 41 0x88000000,..TA
e5a0: 50 45 5f 44 52 49 56 45 5f 57 52 49 54 45 5f 4d PE_DRIVE_WRITE_M
e5b0: 41 52 4b 5f 49 4d 4d 45 44 20 3d 20 30 78 39 30 ARK_IMMED = 0x90
e5c0: 30 30 30 30 30 30 2c 0a 09 54 41 50 45 5f 44 52 000000,..TAPE_DR
e5d0: 49 56 45 5f 46 4f 52 4d 41 54 20 20 20 20 20 20 IVE_FORMAT
e5e0: 20 20 20 20 20 3d 20 30 78 41 30 30 30 30 30 30 = 0xA000000
e5f0: 30 2c 0a 09 54 41 50 45 5f 44 52 49 56 45 5f 46 0,..TAPE_DRIVE_F
e600: 4f 52 4d 41 54 5f 49 4d 4d 45 44 49 41 54 45 20 ORMAT_IMMEDIATE
e610: 3d 20 30 78 43 30 30 30 30 30 30 30 2c 0a 09 54 = 0xC0000000,..T
e620: 41 50 45 5f 44 52 49 56 45 5f 48 49 47 48 5f 46 APE_DRIVE_HIGH_F
e630: 45 41 54 55 52 45 53 20 20 20 20 3d 20 30 78 38 EATURES = 0x8
e640: 30 30 30 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a 0000000;..enum :
e650: 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f 46 DWORD {..TAPE_F
e660: 49 58 45 44 5f 50 41 52 54 49 54 49 4f 4e 53 20 IXED_PARTITIONS
e670: 20 20 20 20 3d 20 30 2c 0a 09 54 41 50 45 5f 53 = 0,..TAPE_S
e680: 45 4c 45 43 54 5f 50 41 52 54 49 54 49 4f 4e 53 ELECT_PARTITIONS
e690: 20 20 20 20 3d 20 31 2c 0a 09 54 41 50 45 5f 49 = 1,..TAPE_I
e6a0: 4e 49 54 49 41 54 4f 52 5f 50 41 52 54 49 54 49 NITIATOR_PARTITI
e6b0: 4f 4e 53 20 3d 20 32 0a 7d 0a 0a 65 6e 75 6d 20 ONS = 2.}..enum
e6c0: 3a 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f : DWORD {..TAPE_
e6d0: 53 45 54 4d 41 52 4b 53 2c 0a 09 54 41 50 45 5f SETMARKS,..TAPE_
e6e0: 46 49 4c 45 4d 41 52 4b 53 2c 0a 09 54 41 50 45 FILEMARKS,..TAPE
e6f0: 5f 53 48 4f 52 54 5f 46 49 4c 45 4d 41 52 4b 53 _SHORT_FILEMARKS
e700: 2c 0a 09 54 41 50 45 5f 4c 4f 4e 47 5f 46 49 4c ,..TAPE_LONG_FIL
e710: 45 4d 41 52 4b 53 0a 7d 0a 0a 65 6e 75 6d 20 3a EMARKS.}..enum :
e720: 20 44 57 4f 52 44 20 7b 0a 09 54 41 50 45 5f 45 DWORD {..TAPE_E
e730: 52 41 53 45 5f 53 48 4f 52 54 2c 0a 09 54 41 50 RASE_SHORT,..TAP
e740: 45 5f 45 52 41 53 45 5f 4c 4f 4e 47 0a 7d 0a 0a E_ERASE_LONG.}..
e750: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 enum : DWORD {..
e760: 54 41 50 45 5f 4c 4f 41 44 2c 0a 09 54 41 50 45 TAPE_LOAD,..TAPE
e770: 5f 55 4e 4c 4f 41 44 2c 0a 09 54 41 50 45 5f 54 _UNLOAD,..TAPE_T
e780: 45 4e 53 49 4f 4e 2c 0a 09 54 41 50 45 5f 4c 4f ENSION,..TAPE_LO
e790: 43 4b 2c 0a 09 54 41 50 45 5f 55 4e 4c 4f 43 4b CK,..TAPE_UNLOCK
e7a0: 2c 0a 09 54 41 50 45 5f 46 4f 52 4d 41 54 0a 7d ,..TAPE_FORMAT.}
e7b0: 0a 0a 65 6e 75 6d 20 3a 20 55 4c 4f 4e 47 33 32 ..enum : ULONG32
e7c0: 20 7b 0a 09 56 45 52 5f 50 4c 41 54 46 4f 52 4d {..VER_PLATFORM
e7d0: 5f 57 49 4e 33 32 73 2c 0a 09 56 45 52 5f 50 4c _WIN32s,..VER_PL
e7e0: 41 54 46 4f 52 4d 5f 57 49 4e 33 32 5f 57 49 4e ATFORM_WIN32_WIN
e7f0: 44 4f 57 53 2c 0a 09 56 45 52 5f 50 4c 41 54 46 DOWS,..VER_PLATF
e800: 4f 52 4d 5f 57 49 4e 33 32 5f 4e 54 0a 7d 0a 0a ORM_WIN32_NT.}..
e810: 65 6e 75 6d 20 3a 20 55 43 48 41 52 20 7b 0a 09 enum : UCHAR {..
e820: 56 45 52 5f 4e 54 5f 57 4f 52 4b 53 54 41 54 49 VER_NT_WORKSTATI
e830: 4f 4e 20 3d 20 31 2c 0a 09 56 45 52 5f 4e 54 5f ON = 1,..VER_NT_
e840: 44 4f 4d 41 49 4e 5f 43 4f 4e 54 52 4f 4c 4c 45 DOMAIN_CONTROLLE
e850: 52 2c 0a 09 56 45 52 5f 4e 54 5f 53 45 52 56 45 R,..VER_NT_SERVE
e860: 52 0a 7d 0a 0a 63 6f 6e 73 74 20 55 53 48 4f 52 R.}..const USHOR
e870: 54 0a 09 56 45 52 5f 53 55 49 54 45 5f 53 4d 41 T..VER_SUITE_SMA
e880: 4c 4c 42 55 53 49 4e 45 53 53 20 20 20 20 20 20 LLBUSINESS
e890: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a = 0x0001,.
e8a0: 09 56 45 52 5f 53 55 49 54 45 5f 45 4e 54 45 52 .VER_SUITE_ENTER
e8b0: 50 52 49 53 45 20 20 20 20 20 20 20 20 20 20 20 PRISE
e8c0: 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 56 = 0x0002,..V
e8d0: 45 52 5f 53 55 49 54 45 5f 42 41 43 4b 4f 46 46 ER_SUITE_BACKOFF
e8e0: 49 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ICE
e8f0: 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 56 45 52 = 0x0004,..VER
e900: 5f 53 55 49 54 45 5f 54 45 52 4d 49 4e 41 4c 20 _SUITE_TERMINAL
e910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
e920: 3d 20 30 78 30 30 31 30 2c 0a 09 56 45 52 5f 53 = 0x0010,..VER_S
e930: 55 49 54 45 5f 53 4d 41 4c 4c 42 55 53 49 4e 45 UITE_SMALLBUSINE
e940: 53 53 5f 52 45 53 54 52 49 43 54 45 44 20 3d 20 SS_RESTRICTED =
e950: 30 78 30 30 32 30 2c 0a 09 56 45 52 5f 53 55 49 0x0020,..VER_SUI
e960: 54 45 5f 45 4d 42 45 44 44 45 44 4e 54 20 20 20 TE_EMBEDDEDNT
e970: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
e980: 30 30 34 30 2c 0a 09 56 45 52 5f 53 55 49 54 45 0040,..VER_SUITE
e990: 5f 44 41 54 41 43 45 4e 54 45 52 20 20 20 20 20 _DATACENTER
e9a0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
e9b0: 38 30 2c 0a 09 56 45 52 5f 53 55 49 54 45 5f 53 80,..VER_SUITE_S
e9c0: 49 4e 47 4c 45 55 53 45 52 54 53 20 20 20 20 20 INGLEUSERTS
e9d0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 = 0x0100
e9e0: 2c 0a 09 56 45 52 5f 53 55 49 54 45 5f 50 45 52 ,..VER_SUITE_PER
e9f0: 53 4f 4e 41 4c 20 20 20 20 20 20 20 20 20 20 20 SONAL
ea00: 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a = 0x0200,.
ea10: 09 56 45 52 5f 53 55 49 54 45 5f 42 4c 41 44 45 .VER_SUITE_BLADE
ea20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
ea30: 20 20 20 20 3d 20 30 78 30 34 30 30 2c 0a 09 56 = 0x0400,..V
ea40: 45 52 5f 53 55 49 54 45 5f 53 54 4f 52 41 47 45 ER_SUITE_STORAGE
ea50: 5f 53 45 52 56 45 52 20 20 20 20 20 20 20 20 20 _SERVER
ea60: 20 20 3d 20 30 78 32 30 30 30 2c 0a 09 56 45 52 = 0x2000,..VER
ea70: 5f 53 55 49 54 45 5f 43 4f 4d 50 55 54 45 5f 53 _SUITE_COMPUTE_S
ea80: 45 52 56 45 52 20 20 20 20 20 20 20 20 20 20 20 ERVER
ea90: 3d 20 30 78 34 30 30 30 3b 0a 0a 63 6f 6e 73 74 = 0x4000;..const
eaa0: 20 55 4c 4f 4e 47 0a 09 57 54 5f 45 58 45 43 55 ULONG..WT_EXECU
eab0: 54 45 44 45 46 41 55 4c 54 20 20 20 20 20 20 20 TEDEFAULT
eac0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000
ead0: 30 2c 0a 09 57 54 5f 45 58 45 43 55 54 45 49 4e 0,..WT_EXECUTEIN
eae0: 49 4f 54 48 52 45 41 44 20 20 20 20 20 20 20 20 IOTHREAD
eaf0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 = 0x00000001,..
eb00: 57 54 5f 45 58 45 43 55 54 45 49 4e 57 41 49 54 WT_EXECUTEINWAIT
eb10: 54 48 52 45 41 44 20 20 20 20 20 20 20 3d 20 30 THREAD = 0
eb20: 78 30 30 30 30 30 30 30 34 2c 0a 09 57 54 5f 45 x00000004,..WT_E
eb30: 58 45 43 55 54 45 4f 4e 4c 59 4f 4e 43 45 20 20 XECUTEONLYONCE
eb40: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
eb50: 30 30 30 30 38 2c 0a 09 57 54 5f 45 58 45 43 55 00008,..WT_EXECU
eb60: 54 45 4c 4f 4e 47 46 55 4e 43 54 49 4f 4e 20 20 TELONGFUNCTION
eb70: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 = 0x0000001
eb80: 30 2c 0a 09 57 54 5f 45 58 45 43 55 54 45 49 4e 0,..WT_EXECUTEIN
eb90: 54 49 4d 45 52 54 48 52 45 41 44 20 20 20 20 20 TIMERTHREAD
eba0: 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c 0a 09 = 0x00000020,..
ebb0: 57 54 5f 45 58 45 43 55 54 45 49 4e 50 45 52 53 WT_EXECUTEINPERS
ebc0: 49 53 54 45 4e 54 54 48 52 45 41 44 20 3d 20 30 ISTENTTHREAD = 0
ebd0: 78 30 30 30 30 30 30 38 30 2c 0a 09 57 54 5f 54 x00000080,..WT_T
ebe0: 52 41 4e 53 46 45 52 5f 49 4d 50 45 52 53 4f 4e RANSFER_IMPERSON
ebf0: 41 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 30 30 ATION = 0x000
ec00: 30 30 31 30 30 3b 0a 0a 73 74 61 74 69 63 20 69 00100;..static i
ec10: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 5f f (_WIN32_WINNT_
ec20: 4f 4e 4c 59 29 20 7b 0a 09 73 74 61 74 69 63 20 ONLY) {..static
ec30: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 if (_WIN32_WINNT
ec40: 20 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 63 >= 0x500) {...c
ec50: 6f 6e 73 74 20 44 57 4f 52 44 0a 09 09 09 56 45 onst DWORD....VE
ec60: 52 5f 4d 49 4e 4f 52 56 45 52 53 49 4f 4e 20 20 R_MINORVERSION
ec70: 20 20 20 3d 20 30 78 30 31 2c 0a 09 09 09 56 45 = 0x01,....VE
ec80: 52 5f 4d 41 4a 4f 52 56 45 52 53 49 4f 4e 20 20 R_MAJORVERSION
ec90: 20 20 20 3d 20 30 78 30 32 2c 0a 09 09 09 56 45 = 0x02,....VE
eca0: 52 5f 42 55 49 4c 44 4e 55 4d 42 45 52 20 20 20 R_BUILDNUMBER
ecb0: 20 20 20 3d 20 30 78 30 34 2c 0a 09 09 09 56 45 = 0x04,....VE
ecc0: 52 5f 50 4c 41 54 46 4f 52 4d 49 44 20 20 20 20 R_PLATFORMID
ecd0: 20 20 20 3d 20 30 78 30 38 2c 0a 09 09 09 56 45 = 0x08,....VE
ece0: 52 5f 53 45 52 56 49 43 45 50 41 43 4b 4d 49 4e R_SERVICEPACKMIN
ecf0: 4f 52 20 3d 20 30 78 31 30 2c 0a 09 09 09 56 45 OR = 0x10,....VE
ed00: 52 5f 53 45 52 56 49 43 45 50 41 43 4b 4d 41 4a R_SERVICEPACKMAJ
ed10: 4f 52 20 3d 20 30 78 32 30 2c 0a 09 09 09 56 45 OR = 0x20,....VE
ed20: 52 5f 53 55 49 54 45 4e 41 4d 45 20 20 20 20 20 R_SUITENAME
ed30: 20 20 20 3d 20 30 78 34 30 2c 0a 09 09 09 56 45 = 0x40,....VE
ed40: 52 5f 50 52 4f 44 55 43 54 5f 54 59 50 45 20 20 R_PRODUCT_TYPE
ed50: 20 20 20 3d 20 30 78 38 30 3b 0a 0a 09 09 65 6e = 0x80;....en
ed60: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 09 09 um : DWORD {....
ed70: 56 45 52 5f 45 51 55 41 4c 20 3d 20 31 2c 0a 09 VER_EQUAL = 1,..
ed80: 09 09 56 45 52 5f 47 52 45 41 54 45 52 2c 0a 09 ..VER_GREATER,..
ed90: 09 09 56 45 52 5f 47 52 45 41 54 45 52 5f 45 51 ..VER_GREATER_EQ
eda0: 55 41 4c 2c 0a 09 09 09 56 45 52 5f 4c 45 53 53 UAL,....VER_LESS
edb0: 2c 0a 09 09 09 56 45 52 5f 4c 45 53 53 5f 45 51 ,....VER_LESS_EQ
edc0: 55 41 4c 2c 0a 09 09 09 56 45 52 5f 41 4e 44 2c UAL,....VER_AND,
edd0: 0a 09 09 09 56 45 52 5f 4f 52 20 2f 2f 20 3d 20 ....VER_OR // =
ede0: 37 0a 09 09 7d 0a 09 7d 0a 0a 09 73 74 61 74 69 7...}..}...stati
edf0: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e c if (_WIN32_WIN
ee00: 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0a 09 NT >= 0x501) {..
ee10: 09 65 6e 75 6d 20 3a 20 55 4c 4f 4e 47 20 7b 0a .enum : ULONG {.
ee20: 09 09 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f ...ACTIVATION_CO
ee30: 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 41 53 NTEXT_SECTION_AS
ee40: 53 45 4d 42 4c 59 5f 49 4e 46 4f 52 4d 41 54 49 SEMBLY_INFORMATI
ee50: 4f 4e 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 09 ON = 1,...
ee60: 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 .ACTIVATION_CONT
ee70: 45 58 54 5f 53 45 43 54 49 4f 4e 5f 44 4c 4c 5f EXT_SECTION_DLL_
ee80: 52 45 44 49 52 45 43 54 49 4f 4e 2c 0a 09 09 09 REDIRECTION,....
ee90: 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 ACTIVATION_CONTE
eea0: 58 54 5f 53 45 43 54 49 4f 4e 5f 57 49 4e 44 4f XT_SECTION_WINDO
eeb0: 57 5f 43 4c 41 53 53 5f 52 45 44 49 52 45 43 54 W_CLASS_REDIRECT
eec0: 49 4f 4e 2c 0a 09 09 09 41 43 54 49 56 41 54 49 ION,....ACTIVATI
eed0: 4f 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49 ON_CONTEXT_SECTI
eee0: 4f 4e 5f 43 4f 4d 5f 53 45 52 56 45 52 5f 52 45 ON_COM_SERVER_RE
eef0: 44 49 52 45 43 54 49 4f 4e 2c 0a 09 09 09 41 43 DIRECTION,....AC
ef00: 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 TIVATION_CONTEXT
ef10: 5f 53 45 43 54 49 4f 4e 5f 43 4f 4d 5f 49 4e 54 _SECTION_COM_INT
ef20: 45 52 46 41 43 45 5f 52 45 44 49 52 45 43 54 49 ERFACE_REDIRECTI
ef30: 4f 4e 2c 0a 09 09 09 41 43 54 49 56 41 54 49 4f ON,....ACTIVATIO
ef40: 4e 5f 43 4f 4e 54 45 58 54 5f 53 45 43 54 49 4f N_CONTEXT_SECTIO
ef50: 4e 5f 43 4f 4d 5f 54 59 50 45 5f 4c 49 42 52 41 N_COM_TYPE_LIBRA
ef60: 52 59 5f 52 45 44 49 52 45 43 54 49 4f 4e 2c 0a RY_REDIRECTION,.
ef70: 09 09 09 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f ...ACTIVATION_CO
ef80: 4e 54 45 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4f NTEXT_SECTION_CO
ef90: 4d 5f 50 52 4f 47 49 44 5f 52 45 44 49 52 45 43 M_PROGID_REDIREC
efa0: 54 49 4f 4e 2c 20 2f 2f 20 3d 20 37 0a 09 09 09 TION, // = 7....
efb0: 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 ACTIVATION_CONTE
efc0: 58 54 5f 53 45 43 54 49 4f 4e 5f 43 4c 52 5f 53 XT_SECTION_CLR_S
efd0: 55 52 52 4f 47 41 54 45 53 20 20 20 20 20 20 20 URROGATES
efe0: 20 20 20 20 20 20 3d 20 39 0a 09 09 7d 0a 09 7d = 9...}..}
eff0: 0a 7d 0a 0a 2f 2f 20 4d 61 63 72 6f 73 0a 42 59 .}..// Macros.BY
f000: 54 45 20 42 54 59 50 45 28 42 59 54 45 20 78 29 TE BTYPE(BYTE x)
f010: 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 42 { return cast(B
f020: 59 54 45 29 20 28 78 20 26 20 4e 5f 42 54 4d 41 YTE) (x & N_BTMA
f030: 53 4b 29 3b 20 7d 0a 62 6f 6f 6c 20 49 53 50 54 SK); }.bool ISPT
f040: 52 28 75 69 6e 74 20 78 29 20 7b 20 72 65 74 75 R(uint x) { retu
f050: 72 6e 20 28 78 20 26 20 4e 5f 54 4d 41 53 4b 29 rn (x & N_TMASK)
f060: 20 3d 3d 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 == (IMAGE_SYM_D
f070: 54 59 50 45 5f 50 4f 49 4e 54 45 52 20 3c 3c 20 TYPE_POINTER <<
f080: 4e 5f 42 54 53 48 46 54 29 3b 20 7d 0a 62 6f 6f N_BTSHFT); }.boo
f090: 6c 20 49 53 46 43 4e 28 75 69 6e 74 20 78 29 20 l ISFCN(uint x)
f0a0: 7b 20 72 65 74 75 72 6e 20 28 78 20 26 20 4e 5f { return (x & N_
f0b0: 54 4d 41 53 4b 29 20 3d 3d 20 28 49 4d 41 47 45 TMASK) == (IMAGE
f0c0: 5f 53 59 4d 5f 44 54 59 50 45 5f 46 55 4e 43 54 _SYM_DTYPE_FUNCT
f0d0: 49 4f 4e 20 3c 3c 20 4e 5f 42 54 53 48 46 54 29 ION << N_BTSHFT)
f0e0: 3b 20 7d 0a 62 6f 6f 6c 20 49 53 41 52 59 28 75 ; }.bool ISARY(u
f0f0: 69 6e 74 20 78 29 20 7b 20 72 65 74 75 72 6e 20 int x) { return
f100: 28 78 20 26 20 4e 5f 54 4d 41 53 4b 29 20 3d 3d (x & N_TMASK) ==
f110: 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54 59 50 (IMAGE_SYM_DTYP
f120: 45 5f 41 52 52 41 59 20 3c 3c 20 4e 5f 42 54 53 E_ARRAY << N_BTS
f130: 48 46 54 29 3b 20 7d 0a 62 6f 6f 6c 20 49 53 54 HFT); }.bool IST
f140: 41 47 28 75 69 6e 74 20 78 29 20 7b 0a 09 72 65 AG(uint x) {..re
f150: 74 75 72 6e 20 78 20 3d 3d 20 49 4d 41 47 45 5f turn x == IMAGE_
f160: 53 59 4d 5f 43 4c 41 53 53 5f 53 54 52 55 43 54 SYM_CLASS_STRUCT
f170: 5f 54 41 47 0a 09 20 20 20 20 7c 7c 20 78 20 3d _TAG.. || x =
f180: 3d 20 49 4d 41 47 45 5f 53 59 4d 5f 43 4c 41 53 = IMAGE_SYM_CLAS
f190: 53 5f 55 4e 49 4f 4e 5f 54 41 47 0a 09 20 20 20 S_UNION_TAG..
f1a0: 20 7c 7c 20 78 20 3d 3d 20 49 4d 41 47 45 5f 53 || x == IMAGE_S
f1b0: 59 4d 5f 43 4c 41 53 53 5f 45 4e 55 4d 5f 54 41 YM_CLASS_ENUM_TA
f1c0: 47 3b 0a 7d 0a 75 69 6e 74 20 49 4e 43 52 45 46 G;.}.uint INCREF
f1d0: 28 75 69 6e 74 20 78 29 20 7b 0a 09 72 65 74 75 (uint x) {..retu
f1e0: 72 6e 20 28 28 78 20 26 20 7e 4e 5f 42 54 4d 41 rn ((x & ~N_BTMA
f1f0: 53 4b 29 20 3c 3c 20 4e 5f 54 53 48 49 46 54 29 SK) << N_TSHIFT)
f200: 20 7c 20 28 49 4d 41 47 45 5f 53 59 4d 5f 44 54 | (IMAGE_SYM_DT
f210: 59 50 45 5f 50 4f 49 4e 54 45 52 20 3c 3c 20 4e YPE_POINTER << N
f220: 5f 42 54 53 48 46 54 29 0a 09 20 20 7c 20 28 78 _BTSHFT).. | (x
f230: 20 26 20 4e 5f 42 54 4d 41 53 4b 29 3b 0a 7d 0a & N_BTMASK);.}.
f240: 75 69 6e 74 20 44 45 43 52 45 46 28 75 69 6e 74 uint DECREF(uint
f250: 20 78 29 20 7b 20 72 65 74 75 72 6e 20 28 28 78 x) { return ((x
f260: 20 3e 3e 3e 20 4e 5f 54 53 48 49 46 54 29 20 26 >>> N_TSHIFT) &
f270: 20 7e 4e 5f 42 54 4d 41 53 4b 29 20 7c 20 28 78 ~N_BTMASK) | (x
f280: 20 26 20 4e 5f 42 54 4d 41 53 4b 29 3b 20 7d 0a & N_BTMASK); }.
f290: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 20 54 4c 53 .const DWORD TLS
f2a0: 5f 4d 49 4e 49 4d 55 4d 5f 41 56 41 49 4c 41 42 _MINIMUM_AVAILAB
f2b0: 4c 45 20 3d 20 36 34 3b 0a 0a 63 6f 6e 73 74 20 LE = 64;..const
f2c0: 55 4c 4f 4e 47 0a 09 49 4f 5f 52 45 50 41 52 53 ULONG..IO_REPARS
f2d0: 45 5f 54 41 47 5f 52 45 53 45 52 56 45 44 5f 5a E_TAG_RESERVED_Z
f2e0: 45 52 4f 20 20 3d 20 30 2c 0a 09 49 4f 5f 52 45 ERO = 0,..IO_RE
f2f0: 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45 52 56 PARSE_TAG_RESERV
f300: 45 44 5f 4f 4e 45 20 20 20 3d 20 31 2c 0a 09 49 ED_ONE = 1,..I
f310: 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45 O_REPARSE_TAG_RE
f320: 53 45 52 56 45 44 5f 52 41 4e 47 45 20 3d 20 49 SERVED_RANGE = I
f330: 4f 5f 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45 O_REPARSE_TAG_RE
f340: 53 45 52 56 45 44 5f 4f 4e 45 2c 0a 09 49 4f 5f SERVED_ONE,..IO_
f350: 52 45 50 41 52 53 45 5f 54 41 47 5f 53 59 4d 42 REPARSE_TAG_SYMB
f360: 4f 4c 49 43 5f 4c 49 4e 4b 20 20 3d 20 49 4f 5f OLIC_LINK = IO_
f370: 52 45 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45 REPARSE_TAG_RESE
f380: 52 56 45 44 5f 5a 45 52 4f 2c 0a 09 49 4f 5f 52 RVED_ZERO,..IO_R
f390: 45 50 41 52 53 45 5f 54 41 47 5f 4d 4f 55 4e 54 EPARSE_TAG_MOUNT
f3a0: 5f 50 4f 49 4e 54 20 20 20 20 3d 20 30 78 41 30 _POINT = 0xA0
f3b0: 30 30 30 30 30 33 2c 0a 09 49 4f 5f 52 45 50 41 000003,..IO_REPA
f3c0: 52 53 45 5f 54 41 47 5f 53 59 4d 4c 49 4e 4b 20 RSE_TAG_SYMLINK
f3d0: 20 20 20 20 20 20 20 3d 20 30 78 41 30 30 30 30 = 0xA0000
f3e0: 30 30 43 2c 0a 09 49 4f 5f 52 45 50 41 52 53 45 00C,..IO_REPARSE
f3f0: 5f 54 41 47 5f 56 41 4c 49 44 5f 56 41 4c 55 45 _TAG_VALID_VALUE
f400: 53 20 20 20 3d 20 30 78 45 30 30 30 46 46 46 46 S = 0xE000FFFF
f410: 3b 0a 0a 2f 2a 09 41 6c 74 68 6f 75 67 68 20 74 ;../*.Although t
f420: 68 65 73 65 20 61 72 65 20 73 65 6d 61 6e 74 69 hese are semanti
f430: 63 61 6c 6c 79 20 62 6f 6f 6c 65 61 6e 2c 20 74 cally boolean, t
f440: 68 65 79 20 61 72 65 20 64 6f 63 75 6d 65 6e 74 hey are document
f450: 65 64 20 61 6e 64 0a 20 2a 09 69 6d 70 6c 65 6d ed and. *.implem
f460: 65 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 ented to return
f470: 55 4c 4f 4e 47 3b 20 74 68 69 73 20 62 65 68 61 ULONG; this beha
f480: 76 69 6f 75 72 20 69 73 20 70 72 65 73 65 72 76 viour is preserv
f490: 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 ed for compatibi
f4a0: 6c 69 74 79 0a 20 2a 2f 0a 55 4c 4f 4e 47 20 49 lity. */.ULONG I
f4b0: 73 52 65 70 61 72 73 65 54 61 67 4d 69 63 72 6f sReparseTagMicro
f4c0: 73 6f 66 74 28 55 4c 4f 4e 47 20 78 29 20 20 20 soft(ULONG x)
f4d0: 20 20 7b 20 72 65 74 75 72 6e 20 78 20 26 20 30 { return x & 0
f4e0: 78 38 30 30 30 30 30 30 30 3b 20 7d 0a 55 4c 4f x80000000; }.ULO
f4f0: 4e 47 20 49 73 52 65 70 61 72 73 65 54 61 67 48 NG IsReparseTagH
f500: 69 67 68 4c 61 74 65 6e 63 79 28 55 4c 4f 4e 47 ighLatency(ULONG
f510: 20 78 29 20 20 20 7b 20 72 65 74 75 72 6e 20 78 x) { return x
f520: 20 26 20 30 78 34 30 30 30 30 30 30 30 3b 20 7d & 0x40000000; }
f530: 0a 55 4c 4f 4e 47 20 49 73 52 65 70 61 72 73 65 .ULONG IsReparse
f540: 54 61 67 4e 61 6d 65 53 75 72 72 6f 67 61 74 65 TagNameSurrogate
f550: 28 55 4c 4f 4e 47 20 78 29 20 7b 20 72 65 74 75 (ULONG x) { retu
f560: 72 6e 20 78 20 26 20 30 78 32 30 30 30 30 30 30 rn x & 0x2000000
f570: 30 3b 20 7d 0a 0a 62 6f 6f 6c 20 49 73 52 65 70 0; }..bool IsRep
f580: 61 72 73 65 54 61 67 56 61 6c 69 64 28 55 4c 4f arseTagValid(ULO
f590: 4e 47 20 78 29 20 7b 0a 09 72 65 74 75 72 6e 20 NG x) {..return
f5a0: 21 28 78 20 26 20 7e 49 4f 5f 52 45 50 41 52 53 !(x & ~IO_REPARS
f5b0: 45 5f 54 41 47 5f 56 41 4c 49 44 5f 56 41 4c 55 E_TAG_VALID_VALU
f5c0: 45 53 29 20 26 26 20 28 78 20 3e 20 49 4f 5f 52 ES) && (x > IO_R
f5d0: 45 50 41 52 53 45 5f 54 41 47 5f 52 45 53 45 52 EPARSE_TAG_RESER
f5e0: 56 45 44 5f 52 41 4e 47 45 29 3b 0a 7d 0a 0a 2f VED_RANGE);.}../
f5f0: 2f 20 44 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 / Doesn't seem t
f600: 6f 20 6d 61 6b 65 20 73 65 6e 73 65 2c 20 62 75 o make sense, bu
f610: 74 20 61 6e 79 77 61 79 2e 2e 2e 2e 0a 55 4c 4f t anyway.....ULO
f620: 4e 47 20 57 54 5f 53 45 54 5f 4d 41 58 5f 54 48 NG WT_SET_MAX_TH
f630: 52 45 41 44 50 4f 4f 4c 5f 54 48 52 45 41 44 53 READPOOL_THREADS
f640: 28 72 65 66 20 55 4c 4f 4e 47 20 46 6c 61 67 73 (ref ULONG Flags
f650: 2c 20 75 73 68 6f 72 74 20 4c 69 6d 69 74 29 20 , ushort Limit)
f660: 7b 0a 09 72 65 74 75 72 6e 20 46 6c 61 67 73 20 {..return Flags
f670: 7c 3d 20 4c 69 6d 69 74 20 3c 3c 20 31 36 3b 0a |= Limit << 16;.
f680: 7d 0a 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e }..import win32.
f690: 62 61 73 65 74 79 70 73 3b 0a 2f 2a 20 61 6c 73 basetyps;./* als
f6a0: 6f 20 69 6e 20 77 69 6e 33 32 2e 62 61 73 65 74 o in win32.baset
f6b0: 79 70 73 0a 73 74 72 75 63 74 20 47 55 49 44 20 yps.struct GUID
f6c0: 7b 0a 09 75 69 6e 74 20 20 44 61 74 61 31 3b 0a {..uint Data1;.
f6d0: 09 75 73 68 6f 72 74 20 44 61 74 61 32 3b 0a 09 .ushort Data2;..
f6e0: 75 73 68 6f 72 74 20 44 61 74 61 33 3b 0a 09 75 ushort Data3;..u
f6f0: 62 79 74 65 20 20 44 61 74 61 34 5b 38 5d 3b 0a byte Data4[8];.
f700: 7d 0a 61 6c 69 61 73 20 47 55 49 44 2a 20 52 45 }.alias GUID* RE
f710: 46 47 55 49 44 2c 20 4c 50 47 55 49 44 3b 0a 2a FGUID, LPGUID;.*
f720: 2f 0a 0a 73 74 72 75 63 74 20 47 45 4e 45 52 49 /..struct GENERI
f730: 43 5f 4d 41 50 50 49 4e 47 20 7b 0a 09 41 43 43 C_MAPPING {..ACC
f740: 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72 69 63 ESS_MASK Generic
f750: 52 65 61 64 3b 0a 09 41 43 43 45 53 53 5f 4d 41 Read;..ACCESS_MA
f760: 53 4b 20 47 65 6e 65 72 69 63 57 72 69 74 65 3b SK GenericWrite;
f770: 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 ..ACCESS_MASK Ge
f780: 6e 65 72 69 63 45 78 65 63 75 74 65 3b 0a 09 41 nericExecute;..A
f790: 43 43 45 53 53 5f 4d 41 53 4b 20 47 65 6e 65 72 CCESS_MASK Gener
f7a0: 69 63 41 6c 6c 3b 0a 7d 0a 61 6c 69 61 73 20 47 icAll;.}.alias G
f7b0: 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47 2a 20 ENERIC_MAPPING*
f7c0: 50 47 45 4e 45 52 49 43 5f 4d 41 50 50 49 4e 47 PGENERIC_MAPPING
f7d0: 3b 0a 0a 73 74 72 75 63 74 20 41 43 45 5f 48 45 ;..struct ACE_HE
f7e0: 41 44 45 52 20 7b 0a 09 42 59 54 45 20 41 63 65 ADER {..BYTE Ace
f7f0: 54 79 70 65 3b 0a 09 42 59 54 45 20 41 63 65 46 Type;..BYTE AceF
f800: 6c 61 67 73 3b 0a 09 57 4f 52 44 20 41 63 65 53 lags;..WORD AceS
f810: 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20 41 43 45 ize;.}.alias ACE
f820: 5f 48 45 41 44 45 52 2a 20 50 41 43 45 5f 48 45 _HEADER* PACE_HE
f830: 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 41 43 ADER;..struct AC
f840: 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 CESS_ALLOWED_ACE
f850: 20 7b 0a 09 41 43 45 5f 48 45 41 44 45 52 20 20 {..ACE_HEADER
f860: 48 65 61 64 65 72 3b 0a 09 41 43 43 45 53 53 5f Header;..ACCESS_
f870: 4d 41 53 4b 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 MASK Mask;..DWOR
f880: 44 20 20 20 20 20 20 20 53 69 64 53 74 61 72 74 D SidStart
f890: 3b 0a 7d 0a 61 6c 69 61 73 20 41 43 43 45 53 53 ;.}.alias ACCESS
f8a0: 5f 41 4c 4c 4f 57 45 44 5f 41 43 45 2a 20 50 41 _ALLOWED_ACE* PA
f8b0: 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f 41 43 CCESS_ALLOWED_AC
f8c0: 45 3b 0a 0a 73 74 72 75 63 74 20 41 43 43 45 53 E;..struct ACCES
f8d0: 53 5f 44 45 4e 49 45 44 5f 41 43 45 20 7b 0a 09 S_DENIED_ACE {..
f8e0: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64 ACE_HEADER Head
f8f0: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b er;..ACCESS_MASK
f900: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 Mask;..DWORD
f910: 20 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a SidStart;.}.
f920: 61 6c 69 61 73 20 41 43 43 45 53 53 5f 44 45 4e alias ACCESS_DEN
f930: 49 45 44 5f 41 43 45 2a 20 50 41 43 43 45 53 53 IED_ACE* PACCESS
f940: 5f 44 45 4e 49 45 44 5f 41 43 45 3b 0a 0a 73 74 _DENIED_ACE;..st
f950: 72 75 63 74 20 53 59 53 54 45 4d 5f 41 55 44 49 ruct SYSTEM_AUDI
f960: 54 5f 41 43 45 20 7b 0a 09 41 43 45 5f 48 45 41 T_ACE {..ACE_HEA
f970: 44 45 52 20 20 48 65 61 64 65 72 3b 0a 09 41 43 DER Header;..AC
f980: 43 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0a CESS_MASK Mask;.
f990: 09 44 57 4f 52 44 20 20 20 20 20 20 20 53 69 64 .DWORD Sid
f9a0: 53 74 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 53 Start;.}.alias S
f9b0: 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 43 45 20 YSTEM_AUDIT_ACE
f9c0: 2a 50 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 41 *PSYSTEM_AUDIT_A
f9d0: 43 45 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 54 CE;..struct SYST
f9e0: 45 4d 5f 41 4c 41 52 4d 5f 41 43 45 20 7b 0a 09 EM_ALARM_ACE {..
f9f0: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64 ACE_HEADER Head
fa00: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b er;..ACCESS_MASK
fa10: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 Mask;..DWORD
fa20: 20 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a SidStart;.}.
fa30: 61 6c 69 61 73 20 53 59 53 54 45 4d 5f 41 4c 41 alias SYSTEM_ALA
fa40: 52 4d 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f RM_ACE* PSYSTEM_
fa50: 41 4c 41 52 4d 5f 41 43 45 3b 0a 0a 73 74 72 75 ALARM_ACE;..stru
fa60: 63 74 20 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 ct ACCESS_ALLOWE
fa70: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09 D_OBJECT_ACE {..
fa80: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64 ACE_HEADER Head
fa90: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b er;..ACCESS_MASK
faa0: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 Mask;..DWORD
fab0: 20 20 20 20 46 6c 61 67 73 3b 0a 09 47 55 49 44 Flags;..GUID
fac0: 20 20 20 20 20 20 20 20 4f 62 6a 65 63 74 54 79 ObjectTy
fad0: 70 65 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20 pe;..GUID
fae0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74 InheritedObject
faf0: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 Type;..DWORD
fb00: 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61 SidStart;.}.a
fb10: 6c 69 61 73 20 41 43 43 45 53 53 5f 41 4c 4c 4f lias ACCESS_ALLO
fb20: 57 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 WED_OBJECT_ACE*
fb30: 50 41 43 43 45 53 53 5f 41 4c 4c 4f 57 45 44 5f PACCESS_ALLOWED_
fb40: 4f 42 4a 45 43 54 5f 41 43 45 3b 0a 0a 73 74 72 OBJECT_ACE;..str
fb50: 75 63 74 20 41 43 43 45 53 53 5f 44 45 4e 49 45 uct ACCESS_DENIE
fb60: 44 5f 4f 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09 D_OBJECT_ACE {..
fb70: 41 43 45 5f 48 45 41 44 45 52 20 20 48 65 61 64 ACE_HEADER Head
fb80: 65 72 3b 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b er;..ACCESS_MASK
fb90: 20 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 Mask;..DWORD
fba0: 20 20 20 20 46 6c 61 67 73 3b 0a 09 47 55 49 44 Flags;..GUID
fbb0: 20 20 20 20 20 20 20 20 4f 62 6a 65 63 74 54 79 ObjectTy
fbc0: 70 65 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20 pe;..GUID
fbd0: 20 49 6e 68 65 72 69 74 65 64 4f 62 6a 65 63 74 InheritedObject
fbe0: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 Type;..DWORD
fbf0: 20 20 20 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61 SidStart;.}.a
fc00: 6c 69 61 73 20 41 43 43 45 53 53 5f 44 45 4e 49 lias ACCESS_DENI
fc10: 45 44 5f 4f 42 4a 45 43 54 5f 41 43 45 2a 20 50 ED_OBJECT_ACE* P
fc20: 41 43 43 45 53 53 5f 44 45 4e 49 45 44 5f 4f 42 ACCESS_DENIED_OB
fc30: 4a 45 43 54 5f 41 43 45 3b 0a 0a 73 74 72 75 63 JECT_ACE;..struc
fc40: 74 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f t SYSTEM_AUDIT_O
fc50: 42 4a 45 43 54 5f 41 43 45 20 7b 0a 09 41 43 45 BJECT_ACE {..ACE
fc60: 5f 48 45 41 44 45 52 20 20 48 65 61 64 65 72 3b _HEADER Header;
fc70: 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b 20 4d 61 ..ACCESS_MASK Ma
fc80: 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 sk;..DWORD
fc90: 20 46 6c 61 67 73 3b 0a 09 47 55 49 44 20 20 20 Flags;..GUID
fca0: 20 20 20 20 20 4f 62 6a 65 63 74 54 79 70 65 3b ObjectType;
fcb0: 0a 09 47 55 49 44 20 20 20 20 20 20 20 20 49 6e ..GUID In
fcc0: 68 65 72 69 74 65 64 4f 62 6a 65 63 74 54 79 70 heritedObjectTyp
fcd0: 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 e;..DWORD
fce0: 53 69 64 53 74 61 72 74 3b 0a 7d 0a 61 6c 69 61 SidStart;.}.alia
fcf0: 73 20 53 59 53 54 45 4d 5f 41 55 44 49 54 5f 4f s SYSTEM_AUDIT_O
fd00: 42 4a 45 43 54 5f 41 43 45 2a 20 50 53 59 53 54 BJECT_ACE* PSYST
fd10: 45 4d 5f 41 55 44 49 54 5f 4f 42 4a 45 43 54 5f EM_AUDIT_OBJECT_
fd20: 41 43 45 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 ACE;..struct SYS
fd30: 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54 TEM_ALARM_OBJECT
fd40: 5f 41 43 45 20 7b 0a 09 41 43 45 5f 48 45 41 44 _ACE {..ACE_HEAD
fd50: 45 52 20 20 48 65 61 64 65 72 3b 0a 09 41 43 43 ER Header;..ACC
fd60: 45 53 53 5f 4d 41 53 4b 20 4d 61 73 6b 3b 0a 09 ESS_MASK Mask;..
fd70: 44 57 4f 52 44 20 20 20 20 20 20 20 46 6c 61 67 DWORD Flag
fd80: 73 3b 0a 09 47 55 49 44 20 20 20 20 20 20 20 20 s;..GUID
fd90: 4f 62 6a 65 63 74 54 79 70 65 3b 0a 09 47 55 49 ObjectType;..GUI
fda0: 44 20 20 20 20 20 20 20 20 49 6e 68 65 72 69 74 D Inherit
fdb0: 65 64 4f 62 6a 65 63 74 54 79 70 65 3b 0a 09 44 edObjectType;..D
fdc0: 57 4f 52 44 20 20 20 20 20 20 20 53 69 64 53 74 WORD SidSt
fdd0: 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53 art;.}.alias SYS
fde0: 54 45 4d 5f 41 4c 41 52 4d 5f 4f 42 4a 45 43 54 TEM_ALARM_OBJECT
fdf0: 5f 41 43 45 2a 20 50 53 59 53 54 45 4d 5f 41 4c _ACE* PSYSTEM_AL
fe00: 41 52 4d 5f 4f 42 4a 45 43 54 5f 41 43 45 3b 0a ARM_OBJECT_ACE;.
fe10: 0a 73 74 72 75 63 74 20 41 43 4c 20 7b 0a 09 42 .struct ACL {..B
fe20: 59 54 45 20 41 63 6c 52 65 76 69 73 69 6f 6e 3b YTE AclRevision;
fe30: 0a 09 42 59 54 45 20 53 62 7a 31 3b 0a 09 57 4f ..BYTE Sbz1;..WO
fe40: 52 44 20 41 63 6c 53 69 7a 65 3b 0a 09 57 4f 52 RD AclSize;..WOR
fe50: 44 20 41 63 65 43 6f 75 6e 74 3b 0a 09 57 4f 52 D AceCount;..WOR
fe60: 44 20 53 62 7a 32 3b 0a 7d 0a 61 6c 69 61 73 20 D Sbz2;.}.alias
fe70: 41 43 4c 2a 20 50 41 43 4c 3b 0a 0a 73 74 72 75 ACL* PACL;..stru
fe80: 63 74 20 41 43 4c 5f 52 45 56 49 53 49 4f 4e 5f ct ACL_REVISION_
fe90: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 INFORMATION {..D
fea0: 57 4f 52 44 20 41 63 6c 52 65 76 69 73 69 6f 6e WORD AclRevision
feb0: 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 41 43 4c 5f ;.}..struct ACL_
fec0: 53 49 5a 45 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e SIZE_INFORMATION
fed0: 20 7b 0a 09 44 57 4f 52 44 20 41 63 65 43 6f 75 {..DWORD AceCou
fee0: 6e 74 3b 0a 09 44 57 4f 52 44 20 41 63 6c 42 79 nt;..DWORD AclBy
fef0: 74 65 73 49 6e 55 73 65 3b 0a 09 44 57 4f 52 44 tesInUse;..DWORD
ff00: 20 41 63 6c 42 79 74 65 73 46 72 65 65 3b 0a 7d AclBytesFree;.}
ff10: 0a 0a 76 65 72 73 69 6f 6e 20 28 58 38 36 29 20 ..version (X86)
ff20: 7b 0a 09 2f 2f 20 3f 3f 3f 0a 09 63 6f 6e 73 74 {..// ???..const
ff30: 20 53 49 5a 45 5f 4f 46 5f 38 30 33 38 37 5f 52 SIZE_OF_80387_R
ff40: 45 47 49 53 54 45 52 53 20 20 20 20 20 3d 20 38 EGISTERS = 8
ff50: 30 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 0;..const CONTEX
ff60: 54 5f 69 33 38 36 20 20 20 20 20 20 20 20 20 20 T_i386
ff70: 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 = 0x010000
ff80: 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54 ;..const CONTEXT
ff90: 5f 69 34 38 36 20 20 20 20 20 20 20 20 20 20 20 _i486
ffa0: 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 3b = 0x010000;
ffb0: 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54 5f ..const CONTEXT_
ffc0: 43 4f 4e 54 52 4f 4c 20 20 20 20 20 20 20 20 20 CONTROL
ffd0: 20 20 20 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 = CONTEXT_i3
ffe0: 38 36 20 7c 20 30 78 30 31 3b 0a 09 63 6f 6e 73 86 | 0x01;..cons
fff0: 74 20 43 4f 4e 54 45 58 54 5f 49 4e 54 45 47 45 t CONTEXT_INTEGE
10000 52 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 R =
10010 43 4f 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 CONTEXT_i386 | 0
10020 78 30 32 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 x02;..const CONT
10030 45 58 54 5f 53 45 47 4d 45 4e 54 53 20 20 20 20 EXT_SEGMENTS
10040 20 20 20 20 20 20 20 20 3d 20 43 4f 4e 54 45 58 = CONTEX
10050 54 5f 69 33 38 36 20 7c 20 30 78 30 34 3b 0a 09 T_i386 | 0x04;..
10060 63 6f 6e 73 74 20 43 4f 4e 54 45 58 54 5f 46 4c const CONTEXT_FL
10070 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 20 20 20 20 OATING_POINT
10080 20 20 3d 20 43 4f 4e 54 45 58 54 5f 69 33 38 36 = CONTEXT_i386
10090 20 7c 20 30 78 30 38 3b 0a 09 63 6f 6e 73 74 20 | 0x08;..const
100a0 43 4f 4e 54 45 58 54 5f 44 45 42 55 47 5f 52 45 CONTEXT_DEBUG_RE
100b0 47 49 53 54 45 52 53 20 20 20 20 20 3d 20 43 4f GISTERS = CO
100c0 4e 54 45 58 54 5f 69 33 38 36 20 7c 20 30 78 31 NTEXT_i386 | 0x1
100d0 30 3b 0a 09 63 6f 6e 73 74 20 43 4f 4e 54 45 58 0;..const CONTEX
100e0 54 5f 45 58 54 45 4e 44 45 44 5f 52 45 47 49 53 T_EXTENDED_REGIS
100f0 54 45 52 53 20 20 3d 20 43 4f 4e 54 45 58 54 5f TERS = CONTEXT_
10100 69 33 38 36 20 7c 20 30 78 32 30 3b 0a 09 63 6f i386 | 0x20;..co
10110 6e 73 74 20 43 4f 4e 54 45 58 54 5f 46 55 4c 4c nst CONTEXT_FULL
10120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
10130 3d 20 43 4f 4e 54 45 58 54 5f 43 4f 4e 54 52 4f = CONTEXT_CONTRO
10140 4c 20 7c 20 43 4f 4e 54 45 58 54 5f 49 4e 54 45 L | CONTEXT_INTE
10150 47 45 52 20 7c 20 43 4f 4e 54 45 58 54 5f 53 45 GER | CONTEXT_SE
10160 47 4d 45 4e 54 53 3b 0a 09 63 6f 6e 73 74 20 4d GMENTS;..const M
10170 41 58 49 4d 55 4d 5f 53 55 50 50 4f 52 54 45 44 AXIMUM_SUPPORTED
10180 5f 45 58 54 45 4e 53 49 4f 4e 20 3d 20 35 31 32 _EXTENSION = 512
10190 3b 0a 0a 09 73 74 72 75 63 74 20 46 4c 4f 41 54 ;...struct FLOAT
101a0 49 4e 47 5f 53 41 56 45 5f 41 52 45 41 20 7b 0a ING_SAVE_AREA {.
101b0 09 09 44 57 4f 52 44 20 20 20 20 43 6f 6e 74 72 ..DWORD Contr
101c0 6f 6c 57 6f 72 64 3b 0a 09 09 44 57 4f 52 44 20 olWord;...DWORD
101d0 20 20 20 53 74 61 74 75 73 57 6f 72 64 3b 0a 09 StatusWord;..
101e0 09 44 57 4f 52 44 20 20 20 20 54 61 67 57 6f 72 .DWORD TagWor
101f0 64 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 45 72 d;...DWORD Er
10200 72 6f 72 4f 66 66 73 65 74 3b 0a 09 09 44 57 4f rorOffset;...DWO
10210 52 44 20 20 20 20 45 72 72 6f 72 53 65 6c 65 63 RD ErrorSelec
10220 74 6f 72 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 tor;...DWORD
10230 44 61 74 61 4f 66 66 73 65 74 3b 0a 09 09 44 57 DataOffset;...DW
10240 4f 52 44 20 20 20 20 44 61 74 61 53 65 6c 65 63 ORD DataSelec
10250 74 6f 72 3b 0a 09 09 42 59 54 45 5b 38 30 5d 20 tor;...BYTE[80]
10260 52 65 67 69 73 74 65 72 41 72 65 61 3b 0a 09 09 RegisterArea;...
10270 44 57 4f 52 44 20 20 20 20 43 72 30 4e 70 78 53 DWORD Cr0NpxS
10280 74 61 74 65 3b 0a 09 7d 0a 0a 09 73 74 72 75 63 tate;..}...struc
10290 74 20 43 4f 4e 54 45 58 54 20 7b 0a 09 09 44 57 t CONTEXT {...DW
102a0 4f 52 44 20 43 6f 6e 74 65 78 74 46 6c 61 67 73 ORD ContextFlags
102b0 3b 0a 09 09 44 57 4f 52 44 20 44 72 30 3b 0a 09 ;...DWORD Dr0;..
102c0 09 44 57 4f 52 44 20 44 72 31 3b 0a 09 09 44 57 .DWORD Dr1;...DW
102d0 4f 52 44 20 44 72 32 3b 0a 09 09 44 57 4f 52 44 ORD Dr2;...DWORD
102e0 20 44 72 33 3b 0a 09 09 44 57 4f 52 44 20 44 72 Dr3;...DWORD Dr
102f0 36 3b 0a 09 09 44 57 4f 52 44 20 44 72 37 3b 0a 6;...DWORD Dr7;.
10300 09 09 46 4c 4f 41 54 49 4e 47 5f 53 41 56 45 5f ..FLOATING_SAVE_
10310 41 52 45 41 20 46 6c 6f 61 74 53 61 76 65 3b 0a AREA FloatSave;.
10320 09 09 44 57 4f 52 44 20 53 65 67 47 73 3b 0a 09 ..DWORD SegGs;..
10330 09 44 57 4f 52 44 20 53 65 67 46 73 3b 0a 09 09 .DWORD SegFs;...
10340 44 57 4f 52 44 20 53 65 67 45 73 3b 0a 09 09 44 DWORD SegEs;...D
10350 57 4f 52 44 20 53 65 67 44 73 3b 0a 09 09 44 57 WORD SegDs;...DW
10360 4f 52 44 20 45 64 69 3b 0a 09 09 44 57 4f 52 44 ORD Edi;...DWORD
10370 20 45 73 69 3b 0a 09 09 44 57 4f 52 44 20 45 62 Esi;...DWORD Eb
10380 78 3b 0a 09 09 44 57 4f 52 44 20 45 64 78 3b 0a x;...DWORD Edx;.
10390 09 09 44 57 4f 52 44 20 45 63 78 3b 0a 09 09 44 ..DWORD Ecx;...D
103a0 57 4f 52 44 20 45 61 78 3b 0a 09 09 44 57 4f 52 WORD Eax;...DWOR
103b0 44 20 45 62 70 3b 0a 09 09 44 57 4f 52 44 20 45 D Ebp;...DWORD E
103c0 69 70 3b 0a 09 09 44 57 4f 52 44 20 53 65 67 43 ip;...DWORD SegC
103d0 73 3b 0a 09 09 44 57 4f 52 44 20 45 46 6c 61 67 s;...DWORD EFlag
103e0 73 3b 0a 09 09 44 57 4f 52 44 20 45 73 70 3b 0a s;...DWORD Esp;.
103f0 09 09 44 57 4f 52 44 20 53 65 67 53 73 3b 0a 09 ..DWORD SegSs;..
10400 09 42 59 54 45 5b 4d 41 58 49 4d 55 4d 5f 53 55 .BYTE[MAXIMUM_SU
10410 50 50 4f 52 54 45 44 5f 45 58 54 45 4e 53 49 4f PPORTED_EXTENSIO
10420 4e 5d 20 45 78 74 65 6e 64 65 64 52 65 67 69 73 N] ExtendedRegis
10430 74 65 72 73 3b 0a 09 7d 0a 0a 7d 20 65 6c 73 65 ters;..}..} else
10440 20 7b 0a 09 73 74 61 74 69 63 20 61 73 73 65 72 {..static asser
10450 74 28 66 61 6c 73 65 2c 20 22 55 6e 73 75 70 70 t(false, "Unsupp
10460 6f 72 74 65 64 20 43 50 55 22 29 3b 0a 09 2f 2f orted CPU");..//
10470 20 56 65 72 73 69 6f 6e 73 20 66 6f 72 20 50 6f Versions for Po
10480 77 65 72 50 43 2c 20 41 6c 70 68 61 2c 20 53 48 werPC, Alpha, SH
10490 58 2c 20 61 6e 64 20 4d 49 50 53 20 72 65 6d 6f X, and MIPS remo
104a0 76 65 64 2e 0a 7d 0a 0a 61 6c 69 61 73 20 43 4f ved..}..alias CO
104b0 4e 54 45 58 54 2a 20 50 43 4f 4e 54 45 58 54 2c NTEXT* PCONTEXT,
104c0 20 4c 50 43 4f 4e 54 45 58 54 3b 0a 0a 73 74 72 LPCONTEXT;..str
104d0 75 63 74 20 45 58 43 45 50 54 49 4f 4e 5f 52 45 uct EXCEPTION_RE
104e0 43 4f 52 44 20 7b 0a 09 44 57 4f 52 44 20 45 78 CORD {..DWORD Ex
104f0 63 65 70 74 69 6f 6e 43 6f 64 65 3b 0a 09 44 57 ceptionCode;..DW
10500 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 46 6c 61 ORD ExceptionFla
10510 67 73 3b 0a 09 45 58 43 45 50 54 49 4f 4e 5f 52 gs;..EXCEPTION_R
10520 45 43 4f 52 44 2a 20 45 78 63 65 70 74 69 6f 6e ECORD* Exception
10530 52 65 63 6f 72 64 3b 0a 09 50 56 4f 49 44 20 45 Record;..PVOID E
10540 78 63 65 70 74 69 6f 6e 41 64 64 72 65 73 73 3b xceptionAddress;
10550 0a 09 44 57 4f 52 44 20 4e 75 6d 62 65 72 50 61 ..DWORD NumberPa
10560 72 61 6d 65 74 65 72 73 3b 0a 09 44 57 4f 52 44 rameters;..DWORD
10570 5b 45 58 43 45 50 54 49 4f 4e 5f 4d 41 58 49 4d [EXCEPTION_MAXIM
10580 55 4d 5f 50 41 52 41 4d 45 54 45 52 53 5d 20 45 UM_PARAMETERS] E
10590 78 63 65 70 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 xceptionInformat
105a0 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 45 58 43 ion;.}.alias EXC
105b0 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 2a 20 50 EPTION_RECORD* P
105c0 45 58 43 45 50 54 49 4f 4e 5f 52 45 43 4f 52 44 EXCEPTION_RECORD
105d0 2c 20 4c 50 45 58 43 45 50 54 49 4f 4e 5f 52 45 , LPEXCEPTION_RE
105e0 43 4f 52 44 3b 0a 0a 73 74 72 75 63 74 20 45 58 CORD;..struct EX
105f0 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 CEPTION_POINTERS
10600 20 7b 0a 09 50 45 58 43 45 50 54 49 4f 4e 5f 52 {..PEXCEPTION_R
10610 45 43 4f 52 44 20 45 78 63 65 70 74 69 6f 6e 52 ECORD ExceptionR
10620 65 63 6f 72 64 3b 0a 09 50 43 4f 4e 54 45 58 54 ecord;..PCONTEXT
10630 20 20 20 20 20 20 20 20 20 20 43 6f 6e 74 65 78 Contex
10640 74 52 65 63 6f 72 64 3b 0a 7d 0a 61 6c 69 61 73 tRecord;.}.alias
10650 20 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e 54 EXCEPTION_POINT
10660 45 52 53 2a 20 50 45 58 43 45 50 54 49 4f 4e 5f ERS* PEXCEPTION_
10670 50 4f 49 4e 54 45 52 53 2c 20 4c 50 45 58 43 45 POINTERS, LPEXCE
10680 50 54 49 4f 4e 5f 50 4f 49 4e 54 45 52 53 3b 0a PTION_POINTERS;.
10690 0a 75 6e 69 6f 6e 20 4c 41 52 47 45 5f 49 4e 54 .union LARGE_INT
106a0 45 47 45 52 20 7b 0a 09 73 74 72 75 63 74 20 7b EGER {..struct {
106b0 0a 09 09 75 69 6e 74 20 4c 6f 77 50 61 72 74 3b ...uint LowPart;
106c0 0a 09 09 69 6e 74 20 20 48 69 67 68 50 61 72 74 ...int HighPart
106d0 3b 0a 09 7d 0a 09 6c 6f 6e 67 20 51 75 61 64 50 ;..}..long QuadP
106e0 61 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 4c 41 52 art;.}.alias LAR
106f0 47 45 5f 49 4e 54 45 47 45 52 2a 20 50 4c 41 52 GE_INTEGER* PLAR
10700 47 45 5f 49 4e 54 45 47 45 52 3b 0a 0a 75 6e 69 GE_INTEGER;..uni
10710 6f 6e 20 55 4c 41 52 47 45 5f 49 4e 54 45 47 45 on ULARGE_INTEGE
10720 52 20 7b 0a 09 73 74 72 75 63 74 20 7b 0a 09 09 R {..struct {...
10730 75 69 6e 74 20 4c 6f 77 50 61 72 74 3b 0a 09 09 uint LowPart;...
10740 75 69 6e 74 20 48 69 67 68 50 61 72 74 3b 0a 09 uint HighPart;..
10750 7d 0a 09 75 6c 6f 6e 67 20 51 75 61 64 50 61 72 }..ulong QuadPar
10760 74 3b 0a 7d 0a 61 6c 69 61 73 20 55 4c 41 52 47 t;.}.alias ULARG
10770 45 5f 49 4e 54 45 47 45 52 2a 20 50 55 4c 41 52 E_INTEGER* PULAR
10780 47 45 5f 49 4e 54 45 47 45 52 3b 0a 0a 61 6c 69 GE_INTEGER;..ali
10790 61 73 20 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 as LARGE_INTEGER
107a0 20 4c 55 49 44 3b 0a 61 6c 69 61 73 20 4c 55 49 LUID;.alias LUI
107b0 44 2a 20 50 4c 55 49 44 3b 0a 0a 63 6f 6e 73 74 D* PLUID;..const
107c0 20 4c 55 49 44 20 53 59 53 54 45 4d 5f 4c 55 49 LUID SYSTEM_LUI
107d0 44 20 3d 20 7b 20 51 75 61 64 50 61 72 74 3a 39 D = { QuadPart:9
107e0 39 39 20 7d 3b 0a 0a 61 6c 69 67 6e 28 34 29 20 99 };..align(4)
107f0 73 74 72 75 63 74 20 4c 55 49 44 5f 41 4e 44 5f struct LUID_AND_
10800 41 54 54 52 49 42 55 54 45 53 20 7b 0a 09 4c 55 ATTRIBUTES {..LU
10810 49 44 20 20 4c 75 69 64 3b 0a 09 44 57 4f 52 44 ID Luid;..DWORD
10820 20 41 74 74 72 69 62 75 74 65 73 3b 0a 7d 0a 61 Attributes;.}.a
10830 6c 69 61 73 20 4c 55 49 44 5f 41 4e 44 5f 41 54 lias LUID_AND_AT
10840 54 52 49 42 55 54 45 53 2a 20 50 4c 55 49 44 5f TRIBUTES* PLUID_
10850 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 3b 0a AND_ATTRIBUTES;.
10860 0a 73 74 72 75 63 74 20 50 52 49 56 49 4c 45 47 .struct PRIVILEG
10870 45 5f 53 45 54 20 7b 0a 09 44 57 4f 52 44 20 50 E_SET {..DWORD P
10880 72 69 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0a 09 rivilegeCount;..
10890 44 57 4f 52 44 20 43 6f 6e 74 72 6f 6c 3b 0a 09 DWORD Control;..
108a0 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 LUID_AND_ATTRIBU
108b0 54 45 53 20 5f 50 72 69 76 69 6c 65 67 65 3b 0a TES _Privilege;.
108c0 0a 09 4c 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 ..LUID_AND_ATTRI
108d0 42 55 54 45 53 2a 20 50 72 69 76 69 6c 65 67 65 BUTES* Privilege
108e0 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f 50 72 () { return &_Pr
108f0 69 76 69 6c 65 67 65 3b 20 7d 0a 7d 0a 61 6c 69 ivilege; }.}.ali
10900 61 73 20 50 52 49 56 49 4c 45 47 45 5f 53 45 54 as PRIVILEGE_SET
10910 2a 20 50 50 52 49 56 49 4c 45 47 45 5f 53 45 54 * PPRIVILEGE_SET
10920 3b 0a 0a 73 74 72 75 63 74 20 53 45 43 55 52 49 ;..struct SECURI
10930 54 59 5f 41 54 54 52 49 42 55 54 45 53 20 7b 0a TY_ATTRIBUTES {.
10940 09 44 57 4f 52 44 20 20 6e 4c 65 6e 67 74 68 3b .DWORD nLength;
10950 0a 09 4c 50 56 4f 49 44 20 6c 70 53 65 63 75 72 ..LPVOID lpSecur
10960 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b 0a 09 ityDescriptor;..
10970 42 4f 4f 4c 20 20 20 62 49 6e 68 65 72 69 74 48 BOOL bInheritH
10980 61 6e 64 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 andle;.}.alias S
10990 45 43 55 52 49 54 59 5f 41 54 54 52 49 42 55 54 ECURITY_ATTRIBUT
109a0 45 53 2a 20 50 53 45 43 55 52 49 54 59 5f 41 54 ES* PSECURITY_AT
109b0 54 52 49 42 55 54 45 53 2c 20 4c 50 53 45 43 55 TRIBUTES, LPSECU
109c0 52 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 3b RITY_ATTRIBUTES;
109d0 0a 0a 73 74 72 75 63 74 20 53 45 43 55 52 49 54 ..struct SECURIT
109e0 59 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52 Y_QUALITY_OF_SER
109f0 56 49 43 45 20 7b 0a 09 44 57 4f 52 44 20 20 20 VICE {..DWORD
10a00 4c 65 6e 67 74 68 3b 0a 09 53 45 43 55 52 49 54 Length;..SECURIT
10a10 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f Y_IMPERSONATION_
10a20 4c 45 56 45 4c 20 20 20 49 6d 70 65 72 73 6f 6e LEVEL Imperson
10a30 61 74 69 6f 6e 4c 65 76 65 6c 3b 0a 09 53 45 43 ationLevel;..SEC
10a40 55 52 49 54 59 5f 43 4f 4e 54 45 58 54 5f 54 52 URITY_CONTEXT_TR
10a50 41 43 4b 49 4e 47 5f 4d 4f 44 45 20 43 6f 6e 74 ACKING_MODE Cont
10a60 65 78 74 54 72 61 63 6b 69 6e 67 4d 6f 64 65 3b extTrackingMode;
10a70 0a 09 42 4f 4f 4c 45 41 4e 20 45 66 66 65 63 74 ..BOOLEAN Effect
10a80 69 76 65 4f 6e 6c 79 3b 0a 7d 0a 61 6c 69 61 73 iveOnly;.}.alias
10a90 20 53 45 43 55 52 49 54 59 5f 51 55 41 4c 49 54 SECURITY_QUALIT
10aa0 59 5f 4f 46 5f 53 45 52 56 49 43 45 2a 20 50 53 Y_OF_SERVICE* PS
10ab0 45 43 55 52 49 54 59 5f 51 55 41 4c 49 54 59 5f ECURITY_QUALITY_
10ac0 4f 46 5f 53 45 52 56 49 43 45 3b 0a 0a 61 6c 69 OF_SERVICE;..ali
10ad0 61 73 20 50 56 4f 49 44 20 50 41 43 43 45 53 53 as PVOID PACCESS
10ae0 5f 54 4f 4b 45 4e 3b 0a 0a 73 74 72 75 63 74 20 _TOKEN;..struct
10af0 53 45 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e SE_IMPERSONATION
10b00 5f 53 54 41 54 45 20 7b 0a 09 50 41 43 43 45 53 _STATE {..PACCES
10b10 53 5f 54 4f 4b 45 4e 20 54 6f 6b 65 6e 3b 0a 09 S_TOKEN Token;..
10b20 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 43 6f BOOLEAN Co
10b30 70 79 4f 6e 4f 70 65 6e 3b 0a 09 42 4f 4f 4c 45 pyOnOpen;..BOOLE
10b40 41 4e 20 20 20 20 20 20 20 45 66 66 65 63 74 69 AN Effecti
10b50 76 65 4f 6e 6c 79 3b 0a 09 53 45 43 55 52 49 54 veOnly;..SECURIT
10b60 59 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f Y_IMPERSONATION_
10b70 4c 45 56 45 4c 20 4c 65 76 65 6c 3b 0a 7d 0a 61 LEVEL Level;.}.a
10b80 6c 69 61 73 20 53 45 5f 49 4d 50 45 52 53 4f 4e lias SE_IMPERSON
10b90 41 54 49 4f 4e 5f 53 54 41 54 45 2a 20 50 53 45 ATION_STATE* PSE
10ba0 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 53 _IMPERSONATION_S
10bb0 54 41 54 45 3b 0a 0a 73 74 72 75 63 74 20 53 49 TATE;..struct SI
10bc0 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54 D_IDENTIFIER_AUT
10bd0 48 4f 52 49 54 59 20 7b 0a 09 42 59 54 45 5b 36 HORITY {..BYTE[6
10be0 5d 20 56 61 6c 75 65 3b 0a 7d 0a 61 6c 69 61 73 ] Value;.}.alias
10bf0 20 53 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f SID_IDENTIFIER_
10c00 41 55 54 48 4f 52 49 54 59 2a 20 50 53 49 44 5f AUTHORITY* PSID_
10c10 49 44 45 4e 54 49 46 49 45 52 5f 41 55 54 48 4f IDENTIFIER_AUTHO
10c20 52 49 54 59 2c 20 4c 50 53 49 44 5f 49 44 45 4e RITY, LPSID_IDEN
10c30 54 49 46 49 45 52 5f 41 55 54 48 4f 52 49 54 59 TIFIER_AUTHORITY
10c40 3b 0a 0a 61 6c 69 61 73 20 50 56 4f 49 44 20 50 ;..alias PVOID P
10c50 53 49 44 3b 0a 0a 73 74 72 75 63 74 20 53 49 44 SID;..struct SID
10c60 20 7b 0a 09 42 59 54 45 20 20 52 65 76 69 73 69 {..BYTE Revisi
10c70 6f 6e 3b 0a 09 42 59 54 45 20 20 53 75 62 41 75 on;..BYTE SubAu
10c80 74 68 6f 72 69 74 79 43 6f 75 6e 74 3b 0a 09 53 thorityCount;..S
10c90 49 44 5f 49 44 45 4e 54 49 46 49 45 52 5f 41 55 ID_IDENTIFIER_AU
10ca0 54 48 4f 52 49 54 59 20 49 64 65 6e 74 69 66 69 THORITY Identifi
10cb0 65 72 41 75 74 68 6f 72 69 74 79 3b 0a 09 44 57 erAuthority;..DW
10cc0 4f 52 44 20 5f 53 75 62 41 75 74 68 6f 72 69 74 ORD _SubAuthorit
10cd0 79 3b 0a 0a 09 44 57 4f 52 44 2a 20 53 75 62 41 y;...DWORD* SubA
10ce0 75 74 68 6f 72 69 74 79 28 29 20 7b 20 72 65 74 uthority() { ret
10cf0 75 72 6e 20 26 5f 53 75 62 41 75 74 68 6f 72 69 urn &_SubAuthori
10d00 74 79 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 53 49 ty; }.}.alias SI
10d10 44 2a 20 50 49 53 49 44 3b 0a 0a 73 74 72 75 63 D* PISID;..struc
10d20 74 20 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 t SID_AND_ATTRIB
10d30 55 54 45 53 20 7b 0a 09 50 53 49 44 20 20 53 69 UTES {..PSID Si
10d40 64 3b 0a 09 44 57 4f 52 44 20 41 74 74 72 69 62 d;..DWORD Attrib
10d50 75 74 65 73 3b 0a 7d 0a 61 6c 69 61 73 20 53 49 utes;.}.alias SI
10d60 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 D_AND_ATTRIBUTES
10d70 2a 20 50 53 49 44 5f 41 4e 44 5f 41 54 54 52 49 * PSID_AND_ATTRI
10d80 42 55 54 45 53 3b 0a 0a 73 74 72 75 63 74 20 54 BUTES;..struct T
10d90 4f 4b 45 4e 5f 53 4f 55 52 43 45 20 7b 0a 09 43 OKEN_SOURCE {..C
10da0 48 41 52 5b 54 4f 4b 45 4e 5f 53 4f 55 52 43 45 HAR[TOKEN_SOURCE
10db0 5f 4c 45 4e 47 54 48 5d 20 53 6f 75 72 63 65 4e _LENGTH] SourceN
10dc0 61 6d 65 3b 0a 09 4c 55 49 44 20 53 6f 75 72 63 ame;..LUID Sourc
10dd0 65 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 61 eIdentifier;.}.a
10de0 6c 69 61 73 20 54 4f 4b 45 4e 5f 53 4f 55 52 43 lias TOKEN_SOURC
10df0 45 2a 20 50 54 4f 4b 45 4e 5f 53 4f 55 52 43 45 E* PTOKEN_SOURCE
10e00 3b 0a 0a 73 74 72 75 63 74 20 54 4f 4b 45 4e 5f ;..struct TOKEN_
10e10 43 4f 4e 54 52 4f 4c 20 7b 0a 09 4c 55 49 44 20 CONTROL {..LUID
10e20 20 20 20 20 20 20 20 20 54 6f 6b 65 6e 49 64 3b TokenId;
10e30 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 41 ..LUID A
10e40 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 49 64 3b uthenticationId;
10e50 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 4d ..LUID M
10e60 6f 64 69 66 69 65 64 49 64 3b 0a 09 54 4f 4b 45 odifiedId;..TOKE
10e70 4e 5f 53 4f 55 52 43 45 20 54 6f 6b 65 6e 53 6f N_SOURCE TokenSo
10e80 75 72 63 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f urce;.}.alias TO
10e90 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 2a 20 50 54 4f KEN_CONTROL* PTO
10ea0 4b 45 4e 5f 43 4f 4e 54 52 4f 4c 3b 0a 0a 73 74 KEN_CONTROL;..st
10eb0 72 75 63 74 20 54 4f 4b 45 4e 5f 44 45 46 41 55 ruct TOKEN_DEFAU
10ec0 4c 54 5f 44 41 43 4c 20 7b 0a 09 50 41 43 4c 20 LT_DACL {..PACL
10ed0 44 65 66 61 75 6c 74 44 61 63 6c 3b 0a 7d 0a 61 DefaultDacl;.}.a
10ee0 6c 69 61 73 20 54 4f 4b 45 4e 5f 44 45 46 41 55 lias TOKEN_DEFAU
10ef0 4c 54 5f 44 41 43 4c 2a 20 50 54 4f 4b 45 4e 5f LT_DACL* PTOKEN_
10f00 44 45 46 41 55 4c 54 5f 44 41 43 4c 3b 0a 0a 73 DEFAULT_DACL;..s
10f10 74 72 75 63 74 20 54 4f 4b 45 4e 5f 47 52 4f 55 truct TOKEN_GROU
10f20 50 53 20 7b 0a 09 44 57 4f 52 44 20 47 72 6f 75 PS {..DWORD Grou
10f30 70 43 6f 75 6e 74 3b 0a 09 53 49 44 5f 41 4e 44 pCount;..SID_AND
10f40 5f 41 54 54 52 49 42 55 54 45 53 20 5f 47 72 6f _ATTRIBUTES _Gro
10f50 75 70 73 3b 0a 0a 09 53 49 44 5f 41 4e 44 5f 41 ups;...SID_AND_A
10f60 54 54 52 49 42 55 54 45 53 2a 20 47 72 6f 75 70 TTRIBUTES* Group
10f70 73 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f 47 s() { return &_G
10f80 72 6f 75 70 73 3b 20 7d 0a 7d 0a 61 6c 69 61 73 roups; }.}.alias
10f90 20 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 2a 20 50 TOKEN_GROUPS* P
10fa0 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 2c 20 4c 50 TOKEN_GROUPS, LP
10fb0 54 4f 4b 45 4e 5f 47 52 4f 55 50 53 3b 0a 0a 73 TOKEN_GROUPS;..s
10fc0 74 72 75 63 74 20 54 4f 4b 45 4e 5f 4f 57 4e 45 truct TOKEN_OWNE
10fd0 52 20 7b 0a 09 50 53 49 44 20 4f 77 6e 65 72 3b R {..PSID Owner;
10fe0 0a 7d 0a 61 6c 69 61 73 20 54 4f 4b 45 4e 5f 4f .}.alias TOKEN_O
10ff0 57 4e 45 52 2a 20 50 54 4f 4b 45 4e 5f 4f 57 4e WNER* PTOKEN_OWN
11000 45 52 3b 0a 0a 73 74 72 75 63 74 20 54 4f 4b 45 ER;..struct TOKE
11010 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 50 20 N_PRIMARY_GROUP
11020 7b 0a 09 50 53 49 44 20 50 72 69 6d 61 72 79 47 {..PSID PrimaryG
11030 72 6f 75 70 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f roup;.}.alias TO
11040 4b 45 4e 5f 50 52 49 4d 41 52 59 5f 47 52 4f 55 KEN_PRIMARY_GROU
11050 50 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 4d 41 52 P* PTOKEN_PRIMAR
11060 59 5f 47 52 4f 55 50 3b 0a 0a 73 74 72 75 63 74 Y_GROUP;..struct
11070 20 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 45 TOKEN_PRIVILEGE
11080 53 20 7b 0a 09 44 57 4f 52 44 20 50 72 69 76 69 S {..DWORD Privi
11090 6c 65 67 65 43 6f 75 6e 74 3b 0a 09 4c 55 49 44 legeCount;..LUID
110a0 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 _AND_ATTRIBUTES
110b0 5f 50 72 69 76 69 6c 65 67 65 73 3b 0a 0a 09 4c _Privileges;...L
110c0 55 49 44 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 UID_AND_ATTRIBUT
110d0 45 53 2a 20 50 72 69 76 69 6c 65 67 65 73 28 29 ES* Privileges()
110e0 20 7b 20 72 65 74 75 72 6e 20 26 5f 50 72 69 76 { return &_Priv
110f0 69 6c 65 67 65 73 3b 20 7d 0a 7d 0a 61 6c 69 61 ileges; }.}.alia
11100 73 20 54 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 s TOKEN_PRIVILEG
11110 45 53 2a 20 50 54 4f 4b 45 4e 5f 50 52 49 56 49 ES* PTOKEN_PRIVI
11120 4c 45 47 45 53 2c 20 4c 50 54 4f 4b 45 4e 5f 50 LEGES, LPTOKEN_P
11130 52 49 56 49 4c 45 47 45 53 3b 0a 0a 65 6e 75 6d RIVILEGES;..enum
11140 20 54 4f 4b 45 4e 5f 54 59 50 45 20 7b 0a 09 54 TOKEN_TYPE {..T
11150 6f 6b 65 6e 50 72 69 6d 61 72 79 20 3d 20 31 2c okenPrimary = 1,
11160 0a 09 54 6f 6b 65 6e 49 6d 70 65 72 73 6f 6e 61 ..TokenImpersona
11170 74 69 6f 6e 0a 7d 0a 61 6c 69 61 73 20 54 4f 4b tion.}.alias TOK
11180 45 4e 5f 54 59 50 45 2a 20 50 54 4f 4b 45 4e 5f EN_TYPE* PTOKEN_
11190 54 59 50 45 3b 0a 0a 73 74 72 75 63 74 20 54 4f TYPE;..struct TO
111a0 4b 45 4e 5f 53 54 41 54 49 53 54 49 43 53 20 7b KEN_STATISTICS {
111b0 0a 09 4c 55 49 44 20 20 20 20 20 20 20 20 20 20 ..LUID
111c0 54 6f 6b 65 6e 49 64 3b 0a 09 4c 55 49 44 20 20 TokenId;..LUID
111d0 20 20 20 20 20 20 20 20 41 75 74 68 65 6e 74 69 Authenti
111e0 63 61 74 69 6f 6e 49 64 3b 0a 09 4c 41 52 47 45 cationId;..LARGE
111f0 5f 49 4e 54 45 47 45 52 20 45 78 70 69 72 61 74 _INTEGER Expirat
11200 69 6f 6e 54 69 6d 65 3b 0a 09 54 4f 4b 45 4e 5f ionTime;..TOKEN_
11210 54 59 50 45 20 20 20 20 54 6f 6b 65 6e 54 79 70 TYPE TokenTyp
11220 65 3b 0a 09 53 45 43 55 52 49 54 59 5f 49 4d 50 e;..SECURITY_IMP
11230 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45 56 45 4c ERSONATION_LEVEL
11240 20 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 4c 65 ImpersonationLe
11250 76 65 6c 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 vel;..DWORD
11260 20 20 20 20 44 79 6e 61 6d 69 63 43 68 61 72 67 DynamicCharg
11270 65 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 ed;..DWORD
11280 20 20 20 44 79 6e 61 6d 69 63 41 76 61 69 6c 61 DynamicAvaila
11290 62 6c 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 ble;..DWORD
112a0 20 20 20 20 47 72 6f 75 70 43 6f 75 6e 74 3b 0a GroupCount;.
112b0 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 50 .DWORD P
112c0 72 69 76 69 6c 65 67 65 43 6f 75 6e 74 3b 0a 09 rivilegeCount;..
112d0 4c 55 49 44 20 20 20 20 20 20 20 20 20 20 4d 6f LUID Mo
112e0 64 69 66 69 65 64 49 64 3b 0a 7d 0a 61 6c 69 61 difiedId;.}.alia
112f0 73 20 54 4f 4b 45 4e 5f 53 54 41 54 49 53 54 49 s TOKEN_STATISTI
11300 43 53 2a 20 50 54 4f 4b 45 4e 5f 53 54 41 54 49 CS* PTOKEN_STATI
11310 53 54 49 43 53 3b 0a 0a 73 74 72 75 63 74 20 54 STICS;..struct T
11320 4f 4b 45 4e 5f 55 53 45 52 20 7b 0a 09 53 49 44 OKEN_USER {..SID
11330 5f 41 4e 44 5f 41 54 54 52 49 42 55 54 45 53 20 _AND_ATTRIBUTES
11340 55 73 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 54 4f User;.}.alias TO
11350 4b 45 4e 5f 55 53 45 52 2a 20 50 54 4f 4b 45 4e KEN_USER* PTOKEN
11360 5f 55 53 45 52 3b 0a 0a 61 6c 69 61 73 20 44 57 _USER;..alias DW
11370 4f 52 44 20 53 45 43 55 52 49 54 59 5f 49 4e 46 ORD SECURITY_INF
11380 4f 52 4d 41 54 49 4f 4e 3b 0a 61 6c 69 61 73 20 ORMATION;.alias
11390 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 SECURITY_INFORMA
113a0 54 49 4f 4e 2a 20 50 53 45 43 55 52 49 54 59 5f TION* PSECURITY_
113b0 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 61 6c 69 INFORMATION;.ali
113c0 61 73 20 57 4f 52 44 20 53 45 43 55 52 49 54 59 as WORD SECURITY
113d0 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e 54 _DESCRIPTOR_CONT
113e0 52 4f 4c 3b 0a 61 6c 69 61 73 20 53 45 43 55 52 ROL;.alias SECUR
113f0 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 ITY_DESCRIPTOR_C
11400 4f 4e 54 52 4f 4c 2a 20 50 53 45 43 55 52 49 54 ONTROL* PSECURIT
11410 59 5f 44 45 53 43 52 49 50 54 4f 52 5f 43 4f 4e Y_DESCRIPTOR_CON
11420 54 52 4f 4c 3b 0a 0a 73 74 72 75 63 74 20 53 45 TROL;..struct SE
11430 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f CURITY_DESCRIPTO
11440 52 20 7b 0a 09 42 59 54 45 20 52 65 76 69 73 69 R {..BYTE Revisi
11450 6f 6e 3b 0a 09 42 59 54 45 20 53 62 7a 31 3b 0a on;..BYTE Sbz1;.
11460 09 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 .SECURITY_DESCRI
11470 50 54 4f 52 5f 43 4f 4e 54 52 4f 4c 20 43 6f 6e PTOR_CONTROL Con
11480 74 72 6f 6c 3b 0a 09 50 53 49 44 20 4f 77 6e 65 trol;..PSID Owne
11490 72 3b 0a 09 50 53 49 44 20 47 72 6f 75 70 3b 0a r;..PSID Group;.
114a0 09 50 41 43 4c 20 53 61 63 6c 3b 0a 09 50 41 43 .PACL Sacl;..PAC
114b0 4c 20 44 61 63 6c 3b 0a 7d 0a 61 6c 69 61 73 20 L Dacl;.}.alias
114c0 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 SECURITY_DESCRIP
114d0 54 4f 52 2a 20 50 53 45 43 55 52 49 54 59 5f 44 TOR* PSECURITY_D
114e0 45 53 43 52 49 50 54 4f 52 2c 20 50 49 53 45 43 ESCRIPTOR, PISEC
114f0 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 URITY_DESCRIPTOR
11500 3b 0a 0a 65 6e 75 6d 20 54 4f 4b 45 4e 5f 49 4e ;..enum TOKEN_IN
11510 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 FORMATION_CLASS
11520 7b 0a 09 54 6f 6b 65 6e 55 73 65 72 20 3d 20 31 {..TokenUser = 1
11530 2c 0a 09 54 6f 6b 65 6e 47 72 6f 75 70 73 2c 0a ,..TokenGroups,.
11540 09 54 6f 6b 65 6e 50 72 69 76 69 6c 65 67 65 73 .TokenPrivileges
11550 2c 0a 09 54 6f 6b 65 6e 4f 77 6e 65 72 2c 0a 09 ,..TokenOwner,..
11560 54 6f 6b 65 6e 50 72 69 6d 61 72 79 47 72 6f 75 TokenPrimaryGrou
11570 70 2c 0a 09 54 6f 6b 65 6e 44 65 66 61 75 6c 74 p,..TokenDefault
11580 44 61 63 6c 2c 0a 09 54 6f 6b 65 6e 53 6f 75 72 Dacl,..TokenSour
11590 63 65 2c 0a 09 54 6f 6b 65 6e 54 79 70 65 2c 0a ce,..TokenType,.
115a0 09 54 6f 6b 65 6e 49 6d 70 65 72 73 6f 6e 61 74 .TokenImpersonat
115b0 69 6f 6e 4c 65 76 65 6c 2c 0a 09 54 6f 6b 65 6e ionLevel,..Token
115c0 53 74 61 74 69 73 74 69 63 73 2c 0a 09 54 6f 6b Statistics,..Tok
115d0 65 6e 52 65 73 74 72 69 63 74 65 64 53 69 64 73 enRestrictedSids
115e0 2c 0a 09 54 6f 6b 65 6e 53 65 73 73 69 6f 6e 49 ,..TokenSessionI
115f0 64 2c 0a 09 54 6f 6b 65 6e 47 72 6f 75 70 73 41 d,..TokenGroupsA
11600 6e 64 50 72 69 76 69 6c 65 67 65 73 2c 0a 09 54 ndPrivileges,..T
11610 6f 6b 65 6e 53 65 73 73 69 6f 6e 52 65 66 65 72 okenSessionRefer
11620 65 6e 63 65 2c 0a 09 54 6f 6b 65 6e 53 61 6e 64 ence,..TokenSand
11630 42 6f 78 49 6e 65 72 74 2c 0a 09 54 6f 6b 65 6e BoxInert,..Token
11640 41 75 64 69 74 50 6f 6c 69 63 79 2c 0a 09 54 6f AuditPolicy,..To
11650 6b 65 6e 4f 72 69 67 69 6e 0a 7d 0a 0a 65 6e 75 kenOrigin.}..enu
11660 6d 20 53 49 44 5f 4e 41 4d 45 5f 55 53 45 20 7b m SID_NAME_USE {
11670 0a 09 53 69 64 54 79 70 65 55 73 65 72 20 3d 20 ..SidTypeUser =
11680 31 2c 0a 09 53 69 64 54 79 70 65 47 72 6f 75 70 1,..SidTypeGroup
11690 2c 0a 09 53 69 64 54 79 70 65 44 6f 6d 61 69 6e ,..SidTypeDomain
116a0 2c 0a 09 53 69 64 54 79 70 65 41 6c 69 61 73 2c ,..SidTypeAlias,
116b0 0a 09 53 69 64 54 79 70 65 57 65 6c 6c 4b 6e 6f ..SidTypeWellKno
116c0 77 6e 47 72 6f 75 70 2c 0a 09 53 69 64 54 79 70 wnGroup,..SidTyp
116d0 65 44 65 6c 65 74 65 64 41 63 63 6f 75 6e 74 2c eDeletedAccount,
116e0 0a 09 53 69 64 54 79 70 65 49 6e 76 61 6c 69 64 ..SidTypeInvalid
116f0 2c 0a 09 53 69 64 54 79 70 65 55 6e 6b 6e 6f 77 ,..SidTypeUnknow
11700 6e 2c 0a 09 53 69 64 54 79 70 65 43 6f 6d 70 75 n,..SidTypeCompu
11710 74 65 72 0a 7d 0a 61 6c 69 61 73 20 53 49 44 5f ter.}.alias SID_
11720 4e 41 4d 45 5f 55 53 45 2a 20 50 53 49 44 5f 4e NAME_USE* PSID_N
11730 41 4d 45 5f 55 53 45 3b 0a 0a 73 74 72 75 63 74 AME_USE;..struct
11740 20 51 55 4f 54 41 5f 4c 49 4d 49 54 53 20 7b 0a QUOTA_LIMITS {.
11750 09 53 49 5a 45 5f 54 20 50 61 67 65 64 50 6f 6f .SIZE_T PagedPoo
11760 6c 4c 69 6d 69 74 3b 0a 09 53 49 5a 45 5f 54 20 lLimit;..SIZE_T
11770 4e 6f 6e 50 61 67 65 64 50 6f 6f 6c 4c 69 6d 69 NonPagedPoolLimi
11780 74 3b 0a 09 53 49 5a 45 5f 54 20 4d 69 6e 69 6d t;..SIZE_T Minim
11790 75 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 umWorkingSetSize
117a0 3b 0a 09 53 49 5a 45 5f 54 20 4d 61 78 69 6d 75 ;..SIZE_T Maximu
117b0 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 7a 65 3b mWorkingSetSize;
117c0 0a 09 53 49 5a 45 5f 54 20 50 61 67 65 66 69 6c ..SIZE_T Pagefil
117d0 65 4c 69 6d 69 74 3b 0a 09 4c 41 52 47 45 5f 49 eLimit;..LARGE_I
117e0 4e 54 45 47 45 52 20 54 69 6d 65 4c 69 6d 69 74 NTEGER TimeLimit
117f0 3b 0a 7d 0a 61 6c 69 61 73 20 51 55 4f 54 41 5f ;.}.alias QUOTA_
11800 4c 49 4d 49 54 53 2a 20 50 51 55 4f 54 41 5f 4c LIMITS* PQUOTA_L
11810 49 4d 49 54 53 3b 0a 0a 73 74 72 75 63 74 20 49 IMITS;..struct I
11820 4f 5f 43 4f 55 4e 54 45 52 53 20 7b 0a 09 55 4c O_COUNTERS {..UL
11830 4f 4e 47 4c 4f 4e 47 20 52 65 61 64 4f 70 65 72 ONGLONG ReadOper
11840 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f ationCount;..ULO
11850 4e 47 4c 4f 4e 47 20 57 72 69 74 65 4f 70 65 72 NGLONG WriteOper
11860 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f ationCount;..ULO
11870 4e 47 4c 4f 4e 47 20 4f 74 68 65 72 4f 70 65 72 NGLONG OtherOper
11880 61 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 55 4c 4f ationCount;..ULO
11890 4e 47 4c 4f 4e 47 20 52 65 61 64 54 72 61 6e 73 NGLONG ReadTrans
118a0 66 65 72 43 6f 75 6e 74 3b 0a 09 55 4c 4f 4e 47 ferCount;..ULONG
118b0 4c 4f 4e 47 20 57 72 69 74 65 54 72 61 6e 73 66 LONG WriteTransf
118c0 65 72 43 6f 75 6e 74 3b 0a 09 55 4c 4f 4e 47 4c erCount;..ULONGL
118d0 4f 4e 47 20 4f 74 68 65 72 54 72 61 6e 73 66 65 ONG OtherTransfe
118e0 72 43 6f 75 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 rCount;.}.alias
118f0 49 4f 5f 43 4f 55 4e 54 45 52 53 2a 20 50 49 4f IO_COUNTERS* PIO
11900 5f 43 4f 55 4e 54 45 52 53 3b 0a 0a 73 74 72 75 _COUNTERS;..stru
11910 63 74 20 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49 ct FILE_NOTIFY_I
11920 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 57 NFORMATION {..DW
11930 4f 52 44 20 4e 65 78 74 45 6e 74 72 79 4f 66 66 ORD NextEntryOff
11940 73 65 74 3b 0a 09 44 57 4f 52 44 20 41 63 74 69 set;..DWORD Acti
11950 6f 6e 3b 0a 09 44 57 4f 52 44 20 46 69 6c 65 4e on;..DWORD FileN
11960 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 57 43 48 41 ameLength;..WCHA
11970 52 20 5f 46 69 6c 65 4e 61 6d 65 3b 0a 0a 09 57 R _FileName;...W
11980 43 48 41 52 2a 20 46 69 6c 65 4e 61 6d 65 28 29 CHAR* FileName()
11990 20 7b 20 72 65 74 75 72 6e 20 26 5f 46 69 6c 65 { return &_File
119a0 4e 61 6d 65 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 Name; }.}.alias
119b0 46 49 4c 45 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f FILE_NOTIFY_INFO
119c0 52 4d 41 54 49 4f 4e 2a 20 50 46 49 4c 45 5f 4e RMATION* PFILE_N
119d0 4f 54 49 46 59 5f 49 4e 46 4f 52 4d 41 54 49 4f OTIFY_INFORMATIO
119e0 4e 3b 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f N;..struct TAPE_
119f0 45 52 41 53 45 20 7b 0a 09 44 57 4f 52 44 20 20 ERASE {..DWORD
11a00 20 54 79 70 65 3b 0a 09 42 4f 4f 4c 45 41 4e 20 Type;..BOOLEAN
11a10 49 6d 6d 65 64 69 61 74 65 3b 0a 7d 0a 61 6c 69 Immediate;.}.ali
11a20 61 73 20 54 41 50 45 5f 45 52 41 53 45 2a 20 50 as TAPE_ERASE* P
11a30 54 41 50 45 5f 45 52 41 53 45 3b 0a 0a 73 74 72 TAPE_ERASE;..str
11a40 75 63 74 20 54 41 50 45 5f 47 45 54 5f 44 52 49 uct TAPE_GET_DRI
11a50 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20 7b 0a VE_PARAMETERS {.
11a60 09 42 4f 4f 4c 45 41 4e 20 45 43 43 3b 0a 09 42 .BOOLEAN ECC;..B
11a70 4f 4f 4c 45 41 4e 20 43 6f 6d 70 72 65 73 73 69 OOLEAN Compressi
11a80 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 44 61 74 on;..BOOLEAN Dat
11a90 61 50 61 64 64 69 6e 67 3b 0a 09 42 4f 4f 4c 45 aPadding;..BOOLE
11aa0 41 4e 20 52 65 70 6f 72 74 53 65 74 6d 61 72 6b AN ReportSetmark
11ab0 73 3b 0a 09 44 57 4f 52 44 20 20 20 44 65 66 61 s;..DWORD Defa
11ac0 75 6c 74 42 6c 6f 63 6b 53 69 7a 65 3b 0a 09 44 ultBlockSize;..D
11ad0 57 4f 52 44 20 20 20 4d 61 78 69 6d 75 6d 42 6c WORD MaximumBl
11ae0 6f 63 6b 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20 ockSize;..DWORD
11af0 20 20 4d 69 6e 69 6d 75 6d 42 6c 6f 63 6b 53 69 MinimumBlockSi
11b00 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 4d 61 78 ze;..DWORD Max
11b10 69 6d 75 6d 50 61 72 74 69 74 69 6f 6e 43 6f 75 imumPartitionCou
11b20 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 46 65 61 nt;..DWORD Fea
11b30 74 75 72 65 73 4c 6f 77 3b 0a 09 44 57 4f 52 44 turesLow;..DWORD
11b40 20 20 20 46 65 61 74 75 72 65 73 48 69 67 68 3b FeaturesHigh;
11b50 0a 09 44 57 4f 52 44 20 20 20 45 4f 54 57 61 72 ..DWORD EOTWar
11b60 6e 69 6e 67 5a 6f 6e 65 53 69 7a 65 3b 0a 7d 0a ningZoneSize;.}.
11b70 61 6c 69 61 73 20 54 41 50 45 5f 47 45 54 5f 44 alias TAPE_GET_D
11b80 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 2a RIVE_PARAMETERS*
11b90 20 50 54 41 50 45 5f 47 45 54 5f 44 52 49 56 45 PTAPE_GET_DRIVE
11ba0 5f 50 41 52 41 4d 45 54 45 52 53 3b 0a 0a 73 74 _PARAMETERS;..st
11bb0 72 75 63 74 20 54 41 50 45 5f 47 45 54 5f 4d 45 ruct TAPE_GET_ME
11bc0 44 49 41 5f 50 41 52 41 4d 45 54 45 52 53 20 7b DIA_PARAMETERS {
11bd0 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 ..LARGE_INTEGER
11be0 43 61 70 61 63 69 74 79 3b 0a 09 4c 41 52 47 45 Capacity;..LARGE
11bf0 5f 49 4e 54 45 47 45 52 20 52 65 6d 61 69 6e 69 _INTEGER Remaini
11c00 6e 67 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 ng;..DWORD
11c10 20 20 20 42 6c 6f 63 6b 53 69 7a 65 3b 0a 09 44 BlockSize;..D
11c20 57 4f 52 44 20 20 20 20 20 20 20 20 20 50 61 72 WORD Par
11c30 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 42 4f titionCount;..BO
11c40 4f 4c 45 41 4e 20 20 20 20 20 20 20 57 72 69 74 OLEAN Writ
11c50 65 50 72 6f 74 65 63 74 65 64 3b 0a 7d 0a 61 6c eProtected;.}.al
11c60 69 61 73 20 54 41 50 45 5f 47 45 54 5f 4d 45 44 ias TAPE_GET_MED
11c70 49 41 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 50 IA_PARAMETERS* P
11c80 54 41 50 45 5f 47 45 54 5f 4d 45 44 49 41 5f 50 TAPE_GET_MEDIA_P
11c90 41 52 41 4d 45 54 45 52 53 3b 0a 0a 73 74 72 75 ARAMETERS;..stru
11ca0 63 74 20 54 41 50 45 5f 47 45 54 5f 50 4f 53 49 ct TAPE_GET_POSI
11cb0 54 49 4f 4e 20 7b 0a 09 55 4c 4f 4e 47 20 54 79 TION {..ULONG Ty
11cc0 70 65 3b 0a 09 55 4c 4f 4e 47 20 50 61 72 74 69 pe;..ULONG Parti
11cd0 74 69 6f 6e 3b 0a 09 55 4c 4f 4e 47 20 4f 66 66 tion;..ULONG Off
11ce0 73 65 74 4c 6f 77 3b 0a 09 55 4c 4f 4e 47 20 4f setLow;..ULONG O
11cf0 66 66 73 65 74 48 69 67 68 3b 0a 7d 0a 61 6c 69 ffsetHigh;.}.ali
11d00 61 73 20 54 41 50 45 5f 47 45 54 5f 50 4f 53 49 as TAPE_GET_POSI
11d10 54 49 4f 4e 2a 20 50 54 41 50 45 5f 47 45 54 5f TION* PTAPE_GET_
11d20 50 4f 53 49 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 POSITION;..struc
11d30 74 20 54 41 50 45 5f 50 52 45 50 41 52 45 20 7b t TAPE_PREPARE {
11d40 0a 09 44 57 4f 52 44 20 20 20 4f 70 65 72 61 74 ..DWORD Operat
11d50 69 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 49 6d ion;..BOOLEAN Im
11d60 6d 65 64 69 61 74 65 3b 0a 7d 0a 61 6c 69 61 73 mediate;.}.alias
11d70 20 54 41 50 45 5f 50 52 45 50 41 52 45 2a 20 50 TAPE_PREPARE* P
11d80 54 41 50 45 5f 50 52 45 50 41 52 45 3b 0a 0a 73 TAPE_PREPARE;..s
11d90 74 72 75 63 74 20 54 41 50 45 5f 53 45 54 5f 44 truct TAPE_SET_D
11da0 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 20 RIVE_PARAMETERS
11db0 7b 0a 09 42 4f 4f 4c 45 41 4e 20 45 43 43 3b 0a {..BOOLEAN ECC;.
11dc0 09 42 4f 4f 4c 45 41 4e 20 43 6f 6d 70 72 65 73 .BOOLEAN Compres
11dd0 73 69 6f 6e 3b 0a 09 42 4f 4f 4c 45 41 4e 20 44 sion;..BOOLEAN D
11de0 61 74 61 50 61 64 64 69 6e 67 3b 0a 09 42 4f 4f ataPadding;..BOO
11df0 4c 45 41 4e 20 52 65 70 6f 72 74 53 65 74 6d 61 LEAN ReportSetma
11e00 72 6b 73 3b 0a 09 55 4c 4f 4e 47 20 20 20 45 4f rks;..ULONG EO
11e10 54 57 61 72 6e 69 6e 67 5a 6f 6e 65 53 69 7a 65 TWarningZoneSize
11e20 3b 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45 5f 53 ;.}.alias TAPE_S
11e30 45 54 5f 44 52 49 56 45 5f 50 41 52 41 4d 45 54 ET_DRIVE_PARAMET
11e40 45 52 53 2a 20 50 54 41 50 45 5f 53 45 54 5f 44 ERS* PTAPE_SET_D
11e50 52 49 56 45 5f 50 41 52 41 4d 45 54 45 52 53 3b RIVE_PARAMETERS;
11e60 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f 53 45 ..struct TAPE_SE
11e70 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 54 45 T_MEDIA_PARAMETE
11e80 52 53 20 7b 0a 09 55 4c 4f 4e 47 20 42 6c 6f 63 RS {..ULONG Bloc
11e90 6b 53 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 kSize;.}.alias T
11ea0 41 50 45 5f 53 45 54 5f 4d 45 44 49 41 5f 50 41 APE_SET_MEDIA_PA
11eb0 52 41 4d 45 54 45 52 53 2a 20 50 54 41 50 45 5f RAMETERS* PTAPE_
11ec0 53 45 54 5f 4d 45 44 49 41 5f 50 41 52 41 4d 45 SET_MEDIA_PARAME
11ed0 54 45 52 53 3b 0a 0a 73 74 72 75 63 74 20 54 41 TERS;..struct TA
11ee0 50 45 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 20 PE_SET_POSITION
11ef0 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 {..DWORD
11f00 20 4d 65 74 68 6f 64 3b 0a 09 44 57 4f 52 44 20 Method;..DWORD
11f10 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f Partitio
11f20 6e 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 n;..LARGE_INTEGE
11f30 52 20 4f 66 66 73 65 74 3b 0a 09 42 4f 4f 4c 45 R Offset;..BOOLE
11f40 41 4e 20 20 20 20 20 20 20 49 6d 6d 65 64 69 61 AN Immedia
11f50 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45 te;.}.alias TAPE
11f60 5f 53 45 54 5f 50 4f 53 49 54 49 4f 4e 2a 20 50 _SET_POSITION* P
11f70 54 41 50 45 5f 53 45 54 5f 50 4f 53 49 54 49 4f TAPE_SET_POSITIO
11f80 4e 3b 0a 0a 73 74 72 75 63 74 20 54 41 50 45 5f N;..struct TAPE_
11f90 57 52 49 54 45 5f 4d 41 52 4b 53 20 7b 0a 09 44 WRITE_MARKS {..D
11fa0 57 4f 52 44 20 20 20 54 79 70 65 3b 0a 09 44 57 WORD Type;..DW
11fb0 4f 52 44 20 20 20 43 6f 75 6e 74 3b 0a 09 42 4f ORD Count;..BO
11fc0 4f 4c 45 41 4e 20 49 6d 6d 65 64 69 61 74 65 3b OLEAN Immediate;
11fd0 0a 7d 0a 61 6c 69 61 73 20 54 41 50 45 5f 57 52 .}.alias TAPE_WR
11fe0 49 54 45 5f 4d 41 52 4b 53 2a 20 50 54 41 50 45 ITE_MARKS* PTAPE
11ff0 5f 57 52 49 54 45 5f 4d 41 52 4b 53 3b 0a 0a 73 _WRITE_MARKS;..s
12000 74 72 75 63 74 20 54 41 50 45 5f 43 52 45 41 54 truct TAPE_CREAT
12010 45 5f 50 41 52 54 49 54 49 4f 4e 20 7b 0a 09 44 E_PARTITION {..D
12020 57 4f 52 44 20 4d 65 74 68 6f 64 3b 0a 09 44 57 WORD Method;..DW
12030 4f 52 44 20 43 6f 75 6e 74 3b 0a 09 44 57 4f 52 ORD Count;..DWOR
12040 44 20 53 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73 20 D Size;.}.alias
12050 54 41 50 45 5f 43 52 45 41 54 45 5f 50 41 52 54 TAPE_CREATE_PART
12060 49 54 49 4f 4e 2a 20 50 54 41 50 45 5f 43 52 45 ITION* PTAPE_CRE
12070 41 54 45 5f 50 41 52 54 49 54 49 4f 4e 3b 0a 0a ATE_PARTITION;..
12080 73 74 72 75 63 74 20 4d 45 4d 4f 52 59 5f 42 41 struct MEMORY_BA
12090 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 SIC_INFORMATION
120a0 7b 0a 09 50 56 4f 49 44 20 42 61 73 65 41 64 64 {..PVOID BaseAdd
120b0 72 65 73 73 3b 0a 09 50 56 4f 49 44 20 41 6c 6c ress;..PVOID All
120c0 6f 63 61 74 69 6f 6e 42 61 73 65 3b 0a 09 44 57 ocationBase;..DW
120d0 4f 52 44 20 41 6c 6c 6f 63 61 74 69 6f 6e 50 72 ORD AllocationPr
120e0 6f 74 65 63 74 3b 0a 09 44 57 4f 52 44 20 52 65 otect;..DWORD Re
120f0 67 69 6f 6e 53 69 7a 65 3b 0a 09 44 57 4f 52 44 gionSize;..DWORD
12100 20 53 74 61 74 65 3b 0a 09 44 57 4f 52 44 20 50 State;..DWORD P
12110 72 6f 74 65 63 74 3b 0a 09 44 57 4f 52 44 20 54 rotect;..DWORD T
12120 79 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 4d 45 4d ype;.}.alias MEM
12130 4f 52 59 5f 42 41 53 49 43 5f 49 4e 46 4f 52 4d ORY_BASIC_INFORM
12140 41 54 49 4f 4e 2a 20 50 4d 45 4d 4f 52 59 5f 42 ATION* PMEMORY_B
12150 41 53 49 43 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e ASIC_INFORMATION
12160 3b 0a 0a 73 74 72 75 63 74 20 4d 45 53 53 41 47 ;..struct MESSAG
12170 45 5f 52 45 53 4f 55 52 43 45 5f 45 4e 54 52 59 E_RESOURCE_ENTRY
12180 20 7b 0a 09 57 4f 52 44 20 4c 65 6e 67 74 68 3b {..WORD Length;
12190 0a 09 57 4f 52 44 20 46 6c 61 67 73 3b 0a 09 42 ..WORD Flags;..B
121a0 59 54 45 20 5f 54 65 78 74 3b 0a 0a 09 42 59 54 YTE _Text;...BYT
121b0 45 2a 20 54 65 78 74 28 29 20 7b 20 72 65 74 75 E* Text() { retu
121c0 72 6e 20 26 5f 54 65 78 74 3b 20 7d 0a 7d 0a 61 rn &_Text; }.}.a
121d0 6c 69 61 73 20 4d 45 53 53 41 47 45 5f 52 45 53 lias MESSAGE_RES
121e0 4f 55 52 43 45 5f 45 4e 54 52 59 2a 20 50 4d 45 OURCE_ENTRY* PME
121f0 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 45 SSAGE_RESOURCE_E
12200 4e 54 52 59 3b 0a 0a 73 74 72 75 63 74 20 4d 45 NTRY;..struct ME
12210 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42 SSAGE_RESOURCE_B
12220 4c 4f 43 4b 20 7b 0a 09 44 57 4f 52 44 20 4c 6f LOCK {..DWORD Lo
12230 77 49 64 3b 0a 09 44 57 4f 52 44 20 48 69 67 68 wId;..DWORD High
12240 49 64 3b 0a 09 44 57 4f 52 44 20 4f 66 66 73 65 Id;..DWORD Offse
12250 74 54 6f 45 6e 74 72 69 65 73 3b 0a 7d 0a 61 6c tToEntries;.}.al
12260 69 61 73 20 4d 45 53 53 41 47 45 5f 52 45 53 4f ias MESSAGE_RESO
12270 55 52 43 45 5f 42 4c 4f 43 4b 2a 20 50 4d 45 53 URCE_BLOCK* PMES
12280 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42 4c SAGE_RESOURCE_BL
12290 4f 43 4b 3b 0a 0a 73 74 72 75 63 74 20 4d 45 53 OCK;..struct MES
122a0 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 SAGE_RESOURCE_DA
122b0 54 41 20 7b 0a 09 44 57 4f 52 44 20 4e 75 6d 62 TA {..DWORD Numb
122c0 65 72 4f 66 42 6c 6f 63 6b 73 3b 0a 09 4d 45 53 erOfBlocks;..MES
122d0 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 42 4c SAGE_RESOURCE_BL
122e0 4f 43 4b 20 5f 42 6c 6f 63 6b 73 3b 0a 0a 09 4d OCK _Blocks;...M
122f0 45 53 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f ESSAGE_RESOURCE_
12300 42 4c 4f 43 4b 2a 20 42 6c 6f 63 6b 73 28 29 20 BLOCK* Blocks()
12310 7b 20 72 65 74 75 72 6e 20 26 5f 42 6c 6f 63 6b { return &_Block
12320 73 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 45 53 s; }.}.alias MES
12330 53 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 41 SAGE_RESOURCE_DA
12340 54 41 2a 20 50 4d 45 53 53 41 47 45 5f 52 45 53 TA* PMESSAGE_RES
12350 4f 55 52 43 45 5f 44 41 54 41 3b 0a 0a 73 74 72 OURCE_DATA;..str
12360 75 63 74 20 4c 49 53 54 5f 45 4e 54 52 59 20 7b uct LIST_ENTRY {
12370 0a 09 4c 49 53 54 5f 45 4e 54 52 59 2a 20 46 6c ..LIST_ENTRY* Fl
12380 69 6e 6b 3b 0a 09 4c 49 53 54 5f 45 4e 54 52 59 ink;..LIST_ENTRY
12390 2a 20 42 6c 69 6e 6b 3b 0a 7d 0a 61 6c 69 61 73 * Blink;.}.alias
123a0 20 4c 49 53 54 5f 45 4e 54 52 59 2a 20 50 4c 49 LIST_ENTRY* PLI
123b0 53 54 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 ST_ENTRY;..struc
123c0 74 20 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e t SINGLE_LIST_EN
123d0 54 52 59 20 7b 0a 09 53 49 4e 47 4c 45 5f 4c 49 TRY {..SINGLE_LI
123e0 53 54 5f 45 4e 54 52 59 2a 20 4e 65 78 74 3b 0a ST_ENTRY* Next;.
123f0 7d 0a 61 6c 69 61 73 20 53 49 4e 47 4c 45 5f 4c }.alias SINGLE_L
12400 49 53 54 5f 45 4e 54 52 59 20 53 4c 49 53 54 5f IST_ENTRY SLIST_
12410 45 4e 54 52 59 3b 0a 61 6c 69 61 73 20 53 49 4e ENTRY;.alias SIN
12420 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 52 59 2a 20 GLE_LIST_ENTRY*
12430 50 53 49 4e 47 4c 45 5f 4c 49 53 54 5f 45 4e 54 PSINGLE_LIST_ENT
12440 52 59 2c 20 50 53 4c 49 53 54 5f 45 4e 54 52 59 RY, PSLIST_ENTRY
12450 3b 0a 0a 75 6e 69 6f 6e 20 53 4c 49 53 54 5f 48 ;..union SLIST_H
12460 45 41 44 45 52 20 7b 0a 09 55 4c 4f 4e 47 4c 4f EADER {..ULONGLO
12470 4e 47 20 20 20 20 20 20 20 41 6c 69 67 6e 6d 65 NG Alignme
12480 6e 74 3b 0a 09 73 74 72 75 63 74 20 7b 0a 09 09 nt;..struct {...
12490 53 4c 49 53 54 5f 45 4e 54 52 59 20 4e 65 78 74 SLIST_ENTRY Next
124a0 3b 0a 09 09 57 4f 52 44 20 20 20 20 20 20 20 20 ;...WORD
124b0 44 65 70 74 68 3b 0a 09 09 57 4f 52 44 20 20 20 Depth;...WORD
124c0 20 20 20 20 20 53 65 71 75 65 6e 63 65 3b 0a 09 Sequence;..
124d0 7d 0a 7d 0a 61 6c 69 61 73 20 53 4c 49 53 54 5f }.}.alias SLIST_
124e0 48 45 41 44 45 52 2a 20 50 53 4c 49 53 54 5f 48 HEADER* PSLIST_H
124f0 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 52 EADER;..struct R
12500 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 54 TL_CRITICAL_SECT
12510 49 4f 4e 5f 44 45 42 55 47 20 7b 0a 09 57 4f 52 ION_DEBUG {..WOR
12520 44 20 20 20 20 20 20 20 54 79 70 65 3b 0a 09 57 D Type;..W
12530 4f 52 44 20 20 20 20 20 20 20 43 72 65 61 74 6f ORD Creato
12540 72 42 61 63 6b 54 72 61 63 65 49 6e 64 65 78 3b rBackTraceIndex;
12550 0a 09 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 ..RTL_CRITICAL_S
12560 45 43 54 49 4f 4e 2a 20 43 72 69 74 69 63 61 6c ECTION* Critical
12570 53 65 63 74 69 6f 6e 3b 0a 09 4c 49 53 54 5f 45 Section;..LIST_E
12580 4e 54 52 59 20 50 72 6f 63 65 73 73 4c 6f 63 6b NTRY ProcessLock
12590 73 4c 69 73 74 3b 0a 09 44 57 4f 52 44 20 20 20 sList;..DWORD
125a0 20 20 20 45 6e 74 72 79 43 6f 75 6e 74 3b 0a 09 EntryCount;..
125b0 44 57 4f 52 44 20 20 20 20 20 20 43 6f 6e 74 65 DWORD Conte
125c0 6e 74 69 6f 6e 43 6f 75 6e 74 3b 0a 09 44 57 4f ntionCount;..DWO
125d0 52 44 5b 32 5d 20 20 20 53 70 61 72 65 3b 0a 7d RD[2] Spare;.}
125e0 0a 61 6c 69 61 73 20 52 54 4c 5f 43 52 49 54 49 .alias RTL_CRITI
125f0 43 41 4c 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 CAL_SECTION_DEBU
12600 47 2a 20 50 52 54 4c 5f 43 52 49 54 49 43 41 4c G* PRTL_CRITICAL
12610 5f 53 45 43 54 49 4f 4e 5f 44 45 42 55 47 3b 0a _SECTION_DEBUG;.
12620 0a 73 74 72 75 63 74 20 52 54 4c 5f 43 52 49 54 .struct RTL_CRIT
12630 49 43 41 4c 5f 53 45 43 54 49 4f 4e 20 7b 0a 09 ICAL_SECTION {..
12640 50 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 PRTL_CRITICAL_SE
12650 43 54 49 4f 4e 5f 44 45 42 55 47 20 44 65 62 75 CTION_DEBUG Debu
12660 67 49 6e 66 6f 3b 0a 09 4c 4f 4e 47 20 20 20 4c gInfo;..LONG L
12670 6f 63 6b 43 6f 75 6e 74 3b 0a 09 4c 4f 4e 47 20 ockCount;..LONG
12680 20 20 52 65 63 75 72 73 69 6f 6e 43 6f 75 6e 74 RecursionCount
12690 3b 0a 09 48 41 4e 44 4c 45 20 4f 77 6e 69 6e 67 ;..HANDLE Owning
126a0 54 68 72 65 61 64 3b 0a 09 48 41 4e 44 4c 45 20 Thread;..HANDLE
126b0 4c 6f 63 6b 53 65 6d 61 70 68 6f 72 65 3b 0a 09 LockSemaphore;..
126c0 44 57 4f 52 44 20 20 52 65 73 65 72 76 65 64 3b DWORD Reserved;
126d0 0a 7d 0a 61 6c 69 61 73 20 52 54 4c 5f 43 52 49 .}.alias RTL_CRI
126e0 54 49 43 41 4c 5f 53 45 43 54 49 4f 4e 2a 20 50 TICAL_SECTION* P
126f0 52 54 4c 5f 43 52 49 54 49 43 41 4c 5f 53 45 43 RTL_CRITICAL_SEC
12700 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 45 56 TION;..struct EV
12710 45 4e 54 4c 4f 47 52 45 43 4f 52 44 20 7b 0a 09 ENTLOGRECORD {..
12720 44 57 4f 52 44 20 4c 65 6e 67 74 68 3b 0a 09 44 DWORD Length;..D
12730 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0a 09 WORD Reserved;..
12740 44 57 4f 52 44 20 52 65 63 6f 72 64 4e 75 6d 62 DWORD RecordNumb
12750 65 72 3b 0a 09 44 57 4f 52 44 20 54 69 6d 65 47 er;..DWORD TimeG
12760 65 6e 65 72 61 74 65 64 3b 0a 09 44 57 4f 52 44 enerated;..DWORD
12770 20 54 69 6d 65 57 72 69 74 74 65 6e 3b 0a 09 44 TimeWritten;..D
12780 57 4f 52 44 20 45 76 65 6e 74 49 44 3b 0a 09 57 WORD EventID;..W
12790 4f 52 44 20 20 45 76 65 6e 74 54 79 70 65 3b 0a ORD EventType;.
127a0 09 57 4f 52 44 20 20 4e 75 6d 53 74 72 69 6e 67 .WORD NumString
127b0 73 3b 0a 09 57 4f 52 44 20 20 45 76 65 6e 74 43 s;..WORD EventC
127c0 61 74 65 67 6f 72 79 3b 0a 09 57 4f 52 44 20 20 ategory;..WORD
127d0 52 65 73 65 72 76 65 64 46 6c 61 67 73 3b 0a 09 ReservedFlags;..
127e0 44 57 4f 52 44 20 43 6c 6f 73 69 6e 67 52 65 63 DWORD ClosingRec
127f0 6f 72 64 4e 75 6d 62 65 72 3b 0a 09 44 57 4f 52 ordNumber;..DWOR
12800 44 20 53 74 72 69 6e 67 4f 66 66 73 65 74 3b 0a D StringOffset;.
12810 09 44 57 4f 52 44 20 55 73 65 72 53 69 64 4c 65 .DWORD UserSidLe
12820 6e 67 74 68 3b 0a 09 44 57 4f 52 44 20 55 73 65 ngth;..DWORD Use
12830 72 53 69 64 4f 66 66 73 65 74 3b 0a 09 44 57 4f rSidOffset;..DWO
12840 52 44 20 44 61 74 61 4c 65 6e 67 74 68 3b 0a 09 RD DataLength;..
12850 44 57 4f 52 44 20 44 61 74 61 4f 66 66 73 65 74 DWORD DataOffset
12860 3b 0a 7d 0a 61 6c 69 61 73 20 45 56 45 4e 54 4c ;.}.alias EVENTL
12870 4f 47 52 45 43 4f 52 44 2a 20 50 45 56 45 4e 54 OGRECORD* PEVENT
12880 4c 4f 47 52 45 43 4f 52 44 3b 0a 0a 73 74 72 75 LOGRECORD;..stru
12890 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f ct OSVERSIONINFO
128a0 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 A {..DWORD d
128b0 77 4f 53 56 65 72 73 69 6f 6e 49 6e 66 6f 53 69 wOSVersionInfoSi
128c0 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 ze;..DWORD d
128d0 77 4d 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 wMajorVersion;..
128e0 44 57 4f 52 44 20 20 20 20 20 64 77 4d 69 6e 6f DWORD dwMino
128f0 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 rVersion;..DWORD
12900 20 20 20 20 20 64 77 42 75 69 6c 64 4e 75 6d 62 dwBuildNumb
12910 65 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 er;..DWORD d
12920 77 50 6c 61 74 66 6f 72 6d 49 64 3b 0a 09 43 48 wPlatformId;..CH
12930 41 52 5b 31 32 38 5d 20 73 7a 43 53 44 56 65 72 AR[128] szCSDVer
12940 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 4f 53 sion;.}.alias OS
12950 56 45 52 53 49 4f 4e 49 4e 46 4f 41 2a 20 50 4f VERSIONINFOA* PO
12960 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41 2c 20 4c SVERSIONINFOA, L
12970 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 41 3b POSVERSIONINFOA;
12980 0a 0a 73 74 72 75 63 74 20 4f 53 56 45 52 53 49 ..struct OSVERSI
12990 4f 4e 49 4e 46 4f 57 20 7b 0a 09 44 57 4f 52 44 ONINFOW {..DWORD
129a0 20 20 20 20 20 20 64 77 4f 53 56 65 72 73 69 6f dwOSVersio
129b0 6e 49 6e 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 nInfoSize;..DWOR
129c0 44 20 20 20 20 20 20 64 77 4d 61 6a 6f 72 56 65 D dwMajorVe
129d0 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 rsion;..DWORD
129e0 20 20 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f dwMinorVersio
129f0 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 n;..DWORD d
12a00 77 42 75 69 6c 64 4e 75 6d 62 65 72 3b 0a 09 44 wBuildNumber;..D
12a10 57 4f 52 44 20 20 20 20 20 20 64 77 50 6c 61 74 WORD dwPlat
12a20 66 6f 72 6d 49 64 3b 0a 09 57 43 48 41 52 5b 31 formId;..WCHAR[1
12a30 32 38 5d 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 28] szCSDVersion
12a40 3b 0a 7d 0a 61 6c 69 61 73 20 4f 53 56 45 52 53 ;.}.alias OSVERS
12a50 49 4f 4e 49 4e 46 4f 57 2a 20 50 4f 53 56 45 52 IONINFOW* POSVER
12a60 53 49 4f 4e 49 4e 46 4f 57 2c 20 4c 50 4f 53 56 SIONINFOW, LPOSV
12a70 45 52 53 49 4f 4e 49 4e 46 4f 57 3b 0a 0a 73 74 ERSIONINFOW;..st
12a80 72 75 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e ruct OSVERSIONIN
12a90 46 4f 45 58 41 20 7b 0a 09 44 57 4f 52 44 20 20 FOEXA {..DWORD
12aa0 20 20 20 64 77 4f 53 56 65 72 73 69 6f 6e 49 6e dwOSVersionIn
12ab0 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20 20 foSize;..DWORD
12ac0 20 20 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f dwMajorVersio
12ad0 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 77 n;..DWORD dw
12ae0 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 44 MinorVersion;..D
12af0 57 4f 52 44 20 20 20 20 20 64 77 42 75 69 6c 64 WORD dwBuild
12b00 4e 75 6d 62 65 72 3b 0a 09 44 57 4f 52 44 20 20 Number;..DWORD
12b10 20 20 20 64 77 50 6c 61 74 66 6f 72 6d 49 64 3b dwPlatformId;
12b20 0a 09 43 48 41 52 5b 31 32 38 5d 20 73 7a 43 53 ..CHAR[128] szCS
12b30 44 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 DVersion;..WORD
12b40 20 20 20 20 20 77 53 65 72 76 69 63 65 50 61 63 wServicePac
12b50 6b 4d 61 6a 6f 72 3b 0a 09 57 4f 52 44 20 20 20 kMajor;..WORD
12b60 20 20 20 77 53 65 72 76 69 63 65 50 61 63 6b 4d wServicePackM
12b70 69 6e 6f 72 3b 0a 09 57 4f 52 44 20 20 20 20 20 inor;..WORD
12b80 20 77 53 75 69 74 65 4d 61 73 6b 3b 0a 09 42 59 wSuiteMask;..BY
12b90 54 45 20 20 20 20 20 20 77 50 72 6f 64 75 63 74 TE wProduct
12ba0 54 79 70 65 3b 0a 09 42 59 54 45 20 20 20 20 20 Type;..BYTE
12bb0 20 77 52 65 73 65 72 76 65 64 3b 0a 7d 0a 61 6c wReserved;.}.al
12bc0 69 61 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 ias OSVERSIONINF
12bd0 4f 45 58 41 2a 20 50 4f 53 56 45 52 53 49 4f 4e OEXA* POSVERSION
12be0 49 4e 46 4f 45 58 41 2c 20 4c 50 4f 53 56 45 52 INFOEXA, LPOSVER
12bf0 53 49 4f 4e 49 4e 46 4f 45 58 41 3b 0a 0a 73 74 SIONINFOEXA;..st
12c00 72 75 63 74 20 4f 53 56 45 52 53 49 4f 4e 49 4e ruct OSVERSIONIN
12c10 46 4f 45 58 57 20 7b 0a 09 44 57 4f 52 44 20 20 FOEXW {..DWORD
12c20 20 20 20 20 64 77 4f 53 56 65 72 73 69 6f 6e 49 dwOSVersionI
12c30 6e 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20 nfoSize;..DWORD
12c40 20 20 20 20 20 64 77 4d 61 6a 6f 72 56 65 72 73 dwMajorVers
12c50 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 ion;..DWORD
12c60 20 64 77 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 3b dwMinorVersion;
12c70 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 77 42 ..DWORD dwB
12c80 75 69 6c 64 4e 75 6d 62 65 72 3b 0a 09 44 57 4f uildNumber;..DWO
12c90 52 44 20 20 20 20 20 20 64 77 50 6c 61 74 66 6f RD dwPlatfo
12ca0 72 6d 49 64 3b 0a 09 57 43 48 41 52 5b 31 32 38 rmId;..WCHAR[128
12cb0 5d 20 73 7a 43 53 44 56 65 72 73 69 6f 6e 3b 0a ] szCSDVersion;.
12cc0 09 57 4f 52 44 20 20 20 20 20 20 20 77 53 65 72 .WORD wSer
12cd0 76 69 63 65 50 61 63 6b 4d 61 6a 6f 72 3b 0a 09 vicePackMajor;..
12ce0 57 4f 52 44 20 20 20 20 20 20 20 77 53 65 72 76 WORD wServ
12cf0 69 63 65 50 61 63 6b 4d 69 6e 6f 72 3b 0a 09 57 icePackMinor;..W
12d00 4f 52 44 20 20 20 20 20 20 20 77 53 75 69 74 65 ORD wSuite
12d10 4d 61 73 6b 3b 0a 09 42 59 54 45 20 20 20 20 20 Mask;..BYTE
12d20 20 20 77 50 72 6f 64 75 63 74 54 79 70 65 3b 0a wProductType;.
12d30 09 42 59 54 45 20 20 20 20 20 20 20 77 52 65 73 .BYTE wRes
12d40 65 72 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 4f erved;.}.alias O
12d50 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 58 57 2a SVERSIONINFOEXW*
12d60 20 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 POSVERSIONINFOE
12d70 58 57 2c 20 4c 50 4f 53 56 45 52 53 49 4f 4e 49 XW, LPOSVERSIONI
12d80 4e 46 4f 45 58 57 3b 0a 0a 61 6c 69 67 6e 28 32 NFOEXW;..align(2
12d90 29 20 73 74 72 75 63 74 20 49 4d 41 47 45 5f 56 ) struct IMAGE_V
12da0 58 44 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f 52 XD_HEADER {..WOR
12db0 44 20 20 20 20 20 65 33 32 5f 6d 61 67 69 63 3b D e32_magic;
12dc0 0a 09 42 59 54 45 20 20 20 20 20 65 33 32 5f 62 ..BYTE e32_b
12dd0 6f 72 64 65 72 3b 0a 09 42 59 54 45 20 20 20 20 order;..BYTE
12de0 20 65 33 32 5f 77 6f 72 64 65 72 3b 0a 09 44 57 e32_worder;..DW
12df0 4f 52 44 20 20 20 20 65 33 32 5f 6c 65 76 65 6c ORD e32_level
12e00 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 33 32 5f ;..WORD e32_
12e10 63 70 75 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 cpu;..WORD e
12e20 33 32 5f 6f 73 3b 0a 09 44 57 4f 52 44 20 20 20 32_os;..DWORD
12e30 20 65 33 32 5f 76 65 72 3b 0a 09 44 57 4f 52 44 e32_ver;..DWORD
12e40 20 20 20 20 65 33 32 5f 6d 66 6c 61 67 73 3b 0a e32_mflags;.
12e50 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 6d 70 .DWORD e32_mp
12e60 61 67 65 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 ages;..DWORD
12e70 65 33 32 5f 73 74 61 72 74 6f 62 6a 3b 0a 09 44 e32_startobj;..D
12e80 57 4f 52 44 20 20 20 20 65 33 32 5f 65 69 70 3b WORD e32_eip;
12e90 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 73 ..DWORD e32_s
12ea0 74 61 63 6b 6f 62 6a 3b 0a 09 44 57 4f 52 44 20 tackobj;..DWORD
12eb0 20 20 20 65 33 32 5f 65 73 70 3b 0a 09 44 57 4f e32_esp;..DWO
12ec0 52 44 20 20 20 20 65 33 32 5f 70 61 67 65 73 69 RD e32_pagesi
12ed0 7a 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 ze;..DWORD e3
12ee0 32 5f 6c 61 73 74 70 61 67 65 73 69 7a 65 3b 0a 2_lastpagesize;.
12ef0 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 66 69 .DWORD e32_fi
12f00 78 75 70 73 69 7a 65 3b 0a 09 44 57 4f 52 44 20 xupsize;..DWORD
12f10 20 20 20 65 33 32 5f 66 69 78 75 70 73 75 6d 3b e32_fixupsum;
12f20 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 6c ..DWORD e32_l
12f30 64 72 73 69 7a 65 3b 0a 09 44 57 4f 52 44 20 20 drsize;..DWORD
12f40 20 20 65 33 32 5f 6c 64 72 73 75 6d 3b 0a 09 44 e32_ldrsum;..D
12f50 57 4f 52 44 20 20 20 20 65 33 32 5f 6f 62 6a 74 WORD e32_objt
12f60 61 62 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 ab;..DWORD e3
12f70 32 5f 6f 62 6a 63 6e 74 3b 0a 09 44 57 4f 52 44 2_objcnt;..DWORD
12f80 20 20 20 20 65 33 32 5f 6f 62 6a 6d 61 70 3b 0a e32_objmap;.
12f90 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 69 74 .DWORD e32_it
12fa0 65 72 6d 61 70 3b 0a 09 44 57 4f 52 44 20 20 20 ermap;..DWORD
12fb0 20 65 33 32 5f 72 73 72 63 74 61 62 3b 0a 09 44 e32_rsrctab;..D
12fc0 57 4f 52 44 20 20 20 20 65 33 32 5f 72 73 72 63 WORD e32_rsrc
12fd0 63 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 cnt;..DWORD e
12fe0 33 32 5f 72 65 73 74 61 62 3b 0a 09 44 57 4f 52 32_restab;..DWOR
12ff0 44 20 20 20 20 65 33 32 5f 65 6e 74 74 61 62 3b D e32_enttab;
13000 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 64 ..DWORD e32_d
13010 69 72 74 61 62 3b 0a 09 44 57 4f 52 44 20 20 20 irtab;..DWORD
13020 20 65 33 32 5f 64 69 72 63 6e 74 3b 0a 09 44 57 e32_dircnt;..DW
13030 4f 52 44 20 20 20 20 65 33 32 5f 66 70 61 67 65 ORD e32_fpage
13040 74 61 62 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 tab;..DWORD e
13050 33 32 5f 66 72 65 63 74 61 62 3b 0a 09 44 57 4f 32_frectab;..DWO
13060 52 44 20 20 20 20 65 33 32 5f 69 6d 70 6d 6f 64 RD e32_impmod
13070 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f ;..DWORD e32_
13080 69 6d 70 6d 6f 64 63 6e 74 3b 0a 09 44 57 4f 52 impmodcnt;..DWOR
13090 44 20 20 20 20 65 33 32 5f 69 6d 70 70 72 6f 63 D e32_impproc
130a0 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f ;..DWORD e32_
130b0 70 61 67 65 73 75 6d 3b 0a 09 44 57 4f 52 44 20 pagesum;..DWORD
130c0 20 20 20 65 33 32 5f 64 61 74 61 70 61 67 65 3b e32_datapage;
130d0 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 70 ..DWORD e32_p
130e0 72 65 6c 6f 61 64 3b 0a 09 44 57 4f 52 44 20 20 reload;..DWORD
130f0 20 20 65 33 32 5f 6e 72 65 73 74 61 62 3b 0a 09 e32_nrestab;..
13100 44 57 4f 52 44 20 20 20 20 65 33 32 5f 63 62 6e DWORD e32_cbn
13110 72 65 73 74 61 62 3b 0a 09 44 57 4f 52 44 20 20 restab;..DWORD
13120 20 20 65 33 32 5f 6e 72 65 73 73 75 6d 3b 0a 09 e32_nressum;..
13130 44 57 4f 52 44 20 20 20 20 65 33 32 5f 61 75 74 DWORD e32_aut
13140 6f 64 61 74 61 3b 0a 09 44 57 4f 52 44 20 20 20 odata;..DWORD
13150 20 65 33 32 5f 64 65 62 75 67 69 6e 66 6f 3b 0a e32_debuginfo;.
13160 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f 64 65 .DWORD e32_de
13170 62 75 67 6c 65 6e 3b 0a 09 44 57 4f 52 44 20 20 buglen;..DWORD
13180 20 20 65 33 32 5f 69 6e 73 74 70 72 65 6c 6f 61 e32_instpreloa
13190 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 d;..DWORD e32
131a0 5f 69 6e 73 74 64 65 6d 61 6e 64 3b 0a 09 44 57 _instdemand;..DW
131b0 4f 52 44 20 20 20 20 65 33 32 5f 68 65 61 70 73 ORD e32_heaps
131c0 69 7a 65 3b 0a 09 42 59 54 45 5b 31 32 5d 20 65 ize;..BYTE[12] e
131d0 33 32 5f 72 65 73 33 3b 0a 09 44 57 4f 52 44 20 32_res3;..DWORD
131e0 20 20 20 65 33 32 5f 77 69 6e 72 65 73 6f 66 66 e32_winresoff
131f0 3b 0a 09 44 57 4f 52 44 20 20 20 20 65 33 32 5f ;..DWORD e32_
13200 77 69 6e 72 65 73 6c 65 6e 3b 0a 09 57 4f 52 44 winreslen;..WORD
13210 20 20 20 20 20 65 33 32 5f 64 65 76 69 64 3b 0a e32_devid;.
13220 09 57 4f 52 44 20 20 20 20 20 65 33 32 5f 64 64 .WORD e32_dd
13230 6b 76 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d kver;.}.alias IM
13240 41 47 45 5f 56 58 44 5f 48 45 41 44 45 52 2a 20 AGE_VXD_HEADER*
13250 50 49 4d 41 47 45 5f 56 58 44 5f 48 45 41 44 45 PIMAGE_VXD_HEADE
13260 52 3b 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74 R;..align(4):.st
13270 72 75 63 74 20 49 4d 41 47 45 5f 46 49 4c 45 5f ruct IMAGE_FILE_
13280 48 45 41 44 45 52 20 7b 0a 09 57 4f 52 44 20 20 HEADER {..WORD
13290 4d 61 63 68 69 6e 65 3b 0a 09 57 4f 52 44 20 20 Machine;..WORD
132a0 4e 75 6d 62 65 72 4f 66 53 65 63 74 69 6f 6e 73 NumberOfSections
132b0 3b 0a 09 44 57 4f 52 44 20 54 69 6d 65 44 61 74 ;..DWORD TimeDat
132c0 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52 44 20 50 eStamp;..DWORD P
132d0 6f 69 6e 74 65 72 54 6f 53 79 6d 62 6f 6c 54 61 ointerToSymbolTa
132e0 62 6c 65 3b 0a 09 44 57 4f 52 44 20 4e 75 6d 62 ble;..DWORD Numb
132f0 65 72 4f 66 53 79 6d 62 6f 6c 73 3b 0a 09 57 4f erOfSymbols;..WO
13300 52 44 20 20 53 69 7a 65 4f 66 4f 70 74 69 6f 6e RD SizeOfOption
13310 61 6c 48 65 61 64 65 72 3b 0a 09 57 4f 52 44 20 alHeader;..WORD
13320 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 Characteristics
13330 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f ;.}.alias IMAGE_
13340 46 49 4c 45 5f 48 45 41 44 45 52 2a 20 50 49 4d FILE_HEADER* PIM
13350 41 47 45 5f 46 49 4c 45 5f 48 45 41 44 45 52 3b AGE_FILE_HEADER;
13360 0a 2f 2f 20 63 6f 6e 73 74 20 49 4d 41 47 45 5f .// const IMAGE_
13370 53 49 5a 45 4f 46 5f 46 49 4c 45 5f 48 45 41 44 SIZEOF_FILE_HEAD
13380 45 52 20 3d 20 49 4d 41 47 45 5f 46 49 4c 45 5f ER = IMAGE_FILE_
13390 48 45 41 44 45 52 2e 73 69 7a 65 6f 66 3b 0a 0a HEADER.sizeof;..
133a0 73 74 72 75 63 74 20 49 4d 41 47 45 5f 44 41 54 struct IMAGE_DAT
133b0 41 5f 44 49 52 45 43 54 4f 52 59 20 7b 0a 09 44 A_DIRECTORY {..D
133c0 57 4f 52 44 20 56 69 72 74 75 61 6c 41 64 64 72 WORD VirtualAddr
133d0 65 73 73 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 ess;..DWORD Size
133e0 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f ;.}.alias IMAGE_
133f0 44 41 54 41 5f 44 49 52 45 43 54 4f 52 59 2a 20 DATA_DIRECTORY*
13400 50 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 52 45 PIMAGE_DATA_DIRE
13410 43 54 4f 52 59 3b 0a 0a 73 74 72 75 63 74 20 49 CTORY;..struct I
13420 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 MAGE_OPTIONAL_HE
13430 41 44 45 52 33 32 20 7b 0a 09 57 4f 52 44 20 20 ADER32 {..WORD
13440 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20 4d 61 Magic;..BYTE Ma
13450 6a 6f 72 4c 69 6e 6b 65 72 56 65 72 73 69 6f 6e jorLinkerVersion
13460 3b 0a 09 42 59 54 45 20 20 4d 69 6e 6f 72 4c 69 ;..BYTE MinorLi
13470 6e 6b 65 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 nkerVersion;..DW
13480 4f 52 44 20 53 69 7a 65 4f 66 43 6f 64 65 3b 0a ORD SizeOfCode;.
13490 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 49 6e 69 .DWORD SizeOfIni
134a0 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44 tializedData;..D
134b0 57 4f 52 44 20 53 69 7a 65 4f 66 55 6e 69 6e 69 WORD SizeOfUnini
134c0 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44 tializedData;..D
134d0 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66 45 6e WORD AddressOfEn
134e0 74 72 79 50 6f 69 6e 74 3b 0a 09 44 57 4f 52 44 tryPoint;..DWORD
134f0 20 42 61 73 65 4f 66 43 6f 64 65 3b 0a 09 44 57 BaseOfCode;..DW
13500 4f 52 44 20 42 61 73 65 4f 66 44 61 74 61 3b 0a ORD BaseOfData;.
13510 09 44 57 4f 52 44 20 49 6d 61 67 65 42 61 73 65 .DWORD ImageBase
13520 3b 0a 09 44 57 4f 52 44 20 53 65 63 74 69 6f 6e ;..DWORD Section
13530 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44 57 4f 52 Alignment;..DWOR
13540 44 20 46 69 6c 65 41 6c 69 67 6e 6d 65 6e 74 3b D FileAlignment;
13550 0a 09 57 4f 52 44 20 20 4d 61 6a 6f 72 4f 70 65 ..WORD MajorOpe
13560 72 61 74 69 6e 67 53 79 73 74 65 6d 56 65 72 73 ratingSystemVers
13570 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f ion;..WORD Mino
13580 72 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d rOperatingSystem
13590 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 Version;..WORD
135a0 4d 61 6a 6f 72 49 6d 61 67 65 56 65 72 73 69 6f MajorImageVersio
135b0 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72 49 n;..WORD MinorI
135c0 6d 61 67 65 56 65 72 73 69 6f 6e 3b 0a 09 57 4f mageVersion;..WO
135d0 52 44 20 20 4d 61 6a 6f 72 53 75 62 73 79 73 74 RD MajorSubsyst
135e0 65 6d 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 emVersion;..WORD
135f0 20 20 4d 69 6e 6f 72 53 75 62 73 79 73 74 65 6d MinorSubsystem
13600 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 Version;..DWORD
13610 57 69 6e 33 32 56 65 72 73 69 6f 6e 56 61 6c 75 Win32VersionValu
13620 65 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 e;..DWORD SizeOf
13630 49 6d 61 67 65 3b 0a 09 44 57 4f 52 44 20 53 69 Image;..DWORD Si
13640 7a 65 4f 66 48 65 61 64 65 72 73 3b 0a 09 44 57 zeOfHeaders;..DW
13650 4f 52 44 20 43 68 65 63 6b 53 75 6d 3b 0a 09 57 ORD CheckSum;..W
13660 4f 52 44 20 20 53 75 62 73 79 73 74 65 6d 3b 0a ORD Subsystem;.
13670 09 57 4f 52 44 20 20 44 6c 6c 43 68 61 72 61 63 .WORD DllCharac
13680 74 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 teristics;..DWOR
13690 44 20 53 69 7a 65 4f 66 53 74 61 63 6b 52 65 73 D SizeOfStackRes
136a0 65 72 76 65 3b 0a 09 44 57 4f 52 44 20 53 69 7a erve;..DWORD Siz
136b0 65 4f 66 53 74 61 63 6b 43 6f 6d 6d 69 74 3b 0a eOfStackCommit;.
136c0 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 48 65 61 .DWORD SizeOfHea
136d0 70 52 65 73 65 72 76 65 3b 0a 09 44 57 4f 52 44 pReserve;..DWORD
136e0 20 53 69 7a 65 4f 66 48 65 61 70 43 6f 6d 6d 69 SizeOfHeapCommi
136f0 74 3b 0a 09 44 57 4f 52 44 20 4c 6f 61 64 65 72 t;..DWORD Loader
13700 46 6c 61 67 73 3b 0a 09 44 57 4f 52 44 20 4e 75 Flags;..DWORD Nu
13710 6d 62 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65 mberOfRvaAndSize
13720 73 3b 0a 09 49 4d 41 47 45 5f 44 41 54 41 5f 44 s;..IMAGE_DATA_D
13730 49 52 45 43 54 4f 52 59 5b 49 4d 41 47 45 5f 4e IRECTORY[IMAGE_N
13740 55 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52 UMBEROF_DIRECTOR
13750 59 5f 45 4e 54 52 49 45 53 5d 20 44 61 74 61 44 Y_ENTRIES] DataD
13760 69 72 65 63 74 6f 72 79 3b 0a 7d 0a 61 6c 69 61 irectory;.}.alia
13770 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c s IMAGE_OPTIONAL
13780 5f 48 45 41 44 45 52 33 32 2a 20 50 49 4d 41 47 _HEADER32* PIMAG
13790 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 E_OPTIONAL_HEADE
137a0 52 33 32 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 R32;..struct IMA
137b0 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 GE_OPTIONAL_HEAD
137c0 45 52 36 34 20 7b 0a 09 57 4f 52 44 20 20 20 20 ER64 {..WORD
137d0 20 20 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20 Magic;..BYTE
137e0 20 20 20 20 4d 61 6a 6f 72 4c 69 6e 6b 65 72 56 MajorLinkerV
137f0 65 72 73 69 6f 6e 3b 0a 09 42 59 54 45 20 20 20 ersion;..BYTE
13800 20 20 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65 MinorLinkerVe
13810 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 rsion;..DWORD
13820 20 20 53 69 7a 65 4f 66 43 6f 64 65 3b 0a 09 44 SizeOfCode;..D
13830 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f 66 49 WORD SizeOfI
13840 6e 69 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a nitializedData;.
13850 09 44 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f .DWORD SizeO
13860 66 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 44 61 fUninitializedDa
13870 74 61 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 41 ta;..DWORD A
13880 64 64 72 65 73 73 4f 66 45 6e 74 72 79 50 6f 69 ddressOfEntryPoi
13890 6e 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 42 nt;..DWORD B
138a0 61 73 65 4f 66 43 6f 64 65 3b 0a 09 55 4c 4f 4e aseOfCode;..ULON
138b0 47 4c 4f 4e 47 20 49 6d 61 67 65 42 61 73 65 3b GLONG ImageBase;
138c0 0a 09 44 57 4f 52 44 20 20 20 20 20 53 65 63 74 ..DWORD Sect
138d0 69 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44 ionAlignment;..D
138e0 57 4f 52 44 20 20 20 20 20 46 69 6c 65 41 6c 69 WORD FileAli
138f0 67 6e 6d 65 6e 74 3b 0a 09 57 4f 52 44 20 20 20 gnment;..WORD
13900 20 20 20 4d 61 6a 6f 72 4f 70 65 72 61 74 69 6e MajorOperatin
13910 67 53 79 73 74 65 6d 56 65 72 73 69 6f 6e 3b 0a gSystemVersion;.
13920 09 57 4f 52 44 20 20 20 20 20 20 4d 69 6e 6f 72 .WORD Minor
13930 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d 56 OperatingSystemV
13940 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 ersion;..WORD
13950 20 20 20 4d 61 6a 6f 72 49 6d 61 67 65 56 65 72 MajorImageVer
13960 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20 sion;..WORD
13970 20 4d 69 6e 6f 72 49 6d 61 67 65 56 65 72 73 69 MinorImageVersi
13980 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 4d on;..WORD M
13990 61 6a 6f 72 53 75 62 73 79 73 74 65 6d 56 65 72 ajorSubsystemVer
139a0 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 20 20 20 sion;..WORD
139b0 20 4d 69 6e 6f 72 53 75 62 73 79 73 74 65 6d 56 MinorSubsystemV
139c0 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 ersion;..DWORD
139d0 20 20 20 57 69 6e 33 32 56 65 72 73 69 6f 6e 56 Win32VersionV
139e0 61 6c 75 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 alue;..DWORD
139f0 20 53 69 7a 65 4f 66 49 6d 61 67 65 3b 0a 09 44 SizeOfImage;..D
13a00 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f 66 48 WORD SizeOfH
13a10 65 61 64 65 72 73 3b 0a 09 44 57 4f 52 44 20 20 eaders;..DWORD
13a20 20 20 20 43 68 65 63 6b 53 75 6d 3b 0a 09 57 4f CheckSum;..WO
13a30 52 44 20 20 20 20 20 20 53 75 62 73 79 73 74 65 RD Subsyste
13a40 6d 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 44 6c m;..WORD Dl
13a50 6c 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 lCharacteristics
13a60 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a ;..ULONGLONG Siz
13a70 65 4f 66 53 74 61 63 6b 52 65 73 65 72 76 65 3b eOfStackReserve;
13a80 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 ..ULONGLONG Size
13a90 4f 66 53 74 61 63 6b 43 6f 6d 6d 69 74 3b 0a 09 OfStackCommit;..
13aa0 55 4c 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f 66 ULONGLONG SizeOf
13ab0 48 65 61 70 52 65 73 65 72 76 65 3b 0a 09 55 4c HeapReserve;..UL
13ac0 4f 4e 47 4c 4f 4e 47 20 53 69 7a 65 4f 66 48 65 ONGLONG SizeOfHe
13ad0 61 70 43 6f 6d 6d 69 74 3b 0a 09 44 57 4f 52 44 apCommit;..DWORD
13ae0 20 20 20 20 20 4c 6f 61 64 65 72 46 6c 61 67 73 LoaderFlags
13af0 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 4e 75 6d ;..DWORD Num
13b00 62 65 72 4f 66 52 76 61 41 6e 64 53 69 7a 65 73 berOfRvaAndSizes
13b10 3b 0a 09 49 4d 41 47 45 5f 44 41 54 41 5f 44 49 ;..IMAGE_DATA_DI
13b20 52 45 43 54 4f 52 59 5b 49 4d 41 47 45 5f 4e 55 RECTORY[IMAGE_NU
13b30 4d 42 45 52 4f 46 5f 44 49 52 45 43 54 4f 52 59 MBEROF_DIRECTORY
13b40 5f 45 4e 54 52 49 45 53 5d 20 44 61 74 61 44 69 _ENTRIES] DataDi
13b50 72 65 63 74 6f 72 79 3b 0a 7d 0a 61 6c 69 61 73 rectory;.}.alias
13b60 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f IMAGE_OPTIONAL_
13b70 48 45 41 44 45 52 36 34 2a 20 50 49 4d 41 47 45 HEADER64* PIMAGE
13b80 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 _OPTIONAL_HEADER
13b90 36 34 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 64;..struct IMAG
13ba0 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 E_ROM_OPTIONAL_H
13bb0 45 41 44 45 52 20 7b 0a 09 57 4f 52 44 20 20 20 EADER {..WORD
13bc0 20 20 4d 61 67 69 63 3b 0a 09 42 59 54 45 20 20 Magic;..BYTE
13bd0 20 20 20 4d 61 6a 6f 72 4c 69 6e 6b 65 72 56 65 MajorLinkerVe
13be0 72 73 69 6f 6e 3b 0a 09 42 59 54 45 20 20 20 20 rsion;..BYTE
13bf0 20 4d 69 6e 6f 72 4c 69 6e 6b 65 72 56 65 72 73 MinorLinkerVers
13c00 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 53 ion;..DWORD S
13c10 69 7a 65 4f 66 43 6f 64 65 3b 0a 09 44 57 4f 52 izeOfCode;..DWOR
13c20 44 20 20 20 20 53 69 7a 65 4f 66 49 6e 69 74 69 D SizeOfIniti
13c30 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 44 57 4f alizedData;..DWO
13c40 52 44 20 20 20 20 53 69 7a 65 4f 66 55 6e 69 6e RD SizeOfUnin
13c50 69 74 69 61 6c 69 7a 65 64 44 61 74 61 3b 0a 09 itializedData;..
13c60 44 57 4f 52 44 20 20 20 20 41 64 64 72 65 73 73 DWORD Address
13c70 4f 66 45 6e 74 72 79 50 6f 69 6e 74 3b 0a 09 44 OfEntryPoint;..D
13c80 57 4f 52 44 20 20 20 20 42 61 73 65 4f 66 43 6f WORD BaseOfCo
13c90 64 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 42 61 de;..DWORD Ba
13ca0 73 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52 44 seOfData;..DWORD
13cb0 20 20 20 20 42 61 73 65 4f 66 42 73 73 3b 0a 09 BaseOfBss;..
13cc0 44 57 4f 52 44 20 20 20 20 47 70 72 4d 61 73 6b DWORD GprMask
13cd0 3b 0a 09 44 57 4f 52 44 5b 34 5d 20 43 70 72 4d ;..DWORD[4] CprM
13ce0 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 20 47 ask;..DWORD G
13cf0 70 56 61 6c 75 65 3b 0a 7d 0a 61 6c 69 61 73 20 pValue;.}.alias
13d00 49 4d 41 47 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e IMAGE_ROM_OPTION
13d10 41 4c 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 AL_HEADER* PIMAG
13d20 45 5f 52 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 E_ROM_OPTIONAL_H
13d30 45 41 44 45 52 3b 0a 0a 61 6c 69 67 6e 28 32 29 EADER;..align(2)
13d40 3a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 44 :.struct IMAGE_D
13d50 4f 53 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f 52 OS_HEADER {..WOR
13d60 44 20 20 20 20 20 65 5f 6d 61 67 69 63 3b 0a 09 D e_magic;..
13d70 57 4f 52 44 20 20 20 20 20 65 5f 63 62 6c 70 3b WORD e_cblp;
13d80 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63 70 3b ..WORD e_cp;
13d90 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63 72 6c ..WORD e_crl
13da0 63 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f 63 c;..WORD e_c
13db0 70 61 72 68 64 72 3b 0a 09 57 4f 52 44 20 20 20 parhdr;..WORD
13dc0 20 20 65 5f 6d 69 6e 61 6c 6c 6f 63 3b 0a 09 57 e_minalloc;..W
13dd0 4f 52 44 20 20 20 20 20 65 5f 6d 61 78 61 6c 6c ORD e_maxall
13de0 6f 63 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f oc;..WORD e_
13df0 73 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f ss;..WORD e_
13e00 73 70 3b 0a 09 57 4f 52 44 20 20 20 20 20 65 5f sp;..WORD e_
13e10 63 73 75 6d 3b 0a 09 57 4f 52 44 20 20 20 20 20 csum;..WORD
13e20 65 5f 69 70 3b 0a 09 57 4f 52 44 20 20 20 20 20 e_ip;..WORD
13e30 65 5f 63 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 e_cs;..WORD
13e40 65 5f 6c 66 61 72 6c 63 3b 0a 09 57 4f 52 44 20 e_lfarlc;..WORD
13e50 20 20 20 20 65 5f 6f 76 6e 6f 3b 0a 09 57 4f 52 e_ovno;..WOR
13e60 44 5b 34 5d 20 65 5f 72 65 73 3b 0a 09 57 4f 52 D[4] e_res;..WOR
13e70 44 20 20 20 20 20 65 5f 6f 65 6d 69 64 3b 0a 09 D e_oemid;..
13e80 57 4f 52 44 20 20 20 20 20 65 5f 6f 65 6d 69 6e WORD e_oemin
13e90 66 6f 3b 0a 09 57 4f 52 44 5b 31 30 5d 20 65 5f fo;..WORD[10] e_
13ea0 72 65 73 32 3b 0a 09 4c 4f 4e 47 20 20 20 20 20 res2;..LONG
13eb0 65 5f 6c 66 61 6e 65 77 3b 0a 7d 0a 61 6c 69 61 e_lfanew;.}.alia
13ec0 73 20 49 4d 41 47 45 5f 44 4f 53 5f 48 45 41 44 s IMAGE_DOS_HEAD
13ed0 45 52 2a 20 50 49 4d 41 47 45 5f 44 4f 53 5f 48 ER* PIMAGE_DOS_H
13ee0 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 49 EADER;..struct I
13ef0 4d 41 47 45 5f 4f 53 32 5f 48 45 41 44 45 52 20 MAGE_OS2_HEADER
13f00 7b 0a 09 57 4f 52 44 20 6e 65 5f 6d 61 67 69 63 {..WORD ne_magic
13f10 3b 0a 09 43 48 41 52 20 6e 65 5f 76 65 72 3b 0a ;..CHAR ne_ver;.
13f20 09 43 48 41 52 20 6e 65 5f 72 65 76 3b 0a 09 57 .CHAR ne_rev;..W
13f30 4f 52 44 20 6e 65 5f 65 6e 74 74 61 62 3b 0a 09 ORD ne_enttab;..
13f40 57 4f 52 44 20 6e 65 5f 63 62 65 6e 74 74 61 62 WORD ne_cbenttab
13f50 3b 0a 09 4c 4f 4e 47 20 6e 65 5f 63 72 63 3b 0a ;..LONG ne_crc;.
13f60 09 57 4f 52 44 20 6e 65 5f 66 6c 61 67 73 3b 0a .WORD ne_flags;.
13f70 09 57 4f 52 44 20 6e 65 5f 61 75 74 6f 64 61 74 .WORD ne_autodat
13f80 61 3b 0a 09 57 4f 52 44 20 6e 65 5f 68 65 61 70 a;..WORD ne_heap
13f90 3b 0a 09 57 4f 52 44 20 6e 65 5f 73 74 61 63 6b ;..WORD ne_stack
13fa0 3b 0a 09 4c 4f 4e 47 20 6e 65 5f 63 73 69 70 3b ;..LONG ne_csip;
13fb0 0a 09 4c 4f 4e 47 20 6e 65 5f 73 73 73 70 3b 0a ..LONG ne_sssp;.
13fc0 09 57 4f 52 44 20 6e 65 5f 63 73 65 67 3b 0a 09 .WORD ne_cseg;..
13fd0 57 4f 52 44 20 6e 65 5f 63 6d 6f 64 3b 0a 09 57 WORD ne_cmod;..W
13fe0 4f 52 44 20 6e 65 5f 63 62 6e 72 65 73 74 61 62 ORD ne_cbnrestab
13ff0 3b 0a 09 57 4f 52 44 20 6e 65 5f 73 65 67 74 61 ;..WORD ne_segta
14000 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 72 73 72 63 b;..WORD ne_rsrc
14010 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 72 65 tab;..WORD ne_re
14020 73 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f 6d stab;..WORD ne_m
14030 6f 64 74 61 62 3b 0a 09 57 4f 52 44 20 6e 65 5f odtab;..WORD ne_
14040 69 6d 70 74 61 62 3b 0a 09 4c 4f 4e 47 20 6e 65 imptab;..LONG ne
14050 5f 6e 72 65 73 74 61 62 3b 0a 09 57 4f 52 44 20 _nrestab;..WORD
14060 6e 65 5f 63 6d 6f 76 65 6e 74 3b 0a 09 57 4f 52 ne_cmovent;..WOR
14070 44 20 6e 65 5f 61 6c 69 67 6e 3b 0a 09 57 4f 52 D ne_align;..WOR
14080 44 20 6e 65 5f 63 72 65 73 3b 0a 09 42 59 54 45 D ne_cres;..BYTE
14090 20 6e 65 5f 65 78 65 74 79 70 3b 0a 09 42 59 54 ne_exetyp;..BYT
140a0 45 20 6e 65 5f 66 6c 61 67 73 6f 74 68 65 72 73 E ne_flagsothers
140b0 3b 0a 09 57 4f 52 44 20 6e 65 5f 70 72 65 74 74 ;..WORD ne_prett
140c0 68 75 6e 6b 73 3b 0a 09 57 4f 52 44 20 6e 65 5f hunks;..WORD ne_
140d0 70 73 65 67 72 65 66 62 79 74 65 73 3b 0a 09 57 psegrefbytes;..W
140e0 4f 52 44 20 6e 65 5f 73 77 61 70 61 72 65 61 3b ORD ne_swaparea;
140f0 0a 09 57 4f 52 44 20 6e 65 5f 65 78 70 76 65 72 ..WORD ne_expver
14100 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f ;.}.alias IMAGE_
14110 4f 53 32 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 OS2_HEADER* PIMA
14120 47 45 5f 4f 53 32 5f 48 45 41 44 45 52 3b 0a 0a GE_OS2_HEADER;..
14130 61 6c 69 67 6e 28 34 29 20 73 74 72 75 63 74 20 align(4) struct
14140 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 IMAGE_NT_HEADERS
14150 33 32 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 32 {..DWORD
14160 20 20 20 20 20 20 20 20 20 20 20 20 53 69 67 6e Sign
14170 61 74 75 72 65 3b 0a 09 49 4d 41 47 45 5f 46 49 ature;..IMAGE_FI
14180 4c 45 5f 48 45 41 44 45 52 20 20 20 20 20 46 69 LE_HEADER Fi
14190 6c 65 48 65 61 64 65 72 3b 0a 09 49 4d 41 47 45 leHeader;..IMAGE
141a0 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 _OPTIONAL_HEADER
141b0 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 72 3b OptionalHeader;
141c0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e .}.alias IMAGE_N
141d0 54 5f 48 45 41 44 45 52 53 33 32 2a 20 50 49 4d T_HEADERS32* PIM
141e0 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 33 32 AGE_NT_HEADERS32
141f0 3b 0a 0a 61 6c 69 67 6e 28 34 29 20 73 74 72 75 ;..align(4) stru
14200 63 74 20 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 ct IMAGE_NT_HEAD
14210 45 52 53 36 34 20 7b 0a 09 44 57 4f 52 44 20 20 ERS64 {..DWORD
14220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 S
14230 69 67 6e 61 74 75 72 65 3b 0a 09 49 4d 41 47 45 ignature;..IMAGE
14240 5f 46 49 4c 45 5f 48 45 41 44 45 52 20 20 20 20 _FILE_HEADER
14250 20 46 69 6c 65 48 65 61 64 65 72 3b 0a 09 49 4d FileHeader;..IM
14260 41 47 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 AGE_OPTIONAL_HEA
14270 44 45 52 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 DER OptionalHead
14280 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 er;.}.alias IMAG
14290 45 5f 4e 54 5f 48 45 41 44 45 52 53 36 34 2a 20 E_NT_HEADERS64*
142a0 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 PIMAGE_NT_HEADER
142b0 53 36 34 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 S64;..struct IMA
142c0 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53 20 7b GE_ROM_HEADERS {
142d0 0a 09 49 4d 41 47 45 5f 46 49 4c 45 5f 48 45 41 ..IMAGE_FILE_HEA
142e0 44 45 52 20 20 20 20 20 20 20 20 20 46 69 6c 65 DER File
142f0 48 65 61 64 65 72 3b 0a 09 49 4d 41 47 45 5f 52 Header;..IMAGE_R
14300 4f 4d 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 OM_OPTIONAL_HEAD
14310 45 52 20 4f 70 74 69 6f 6e 61 6c 48 65 61 64 65 ER OptionalHeade
14320 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 r;.}.alias IMAGE
14330 5f 52 4f 4d 5f 48 45 41 44 45 52 53 2a 20 50 49 _ROM_HEADERS* PI
14340 4d 41 47 45 5f 52 4f 4d 5f 48 45 41 44 45 52 53 MAGE_ROM_HEADERS
14350 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f ;..struct IMAGE_
14360 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 20 7b SECTION_HEADER {
14370 0a 09 42 59 54 45 5b 49 4d 41 47 45 5f 53 49 5a ..BYTE[IMAGE_SIZ
14380 45 4f 46 5f 53 48 4f 52 54 5f 4e 41 4d 45 5d 20 EOF_SHORT_NAME]
14390 4e 61 6d 65 3b 0a 09 75 6e 69 6f 6e 20 5f 4d 69 Name;..union _Mi
143a0 73 63 20 7b 0a 09 09 44 57 4f 52 44 20 50 68 79 sc {...DWORD Phy
143b0 73 69 63 61 6c 41 64 64 72 65 73 73 3b 0a 09 09 sicalAddress;...
143c0 44 57 4f 52 44 20 56 69 72 74 75 61 6c 53 69 7a DWORD VirtualSiz
143d0 65 3b 0a 09 7d 0a 09 5f 4d 69 73 63 20 4d 69 73 e;..}.._Misc Mis
143e0 63 3b 0a 09 44 57 4f 52 44 20 56 69 72 74 75 61 c;..DWORD Virtua
143f0 6c 41 64 64 72 65 73 73 3b 0a 09 44 57 4f 52 44 lAddress;..DWORD
14400 20 53 69 7a 65 4f 66 52 61 77 44 61 74 61 3b 0a SizeOfRawData;.
14410 09 44 57 4f 52 44 20 50 6f 69 6e 74 65 72 54 6f .DWORD PointerTo
14420 52 61 77 44 61 74 61 3b 0a 09 44 57 4f 52 44 20 RawData;..DWORD
14430 50 6f 69 6e 74 65 72 54 6f 52 65 6c 6f 63 61 74 PointerToRelocat
14440 69 6f 6e 73 3b 0a 09 44 57 4f 52 44 20 50 6f 69 ions;..DWORD Poi
14450 6e 74 65 72 54 6f 4c 69 6e 65 6e 75 6d 62 65 72 nterToLinenumber
14460 73 3b 0a 09 57 4f 52 44 20 20 4e 75 6d 62 65 72 s;..WORD Number
14470 4f 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0a 09 OfRelocations;..
14480 57 4f 52 44 20 20 4e 75 6d 62 65 72 4f 66 4c 69 WORD NumberOfLi
14490 6e 65 6e 75 6d 62 65 72 73 3b 0a 09 44 57 4f 52 nenumbers;..DWOR
144a0 44 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 D Characteristic
144b0 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 s;.}.alias IMAGE
144c0 5f 53 45 43 54 49 4f 4e 5f 48 45 41 44 45 52 2a _SECTION_HEADER*
144d0 20 50 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f PIMAGE_SECTION_
144e0 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 HEADER;..struct
144f0 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 20 7b 0a 09 IMAGE_SYMBOL {..
14500 75 6e 69 6f 6e 20 5f 4e 20 7b 0a 09 09 42 59 54 union _N {...BYT
14510 45 5b 38 5d 20 20 20 53 68 6f 72 74 4e 61 6d 65 E[8] ShortName
14520 3b 0a 09 09 73 74 72 75 63 74 20 4e 61 6d 65 20 ;...struct Name
14530 7b 0a 09 09 09 44 57 4f 52 44 20 53 68 6f 72 74 {....DWORD Short
14540 3b 0a 09 09 09 44 57 4f 52 44 20 4c 6f 6e 67 3b ;....DWORD Long;
14550 0a 09 09 7d 0a 09 09 50 42 59 54 45 5b 32 5d 20 ...}...PBYTE[2]
14560 20 4c 6f 6e 67 4e 61 6d 65 3b 0a 09 7d 0a 09 5f LongName;..}.._
14570 4e 20 20 20 20 4e 3b 0a 09 44 57 4f 52 44 20 56 N N;..DWORD V
14580 61 6c 75 65 3b 0a 09 53 48 4f 52 54 20 53 65 63 alue;..SHORT Sec
14590 74 69 6f 6e 4e 75 6d 62 65 72 3b 0a 09 57 4f 52 tionNumber;..WOR
145a0 44 20 20 54 79 70 65 3b 0a 09 42 59 54 45 20 20 D Type;..BYTE
145b0 53 74 6f 72 61 67 65 43 6c 61 73 73 3b 0a 09 42 StorageClass;..B
145c0 59 54 45 20 20 4e 75 6d 62 65 72 4f 66 41 75 78 YTE NumberOfAux
145d0 53 79 6d 62 6f 6c 73 3b 0a 7d 0a 61 6c 69 61 73 Symbols;.}.alias
145e0 20 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 2a 20 50 IMAGE_SYMBOL* P
145f0 49 4d 41 47 45 5f 53 59 4d 42 4f 4c 3b 0a 0a 75 IMAGE_SYMBOL;..u
14600 6e 69 6f 6e 20 49 4d 41 47 45 5f 41 55 58 5f 53 nion IMAGE_AUX_S
14610 59 4d 42 4f 4c 20 7b 0a 09 73 74 72 75 63 74 20 YMBOL {..struct
14620 5f 53 79 6d 20 7b 0a 09 09 44 57 4f 52 44 20 20 _Sym {...DWORD
14630 20 20 20 20 20 20 20 20 20 54 61 67 49 6e 64 65 TagInde
14640 78 3b 0a 09 09 75 6e 69 6f 6e 20 5f 4d 69 73 63 x;...union _Misc
14650 20 7b 0a 09 09 09 73 74 72 75 63 74 20 5f 4c 6e {....struct _Ln
14660 53 7a 20 7b 0a 09 09 09 09 57 4f 52 44 20 20 20 Sz {.....WORD
14670 20 4c 69 6e 65 6e 75 6d 62 65 72 3b 0a 09 09 09 Linenumber;....
14680 09 57 4f 52 44 20 20 20 20 53 69 7a 65 3b 0a 09 .WORD Size;..
14690 09 09 7d 0a 09 09 09 5f 4c 6e 53 7a 20 20 20 20 ..}...._LnSz
146a0 20 20 20 4c 6e 53 7a 3b 0a 09 09 09 44 57 4f 52 LnSz;....DWOR
146b0 44 20 20 20 20 20 20 20 54 6f 74 61 6c 53 69 7a D TotalSiz
146c0 65 3b 0a 09 09 7d 0a 09 09 5f 4d 69 73 63 20 4d e;...}..._Misc M
146d0 69 73 63 3b 0a 09 09 75 6e 69 6f 6e 20 5f 46 63 isc;...union _Fc
146e0 6e 41 72 79 20 7b 0a 09 09 09 73 74 72 75 63 74 nAry {....struct
146f0 20 5f 46 75 6e 63 74 69 6f 6e 20 7b 0a 09 09 09 _Function {....
14700 09 44 57 4f 52 44 20 20 20 50 6f 69 6e 74 65 72 .DWORD Pointer
14710 54 6f 4c 69 6e 65 6e 75 6d 62 65 72 3b 0a 09 09 ToLinenumber;...
14720 09 09 44 57 4f 52 44 20 20 20 50 6f 69 6e 74 65 ..DWORD Pointe
14730 72 54 6f 4e 65 78 74 46 75 6e 63 74 69 6f 6e 3b rToNextFunction;
14740 0a 09 09 09 7d 0a 09 09 09 5f 46 75 6e 63 74 69 ....}...._Functi
14750 6f 6e 20 20 20 46 75 6e 63 74 69 6f 6e 3b 0a 09 on Function;..
14760 09 09 73 74 72 75 63 74 20 5f 41 72 72 61 79 20 ..struct _Array
14770 7b 0a 09 09 09 09 57 4f 52 44 5b 34 5d 20 44 69 {.....WORD[4] Di
14780 6d 65 6e 73 69 6f 6e 3b 0a 09 09 09 7d 0a 09 09 mension;....}...
14790 09 5f 41 72 72 61 79 20 20 20 20 20 20 41 72 72 ._Array Arr
147a0 61 79 3b 0a 09 09 7d 0a 09 09 5f 46 63 6e 41 72 ay;...}..._FcnAr
147b0 79 20 20 20 20 20 20 20 20 20 46 63 6e 41 72 79 y FcnAry
147c0 3b 0a 09 09 57 4f 52 44 20 20 20 20 20 20 20 20 ;...WORD
147d0 20 20 20 20 54 76 49 6e 64 65 78 3b 0a 09 7d 0a TvIndex;..}.
147e0 09 5f 53 79 6d 20 20 20 20 20 20 20 20 20 20 20 ._Sym
147f0 20 20 20 20 20 53 79 6d 3b 0a 09 73 74 72 75 63 Sym;..struc
14800 74 20 5f 46 69 6c 65 20 7b 0a 09 09 42 59 54 45 t _File {...BYTE
14810 5b 49 4d 41 47 45 5f 53 49 5a 45 4f 46 5f 53 59 [IMAGE_SIZEOF_SY
14820 4d 42 4f 4c 5d 20 4e 61 6d 65 3b 0a 09 7d 0a 09 MBOL] Name;..}..
14830 5f 46 69 6c 65 20 20 20 20 20 20 20 20 20 20 20 _File
14840 20 20 20 20 46 69 6c 65 3b 0a 09 73 74 72 75 63 File;..struc
14850 74 20 5f 53 65 63 74 69 6f 6e 20 7b 0a 09 09 44 t _Section {...D
14860 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 4c WORD L
14870 65 6e 67 74 68 3b 0a 09 09 57 4f 52 44 20 20 20 ength;...WORD
14880 20 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 4f NumberO
14890 66 52 65 6c 6f 63 61 74 69 6f 6e 73 3b 0a 09 09 fRelocations;...
148a0 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 WORD
148b0 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75 6d 62 NumberOfLinenumb
148c0 65 72 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 ers;...DWORD
148d0 20 20 20 20 20 20 20 43 68 65 63 6b 53 75 6d 3b CheckSum;
148e0 0a 09 09 53 48 4f 52 54 20 20 20 20 20 20 20 20 ...SHORT
148f0 20 20 20 4e 75 6d 62 65 72 3b 0a 09 09 42 59 54 Number;...BYT
14900 45 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c E Sel
14910 65 63 74 69 6f 6e 3b 0a 09 7d 0a 09 5f 53 65 63 ection;..}.._Sec
14920 74 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 tion
14930 53 65 63 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 Section;.}.alias
14940 20 49 4d 41 47 45 5f 41 55 58 5f 53 59 4d 42 4f IMAGE_AUX_SYMBO
14950 4c 2a 20 50 49 4d 41 47 45 5f 41 55 58 5f 53 59 L* PIMAGE_AUX_SY
14960 4d 42 4f 4c 3b 0a 0a 73 74 72 75 63 74 20 49 4d MBOL;..struct IM
14970 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 AGE_COFF_SYMBOLS
14980 5f 48 45 41 44 45 52 20 7b 0a 09 44 57 4f 52 44 _HEADER {..DWORD
14990 20 4e 75 6d 62 65 72 4f 66 53 79 6d 62 6f 6c 73 NumberOfSymbols
149a0 3b 0a 09 44 57 4f 52 44 20 4c 76 61 54 6f 46 69 ;..DWORD LvaToFi
149b0 72 73 74 53 79 6d 62 6f 6c 3b 0a 09 44 57 4f 52 rstSymbol;..DWOR
149c0 44 20 4e 75 6d 62 65 72 4f 66 4c 69 6e 65 6e 75 D NumberOfLinenu
149d0 6d 62 65 72 73 3b 0a 09 44 57 4f 52 44 20 4c 76 mbers;..DWORD Lv
149e0 61 54 6f 46 69 72 73 74 4c 69 6e 65 6e 75 6d 62 aToFirstLinenumb
149f0 65 72 3b 0a 09 44 57 4f 52 44 20 52 76 61 54 6f er;..DWORD RvaTo
14a00 46 69 72 73 74 42 79 74 65 4f 66 43 6f 64 65 3b FirstByteOfCode;
14a10 0a 09 44 57 4f 52 44 20 52 76 61 54 6f 4c 61 73 ..DWORD RvaToLas
14a20 74 42 79 74 65 4f 66 43 6f 64 65 3b 0a 09 44 57 tByteOfCode;..DW
14a30 4f 52 44 20 52 76 61 54 6f 46 69 72 73 74 42 79 ORD RvaToFirstBy
14a40 74 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52 44 teOfData;..DWORD
14a50 20 52 76 61 54 6f 4c 61 73 74 42 79 74 65 4f 66 RvaToLastByteOf
14a60 44 61 74 61 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d Data;.}.alias IM
14a70 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 AGE_COFF_SYMBOLS
14a80 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 45 5f _HEADER* PIMAGE_
14a90 43 4f 46 46 5f 53 59 4d 42 4f 4c 53 5f 48 45 41 COFF_SYMBOLS_HEA
14aa0 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 DER;..struct IMA
14ab0 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 20 7b 0a GE_RELOCATION {.
14ac0 09 75 6e 69 6f 6e 20 7b 0a 09 09 44 57 4f 52 44 .union {...DWORD
14ad0 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 73 3b VirtualAddress;
14ae0 0a 09 09 44 57 4f 52 44 20 52 65 6c 6f 63 43 6f ...DWORD RelocCo
14af0 75 6e 74 3b 0a 09 7d 0a 09 44 57 4f 52 44 20 20 unt;..}..DWORD
14b00 20 20 20 53 79 6d 62 6f 6c 54 61 62 6c 65 49 6e SymbolTableIn
14b10 64 65 78 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 dex;..WORD
14b20 54 79 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d Type;.}.alias IM
14b30 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 2a 20 AGE_RELOCATION*
14b40 50 49 4d 41 47 45 5f 52 45 4c 4f 43 41 54 49 4f PIMAGE_RELOCATIO
14b50 4e 3b 0a 0a 61 6c 69 67 6e 28 34 29 20 73 74 72 N;..align(4) str
14b60 75 63 74 20 49 4d 41 47 45 5f 42 41 53 45 5f 52 uct IMAGE_BASE_R
14b70 45 4c 4f 43 41 54 49 4f 4e 20 7b 0a 09 44 57 4f ELOCATION {..DWO
14b80 52 44 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 RD VirtualAddres
14b90 73 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 s;..DWORD SizeOf
14ba0 42 6c 6f 63 6b 3b 0a 7d 0a 61 6c 69 61 73 20 49 Block;.}.alias I
14bb0 4d 41 47 45 5f 42 41 53 45 5f 52 45 4c 4f 43 41 MAGE_BASE_RELOCA
14bc0 54 49 4f 4e 2a 20 50 49 4d 41 47 45 5f 42 41 53 TION* PIMAGE_BAS
14bd0 45 5f 52 45 4c 4f 43 41 54 49 4f 4e 3b 0a 0a 61 E_RELOCATION;..a
14be0 6c 69 67 6e 28 32 29 20 73 74 72 75 63 74 20 49 lign(2) struct I
14bf0 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 20 MAGE_LINENUMBER
14c00 7b 0a 09 75 6e 69 6f 6e 20 5f 54 79 70 65 20 7b {..union _Type {
14c10 0a 09 09 44 57 4f 52 44 20 53 79 6d 62 6f 6c 54 ...DWORD SymbolT
14c20 61 62 6c 65 49 6e 64 65 78 3b 0a 09 09 44 57 4f ableIndex;...DWO
14c30 52 44 20 56 69 72 74 75 61 6c 41 64 64 72 65 73 RD VirtualAddres
14c40 73 3b 0a 09 7d 0a 09 5f 54 79 70 65 20 54 79 70 s;..}.._Type Typ
14c50 65 3b 0a 09 57 4f 52 44 20 20 4c 69 6e 65 6e 75 e;..WORD Linenu
14c60 6d 62 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d mber;.}.alias IM
14c70 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 52 2a 20 AGE_LINENUMBER*
14c80 50 49 4d 41 47 45 5f 4c 49 4e 45 4e 55 4d 42 45 PIMAGE_LINENUMBE
14c90 52 3b 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74 R;..align(4):.st
14ca0 72 75 63 74 20 49 4d 41 47 45 5f 41 52 43 48 49 ruct IMAGE_ARCHI
14cb0 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52 VE_MEMBER_HEADER
14cc0 20 7b 0a 09 42 59 54 45 5b 31 36 5d 20 4e 61 6d {..BYTE[16] Nam
14cd0 65 3b 0a 09 42 59 54 45 5b 31 32 5d 20 44 61 74 e;..BYTE[12] Dat
14ce0 65 3b 0a 09 42 59 54 45 5b 36 5d 20 20 55 73 65 e;..BYTE[6] Use
14cf0 72 49 44 3b 0a 09 42 59 54 45 5b 36 5d 20 20 47 rID;..BYTE[6] G
14d00 72 6f 75 70 49 44 3b 0a 09 42 59 54 45 5b 38 5d roupID;..BYTE[8]
14d10 20 20 4d 6f 64 65 3b 0a 09 42 59 54 45 5b 31 30 Mode;..BYTE[10
14d20 5d 20 53 69 7a 65 3b 0a 09 42 59 54 45 5b 32 5d ] Size;..BYTE[2]
14d30 20 20 45 6e 64 48 65 61 64 65 72 3b 0a 7d 0a 61 EndHeader;.}.a
14d40 6c 69 61 73 20 49 4d 41 47 45 5f 41 52 43 48 49 lias IMAGE_ARCHI
14d50 56 45 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52 VE_MEMBER_HEADER
14d60 2a 20 50 49 4d 41 47 45 5f 41 52 43 48 49 56 45 * PIMAGE_ARCHIVE
14d70 5f 4d 45 4d 42 45 52 5f 48 45 41 44 45 52 3b 0a _MEMBER_HEADER;.
14d80 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 45 58 .struct IMAGE_EX
14d90 50 4f 52 54 5f 44 49 52 45 43 54 4f 52 59 20 7b PORT_DIRECTORY {
14da0 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63 74 65 ..DWORD Characte
14db0 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44 20 ristics;..DWORD
14dc0 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0a 09 TimeDateStamp;..
14dd0 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72 73 69 WORD MajorVersi
14de0 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72 on;..WORD Minor
14df0 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 Version;..DWORD
14e00 4e 61 6d 65 3b 0a 09 44 57 4f 52 44 20 42 61 73 Name;..DWORD Bas
14e10 65 3b 0a 09 44 57 4f 52 44 20 4e 75 6d 62 65 72 e;..DWORD Number
14e20 4f 66 46 75 6e 63 74 69 6f 6e 73 3b 0a 09 44 57 OfFunctions;..DW
14e30 4f 52 44 20 4e 75 6d 62 65 72 4f 66 4e 61 6d 65 ORD NumberOfName
14e40 73 3b 0a 09 44 57 4f 52 44 20 41 64 64 72 65 73 s;..DWORD Addres
14e50 73 4f 66 46 75 6e 63 74 69 6f 6e 73 3b 0a 09 44 sOfFunctions;..D
14e60 57 4f 52 44 20 41 64 64 72 65 73 73 4f 66 4e 61 WORD AddressOfNa
14e70 6d 65 73 3b 0a 09 44 57 4f 52 44 20 41 64 64 72 mes;..DWORD Addr
14e80 65 73 73 4f 66 4e 61 6d 65 4f 72 64 69 6e 61 6c essOfNameOrdinal
14e90 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 s;.}.alias IMAGE
14ea0 5f 45 58 50 4f 52 54 5f 44 49 52 45 43 54 4f 52 _EXPORT_DIRECTOR
14eb0 59 2a 20 50 49 4d 41 47 45 5f 45 58 50 4f 52 54 Y* PIMAGE_EXPORT
14ec0 5f 44 49 52 45 43 54 4f 52 59 3b 0a 0a 73 74 72 _DIRECTORY;..str
14ed0 75 63 74 20 49 4d 41 47 45 5f 49 4d 50 4f 52 54 uct IMAGE_IMPORT
14ee0 5f 42 59 5f 4e 41 4d 45 20 7b 0a 09 57 4f 52 44 _BY_NAME {..WORD
14ef0 20 48 69 6e 74 3b 0a 09 42 59 54 45 20 5f 4e 61 Hint;..BYTE _Na
14f00 6d 65 3b 0a 0a 09 42 59 54 45 2a 20 4e 61 6d 65 me;...BYTE* Name
14f10 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 26 5f () {...return &_
14f20 4e 61 6d 65 3b 0a 09 7d 0a 7d 0a 61 6c 69 61 73 Name;..}.}.alias
14f30 20 49 4d 41 47 45 5f 49 4d 50 4f 52 54 5f 42 59 IMAGE_IMPORT_BY
14f40 5f 4e 41 4d 45 2a 20 50 49 4d 41 47 45 5f 49 4d _NAME* PIMAGE_IM
14f50 50 4f 52 54 5f 42 59 5f 4e 41 4d 45 3b 0a 0a 73 PORT_BY_NAME;..s
14f60 74 72 75 63 74 20 49 4d 41 47 45 5f 54 48 55 4e truct IMAGE_THUN
14f70 4b 5f 44 41 54 41 33 32 20 7b 0a 09 75 6e 69 6f K_DATA32 {..unio
14f80 6e 20 5f 75 31 20 7b 0a 09 09 44 57 4f 52 44 20 n _u1 {...DWORD
14f90 46 6f 72 77 61 72 64 65 72 53 74 72 69 6e 67 3b ForwarderString;
14fa0 0a 09 09 44 57 4f 52 44 20 46 75 6e 63 74 69 6f ...DWORD Functio
14fb0 6e 3b 0a 09 09 44 57 4f 52 44 20 4f 72 64 69 6e n;...DWORD Ordin
14fc0 61 6c 3b 0a 09 09 44 57 4f 52 44 20 41 64 64 72 al;...DWORD Addr
14fd0 65 73 73 4f 66 44 61 74 61 3b 0a 09 7d 0a 09 5f essOfData;..}.._
14fe0 75 31 20 75 31 3b 0a 7d 0a 61 6c 69 61 73 20 49 u1 u1;.}.alias I
14ff0 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 33 MAGE_THUNK_DATA3
15000 32 2a 20 50 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 2* PIMAGE_THUNK_
15010 44 41 54 41 33 32 3b 0a 0a 73 74 72 75 63 74 20 DATA32;..struct
15020 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 IMAGE_THUNK_DATA
15030 36 34 20 7b 0a 09 75 6e 69 6f 6e 20 5f 75 31 20 64 {..union _u1
15040 7b 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47 20 46 6f {...ULONGLONG Fo
15050 72 77 61 72 64 65 72 53 74 72 69 6e 67 3b 0a 09 rwarderString;..
15060 09 55 4c 4f 4e 47 4c 4f 4e 47 20 46 75 6e 63 74 .ULONGLONG Funct
15070 69 6f 6e 3b 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47 ion;...ULONGLONG
15080 20 4f 72 64 69 6e 61 6c 3b 0a 09 09 55 4c 4f 4e Ordinal;...ULON
15090 47 4c 4f 4e 47 20 41 64 64 72 65 73 73 4f 66 44 GLONG AddressOfD
150a0 61 74 61 3b 0a 09 7d 0a 09 5f 75 31 20 75 31 3b ata;..}.._u1 u1;
150b0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 54 .}.alias IMAGE_T
150c0 48 55 4e 4b 5f 44 41 54 41 36 34 2a 20 50 49 4d HUNK_DATA64* PIM
150d0 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 36 34 AGE_THUNK_DATA64
150e0 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f ;..struct IMAGE_
150f0 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 4f IMPORT_DESCRIPTO
15100 52 20 7b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 44 R {..union {...D
15110 57 4f 52 44 20 43 68 61 72 61 63 74 65 72 69 73 WORD Characteris
15120 74 69 63 73 3b 0a 09 09 44 57 4f 52 44 20 4f 72 tics;...DWORD Or
15130 69 67 69 6e 61 6c 46 69 72 73 74 54 68 75 6e 6b iginalFirstThunk
15140 3b 0a 09 7d 0a 09 44 57 4f 52 44 20 54 69 6d 65 ;..}..DWORD Time
15150 44 61 74 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52 DateStamp;..DWOR
15160 44 20 46 6f 72 77 61 72 64 65 72 43 68 61 69 6e D ForwarderChain
15170 3b 0a 09 44 57 4f 52 44 20 4e 61 6d 65 3b 0a 09 ;..DWORD Name;..
15180 44 57 4f 52 44 20 46 69 72 73 74 54 68 75 6e 6b DWORD FirstThunk
15190 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f ;.}.alias IMAGE_
151a0 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 4f IMPORT_DESCRIPTO
151b0 52 2a 20 50 49 4d 41 47 45 5f 49 4d 50 4f 52 54 R* PIMAGE_IMPORT
151c0 5f 44 45 53 43 52 49 50 54 4f 52 3b 0a 0a 73 74 _DESCRIPTOR;..st
151d0 72 75 63 74 20 49 4d 41 47 45 5f 42 4f 55 4e 44 ruct IMAGE_BOUND
151e0 5f 49 4d 50 4f 52 54 5f 44 45 53 43 52 49 50 54 _IMPORT_DESCRIPT
151f0 4f 52 20 7b 0a 09 44 57 4f 52 44 20 54 69 6d 65 OR {..DWORD Time
15200 44 61 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44 DateStamp;..WORD
15210 20 20 4f 66 66 73 65 74 4d 6f 64 75 6c 65 4e 61 OffsetModuleNa
15220 6d 65 3b 0a 09 57 4f 52 44 20 20 4e 75 6d 62 65 me;..WORD Numbe
15230 72 4f 66 4d 6f 64 75 6c 65 46 6f 72 77 61 72 64 rOfModuleForward
15240 65 72 52 65 66 73 3b 0a 7d 0a 61 6c 69 61 73 20 erRefs;.}.alias
15250 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f IMAGE_BOUND_IMPO
15260 52 54 5f 44 45 53 43 52 49 50 54 4f 52 2a 20 50 RT_DESCRIPTOR* P
15270 49 4d 41 47 45 5f 42 4f 55 4e 44 5f 49 4d 50 4f IMAGE_BOUND_IMPO
15280 52 54 5f 44 45 53 43 52 49 50 54 4f 52 3b 0a 0a RT_DESCRIPTOR;..
15290 73 74 72 75 63 74 20 49 4d 41 47 45 5f 42 4f 55 struct IMAGE_BOU
152a0 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46 ND_FORWARDER_REF
152b0 20 7b 0a 09 44 57 4f 52 44 20 54 69 6d 65 44 61 {..DWORD TimeDa
152c0 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44 20 20 teStamp;..WORD
152d0 4f 66 66 73 65 74 4d 6f 64 75 6c 65 4e 61 6d 65 OffsetModuleName
152e0 3b 0a 09 57 4f 52 44 20 20 52 65 73 65 72 76 65 ;..WORD Reserve
152f0 64 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 d;.}.alias IMAGE
15300 5f 42 4f 55 4e 44 5f 46 4f 52 57 41 52 44 45 52 _BOUND_FORWARDER
15310 5f 52 45 46 2a 20 50 49 4d 41 47 45 5f 42 4f 55 _REF* PIMAGE_BOU
15320 4e 44 5f 46 4f 52 57 41 52 44 45 52 5f 52 45 46 ND_FORWARDER_REF
15330 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f ;..struct IMAGE_
15340 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 33 32 20 TLS_DIRECTORY32
15350 7b 0a 09 44 57 4f 52 44 20 53 74 61 72 74 41 64 {..DWORD StartAd
15360 64 72 65 73 73 4f 66 52 61 77 44 61 74 61 3b 0a dressOfRawData;.
15370 09 44 57 4f 52 44 20 45 6e 64 41 64 64 72 65 73 .DWORD EndAddres
15380 73 4f 66 52 61 77 44 61 74 61 3b 0a 09 44 57 4f sOfRawData;..DWO
15390 52 44 20 41 64 64 72 65 73 73 4f 66 49 6e 64 65 RD AddressOfInde
153a0 78 3b 0a 09 44 57 4f 52 44 20 41 64 64 72 65 73 x;..DWORD Addres
153b0 73 4f 66 43 61 6c 6c 42 61 63 6b 73 3b 0a 09 44 sOfCallBacks;..D
153c0 57 4f 52 44 20 53 69 7a 65 4f 66 5a 65 72 6f 46 WORD SizeOfZeroF
153d0 69 6c 6c 3b 0a 09 44 57 4f 52 44 20 43 68 61 72 ill;..DWORD Char
153e0 61 63 74 65 72 69 73 74 69 63 73 3b 0a 7d 0a 61 acteristics;.}.a
153f0 6c 69 61 73 20 49 4d 41 47 45 5f 54 4c 53 5f 44 lias IMAGE_TLS_D
15400 49 52 45 43 54 4f 52 59 33 32 2a 20 50 49 4d 41 IRECTORY32* PIMA
15410 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 GE_TLS_DIRECTORY
15420 33 32 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 32;..struct IMAG
15430 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f 52 59 36 E_TLS_DIRECTORY6
15440 34 20 7b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 53 4 {..ULONGLONG S
15450 74 61 72 74 41 64 64 72 65 73 73 4f 66 52 61 77 tartAddressOfRaw
15460 44 61 74 61 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 Data;..ULONGLONG
15470 20 45 6e 64 41 64 64 72 65 73 73 4f 66 52 61 77 EndAddressOfRaw
15480 44 61 74 61 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 Data;..ULONGLONG
15490 20 41 64 64 72 65 73 73 4f 66 49 6e 64 65 78 3b AddressOfIndex;
154a0 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 41 64 64 72 ..ULONGLONG Addr
154b0 65 73 73 4f 66 43 61 6c 6c 42 61 63 6b 73 3b 0a essOfCallBacks;.
154c0 09 44 57 4f 52 44 20 20 20 20 20 53 69 7a 65 4f .DWORD SizeO
154d0 66 5a 65 72 6f 46 69 6c 6c 3b 0a 09 44 57 4f 52 fZeroFill;..DWOR
154e0 44 20 20 20 20 20 43 68 61 72 61 63 74 65 72 69 D Characteri
154f0 73 74 69 63 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 stics;.}.alias I
15500 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f MAGE_TLS_DIRECTO
15510 52 59 36 34 2a 20 50 49 4d 41 47 45 5f 54 4c 53 RY64* PIMAGE_TLS
15520 5f 44 49 52 45 43 54 4f 52 59 36 34 3b 0a 0a 73 _DIRECTORY64;..s
15530 74 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f truct IMAGE_RESO
15540 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 20 7b URCE_DIRECTORY {
15550 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63 74 65 ..DWORD Characte
15560 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44 20 ristics;..DWORD
15570 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b 0a 09 TimeDateStamp;..
15580 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72 73 69 WORD MajorVersi
15590 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e 6f 72 on;..WORD Minor
155a0 56 65 72 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 Version;..WORD
155b0 4e 75 6d 62 65 72 4f 66 4e 61 6d 65 64 45 6e 74 NumberOfNamedEnt
155c0 72 69 65 73 3b 0a 09 57 4f 52 44 20 20 4e 75 6d ries;..WORD Num
155d0 62 65 72 4f 66 49 64 45 6e 74 72 69 65 73 3b 0a berOfIdEntries;.
155e0 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52 45 }.alias IMAGE_RE
155f0 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 59 SOURCE_DIRECTORY
15600 2a 20 50 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 * PIMAGE_RESOURC
15610 45 5f 44 49 52 45 43 54 4f 52 59 3b 0a 0a 73 74 E_DIRECTORY;..st
15620 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f 55 ruct IMAGE_RESOU
15630 52 43 45 5f 44 49 52 45 43 54 4f 52 59 5f 45 4e RCE_DIRECTORY_EN
15640 54 52 59 20 7b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 TRY {..union {..
15650 09 2f 2b 73 74 72 75 63 74 20 7b 0a 09 09 09 44 ./+struct {....D
15660 57 4f 52 44 20 4e 61 6d 65 4f 66 66 73 65 74 3a WORD NameOffset:
15670 33 31 3b 0a 09 09 09 44 57 4f 52 44 20 4e 61 6d 31;....DWORD Nam
15680 65 49 73 53 74 72 69 6e 67 3a 31 3b 0a 09 09 7d eIsString:1;...}
15690 2b 2f 0a 09 09 44 57 4f 52 44 20 4e 61 6d 65 3b +/...DWORD Name;
156a0 0a 09 09 57 4f 52 44 20 49 64 3b 0a 09 7d 0a 09 ...WORD Id;..}..
156b0 44 57 4f 52 44 20 4f 66 66 73 65 74 54 6f 44 61 DWORD OffsetToDa
156c0 74 61 3b 0a 09 09 2f 2b 73 74 72 75 63 74 20 7b ta;.../+struct {
156d0 0a 09 09 09 44 57 4f 52 44 20 4f 66 66 73 65 74 ....DWORD Offset
156e0 54 6f 44 69 72 65 63 74 6f 72 79 3a 33 31 3b 0a ToDirectory:31;.
156f0 09 09 09 44 57 4f 52 44 20 44 61 74 61 49 73 44 ...DWORD DataIsD
15700 69 72 65 63 74 6f 72 79 3a 31 3b 0a 09 09 7d 2b irectory:1;...}+
15710 2f 0a 0a 09 75 69 6e 74 20 4e 61 6d 65 4f 66 66 /...uint NameOff
15720 73 65 74 28 29 20 20 20 20 20 20 20 20 7b 20 72 set() { r
15730 65 74 75 72 6e 20 4e 61 6d 65 20 26 20 30 78 37 eturn Name & 0x7
15740 46 46 46 46 46 46 46 3b 20 7d 0a 09 62 6f 6f 6c FFFFFFF; }..bool
15750 20 4e 61 6d 65 49 73 53 74 72 69 6e 67 28 29 20 NameIsString()
15760 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 { return ca
15770 73 74 28 62 6f 6f 6c 29 28 4e 61 6d 65 20 26 20 st(bool)(Name &
15780 30 78 38 30 30 30 30 30 30 30 29 3b 20 7d 0a 09 0x80000000); }..
15790 75 69 6e 74 20 4f 66 66 73 65 74 54 6f 44 69 72 uint OffsetToDir
157a0 65 63 74 6f 72 79 28 29 20 7b 20 72 65 74 75 72 ectory() { retur
157b0 6e 20 4f 66 66 73 65 74 54 6f 44 61 74 61 20 26 n OffsetToData &
157c0 20 30 78 37 46 46 46 46 46 46 46 3b 20 7d 0a 09 0x7FFFFFFF; }..
157d0 62 6f 6f 6c 20 44 61 74 61 49 73 44 69 72 65 63 bool DataIsDirec
157e0 74 6f 72 79 28 29 20 20 20 7b 20 72 65 74 75 72 tory() { retur
157f0 6e 20 63 61 73 74 28 62 6f 6f 6c 29 28 4f 66 66 n cast(bool)(Off
15800 73 65 74 54 6f 44 61 74 61 20 26 20 30 78 38 30 setToData & 0x80
15810 30 30 30 30 30 30 29 3b 20 7d 0a 0a 09 75 69 6e 000000); }...uin
15820 74 20 4e 61 6d 65 4f 66 66 73 65 74 28 75 69 6e t NameOffset(uin
15830 74 20 6e 29 20 7b 0a 09 09 4e 61 6d 65 20 3d 20 t n) {...Name =
15840 28 4e 61 6d 65 20 26 20 30 78 38 30 30 30 30 30 (Name & 0x800000
15850 30 30 29 20 7c 20 28 6e 20 26 20 30 78 37 46 46 00) | (n & 0x7FF
15860 46 46 46 46 46 29 3b 0a 09 09 72 65 74 75 72 6e FFFFF);...return
15870 20 6e 20 26 20 30 78 37 46 46 46 46 46 46 46 3b n & 0x7FFFFFFF;
15880 0a 09 7d 0a 0a 09 62 6f 6f 6c 20 4e 61 6d 65 49 ..}...bool NameI
15890 73 53 74 72 69 6e 67 28 62 6f 6f 6c 20 6e 29 20 sString(bool n)
158a0 7b 0a 09 09 4e 61 6d 65 20 3d 20 28 4e 61 6d 65 {...Name = (Name
158b0 20 26 20 30 78 37 46 46 46 46 46 46 46 29 20 7c & 0x7FFFFFFF) |
158c0 20 28 6e 20 3c 3c 20 33 31 29 3b 20 72 65 74 75 (n << 31); retu
158d0 72 6e 20 6e 3b 0a 09 7d 0a 0a 09 75 69 6e 74 20 rn n;..}...uint
158e0 4f 66 66 73 65 74 54 6f 44 69 72 65 63 74 6f 72 OffsetToDirector
158f0 79 28 75 69 6e 74 20 6f 29 20 7b 0a 09 09 4f 66 y(uint o) {...Of
15900 66 73 65 74 54 6f 44 61 74 61 20 3d 20 28 4f 66 fsetToData = (Of
15910 66 73 65 74 54 6f 44 61 74 61 20 26 20 30 78 38 fsetToData & 0x8
15920 30 30 30 30 30 30 30 29 20 7c 20 28 6f 20 26 20 0000000) | (o &
15930 30 78 37 46 46 46 46 46 46 46 29 3b 0a 09 09 72 0x7FFFFFFF);...r
15940 65 74 75 72 6e 20 6f 20 26 20 30 78 37 46 46 46 eturn o & 0x7FFF
15950 46 46 46 46 3b 0a 09 7d 0a 0a 09 62 6f 6f 6c 20 FFFF;..}...bool
15960 44 61 74 61 49 73 44 69 72 65 63 74 6f 72 79 28 DataIsDirectory(
15970 62 6f 6f 6c 20 64 29 20 7b 0a 09 09 4f 66 66 73 bool d) {...Offs
15980 65 74 54 6f 44 61 74 61 20 3d 20 28 4f 66 66 73 etToData = (Offs
15990 65 74 54 6f 44 61 74 61 20 26 20 30 78 37 46 46 etToData & 0x7FF
159a0 46 46 46 46 46 29 20 7c 20 28 64 20 3c 3c 20 33 FFFFF) | (d << 3
159b0 31 29 3b 20 72 65 74 75 72 6e 20 64 3b 0a 09 7d 1); return d;..}
159c0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52 .}.alias IMAGE_R
159d0 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f 52 ESOURCE_DIRECTOR
159e0 59 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47 45 5f Y_ENTRY* PIMAGE_
159f0 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 4f RESOURCE_DIRECTO
15a00 52 59 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 RY_ENTRY;..struc
15a10 74 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 t IMAGE_RESOURCE
15a20 5f 44 49 52 45 43 54 4f 52 59 5f 53 54 52 49 4e _DIRECTORY_STRIN
15a30 47 20 7b 0a 09 57 4f 52 44 20 4c 65 6e 67 74 68 G {..WORD Length
15a40 3b 0a 09 43 48 41 52 20 5f 4e 61 6d 65 53 74 72 ;..CHAR _NameStr
15a50 69 6e 67 3b 0a 0a 09 43 48 41 52 2a 20 4e 61 6d ing;...CHAR* Nam
15a60 65 53 74 72 69 6e 67 28 29 20 7b 20 72 65 74 75 eString() { retu
15a70 72 6e 20 26 5f 4e 61 6d 65 53 74 72 69 6e 67 3b rn &_NameString;
15a80 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 }.}.alias IMAGE
15a90 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 43 54 _RESOURCE_DIRECT
15aa0 4f 52 59 5f 53 54 52 49 4e 47 2a 20 50 49 4d 41 ORY_STRING* PIMA
15ab0 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 45 GE_RESOURCE_DIRE
15ac0 43 54 4f 52 59 5f 53 54 52 49 4e 47 3b 0a 0a 73 CTORY_STRING;..s
15ad0 74 72 75 63 74 20 49 4d 41 47 45 5f 52 45 53 4f truct IMAGE_RESO
15ae0 55 52 43 45 5f 44 49 52 5f 53 54 52 49 4e 47 5f URCE_DIR_STRING_
15af0 55 20 7b 0a 09 57 4f 52 44 20 20 4c 65 6e 67 74 U {..WORD Lengt
15b00 68 3b 0a 09 57 43 48 41 52 20 5f 4e 61 6d 65 53 h;..WCHAR _NameS
15b10 74 72 69 6e 67 3b 0a 0a 09 57 43 48 41 52 2a 20 tring;...WCHAR*
15b20 4e 61 6d 65 53 74 72 69 6e 67 28 29 20 7b 20 72 NameString() { r
15b30 65 74 75 72 6e 20 26 5f 4e 61 6d 65 53 74 72 69 eturn &_NameStri
15b40 6e 67 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d ng; }.}.alias IM
15b50 41 47 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 AGE_RESOURCE_DIR
15b60 5f 53 54 52 49 4e 47 5f 55 2a 20 50 49 4d 41 47 _STRING_U* PIMAG
15b70 45 5f 52 45 53 4f 55 52 43 45 5f 44 49 52 5f 53 E_RESOURCE_DIR_S
15b80 54 52 49 4e 47 5f 55 3b 0a 0a 73 74 72 75 63 74 TRING_U;..struct
15b90 20 49 4d 41 47 45 5f 52 45 53 4f 55 52 43 45 5f IMAGE_RESOURCE_
15ba0 44 41 54 41 5f 45 4e 54 52 59 20 7b 0a 09 44 57 DATA_ENTRY {..DW
15bb0 4f 52 44 20 4f 66 66 73 65 74 54 6f 44 61 74 61 ORD OffsetToData
15bc0 3b 0a 09 44 57 4f 52 44 20 53 69 7a 65 3b 0a 09 ;..DWORD Size;..
15bd0 44 57 4f 52 44 20 43 6f 64 65 50 61 67 65 3b 0a DWORD CodePage;.
15be0 09 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b .DWORD Reserved;
15bf0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 52 .}.alias IMAGE_R
15c00 45 53 4f 55 52 43 45 5f 44 41 54 41 5f 45 4e 54 ESOURCE_DATA_ENT
15c10 52 59 2a 20 50 49 4d 41 47 45 5f 52 45 53 4f 55 RY* PIMAGE_RESOU
15c20 52 43 45 5f 44 41 54 41 5f 45 4e 54 52 59 3b 0a RCE_DATA_ENTRY;.
15c30 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 4c 4f .struct IMAGE_LO
15c40 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43 54 AD_CONFIG_DIRECT
15c50 4f 52 59 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 ORY {..DWORD
15c60 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b Characteristics;
15c70 0a 09 44 57 4f 52 44 20 20 20 20 54 69 6d 65 44 ..DWORD TimeD
15c80 61 74 65 53 74 61 6d 70 3b 0a 09 57 4f 52 44 20 ateStamp;..WORD
15c90 20 20 20 20 4d 61 6a 6f 72 56 65 72 73 69 6f 6e MajorVersion
15ca0 3b 0a 09 57 4f 52 44 20 20 20 20 20 4d 69 6e 6f ;..WORD Mino
15cb0 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 rVersion;..DWORD
15cc0 20 20 20 20 47 6c 6f 62 61 6c 46 6c 61 67 73 43 GlobalFlagsC
15cd0 6c 65 61 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 lear;..DWORD
15ce0 47 6c 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b 0a GlobalFlagsSet;.
15cf0 09 44 57 4f 52 44 20 20 20 20 43 72 69 74 69 63 .DWORD Critic
15d00 61 6c 53 65 63 74 69 6f 6e 44 65 66 61 75 6c 74 alSectionDefault
15d10 54 69 6d 65 6f 75 74 3b 0a 09 44 57 4f 52 44 20 Timeout;..DWORD
15d20 20 20 20 44 65 43 6f 6d 6d 69 74 46 72 65 65 42 DeCommitFreeB
15d30 6c 6f 63 6b 54 68 72 65 73 68 6f 6c 64 3b 0a 09 lockThreshold;..
15d40 44 57 4f 52 44 20 20 20 20 44 65 43 6f 6d 6d 69 DWORD DeCommi
15d50 74 54 6f 74 61 6c 46 72 65 65 54 68 72 65 73 68 tTotalFreeThresh
15d60 6f 6c 64 3b 0a 09 50 56 4f 49 44 20 20 20 20 4c old;..PVOID L
15d70 6f 63 6b 50 72 65 66 69 78 54 61 62 6c 65 3b 0a ockPrefixTable;.
15d80 09 44 57 4f 52 44 20 20 20 20 4d 61 78 69 6d 75 .DWORD Maximu
15d90 6d 41 6c 6c 6f 63 61 74 69 6f 6e 53 69 7a 65 3b mAllocationSize;
15da0 0a 09 44 57 4f 52 44 20 20 20 20 56 69 72 74 75 ..DWORD Virtu
15db0 61 6c 4d 65 6d 6f 72 79 54 68 72 65 73 68 6f 6c alMemoryThreshol
15dc0 64 3b 0a 09 44 57 4f 52 44 20 20 20 20 50 72 6f d;..DWORD Pro
15dd0 63 65 73 73 48 65 61 70 46 6c 61 67 73 3b 0a 09 cessHeapFlags;..
15de0 44 57 4f 52 44 5b 34 5d 20 52 65 73 65 72 76 65 DWORD[4] Reserve
15df0 64 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 d;.}.alias IMAGE
15e00 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 _LOAD_CONFIG_DIR
15e10 45 43 54 4f 52 59 2a 20 50 49 4d 41 47 45 5f 4c ECTORY* PIMAGE_L
15e20 4f 41 44 5f 43 4f 4e 46 49 47 5f 44 49 52 45 43 OAD_CONFIG_DIREC
15e30 54 4f 52 59 3b 0a 0a 73 74 72 75 63 74 20 49 4d TORY;..struct IM
15e40 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47 5f AGE_LOAD_CONFIG_
15e50 44 49 52 45 43 54 4f 52 59 36 34 20 7b 0a 09 44 DIRECTORY64 {..D
15e60 57 4f 52 44 20 20 20 20 20 43 68 61 72 61 63 74 WORD Charact
15e70 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 44 eristics;..DWORD
15e80 20 20 20 20 20 54 69 6d 65 44 61 74 65 53 74 61 TimeDateSta
15e90 6d 70 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 4d mp;..WORD M
15ea0 61 6a 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 57 4f ajorVersion;..WO
15eb0 52 44 20 20 20 20 20 20 4d 69 6e 6f 72 56 65 72 RD MinorVer
15ec0 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20 20 20 sion;..DWORD
15ed0 20 47 6c 6f 62 61 6c 46 6c 61 67 73 43 6c 65 61 GlobalFlagsClea
15ee0 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 47 6c r;..DWORD Gl
15ef0 6f 62 61 6c 46 6c 61 67 73 53 65 74 3b 0a 09 44 obalFlagsSet;..D
15f00 57 4f 52 44 20 20 20 20 20 43 72 69 74 69 63 61 WORD Critica
15f10 6c 53 65 63 74 69 6f 6e 44 65 66 61 75 6c 74 54 lSectionDefaultT
15f20 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 4c 4f imeout;..ULONGLO
15f30 4e 47 20 44 65 43 6f 6d 6d 69 74 46 72 65 65 42 NG DeCommitFreeB
15f40 6c 6f 63 6b 54 68 72 65 73 68 6f 6c 64 3b 0a 09 lockThreshold;..
15f50 55 4c 4f 4e 47 4c 4f 4e 47 20 44 65 43 6f 6d 6d ULONGLONG DeComm
15f60 69 74 54 6f 74 61 6c 46 72 65 65 54 68 72 65 73 itTotalFreeThres
15f70 68 6f 6c 64 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 hold;..ULONGLONG
15f80 20 4c 6f 63 6b 50 72 65 66 69 78 54 61 62 6c 65 LockPrefixTable
15f90 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 4d 61 78 ;..ULONGLONG Max
15fa0 69 6d 75 6d 41 6c 6c 6f 63 61 74 69 6f 6e 53 69 imumAllocationSi
15fb0 7a 65 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 56 ze;..ULONGLONG V
15fc0 69 72 74 75 61 6c 4d 65 6d 6f 72 79 54 68 72 65 irtualMemoryThre
15fd0 73 68 6f 6c 64 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e shold;..ULONGLON
15fe0 47 20 50 72 6f 63 65 73 73 41 66 66 69 6e 69 74 G ProcessAffinit
15ff0 79 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 20 yMask;..DWORD
16000 20 20 50 72 6f 63 65 73 73 48 65 61 70 46 6c 61 ProcessHeapFla
16010 67 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 43 gs;..WORD C
16020 53 44 46 6c 61 67 73 3b 0a 09 57 4f 52 44 20 20 SDFlags;..WORD
16030 20 20 20 20 52 65 73 65 72 76 65 64 31 3b 0a 09 Reserved1;..
16040 55 4c 4f 4e 47 4c 4f 4e 47 20 45 64 69 74 4c 69 ULONGLONG EditLi
16050 73 74 3b 0a 09 44 57 4f 52 44 5b 32 5d 20 20 52 st;..DWORD[2] R
16060 65 73 65 72 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 eserved;.}.alias
16070 20 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 IMAGE_LOAD_CONF
16080 49 47 5f 44 49 52 45 43 54 4f 52 59 36 34 2a 20 IG_DIRECTORY64*
16090 50 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 PIMAGE_LOAD_CONF
160a0 49 47 5f 44 49 52 45 43 54 4f 52 59 36 34 3b 0a IG_DIRECTORY64;.
160b0 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 52 55 .struct IMAGE_RU
160c0 4e 54 49 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 NTIME_FUNCTION_E
160d0 4e 54 52 59 20 7b 0a 09 44 57 4f 52 44 20 42 65 NTRY {..DWORD Be
160e0 67 69 6e 41 64 64 72 65 73 73 3b 0a 09 44 57 4f ginAddress;..DWO
160f0 52 44 20 45 6e 64 41 64 64 72 65 73 73 3b 0a 09 RD EndAddress;..
16100 50 56 4f 49 44 20 45 78 63 65 70 74 69 6f 6e 48 PVOID ExceptionH
16110 61 6e 64 6c 65 72 3b 0a 09 50 56 4f 49 44 20 48 andler;..PVOID H
16120 61 6e 64 6c 65 72 44 61 74 61 3b 0a 09 44 57 4f andlerData;..DWO
16130 52 44 20 50 72 6f 6c 6f 67 45 6e 64 41 64 64 72 RD PrologEndAddr
16140 65 73 73 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 ess;.}.alias IMA
16150 47 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 GE_RUNTIME_FUNCT
16160 49 4f 4e 5f 45 4e 54 52 59 2a 20 50 49 4d 41 47 ION_ENTRY* PIMAG
16170 45 5f 52 55 4e 54 49 4d 45 5f 46 55 4e 43 54 49 E_RUNTIME_FUNCTI
16180 4f 4e 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 ON_ENTRY;..struc
16190 74 20 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 t IMAGE_CE_RUNTI
161a0 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 ME_FUNCTION_ENTR
161b0 59 20 7b 0a 09 75 69 6e 74 20 20 20 20 20 20 46 Y {..uint F
161c0 75 6e 63 53 74 61 72 74 3b 0a 09 75 6e 69 6f 6e uncStart;..union
161d0 20 7b 0a 09 09 75 62 79 74 65 20 50 72 6f 6c 6f {...ubyte Prolo
161e0 67 4c 65 6e 3b 0a 09 09 75 69 6e 74 20 20 5f 62 gLen;...uint _b
161f0 66 3b 0a 09 7d 0a 2f 2b 0a 09 75 6e 73 69 67 6e f;..}./+..unsign
16200 65 64 20 69 6e 74 20 46 75 6e 63 4c 65 6e 3a 32 ed int FuncLen:2
16210 32 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 2;..unsigned int
16220 20 54 68 69 72 74 79 54 77 6f 42 69 74 3a 31 3b ThirtyTwoBit:1;
16230 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 45 ..unsigned int E
16240 78 63 65 70 74 69 6f 6e 46 6c 61 67 3a 31 3b 0a xceptionFlag:1;.
16250 2b 2f 0a 09 75 69 6e 74 20 46 75 6e 63 4c 65 6e +/..uint FuncLen
16260 28 29 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 () { retur
16270 6e 20 28 5f 62 66 20 3e 3e 20 38 29 20 26 20 30 n (_bf >> 8) & 0
16280 78 33 46 46 46 46 46 3b 20 7d 0a 09 62 6f 6f 6c x3FFFFF; }..bool
16290 20 54 68 69 72 74 79 54 77 6f 42 69 74 28 29 20 ThirtyTwoBit()
162a0 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 { return cast(b
162b0 6f 6f 6c 29 28 5f 62 66 20 26 20 30 78 34 30 30 ool)(_bf & 0x400
162c0 30 30 30 30 30 29 3b 20 7d 0a 09 62 6f 6f 6c 20 00000); }..bool
162d0 45 78 63 65 70 74 69 6f 6e 46 6c 61 67 28 29 20 ExceptionFlag()
162e0 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f { return cast(bo
162f0 6f 6c 29 28 5f 62 66 20 26 20 30 78 38 30 30 30 ol)(_bf & 0x8000
16300 30 30 30 30 29 3b 20 7d 0a 0a 09 75 69 6e 74 20 0000); }...uint
16310 46 75 6e 63 4c 65 6e 28 75 69 6e 74 20 66 29 20 FuncLen(uint f)
16320 7b 0a 09 09 5f 62 66 20 3d 20 28 5f 62 66 20 26 {..._bf = (_bf &
16330 20 7e 30 78 33 46 46 46 46 46 30 30 29 20 7c 20 ~0x3FFFFF00) |
16340 28 28 66 20 26 20 30 78 33 46 46 46 46 46 29 20 ((f & 0x3FFFFF)
16350 3c 3c 20 38 29 3b 20 72 65 74 75 72 6e 20 66 20 << 8); return f
16360 26 20 30 78 33 46 46 46 46 46 3b 0a 09 7d 0a 0a & 0x3FFFFF;..}..
16370 09 62 6f 6f 6c 20 54 68 69 72 74 79 54 77 6f 42 .bool ThirtyTwoB
16380 69 74 28 62 6f 6f 6c 20 74 29 20 7b 0a 09 09 5f it(bool t) {..._
16390 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 30 78 34 bf = (_bf & ~0x4
163a0 30 30 30 30 30 30 30 29 20 7c 20 28 74 20 3c 3c 0000000) | (t <<
163b0 20 33 30 29 3b 20 72 65 74 75 72 6e 20 74 3b 0a 30); return t;.
163c0 09 7d 0a 0a 09 62 6f 6f 6c 20 45 78 63 65 70 74 .}...bool Except
163d0 69 6f 6e 46 6c 61 67 28 62 6f 6f 6c 20 65 29 20 ionFlag(bool e)
163e0 7b 0a 09 09 5f 62 66 20 3d 20 28 5f 62 66 20 26 {..._bf = (_bf &
163f0 20 7e 30 78 38 30 30 30 30 30 30 30 29 20 7c 20 ~0x80000000) |
16400 28 65 20 3c 3c 20 33 31 29 3b 20 72 65 74 75 72 (e << 31); retur
16410 6e 20 65 3b 0a 09 7d 0a 7d 0a 61 6c 69 61 73 20 n e;..}.}.alias
16420 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 4d 45 IMAGE_CE_RUNTIME
16430 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 2a _FUNCTION_ENTRY*
16440 20 50 49 4d 41 47 45 5f 43 45 5f 52 55 4e 54 49 PIMAGE_CE_RUNTI
16450 4d 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 ME_FUNCTION_ENTR
16460 59 3b 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 Y;..struct IMAGE
16470 5f 44 45 42 55 47 5f 44 49 52 45 43 54 4f 52 59 _DEBUG_DIRECTORY
16480 20 7b 0a 09 44 57 4f 52 44 20 43 68 61 72 61 63 {..DWORD Charac
16490 74 65 72 69 73 74 69 63 73 3b 0a 09 44 57 4f 52 teristics;..DWOR
164a0 44 20 54 69 6d 65 44 61 74 65 53 74 61 6d 70 3b D TimeDateStamp;
164b0 0a 09 57 4f 52 44 20 20 4d 61 6a 6f 72 56 65 72 ..WORD MajorVer
164c0 73 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 4d 69 6e sion;..WORD Min
164d0 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 orVersion;..DWOR
164e0 44 20 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 53 D Type;..DWORD S
164f0 69 7a 65 4f 66 44 61 74 61 3b 0a 09 44 57 4f 52 izeOfData;..DWOR
16500 44 20 41 64 64 72 65 73 73 4f 66 52 61 77 44 61 D AddressOfRawDa
16510 74 61 3b 0a 09 44 57 4f 52 44 20 50 6f 69 6e 74 ta;..DWORD Point
16520 65 72 54 6f 52 61 77 44 61 74 61 3b 0a 7d 0a 61 erToRawData;.}.a
16530 6c 69 61 73 20 49 4d 41 47 45 5f 44 45 42 55 47 lias IMAGE_DEBUG
16540 5f 44 49 52 45 43 54 4f 52 59 2a 20 50 49 4d 41 _DIRECTORY* PIMA
16550 47 45 5f 44 45 42 55 47 5f 44 49 52 45 43 54 4f GE_DEBUG_DIRECTO
16560 52 59 3b 0a 0a 73 74 72 75 63 74 20 46 50 4f 5f RY;..struct FPO_
16570 44 41 54 41 20 7b 0a 09 44 57 4f 52 44 20 20 75 DATA {..DWORD u
16580 6c 4f 66 66 53 74 61 72 74 3b 0a 09 44 57 4f 52 lOffStart;..DWOR
16590 44 20 20 63 62 50 72 6f 63 53 69 7a 65 3b 0a 09 D cbProcSize;..
165a0 44 57 4f 52 44 20 20 63 64 77 4c 6f 63 61 6c 73 DWORD cdwLocals
165b0 3b 0a 09 57 4f 52 44 20 20 20 63 64 77 50 61 72 ;..WORD cdwPar
165c0 61 6d 73 3b 0a 09 75 62 79 74 65 20 20 63 62 50 ams;..ubyte cbP
165d0 72 6f 6c 6f 67 3b 0a 09 75 62 79 74 65 20 20 5f rolog;..ubyte _
165e0 62 66 3b 0a 2f 2b 0a 09 57 4f 52 44 20 63 62 52 bf;./+..WORD cbR
165f0 65 67 73 3a 33 3b 0a 09 57 4f 52 44 20 66 48 61 egs:3;..WORD fHa
16600 73 53 45 48 3a 31 3b 0a 09 57 4f 52 44 20 66 55 sSEH:1;..WORD fU
16610 73 65 42 50 3a 31 3b 0a 09 57 4f 52 44 20 72 65 seBP:1;..WORD re
16620 73 65 72 76 65 64 3a 31 3b 0a 09 57 4f 52 44 20 served:1;..WORD
16630 63 62 46 72 61 6d 65 3a 32 3b 0a 2b 2f 0a 09 75 cbFrame:2;.+/..u
16640 62 79 74 65 20 63 62 52 65 67 73 28 29 20 20 7b byte cbRegs() {
16650 20 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 79 return cast(uby
16660 74 65 29 28 5f 62 66 20 26 20 30 78 30 37 29 3b te)(_bf & 0x07);
16670 20 7d 0a 09 62 6f 6f 6c 20 66 48 61 73 53 45 48 }..bool fHasSEH
16680 28 29 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 () { return cas
16690 74 28 62 6f 6f 6c 29 28 5f 62 66 20 26 20 30 78 t(bool)(_bf & 0x
166a0 30 38 29 3b 20 7d 0a 09 62 6f 6f 6c 20 66 55 73 08); }..bool fUs
166b0 65 42 50 28 29 20 20 20 7b 20 72 65 74 75 72 6e eBP() { return
166c0 20 63 61 73 74 28 62 6f 6f 6c 29 28 5f 62 66 20 cast(bool)(_bf
166d0 26 20 30 78 31 30 29 3b 20 7d 0a 09 62 6f 6f 6c & 0x10); }..bool
166e0 20 72 65 73 65 72 76 65 64 28 29 20 7b 20 72 65 reserved() { re
166f0 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 28 turn cast(bool)(
16700 5f 62 66 20 26 20 30 78 32 30 29 3b 20 7d 0a 09 _bf & 0x20); }..
16710 75 62 79 74 65 20 63 62 46 72 61 6d 65 28 29 20 ubyte cbFrame()
16720 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 { return cast(ub
16730 79 74 65 29 28 5f 62 66 20 3e 3e 20 36 29 3b 20 yte)(_bf >> 6);
16740 7d 0a 0a 09 75 62 79 74 65 20 63 62 52 65 67 73 }...ubyte cbRegs
16750 28 75 62 79 74 65 20 63 29 20 7b 0a 09 09 5f 62 (ubyte c) {..._b
16760 66 20 3d 20 63 61 73 74 28 75 62 79 74 65 29 20 f = cast(ubyte)
16770 28 28 5f 62 66 20 26 20 7e 30 78 30 37 29 20 7c ((_bf & ~0x07) |
16780 20 28 63 20 26 20 30 78 30 37 29 29 3b 0a 09 09 (c & 0x07));...
16790 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 79 74 return cast(ubyt
167a0 65 29 28 63 20 26 20 30 78 30 37 29 3b 0a 09 7d e)(c & 0x07);..}
167b0 0a 0a 09 62 6f 6f 6c 20 66 48 61 73 53 45 48 28 ...bool fHasSEH(
167c0 62 6f 6f 6c 20 66 29 20 20 7b 20 5f 62 66 20 3d bool f) { _bf =
167d0 20 63 61 73 74 28 75 62 79 74 65 29 28 28 5f 62 cast(ubyte)((_b
167e0 66 20 26 20 7e 30 78 30 38 29 20 7c 20 28 66 20 f & ~0x08) | (f
167f0 3c 3c 20 33 29 29 3b 20 72 65 74 75 72 6e 20 66 << 3)); return f
16800 3b 20 7d 0a 09 62 6f 6f 6c 20 66 55 73 65 42 50 ; }..bool fUseBP
16810 28 62 6f 6f 6c 20 66 29 20 20 20 7b 20 5f 62 66 (bool f) { _bf
16820 20 3d 20 63 61 73 74 28 75 62 79 74 65 29 28 28 = cast(ubyte)((
16830 5f 62 66 20 26 20 7e 30 78 31 30 29 20 7c 20 28 _bf & ~0x10) | (
16840 66 20 3c 3c 20 34 29 29 3b 20 72 65 74 75 72 6e f << 4)); return
16850 20 66 3b 20 7d 0a 09 62 6f 6f 6c 20 72 65 73 65 f; }..bool rese
16860 72 76 65 64 28 62 6f 6f 6c 20 72 29 20 7b 20 5f rved(bool r) { _
16870 62 66 20 3d 20 63 61 73 74 28 75 62 79 74 65 29 bf = cast(ubyte)
16880 28 28 5f 62 66 20 26 20 7e 30 78 32 30 29 20 7c ((_bf & ~0x20) |
16890 20 28 72 20 3c 3c 20 35 29 29 3b 20 72 65 74 75 (r << 5)); retu
168a0 72 6e 20 72 3b 20 7d 0a 0a 09 75 62 79 74 65 20 rn r; }...ubyte
168b0 63 62 46 72 61 6d 65 28 75 62 79 74 65 20 63 29 cbFrame(ubyte c)
168c0 20 7b 0a 09 09 5f 62 66 20 3d 20 63 61 73 74 28 {..._bf = cast(
168d0 75 62 79 74 65 29 20 28 28 5f 62 66 20 26 20 7e ubyte) ((_bf & ~
168e0 30 78 43 30 29 20 7c 20 28 28 63 20 26 20 30 78 0xC0) | ((c & 0x
168f0 30 33 29 20 3c 3c 20 36 29 29 3b 0a 09 09 72 65 03) << 6));...re
16900 74 75 72 6e 20 63 61 73 74 28 75 62 79 74 65 29 turn cast(ubyte)
16910 28 63 20 26 20 30 78 30 33 29 3b 0a 09 7d 0a 7d (c & 0x03);..}.}
16920 0a 61 6c 69 61 73 20 46 50 4f 5f 44 41 54 41 2a .alias FPO_DATA*
16930 20 50 46 50 4f 5f 44 41 54 41 3b 0a 0a 73 74 72 PFPO_DATA;..str
16940 75 63 74 20 49 4d 41 47 45 5f 44 45 42 55 47 5f uct IMAGE_DEBUG_
16950 4d 49 53 43 20 7b 0a 09 44 57 4f 52 44 20 20 20 MISC {..DWORD
16960 44 61 74 61 54 79 70 65 3b 0a 09 44 57 4f 52 44 DataType;..DWORD
16970 20 20 20 4c 65 6e 67 74 68 3b 0a 09 42 4f 4f 4c Length;..BOOL
16980 45 41 4e 20 55 6e 69 63 6f 64 65 3b 0a 09 42 59 EAN Unicode;..BY
16990 54 45 5b 33 5d 20 52 65 73 65 72 76 65 64 3b 0a TE[3] Reserved;.
169a0 09 42 59 54 45 20 20 20 20 5f 44 61 74 61 3b 0a .BYTE _Data;.
169b0 0a 09 42 59 54 45 2a 20 20 20 44 61 74 61 28 29 ..BYTE* Data()
169c0 20 7b 20 72 65 74 75 72 6e 20 26 5f 44 61 74 61 { return &_Data
169d0 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 ; }.}.alias IMAG
169e0 45 5f 44 45 42 55 47 5f 4d 49 53 43 2a 20 50 49 E_DEBUG_MISC* PI
169f0 4d 41 47 45 5f 44 45 42 55 47 5f 4d 49 53 43 3b MAGE_DEBUG_MISC;
16a00 0a 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f 46 ..struct IMAGE_F
16a10 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 20 7b 0a UNCTION_ENTRY {.
16a20 09 44 57 4f 52 44 20 53 74 61 72 74 69 6e 67 41 .DWORD StartingA
16a30 64 64 72 65 73 73 3b 0a 09 44 57 4f 52 44 20 45 ddress;..DWORD E
16a40 6e 64 69 6e 67 41 64 64 72 65 73 73 3b 0a 09 44 ndingAddress;..D
16a50 57 4f 52 44 20 45 6e 64 4f 66 50 72 6f 6c 6f 67 WORD EndOfProlog
16a60 75 65 3b 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 ue;.}.alias IMAG
16a70 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e 54 52 59 E_FUNCTION_ENTRY
16a80 2a 20 50 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f * PIMAGE_FUNCTIO
16a90 4e 5f 45 4e 54 52 59 3b 0a 0a 73 74 72 75 63 74 N_ENTRY;..struct
16aa0 20 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e 5f IMAGE_FUNCTION_
16ab0 45 4e 54 52 59 36 34 20 7b 0a 09 55 4c 4f 4e 47 ENTRY64 {..ULONG
16ac0 4c 4f 4e 47 20 20 20 20 20 53 74 61 72 74 69 6e LONG Startin
16ad0 67 41 64 64 72 65 73 73 3b 0a 09 55 4c 4f 4e 47 gAddress;..ULONG
16ae0 4c 4f 4e 47 20 20 20 20 20 45 6e 64 69 6e 67 41 LONG EndingA
16af0 64 64 72 65 73 73 3b 0a 09 75 6e 69 6f 6e 20 7b ddress;..union {
16b00 0a 09 09 55 4c 4f 4e 47 4c 4f 4e 47 20 45 6e 64 ...ULONGLONG End
16b10 4f 66 50 72 6f 6c 6f 67 75 65 3b 0a 09 09 55 4c OfPrologue;...UL
16b20 4f 4e 47 4c 4f 4e 47 20 55 6e 77 69 6e 64 49 6e ONGLONG UnwindIn
16b30 66 6f 41 64 64 72 65 73 73 3b 0a 09 7d 0a 7d 0a foAddress;..}.}.
16b40 61 6c 69 61 73 20 49 4d 41 47 45 5f 46 55 4e 43 alias IMAGE_FUNC
16b50 54 49 4f 4e 5f 45 4e 54 52 59 36 34 2a 20 50 49 TION_ENTRY64* PI
16b60 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e 5f 45 4e MAGE_FUNCTION_EN
16b70 54 52 59 36 34 3b 0a 0a 73 74 72 75 63 74 20 49 TRY64;..struct I
16b80 4d 41 47 45 5f 53 45 50 41 52 41 54 45 5f 44 45 MAGE_SEPARATE_DE
16b90 42 55 47 5f 48 45 41 44 45 52 20 7b 0a 09 57 4f BUG_HEADER {..WO
16ba0 52 44 20 20 20 20 20 53 69 67 6e 61 74 75 72 65 RD Signature
16bb0 3b 0a 09 57 4f 52 44 20 20 20 20 20 46 6c 61 67 ;..WORD Flag
16bc0 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 4d 61 63 s;..WORD Mac
16bd0 68 69 6e 65 3b 0a 09 57 4f 52 44 20 20 20 20 20 hine;..WORD
16be0 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3b Characteristics;
16bf0 0a 09 44 57 4f 52 44 20 20 20 20 54 69 6d 65 44 ..DWORD TimeD
16c00 61 74 65 53 74 61 6d 70 3b 0a 09 44 57 4f 52 44 ateStamp;..DWORD
16c10 20 20 20 20 43 68 65 63 6b 53 75 6d 3b 0a 09 44 CheckSum;..D
16c20 57 4f 52 44 20 20 20 20 49 6d 61 67 65 42 61 73 WORD ImageBas
16c30 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 53 69 7a e;..DWORD Siz
16c40 65 4f 66 49 6d 61 67 65 3b 0a 09 44 57 4f 52 44 eOfImage;..DWORD
16c50 20 20 20 20 4e 75 6d 62 65 72 4f 66 53 65 63 74 NumberOfSect
16c60 69 6f 6e 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 ions;..DWORD
16c70 45 78 70 6f 72 74 65 64 4e 61 6d 65 73 53 69 7a ExportedNamesSiz
16c80 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 44 65 62 e;..DWORD Deb
16c90 75 67 44 69 72 65 63 74 6f 72 79 53 69 7a 65 3b ugDirectorySize;
16ca0 0a 09 44 57 4f 52 44 20 20 20 20 53 65 63 74 69 ..DWORD Secti
16cb0 6f 6e 41 6c 69 67 6e 6d 65 6e 74 3b 0a 09 44 57 onAlignment;..DW
16cc0 4f 52 44 5b 32 5d 20 52 65 73 65 72 76 65 64 3b ORD[2] Reserved;
16cd0 0a 7d 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 53 .}.alias IMAGE_S
16ce0 45 50 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 EPARATE_DEBUG_HE
16cf0 41 44 45 52 2a 20 50 49 4d 41 47 45 5f 53 45 50 ADER* PIMAGE_SEP
16d00 41 52 41 54 45 5f 44 45 42 55 47 5f 48 45 41 44 ARATE_DEBUG_HEAD
16d10 45 52 3b 0a 0a 65 6e 75 6d 20 53 45 52 56 49 43 ER;..enum SERVIC
16d20 45 5f 4e 4f 44 45 5f 54 59 50 45 20 7b 0a 09 44 E_NODE_TYPE {..D
16d30 72 69 76 65 72 54 79 70 65 20 20 20 20 20 20 20 riverType
16d40 20 20 20 20 20 20 20 20 3d 20 53 45 52 56 49 43 = SERVIC
16d50 45 5f 4b 45 52 4e 45 4c 5f 44 52 49 56 45 52 2c E_KERNEL_DRIVER,
16d60 0a 09 46 69 6c 65 53 79 73 74 65 6d 54 79 70 65 ..FileSystemType
16d70 20 20 20 20 20 20 20 20 20 20 20 3d 20 53 45 52 = SER
16d80 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d VICE_FILE_SYSTEM
16d90 5f 44 52 49 56 45 52 2c 0a 09 57 69 6e 33 32 53 _DRIVER,..Win32S
16da0 65 72 76 69 63 65 4f 77 6e 50 72 6f 63 65 73 73 erviceOwnProcess
16db0 20 20 20 3d 20 53 45 52 56 49 43 45 5f 57 49 4e = SERVICE_WIN
16dc0 33 32 5f 4f 57 4e 5f 50 52 4f 43 45 53 53 2c 0a 32_OWN_PROCESS,.
16dd0 09 57 69 6e 33 32 53 65 72 76 69 63 65 53 68 61 .Win32ServiceSha
16de0 72 65 50 72 6f 63 65 73 73 20 3d 20 53 45 52 56 reProcess = SERV
16df0 49 43 45 5f 57 49 4e 33 32 5f 53 48 41 52 45 5f ICE_WIN32_SHARE_
16e00 50 52 4f 43 45 53 53 2c 0a 09 41 64 61 70 74 65 PROCESS,..Adapte
16e10 72 54 79 70 65 20 20 20 20 20 20 20 20 20 20 20 rType
16e20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 41 44 41 = SERVICE_ADA
16e30 50 54 45 52 2c 0a 09 52 65 63 6f 67 6e 69 7a 65 PTER,..Recognize
16e40 72 54 79 70 65 20 20 20 20 20 20 20 20 20 20 20 rType
16e50 3d 20 53 45 52 56 49 43 45 5f 52 45 43 4f 47 4e = SERVICE_RECOGN
16e60 49 5a 45 52 5f 44 52 49 56 45 52 0a 7d 0a 0a 65 IZER_DRIVER.}..e
16e70 6e 75 6d 20 53 45 52 56 49 43 45 5f 4c 4f 41 44 num SERVICE_LOAD
16e80 5f 54 59 50 45 20 7b 0a 09 42 6f 6f 74 4c 6f 61 _TYPE {..BootLoa
16e90 64 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 42 d = SERVICE_B
16ea0 4f 4f 54 5f 53 54 41 52 54 2c 0a 09 53 79 73 74 OOT_START,..Syst
16eb0 65 6d 4c 6f 61 64 20 20 3d 20 53 45 52 56 49 43 emLoad = SERVIC
16ec0 45 5f 53 59 53 54 45 4d 5f 53 54 41 52 54 2c 0a E_SYSTEM_START,.
16ed0 09 41 75 74 6f 4c 6f 61 64 20 20 20 20 3d 20 53 .AutoLoad = S
16ee0 45 52 56 49 43 45 5f 41 55 54 4f 5f 53 54 41 52 ERVICE_AUTO_STAR
16ef0 54 2c 0a 09 44 65 6d 61 6e 64 4c 6f 61 64 20 20 T,..DemandLoad
16f00 3d 20 53 45 52 56 49 43 45 5f 44 45 4d 41 4e 44 = SERVICE_DEMAND
16f10 5f 53 54 41 52 54 2c 0a 09 44 69 73 61 62 6c 65 _START,..Disable
16f20 4c 6f 61 64 20 3d 20 53 45 52 56 49 43 45 5f 44 Load = SERVICE_D
16f30 49 53 41 42 4c 45 44 0a 7d 0a 0a 65 6e 75 6d 20 ISABLED.}..enum
16f40 53 45 52 56 49 43 45 5f 45 52 52 4f 52 5f 54 59 SERVICE_ERROR_TY
16f50 50 45 20 7b 0a 09 49 67 6e 6f 72 65 45 72 72 6f PE {..IgnoreErro
16f60 72 20 20 20 3d 20 53 45 52 56 49 43 45 5f 45 52 r = SERVICE_ER
16f70 52 4f 52 5f 49 47 4e 4f 52 45 2c 0a 09 4e 6f 72 ROR_IGNORE,..Nor
16f80 6d 61 6c 45 72 72 6f 72 20 20 20 3d 20 53 45 52 malError = SER
16f90 56 49 43 45 5f 45 52 52 4f 52 5f 4e 4f 52 4d 41 VICE_ERROR_NORMA
16fa0 4c 2c 0a 09 53 65 76 65 72 65 45 72 72 6f 72 20 L,..SevereError
16fb0 20 20 3d 20 53 45 52 56 49 43 45 5f 45 52 52 4f = SERVICE_ERRO
16fc0 52 5f 53 45 56 45 52 45 2c 0a 09 43 72 69 74 69 R_SEVERE,..Criti
16fd0 63 61 6c 45 72 72 6f 72 20 3d 20 53 45 52 56 49 calError = SERVI
16fe0 43 45 5f 45 52 52 4f 52 5f 43 52 49 54 49 43 41 CE_ERROR_CRITICA
16ff0 4c 0a 7d 0a 61 6c 69 61 73 20 53 45 52 56 49 43 L.}.alias SERVIC
17000 45 5f 45 52 52 4f 52 5f 54 59 50 45 20 5f 43 4d E_ERROR_TYPE _CM
17010 5f 45 52 52 4f 52 5f 43 4f 4e 54 52 4f 4c 5f 54 _ERROR_CONTROL_T
17020 59 50 45 3b 0a 0a 2f 2f 44 41 43 3a 20 41 63 63 YPE;..//DAC: Acc
17030 6f 72 64 69 6e 67 20 74 6f 20 4d 53 4a 2c 20 27 ording to MSJ, '
17040 55 6e 64 65 72 54 68 65 48 6f 6f 64 27 2c 20 4d UnderTheHood', M
17050 61 79 20 31 39 39 36 2c 20 74 68 69 73 0a 2f 2f ay 1996, this.//
17060 20 73 74 72 75 63 74 75 72 65 20 69 73 20 6e 6f structure is no
17070 74 20 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 t documented in
17080 61 6e 79 20 6f 66 66 69 63 69 61 6c 20 4d 69 63 any official Mic
17090 72 6f 73 6f 66 74 20 68 65 61 64 65 72 20 66 69 rosoft header fi
170a0 6c 65 2e 0a 61 6c 69 61 73 20 76 6f 69 64 20 45 le..alias void E
170b0 58 43 45 50 54 49 4f 4e 5f 52 45 47 49 53 54 52 XCEPTION_REGISTR
170c0 41 54 49 4f 4e 5f 52 45 43 4f 52 44 3b 0a 0a 61 ATION_RECORD;..a
170d0 6c 69 67 6e 3a 0a 73 74 72 75 63 74 20 4e 54 5f lign:.struct NT_
170e0 54 49 42 20 7b 0a 09 45 58 43 45 50 54 49 4f 4e TIB {..EXCEPTION
170f0 5f 52 45 47 49 53 54 52 41 54 49 4f 4e 5f 52 45 _REGISTRATION_RE
17100 43 4f 52 44 20 2a 45 78 63 65 70 74 69 6f 6e 4c CORD *ExceptionL
17110 69 73 74 3b 0a 09 50 56 4f 49 44 20 53 74 61 63 ist;..PVOID Stac
17120 6b 42 61 73 65 3b 0a 09 50 56 4f 49 44 20 53 74 kBase;..PVOID St
17130 61 63 6b 4c 69 6d 69 74 3b 0a 09 50 56 4f 49 44 ackLimit;..PVOID
17140 20 53 75 62 53 79 73 74 65 6d 54 69 62 3b 0a 09 SubSystemTib;..
17150 75 6e 69 6f 6e 20 7b 0a 09 09 50 56 4f 49 44 20 union {...PVOID
17160 46 69 62 65 72 44 61 74 61 3b 0a 09 09 44 57 4f FiberData;...DWO
17170 52 44 20 56 65 72 73 69 6f 6e 3b 0a 09 7d 0a 09 RD Version;..}..
17180 50 56 4f 49 44 20 41 72 62 69 74 72 61 72 79 55 PVOID ArbitraryU
17190 73 65 72 50 6f 69 6e 74 65 72 3b 0a 09 4e 54 5f serPointer;..NT_
171a0 54 49 42 20 2a 53 65 6c 66 3b 0a 7d 0a 61 6c 69 TIB *Self;.}.ali
171b0 61 73 20 4e 54 5f 54 49 42 2a 20 50 4e 54 5f 54 as NT_TIB* PNT_T
171c0 49 42 3b 0a 0a 73 74 72 75 63 74 20 52 45 50 41 IB;..struct REPA
171d0 52 53 45 5f 44 41 54 41 5f 42 55 46 46 45 52 20 RSE_DATA_BUFFER
171e0 7b 0a 09 44 57 4f 52 44 20 20 52 65 70 61 72 73 {..DWORD Repars
171f0 65 54 61 67 3b 0a 09 57 4f 52 44 20 20 20 52 65 eTag;..WORD Re
17200 70 61 72 73 65 44 61 74 61 4c 65 6e 67 74 68 3b parseDataLength;
17210 0a 09 57 4f 52 44 20 20 20 52 65 73 65 72 76 65 ..WORD Reserve
17220 64 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 73 74 d;..union {...st
17230 72 75 63 74 20 5f 47 65 6e 65 72 69 63 52 65 70 ruct _GenericRep
17240 61 72 73 65 42 75 66 66 65 72 20 7b 0a 09 09 09 arseBuffer {....
17250 42 59 54 45 20 20 5f 44 61 74 61 42 75 66 66 65 BYTE _DataBuffe
17260 72 3b 0a 0a 09 09 09 42 59 54 45 2a 20 44 61 74 r;.....BYTE* Dat
17270 61 42 75 66 66 65 72 28 29 20 7b 20 72 65 74 75 aBuffer() { retu
17280 72 6e 20 26 5f 44 61 74 61 42 75 66 66 65 72 3b rn &_DataBuffer;
17290 20 7d 0a 09 09 7d 0a 09 09 5f 47 65 6e 65 72 69 }...}..._Generi
172a0 63 52 65 70 61 72 73 65 42 75 66 66 65 72 20 47 cReparseBuffer G
172b0 65 6e 65 72 69 63 52 65 70 61 72 73 65 42 75 66 enericReparseBuf
172c0 66 65 72 3b 0a 09 09 73 74 72 75 63 74 20 5f 53 fer;...struct _S
172d0 79 6d 62 6f 6c 69 63 4c 69 6e 6b 52 65 70 61 72 ymbolicLinkRepar
172e0 73 65 42 75 66 66 65 72 20 7b 0a 09 09 09 57 4f seBuffer {....WO
172f0 52 44 20 20 53 75 62 73 74 69 74 75 74 65 4e 61 RD SubstituteNa
17300 6d 65 4f 66 66 73 65 74 3b 0a 09 09 09 57 4f 52 meOffset;....WOR
17310 44 20 20 53 75 62 73 74 69 74 75 74 65 4e 61 6d D SubstituteNam
17320 65 4c 65 6e 67 74 68 3b 0a 09 09 09 57 4f 52 44 eLength;....WORD
17330 20 20 50 72 69 6e 74 4e 61 6d 65 4f 66 66 73 65 PrintNameOffse
17340 74 3b 0a 09 09 09 57 4f 52 44 20 20 50 72 69 6e t;....WORD Prin
17350 74 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 09 09 tNameLength;....
17360 2f 2f 20 3f 3f 3f 20 54 68 69 73 20 69 73 20 69 // ??? This is i
17370 6e 20 4d 69 6e 47 57 2c 20 62 75 74 20 61 62 73 n MinGW, but abs
17380 65 6e 74 20 69 6e 20 4d 53 44 4e 20 64 6f 63 73 ent in MSDN docs
17390 0a 09 09 09 55 4c 4f 4e 47 20 46 6c 61 67 73 3b ....ULONG Flags;
173a0 0a 09 09 09 57 43 48 41 52 20 5f 50 61 74 68 42 ....WCHAR _PathB
173b0 75 66 66 65 72 3b 0a 0a 09 09 09 57 43 48 41 52 uffer;.....WCHAR
173c0 2a 20 50 61 74 68 42 75 66 66 65 72 28 29 20 7b * PathBuffer() {
173d0 20 72 65 74 75 72 6e 20 26 5f 50 61 74 68 42 75 return &_PathBu
173e0 66 66 65 72 3b 20 7d 0a 09 09 7d 0a 09 09 5f 53 ffer; }...}..._S
173f0 79 6d 62 6f 6c 69 63 4c 69 6e 6b 52 65 70 61 72 ymbolicLinkRepar
17400 73 65 42 75 66 66 65 72 20 53 79 6d 62 6f 6c 69 seBuffer Symboli
17410 63 4c 69 6e 6b 52 65 70 61 72 73 65 42 75 66 66 cLinkReparseBuff
17420 65 72 3b 0a 09 09 73 74 72 75 63 74 20 5f 4d 6f er;...struct _Mo
17430 75 6e 74 50 6f 69 6e 74 52 65 70 61 72 73 65 42 untPointReparseB
17440 75 66 66 65 72 20 7b 0a 09 09 09 57 4f 52 44 20 uffer {....WORD
17450 20 53 75 62 73 74 69 74 75 74 65 4e 61 6d 65 4f SubstituteNameO
17460 66 66 73 65 74 3b 0a 09 09 09 57 4f 52 44 20 20 ffset;....WORD
17470 53 75 62 73 74 69 74 75 74 65 4e 61 6d 65 4c 65 SubstituteNameLe
17480 6e 67 74 68 3b 0a 09 09 09 57 4f 52 44 20 20 50 ngth;....WORD P
17490 72 69 6e 74 4e 61 6d 65 4f 66 66 73 65 74 3b 0a rintNameOffset;.
174a0 09 09 09 57 4f 52 44 20 20 50 72 69 6e 74 4e 61 ...WORD PrintNa
174b0 6d 65 4c 65 6e 67 74 68 3b 0a 09 09 09 57 43 48 meLength;....WCH
174c0 41 52 20 5f 50 61 74 68 42 75 66 66 65 72 3b 0a AR _PathBuffer;.
174d0 0a 09 09 09 57 43 48 41 52 2a 20 50 61 74 68 42 ....WCHAR* PathB
174e0 75 66 66 65 72 28 29 20 7b 20 72 65 74 75 72 6e uffer() { return
174f0 20 26 5f 50 61 74 68 42 75 66 66 65 72 3b 20 7d &_PathBuffer; }
17500 0a 09 09 7d 0a 09 09 5f 4d 6f 75 6e 74 50 6f 69 ...}..._MountPoi
17510 6e 74 52 65 70 61 72 73 65 42 75 66 66 65 72 20 ntReparseBuffer
17520 4d 6f 75 6e 74 50 6f 69 6e 74 52 65 70 61 72 73 MountPointRepars
17530 65 42 75 66 66 65 72 3b 0a 09 7d 0a 7d 0a 61 6c eBuffer;..}.}.al
17540 69 61 73 20 52 45 50 41 52 53 45 5f 44 41 54 41 ias REPARSE_DATA
17550 5f 42 55 46 46 45 52 20 2a 50 52 45 50 41 52 53 _BUFFER *PREPARS
17560 45 5f 44 41 54 41 5f 42 55 46 46 45 52 3b 0a 0a E_DATA_BUFFER;..
17570 73 74 72 75 63 74 20 52 45 50 41 52 53 45 5f 47 struct REPARSE_G
17580 55 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52 20 UID_DATA_BUFFER
17590 7b 0a 09 44 57 4f 52 44 20 20 20 20 52 65 70 61 {..DWORD Repa
175a0 72 73 65 54 61 67 3b 0a 09 57 4f 52 44 20 20 20 rseTag;..WORD
175b0 20 20 52 65 70 61 72 73 65 44 61 74 61 4c 65 6e ReparseDataLen
175c0 67 74 68 3b 0a 09 57 4f 52 44 20 20 20 20 20 52 gth;..WORD R
175d0 65 73 65 72 76 65 64 3b 0a 09 47 55 49 44 20 20 eserved;..GUID
175e0 20 20 20 52 65 70 61 72 73 65 47 75 69 64 3b 0a ReparseGuid;.
175f0 09 73 74 72 75 63 74 20 5f 47 65 6e 65 72 69 63 .struct _Generic
17600 52 65 70 61 72 73 65 42 75 66 66 65 72 20 7b 0a ReparseBuffer {.
17610 09 09 42 59 54 45 20 5f 44 61 74 61 42 75 66 66 ..BYTE _DataBuff
17620 65 72 3b 0a 0a 09 09 42 59 54 45 2a 20 44 61 74 er;....BYTE* Dat
17630 61 42 75 66 66 65 72 28 29 20 7b 20 72 65 74 75 aBuffer() { retu
17640 72 6e 20 26 5f 44 61 74 61 42 75 66 66 65 72 3b rn &_DataBuffer;
17650 20 7d 0a 09 7d 0a 09 5f 47 65 6e 65 72 69 63 52 }..}.._GenericR
17660 65 70 61 72 73 65 42 75 66 66 65 72 20 47 65 6e eparseBuffer Gen
17670 65 72 69 63 52 65 70 61 72 73 65 42 75 66 66 65 ericReparseBuffe
17680 72 3b 0a 7d 0a 61 6c 69 61 73 20 52 45 50 41 52 r;.}.alias REPAR
17690 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 46 SE_GUID_DATA_BUF
176a0 46 45 52 2a 20 50 52 45 50 41 52 53 45 5f 47 55 FER* PREPARSE_GU
176b0 49 44 5f 44 41 54 41 5f 42 55 46 46 45 52 3b 0a ID_DATA_BUFFER;.
176c0 0a 63 6f 6e 73 74 20 73 69 7a 65 5f 74 0a 09 52 .const size_t..R
176d0 45 50 41 52 53 45 5f 44 41 54 41 5f 42 55 46 46 EPARSE_DATA_BUFF
176e0 45 52 5f 48 45 41 44 45 52 5f 53 49 5a 45 20 3d ER_HEADER_SIZE =
176f0 20 52 45 50 41 52 53 45 5f 44 41 54 41 5f 42 55 REPARSE_DATA_BU
17700 46 46 45 52 2e 47 65 6e 65 72 69 63 52 65 70 61 FFER.GenericRepa
17710 72 73 65 42 75 66 66 65 72 2e 6f 66 66 73 65 74 rseBuffer.offset
17720 6f 66 2c 0a 09 52 45 50 41 52 53 45 5f 47 55 49 of,..REPARSE_GUI
17730 44 5f 44 41 54 41 5f 42 55 46 46 45 52 5f 48 45 D_DATA_BUFFER_HE
17740 41 44 45 52 5f 53 49 5a 45 20 3d 20 52 45 50 41 ADER_SIZE = REPA
17750 52 53 45 5f 47 55 49 44 5f 44 41 54 41 5f 42 55 RSE_GUID_DATA_BU
17760 46 46 45 52 2e 47 65 6e 65 72 69 63 52 65 70 61 FFER.GenericRepa
17770 72 73 65 42 75 66 66 65 72 2e 6f 66 66 73 65 74 rseBuffer.offset
17780 6f 66 2c 0a 09 4d 41 58 49 4d 55 4d 5f 52 45 50 of,..MAXIMUM_REP
17790 41 52 53 45 5f 44 41 54 41 5f 42 55 46 46 45 52 ARSE_DATA_BUFFER
177a0 5f 53 49 5a 45 20 3d 20 31 36 33 38 34 3b 0a 0a _SIZE = 16384;..
177b0 0a 73 74 72 75 63 74 20 52 45 50 41 52 53 45 5f .struct REPARSE_
177c0 50 4f 49 4e 54 5f 49 4e 46 4f 52 4d 41 54 49 4f POINT_INFORMATIO
177d0 4e 20 7b 0a 09 57 4f 52 44 20 52 65 70 61 72 73 N {..WORD Repars
177e0 65 44 61 74 61 4c 65 6e 67 74 68 3b 0a 09 57 4f eDataLength;..WO
177f0 52 44 20 55 6e 70 61 72 73 65 64 4e 61 6d 65 4c RD UnparsedNameL
17800 65 6e 67 74 68 3b 0a 7d 0a 61 6c 69 61 73 20 52 ength;.}.alias R
17810 45 50 41 52 53 45 5f 50 4f 49 4e 54 5f 49 4e 46 EPARSE_POINT_INF
17820 4f 52 4d 41 54 49 4f 4e 2a 20 50 52 45 50 41 52 ORMATION* PREPAR
17830 53 45 5f 50 4f 49 4e 54 5f 49 4e 46 4f 52 4d 41 SE_POINT_INFORMA
17840 54 49 4f 4e 3b 0a 0a 75 6e 69 6f 6e 20 46 49 4c TION;..union FIL
17850 45 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e E_SEGMENT_ELEMEN
17860 54 20 7b 0a 09 50 56 4f 49 44 36 34 20 20 20 42 T {..PVOID64 B
17870 75 66 66 65 72 3b 0a 09 55 4c 4f 4e 47 4c 4f 4e uffer;..ULONGLON
17880 47 20 41 6c 69 67 6e 6d 65 6e 74 3b 0a 7d 0a 61 G Alignment;.}.a
17890 6c 69 61 73 20 46 49 4c 45 5f 53 45 47 4d 45 4e lias FILE_SEGMEN
178a0 54 5f 45 4c 45 4d 45 4e 54 2a 20 50 46 49 4c 45 T_ELEMENT* PFILE
178b0 5f 53 45 47 4d 45 4e 54 5f 45 4c 45 4d 45 4e 54 _SEGMENT_ELEMENT
178c0 3b 0a 0a 2f 2f 20 4a 4f 42 4f 42 4a 45 43 54 5f ;..// JOBOBJECT_
178d0 42 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f BASIC_LIMIT_INFO
178e0 52 4d 41 54 49 4f 4e 2e 4c 69 6d 69 74 46 6c 61 RMATION.LimitFla
178f0 67 73 20 63 6f 6e 73 74 61 6e 74 73 0a 63 6f 6e gs constants.con
17900 73 74 20 44 57 4f 52 44 0a 09 4a 4f 42 5f 4f 42 st DWORD..JOB_OB
17910 4a 45 43 54 5f 4c 49 4d 49 54 5f 57 4f 52 4b 49 JECT_LIMIT_WORKI
17920 4e 47 53 45 54 20 20 20 20 20 20 20 20 20 20 20 NGSET
17930 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c 0a = 0x0001,.
17940 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 .JOB_OBJECT_LIMI
17950 54 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45 20 20 T_PROCESS_TIME
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 = 0
17970 78 30 30 30 32 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 x0002,..JOB_OBJE
17980 43 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 54 49 4d CT_LIMIT_JOB_TIM
17990 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
179a0 20 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 4a = 0x0004,..J
179b0 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f OB_OBJECT_LIMIT_
179c0 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53 20 20 ACTIVE_PROCESS
179d0 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
179e0 30 30 38 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 008,..JOB_OBJECT
179f0 5f 4c 49 4d 49 54 5f 41 46 46 49 4e 49 54 59 20 _LIMIT_AFFINITY
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a10 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4a 4f 42 = 0x0010,..JOB
17a20 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 50 52 _OBJECT_LIMIT_PR
17a30 49 4f 52 49 54 59 5f 43 4c 41 53 53 20 20 20 20 IORITY_CLASS
17a40 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 32 = 0x002
17a50 30 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 0,..JOB_OBJECT_L
17a60 49 4d 49 54 5f 50 52 45 53 45 52 56 45 5f 4a 4f IMIT_PRESERVE_JO
17a70 42 5f 54 49 4d 45 20 20 20 20 20 20 20 20 20 20 B_TIME
17a80 3d 20 30 78 30 30 34 30 2c 0a 09 4a 4f 42 5f 4f = 0x0040,..JOB_O
17a90 42 4a 45 43 54 5f 4c 49 4d 49 54 5f 53 43 48 45 BJECT_LIMIT_SCHE
17aa0 44 55 4c 49 4e 47 5f 43 4c 41 53 53 20 20 20 20 DULING_CLASS
17ab0 20 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 2c = 0x0080,
17ac0 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d ..JOB_OBJECT_LIM
17ad0 49 54 5f 50 52 4f 43 45 53 53 5f 4d 45 4d 4f 52 IT_PROCESS_MEMOR
17ae0 59 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 Y =
17af0 30 78 30 31 30 30 2c 0a 09 4a 4f 42 5f 4f 42 4a 0x0100,..JOB_OBJ
17b00 45 43 54 5f 4c 49 4d 49 54 5f 4a 4f 42 5f 4d 45 ECT_LIMIT_JOB_ME
17b10 4d 4f 52 59 20 20 20 20 20 20 20 20 20 20 20 20 MORY
17b20 20 20 20 20 20 3d 20 30 78 30 32 30 30 2c 0a 09 = 0x0200,..
17b30 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4c 49 4d 49 54 JOB_OBJECT_LIMIT
17b40 5f 44 49 45 5f 4f 4e 5f 55 4e 48 41 4e 44 4c 45 _DIE_ON_UNHANDLE
17b50 44 5f 45 58 43 45 50 54 49 4f 4e 20 3d 20 30 78 D_EXCEPTION = 0x
17b60 30 34 30 30 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 0400,..JOB_OBJEC
17b70 54 5f 42 52 45 41 4b 41 57 41 59 5f 4f 4b 20 20 T_BREAKAWAY_OK
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b90 20 20 20 3d 20 30 78 30 38 30 30 2c 0a 09 4a 4f = 0x0800,..JO
17ba0 42 5f 4f 42 4a 45 43 54 5f 53 49 4c 45 4e 54 5f B_OBJECT_SILENT_
17bb0 42 52 45 41 4b 41 57 41 59 20 20 20 20 20 20 20 BREAKAWAY
17bc0 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 = 0x10
17bd0 30 30 3b 0a 0a 2f 2f 20 4a 4f 42 4f 42 4a 45 43 00;..// JOBOBJEC
17be0 54 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 T_BASIC_UI_RESTR
17bf0 49 43 54 49 4f 4e 53 2e 55 49 52 65 73 74 72 69 ICTIONS.UIRestri
17c00 63 74 69 6f 6e 73 43 6c 61 73 73 20 63 6f 6e 73 ctionsClass cons
17c10 74 61 6e 74 73 0a 63 6f 6e 73 74 20 44 57 4f 52 tants.const DWOR
17c20 44 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 D..JOB_OBJECT_UI
17c30 4c 49 4d 49 54 5f 48 41 4e 44 4c 45 53 20 20 20 LIMIT_HANDLES
17c40 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 2c = 0x0001,
17c50 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c ..JOB_OBJECT_UIL
17c60 49 4d 49 54 5f 52 45 41 44 43 4c 49 50 42 4f 41 IMIT_READCLIPBOA
17c70 52 44 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a RD = 0x0002,.
17c80 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 .JOB_OBJECT_UILI
17c90 4d 49 54 5f 57 52 49 54 45 43 4c 49 50 42 4f 41 MIT_WRITECLIPBOA
17ca0 52 44 20 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 RD = 0x0004,..
17cb0 4a 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d JOB_OBJECT_UILIM
17cc0 49 54 5f 53 59 53 54 45 4d 50 41 52 41 4d 45 54 IT_SYSTEMPARAMET
17cd0 45 52 53 20 3d 20 30 78 30 30 30 38 2c 0a 09 4a ERS = 0x0008,..J
17ce0 4f 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 OB_OBJECT_UILIMI
17cf0 54 5f 44 49 53 50 4c 41 59 53 45 54 54 49 4e 47 T_DISPLAYSETTING
17d00 53 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 4a 4f S = 0x0010,..JO
17d10 42 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54 B_OBJECT_UILIMIT
17d20 5f 47 4c 4f 42 41 4c 41 54 4f 4d 53 20 20 20 20 _GLOBALATOMS
17d30 20 20 3d 20 30 78 30 30 32 30 2c 0a 09 4a 4f 42 = 0x0020,..JOB
17d40 5f 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f _OBJECT_UILIMIT_
17d50 44 45 53 4b 54 4f 50 20 20 20 20 20 20 20 20 20 DESKTOP
17d60 20 3d 20 30 78 30 30 34 30 2c 0a 09 4a 4f 42 5f = 0x0040,..JOB_
17d70 4f 42 4a 45 43 54 5f 55 49 4c 49 4d 49 54 5f 45 OBJECT_UILIMIT_E
17d80 58 49 54 57 49 4e 44 4f 57 53 20 20 20 20 20 20 XITWINDOWS
17d90 3d 20 30 78 30 30 38 30 3b 0a 0a 2f 2f 20 4a 4f = 0x0080;..// JO
17da0 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 BOBJECT_SECURITY
17db0 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 _LIMIT_INFORMATI
17dc0 4f 4e 2e 53 65 63 75 72 69 74 79 4c 69 6d 69 74 ON.SecurityLimit
17dd0 46 6c 61 67 73 20 63 6f 6e 73 74 61 6e 74 73 0a Flags constants.
17de0 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 4a 4f 42 const DWORD..JOB
17df0 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 _OBJECT_SECURITY
17e00 5f 4e 4f 5f 41 44 4d 49 4e 20 20 20 20 20 20 20 _NO_ADMIN
17e10 20 20 3d 20 30 78 30 30 30 31 2c 0a 09 4a 4f 42 = 0x0001,..JOB
17e20 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 _OBJECT_SECURITY
17e30 5f 52 45 53 54 52 49 43 54 45 44 5f 54 4f 4b 45 _RESTRICTED_TOKE
17e40 4e 20 3d 20 30 78 30 30 30 32 2c 0a 09 4a 4f 42 N = 0x0002,..JOB
17e50 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 _OBJECT_SECURITY
17e60 5f 4f 4e 4c 59 5f 54 4f 4b 45 4e 20 20 20 20 20 _ONLY_TOKEN
17e70 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 4a 4f 42 = 0x0004,..JOB
17e80 5f 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 59 _OBJECT_SECURITY
17e90 5f 46 49 4c 54 45 52 5f 54 4f 4b 45 4e 53 20 20 _FILTER_TOKENS
17ea0 20 20 3d 20 30 78 30 30 30 38 3b 0a 0a 2f 2f 20 = 0x0008;..//
17eb0 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46 JOBOBJECT_END_OF
17ec0 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d _JOB_TIME_INFORM
17ed0 41 54 49 4f 4e 2e 45 6e 64 4f 66 4a 6f 62 54 69 ATION.EndOfJobTi
17ee0 6d 65 41 63 74 69 6f 6e 20 63 6f 6e 73 74 61 6e meAction constan
17ef0 74 73 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 ts.enum : DWORD
17f00 7b 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 54 45 {..JOB_OBJECT_TE
17f10 52 4d 49 4e 41 54 45 5f 41 54 5f 45 4e 44 5f 4f RMINATE_AT_END_O
17f20 46 5f 4a 4f 42 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 F_JOB,..JOB_OBJE
17f30 43 54 5f 50 4f 53 54 5f 41 54 5f 45 4e 44 5f 4f CT_POST_AT_END_O
17f40 46 5f 4a 4f 42 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 F_JOB.}..enum :
17f50 44 57 4f 52 44 20 7b 0a 09 4a 4f 42 5f 4f 42 4a DWORD {..JOB_OBJ
17f60 45 43 54 5f 4d 53 47 5f 45 4e 44 5f 4f 46 5f 4a ECT_MSG_END_OF_J
17f70 4f 42 5f 54 49 4d 45 20 3d 20 31 2c 0a 09 4a 4f OB_TIME = 1,..JO
17f80 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 45 4e 44 B_OBJECT_MSG_END
17f90 5f 4f 46 5f 50 52 4f 43 45 53 53 5f 54 49 4d 45 _OF_PROCESS_TIME
17fa0 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 ,..JOB_OBJECT_MS
17fb0 47 5f 41 43 54 49 56 45 5f 50 52 4f 43 45 53 53 G_ACTIVE_PROCESS
17fc0 5f 4c 49 4d 49 54 2c 0a 09 4a 4f 42 5f 4f 42 4a _LIMIT,..JOB_OBJ
17fd0 45 43 54 5f 4d 53 47 5f 41 43 54 49 56 45 5f 50 ECT_MSG_ACTIVE_P
17fe0 52 4f 43 45 53 53 5f 5a 45 52 4f 2c 0a 09 4a 4f ROCESS_ZERO,..JO
17ff0 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 4e 45 57 B_OBJECT_MSG_NEW
18000 5f 50 52 4f 43 45 53 53 2c 0a 09 4a 4f 42 5f 4f _PROCESS,..JOB_O
18010 42 4a 45 43 54 5f 4d 53 47 5f 45 58 49 54 5f 50 BJECT_MSG_EXIT_P
18020 52 4f 43 45 53 53 2c 0a 09 4a 4f 42 5f 4f 42 4a ROCESS,..JOB_OBJ
18030 45 43 54 5f 4d 53 47 5f 41 42 4e 4f 52 4d 41 4c ECT_MSG_ABNORMAL
18040 5f 45 58 49 54 5f 50 52 4f 43 45 53 53 2c 0a 09 _EXIT_PROCESS,..
18050 4a 4f 42 5f 4f 42 4a 45 43 54 5f 4d 53 47 5f 50 JOB_OBJECT_MSG_P
18060 52 4f 43 45 53 53 5f 4d 45 4d 4f 52 59 5f 4c 49 ROCESS_MEMORY_LI
18070 4d 49 54 2c 0a 09 4a 4f 42 5f 4f 42 4a 45 43 54 MIT,..JOB_OBJECT
18080 5f 4d 53 47 5f 4a 4f 42 5f 4d 45 4d 4f 52 59 5f _MSG_JOB_MEMORY_
18090 4c 49 4d 49 54 0a 7d 0a 0a 65 6e 75 6d 20 4a 4f LIMIT.}..enum JO
180a0 42 4f 42 4a 45 43 54 49 4e 46 4f 43 4c 41 53 53 BOBJECTINFOCLASS
180b0 20 7b 0a 09 4a 6f 62 4f 62 6a 65 63 74 42 61 73 {..JobObjectBas
180c0 69 63 41 63 63 6f 75 6e 74 69 6e 67 49 6e 66 6f icAccountingInfo
180d0 72 6d 61 74 69 6f 6e 20 3d 20 31 2c 0a 09 4a 6f rmation = 1,..Jo
180e0 62 4f 62 6a 65 63 74 42 61 73 69 63 4c 69 6d 69 bObjectBasicLimi
180f0 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4a tInformation,..J
18100 6f 62 4f 62 6a 65 63 74 42 61 73 69 63 50 72 6f obObjectBasicPro
18110 63 65 73 73 49 64 4c 69 73 74 2c 0a 09 4a 6f 62 cessIdList,..Job
18120 4f 62 6a 65 63 74 42 61 73 69 63 55 49 52 65 73 ObjectBasicUIRes
18130 74 72 69 63 74 69 6f 6e 73 2c 0a 09 4a 6f 62 4f trictions,..JobO
18140 62 6a 65 63 74 53 65 63 75 72 69 74 79 4c 69 6d bjectSecurityLim
18150 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 itInformation,..
18160 4a 6f 62 4f 62 6a 65 63 74 45 6e 64 4f 66 4a 6f JobObjectEndOfJo
18170 62 54 69 6d 65 49 6e 66 6f 72 6d 61 74 69 6f 6e bTimeInformation
18180 2c 0a 09 4a 6f 62 4f 62 6a 65 63 74 41 73 73 6f ,..JobObjectAsso
18190 63 69 61 74 65 43 6f 6d 70 6c 65 74 69 6f 6e 50 ciateCompletionP
181a0 6f 72 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a ortInformation,.
181b0 09 4a 6f 62 4f 62 6a 65 63 74 42 61 73 69 63 41 .JobObjectBasicA
181c0 6e 64 49 6f 41 63 63 6f 75 6e 74 69 6e 67 49 6e ndIoAccountingIn
181d0 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4a 6f 62 4f formation,..JobO
181e0 62 6a 65 63 74 45 78 74 65 6e 64 65 64 4c 69 6d bjectExtendedLim
181f0 69 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 itInformation,..
18200 4a 6f 62 4f 62 6a 65 63 74 4a 6f 62 53 65 74 49 JobObjectJobSetI
18210 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4d 61 78 nformation,..Max
18220 4a 6f 62 4f 62 6a 65 63 74 49 6e 66 6f 43 6c 61 JobObjectInfoCla
18230 73 73 0a 7d 0a 0a 73 74 72 75 63 74 20 4a 4f 42 ss.}..struct JOB
18240 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 41 43 43 OBJECT_BASIC_ACC
18250 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 OUNTING_INFORMAT
18260 49 4f 4e 20 7b 0a 09 4c 41 52 47 45 5f 49 4e 54 ION {..LARGE_INT
18270 45 47 45 52 20 54 6f 74 61 6c 55 73 65 72 54 69 EGER TotalUserTi
18280 6d 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 me;..LARGE_INTEG
18290 45 52 20 54 6f 74 61 6c 4b 65 72 6e 65 6c 54 69 ER TotalKernelTi
182a0 6d 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 me;..LARGE_INTEG
182b0 45 52 20 54 68 69 73 50 65 72 69 6f 64 54 6f 74 ER ThisPeriodTot
182c0 61 6c 55 73 65 72 54 69 6d 65 3b 0a 09 4c 41 52 alUserTime;..LAR
182d0 47 45 5f 49 4e 54 45 47 45 52 20 54 68 69 73 50 GE_INTEGER ThisP
182e0 65 72 69 6f 64 54 6f 74 61 6c 4b 65 72 6e 65 6c eriodTotalKernel
182f0 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 Time;..DWORD
18300 20 20 20 20 20 54 6f 74 61 6c 50 61 67 65 46 61 TotalPageFa
18310 75 6c 74 43 6f 75 6e 74 3b 0a 09 44 57 4f 52 44 ultCount;..DWORD
18320 20 20 20 20 20 20 20 20 20 54 6f 74 61 6c 50 72 TotalPr
18330 6f 63 65 73 73 65 73 3b 0a 09 44 57 4f 52 44 20 ocesses;..DWORD
18340 20 20 20 20 20 20 20 20 41 63 74 69 76 65 50 72 ActivePr
18350 6f 63 65 73 73 65 73 3b 0a 09 44 57 4f 52 44 20 ocesses;..DWORD
18360 20 20 20 20 20 20 20 20 54 6f 74 61 6c 54 65 72 TotalTer
18370 6d 69 6e 61 74 65 64 50 72 6f 63 65 73 73 65 73 minatedProcesses
18380 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 4f 42 4a ;.}.alias JOBOBJ
18390 45 43 54 5f 42 41 53 49 43 5f 41 43 43 4f 55 4e ECT_BASIC_ACCOUN
183a0 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e TING_INFORMATION
183b0 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 * PJOBOBJECT_BAS
183c0 49 43 5f 41 43 43 4f 55 4e 54 49 4e 47 5f 49 4e IC_ACCOUNTING_IN
183d0 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75 FORMATION;..stru
183e0 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 ct JOBOBJECT_BAS
183f0 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 IC_LIMIT_INFORMA
18400 54 49 4f 4e 20 7b 0a 09 4c 41 52 47 45 5f 49 4e TION {..LARGE_IN
18410 54 45 47 45 52 20 50 65 72 50 72 6f 63 65 73 73 TEGER PerProcess
18420 55 73 65 72 54 69 6d 65 4c 69 6d 69 74 3b 0a 09 UserTimeLimit;..
18430 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 50 65 LARGE_INTEGER Pe
18440 72 4a 6f 62 55 73 65 72 54 69 6d 65 4c 69 6d 69 rJobUserTimeLimi
18450 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 t;..DWORD
18460 20 20 4c 69 6d 69 74 46 6c 61 67 73 3b 0a 09 53 LimitFlags;..S
18470 49 5a 45 5f 54 20 20 20 20 20 20 20 20 4d 69 6e IZE_T Min
18480 69 6d 75 6d 57 6f 72 6b 69 6e 67 53 65 74 53 69 imumWorkingSetSi
18490 7a 65 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 ze;..SIZE_T
184a0 20 20 20 4d 61 78 69 6d 75 6d 57 6f 72 6b 69 6e MaximumWorkin
184b0 67 53 65 74 53 69 7a 65 3b 0a 09 44 57 4f 52 44 gSetSize;..DWORD
184c0 20 20 20 20 20 20 20 20 20 41 63 74 69 76 65 50 ActiveP
184d0 72 6f 63 65 73 73 4c 69 6d 69 74 3b 0a 09 55 4c rocessLimit;..UL
184e0 4f 4e 47 5f 50 54 52 20 20 20 20 20 41 66 66 69 ONG_PTR Affi
184f0 6e 69 74 79 3b 0a 09 44 57 4f 52 44 20 20 20 20 nity;..DWORD
18500 20 20 20 20 20 50 72 69 6f 72 69 74 79 43 6c 61 PriorityCla
18510 73 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 ss;..DWORD
18520 20 20 20 53 63 68 65 64 75 6c 69 6e 67 43 6c 61 SchedulingCla
18530 73 73 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 4f ss;.}.alias JOBO
18540 42 4a 45 43 54 5f 42 41 53 49 43 5f 4c 49 4d 49 BJECT_BASIC_LIMI
18550 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 T_INFORMATION* P
18560 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f JOBOBJECT_BASIC_
18570 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f LIMIT_INFORMATIO
18580 4e 3b 0a 0a 73 74 72 75 63 74 20 4a 4f 42 4f 42 N;..struct JOBOB
18590 4a 45 43 54 5f 42 41 53 49 43 5f 50 52 4f 43 45 JECT_BASIC_PROCE
185a0 53 53 5f 49 44 5f 4c 49 53 54 20 7b 0a 09 44 57 SS_ID_LIST {..DW
185b0 4f 52 44 20 20 20 20 20 4e 75 6d 62 65 72 4f 66 ORD NumberOf
185c0 41 73 73 69 67 6e 65 64 50 72 6f 63 65 73 73 65 AssignedProcesse
185d0 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 4e 75 s;..DWORD Nu
185e0 6d 62 65 72 4f 66 50 72 6f 63 65 73 73 49 64 73 mberOfProcessIds
185f0 49 6e 4c 69 73 74 3b 0a 09 55 4c 4f 4e 47 5f 50 InList;..ULONG_P
18600 54 52 20 5f 50 72 6f 63 65 73 73 49 64 4c 69 73 TR _ProcessIdLis
18610 74 3b 0a 0a 09 55 4c 4f 4e 47 5f 50 54 52 2a 20 t;...ULONG_PTR*
18620 50 72 6f 63 65 73 73 49 64 4c 69 73 74 28 29 20 ProcessIdList()
18630 7b 20 72 65 74 75 72 6e 20 26 5f 50 72 6f 63 65 { return &_Proce
18640 73 73 49 64 4c 69 73 74 3b 20 7d 0a 7d 0a 61 6c ssIdList; }.}.al
18650 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 42 41 ias JOBOBJECT_BA
18660 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 5f 4c SIC_PROCESS_ID_L
18670 49 53 54 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f IST* PJOBOBJECT_
18680 42 41 53 49 43 5f 50 52 4f 43 45 53 53 5f 49 44 BASIC_PROCESS_ID
18690 5f 4c 49 53 54 3b 0a 0a 73 74 72 75 63 74 20 4a _LIST;..struct J
186a0 4f 42 4f 42 4a 45 43 54 5f 42 41 53 49 43 5f 55 OBOBJECT_BASIC_U
186b0 49 5f 52 45 53 54 52 49 43 54 49 4f 4e 53 20 7b I_RESTRICTIONS {
186c0 0a 09 44 57 4f 52 44 20 55 49 52 65 73 74 72 69 ..DWORD UIRestri
186d0 63 74 69 6f 6e 73 43 6c 61 73 73 3b 0a 7d 0a 61 ctionsClass;.}.a
186e0 6c 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 42 lias JOBOBJECT_B
186f0 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49 43 54 ASIC_UI_RESTRICT
18700 49 4f 4e 53 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 IONS* PJOBOBJECT
18710 5f 42 41 53 49 43 5f 55 49 5f 52 45 53 54 52 49 _BASIC_UI_RESTRI
18720 43 54 49 4f 4e 53 3b 0a 0a 73 74 72 75 63 74 20 CTIONS;..struct
18730 4a 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 JOBOBJECT_SECURI
18740 54 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 TY_LIMIT_INFORMA
18750 54 49 4f 4e 20 7b 0a 09 44 57 4f 52 44 20 20 20 TION {..DWORD
18760 20 20 20 20 20 20 20 20 20 20 53 65 63 75 72 69 Securi
18770 74 79 4c 69 6d 69 74 46 6c 61 67 73 3b 0a 09 48 tyLimitFlags;..H
18780 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 20 ANDLE
18790 20 4a 6f 62 54 6f 6b 65 6e 3b 0a 09 50 54 4f 4b JobToken;..PTOK
187a0 45 4e 5f 47 52 4f 55 50 53 20 20 20 20 20 53 69 EN_GROUPS Si
187b0 64 73 54 6f 44 69 73 61 62 6c 65 3b 0a 09 50 54 dsToDisable;..PT
187c0 4f 4b 45 4e 5f 50 52 49 56 49 4c 45 47 45 53 20 OKEN_PRIVILEGES
187d0 50 72 69 76 69 6c 65 67 65 73 54 6f 44 65 6c 65 PrivilegesToDele
187e0 74 65 3b 0a 09 50 54 4f 4b 45 4e 5f 47 52 4f 55 te;..PTOKEN_GROU
187f0 50 53 20 20 20 20 20 52 65 73 74 72 69 63 74 65 PS Restricte
18800 64 53 69 64 73 3b 0a 7d 0a 61 6c 69 61 73 20 4a dSids;.}.alias J
18810 4f 42 4f 42 4a 45 43 54 5f 53 45 43 55 52 49 54 OBOBJECT_SECURIT
18820 59 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 Y_LIMIT_INFORMAT
18830 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f ION* PJOBOBJECT_
18840 53 45 43 55 52 49 54 59 5f 4c 49 4d 49 54 5f 49 SECURITY_LIMIT_I
18850 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 NFORMATION;..str
18860 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 45 4e uct JOBOBJECT_EN
18870 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45 5f 49 4e D_OF_JOB_TIME_IN
18880 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 57 4f FORMATION {..DWO
18890 52 44 20 45 6e 64 4f 66 4a 6f 62 54 69 6d 65 41 RD EndOfJobTimeA
188a0 63 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 4a ction;.}.alias J
188b0 4f 42 4f 42 4a 45 43 54 5f 45 4e 44 5f 4f 46 5f OBOBJECT_END_OF_
188c0 4a 4f 42 5f 54 49 4d 45 5f 49 4e 46 4f 52 4d 41 JOB_TIME_INFORMA
188d0 54 49 4f 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 TION* PJOBOBJECT
188e0 5f 45 4e 44 5f 4f 46 5f 4a 4f 42 5f 54 49 4d 45 _END_OF_JOB_TIME
188f0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 _INFORMATION;..s
18900 74 72 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f truct JOBOBJECT_
18910 41 53 53 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 ASSOCIATE_COMPLE
18920 54 49 4f 4e 5f 50 4f 52 54 20 7b 0a 09 50 56 4f TION_PORT {..PVO
18930 49 44 20 20 43 6f 6d 70 6c 65 74 69 6f 6e 4b 65 ID CompletionKe
18940 79 3b 0a 09 48 41 4e 44 4c 45 20 43 6f 6d 70 6c y;..HANDLE Compl
18950 65 74 69 6f 6e 50 6f 72 74 3b 0a 7d 0a 61 6c 69 etionPort;.}.ali
18960 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f 41 53 53 as JOBOBJECT_ASS
18970 4f 43 49 41 54 45 5f 43 4f 4d 50 4c 45 54 49 4f OCIATE_COMPLETIO
18980 4e 5f 50 4f 52 54 2a 20 50 4a 4f 42 4f 42 4a 45 N_PORT* PJOBOBJE
18990 43 54 5f 41 53 53 4f 43 49 41 54 45 5f 43 4f 4d CT_ASSOCIATE_COM
189a0 50 4c 45 54 49 4f 4e 5f 50 4f 52 54 3b 0a 0a 73 PLETION_PORT;..s
189b0 74 72 75 63 74 20 4a 4f 42 4f 42 4a 45 43 54 5f truct JOBOBJECT_
189c0 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43 BASIC_AND_IO_ACC
189d0 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 OUNTING_INFORMAT
189e0 49 4f 4e 20 7b 0a 09 4a 4f 42 4f 42 4a 45 43 54 ION {..JOBOBJECT
189f0 5f 42 41 53 49 43 5f 41 43 43 4f 55 4e 54 49 4e _BASIC_ACCOUNTIN
18a00 47 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 42 61 G_INFORMATION Ba
18a10 73 69 63 49 6e 66 6f 3b 0a 09 49 4f 5f 43 4f 55 sicInfo;..IO_COU
18a20 4e 54 45 52 53 20 49 6f 49 6e 66 6f 3b 0a 7d 0a NTERS IoInfo;.}.
18a30 61 6c 69 61 73 20 4a 4f 42 4f 42 4a 45 43 54 5f alias JOBOBJECT_
18a40 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43 BASIC_AND_IO_ACC
18a50 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 OUNTING_INFORMAT
18a60 49 4f 4e 20 2a 50 4a 4f 42 4f 42 4a 45 43 54 5f ION *PJOBOBJECT_
18a70 42 41 53 49 43 5f 41 4e 44 5f 49 4f 5f 41 43 43 BASIC_AND_IO_ACC
18a80 4f 55 4e 54 49 4e 47 5f 49 4e 46 4f 52 4d 41 54 OUNTING_INFORMAT
18a90 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 4a 4f 42 ION;..struct JOB
18aa0 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f OBJECT_EXTENDED_
18ab0 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f LIMIT_INFORMATIO
18ac0 4e 20 7b 0a 09 4a 4f 42 4f 42 4a 45 43 54 5f 42 N {..JOBOBJECT_B
18ad0 41 53 49 43 5f 4c 49 4d 49 54 5f 49 4e 46 4f 52 ASIC_LIMIT_INFOR
18ae0 4d 41 54 49 4f 4e 20 42 61 73 69 63 4c 69 6d 69 MATION BasicLimi
18af0 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 49 tInformation;..I
18b00 4f 5f 43 4f 55 4e 54 45 52 53 20 49 6f 49 6e 66 O_COUNTERS IoInf
18b10 6f 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 20 o;..SIZE_T
18b20 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 4c 69 6d ProcessMemoryLim
18b30 69 74 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 it;..SIZE_T
18b40 20 4a 6f 62 4d 65 6d 6f 72 79 4c 69 6d 69 74 3b JobMemoryLimit;
18b50 0a 09 53 49 5a 45 5f 54 20 20 20 20 20 20 50 65 ..SIZE_T Pe
18b60 61 6b 50 72 6f 63 65 73 73 4d 65 6d 6f 72 79 55 akProcessMemoryU
18b70 73 65 64 3b 0a 09 53 49 5a 45 5f 54 20 20 20 20 sed;..SIZE_T
18b80 20 20 50 65 61 6b 4a 6f 62 4d 65 6d 6f 72 79 55 PeakJobMemoryU
18b90 73 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 sed;.}.alias JOB
18ba0 4f 42 4a 45 43 54 5f 45 58 54 45 4e 44 45 44 5f OBJECT_EXTENDED_
18bb0 4c 49 4d 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f LIMIT_INFORMATIO
18bc0 4e 2a 20 50 4a 4f 42 4f 42 4a 45 43 54 5f 45 58 N* PJOBOBJECT_EX
18bd0 54 45 4e 44 45 44 5f 4c 49 4d 49 54 5f 49 4e 46 TENDED_LIMIT_INF
18be0 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 ORMATION;..struc
18bf0 74 20 4a 4f 42 4f 42 4a 45 43 54 5f 4a 4f 42 53 t JOBOBJECT_JOBS
18c00 45 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b ET_INFORMATION {
18c10 0a 09 44 57 4f 52 44 20 4d 65 6d 62 65 72 4c 65 ..DWORD MemberLe
18c20 76 65 6c 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 vel;.}.alias JOB
18c30 4f 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e OBJECT_JOBSET_IN
18c40 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 4a 4f 42 4f FORMATION* PJOBO
18c50 42 4a 45 43 54 5f 4a 4f 42 53 45 54 5f 49 4e 46 BJECT_JOBSET_INF
18c60 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 2f 2f 20 4d 69 ORMATION;..// Mi
18c70 6e 47 57 3a 20 4d 61 6b 69 6e 67 20 74 68 65 73 nGW: Making thes
18c80 65 20 64 65 66 69 6e 65 73 20 63 6f 6e 64 69 74 e defines condit
18c90 69 6f 6e 61 6c 20 6f 6e 20 57 49 4e 56 45 52 20 ional on WINVER
18ca0 77 69 6c 6c 20 62 72 65 61 6b 20 64 64 6b 20 69 will break ddk i
18cb0 6e 63 6c 75 64 65 73 0a 2f 2f 73 74 61 74 69 63 ncludes.//static
18cc0 20 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 if (WINVER >= 0
18cd0 78 30 35 30 30 29 20 7b 0a 0a 63 6f 6e 73 74 20 x0500) {..const
18ce0 44 57 4f 52 44 0a 09 45 53 5f 53 59 53 54 45 4d DWORD..ES_SYSTEM
18cf0 5f 52 45 51 55 49 52 45 44 20 20 3d 20 30 78 30 _REQUIRED = 0x0
18d00 30 30 30 30 30 30 31 2c 0a 09 45 53 5f 44 49 53 0000001,..ES_DIS
18d10 50 4c 41 59 5f 52 45 51 55 49 52 45 44 20 3d 20 PLAY_REQUIRED =
18d20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 45 53 5f 0x00000002,..ES_
18d30 55 53 45 52 5f 50 52 45 53 45 4e 54 20 20 20 20 USER_PRESENT
18d40 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09 = 0x00000004,..
18d50 45 53 5f 43 4f 4e 54 49 4e 55 4f 55 53 20 20 20 ES_CONTINUOUS
18d60 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 = 0x80000000
18d70 3b 0a 0a 65 6e 75 6d 20 4c 41 54 45 4e 43 59 5f ;..enum LATENCY_
18d80 54 49 4d 45 20 7b 0a 09 4c 54 5f 44 4f 4e 54 5f TIME {..LT_DONT_
18d90 43 41 52 45 2c 0a 09 4c 54 5f 4c 4f 57 45 53 54 CARE,..LT_LOWEST
18da0 5f 4c 41 54 45 4e 43 59 0a 7d 0a 61 6c 69 61 73 _LATENCY.}.alias
18db0 20 4c 41 54 45 4e 43 59 5f 54 49 4d 45 2a 20 50 LATENCY_TIME* P
18dc0 4c 41 54 45 4e 43 59 5f 54 49 4d 45 3b 0a 0a 65 LATENCY_TIME;..e
18dd0 6e 75 6d 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 num SYSTEM_POWER
18de0 5f 53 54 41 54 45 20 7b 0a 09 50 6f 77 65 72 53 _STATE {..PowerS
18df0 79 73 74 65 6d 55 6e 73 70 65 63 69 66 69 65 64 ystemUnspecified
18e00 2c 0a 09 50 6f 77 65 72 53 79 73 74 65 6d 57 6f ,..PowerSystemWo
18e10 72 6b 69 6e 67 2c 0a 09 50 6f 77 65 72 53 79 73 rking,..PowerSys
18e20 74 65 6d 53 6c 65 65 70 69 6e 67 31 2c 0a 09 50 temSleeping1,..P
18e30 6f 77 65 72 53 79 73 74 65 6d 53 6c 65 65 70 69 owerSystemSleepi
18e40 6e 67 32 2c 0a 09 50 6f 77 65 72 53 79 73 74 65 ng2,..PowerSyste
18e50 6d 53 6c 65 65 70 69 6e 67 33 2c 0a 09 50 6f 77 mSleeping3,..Pow
18e60 65 72 53 79 73 74 65 6d 48 69 62 65 72 6e 61 74 erSystemHibernat
18e70 65 2c 0a 09 50 6f 77 65 72 53 79 73 74 65 6d 53 e,..PowerSystemS
18e80 68 75 74 64 6f 77 6e 2c 0a 09 50 6f 77 65 72 53 hutdown,..PowerS
18e90 79 73 74 65 6d 4d 61 78 69 6d 75 6d 0a 7d 0a 61 ystemMaximum.}.a
18ea0 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45 lias SYSTEM_POWE
18eb0 52 5f 53 54 41 54 45 2a 20 50 53 59 53 54 45 4d R_STATE* PSYSTEM
18ec0 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b 0a 0a 63 _POWER_STATE;..c
18ed0 6f 6e 73 74 20 50 4f 57 45 52 5f 53 59 53 54 45 onst POWER_SYSTE
18ee0 4d 5f 4d 41 58 49 4d 55 4d 20 3d 20 53 59 53 54 M_MAXIMUM = SYST
18ef0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 2e 50 EM_POWER_STATE.P
18f00 6f 77 65 72 53 79 73 74 65 6d 4d 61 78 69 6d 75 owerSystemMaximu
18f10 6d 3b 0a 0a 65 6e 75 6d 20 50 4f 57 45 52 5f 41 m;..enum POWER_A
18f20 43 54 49 4f 4e 20 7b 0a 09 50 6f 77 65 72 41 63 CTION {..PowerAc
18f30 74 69 6f 6e 4e 6f 6e 65 2c 0a 09 50 6f 77 65 72 tionNone,..Power
18f40 41 63 74 69 6f 6e 52 65 73 65 72 76 65 64 2c 0a ActionReserved,.
18f50 09 50 6f 77 65 72 41 63 74 69 6f 6e 53 6c 65 65 .PowerActionSlee
18f60 70 2c 0a 09 50 6f 77 65 72 41 63 74 69 6f 6e 48 p,..PowerActionH
18f70 69 62 65 72 6e 61 74 65 2c 0a 09 50 6f 77 65 72 ibernate,..Power
18f80 41 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 2c 0a ActionShutdown,.
18f90 09 50 6f 77 65 72 41 63 74 69 6f 6e 53 68 75 74 .PowerActionShut
18fa0 64 6f 77 6e 52 65 73 65 74 2c 0a 09 50 6f 77 65 downReset,..Powe
18fb0 72 41 63 74 69 6f 6e 53 68 75 74 64 6f 77 6e 4f rActionShutdownO
18fc0 66 66 2c 0a 09 50 6f 77 65 72 41 63 74 69 6f 6e ff,..PowerAction
18fd0 57 61 72 6d 45 6a 65 63 74 0a 7d 0a 61 6c 69 61 WarmEject.}.alia
18fe0 73 20 50 4f 57 45 52 5f 41 43 54 49 4f 4e 2a 20 s POWER_ACTION*
18ff0 50 50 4f 57 45 52 5f 41 43 54 49 4f 4e 3b 0a 0a PPOWER_ACTION;..
19000 73 74 61 74 69 63 20 69 66 20 28 57 49 4e 56 45 static if (WINVE
19010 52 20 3e 3d 20 30 78 36 30 30 29 20 7b 0a 09 65 R >= 0x600) {..e
19020 6e 75 6d 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 num SYSTEM_POWER
19030 5f 43 4f 4e 44 49 54 49 4f 4e 20 7b 0a 09 09 50 _CONDITION {...P
19040 6f 41 63 2c 0a 09 09 50 6f 44 63 2c 0a 09 09 50 oAc,...PoDc,...P
19050 6f 48 6f 74 2c 0a 09 09 50 6f 43 6f 6e 64 69 74 oHot,...PoCondit
19060 69 6f 6e 4d 61 78 69 6d 75 6d 0a 09 7d 0a 09 61 ionMaximum..}..a
19070 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45 lias SYSTEM_POWE
19080 52 5f 43 4f 4e 44 49 54 49 4f 4e 2a 20 50 53 59 R_CONDITION* PSY
19090 53 54 45 4d 5f 50 4f 57 45 52 5f 43 4f 4e 44 49 STEM_POWER_CONDI
190a0 54 49 4f 4e 3b 0a 7d 0a 0a 65 6e 75 6d 20 44 45 TION;.}..enum DE
190b0 56 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45 VICE_POWER_STATE
190c0 20 7b 0a 09 50 6f 77 65 72 44 65 76 69 63 65 55 {..PowerDeviceU
190d0 6e 73 70 65 63 69 66 69 65 64 2c 0a 09 50 6f 77 nspecified,..Pow
190e0 65 72 44 65 76 69 63 65 44 30 2c 0a 09 50 6f 77 erDeviceD0,..Pow
190f0 65 72 44 65 76 69 63 65 44 31 2c 0a 09 50 6f 77 erDeviceD1,..Pow
19100 65 72 44 65 76 69 63 65 44 32 2c 0a 09 50 6f 77 erDeviceD2,..Pow
19110 65 72 44 65 76 69 63 65 44 33 2c 0a 09 50 6f 77 erDeviceD3,..Pow
19120 65 72 44 65 76 69 63 65 4d 61 78 69 6d 75 6d 0a erDeviceMaximum.
19130 7d 0a 61 6c 69 61 73 20 44 45 56 49 43 45 5f 50 }.alias DEVICE_P
19140 4f 57 45 52 5f 53 54 41 54 45 2a 20 50 44 45 56 OWER_STATE* PDEV
19150 49 43 45 5f 50 4f 57 45 52 5f 53 54 41 54 45 3b ICE_POWER_STATE;
19160 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74 72 75 ..align(4):.stru
19170 63 74 20 42 41 54 54 45 52 59 5f 52 45 50 4f 52 ct BATTERY_REPOR
19180 54 49 4e 47 5f 53 43 41 4c 45 20 7b 0a 09 44 57 TING_SCALE {..DW
19190 4f 52 44 20 47 72 61 6e 75 6c 61 72 69 74 79 3b ORD Granularity;
191a0 0a 09 44 57 4f 52 44 20 43 61 70 61 63 69 74 79 ..DWORD Capacity
191b0 3b 0a 7d 0a 61 6c 69 61 73 20 42 41 54 54 45 52 ;.}.alias BATTER
191c0 59 5f 52 45 50 4f 52 54 49 4e 47 5f 53 43 41 4c Y_REPORTING_SCAL
191d0 45 2a 20 50 42 41 54 54 45 52 59 5f 52 45 50 4f E* PBATTERY_REPO
191e0 52 54 49 4e 47 5f 53 43 41 4c 45 3b 0a 0a 73 74 RTING_SCALE;..st
191f0 72 75 63 74 20 50 4f 57 45 52 5f 41 43 54 49 4f ruct POWER_ACTIO
19200 4e 5f 50 4f 4c 49 43 59 20 7b 0a 09 50 4f 57 45 N_POLICY {..POWE
19210 52 5f 41 43 54 49 4f 4e 20 41 63 74 69 6f 6e 3b R_ACTION Action;
19220 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 46 ..ULONG F
19230 6c 61 67 73 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 lags;..ULONG
19240 20 20 20 20 45 76 65 6e 74 43 6f 64 65 3b 0a 7d EventCode;.}
19250 0a 61 6c 69 61 73 20 50 4f 57 45 52 5f 41 43 54 .alias POWER_ACT
19260 49 4f 4e 5f 50 4f 4c 49 43 59 2a 20 50 50 4f 57 ION_POLICY* PPOW
19270 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 59 ER_ACTION_POLICY
19280 3b 0a 0a 2f 2f 20 50 4f 57 45 52 5f 41 43 54 49 ;..// POWER_ACTI
19290 4f 4e 5f 50 4f 4c 49 43 59 2e 46 6c 61 67 73 20 ON_POLICY.Flags
192a0 63 6f 6e 73 74 61 6e 74 73 0a 63 6f 6e 73 74 20 constants.const
192b0 55 4c 4f 4e 47 0a 09 50 4f 57 45 52 5f 41 43 54 ULONG..POWER_ACT
192c0 49 4f 4e 5f 51 55 45 52 59 5f 41 4c 4c 4f 57 45 ION_QUERY_ALLOWE
192d0 44 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c D = 0x00000001,
192e0 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f 55 ..POWER_ACTION_U
192f0 49 5f 41 4c 4c 4f 57 45 44 20 20 20 20 20 3d 20 I_ALLOWED =
19300 30 78 30 30 30 30 30 30 30 32 2c 0a 09 50 4f 57 0x00000002,..POW
19310 45 52 5f 41 43 54 49 4f 4e 5f 4f 56 45 52 52 49 ER_ACTION_OVERRI
19320 44 45 5f 41 50 50 53 20 20 3d 20 30 78 30 30 30 DE_APPS = 0x000
19330 30 30 30 30 34 2c 0a 09 50 4f 57 45 52 5f 41 43 00004,..POWER_AC
19340 54 49 4f 4e 5f 4c 49 47 48 54 45 53 54 5f 46 49 TION_LIGHTEST_FI
19350 52 53 54 20 3d 20 30 78 31 30 30 30 30 30 30 30 RST = 0x10000000
19360 2c 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f ,..POWER_ACTION_
19370 4c 4f 43 4b 5f 43 4f 4e 53 4f 4c 45 20 20 20 3d LOCK_CONSOLE =
19380 20 30 78 32 30 30 30 30 30 30 30 2c 0a 09 50 4f 0x20000000,..PO
19390 57 45 52 5f 41 43 54 49 4f 4e 5f 44 49 53 41 42 WER_ACTION_DISAB
193a0 4c 45 5f 57 41 4b 45 53 20 20 3d 20 30 78 34 30 LE_WAKES = 0x40
193b0 30 30 30 30 30 30 2c 0a 09 50 4f 57 45 52 5f 41 000000,..POWER_A
193c0 43 54 49 4f 4e 5f 43 52 49 54 49 43 41 4c 20 20 CTION_CRITICAL
193d0 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 = 0x8000000
193e0 30 3b 0a 0a 2f 2f 20 50 4f 57 45 52 5f 41 43 54 0;..// POWER_ACT
193f0 49 4f 4e 5f 50 4f 4c 49 43 59 2e 45 76 65 6e 74 ION_POLICY.Event
19400 43 6f 64 65 20 63 6f 6e 73 74 61 6e 74 73 0a 63 Code constants.c
19410 6f 6e 73 74 20 55 4c 4f 4e 47 0a 09 50 4f 57 45 onst ULONG..POWE
19420 52 5f 4c 45 56 45 4c 5f 55 53 45 52 5f 4e 4f 54 R_LEVEL_USER_NOT
19430 49 46 59 5f 54 45 58 54 20 20 3d 20 30 78 30 30 IFY_TEXT = 0x00
19440 30 30 30 30 30 31 2c 0a 09 50 4f 57 45 52 5f 4c 000001,..POWER_L
19450 45 56 45 4c 5f 55 53 45 52 5f 4e 4f 54 49 46 59 EVEL_USER_NOTIFY
19460 5f 53 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 _SOUND = 0x00000
19470 30 30 32 2c 0a 09 50 4f 57 45 52 5f 4c 45 56 45 002,..POWER_LEVE
19480 4c 5f 55 53 45 52 5f 4e 4f 54 49 46 59 5f 45 58 L_USER_NOTIFY_EX
19490 45 43 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 EC = 0x00000004
194a0 2c 0a 09 50 4f 57 45 52 5f 55 53 45 52 5f 4e 4f ,..POWER_USER_NO
194b0 54 49 46 59 5f 42 55 54 54 4f 4e 20 20 20 20 20 TIFY_BUTTON
194c0 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 = 0x00000008,..
194d0 50 4f 57 45 52 5f 55 53 45 52 5f 4e 4f 54 49 46 POWER_USER_NOTIF
194e0 59 5f 53 48 55 54 44 4f 57 4e 20 20 20 20 3d 20 Y_SHUTDOWN =
194f0 30 78 30 30 30 30 30 30 31 30 2c 0a 09 50 4f 57 0x00000010,..POW
19500 45 52 5f 46 4f 52 43 45 5f 54 52 49 47 47 45 52 ER_FORCE_TRIGGER
19510 5f 52 45 53 45 54 20 20 20 20 20 3d 20 30 78 38 _RESET = 0x8
19520 30 30 30 30 30 30 30 3b 0a 0a 63 6f 6e 73 74 20 0000000;..const
19530 73 69 7a 65 5f 74 0a 09 44 49 53 43 48 41 52 47 size_t..DISCHARG
19540 45 5f 50 4f 4c 49 43 59 5f 43 52 49 54 49 43 41 E_POLICY_CRITICA
19550 4c 20 3d 20 30 2c 0a 09 44 49 53 43 48 41 52 47 L = 0,..DISCHARG
19560 45 5f 50 4f 4c 49 43 59 5f 4c 4f 57 20 20 20 20 E_POLICY_LOW
19570 20 20 3d 20 31 2c 0a 09 4e 55 4d 5f 44 49 53 43 = 1,..NUM_DISC
19580 48 41 52 47 45 5f 50 4f 4c 49 43 49 45 53 20 20 HARGE_POLICIES
19590 20 20 3d 20 34 3b 0a 0a 65 6e 75 6d 20 3a 20 42 = 4;..enum : B
195a0 59 54 45 20 7b 0a 09 50 4f 5f 54 48 52 4f 54 54 YTE {..PO_THROTT
195b0 4c 45 5f 4e 4f 4e 45 2c 0a 09 50 4f 5f 54 48 52 LE_NONE,..PO_THR
195c0 4f 54 54 4c 45 5f 43 4f 4e 53 54 41 4e 54 2c 0a OTTLE_CONSTANT,.
195d0 09 50 4f 5f 54 48 52 4f 54 54 4c 45 5f 44 45 47 .PO_THROTTLE_DEG
195e0 52 41 44 45 2c 0a 09 50 4f 5f 54 48 52 4f 54 54 RADE,..PO_THROTT
195f0 4c 45 5f 41 44 41 50 54 49 56 45 2c 0a 09 50 4f LE_ADAPTIVE,..PO
19600 5f 54 48 52 4f 54 54 4c 45 5f 4d 41 58 49 4d 55 _THROTTLE_MAXIMU
19610 4d 0a 7d 0a 0a 73 74 72 75 63 74 20 53 59 53 54 M.}..struct SYST
19620 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 20 7b EM_POWER_LEVEL {
19630 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 ..BOOLEAN
19640 20 20 20 20 20 20 45 6e 61 62 6c 65 3b 0a 09 55 Enable;..U
19650 43 48 41 52 5b 33 5d 20 20 20 20 20 20 20 20 20 CHAR[3]
19660 20 20 20 53 70 61 72 65 3b 0a 09 55 4c 4f 4e 47 Spare;..ULONG
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 B
19680 61 74 74 65 72 79 4c 65 76 65 6c 3b 0a 09 50 4f atteryLevel;..PO
19690 57 45 52 5f 41 43 54 49 4f 4e 5f 50 4f 4c 49 43 WER_ACTION_POLIC
196a0 59 20 50 6f 77 65 72 50 6f 6c 69 63 79 3b 0a 09 Y PowerPolicy;..
196b0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 SYSTEM_POWER_STA
196c0 54 45 20 20 4d 69 6e 53 79 73 74 65 6d 53 74 61 TE MinSystemSta
196d0 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54 te;.}.alias SYST
196e0 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 2a 20 EM_POWER_LEVEL*
196f0 50 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 4c 45 PSYSTEM_POWER_LE
19700 56 45 4c 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 VEL;..struct SYS
19710 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 TEM_POWER_POLICY
19720 20 7b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 {..ULONG
19730 20 20 20 20 20 20 20 20 52 65 76 69 73 69 6f 6e Revision
19740 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f 4e 5f ;..POWER_ACTION_
19750 50 4f 4c 49 43 59 20 50 6f 77 65 72 42 75 74 74 POLICY PowerButt
19760 6f 6e 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f on;..POWER_ACTIO
19770 4e 5f 50 4f 4c 49 43 59 20 53 6c 65 65 70 42 75 N_POLICY SleepBu
19780 74 74 6f 6e 3b 0a 09 50 4f 57 45 52 5f 41 43 54 tton;..POWER_ACT
19790 49 4f 4e 5f 50 4f 4c 49 43 59 20 4c 69 64 43 6c ION_POLICY LidCl
197a0 6f 73 65 3b 0a 09 53 59 53 54 45 4d 5f 50 4f 57 ose;..SYSTEM_POW
197b0 45 52 5f 53 54 41 54 45 20 20 4c 69 64 4f 70 65 ER_STATE LidOpe
197c0 6e 57 61 6b 65 3b 0a 09 55 4c 4f 4e 47 20 20 20 nWake;..ULONG
197d0 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65 Rese
197e0 72 76 65 64 3b 0a 09 50 4f 57 45 52 5f 41 43 54 rved;..POWER_ACT
197f0 49 4f 4e 5f 50 4f 4c 49 43 59 20 49 64 6c 65 3b ION_POLICY Idle;
19800 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 ..ULONG
19810 20 20 20 20 20 20 49 64 6c 65 54 69 6d 65 6f 75 IdleTimeou
19820 74 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 t;..UCHAR
19830 20 20 20 20 20 20 20 20 49 64 6c 65 53 65 6e 73 IdleSens
19840 69 74 69 76 69 74 79 3b 0a 09 55 43 48 41 52 20 itivity;..UCHAR
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 79 Dy
19860 6e 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0a 09 namicThrottle;..
19870 55 43 48 41 52 5b 32 5d 20 20 20 20 20 20 20 20 UCHAR[2]
19880 20 20 20 20 53 70 61 72 65 32 3b 0a 09 53 59 53 Spare2;..SYS
19890 54 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 TEM_POWER_STATE
198a0 20 4d 69 6e 53 6c 65 65 70 3b 0a 09 53 59 53 54 MinSleep;..SYST
198b0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20 EM_POWER_STATE
198c0 4d 61 78 53 6c 65 65 70 3b 0a 09 53 59 53 54 45 MaxSleep;..SYSTE
198d0 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20 52 M_POWER_STATE R
198e0 65 64 75 63 65 64 4c 61 74 65 6e 63 79 53 6c 65 educedLatencySle
198f0 65 70 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 ep;..ULONG
19900 20 20 20 20 20 20 20 20 20 57 69 6e 4c 6f 67 6f WinLogo
19910 6e 46 6c 61 67 73 3b 0a 09 55 4c 4f 4e 47 20 20 nFlags;..ULONG
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 53 70 61 Spa
19930 72 65 33 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 re3;..ULONG
19940 20 20 20 20 20 20 20 20 20 20 44 6f 7a 65 53 34 DozeS4
19950 54 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 20 Timeout;..ULONG
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
19970 6f 61 64 63 61 73 74 43 61 70 61 63 69 74 79 52 oadcastCapacityR
19980 65 73 6f 6c 75 74 69 6f 6e 3b 0a 09 53 59 53 54 esolution;..SYST
19990 45 4d 5f 50 4f 57 45 52 5f 4c 45 56 45 4c 5b 4e EM_POWER_LEVEL[N
199a0 55 4d 5f 44 49 53 43 48 41 52 47 45 5f 50 4f 4c UM_DISCHARGE_POL
199b0 49 43 49 45 53 5d 20 44 69 73 63 68 61 72 67 65 ICIES] Discharge
199c0 50 6f 6c 69 63 79 3b 0a 09 55 4c 4f 4e 47 20 20 Policy;..ULONG
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 56 69 64 Vid
199e0 65 6f 54 69 6d 65 6f 75 74 3b 0a 09 42 4f 4f 4c eoTimeout;..BOOL
199f0 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 EAN
19a00 56 69 64 65 6f 44 69 6d 44 69 73 70 6c 61 79 3b VideoDimDisplay;
19a10 0a 09 55 4c 4f 4e 47 5b 33 5d 20 20 20 20 20 20 ..ULONG[3]
19a20 20 20 20 20 20 20 56 69 64 65 6f 52 65 73 65 72 VideoReser
19a30 76 65 64 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 ved;..ULONG
19a40 20 20 20 20 20 20 20 20 20 20 53 70 69 6e 64 6f Spindo
19a50 77 6e 54 69 6d 65 6f 75 74 3b 0a 09 42 4f 4f 4c wnTimeout;..BOOL
19a60 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 EAN
19a70 4f 70 74 69 6d 69 7a 65 46 6f 72 50 6f 77 65 72 OptimizeForPower
19a80 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20 ;..UCHAR
19a90 20 20 20 20 20 20 20 46 61 6e 54 68 72 6f 74 74 FanThrott
19aa0 6c 65 54 6f 6c 65 72 61 6e 63 65 3b 0a 09 55 43 leTolerance;..UC
19ab0 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20 HAR
19ac0 20 20 46 6f 72 63 65 64 54 68 72 6f 74 74 6c 65 ForcedThrottle
19ad0 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20 ;..UCHAR
19ae0 20 20 20 20 20 20 20 4d 69 6e 54 68 72 6f 74 74 MinThrott
19af0 6c 65 3b 0a 09 50 4f 57 45 52 5f 41 43 54 49 4f le;..POWER_ACTIO
19b00 4e 5f 50 4f 4c 49 43 59 20 4f 76 65 72 54 68 72 N_POLICY OverThr
19b10 6f 74 74 6c 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 ottled;.}.alias
19b20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 50 4f 4c SYSTEM_POWER_POL
19b30 49 43 59 2a 20 50 53 59 53 54 45 4d 5f 50 4f 57 ICY* PSYSTEM_POW
19b40 45 52 5f 50 4f 4c 49 43 59 3b 0a 0a 73 74 72 75 ER_POLICY;..stru
19b50 63 74 20 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f ct SYSTEM_POWER_
19b60 43 41 50 41 42 49 4c 49 54 49 45 53 20 7b 0a 09 CAPABILITIES {..
19b70 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 BOOLEAN
19b80 20 20 20 20 20 20 20 20 20 20 20 50 6f 77 65 72 Power
19b90 42 75 74 74 6f 6e 50 72 65 73 65 6e 74 3b 0a 09 ButtonPresent;..
19ba0 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 BOOLEAN
19bb0 20 20 20 20 20 20 20 20 20 20 20 53 6c 65 65 70 Sleep
19bc0 42 75 74 74 6f 6e 50 72 65 73 65 6e 74 3b 0a 09 ButtonPresent;..
19bd0 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 BOOLEAN
19be0 20 20 20 20 20 20 20 20 20 20 20 4c 69 64 50 72 LidPr
19bf0 65 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 esent;..BOOLEAN
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c10 20 20 20 53 79 73 74 65 6d 53 31 3b 0a 09 42 4f SystemS1;..BO
19c20 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 OLEAN
19c30 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 53 SystemS
19c40 32 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 2;..BOOLEAN
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 S
19c60 79 73 74 65 6d 53 33 3b 0a 09 42 4f 4f 4c 45 41 ystemS3;..BOOLEA
19c70 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
19c80 20 20 20 20 20 53 79 73 74 65 6d 53 34 3b 0a 09 SystemS4;..
19c90 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 BOOLEAN
19ca0 20 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 Syste
19cb0 6d 53 35 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 mS5;..BOOLEAN
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cd0 20 48 69 62 65 72 46 69 6c 65 50 72 65 73 65 6e HiberFilePresen
19ce0 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 t;..BOOLEAN
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 F
19d00 75 6c 6c 57 61 6b 65 3b 0a 09 42 4f 4f 4c 45 41 ullWake;..BOOLEA
19d10 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
19d20 20 20 20 20 20 56 69 64 65 6f 44 69 6d 50 72 65 VideoDimPre
19d30 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 sent;..BOOLEAN
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d50 20 20 41 70 6d 50 72 65 73 65 6e 74 3b 0a 09 42 ApmPresent;..B
19d60 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 20 OOLEAN
19d70 20 20 20 20 20 20 20 20 20 20 55 70 73 50 72 65 UpsPre
19d80 73 65 6e 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 sent;..BOOLEAN
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19da0 20 20 54 68 65 72 6d 61 6c 43 6f 6e 74 72 6f 6c ThermalControl
19db0 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 ;..BOOLEAN
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 Pr
19dd0 6f 63 65 73 73 6f 72 54 68 72 6f 74 74 6c 65 3b ocessorThrottle;
19de0 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 20 20 ..UCHAR
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f Pro
19e00 63 65 73 73 6f 72 4d 69 6e 54 68 72 6f 74 74 6c cessorMinThrottl
19e10 65 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 e;..UCHAR
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P
19e30 72 6f 63 65 73 73 6f 72 4d 61 78 54 68 72 6f 74 rocessorMaxThrot
19e40 74 6c 65 3b 0a 09 55 43 48 41 52 5b 34 5d 20 20 tle;..UCHAR[4]
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e60 20 73 70 61 72 65 32 3b 0a 09 42 4f 4f 4c 45 41 spare2;..BOOLEA
19e70 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
19e80 20 20 20 20 20 44 69 73 6b 53 70 69 6e 44 6f 77 DiskSpinDow
19e90 6e 3b 0a 09 55 43 48 41 52 5b 38 5d 20 20 20 20 n;..UCHAR[8]
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
19eb0 70 61 72 65 33 3b 0a 09 42 4f 4f 4c 45 41 4e 20 pare3;..BOOLEAN
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ed0 20 20 20 53 79 73 74 65 6d 42 61 74 74 65 72 69 SystemBatteri
19ee0 65 73 50 72 65 73 65 6e 74 3b 0a 09 42 4f 4f 4c esPresent;..BOOL
19ef0 45 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 EAN
19f00 20 20 20 20 20 20 20 42 61 74 74 65 72 69 65 73 Batteries
19f10 41 72 65 53 68 6f 72 74 54 65 72 6d 3b 0a 09 42 AreShortTerm;..B
19f20 41 54 54 45 52 59 5f 52 45 50 4f 52 54 49 4e 47 ATTERY_REPORTING
19f30 5f 53 43 41 4c 45 5b 33 5d 20 42 61 74 74 65 72 _SCALE[3] Batter
19f40 79 53 63 61 6c 65 3b 0a 09 53 59 53 54 45 4d 5f yScale;..SYSTEM_
19f50 50 4f 57 45 52 5f 53 54 41 54 45 20 20 20 20 20 POWER_STATE
19f60 20 20 20 20 41 63 4f 6e 4c 69 6e 65 57 61 6b 65 AcOnLineWake
19f70 3b 0a 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f ;..SYSTEM_POWER_
19f80 53 54 41 54 45 20 20 20 20 20 20 20 20 20 53 6f STATE So
19f90 66 74 4c 69 64 57 61 6b 65 3b 0a 09 53 59 53 54 ftLidWake;..SYST
19fa0 45 4d 5f 50 4f 57 45 52 5f 53 54 41 54 45 20 20 EM_POWER_STATE
19fb0 20 20 20 20 20 20 20 52 74 63 57 61 6b 65 3b 0a RtcWake;.
19fc0 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 .SYSTEM_POWER_ST
19fd0 41 54 45 20 20 20 20 20 20 20 20 20 4d 69 6e 44 ATE MinD
19fe0 65 76 69 63 65 57 61 6b 65 53 74 61 74 65 3b 0a eviceWakeState;.
19ff0 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 .SYSTEM_POWER_ST
1a000 41 54 45 20 20 20 20 20 20 20 20 20 44 65 66 61 ATE Defa
1a010 75 6c 74 4c 6f 77 4c 61 74 65 6e 63 79 57 61 6b ultLowLatencyWak
1a020 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54 45 e;.}.alias SYSTE
1a030 4d 5f 50 4f 57 45 52 5f 43 41 50 41 42 49 4c 49 M_POWER_CAPABILI
1a040 54 49 45 53 2a 20 50 53 59 53 54 45 4d 5f 50 4f TIES* PSYSTEM_PO
1a050 57 45 52 5f 43 41 50 41 42 49 4c 49 54 49 45 53 WER_CAPABILITIES
1a060 3b 0a 0a 73 74 72 75 63 74 20 53 59 53 54 45 4d ;..struct SYSTEM
1a070 5f 42 41 54 54 45 52 59 5f 53 54 41 54 45 20 7b _BATTERY_STATE {
1a080 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 41 63 4f ..BOOLEAN AcO
1a090 6e 4c 69 6e 65 3b 0a 09 42 4f 4f 4c 45 41 4e 20 nLine;..BOOLEAN
1a0a0 20 20 20 42 61 74 74 65 72 79 50 72 65 73 65 6e BatteryPresen
1a0b0 74 3b 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 43 t;..BOOLEAN C
1a0c0 68 61 72 67 69 6e 67 3b 0a 09 42 4f 4f 4c 45 41 harging;..BOOLEA
1a0d0 4e 20 20 20 20 44 69 73 63 68 61 72 67 69 6e 67 N Discharging
1a0e0 3b 0a 09 42 4f 4f 4c 45 41 4e 5b 34 5d 20 53 70 ;..BOOLEAN[4] Sp
1a0f0 61 72 65 31 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 are1;..ULONG
1a100 20 20 4d 61 78 43 61 70 61 63 69 74 79 3b 0a 09 MaxCapacity;..
1a110 55 4c 4f 4e 47 20 20 20 20 20 20 52 65 6d 61 69 ULONG Remai
1a120 6e 69 6e 67 43 61 70 61 63 69 74 79 3b 0a 09 55 ningCapacity;..U
1a130 4c 4f 4e 47 20 20 20 20 20 20 52 61 74 65 3b 0a LONG Rate;.
1a140 09 55 4c 4f 4e 47 20 20 20 20 20 20 45 73 74 69 .ULONG Esti
1a150 6d 61 74 65 64 54 69 6d 65 3b 0a 09 55 4c 4f 4e matedTime;..ULON
1a160 47 20 20 20 20 20 20 44 65 66 61 75 6c 74 41 6c G DefaultAl
1a170 65 72 74 31 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 ert1;..ULONG
1a180 20 20 44 65 66 61 75 6c 74 41 6c 65 72 74 32 3b DefaultAlert2;
1a190 0a 7d 0a 61 6c 69 61 73 20 53 59 53 54 45 4d 5f .}.alias SYSTEM_
1a1a0 42 41 54 54 45 52 59 5f 53 54 41 54 45 2a 20 50 BATTERY_STATE* P
1a1b0 53 59 53 54 45 4d 5f 42 41 54 54 45 52 59 5f 53 SYSTEM_BATTERY_S
1a1c0 54 41 54 45 3b 0a 0a 65 6e 75 6d 20 50 4f 57 45 TATE;..enum POWE
1a1d0 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 4c 45 R_INFORMATION_LE
1a1e0 56 45 4c 20 7b 0a 09 53 79 73 74 65 6d 50 6f 77 VEL {..SystemPow
1a1f0 65 72 50 6f 6c 69 63 79 41 63 2c 0a 09 53 79 73 erPolicyAc,..Sys
1a200 74 65 6d 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 temPowerPolicyDc
1a210 2c 0a 09 56 65 72 69 66 79 53 79 73 74 65 6d 50 ,..VerifySystemP
1a220 6f 6c 69 63 79 41 63 2c 0a 09 56 65 72 69 66 79 olicyAc,..Verify
1a230 53 79 73 74 65 6d 50 6f 6c 69 63 79 44 63 2c 0a SystemPolicyDc,.
1a240 09 53 79 73 74 65 6d 50 6f 77 65 72 43 61 70 61 .SystemPowerCapa
1a250 62 69 6c 69 74 69 65 73 2c 0a 09 53 79 73 74 65 bilities,..Syste
1a260 6d 42 61 74 74 65 72 79 53 74 61 74 65 2c 0a 09 mBatteryState,..
1a270 53 79 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65 SystemPowerState
1a280 48 61 6e 64 6c 65 72 2c 0a 09 50 72 6f 63 65 73 Handler,..Proces
1a290 73 6f 72 53 74 61 74 65 48 61 6e 64 6c 65 72 2c sorStateHandler,
1a2a0 0a 09 53 79 73 74 65 6d 50 6f 77 65 72 50 6f 6c ..SystemPowerPol
1a2b0 69 63 79 43 75 72 72 65 6e 74 2c 0a 09 41 64 6d icyCurrent,..Adm
1a2c0 69 6e 69 73 74 72 61 74 6f 72 50 6f 77 65 72 50 inistratorPowerP
1a2d0 6f 6c 69 63 79 2c 0a 09 53 79 73 74 65 6d 52 65 olicy,..SystemRe
1a2e0 73 65 72 76 65 48 69 62 65 72 46 69 6c 65 2c 0a serveHiberFile,.
1a2f0 09 50 72 6f 63 65 73 73 6f 72 49 6e 66 6f 72 6d .ProcessorInform
1a300 61 74 69 6f 6e 2c 0a 09 53 79 73 74 65 6d 50 6f ation,..SystemPo
1a310 77 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a werInformation,.
1a320 09 50 72 6f 63 65 73 73 6f 72 53 74 61 74 65 48 .ProcessorStateH
1a330 61 6e 64 6c 65 72 32 2c 0a 09 4c 61 73 74 57 61 andler2,..LastWa
1a340 6b 65 54 69 6d 65 2c 0a 09 4c 61 73 74 53 6c 65 keTime,..LastSle
1a350 65 70 54 69 6d 65 2c 0a 09 53 79 73 74 65 6d 45 epTime,..SystemE
1a360 78 65 63 75 74 69 6f 6e 53 74 61 74 65 2c 0a 09 xecutionState,..
1a370 53 79 73 74 65 6d 50 6f 77 65 72 53 74 61 74 65 SystemPowerState
1a380 4e 6f 74 69 66 79 48 61 6e 64 6c 65 72 2c 0a 09 NotifyHandler,..
1a390 50 72 6f 63 65 73 73 6f 72 50 6f 77 65 72 50 6f ProcessorPowerPo
1a3a0 6c 69 63 79 41 63 2c 0a 09 50 72 6f 63 65 73 73 licyAc,..Process
1a3b0 6f 72 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 2c orPowerPolicyDc,
1a3c0 0a 09 56 65 72 69 66 79 50 72 6f 63 65 73 73 6f ..VerifyProcesso
1a3d0 72 50 6f 77 65 72 50 6f 6c 69 63 79 41 63 2c 0a rPowerPolicyAc,.
1a3e0 09 56 65 72 69 66 79 50 72 6f 63 65 73 73 6f 72 .VerifyProcessor
1a3f0 50 6f 77 65 72 50 6f 6c 69 63 79 44 63 2c 0a 09 PowerPolicyDc,..
1a400 50 72 6f 63 65 73 73 6f 72 50 6f 77 65 72 50 6f ProcessorPowerPo
1a410 6c 69 63 79 43 75 72 72 65 6e 74 0a 7d 0a 0a 2f licyCurrent.}../
1a420 2f 23 69 66 20 31 20 2f 2a 20 28 57 49 4e 33 32 /#if 1 /* (WIN32
1a430 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 _WINNT >= 0x0500
1a440 29 20 2a 2f 0a 73 74 72 75 63 74 20 53 59 53 54 ) */.struct SYST
1a450 45 4d 5f 50 4f 57 45 52 5f 49 4e 46 4f 52 4d 41 EM_POWER_INFORMA
1a460 54 49 4f 4e 20 7b 0a 09 55 4c 4f 4e 47 20 4d 61 TION {..ULONG Ma
1a470 78 49 64 6c 65 6e 65 73 73 41 6c 6c 6f 77 65 64 xIdlenessAllowed
1a480 3b 0a 09 55 4c 4f 4e 47 20 49 64 6c 65 6e 65 73 ;..ULONG Idlenes
1a490 73 3b 0a 09 55 4c 4f 4e 47 20 54 69 6d 65 52 65 s;..ULONG TimeRe
1a4a0 6d 61 69 6e 69 6e 67 3b 0a 09 55 43 48 41 52 20 maining;..UCHAR
1a4b0 43 6f 6f 6c 69 6e 67 4d 6f 64 65 3b 0a 7d 0a 61 CoolingMode;.}.a
1a4c0 6c 69 61 73 20 53 59 53 54 45 4d 5f 50 4f 57 45 lias SYSTEM_POWE
1a4d0 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 R_INFORMATION* P
1a4e0 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 49 4e 46 SYSTEM_POWER_INF
1a4f0 4f 52 4d 41 54 49 4f 4e 3b 0a 2f 2f 23 65 6e 64 ORMATION;.//#end
1a500 69 66 0a 0a 73 74 72 75 63 74 20 50 52 4f 43 45 if..struct PROCE
1a510 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 SSOR_POWER_POLIC
1a520 59 5f 49 4e 46 4f 20 7b 0a 09 55 4c 4f 4e 47 20 Y_INFO {..ULONG
1a530 20 20 20 54 69 6d 65 43 68 65 63 6b 3b 0a 09 55 TimeCheck;..U
1a540 4c 4f 4e 47 20 20 20 20 44 65 6d 6f 74 65 4c 69 LONG DemoteLi
1a550 6d 69 74 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 50 mit;..ULONG P
1a560 72 6f 6d 6f 74 65 4c 69 6d 69 74 3b 0a 09 55 43 romoteLimit;..UC
1a570 48 41 52 20 20 20 20 44 65 6d 6f 74 65 50 65 72 HAR DemotePer
1a580 63 65 6e 74 3b 0a 09 55 43 48 41 52 20 20 20 20 cent;..UCHAR
1a590 50 72 6f 6d 6f 74 65 50 65 72 63 65 6e 74 3b 0a PromotePercent;.
1a5a0 09 55 43 48 41 52 5b 32 5d 20 53 70 61 72 65 3b .UCHAR[2] Spare;
1a5b0 0a 09 75 69 6e 74 20 20 20 20 20 5f 62 66 3b 0a ..uint _bf;.
1a5c0 0a 09 62 6f 6f 6c 20 41 6c 6c 6f 77 44 65 6d 6f ..bool AllowDemo
1a5d0 74 69 6f 6e 28 29 20 20 7b 20 72 65 74 75 72 6e tion() { return
1a5e0 20 63 61 73 74 28 62 6f 6f 6c 29 28 5f 62 66 20 cast(bool)(_bf
1a5f0 26 20 31 29 3b 20 7d 0a 09 62 6f 6f 6c 20 41 6c & 1); }..bool Al
1a600 6c 6f 77 50 72 6f 6d 6f 74 69 6f 6e 28 29 20 7b lowPromotion() {
1a610 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f return cast(boo
1a620 6c 29 28 5f 62 66 20 26 20 32 29 3b 20 7d 0a 0a l)(_bf & 2); }..
1a630 09 62 6f 6f 6c 20 41 6c 6c 6f 77 44 65 6d 6f 74 .bool AllowDemot
1a640 69 6f 6e 28 62 6f 6f 6c 20 61 29 20 20 7b 20 5f ion(bool a) { _
1a650 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 31 29 20 bf = (_bf & ~1)
1a660 7c 20 61 3b 20 72 65 74 75 72 6e 20 61 3b 20 7d | a; return a; }
1a670 0a 09 62 6f 6f 6c 20 41 6c 6c 6f 77 50 72 6f 6d ..bool AllowProm
1a680 6f 74 69 6f 6e 28 62 6f 6f 6c 20 61 29 20 7b 20 otion(bool a) {
1a690 5f 62 66 20 3d 20 28 5f 62 66 20 26 20 7e 32 29 _bf = (_bf & ~2)
1a6a0 20 7c 20 28 61 20 3c 3c 20 31 29 3b 20 72 65 74 | (a << 1); ret
1a6b0 75 72 6e 20 61 3b 20 7d 0a 2f 2b 0a 09 55 4c 4f urn a; }./+..ULO
1a6c0 4e 47 20 20 41 6c 6c 6f 77 44 65 6d 6f 74 69 6f NG AllowDemotio
1a6d0 6e 20 3a 20 31 3b 0a 09 55 4c 4f 4e 47 20 20 41 n : 1;..ULONG A
1a6e0 6c 6c 6f 77 50 72 6f 6d 6f 74 69 6f 6e 20 3a 20 llowPromotion :
1a6f0 31 3b 0a 09 55 4c 4f 4e 47 20 20 52 65 73 65 72 1;..ULONG Reser
1a700 76 65 64 20 3a 20 33 30 3b 0a 2b 2f 0a 7d 0a 61 ved : 30;.+/.}.a
1a710 6c 69 61 73 20 50 52 4f 43 45 53 53 4f 52 5f 50 lias PROCESSOR_P
1a720 4f 57 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f OWER_POLICY_INFO
1a730 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f 50 4f 57 * PPROCESSOR_POW
1a740 45 52 5f 50 4f 4c 49 43 59 5f 49 4e 46 4f 3b 0a ER_POLICY_INFO;.
1a750 0a 73 74 72 75 63 74 20 50 52 4f 43 45 53 53 4f .struct PROCESSO
1a760 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 7b R_POWER_POLICY {
1a770 0a 09 55 4c 4f 4e 47 20 20 20 20 52 65 76 69 73 ..ULONG Revis
1a780 69 6f 6e 3b 0a 09 55 43 48 41 52 20 20 20 20 44 ion;..UCHAR D
1a790 79 6e 61 6d 69 63 54 68 72 6f 74 74 6c 65 3b 0a ynamicThrottle;.
1a7a0 09 55 43 48 41 52 5b 33 5d 20 53 70 61 72 65 3b .UCHAR[3] Spare;
1a7b0 0a 09 55 4c 4f 4e 47 20 20 20 20 52 65 73 65 72 ..ULONG Reser
1a7c0 76 65 64 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 50 ved;..ULONG P
1a7d0 6f 6c 69 63 79 43 6f 75 6e 74 3b 0a 09 50 52 4f olicyCount;..PRO
1a7e0 43 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c CESSOR_POWER_POL
1a7f0 49 43 59 5f 49 4e 46 4f 5b 33 5d 20 50 6f 6c 69 ICY_INFO[3] Poli
1a800 63 79 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 4f 43 cy;.}.alias PROC
1a810 45 53 53 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 ESSOR_POWER_POLI
1a820 43 59 2a 20 50 50 52 4f 43 45 53 53 4f 52 5f 50 CY* PPROCESSOR_P
1a830 4f 57 45 52 5f 50 4f 4c 49 43 59 3b 0a 0a 73 74 OWER_POLICY;..st
1a840 72 75 63 74 20 41 44 4d 49 4e 49 53 54 52 41 54 ruct ADMINISTRAT
1a850 4f 52 5f 50 4f 57 45 52 5f 50 4f 4c 49 43 59 20 OR_POWER_POLICY
1a860 7b 0a 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f {..SYSTEM_POWER_
1a870 53 54 41 54 45 20 4d 69 6e 53 6c 65 65 70 3b 0a STATE MinSleep;.
1a880 09 53 59 53 54 45 4d 5f 50 4f 57 45 52 5f 53 54 .SYSTEM_POWER_ST
1a890 41 54 45 20 4d 61 78 53 6c 65 65 70 3b 0a 09 55 ATE MaxSleep;..U
1a8a0 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 LONG
1a8b0 20 20 4d 69 6e 56 69 64 65 6f 54 69 6d 65 6f 75 MinVideoTimeou
1a8c0 74 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 t;..ULONG
1a8d0 20 20 20 20 20 20 20 4d 61 78 56 69 64 65 6f 54 MaxVideoT
1a8e0 69 6d 65 6f 75 74 3b 0a 09 55 4c 4f 4e 47 20 20 imeout;..ULONG
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 4d 69 6e 53 MinS
1a900 70 69 6e 64 6f 77 6e 54 69 6d 65 6f 75 74 3b 0a pindownTimeout;.
1a910 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 .ULONG
1a920 20 20 20 20 4d 61 78 53 70 69 6e 64 6f 77 6e 54 MaxSpindownT
1a930 69 6d 65 6f 75 74 3b 0a 7d 0a 61 6c 69 61 73 20 imeout;.}.alias
1a940 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f ADMINISTRATOR_PO
1a950 57 45 52 5f 50 4f 4c 49 43 59 2a 20 50 41 44 4d WER_POLICY* PADM
1a960 49 4e 49 53 54 52 41 54 4f 52 5f 50 4f 57 45 52 INISTRATOR_POWER
1a970 5f 50 4f 4c 49 43 59 3b 0a 0a 2f 2f 7d 2f 2f 23 _POLICY;..//}//#
1a980 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 endif /* WINVER
1a990 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0a 0a 65 78 >= 0x0500 */..ex
1a9a0 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b tern (Windows) {
1a9b0 0a 09 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e ..alias void fun
1a9c0 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 44 57 4f ction(PVOID, DWO
1a9d0 52 44 2c 20 50 56 4f 49 44 29 20 50 49 4d 41 47 RD, PVOID) PIMAG
1a9e0 45 5f 54 4c 53 5f 43 41 4c 4c 42 41 43 4b 3b 0a E_TLS_CALLBACK;.
1a9f0 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 ..static if (_WI
1aa00 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 N32_WINNT_ONLY &
1aa10 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e & _WIN32_WINNT >
1aa20 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69 = 0x500) {...ali
1aa30 61 73 20 4c 4f 4e 47 20 66 75 6e 63 74 69 6f 6e as LONG function
1aa40 28 50 45 58 43 45 50 54 49 4f 4e 5f 50 4f 49 4e (PEXCEPTION_POIN
1aa50 54 45 52 53 29 20 50 56 45 43 54 4f 52 45 44 5f TERS) PVECTORED_
1aa60 45 58 43 45 50 54 49 4f 4e 5f 48 41 4e 44 4c 45 EXCEPTION_HANDLE
1aa70 52 3b 0a 09 09 61 6c 69 61 73 20 76 6f 69 64 20 R;...alias void
1aa80 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 function(PVOID,
1aa90 42 4f 4f 4c 45 41 4e 29 20 57 41 49 54 4f 52 54 BOOLEAN) WAITORT
1aaa0 49 4d 45 52 43 41 4c 4c 42 41 43 4b 46 55 4e 43 IMERCALLBACKFUNC
1aab0 3b 0a 09 7d 0a 7d 0a 0a 73 74 61 74 69 63 20 69 ;..}.}..static i
1aac0 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 35 f (WINVER >= 0x5
1aad0 30 31 29 20 7b 0a 09 65 6e 75 6d 20 48 45 41 50 01) {..enum HEAP
1aae0 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 _INFORMATION_CLA
1aaf0 53 53 20 7b 0a 09 09 48 65 61 70 43 6f 6d 70 61 SS {...HeapCompa
1ab00 74 69 62 69 6c 69 74 79 49 6e 66 6f 72 6d 61 74 tibilityInformat
1ab10 69 6f 6e 0a 09 7d 0a 0a 09 65 6e 75 6d 20 41 43 ion..}...enum AC
1ab20 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 TIVATION_CONTEXT
1ab30 5f 49 4e 46 4f 5f 43 4c 41 53 53 20 7b 0a 09 09 _INFO_CLASS {...
1ab40 41 63 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65 78 ActivationContex
1ab50 74 42 61 73 69 63 49 6e 66 6f 72 6d 61 74 69 6f tBasicInformatio
1ab60 6e 20 3d 20 31 2c 0a 09 09 41 63 74 69 76 61 74 n = 1,...Activat
1ab70 69 6f 6e 43 6f 6e 74 65 78 74 44 65 74 61 69 6c ionContextDetail
1ab80 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 edInformation,..
1ab90 09 41 73 73 65 6d 62 6c 79 44 65 74 61 69 6c 65 .AssemblyDetaile
1aba0 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 49 6e 41 63 dInformationInAc
1abb0 74 69 76 61 74 69 6f 6e 43 6f 6e 74 65 78 74 2c tivationContext,
1abc0 0a 09 09 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69 ...FileInformati
1abd0 6f 6e 49 6e 41 73 73 65 6d 62 6c 79 4f 66 41 73 onInAssemblyOfAs
1abe0 73 65 6d 62 6c 79 49 6e 41 63 74 69 76 61 74 69 semblyInActivati
1abf0 6f 6e 43 6f 6e 74 65 78 74 0a 09 7d 0a 0a 09 73 onContext..}...s
1ac00 74 72 75 63 74 20 41 43 54 49 56 41 54 49 4f 4e truct ACTIVATION
1ac10 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42 4c _CONTEXT_ASSEMBL
1ac20 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 Y_DETAILED_INFOR
1ac30 4d 41 54 49 4f 4e 20 7b 0a 09 09 44 57 4f 52 44 MATION {...DWORD
1ac40 20 20 20 20 20 20 20 20 20 75 6c 46 6c 61 67 73 ulFlags
1ac50 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
1ac60 20 20 75 6c 45 6e 63 6f 64 65 64 41 73 73 65 6d ulEncodedAssem
1ac70 62 6c 79 49 64 65 6e 74 69 74 79 4c 65 6e 67 74 blyIdentityLengt
1ac80 68 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 h;...DWORD
1ac90 20 20 20 75 6c 4d 61 6e 69 66 65 73 74 50 61 74 ulManifestPat
1aca0 68 54 79 70 65 3b 0a 09 09 44 57 4f 52 44 20 20 hType;...DWORD
1acb0 20 20 20 20 20 20 20 75 6c 4d 61 6e 69 66 65 73 ulManifes
1acc0 74 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09 4c tPathLength;...L
1acd0 41 52 47 45 5f 49 4e 54 45 47 45 52 20 6c 69 4d ARGE_INTEGER liM
1ace0 61 6e 69 66 65 73 74 4c 61 73 74 57 72 69 74 65 anifestLastWrite
1acf0 54 69 6d 65 3b 0a 09 09 44 57 4f 52 44 20 20 20 Time;...DWORD
1ad00 20 20 20 20 20 20 75 6c 50 6f 6c 69 63 79 50 61 ulPolicyPa
1ad10 74 68 54 79 70 65 3b 0a 09 09 44 57 4f 52 44 20 thType;...DWORD
1ad20 20 20 20 20 20 20 20 20 75 6c 50 6f 6c 69 63 79 ulPolicy
1ad30 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09 4c 41 PathLength;...LA
1ad40 52 47 45 5f 49 4e 54 45 47 45 52 20 6c 69 50 6f RGE_INTEGER liPo
1ad50 6c 69 63 79 4c 61 73 74 57 72 69 74 65 54 69 6d licyLastWriteTim
1ad60 65 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 e;...DWORD
1ad70 20 20 20 75 6c 4d 65 74 61 64 61 74 61 53 61 74 ulMetadataSat
1ad80 65 6c 6c 69 74 65 52 6f 73 74 65 72 49 6e 64 65 elliteRosterInde
1ad90 78 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 x;...DWORD
1ada0 20 20 20 75 6c 4d 61 6e 69 66 65 73 74 56 65 72 ulManifestVer
1adb0 73 69 6f 6e 4d 61 6a 6f 72 3b 0a 09 09 44 57 4f sionMajor;...DWO
1adc0 52 44 20 20 20 20 20 20 20 20 20 75 6c 4d 61 6e RD ulMan
1add0 69 66 65 73 74 56 65 72 73 69 6f 6e 4d 69 6e 6f ifestVersionMino
1ade0 72 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 r;...DWORD
1adf0 20 20 20 75 6c 50 6f 6c 69 63 79 56 65 72 73 69 ulPolicyVersi
1ae00 6f 6e 4d 61 6a 6f 72 3b 0a 09 09 44 57 4f 52 44 onMajor;...DWORD
1ae10 20 20 20 20 20 20 20 20 20 75 6c 50 6f 6c 69 63 ulPolic
1ae20 79 56 65 72 73 69 6f 6e 4d 69 6e 6f 72 3b 0a 09 yVersionMinor;..
1ae30 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 75 .DWORD u
1ae40 6c 41 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f lAssemblyDirecto
1ae50 72 79 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 09 ryNameLength;...
1ae60 50 43 57 53 54 52 20 20 20 20 20 20 20 20 6c 70 PCWSTR lp
1ae70 41 73 73 65 6d 62 6c 79 45 6e 63 6f 64 65 64 41 AssemblyEncodedA
1ae80 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 3b ssemblyIdentity;
1ae90 0a 09 09 50 43 57 53 54 52 20 20 20 20 20 20 20 ...PCWSTR
1aea0 20 6c 70 41 73 73 65 6d 62 6c 79 4d 61 6e 69 66 lpAssemblyManif
1aeb0 65 73 74 50 61 74 68 3b 0a 09 09 50 43 57 53 54 estPath;...PCWST
1aec0 52 20 20 20 20 20 20 20 20 6c 70 41 73 73 65 6d R lpAssem
1aed0 62 6c 79 50 6f 6c 69 63 79 50 61 74 68 3b 0a 09 blyPolicyPath;..
1aee0 09 50 43 57 53 54 52 20 20 20 20 20 20 20 20 6c .PCWSTR l
1aef0 70 41 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f pAssemblyDirecto
1af00 72 79 4e 61 6d 65 3b 0a 09 7d 0a 09 61 6c 69 61 ryName;..}..alia
1af10 73 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e s ACTIVATION_CON
1af20 54 45 58 54 5f 41 53 53 45 4d 42 4c 59 5f 44 45 TEXT_ASSEMBLY_DE
1af30 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 TAILED_INFORMATI
1af40 4f 4e 2a 0a 09 20 20 50 41 43 54 49 56 41 54 49 ON*.. PACTIVATI
1af50 4f 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d ON_CONTEXT_ASSEM
1af60 42 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 BLY_DETAILED_INF
1af70 4f 52 4d 41 54 49 4f 4e 3b 0a 09 61 6c 69 61 73 ORMATION;..alias
1af80 20 43 50 74 72 21 28 41 43 54 49 56 41 54 49 4f CPtr!(ACTIVATIO
1af90 4e 5f 43 4f 4e 54 45 58 54 5f 41 53 53 45 4d 42 N_CONTEXT_ASSEMB
1afa0 4c 59 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f LY_DETAILED_INFO
1afb0 52 4d 41 54 49 4f 4e 29 0a 09 20 20 50 43 41 43 RMATION).. PCAC
1afc0 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 TIVATION_CONTEXT
1afd0 5f 41 53 53 45 4d 42 4c 59 5f 44 45 54 41 49 4c _ASSEMBLY_DETAIL
1afe0 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a ED_INFORMATION;.
1aff0 0a 09 73 74 72 75 63 74 20 41 43 54 49 56 41 54 ..struct ACTIVAT
1b000 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 44 45 54 41 ION_CONTEXT_DETA
1b010 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e ILED_INFORMATION
1b020 20 7b 0a 09 09 44 57 4f 52 44 20 20 64 77 46 6c {...DWORD dwFl
1b030 61 67 73 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c ags;...DWORD ul
1b040 46 6f 72 6d 61 74 56 65 72 73 69 6f 6e 3b 0a 09 FormatVersion;..
1b050 09 44 57 4f 52 44 20 20 75 6c 41 73 73 65 6d 62 .DWORD ulAssemb
1b060 6c 79 43 6f 75 6e 74 3b 0a 09 09 44 57 4f 52 44 lyCount;...DWORD
1b070 20 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73 74 ulRootManifest
1b080 50 61 74 68 54 79 70 65 3b 0a 09 09 44 57 4f 52 PathType;...DWOR
1b090 44 20 20 75 6c 52 6f 6f 74 4d 61 6e 69 66 65 73 D ulRootManifes
1b0a0 74 50 61 74 68 43 68 61 72 73 3b 0a 09 09 44 57 tPathChars;...DW
1b0b0 4f 52 44 20 20 75 6c 52 6f 6f 74 43 6f 6e 66 69 ORD ulRootConfi
1b0c0 67 75 72 61 74 69 6f 6e 50 61 74 68 54 79 70 65 gurationPathType
1b0d0 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c 52 6f 6f ;...DWORD ulRoo
1b0e0 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 50 61 tConfigurationPa
1b0f0 74 68 43 68 61 72 73 3b 0a 09 09 44 57 4f 52 44 thChars;...DWORD
1b100 20 20 75 6c 41 70 70 44 69 72 50 61 74 68 54 79 ulAppDirPathTy
1b110 70 65 3b 0a 09 09 44 57 4f 52 44 20 20 75 6c 41 pe;...DWORD ulA
1b120 70 70 44 69 72 50 61 74 68 43 68 61 72 73 3b 0a ppDirPathChars;.
1b130 09 09 50 43 57 53 54 52 20 6c 70 52 6f 6f 74 4d ..PCWSTR lpRootM
1b140 61 6e 69 66 65 73 74 50 61 74 68 3b 0a 09 09 50 anifestPath;...P
1b150 43 57 53 54 52 20 6c 70 52 6f 6f 74 43 6f 6e 66 CWSTR lpRootConf
1b160 69 67 75 72 61 74 69 6f 6e 50 61 74 68 3b 0a 09 igurationPath;..
1b170 09 50 43 57 53 54 52 20 6c 70 41 70 70 44 69 72 .PCWSTR lpAppDir
1b180 50 61 74 68 3b 0a 09 7d 0a 09 61 6c 69 61 73 20 Path;..}..alias
1b190 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 ACTIVATION_CONTE
1b1a0 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f XT_DETAILED_INFO
1b1b0 52 4d 41 54 49 4f 4e 2a 0a 09 20 20 50 41 43 54 RMATION*.. PACT
1b1c0 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f IVATION_CONTEXT_
1b1d0 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 DETAILED_INFORMA
1b1e0 54 49 4f 4e 3b 0a 09 61 6c 69 61 73 20 43 50 74 TION;..alias CPt
1b1f0 72 21 28 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f r!(ACTIVATION_CO
1b200 4e 54 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 NTEXT_DETAILED_I
1b210 4e 46 4f 52 4d 41 54 49 4f 4e 29 0a 09 20 20 50 NFORMATION).. P
1b220 43 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 CACTIVATION_CONT
1b230 45 58 54 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 EXT_DETAILED_INF
1b240 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 09 73 74 72 75 ORMATION;...stru
1b250 63 74 20 41 43 54 49 56 41 54 49 4f 4e 5f 43 4f ct ACTIVATION_CO
1b260 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 4e 44 45 NTEXT_QUERY_INDE
1b270 58 20 7b 0a 09 09 55 4c 4f 4e 47 20 75 6c 41 73 X {...ULONG ulAs
1b280 73 65 6d 62 6c 79 49 6e 64 65 78 3b 0a 09 09 55 semblyIndex;...U
1b290 4c 4f 4e 47 20 75 6c 46 69 6c 65 49 6e 64 65 78 LONG ulFileIndex
1b2a0 49 6e 41 73 73 65 6d 62 6c 79 3b 0a 09 7d 0a 09 InAssembly;..}..
1b2b0 61 6c 69 61 73 20 41 43 54 49 56 41 54 49 4f 4e alias ACTIVATION
1b2c0 5f 43 4f 4e 54 45 58 54 5f 51 55 45 52 59 5f 49 _CONTEXT_QUERY_I
1b2d0 4e 44 45 58 2a 20 20 20 20 20 20 20 50 41 43 54 NDEX* PACT
1b2e0 49 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f IVATION_CONTEXT_
1b2f0 51 55 45 52 59 5f 49 4e 44 45 58 3b 0a 09 61 6c QUERY_INDEX;..al
1b300 69 61 73 20 43 50 74 72 21 28 41 43 54 49 56 41 ias CPtr!(ACTIVA
1b310 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51 55 45 TION_CONTEXT_QUE
1b320 52 59 5f 49 4e 44 45 58 29 20 50 43 41 43 54 49 RY_INDEX) PCACTI
1b330 56 41 54 49 4f 4e 5f 43 4f 4e 54 45 58 54 5f 51 VATION_CONTEXT_Q
1b340 55 45 52 59 5f 49 4e 44 45 58 3b 0a 0a 09 73 74 UERY_INDEX;...st
1b350 72 75 63 74 20 41 53 53 45 4d 42 4c 59 5f 46 49 ruct ASSEMBLY_FI
1b360 4c 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f LE_DETAILED_INFO
1b370 52 4d 41 54 49 4f 4e 20 7b 0a 09 09 44 57 4f 52 RMATION {...DWOR
1b380 44 20 20 75 6c 46 6c 61 67 73 3b 0a 09 09 44 57 D ulFlags;...DW
1b390 4f 52 44 20 20 75 6c 46 69 6c 65 6e 61 6d 65 4c ORD ulFilenameL
1b3a0 65 6e 67 74 68 3b 0a 09 09 44 57 4f 52 44 20 20 ength;...DWORD
1b3b0 75 6c 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 09 ulPathLength;...
1b3c0 50 43 57 53 54 52 20 6c 70 46 69 6c 65 4e 61 6d PCWSTR lpFileNam
1b3d0 65 3b 0a 09 09 50 43 57 53 54 52 20 6c 70 46 69 e;...PCWSTR lpFi
1b3e0 6c 65 50 61 74 68 3b 0a 09 7d 0a 09 61 6c 69 61 lePath;..}..alia
1b3f0 73 20 41 53 53 45 4d 42 4c 59 5f 46 49 4c 45 5f s ASSEMBLY_FILE_
1b400 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 4d 41 DETAILED_INFORMA
1b410 54 49 4f 4e 2a 0a 09 20 20 50 41 53 53 45 4d 42 TION*.. PASSEMB
1b420 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 44 LY_FILE_DETAILED
1b430 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 09 61 _INFORMATION;..a
1b440 6c 69 61 73 20 43 50 74 72 21 28 41 53 53 45 4d lias CPtr!(ASSEM
1b450 42 4c 59 5f 46 49 4c 45 5f 44 45 54 41 49 4c 45 BLY_FILE_DETAILE
1b460 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 29 0a 09 D_INFORMATION)..
1b470 20 20 50 43 41 53 53 45 4d 42 4c 59 5f 46 49 4c PCASSEMBLY_FIL
1b480 45 5f 44 45 54 41 49 4c 45 44 5f 49 4e 46 4f 52 E_DETAILED_INFOR
1b490 4d 41 54 49 4f 4e 3b 0a 7d 0a 0a 76 65 72 73 69 MATION;.}..versi
1b4a0 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09 on (Unicode) {..
1b4b0 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e 49 alias OSVERSIONI
1b4c0 4e 46 4f 57 20 4f 53 56 45 52 53 49 4f 4e 49 4e NFOW OSVERSIONIN
1b4d0 46 4f 3b 0a 09 61 6c 69 61 73 20 4f 53 56 45 52 FO;..alias OSVER
1b4e0 53 49 4f 4e 49 4e 46 4f 45 58 57 20 4f 53 56 45 SIONINFOEXW OSVE
1b4f0 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0a 7d 20 65 RSIONINFOEX;.} e
1b500 6c 73 65 20 7b 0a 09 61 6c 69 61 73 20 4f 53 56 lse {..alias OSV
1b510 45 52 53 49 4f 4e 49 4e 46 4f 41 20 4f 53 56 45 ERSIONINFOA OSVE
1b520 52 53 49 4f 4e 49 4e 46 4f 3b 0a 09 61 6c 69 61 RSIONINFO;..alia
1b530 73 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 45 s OSVERSIONINFOE
1b540 58 41 20 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f XA OSVERSIONINFO
1b550 45 58 3b 0a 7d 0a 0a 61 6c 69 61 73 20 4f 53 56 EX;.}..alias OSV
1b560 45 52 53 49 4f 4e 49 4e 46 4f 2a 20 20 20 50 4f ERSIONINFO* PO
1b570 53 56 45 52 53 49 4f 4e 49 4e 46 4f 2c 20 20 20 SVERSIONINFO,
1b580 4c 50 4f 53 56 45 52 53 49 4f 4e 49 4e 46 4f 3b LPOSVERSIONINFO;
1b590 0a 61 6c 69 61 73 20 4f 53 56 45 52 53 49 4f 4e .alias OSVERSION
1b5a0 49 4e 46 4f 45 58 2a 20 50 4f 53 56 45 52 53 49 INFOEX* POSVERSI
1b5b0 4f 4e 49 4e 46 4f 45 58 2c 20 4c 50 4f 53 56 45 ONINFOEX, LPOSVE
1b5c0 52 53 49 4f 4e 49 4e 46 4f 45 58 3b 0a 0a 0a 73 RSIONINFOEX;...s
1b5d0 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32
1b5e0 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 20 5f _WINNT_ONLY && _
1b5f0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
1b600 78 35 30 30 29 20 7b 0a 09 65 78 74 65 72 6e 20 x500) {..extern
1b610 28 57 69 6e 64 6f 77 73 29 20 55 4c 4f 4e 47 4c (Windows) ULONGL
1b620 4f 4e 47 20 56 65 72 53 65 74 43 6f 6e 64 69 74 ONG VerSetCondit
1b630 69 6f 6e 4d 61 73 6b 28 55 4c 4f 4e 47 4c 4f 4e ionMask(ULONGLON
1b640 47 2c 20 44 57 4f 52 44 2c 20 42 59 54 45 29 3b G, DWORD, BYTE);
1b650 0a 7d 0a 0a 76 65 72 73 69 6f 6e 20 28 57 69 6e .}..version (Win
1b660 36 34 29 20 7b 0a 09 63 6f 6e 73 74 20 57 4f 52 64) {..const WOR
1b670 44 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f D IMAGE_NT_OPTIO
1b680 4e 41 4c 5f 48 44 52 5f 4d 41 47 49 43 20 3d 20 NAL_HDR_MAGIC =
1b690 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 IMAGE_NT_OPTIONA
1b6a0 4c 5f 48 44 52 36 34 5f 4d 41 47 49 43 3b 0a 0a L_HDR64_MAGIC;..
1b6b0 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 .alias IMAGE_ORD
1b6c0 49 4e 41 4c 5f 46 4c 41 47 36 34 20 49 4d 41 47 INAL_FLAG64 IMAG
1b6d0 45 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 3b 0a E_ORDINAL_FLAG;.
1b6e0 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 53 4e 41 .alias IMAGE_SNA
1b6f0 50 5f 42 59 5f 4f 52 44 49 4e 41 4c 36 34 20 49 P_BY_ORDINAL64 I
1b700 4d 41 47 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 MAGE_SNAP_BY_ORD
1b710 49 4e 41 4c 3b 0a 09 61 6c 69 61 73 20 49 4d 41 INAL;..alias IMA
1b720 47 45 5f 4f 52 44 49 4e 41 4c 36 34 20 49 4d 41 GE_ORDINAL64 IMA
1b730 47 45 5f 4f 52 44 49 4e 41 4c 3b 0a 09 61 6c 69 GE_ORDINAL;..ali
1b740 61 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 as IMAGE_OPTIONA
1b750 4c 5f 48 45 41 44 45 52 36 34 20 49 4d 41 47 45 L_HEADER64 IMAGE
1b760 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 _OPTIONAL_HEADER
1b770 3b 0a 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e ;..alias IMAGE_N
1b780 54 5f 48 45 41 44 45 52 53 36 34 20 49 4d 41 47 T_HEADERS64 IMAG
1b790 45 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 09 61 E_NT_HEADERS;..a
1b7a0 6c 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b lias IMAGE_THUNK
1b7b0 5f 44 41 54 41 36 34 20 49 4d 41 47 45 5f 54 48 _DATA64 IMAGE_TH
1b7c0 55 4e 4b 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 UNK_DATA;..alias
1b7d0 20 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 IMAGE_TLS_DIREC
1b7e0 54 4f 52 59 36 34 20 49 4d 41 47 45 5f 54 4c 53 TORY64 IMAGE_TLS
1b7f0 5f 44 49 52 45 43 54 4f 52 59 3b 0a 7d 20 65 6c _DIRECTORY;.} el
1b800 73 65 20 7b 0a 09 63 6f 6e 73 74 20 57 4f 52 44 se {..const WORD
1b810 20 49 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e IMAGE_NT_OPTION
1b820 41 4c 5f 48 44 52 5f 4d 41 47 49 43 20 3d 20 49 AL_HDR_MAGIC = I
1b830 4d 41 47 45 5f 4e 54 5f 4f 50 54 49 4f 4e 41 4c MAGE_NT_OPTIONAL
1b840 5f 48 44 52 33 32 5f 4d 41 47 49 43 3b 0a 0a 09 _HDR32_MAGIC;...
1b850 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49 alias IMAGE_ORDI
1b860 4e 41 4c 5f 46 4c 41 47 33 32 20 49 4d 41 47 45 NAL_FLAG32 IMAGE
1b870 5f 4f 52 44 49 4e 41 4c 5f 46 4c 41 47 3b 0a 09 _ORDINAL_FLAG;..
1b880 61 6c 69 61 73 20 49 4d 41 47 45 5f 4f 52 44 49 alias IMAGE_ORDI
1b890 4e 41 4c 33 32 20 49 4d 41 47 45 5f 4f 52 44 49 NAL32 IMAGE_ORDI
1b8a0 4e 41 4c 3b 0a 09 61 6c 69 61 73 20 49 4d 41 47 NAL;..alias IMAG
1b8b0 45 5f 53 4e 41 50 5f 42 59 5f 4f 52 44 49 4e 41 E_SNAP_BY_ORDINA
1b8c0 4c 33 32 20 49 4d 41 47 45 5f 53 4e 41 50 5f 42 L32 IMAGE_SNAP_B
1b8d0 59 5f 4f 52 44 49 4e 41 4c 3b 0a 09 61 6c 69 61 Y_ORDINAL;..alia
1b8e0 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e 41 4c s IMAGE_OPTIONAL
1b8f0 5f 48 45 41 44 45 52 33 32 20 49 4d 41 47 45 5f _HEADER32 IMAGE_
1b900 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 52 3b OPTIONAL_HEADER;
1b910 0a 09 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e 54 ..alias IMAGE_NT
1b920 5f 48 45 41 44 45 52 53 33 32 20 49 4d 41 47 45 _HEADERS32 IMAGE
1b930 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 09 61 6c _NT_HEADERS;..al
1b940 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f ias IMAGE_THUNK_
1b950 44 41 54 41 33 32 20 49 4d 41 47 45 5f 54 48 55 DATA32 IMAGE_THU
1b960 4e 4b 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 NK_DATA;..alias
1b970 49 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 IMAGE_TLS_DIRECT
1b980 4f 52 59 33 32 20 49 4d 41 47 45 5f 54 4c 53 5f ORY32 IMAGE_TLS_
1b990 44 49 52 45 43 54 4f 52 59 3b 0a 7d 0a 0a 61 6c DIRECTORY;.}..al
1b9a0 69 61 73 20 49 4d 41 47 45 5f 4f 50 54 49 4f 4e ias IMAGE_OPTION
1b9b0 41 4c 5f 48 45 41 44 45 52 2a 20 50 49 4d 41 47 AL_HEADER* PIMAG
1b9c0 45 5f 4f 50 54 49 4f 4e 41 4c 5f 48 45 41 44 45 E_OPTIONAL_HEADE
1b9d0 52 3b 0a 61 6c 69 61 73 20 49 4d 41 47 45 5f 4e R;.alias IMAGE_N
1b9e0 54 5f 48 45 41 44 45 52 53 2a 20 50 49 4d 41 47 T_HEADERS* PIMAG
1b9f0 45 5f 4e 54 5f 48 45 41 44 45 52 53 3b 0a 61 6c E_NT_HEADERS;.al
1ba00 69 61 73 20 49 4d 41 47 45 5f 54 48 55 4e 4b 5f ias IMAGE_THUNK_
1ba10 44 41 54 41 2a 20 50 49 4d 41 47 45 5f 54 48 55 DATA* PIMAGE_THU
1ba20 4e 4b 5f 44 41 54 41 3b 0a 61 6c 69 61 73 20 49 NK_DATA;.alias I
1ba30 4d 41 47 45 5f 54 4c 53 5f 44 49 52 45 43 54 4f MAGE_TLS_DIRECTO
1ba40 52 59 2a 20 50 49 4d 41 47 45 5f 54 4c 53 5f 44 RY* PIMAGE_TLS_D
1ba50 49 52 45 43 54 4f 52 59 3b 0a 0a 2f 2f 20 54 4f IRECTORY;..// TO
1ba60 44 4f 3a 20 4d 69 6e 47 57 20 69 6d 70 6c 65 6d DO: MinGW implem
1ba70 65 6e 74 73 20 74 68 65 73 65 20 69 6e 20 61 73 ents these in as
1ba80 73 65 6d 62 6c 79 2e 20 20 48 6f 77 20 74 6f 20 sembly. How to
1ba90 74 72 61 6e 73 6c 61 74 65 3f 0a 50 56 4f 49 44 translate?.PVOID
1baa0 20 47 65 74 43 75 72 72 65 6e 74 46 69 62 65 72 GetCurrentFiber
1bab0 28 29 3b 0a 50 56 4f 49 44 20 47 65 74 46 69 62 ();.PVOID GetFib
1bac0 65 72 44 61 74 61 28 29 3b 0a erData();.