Hex Artifact Content

Not logged in

Artifact aed39609d10f216906890399b6e238ab9e2b9ae4:


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 73 65 74 75 70 61            setupa
0070: 70 69 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  pi.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: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
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 62 79 20 56 6c 61 64 69          by Vladi
01e0: 6d 69 72 20 56 6c 61 73 6f 76 20 20 20 20 20 20  mir Vlasov      
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 20 20                  
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69          Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a          *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32  **/.module win32
02f0: 2e 73 65 74 75 70 61 70 69 3b 0a 70 72 61 67 6d  .setupapi;.pragm
0300: 61 28 6c 69 62 2c 20 22 73 65 74 75 70 61 70 69  a(lib, "setupapi
0310: 2e 6c 69 62 22 29 3b 0a 0a 70 72 69 76 61 74 65  .lib");..private
0320: 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 62 61   import win32.ba
0330: 73 65 74 79 70 73 2c 20 77 69 6e 33 32 2e 63 6f  setyps, win32.co
0340: 6d 6d 63 74 72 6c 2c 20 77 69 6e 33 32 2e 70 72  mmctrl, win32.pr
0350: 73 68 74 2c 20 77 69 6e 33 32 2e 77 33 32 61 70  sht, win32.w32ap
0360: 69 2c 0a 20 20 77 69 6e 33 32 2e 77 69 6e 72 65  i,.  win32.winre
0370: 67 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b  g, win32.windef;
0380: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20  .private import 
0390: 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 3b 20 2f  win32.winbase; /
03a0: 2f 20 66 6f 72 20 53 59 53 54 45 4d 54 49 4d 45  / for SYSTEMTIME
03b0: 0a 0a 2f 2a 73 74 61 74 69 63 20 69 66 28 5f 57  ../*static if(_W
03c0: 49 4e 33 32 5f 57 49 4e 4e 54 20 3c 20 5f 57 49  IN32_WINNT < _WI
03d0: 4e 33 32 5f 57 49 4e 44 4f 57 53 29 20 7b 0a 09  N32_WINDOWS) {..
03e0: 63 6f 6e 73 74 20 55 49 4e 54 20 5f 53 45 54 55  const UINT _SETU
03f0: 50 41 50 49 5f 56 45 52 20 3d 20 5f 57 49 4e 33  PAPI_VER = _WIN3
0400: 32 5f 57 49 4e 4e 54 3b 20 2f 2f 20 53 65 74 75  2_WINNT; // Setu
0410: 70 41 50 49 20 76 65 72 73 69 6f 6e 20 66 6f 6c  pAPI version fol
0420: 6c 6f 77 73 20 57 69 6e 64 6f 77 73 20 4e 54 20  lows Windows NT 
0430: 76 65 72 73 69 6f 6e 0a 7d 20 65 6c 73 65 20 73  version.} else s
0440: 74 61 74 69 63 20 69 66 28 5f 57 49 4e 33 32 5f  tatic if(_WIN32_
0450: 57 49 4e 44 4f 57 53 29 20 7b 0a 09 73 74 61 74  WINDOWS) {..stat
0460: 69 63 20 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  ic if(_WIN32_WIN
0470: 44 4f 57 53 20 3e 3d 20 30 78 30 34 39 30 29 20  DOWS >= 0x0490) 
0480: 7b 0a 09 09 63 6f 6e 73 74 20 55 49 4e 54 20 5f  {...const UINT _
0490: 53 45 54 55 50 41 50 49 5f 56 45 52 20 3d 20 30  SETUPAPI_VER = 0
04a0: 78 30 35 30 30 3b 20 20 20 20 20 2f 2f 20 57 69  x0500;     // Wi
04b0: 6e 4d 45 20 75 73 65 73 20 73 61 6d 65 20 76 65  nME uses same ve
04c0: 72 73 69 6f 6e 20 6f 66 20 53 65 74 75 70 41 50  rsion of SetupAP
04d0: 49 20 61 73 20 57 69 6e 32 6b 0a 09 7d 20 65 6c  I as Win2k..} el
04e0: 73 65 20 73 74 61 74 69 63 20 69 66 28 5f 57 49  se static if(_WI
04f0: 4e 33 32 5f 57 49 4e 44 4f 57 53 20 3e 3d 20 30  N32_WINDOWS >= 0
0500: 78 30 34 31 30 29 20 7b 0a 09 09 63 6f 6e 73 74  x0410) {...const
0510: 20 55 49 4e 54 20 5f 53 45 54 55 50 41 50 49 5f   UINT _SETUPAPI_
0520: 56 45 52 20 3d 20 30 78 30 34 31 30 3b 20 20 20  VER = 0x0410;   
0530: 20 20 2f 2f 20 49 6e 64 69 63 61 74 65 73 20 76    // Indicates v
0540: 65 72 73 69 6f 6e 20 6f 66 20 53 65 74 75 70 41  ersion of SetupA
0550: 50 49 20 73 68 69 70 70 65 64 20 77 69 74 68 20  PI shipped with 
0560: 57 69 6e 39 38 0a 09 7d 20 65 6c 73 65 20 7b 0a  Win98..} else {.
0570: 09 09 63 6f 6e 73 74 20 55 49 4e 54 20 5f 53 45  ..const UINT _SE
0580: 54 55 50 41 50 49 5f 56 45 52 20 3d 20 30 78 30  TUPAPI_VER = 0x0
0590: 34 30 30 3b 20 20 20 20 20 2f 2f 20 45 61 72 6c  400;     // Earl
05a0: 69 65 73 74 20 53 65 74 75 70 41 50 49 20 76 65  iest SetupAPI ve
05b0: 72 73 69 6f 6e 0a 09 7d 0a 7d 20 65 6c 73 65 20  rsion..}.} else 
05c0: 7b 0a 09 63 6f 6e 73 74 20 55 49 4e 54 20 5f 53  {..const UINT _S
05d0: 45 54 55 50 41 50 49 5f 56 45 52 20 3d 20 30 78  ETUPAPI_VER = 0x
05e0: 30 35 30 31 3b 0a 7d 0a 0a 76 65 72 73 69 6f 6e  0501;.}..version
05f0: 20 28 57 69 6e 64 6f 77 73 4e 54 6f 6e 6c 79 29   (WindowsNTonly)
0600: 20 7b 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f   {..static if (_
0610: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
0620: 78 35 30 30 29 20 7b 0a 09 09 63 6f 6e 73 74 20  x500) {...const 
0630: 55 49 4e 54 20 55 53 45 5f 53 50 5f 44 52 56 49  UINT USE_SP_DRVI
0640: 4e 46 4f 5f 44 41 54 41 5f 56 31 20 3d 20 30 3b  NFO_DATA_V1 = 0;
0650: 0a 09 7d 20 65 6c 73 65 20 7b 0a 09 09 63 6f 6e  ..} else {...con
0660: 73 74 20 55 49 4e 54 20 55 53 45 5f 53 50 5f 44  st UINT USE_SP_D
0670: 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56 31 20 3d  RVINFO_DATA_V1 =
0680: 20 31 3b 0a 09 7d 0a 7d 20 65 6c 73 65 20 7b 0a   1;..}.} else {.
0690: 09 63 6f 6e 73 74 20 55 49 4e 54 20 55 53 45 5f  .const UINT USE_
06a0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
06b0: 56 31 20 3d 20 31 3b 0a 7d 2a 2f 0a 2f 2b 0a 63  V1 = 1;.}*/./+.c
06c0: 6f 6e 73 74 20 55 49 4e 54 20 5f 53 45 54 55 50  onst UINT _SETUP
06d0: 41 50 49 5f 56 45 52 20 3d 20 30 78 30 34 30 30  API_VER = 0x0400
06e0: 3b 20 20 20 20 20 2f 2f 20 45 61 72 6c 69 65 73  ;     // Earlies
06f0: 74 20 53 65 74 75 70 41 50 49 20 76 65 72 73 69  t SetupAPI versi
0700: 6f 6e 0a 63 6f 6e 73 74 20 55 49 4e 54 20 55 53  on.const UINT US
0710: 45 5f 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54  E_SP_DRVINFO_DAT
0720: 41 5f 56 31 20 3d 20 31 3b 0a 2b 2f 0a 63 6f 6e  A_V1 = 1;.+/.con
0730: 73 74 20 55 49 4e 54 20 5f 53 45 54 55 50 41 50  st UINT _SETUPAP
0740: 49 5f 56 45 52 20 20 20 20 20 20 20 20 20 20 3d  I_VER          =
0750: 20 57 49 4e 56 45 52 3b 0a 63 6f 6e 73 74 20 62   WINVER;.const b
0760: 6f 6f 6c 20 55 53 45 5f 53 50 5f 44 52 56 49 4e  ool USE_SP_DRVIN
0770: 46 4f 5f 44 41 54 41 5f 56 31 20 3d 20 21 5f 57  FO_DATA_V1 = !_W
0780: 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20  IN32_WINNT_ONLY 
0790: 7c 7c 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  || _WIN32_WINNT 
07a0: 3c 20 30 78 35 30 30 3b 0a 0a 65 6e 75 6d 20 3a  < 0x500;..enum :
07b0: 20 75 69 6e 74 20 7b 0a 09 4c 49 4e 45 5f 4c 45   uint {..LINE_LE
07c0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  N               
07d0: 20 20 20 3d 20 32 35 36 2c 0a 09 4d 41 58 5f 49     = 256,..MAX_I
07e0: 4e 46 5f 53 54 52 49 4e 47 5f 4c 45 4e 47 54 48  NF_STRING_LENGTH
07f0: 20 20 20 20 20 3d 20 34 30 39 36 2c 0a 09 4d 41       = 4096,..MA
0800: 58 5f 54 49 54 4c 45 5f 4c 45 4e 20 20 20 20 20  X_TITLE_LEN     
0810: 20 20 20 20 20 20 20 20 3d 20 36 30 2c 0a 09 4d          = 60,..M
0820: 41 58 5f 49 4e 53 54 52 55 43 54 49 4f 4e 5f 4c  AX_INSTRUCTION_L
0830: 45 4e 20 20 20 20 20 20 20 3d 20 32 35 36 2c 0a  EN       = 256,.
0840: 09 4d 41 58 5f 4c 41 42 45 4c 5f 4c 45 4e 20 20  .MAX_LABEL_LEN  
0850: 20 20 20 20 20 20 20 20 20 20 20 3d 20 33 30 2c             = 30,
0860: 0a 09 4d 41 58 5f 53 45 52 56 49 43 45 5f 4e 41  ..MAX_SERVICE_NA
0870: 4d 45 5f 4c 45 4e 20 20 20 20 20 20 3d 20 32 35  ME_LEN      = 25
0880: 36 2c 0a 09 4d 41 58 5f 53 55 42 54 49 54 4c 45  6,..MAX_SUBTITLE
0890: 5f 4c 45 4e 20 20 20 20 20 20 20 20 20 20 3d 20  _LEN          = 
08a0: 32 35 36 2c 0a 09 53 50 5f 4d 41 58 5f 4d 41 43  256,..SP_MAX_MAC
08b0: 48 49 4e 45 4e 41 4d 45 5f 4c 45 4e 47 54 48 20  HINENAME_LENGTH 
08c0: 3d 20 4d 41 58 5f 50 41 54 48 20 2b 20 33 0a 7d  = MAX_PATH + 3.}
08d0: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
08e0: 0a 09 43 4f 50 59 46 4c 47 5f 57 41 52 4e 5f 49  ..COPYFLG_WARN_I
08f0: 46 5f 53 4b 49 50 20 20 20 20 20 20 20 20 20 3d  F_SKIP         =
0900: 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09 43 4f   0x00000001,..CO
0910: 50 59 46 4c 47 5f 4e 4f 53 4b 49 50 20 20 20 20  PYFLG_NOSKIP    
0920: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
0930: 30 30 30 30 30 30 32 2c 0a 09 43 4f 50 59 46 4c  0000002,..COPYFL
0940: 47 5f 4e 4f 56 45 52 53 49 4f 4e 43 48 45 43 4b  G_NOVERSIONCHECK
0950: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
0960: 30 30 34 2c 0a 09 43 4f 50 59 46 4c 47 5f 46 4f  004,..COPYFLG_FO
0970: 52 43 45 5f 46 49 4c 45 5f 49 4e 5f 55 53 45 20  RCE_FILE_IN_USE 
0980: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c     = 0x00000008,
0990: 0a 09 43 4f 50 59 46 4c 47 5f 4e 4f 5f 4f 56 45  ..COPYFLG_NO_OVE
09a0: 52 57 52 49 54 45 20 20 20 20 20 20 20 20 20 3d  RWRITE         =
09b0: 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09 43 4f   0x00000010,..CO
09c0: 50 59 46 4c 47 5f 4e 4f 5f 56 45 52 53 49 4f 4e  PYFLG_NO_VERSION
09d0: 5f 44 49 41 4c 4f 47 20 20 20 20 3d 20 30 78 30  _DIALOG    = 0x0
09e0: 30 30 30 30 30 32 30 2c 0a 09 43 4f 50 59 46 4c  0000020,..COPYFL
09f0: 47 5f 4f 56 45 52 57 52 49 54 45 5f 4f 4c 44 45  G_OVERWRITE_OLDE
0a00: 52 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30  R_ONLY = 0x00000
0a10: 30 34 30 2c 0a 09 43 4f 50 59 46 4c 47 5f 52 45  040,..COPYFLG_RE
0a20: 50 4c 41 43 45 4f 4e 4c 59 20 20 20 20 20 20 20  PLACEONLY       
0a30: 20 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c     = 0x00000400,
0a40: 0a 09 43 4f 50 59 46 4c 47 5f 4e 4f 44 45 43 4f  ..COPYFLG_NODECO
0a50: 4d 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  MP             =
0a60: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 43 4f   0x00000800,..CO
0a70: 50 59 46 4c 47 5f 52 45 50 4c 41 43 45 5f 42 4f  PYFLG_REPLACE_BO
0a80: 4f 54 5f 46 49 4c 45 20 20 20 20 3d 20 30 78 30  OT_FILE    = 0x0
0a90: 30 30 30 31 30 30 30 2c 0a 09 43 4f 50 59 46 4c  0001000,..COPYFL
0aa0: 47 5f 4e 4f 50 52 55 4e 45 20 20 20 20 20 20 20  G_NOPRUNE       
0ab0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 32         = 0x00002
0ac0: 30 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57  000.}..enum : DW
0ad0: 4f 52 44 20 7b 0a 09 44 45 4c 46 4c 47 5f 49 4e  ORD {..DELFLG_IN
0ae0: 5f 55 53 45 20 20 3d 20 30 78 30 30 30 30 30 30  _USE  = 0x000000
0af0: 30 31 2c 0a 09 44 45 4c 46 4c 47 5f 49 4e 5f 55  01,..DELFLG_IN_U
0b00: 53 45 31 20 3d 20 30 78 30 30 30 31 30 30 30 30  SE1 = 0x00010000
0b10: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44  .}..enum : DWORD
0b20: 20 7b 0a 09 44 49 5f 52 45 4d 4f 56 45 44 45 56   {..DI_REMOVEDEV
0b30: 49 43 45 5f 47 4c 4f 42 41 4c 20 20 20 20 20 20  ICE_GLOBAL      
0b40: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
0b50: 30 30 30 31 2c 0a 09 44 49 5f 52 45 4d 4f 56 45  0001,..DI_REMOVE
0b60: 44 45 56 49 43 45 5f 43 4f 4e 46 49 47 53 50 45  DEVICE_CONFIGSPE
0b70: 43 49 46 49 43 20 20 20 20 20 20 3d 20 30 78 30  CIFIC      = 0x0
0b80: 30 30 30 30 30 30 32 2c 0a 09 44 49 5f 55 4e 52  0000002,..DI_UNR
0b90: 45 4d 4f 56 45 44 45 56 49 43 45 5f 43 4f 4e 46  EMOVEDEVICE_CONF
0ba0: 49 47 53 50 45 43 49 46 49 43 20 20 20 20 3d 20  IGSPECIFIC    = 
0bb0: 30 78 30 30 30 30 30 30 30 32 2c 0a 09 44 49 5f  0x00000002,..DI_
0bc0: 53 48 4f 57 4f 45 4d 20 20 20 20 20 20 20 20 20  SHOWOEM         
0bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0be0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
0bf0: 44 49 5f 53 48 4f 57 43 4f 4d 50 41 54 20 20 20  DI_SHOWCOMPAT   
0c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c10: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32      = 0x00000002
0c20: 2c 0a 09 44 49 5f 53 48 4f 57 43 4c 41 53 53 20  ,..DI_SHOWCLASS 
0c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c40: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
0c50: 30 30 34 2c 0a 09 44 49 5f 53 48 4f 57 41 4c 4c  004,..DI_SHOWALL
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c70: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
0c80: 30 30 30 30 30 37 2c 0a 09 44 49 5f 4e 4f 56 43  000007,..DI_NOVC
0c90: 50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  P               
0ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
0cb0: 78 30 30 30 30 30 30 30 38 2c 0a 09 44 49 5f 44  x00000008,..DI_D
0cc0: 49 44 43 4f 4d 50 41 54 20 20 20 20 20 20 20 20  IDCOMPAT        
0cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ce0: 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09 44  = 0x00000010,..D
0cf0: 49 5f 44 49 44 43 4c 41 53 53 20 20 20 20 20 20  I_DIDCLASS      
0d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d10: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c     = 0x00000020,
0d20: 0a 09 44 49 5f 41 55 54 4f 41 53 53 49 47 4e 52  ..DI_AUTOASSIGNR
0d30: 45 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ES              
0d40: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
0d50: 34 30 2c 0a 09 44 49 5f 4e 45 45 44 52 45 53 54  40,..DI_NEEDREST
0d60: 41 52 54 20 20 20 20 20 20 20 20 20 20 20 20 20  ART             
0d70: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
0d80: 30 30 30 38 30 2c 0a 09 44 49 5f 4e 45 45 44 52  00080,..DI_NEEDR
0d90: 45 42 4f 4f 54 20 20 20 20 20 20 20 20 20 20 20  EBOOT           
0da0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
0db0: 30 30 30 30 30 31 30 30 2c 0a 09 44 49 5f 4e 4f  00000100,..DI_NO
0dc0: 42 52 4f 57 53 45 20 20 20 20 20 20 20 20 20 20  BROWSE          
0dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
0de0: 20 30 78 30 30 30 30 30 32 30 30 2c 0a 09 44 49   0x00000200,..DI
0df0: 5f 4d 55 4c 54 4d 46 47 53 20 20 20 20 20 20 20  _MULTMFGS       
0e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0e10: 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0a    = 0x00000400,.
0e20: 09 44 49 5f 44 49 53 41 42 4c 45 44 20 20 20 20  .DI_DISABLED    
0e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0e40: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30       = 0x0000080
0e50: 30 2c 0a 09 44 49 5f 47 45 4e 45 52 41 4c 50 41  0,..DI_GENERALPA
0e60: 47 45 5f 41 44 44 45 44 20 20 20 20 20 20 20 20  GE_ADDED        
0e70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
0e80: 31 30 30 30 2c 0a 09 44 49 5f 52 45 53 4f 55 52  1000,..DI_RESOUR
0e90: 43 45 50 41 47 45 5f 41 44 44 45 44 20 20 20 20  CEPAGE_ADDED    
0ea0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
0eb0: 30 30 30 32 30 30 30 2c 0a 09 44 49 5f 50 52 4f  0002000,..DI_PRO
0ec0: 50 45 52 54 49 45 53 5f 43 48 41 4e 47 45 20 20  PERTIES_CHANGE  
0ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
0ee0: 30 78 30 30 30 30 34 30 30 30 2c 0a 09 44 49 5f  0x00004000,..DI_
0ef0: 49 4e 46 5f 49 53 5f 53 4f 52 54 45 44 20 20 20  INF_IS_SORTED   
0f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f10: 20 3d 20 30 78 30 30 30 30 38 30 30 30 2c 0a 09   = 0x00008000,..
0f20: 44 49 5f 45 4e 55 4d 53 49 4e 47 4c 45 49 4e 46  DI_ENUMSINGLEINF
0f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f40: 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30 30      = 0x00010000
0f50: 2c 0a 09 44 49 5f 44 4f 4e 4f 54 43 41 4c 4c 43  ,..DI_DONOTCALLC
0f60: 4f 4e 46 49 47 4d 47 20 20 20 20 20 20 20 20 20  ONFIGMG         
0f70: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 30         = 0x00020
0f80: 30 30 30 2c 0a 09 44 49 5f 49 4e 53 54 41 4c 4c  000,..DI_INSTALL
0f90: 44 49 53 41 42 4c 45 44 20 20 20 20 20 20 20 20  DISABLED        
0fa0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
0fb0: 30 34 30 30 30 30 2c 0a 09 44 49 5f 43 4f 4d 50  040000,..DI_COMP
0fc0: 41 54 5f 46 52 4f 4d 5f 43 4c 41 53 53 20 20 20  AT_FROM_CLASS   
0fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
0fe0: 78 30 30 30 38 30 30 30 30 2c 0a 09 44 49 5f 43  x00080000,..DI_C
0ff0: 4c 41 53 53 49 4e 53 54 41 4c 4c 50 41 52 41 4d  LASSINSTALLPARAM
1000: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  S               
1010: 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 44  = 0x00100000,..D
1020: 49 5f 4e 4f 44 49 5f 44 45 46 41 55 4c 54 41 43  I_NODI_DEFAULTAC
1030: 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20  TION            
1040: 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 2c     = 0x00200000,
1050: 0a 09 44 49 5f 51 55 49 45 54 49 4e 53 54 41 4c  ..DI_QUIETINSTAL
1060: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  L               
1070: 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 30 30        = 0x008000
1080: 30 30 2c 0a 09 44 49 5f 4e 4f 46 49 4c 45 43 4f  00,..DI_NOFILECO
1090: 50 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20  PY              
10a0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30           = 0x010
10b0: 30 30 30 30 30 2c 0a 09 44 49 5f 46 4f 52 43 45  00000,..DI_FORCE
10c0: 43 4f 50 59 20 20 20 20 20 20 20 20 20 20 20 20  COPY            
10d0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
10e0: 30 32 30 30 30 30 30 30 2c 0a 09 44 49 5f 44 52  02000000,..DI_DR
10f0: 49 56 45 52 50 41 47 45 5f 41 44 44 45 44 20 20  IVERPAGE_ADDED  
1100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
1110: 20 30 78 30 34 30 30 30 30 30 30 2c 0a 09 44 49   0x04000000,..DI
1120: 5f 55 53 45 43 49 5f 53 45 4c 45 43 54 53 54 52  _USECI_SELECTSTR
1130: 49 4e 47 53 20 20 20 20 20 20 20 20 20 20 20 20  INGS            
1140: 20 20 3d 20 30 78 30 38 30 30 30 30 30 30 2c 0a    = 0x08000000,.
1150: 09 44 49 5f 4f 56 45 52 52 49 44 45 5f 49 4e 46  .DI_OVERRIDE_INF
1160: 46 4c 41 47 53 20 20 20 20 20 20 20 20 20 20 20  FLAGS           
1170: 20 20 20 20 20 3d 20 30 78 31 30 30 30 30 30 30       = 0x1000000
1180: 30 2c 0a 09 44 49 5f 50 52 4f 50 53 5f 4e 4f 43  0,..DI_PROPS_NOC
1190: 48 41 4e 47 45 55 53 41 47 45 20 20 20 20 20 20  HANGEUSAGE      
11a0: 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30          = 0x2000
11b0: 30 30 30 30 2c 0a 09 44 49 5f 4e 4f 53 45 4c 45  0000,..DI_NOSELE
11c0: 43 54 49 43 4f 4e 53 20 20 20 20 20 20 20 20 20  CTICONS         
11d0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 34             = 0x4
11e0: 30 30 30 30 30 30 30 2c 0a 09 44 49 5f 4e 4f 57  0000000,..DI_NOW
11f0: 52 49 54 45 5f 49 44 53 20 20 20 20 20 20 20 20  RITE_IDS        
1200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
1210: 30 78 38 30 30 30 30 30 30 30 2c 0a 09 44 49 5f  0x80000000,..DI_
1220: 46 4c 41 47 53 45 58 5f 55 53 45 4f 4c 44 49 4e  FLAGSEX_USEOLDIN
1230: 46 53 45 41 52 43 48 20 20 20 20 20 20 20 20 20  FSEARCH         
1240: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
1250: 44 49 5f 46 4c 41 47 53 45 58 5f 41 55 54 4f 53  DI_FLAGSEX_AUTOS
1260: 45 4c 45 43 54 52 41 4e 4b 30 20 20 20 20 20 20  ELECTRANK0      
1270: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32      = 0x00000002
1280: 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f 43 49  ,..DI_FLAGSEX_CI
1290: 5f 46 41 49 4c 45 44 20 20 20 20 20 20 20 20 20  _FAILED         
12a0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
12b0: 30 30 34 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58  004,..DI_FLAGSEX
12c0: 5f 44 49 44 49 4e 46 4f 4c 49 53 54 20 20 20 20  _DIDINFOLIST    
12d0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
12e0: 30 30 30 30 31 30 2c 0a 09 44 49 5f 46 4c 41 47  000010,..DI_FLAG
12f0: 53 45 58 5f 44 49 44 43 4f 4d 50 41 54 49 4e 46  SEX_DIDCOMPATINF
1300: 4f 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  O            = 0
1310: 78 30 30 30 30 30 30 32 30 2c 0a 09 44 49 5f 46  x00000020,..DI_F
1320: 4c 41 47 53 45 58 5f 46 49 4c 54 45 52 43 4c 41  LAGSEX_FILTERCLA
1330: 53 53 45 53 20 20 20 20 20 20 20 20 20 20 20 20  SSES            
1340: 3d 20 30 78 30 30 30 30 30 30 34 30 2c 0a 09 44  = 0x00000040,..D
1350: 49 5f 46 4c 41 47 53 45 58 5f 53 45 54 46 41 49  I_FLAGSEX_SETFAI
1360: 4c 45 44 49 4e 53 54 41 4c 4c 20 20 20 20 20 20  LEDINSTALL      
1370: 20 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c     = 0x00000080,
1380: 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f 44 45 56  ..DI_FLAGSEX_DEV
1390: 49 43 45 43 48 41 4e 47 45 20 20 20 20 20 20 20  ICECHANGE       
13a0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31        = 0x000001
13b0: 30 30 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f  00,..DI_FLAGSEX_
13c0: 41 4c 57 41 59 53 57 52 49 54 45 49 44 53 20 20  ALWAYSWRITEIDS  
13d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
13e0: 30 30 32 30 30 2c 0a 09 44 49 5f 46 4c 41 47 53  00200,..DI_FLAGS
13f0: 45 58 5f 50 52 4f 50 43 48 41 4e 47 45 5f 50 45  EX_PROPCHANGE_PE
1400: 4e 44 49 4e 47 20 20 20 20 20 20 20 3d 20 30 78  NDING       = 0x
1410: 30 30 30 30 30 34 30 30 2c 0a 09 44 49 5f 46 4c  00000400,..DI_FL
1420: 41 47 53 45 58 5f 41 4c 4c 4f 57 45 58 43 4c 55  AGSEX_ALLOWEXCLU
1430: 44 45 44 44 52 56 53 20 20 20 20 20 20 20 20 3d  DEDDRVS        =
1440: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 44 49   0x00000800,..DI
1450: 5f 46 4c 41 47 53 45 58 5f 4e 4f 55 49 4f 4e 51  _FLAGSEX_NOUIONQ
1460: 55 45 52 59 52 45 4d 4f 56 45 20 20 20 20 20 20  UERYREMOVE      
1470: 20 20 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a    = 0x00001000,.
1480: 09 44 49 5f 46 4c 41 47 53 45 58 5f 55 53 45 43  .DI_FLAGSEX_USEC
1490: 4c 41 53 53 46 4f 52 43 4f 4d 50 41 54 20 20 20  LASSFORCOMPAT   
14a0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30       = 0x0000200
14b0: 30 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f 4f  0,..DI_FLAGSEX_O
14c0: 4c 44 49 4e 46 5f 49 4e 5f 43 4c 41 53 53 4c 49  LDINF_IN_CLASSLI
14d0: 53 54 20 20 20 20 20 20 3d 20 30 78 30 30 30 30  ST      = 0x0000
14e0: 34 30 30 30 2c 0a 09 44 49 5f 46 4c 41 47 53 45  4000,..DI_FLAGSE
14f0: 58 5f 4e 4f 5f 44 52 56 52 45 47 5f 4d 4f 44 49  X_NO_DRVREG_MODI
1500: 46 59 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  FY         = 0x0
1510: 30 30 30 38 30 30 30 2c 0a 09 44 49 5f 46 4c 41  0008000,..DI_FLA
1520: 47 53 45 58 5f 49 4e 5f 53 59 53 54 45 4d 5f 53  GSEX_IN_SYSTEM_S
1530: 45 54 55 50 20 20 20 20 20 20 20 20 20 20 3d 20  ETUP          = 
1540: 30 78 30 30 30 31 30 30 30 30 2c 0a 09 44 49 5f  0x00010000,..DI_
1550: 46 4c 41 47 53 45 58 5f 49 4e 45 54 5f 44 52 49  FLAGSEX_INET_DRI
1560: 56 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20  VER             
1570: 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09   = 0x00020000,..
1580: 44 49 5f 46 4c 41 47 53 45 58 5f 41 50 50 45 4e  DI_FLAGSEX_APPEN
1590: 44 44 52 49 56 45 52 4c 49 53 54 20 20 20 20 20  DDRIVERLIST     
15a0: 20 20 20 20 3d 20 30 78 30 30 30 34 30 30 30 30      = 0x00040000
15b0: 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f 50 52  ,..DI_FLAGSEX_PR
15c0: 45 49 4e 53 54 41 4c 4c 42 41 43 4b 55 50 20 20  EINSTALLBACKUP  
15d0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 30         = 0x00080
15e0: 30 30 30 2c 0a 09 44 49 5f 46 4c 41 47 53 45 58  000,..DI_FLAGSEX
15f0: 5f 42 41 43 4b 55 50 4f 4e 52 45 50 4c 41 43 45  _BACKUPONREPLACE
1600: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
1610: 31 30 30 30 30 30 2c 0a 09 44 49 5f 46 4c 41 47  100000,..DI_FLAG
1620: 53 45 58 5f 44 52 49 56 45 52 4c 49 53 54 5f 46  SEX_DRIVERLIST_F
1630: 52 4f 4d 5f 55 52 4c 20 20 20 20 20 20 3d 20 30  ROM_URL      = 0
1640: 78 30 30 32 30 30 30 30 30 2c 0a 09 44 49 5f 46  x00200000,..DI_F
1650: 4c 41 47 53 45 58 5f 52 45 53 45 52 56 45 44 31  LAGSEX_RESERVED1
1660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1670: 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a 09 44  = 0x00400000,..D
1680: 49 5f 46 4c 41 47 53 45 58 5f 45 58 43 4c 55 44  I_FLAGSEX_EXCLUD
1690: 45 5f 4f 4c 44 5f 49 4e 45 54 5f 44 52 49 56 45  E_OLD_INET_DRIVE
16a0: 52 53 20 3d 20 30 78 30 30 38 30 30 30 30 30 2c  RS = 0x00800000,
16b0: 0a 09 44 49 5f 46 4c 41 47 53 45 58 5f 50 4f 57  ..DI_FLAGSEX_POW
16c0: 45 52 50 41 47 45 5f 41 44 44 45 44 20 20 20 20  ERPAGE_ADDED    
16d0: 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30        = 0x010000
16e0: 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  00.}..enum : DWO
16f0: 52 44 20 7b 0a 09 44 49 42 43 49 5f 4e 4f 49 4e  RD {..DIBCI_NOIN
1700: 53 54 41 4c 4c 43 4c 41 53 53 20 3d 20 30 78 30  STALLCLASS = 0x0
1710: 30 30 30 30 30 30 31 2c 0a 09 44 49 42 43 49 5f  0000001,..DIBCI_
1720: 4e 4f 44 49 53 50 4c 41 59 43 4c 41 53 53 20 3d  NODISPLAYCLASS =
1730: 20 30 78 30 30 30 30 30 30 30 32 0a 7d 0a 0a 65   0x00000002.}..e
1740: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 44  num : DWORD {..D
1750: 49 43 44 5f 47 45 4e 45 52 41 54 45 5f 49 44 20  ICD_GENERATE_ID 
1760: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
1770: 30 31 2c 0a 09 44 49 43 44 5f 49 4e 48 45 52 49  01,..DICD_INHERI
1780: 54 5f 43 4c 41 53 53 44 52 56 53 20 3d 20 30 78  T_CLASSDRVS = 0x
1790: 30 30 30 30 30 30 30 32 0a 7d 0a 0a 65 6e 75 6d  00000002.}..enum
17a0: 20 3a 20 44 57 4f 52 44 20 7b 0a 09 44 49 43 53   : DWORD {..DICS
17b0: 5f 45 4e 41 42 4c 45 20 3d 20 31 2c 0a 09 44 49  _ENABLE = 1,..DI
17c0: 43 53 5f 44 49 53 41 42 4c 45 2c 0a 09 44 49 43  CS_DISABLE,..DIC
17d0: 53 5f 50 52 4f 50 43 48 41 4e 47 45 2c 0a 09 44  S_PROPCHANGE,..D
17e0: 49 43 53 5f 53 54 41 52 54 2c 0a 09 44 49 43 53  ICS_START,..DICS
17f0: 5f 53 54 4f 50 20 2f 2f 20 3d 20 35 0a 7d 0a 0a  _STOP // = 5.}..
1800: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
1810: 44 49 43 53 5f 46 4c 41 47 5f 47 4c 4f 42 41 4c  DICS_FLAG_GLOBAL
1820: 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 44           = 1,..D
1830: 49 43 53 5f 46 4c 41 47 5f 43 4f 4e 46 49 47 53  ICS_FLAG_CONFIGS
1840: 50 45 43 49 46 49 43 20 3d 20 32 2c 0a 09 44 49  PECIFIC = 2,..DI
1850: 43 53 5f 46 4c 41 47 5f 43 4f 4e 46 49 47 47 45  CS_FLAG_CONFIGGE
1860: 4e 45 52 41 4c 20 20 3d 20 34 0a 7d 0a 0a 61 6c  NERAL  = 4.}..al
1870: 69 61 73 20 55 49 4e 54 20 44 49 5f 46 55 4e 43  ias UINT DI_FUNC
1880: 54 49 4f 4e 3b 0a 0a 65 6e 75 6d 20 3a 20 44 49  TION;..enum : DI
1890: 5f 46 55 4e 43 54 49 4f 4e 20 7b 0a 09 44 49 46  _FUNCTION {..DIF
18a0: 5f 53 45 4c 45 43 54 44 45 56 49 43 45 20 3d 20  _SELECTDEVICE = 
18b0: 31 2c 0a 09 44 49 46 5f 49 4e 53 54 41 4c 4c 44  1,..DIF_INSTALLD
18c0: 45 56 49 43 45 2c 0a 09 44 49 46 5f 41 53 53 49  EVICE,..DIF_ASSI
18d0: 47 4e 52 45 53 4f 55 52 43 45 53 2c 0a 09 44 49  GNRESOURCES,..DI
18e0: 46 5f 50 52 4f 50 45 52 54 49 45 53 2c 0a 09 44  F_PROPERTIES,..D
18f0: 49 46 5f 52 45 4d 4f 56 45 2c 0a 09 44 49 46 5f  IF_REMOVE,..DIF_
1900: 46 49 52 53 54 54 49 4d 45 53 45 54 55 50 2c 0a  FIRSTTIMESETUP,.
1910: 09 44 49 46 5f 46 4f 55 4e 44 44 45 56 49 43 45  .DIF_FOUNDDEVICE
1920: 2c 0a 09 44 49 46 5f 53 45 4c 45 43 54 43 4c 41  ,..DIF_SELECTCLA
1930: 53 53 44 52 49 56 45 52 53 2c 0a 09 44 49 46 5f  SSDRIVERS,..DIF_
1940: 56 41 4c 49 44 41 54 45 43 4c 41 53 53 44 52 49  VALIDATECLASSDRI
1950: 56 45 52 53 2c 0a 09 44 49 46 5f 49 4e 53 54 41  VERS,..DIF_INSTA
1960: 4c 4c 43 4c 41 53 53 44 52 49 56 45 52 53 2c 0a  LLCLASSDRIVERS,.
1970: 09 44 49 46 5f 43 41 4c 43 44 49 53 4b 53 50 41  .DIF_CALCDISKSPA
1980: 43 45 2c 0a 09 44 49 46 5f 44 45 53 54 52 4f 59  CE,..DIF_DESTROY
1990: 50 52 49 56 41 54 45 44 41 54 41 2c 0a 09 44 49  PRIVATEDATA,..DI
19a0: 46 5f 56 41 4c 49 44 41 54 45 44 52 49 56 45 52  F_VALIDATEDRIVER
19b0: 2c 0a 09 44 49 46 5f 4d 4f 56 45 44 45 56 49 43  ,..DIF_MOVEDEVIC
19c0: 45 2c 0a 09 44 49 46 5f 44 45 54 45 43 54 2c 0a  E,..DIF_DETECT,.
19d0: 09 44 49 46 5f 49 4e 53 54 41 4c 4c 57 49 5a 41  .DIF_INSTALLWIZA
19e0: 52 44 2c 0a 09 44 49 46 5f 44 45 53 54 52 4f 59  RD,..DIF_DESTROY
19f0: 57 49 5a 41 52 44 44 41 54 41 2c 0a 09 44 49 46  WIZARDDATA,..DIF
1a00: 5f 50 52 4f 50 45 52 54 59 43 48 41 4e 47 45 2c  _PROPERTYCHANGE,
1a10: 0a 09 44 49 46 5f 45 4e 41 42 4c 45 43 4c 41 53  ..DIF_ENABLECLAS
1a20: 53 2c 0a 09 44 49 46 5f 44 45 54 45 43 54 56 45  S,..DIF_DETECTVE
1a30: 52 49 46 59 2c 0a 09 44 49 46 5f 49 4e 53 54 41  RIFY,..DIF_INSTA
1a40: 4c 4c 44 45 56 49 43 45 46 49 4c 45 53 2c 0a 09  LLDEVICEFILES,..
1a50: 44 49 46 5f 55 4e 52 45 4d 4f 56 45 2c 0a 09 44  DIF_UNREMOVE,..D
1a60: 49 46 5f 53 45 4c 45 43 54 42 45 53 54 43 4f 4d  IF_SELECTBESTCOM
1a70: 50 41 54 44 52 56 2c 0a 09 44 49 46 5f 41 4c 4c  PATDRV,..DIF_ALL
1a80: 4f 57 5f 49 4e 53 54 41 4c 4c 2c 0a 09 44 49 46  OW_INSTALL,..DIF
1a90: 5f 52 45 47 49 53 54 45 52 44 45 56 49 43 45 2c  _REGISTERDEVICE,
1aa0: 0a 09 44 49 46 5f 4e 45 57 44 45 56 49 43 45 57  ..DIF_NEWDEVICEW
1ab0: 49 5a 41 52 44 5f 50 52 45 53 45 4c 45 43 54 2c  IZARD_PRESELECT,
1ac0: 0a 09 44 49 46 5f 4e 45 57 44 45 56 49 43 45 57  ..DIF_NEWDEVICEW
1ad0: 49 5a 41 52 44 5f 53 45 4c 45 43 54 2c 0a 09 44  IZARD_SELECT,..D
1ae0: 49 46 5f 4e 45 57 44 45 56 49 43 45 57 49 5a 41  IF_NEWDEVICEWIZA
1af0: 52 44 5f 50 52 45 41 4e 41 4c 59 5a 45 2c 0a 09  RD_PREANALYZE,..
1b00: 44 49 46 5f 4e 45 57 44 45 56 49 43 45 57 49 5a  DIF_NEWDEVICEWIZ
1b10: 41 52 44 5f 50 4f 53 54 41 4e 41 4c 59 5a 45 2c  ARD_POSTANALYZE,
1b20: 0a 09 44 49 46 5f 4e 45 57 44 45 56 49 43 45 57  ..DIF_NEWDEVICEW
1b30: 49 5a 41 52 44 5f 46 49 4e 49 53 48 49 4e 53 54  IZARD_FINISHINST
1b40: 41 4c 4c 2c 0a 09 44 49 46 5f 55 4e 55 53 45 44  ALL,..DIF_UNUSED
1b50: 31 2c 0a 09 44 49 46 5f 49 4e 53 54 41 4c 4c 49  1,..DIF_INSTALLI
1b60: 4e 54 45 52 46 41 43 45 53 2c 0a 09 44 49 46 5f  NTERFACES,..DIF_
1b70: 44 45 54 45 43 54 43 41 4e 43 45 4c 2c 0a 09 44  DETECTCANCEL,..D
1b80: 49 46 5f 52 45 47 49 53 54 45 52 5f 43 4f 49 4e  IF_REGISTER_COIN
1b90: 53 54 41 4c 4c 45 52 53 2c 0a 09 44 49 46 5f 41  STALLERS,..DIF_A
1ba0: 44 44 50 52 4f 50 45 52 54 59 50 41 47 45 5f 41  DDPROPERTYPAGE_A
1bb0: 44 56 41 4e 43 45 44 2c 0a 09 44 49 46 5f 41 44  DVANCED,..DIF_AD
1bc0: 44 50 52 4f 50 45 52 54 59 50 41 47 45 5f 42 41  DPROPERTYPAGE_BA
1bd0: 53 49 43 2c 0a 09 44 49 46 5f 52 45 53 45 52 56  SIC,..DIF_RESERV
1be0: 45 44 31 2c 0a 09 44 49 46 5f 54 52 4f 55 42 4c  ED1,..DIF_TROUBL
1bf0: 45 53 48 4f 4f 54 45 52 2c 0a 09 44 49 46 5f 50  ESHOOTER,..DIF_P
1c00: 4f 57 45 52 4d 45 53 53 41 47 45 57 41 4b 45 20  OWERMESSAGEWAKE 
1c10: 2f 2f 20 3d 20 33 39 0a 7d 0a 0a 65 6e 75 6d 20  // = 39.}..enum 
1c20: 3a 20 44 57 4f 52 44 20 7b 0a 09 44 49 47 43 46  : DWORD {..DIGCF
1c30: 5f 44 45 46 41 55 4c 54 20 20 20 20 20 20 20 20  _DEFAULT        
1c40: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
1c50: 44 49 47 43 46 5f 50 52 45 53 45 4e 54 20 20 20  DIGCF_PRESENT   
1c60: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
1c70: 30 32 2c 0a 09 44 49 47 43 46 5f 41 4c 4c 43 4c  02,..DIGCF_ALLCL
1c80: 41 53 53 45 53 20 20 20 20 20 20 3d 20 30 78 30  ASSES      = 0x0
1c90: 30 30 30 30 30 30 34 2c 0a 09 44 49 47 43 46 5f  0000004,..DIGCF_
1ca0: 50 52 4f 46 49 4c 45 20 20 20 20 20 20 20 20 20  PROFILE         
1cb0: 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 44  = 0x00000008,..D
1cc0: 49 47 43 46 5f 44 45 56 49 43 45 49 4e 54 45 52  IGCF_DEVICEINTER
1cd0: 46 41 43 45 20 3d 20 30 78 30 30 30 30 30 30 31  FACE = 0x0000001
1ce0: 30 0a 7d 0a 0a 64 65 70 72 65 63 61 74 65 64 20  0.}..deprecated 
1cf0: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
1d00: 44 49 47 43 46 5f 49 4e 54 45 52 46 41 43 45 44  DIGCF_INTERFACED
1d10: 45 56 49 43 45 20 3d 20 44 49 47 43 46 5f 44 45  EVICE = DIGCF_DE
1d20: 56 49 43 45 49 4e 54 45 52 46 41 43 45 0a 7d 0a  VICEINTERFACE.}.
1d30: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
1d40: 09 44 49 47 43 44 50 5f 46 4c 41 47 5f 42 41 53  .DIGCDP_FLAG_BAS
1d50: 49 43 20 20 20 20 3d 20 30 78 30 30 30 30 30 30  IC    = 0x000000
1d60: 30 31 2c 0a 09 44 49 47 43 44 50 5f 46 4c 41 47  01,..DIGCDP_FLAG
1d70: 5f 41 44 56 41 4e 43 45 44 20 3d 20 30 78 30 30  _ADVANCED = 0x00
1d80: 30 30 30 30 30 32 0a 7d 0a 0a 65 6e 75 6d 20 3a  000002.}..enum :
1d90: 20 44 57 4f 52 44 20 7b 0a 09 44 49 4f 43 52 5f   DWORD {..DIOCR_
1da0: 49 4e 53 54 41 4c 4c 45 52 20 3d 20 30 78 30 30  INSTALLER = 0x00
1db0: 30 30 30 30 30 31 2c 0a 09 44 49 4f 43 52 5f 49  000001,..DIOCR_I
1dc0: 4e 54 45 52 46 41 43 45 20 3d 20 30 78 30 30 30  NTERFACE = 0x000
1dd0: 30 30 30 30 32 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  00002.}..enum : 
1de0: 44 57 4f 52 44 20 7b 0a 09 44 49 4f 44 49 5f 4e  DWORD {..DIODI_N
1df0: 4f 5f 41 44 44 20 3d 20 30 78 30 30 30 30 30 30  O_ADD = 0x000000
1e00: 30 31 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  01.}..enum : DWO
1e10: 52 44 20 7b 0a 09 44 49 4f 44 5f 49 4e 48 45 52  RD {..DIOD_INHER
1e20: 49 54 5f 43 4c 41 53 53 44 52 56 53 20 3d 20 30  IT_CLASSDRVS = 0
1e30: 78 30 30 30 30 30 30 30 32 2c 0a 09 44 49 4f 44  x00000002,..DIOD
1e40: 5f 43 41 4e 43 45 4c 5f 52 45 4d 4f 56 45 20 20  _CANCEL_REMOVE  
1e50: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34 0a     = 0x00000004.
1e60: 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
1e70: 7b 0a 09 44 49 52 45 47 5f 44 45 56 20 20 3d 20  {..DIREG_DEV  = 
1e80: 30 78 30 30 30 30 30 30 30 31 2c 0a 09 44 49 52  0x00000001,..DIR
1e90: 45 47 5f 44 52 56 20 20 3d 20 30 78 30 30 30 30  EG_DRV  = 0x0000
1ea0: 30 30 30 32 2c 0a 09 44 49 52 45 47 5f 42 4f 54  0002,..DIREG_BOT
1eb0: 48 20 3d 20 30 78 30 30 30 30 30 30 30 34 0a 7d  H = 0x00000004.}
1ec0: 0a 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 09  ..enum : int {..
1ed0: 44 49 52 49 44 5f 41 42 53 4f 4c 55 54 45 20 20  DIRID_ABSOLUTE  
1ee0: 20 20 20 20 20 3d 20 2d 31 2c 0a 09 44 49 52 49       = -1,..DIRI
1ef0: 44 5f 4e 55 4c 4c 20 20 20 20 20 20 20 20 20 20  D_NULL          
1f00: 20 3d 20 30 2c 0a 09 44 49 52 49 44 5f 53 52 43   = 0,..DIRID_SRC
1f10: 50 41 54 48 20 20 20 20 20 20 20 20 3d 20 31 2c  PATH        = 1,
1f20: 0a 09 44 49 52 49 44 5f 57 49 4e 44 4f 57 53 20  ..DIRID_WINDOWS 
1f30: 20 20 20 20 20 20 20 3d 20 31 30 2c 0a 09 44 49         = 10,..DI
1f40: 52 49 44 5f 53 59 53 54 45 4d 20 20 20 20 20 20  RID_SYSTEM      
1f50: 20 20 20 3d 20 31 31 2c 0a 09 44 49 52 49 44 5f     = 11,..DIRID_
1f60: 44 52 49 56 45 52 53 20 20 20 20 20 20 20 20 3d  DRIVERS        =
1f70: 20 31 32 2c 0a 09 44 49 52 49 44 5f 49 4f 53 55   12,..DIRID_IOSU
1f80: 42 53 59 53 20 20 20 20 20 20 20 3d 20 44 49 52  BSYS       = DIR
1f90: 49 44 5f 44 52 49 56 45 52 53 2c 0a 09 44 49 52  ID_DRIVERS,..DIR
1fa0: 49 44 5f 49 4e 46 20 20 20 20 20 20 20 20 20 20  ID_INF          
1fb0: 20 20 3d 20 31 37 2c 0a 09 44 49 52 49 44 5f 48    = 17,..DIRID_H
1fc0: 45 4c 50 20 20 20 20 20 20 20 20 20 20 20 3d 20  ELP           = 
1fd0: 31 38 2c 0a 09 44 49 52 49 44 5f 46 4f 4e 54 53  18,..DIRID_FONTS
1fe0: 20 20 20 20 20 20 20 20 20 20 3d 20 32 30 2c 0a            = 20,.
1ff0: 09 44 49 52 49 44 5f 56 49 45 57 45 52 53 20 20  .DIRID_VIEWERS  
2000: 20 20 20 20 20 20 3d 20 32 31 2c 0a 09 44 49 52        = 21,..DIR
2010: 49 44 5f 43 4f 4c 4f 52 20 20 20 20 20 20 20 20  ID_COLOR        
2020: 20 20 3d 20 32 33 2c 0a 09 44 49 52 49 44 5f 41    = 23,..DIRID_A
2030: 50 50 53 20 20 20 20 20 20 20 20 20 20 20 3d 20  PPS           = 
2040: 32 34 2c 0a 09 44 49 52 49 44 5f 53 48 41 52 45  24,..DIRID_SHARE
2050: 44 20 20 20 20 20 20 20 20 20 3d 20 32 35 2c 0a  D         = 25,.
2060: 09 44 49 52 49 44 5f 42 4f 4f 54 20 20 20 20 20  .DIRID_BOOT     
2070: 20 20 20 20 20 20 3d 20 33 30 2c 0a 09 44 49 52        = 30,..DIR
2080: 49 44 5f 53 59 53 54 45 4d 31 36 20 20 20 20 20  ID_SYSTEM16     
2090: 20 20 3d 20 35 30 2c 0a 09 44 49 52 49 44 5f 53    = 50,..DIRID_S
20a0: 50 4f 4f 4c 20 20 20 20 20 20 20 20 20 20 3d 20  POOL          = 
20b0: 35 31 2c 0a 09 44 49 52 49 44 5f 53 50 4f 4f 4c  51,..DIRID_SPOOL
20c0: 44 52 49 56 45 52 53 20 20 20 3d 20 35 32 2c 0a  DRIVERS   = 52,.
20d0: 09 44 49 52 49 44 5f 55 53 45 52 50 52 4f 46 49  .DIRID_USERPROFI
20e0: 4c 45 20 20 20 20 3d 20 35 33 2c 0a 09 44 49 52  LE    = 53,..DIR
20f0: 49 44 5f 4c 4f 41 44 45 52 20 20 20 20 20 20 20  ID_LOADER       
2100: 20 20 3d 20 35 34 2c 0a 09 44 49 52 49 44 5f 50    = 54,..DIRID_P
2110: 52 49 4e 54 50 52 4f 43 45 53 53 4f 52 20 3d 20  RINTPROCESSOR = 
2120: 35 35 2c 0a 09 44 49 52 49 44 5f 44 45 46 41 55  55,..DIRID_DEFAU
2130: 4c 54 20 20 20 20 20 20 20 20 3d 20 44 49 52 49  LT        = DIRI
2140: 44 5f 53 59 53 54 45 4d 0a 7d 0a 0a 65 6e 75 6d  D_SYSTEM.}..enum
2150: 20 3a 20 69 6e 74 20 7b 0a 09 44 49 52 49 44 5f   : int {..DIRID_
2160: 43 4f 4d 4d 4f 4e 5f 53 54 41 52 54 4d 45 4e 55  COMMON_STARTMENU
2170: 20 20 20 20 20 20 20 20 3d 20 31 36 34 30 36 2c          = 16406,
2180: 0a 09 44 49 52 49 44 5f 43 4f 4d 4d 4f 4e 5f 50  ..DIRID_COMMON_P
2190: 52 4f 47 52 41 4d 53 20 20 20 20 20 20 20 20 20  ROGRAMS         
21a0: 3d 20 31 36 34 30 37 2c 0a 09 44 49 52 49 44 5f  = 16407,..DIRID_
21b0: 43 4f 4d 4d 4f 4e 5f 53 54 41 52 54 55 50 20 20  COMMON_STARTUP  
21c0: 20 20 20 20 20 20 20 20 3d 20 31 36 34 30 38 2c          = 16408,
21d0: 0a 09 44 49 52 49 44 5f 43 4f 4d 4d 4f 4e 5f 44  ..DIRID_COMMON_D
21e0: 45 53 4b 54 4f 50 44 49 52 45 43 54 4f 52 59 20  ESKTOPDIRECTORY 
21f0: 3d 20 31 36 34 30 39 2c 0a 09 44 49 52 49 44 5f  = 16409,..DIRID_
2200: 43 4f 4d 4d 4f 4e 5f 46 41 56 4f 52 49 54 45 53  COMMON_FAVORITES
2210: 20 20 20 20 20 20 20 20 3d 20 31 36 34 31 35 2c          = 16415,
2220: 0a 09 44 49 52 49 44 5f 43 4f 4d 4d 4f 4e 5f 41  ..DIRID_COMMON_A
2230: 50 50 44 41 54 41 20 20 20 20 20 20 20 20 20 20  PPDATA          
2240: 3d 20 31 36 34 31 39 2c 0a 09 44 49 52 49 44 5f  = 16419,..DIRID_
2250: 50 52 4f 47 52 41 4d 5f 46 49 4c 45 53 20 20 20  PROGRAM_FILES   
2260: 20 20 20 20 20 20 20 20 3d 20 31 36 34 32 32 2c          = 16422,
2270: 0a 09 44 49 52 49 44 5f 53 59 53 54 45 4d 5f 58  ..DIRID_SYSTEM_X
2280: 38 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20  86              
2290: 3d 20 31 36 34 32 35 2c 0a 09 44 49 52 49 44 5f  = 16425,..DIRID_
22a0: 50 52 4f 47 52 41 4d 5f 46 49 4c 45 53 5f 58 38  PROGRAM_FILES_X8
22b0: 36 20 20 20 20 20 20 20 3d 20 31 36 34 32 36 2c  6       = 16426,
22c0: 0a 09 44 49 52 49 44 5f 50 52 4f 47 52 41 4d 5f  ..DIRID_PROGRAM_
22d0: 46 49 4c 45 53 5f 43 4f 4d 4d 4f 4e 20 20 20 20  FILES_COMMON    
22e0: 3d 20 31 36 34 32 37 2c 0a 09 44 49 52 49 44 5f  = 16427,..DIRID_
22f0: 50 52 4f 47 52 41 4d 5f 46 49 4c 45 53 5f 43 4f  PROGRAM_FILES_CO
2300: 4d 4d 4f 4e 58 38 36 20 3d 20 31 36 34 32 38 2c  MMONX86 = 16428,
2310: 0a 09 44 49 52 49 44 5f 43 4f 4d 4d 4f 4e 5f 54  ..DIRID_COMMON_T
2320: 45 4d 50 4c 41 54 45 53 20 20 20 20 20 20 20 20  EMPLATES        
2330: 3d 20 31 36 34 32 39 2c 0a 09 44 49 52 49 44 5f  = 16429,..DIRID_
2340: 43 4f 4d 4d 4f 4e 5f 44 4f 43 55 4d 45 4e 54 53  COMMON_DOCUMENTS
2350: 20 20 20 20 20 20 20 20 3d 20 31 36 34 33 30 2c          = 16430,
2360: 0a 09 44 49 52 49 44 5f 55 53 45 52 20 20 20 20  ..DIRID_USER    
2370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2380: 3d 20 30 78 38 30 30 30 2c 0a 09 44 49 52 49 44  = 0x8000,..DIRID
2390: 5f 41 42 53 4f 4c 55 54 45 5f 31 36 42 49 54 20  _ABSOLUTE_16BIT 
23a0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 66 66 66           = 0xfff
23b0: 66 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  f.}..enum : DWOR
23c0: 44 20 7b 0a 09 44 4d 49 5f 4d 41 53 4b 20 20 20  D {..DMI_MASK   
23d0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a 09   = 0x00000001,..
23e0: 44 4d 49 5f 42 4b 43 4f 4c 4f 52 20 3d 20 30 78  DMI_BKCOLOR = 0x
23f0: 30 30 30 30 30 30 30 32 2c 0a 09 44 4d 49 5f 55  00000002,..DMI_U
2400: 53 45 52 45 43 54 20 3d 20 30 78 30 30 30 30 30  SERECT = 0x00000
2410: 30 30 34 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57  004.}..enum : DW
2420: 4f 52 44 20 7b 0a 09 44 4e 46 5f 44 55 50 44 45  ORD {..DNF_DUPDE
2430: 53 43 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  SC           = 0
2440: 78 30 30 30 30 30 30 30 31 2c 0a 09 44 4e 46 5f  x00000001,..DNF_
2450: 4f 4c 44 44 52 49 56 45 52 20 20 20 20 20 20 20  OLDDRIVER       
2460: 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a    = 0x00000002,.
2470: 09 44 4e 46 5f 45 58 43 4c 55 44 45 46 52 4f 4d  .DNF_EXCLUDEFROM
2480: 4c 49 53 54 20 20 20 3d 20 30 78 30 30 30 30 30  LIST   = 0x00000
2490: 30 30 34 2c 0a 09 44 4e 46 5f 4e 4f 44 52 49 56  004,..DNF_NODRIV
24a0: 45 52 20 20 20 20 20 20 20 20 20 20 3d 20 30 78  ER          = 0x
24b0: 30 30 30 30 30 30 30 38 2c 0a 09 44 4e 46 5f 4c  00000008,..DNF_L
24c0: 45 47 41 43 59 49 4e 46 20 20 20 20 20 20 20 20  EGACYINF        
24d0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09   = 0x00000010,..
24e0: 44 4e 46 5f 43 4c 41 53 53 5f 44 52 49 56 45 52  DNF_CLASS_DRIVER
24f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
2500: 32 30 2c 0a 09 44 4e 46 5f 43 4f 4d 50 41 54 49  20,..DNF_COMPATI
2510: 42 4c 45 5f 44 52 49 56 45 52 20 3d 20 30 78 30  BLE_DRIVER = 0x0
2520: 30 30 30 30 30 34 30 2c 0a 09 44 4e 46 5f 49 4e  0000040,..DNF_IN
2530: 45 54 5f 44 52 49 56 45 52 20 20 20 20 20 20 20  ET_DRIVER       
2540: 3d 20 30 78 30 30 30 30 30 30 38 30 2c 0a 09 44  = 0x00000080,..D
2550: 4e 46 5f 55 4e 55 53 45 44 31 20 20 20 20 20 20  NF_UNUSED1      
2560: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30       = 0x0000010
2570: 30 2c 0a 09 44 4e 46 5f 49 4e 44 45 58 45 44 5f  0,..DNF_INDEXED_
2580: 44 52 49 56 45 52 20 20 20 20 3d 20 30 78 30 30  DRIVER    = 0x00
2590: 30 30 30 32 30 30 2c 0a 09 44 4e 46 5f 4f 4c 44  000200,..DNF_OLD
25a0: 5f 49 4e 45 54 5f 44 52 49 56 45 52 20 20 20 3d  _INET_DRIVER   =
25b0: 20 30 78 30 30 30 30 30 34 30 30 2c 0a 09 44 4e   0x00000400,..DN
25c0: 46 5f 42 41 44 5f 44 52 49 56 45 52 20 20 20 20  F_BAD_DRIVER    
25d0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30      = 0x00000800
25e0: 2c 0a 09 44 4e 46 5f 44 55 50 50 52 4f 56 49 44  ,..DNF_DUPPROVID
25f0: 45 52 20 20 20 20 20 20 20 3d 20 30 78 30 30 30  ER       = 0x000
2600: 30 31 30 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  01000.}..enum : 
2610: 55 49 4e 54 20 7b 0a 09 44 50 52 4f 4d 50 54 5f  UINT {..DPROMPT_
2620: 53 55 43 43 45 53 53 2c 0a 09 44 50 52 4f 4d 50  SUCCESS,..DPROMP
2630: 54 5f 43 41 4e 43 45 4c 2c 0a 09 44 50 52 4f 4d  T_CANCEL,..DPROM
2640: 50 54 5f 53 4b 49 50 46 49 4c 45 2c 0a 09 44 50  PT_SKIPFILE,..DP
2650: 52 4f 4d 50 54 5f 42 55 46 46 45 52 54 4f 4f 53  ROMPT_BUFFERTOOS
2660: 4d 41 4c 4c 2c 0a 09 44 50 52 4f 4d 50 54 5f 4f  MALL,..DPROMPT_O
2670: 55 54 4f 46 4d 45 4d 4f 52 59 20 2f 2f 20 3d 20  UTOFMEMORY // = 
2680: 34 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  4.}..enum : DWOR
2690: 44 20 7b 0a 09 44 52 49 56 45 52 5f 48 41 52 44  D {..DRIVER_HARD
26a0: 57 41 52 45 49 44 5f 52 41 4e 4b 20 20 20 20 20  WAREID_RANK     
26b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
26c0: 30 46 46 46 2c 0a 09 44 52 49 56 45 52 5f 43 4f  0FFF,..DRIVER_CO
26d0: 4d 50 41 54 49 44 5f 52 41 4e 4b 20 20 20 20 20  MPATID_RANK     
26e0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
26f0: 30 30 33 46 46 46 2c 0a 09 44 52 49 56 45 52 5f  003FFF,..DRIVER_
2700: 55 4e 54 52 55 53 54 45 44 5f 52 41 4e 4b 20 20  UNTRUSTED_RANK  
2710: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
2720: 30 30 30 30 38 30 30 30 2c 0a 09 44 52 49 56 45  00008000,..DRIVE
2730: 52 5f 55 4e 54 52 55 53 54 45 44 5f 48 41 52 44  R_UNTRUSTED_HARD
2740: 57 41 52 45 49 44 5f 52 41 4e 4b 20 20 20 3d 20  WAREID_RANK   = 
2750: 30 78 30 30 30 30 38 46 46 46 2c 0a 09 44 52 49  0x00008FFF,..DRI
2760: 56 45 52 5f 55 4e 54 52 55 53 54 45 44 5f 43 4f  VER_UNTRUSTED_CO
2770: 4d 50 41 54 49 44 5f 52 41 4e 4b 20 20 20 20 20  MPATID_RANK     
2780: 3d 20 30 78 30 30 30 30 42 46 46 46 2c 0a 09 44  = 0x0000BFFF,..D
2790: 52 49 56 45 52 5f 57 39 58 5f 53 55 53 50 45 43  RIVER_W9X_SUSPEC
27a0: 54 5f 52 41 4e 4b 20 20 20 20 20 20 20 20 20 20  T_RANK          
27b0: 20 20 3d 20 30 78 30 30 30 30 43 30 30 30 2c 0a    = 0x0000C000,.
27c0: 09 44 52 49 56 45 52 5f 57 39 58 5f 53 55 53 50  .DRIVER_W9X_SUSP
27d0: 45 43 54 5f 48 41 52 44 57 41 52 45 49 44 5f 52  ECT_HARDWAREID_R
27e0: 41 4e 4b 20 3d 20 30 78 30 30 30 30 43 46 46 46  ANK = 0x0000CFFF
27f0: 2c 0a 09 44 52 49 56 45 52 5f 57 39 58 5f 53 55  ,..DRIVER_W9X_SU
2800: 53 50 45 43 54 5f 43 4f 4d 50 41 54 49 44 5f 52  SPECT_COMPATID_R
2810: 41 4e 4b 20 20 20 3d 20 30 78 30 30 30 30 46 46  ANK   = 0x0000FF
2820: 46 46 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  FF.}..enum : DWO
2830: 52 44 20 7b 0a 09 44 59 4e 41 57 49 5a 5f 46 4c  RD {..DYNAWIZ_FL
2840: 41 47 5f 50 41 47 45 53 41 44 44 45 44 20 20 20  AG_PAGESADDED   
2850: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
2860: 30 30 30 30 30 31 2c 0a 09 44 59 4e 41 57 49 5a  000001,..DYNAWIZ
2870: 5f 46 4c 41 47 5f 49 4e 53 54 41 4c 4c 44 45 54  _FLAG_INSTALLDET
2880: 5f 4e 45 58 54 20 20 20 20 20 20 20 20 3d 20 30  _NEXT        = 0
2890: 78 30 30 30 30 30 30 30 32 2c 0a 09 44 59 4e 41  x00000002,..DYNA
28a0: 57 49 5a 5f 46 4c 41 47 5f 49 4e 53 54 41 4c 4c  WIZ_FLAG_INSTALL
28b0: 44 45 54 5f 50 52 45 56 20 20 20 20 20 20 20 20  DET_PREV        
28c0: 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09 44  = 0x00000004,..D
28d0: 59 4e 41 57 49 5a 5f 46 4c 41 47 5f 41 4e 41 4c  YNAWIZ_FLAG_ANAL
28e0: 59 5a 45 5f 48 41 4e 44 4c 45 43 4f 4e 46 4c 49  YZE_HANDLECONFLI
28f0: 43 54 20 3d 20 30 78 30 30 30 30 30 30 30 38 0a  CT = 0x00000008.
2900: 7d 0a 0a 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b  }..enum : WORD {
2910: 0a 09 45 4e 41 42 4c 45 43 4c 41 53 53 5f 51 55  ..ENABLECLASS_QU
2920: 45 52 59 2c 0a 09 45 4e 41 42 4c 45 43 4c 41 53  ERY,..ENABLECLAS
2930: 53 5f 53 55 43 43 45 53 53 2c 0a 09 45 4e 41 42  S_SUCCESS,..ENAB
2940: 4c 45 43 4c 41 53 53 5f 46 41 49 4c 55 52 45 20  LECLASS_FAILURE 
2950: 2f 2f 20 3d 20 32 0a 7d 0a 0a 65 6e 75 6d 20 3a  // = 2.}..enum :
2960: 20 44 57 4f 52 44 20 7b 0a 09 45 52 52 4f 52 5f   DWORD {..ERROR_
2970: 45 58 50 45 43 54 45 44 5f 53 45 43 54 49 4f 4e  EXPECTED_SECTION
2980: 5f 4e 41 4d 45 20 20 20 20 20 20 20 3d 20 41 50  _NAME       = AP
2990: 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f  PLICATION_ERROR_
29a0: 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56  MASK | ERROR_SEV
29b0: 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30 2c  ERITY_ERROR | 0,
29c0: 0a 09 45 52 52 4f 52 5f 42 41 44 5f 53 45 43 54  ..ERROR_BAD_SECT
29d0: 49 4f 4e 5f 4e 41 4d 45 5f 4c 49 4e 45 20 20 20  ION_NAME_LINE   
29e0: 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49 4f      = APPLICATIO
29f0: 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45  N_ERROR_MASK | E
2a00: 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45 52  RROR_SEVERITY_ER
2a10: 52 4f 52 20 7c 20 31 2c 0a 09 45 52 52 4f 52 5f  ROR | 1,..ERROR_
2a20: 53 45 43 54 49 4f 4e 5f 4e 41 4d 45 5f 54 4f 4f  SECTION_NAME_TOO
2a30: 5f 4c 4f 4e 47 20 20 20 20 20 20 20 3d 20 41 50  _LONG       = AP
2a40: 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f  PLICATION_ERROR_
2a50: 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56  MASK | ERROR_SEV
2a60: 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 32 2c  ERITY_ERROR | 2,
2a70: 0a 09 45 52 52 4f 52 5f 47 45 4e 45 52 41 4c 5f  ..ERROR_GENERAL_
2a80: 53 59 4e 54 41 58 20 20 20 20 20 20 20 20 20 20  SYNTAX          
2a90: 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49 4f      = APPLICATIO
2aa0: 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45  N_ERROR_MASK | E
2ab0: 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45 52  RROR_SEVERITY_ER
2ac0: 52 4f 52 20 7c 20 33 2c 0a 09 45 52 52 4f 52 5f  ROR | 3,..ERROR_
2ad0: 57 52 4f 4e 47 5f 49 4e 46 5f 53 54 59 4c 45 20  WRONG_INF_STYLE 
2ae0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 41 50              = AP
2af0: 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f  PLICATION_ERROR_
2b00: 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56  MASK | ERROR_SEV
2b10: 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30 78  ERITY_ERROR | 0x
2b20: 31 30 30 2c 0a 09 45 52 52 4f 52 5f 4e 4f 54 5f  100,..ERROR_NOT_
2b30: 49 4e 53 54 41 4c 4c 45 44 20 20 20 20 20 20 20  INSTALLED       
2b40: 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49 43          = APPLIC
2b50: 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b  ATION_ERROR_MASK
2b60: 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49 54   | ERROR_SEVERIT
2b70: 59 5f 45 52 52 4f 52 20 7c 20 30 78 31 30 30 30  Y_ERROR | 0x1000
2b80: 2c 0a 09 45 52 52 4f 52 5f 53 45 43 54 49 4f 4e  ,..ERROR_SECTION
2b90: 5f 4e 4f 54 5f 46 4f 55 4e 44 20 20 20 20 20 20  _NOT_FOUND      
2ba0: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
2bb0: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
2bc0: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
2bd0: 52 52 4f 52 20 7c 20 30 78 31 30 31 2c 0a 09 45  RROR | 0x101,..E
2be0: 52 52 4f 52 5f 4c 49 4e 45 5f 4e 4f 54 5f 46 4f  RROR_LINE_NOT_FO
2bf0: 55 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20  UND             
2c00: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
2c10: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
2c20: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
2c30: 20 7c 20 30 78 31 30 32 2c 0a 09 45 52 52 4f 52   | 0x102,..ERROR
2c40: 5f 4e 4f 5f 42 41 43 4b 55 50 20 20 20 20 20 20  _NO_BACKUP      
2c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 41               = A
2c60: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
2c70: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
2c80: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
2c90: 78 31 30 33 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f  x103,..ERROR_NO_
2ca0: 41 53 53 4f 43 49 41 54 45 44 5f 43 4c 41 53 53  ASSOCIATED_CLASS
2cb0: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
2cc0: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
2cd0: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
2ce0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 30 30  TY_ERROR | 0x200
2cf0: 2c 0a 09 45 52 52 4f 52 5f 43 4c 41 53 53 5f 4d  ,..ERROR_CLASS_M
2d00: 49 53 4d 41 54 43 48 20 20 20 20 20 20 20 20 20  ISMATCH         
2d10: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
2d20: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
2d30: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
2d40: 52 52 4f 52 20 7c 20 30 78 32 30 31 2c 0a 09 45  RROR | 0x201,..E
2d50: 52 52 4f 52 5f 44 55 50 4c 49 43 41 54 45 5f 46  RROR_DUPLICATE_F
2d60: 4f 55 4e 44 20 20 20 20 20 20 20 20 20 20 20 20  OUND            
2d70: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
2d80: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
2d90: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
2da0: 20 7c 20 30 78 32 30 32 2c 0a 09 45 52 52 4f 52   | 0x202,..ERROR
2db0: 5f 4e 4f 5f 44 52 49 56 45 52 5f 53 45 4c 45 43  _NO_DRIVER_SELEC
2dc0: 54 45 44 20 20 20 20 20 20 20 20 20 20 3d 20 41  TED          = A
2dd0: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
2de0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
2df0: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
2e00: 78 32 30 33 2c 0a 09 45 52 52 4f 52 5f 4b 45 59  x203,..ERROR_KEY
2e10: 5f 44 4f 45 53 5f 4e 4f 54 5f 45 58 49 53 54 20  _DOES_NOT_EXIST 
2e20: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
2e30: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
2e40: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
2e50: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 30 34  TY_ERROR | 0x204
2e60: 2c 0a 09 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44  ,..ERROR_INVALID
2e70: 5f 44 45 56 49 4e 53 54 5f 4e 41 4d 45 20 20 20  _DEVINST_NAME   
2e80: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
2e90: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
2ea0: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
2eb0: 52 52 4f 52 20 7c 20 30 78 32 30 35 2c 0a 09 45  RROR | 0x205,..E
2ec0: 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 43 4c 41  RROR_INVALID_CLA
2ed0: 53 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20  SS              
2ee0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
2ef0: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
2f00: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
2f10: 20 7c 20 30 78 32 30 36 2c 0a 09 45 52 52 4f 52   | 0x206,..ERROR
2f20: 5f 44 45 56 49 4e 53 54 5f 41 4c 52 45 41 44 59  _DEVINST_ALREADY
2f30: 5f 45 58 49 53 54 53 20 20 20 20 20 20 3d 20 41  _EXISTS      = A
2f40: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
2f50: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
2f60: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
2f70: 78 32 30 37 2c 0a 09 45 52 52 4f 52 5f 44 45 56  x207,..ERROR_DEV
2f80: 49 4e 46 4f 5f 4e 4f 54 5f 52 45 47 49 53 54 45  INFO_NOT_REGISTE
2f90: 52 45 44 20 20 20 20 20 20 3d 20 41 50 50 4c 49  RED      = APPLI
2fa0: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
2fb0: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
2fc0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 30 38  TY_ERROR | 0x208
2fd0: 2c 0a 09 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44  ,..ERROR_INVALID
2fe0: 5f 52 45 47 5f 50 52 4f 50 45 52 54 59 20 20 20  _REG_PROPERTY   
2ff0: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3000: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3010: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3020: 52 52 4f 52 20 7c 20 30 78 32 30 39 2c 0a 09 45  RROR | 0x209,..E
3030: 52 52 4f 52 5f 4e 4f 5f 49 4e 46 20 20 20 20 20  RROR_NO_INF     
3040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3050: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3060: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3070: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3080: 20 7c 20 30 78 32 30 41 2c 0a 09 45 52 52 4f 52   | 0x20A,..ERROR
3090: 5f 4e 4f 5f 53 55 43 48 5f 44 45 56 49 4e 53 54  _NO_SUCH_DEVINST
30a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 41               = A
30b0: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
30c0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
30d0: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
30e0: 78 32 30 42 2c 0a 09 45 52 52 4f 52 5f 43 41 4e  x20B,..ERROR_CAN
30f0: 54 5f 4c 4f 41 44 5f 43 4c 41 53 53 5f 49 43 4f  T_LOAD_CLASS_ICO
3100: 4e 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49  N        = APPLI
3110: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3120: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3130: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 30 43  TY_ERROR | 0x20C
3140: 2c 0a 09 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44  ,..ERROR_INVALID
3150: 5f 43 4c 41 53 53 5f 49 4e 53 54 41 4c 4c 45 52  _CLASS_INSTALLER
3160: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3170: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3180: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3190: 52 52 4f 52 20 7c 20 30 78 32 30 44 2c 0a 09 45  RROR | 0x20D,..E
31a0: 52 52 4f 52 5f 44 49 5f 44 4f 5f 44 45 46 41 55  RROR_DI_DO_DEFAU
31b0: 4c 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20  LT              
31c0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
31d0: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
31e0: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
31f0: 20 7c 20 30 78 32 30 45 2c 0a 09 45 52 52 4f 52   | 0x20E,..ERROR
3200: 5f 44 49 5f 4e 4f 46 49 4c 45 43 4f 50 59 20 20  _DI_NOFILECOPY  
3210: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 41               = A
3220: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3230: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3240: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3250: 78 32 30 46 2c 0a 09 45 52 52 4f 52 5f 49 4e 56  x20F,..ERROR_INV
3260: 41 4c 49 44 5f 48 57 50 52 4f 46 49 4c 45 20 20  ALID_HWPROFILE  
3270: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
3280: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3290: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
32a0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 31 30  TY_ERROR | 0x210
32b0: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f 44 45 56 49  ,..ERROR_NO_DEVI
32c0: 43 45 5f 53 45 4c 45 43 54 45 44 20 20 20 20 20  CE_SELECTED     
32d0: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
32e0: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
32f0: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3300: 52 52 4f 52 20 7c 20 30 78 32 31 31 2c 0a 09 45  RROR | 0x211,..E
3310: 52 52 4f 52 5f 44 45 56 49 4e 46 4f 5f 4c 49 53  RROR_DEVINFO_LIS
3320: 54 5f 4c 4f 43 4b 45 44 20 20 20 20 20 20 20 20  T_LOCKED        
3330: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3340: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3350: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3360: 20 7c 20 30 78 32 31 32 2c 0a 09 45 52 52 4f 52   | 0x212,..ERROR
3370: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 5f 4c 4f  _DEVINFO_DATA_LO
3380: 43 4b 45 44 20 20 20 20 20 20 20 20 20 3d 20 41  CKED         = A
3390: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
33a0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
33b0: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
33c0: 78 32 31 33 2c 0a 09 45 52 52 4f 52 5f 44 49 5f  x213,..ERROR_DI_
33d0: 42 41 44 5f 50 41 54 48 20 20 20 20 20 20 20 20  BAD_PATH        
33e0: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
33f0: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3400: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3410: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 31 34  TY_ERROR | 0x214
3420: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f 43 4c 41 53  ,..ERROR_NO_CLAS
3430: 53 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 20  SINSTALL_PARAMS 
3440: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3450: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3460: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3470: 52 52 4f 52 20 7c 20 30 78 32 31 35 2c 0a 09 45  RROR | 0x215,..E
3480: 52 52 4f 52 5f 46 49 4c 45 51 55 45 55 45 5f 4c  RROR_FILEQUEUE_L
3490: 4f 43 4b 45 44 20 20 20 20 20 20 20 20 20 20 20  OCKED           
34a0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
34b0: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
34c0: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
34d0: 20 7c 20 30 78 32 31 36 2c 0a 09 45 52 52 4f 52   | 0x216,..ERROR
34e0: 5f 42 41 44 5f 53 45 52 56 49 43 45 5f 49 4e 53  _BAD_SERVICE_INS
34f0: 54 41 4c 4c 53 45 43 54 20 20 20 20 20 3d 20 41  TALLSECT     = A
3500: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3510: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3520: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3530: 78 32 31 37 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f  x217,..ERROR_NO_
3540: 43 4c 41 53 53 5f 44 52 49 56 45 52 5f 4c 49 53  CLASS_DRIVER_LIS
3550: 54 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49  T        = APPLI
3560: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3570: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3580: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 31 38  TY_ERROR | 0x218
3590: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f 41 53 53 4f  ,..ERROR_NO_ASSO
35a0: 43 49 41 54 45 44 5f 53 45 52 56 49 43 45 20 20  CIATED_SERVICE  
35b0: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
35c0: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
35d0: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
35e0: 52 52 4f 52 20 7c 20 30 78 32 31 39 2c 0a 09 45  RROR | 0x219,..E
35f0: 52 52 4f 52 5f 4e 4f 5f 44 45 46 41 55 4c 54 5f  RROR_NO_DEFAULT_
3600: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
3610: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3620: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3630: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3640: 20 7c 20 30 78 32 31 41 2c 0a 09 45 52 52 4f 52   | 0x21A,..ERROR
3650: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
3660: 45 5f 41 43 54 49 56 45 20 20 20 20 20 3d 20 41  E_ACTIVE     = A
3670: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3680: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3690: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
36a0: 78 32 31 42 2c 0a 09 45 52 52 4f 52 5f 44 45 56  x21B,..ERROR_DEV
36b0: 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 52 45  ICE_INTERFACE_RE
36c0: 4d 4f 56 45 44 20 20 20 20 3d 20 41 50 50 4c 49  MOVED    = APPLI
36d0: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
36e0: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
36f0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 31 43  TY_ERROR | 0x21C
3700: 2c 0a 09 45 52 52 4f 52 5f 42 41 44 5f 49 4e 54  ,..ERROR_BAD_INT
3710: 45 52 46 41 43 45 5f 49 4e 53 54 41 4c 4c 53 45  ERFACE_INSTALLSE
3720: 43 54 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49  CT   = APPLICATI
3730: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3740: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3750: 52 52 4f 52 20 7c 20 30 78 32 31 44 2c 0a 09 45  RROR | 0x21D,..E
3760: 52 52 4f 52 5f 4e 4f 5f 53 55 43 48 5f 49 4e 54  RROR_NO_SUCH_INT
3770: 45 52 46 41 43 45 5f 43 4c 41 53 53 20 20 20 20  ERFACE_CLASS    
3780: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3790: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
37a0: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
37b0: 20 7c 20 30 78 32 31 45 2c 0a 09 45 52 52 4f 52   | 0x21E,..ERROR
37c0: 5f 49 4e 56 41 4c 49 44 5f 52 45 46 45 52 45 4e  _INVALID_REFEREN
37d0: 43 45 5f 53 54 52 49 4e 47 20 20 20 20 3d 20 41  CE_STRING    = A
37e0: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
37f0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3800: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3810: 78 32 31 46 2c 0a 09 45 52 52 4f 52 5f 49 4e 56  x21F,..ERROR_INV
3820: 41 4c 49 44 5f 4d 41 43 48 49 4e 45 4e 41 4d 45  ALID_MACHINENAME
3830: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
3840: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3850: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3860: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 32 30  TY_ERROR | 0x220
3870: 2c 0a 09 45 52 52 4f 52 5f 52 45 4d 4f 54 45 5f  ,..ERROR_REMOTE_
3880: 43 4f 4d 4d 5f 46 41 49 4c 55 52 45 20 20 20 20  COMM_FAILURE    
3890: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
38a0: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
38b0: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
38c0: 52 52 4f 52 20 7c 20 30 78 32 32 31 2c 0a 09 45  RROR | 0x221,..E
38d0: 52 52 4f 52 5f 4d 41 43 48 49 4e 45 5f 55 4e 41  RROR_MACHINE_UNA
38e0: 56 41 49 4c 41 42 4c 45 20 20 20 20 20 20 20 20  VAILABLE        
38f0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3900: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3910: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3920: 20 7c 20 30 78 32 32 32 2c 0a 09 45 52 52 4f 52   | 0x222,..ERROR
3930: 5f 4e 4f 5f 43 4f 4e 46 49 47 4d 47 52 5f 53 45  _NO_CONFIGMGR_SE
3940: 52 56 49 43 45 53 20 20 20 20 20 20 20 3d 20 41  RVICES       = A
3950: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3960: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3970: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3980: 78 32 32 33 2c 0a 09 45 52 52 4f 52 5f 49 4e 56  x223,..ERROR_INV
3990: 41 4c 49 44 5f 50 52 4f 50 50 41 47 45 5f 50 52  ALID_PROPPAGE_PR
39a0: 4f 56 49 44 45 52 20 20 20 3d 20 41 50 50 4c 49  OVIDER   = APPLI
39b0: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
39c0: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
39d0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 32 34  TY_ERROR | 0x224
39e0: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f 53 55 43 48  ,..ERROR_NO_SUCH
39f0: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
3a00: 45 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49  E    = APPLICATI
3a10: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3a20: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3a30: 52 52 4f 52 20 7c 20 30 78 32 32 35 2c 0a 09 45  RROR | 0x225,..E
3a40: 52 52 4f 52 5f 44 49 5f 50 4f 53 54 50 52 4f 43  RROR_DI_POSTPROC
3a50: 45 53 53 49 4e 47 5f 52 45 51 55 49 52 45 44 20  ESSING_REQUIRED 
3a60: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3a70: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3a80: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3a90: 20 7c 20 30 78 32 32 36 2c 0a 09 45 52 52 4f 52   | 0x226,..ERROR
3aa0: 5f 49 4e 56 41 4c 49 44 5f 43 4f 49 4e 53 54 41  _INVALID_COINSTA
3ab0: 4c 4c 45 52 20 20 20 20 20 20 20 20 20 3d 20 41  LLER         = A
3ac0: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3ad0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3ae0: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3af0: 78 32 32 37 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f  x227,..ERROR_NO_
3b00: 43 4f 4d 50 41 54 5f 44 52 49 56 45 52 53 20 20  COMPAT_DRIVERS  
3b10: 20 20 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49           = APPLI
3b20: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3b30: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3b40: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 32 38  TY_ERROR | 0x228
3b50: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 5f 44 45 56 49  ,..ERROR_NO_DEVI
3b60: 43 45 5f 49 43 4f 4e 20 20 20 20 20 20 20 20 20  CE_ICON         
3b70: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3b80: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3b90: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3ba0: 52 52 4f 52 20 7c 20 30 78 32 32 39 2c 0a 09 45  RROR | 0x229,..E
3bb0: 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 49 4e 46  RROR_INVALID_INF
3bc0: 5f 4c 4f 47 43 4f 4e 46 49 47 20 20 20 20 20 20  _LOGCONFIG      
3bd0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3be0: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3bf0: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3c00: 20 7c 20 30 78 32 32 41 2c 0a 09 45 52 52 4f 52   | 0x22A,..ERROR
3c10: 5f 44 49 5f 44 4f 4e 54 5f 49 4e 53 54 41 4c 4c  _DI_DONT_INSTALL
3c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 41               = A
3c30: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3c40: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3c50: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3c60: 78 32 32 42 2c 0a 09 45 52 52 4f 52 5f 49 4e 56  x22B,..ERROR_INV
3c70: 41 4c 49 44 5f 46 49 4c 54 45 52 5f 44 52 49 56  ALID_FILTER_DRIV
3c80: 45 52 20 20 20 20 20 20 20 3d 20 41 50 50 4c 49  ER       = APPLI
3c90: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3ca0: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3cb0: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 32 43  TY_ERROR | 0x22C
3cc0: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 4e 5f 57 49 4e  ,..ERROR_NON_WIN
3cd0: 44 4f 57 53 5f 4e 54 5f 44 52 49 56 45 52 20 20  DOWS_NT_DRIVER  
3ce0: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3cf0: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3d00: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3d10: 52 52 4f 52 20 7c 20 30 78 32 32 44 2c 0a 09 45  RROR | 0x22D,..E
3d20: 52 52 4f 52 5f 4e 4f 4e 5f 57 49 4e 44 4f 57 53  RROR_NON_WINDOWS
3d30: 5f 44 52 49 56 45 52 20 20 20 20 20 20 20 20 20  _DRIVER         
3d40: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3d50: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3d60: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3d70: 20 7c 20 30 78 32 32 45 2c 0a 09 45 52 52 4f 52   | 0x22E,..ERROR
3d80: 5f 4e 4f 5f 43 41 54 41 4c 4f 47 5f 46 4f 52 5f  _NO_CATALOG_FOR_
3d90: 4f 45 4d 5f 49 4e 46 20 20 20 20 20 20 3d 20 41  OEM_INF      = A
3da0: 50 50 4c 49 43 41 54 49 4f 4e 5f 45 52 52 4f 52  PPLICATION_ERROR
3db0: 5f 4d 41 53 4b 20 7c 20 45 52 52 4f 52 5f 53 45  _MASK | ERROR_SE
3dc0: 56 45 52 49 54 59 5f 45 52 52 4f 52 20 7c 20 30  VERITY_ERROR | 0
3dd0: 78 32 32 46 2c 0a 09 45 52 52 4f 52 5f 44 45 56  x22F,..ERROR_DEV
3de0: 49 4e 53 54 41 4c 4c 5f 51 55 45 55 45 5f 4e 4f  INSTALL_QUEUE_NO
3df0: 4e 4e 41 54 49 56 45 20 20 3d 20 41 50 50 4c 49  NNATIVE  = APPLI
3e00: 43 41 54 49 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53  CATION_ERROR_MAS
3e10: 4b 20 7c 20 45 52 52 4f 52 5f 53 45 56 45 52 49  K | ERROR_SEVERI
3e20: 54 59 5f 45 52 52 4f 52 20 7c 20 30 78 32 33 30  TY_ERROR | 0x230
3e30: 2c 0a 09 45 52 52 4f 52 5f 4e 4f 54 5f 44 49 53  ,..ERROR_NOT_DIS
3e40: 41 42 4c 45 41 42 4c 45 20 20 20 20 20 20 20 20  ABLEABLE        
3e50: 20 20 20 20 20 3d 20 41 50 50 4c 49 43 41 54 49       = APPLICATI
3e60: 4f 4e 5f 45 52 52 4f 52 5f 4d 41 53 4b 20 7c 20  ON_ERROR_MASK | 
3e70: 45 52 52 4f 52 5f 53 45 56 45 52 49 54 59 5f 45  ERROR_SEVERITY_E
3e80: 52 52 4f 52 20 7c 20 30 78 32 33 31 2c 0a 09 45  RROR | 0x231,..E
3e90: 52 52 4f 52 5f 43 41 4e 54 5f 52 45 4d 4f 56 45  RROR_CANT_REMOVE
3ea0: 5f 44 45 56 49 4e 53 54 20 20 20 20 20 20 20 20  _DEVINST        
3eb0: 20 3d 20 41 50 50 4c 49 43 41 54 49 4f 4e 5f 45   = APPLICATION_E
3ec0: 52 52 4f 52 5f 4d 41 53 4b 20 7c 20 45 52 52 4f  RROR_MASK | ERRO
3ed0: 52 5f 53 45 56 45 52 49 54 59 5f 45 52 52 4f 52  R_SEVERITY_ERROR
3ee0: 20 7c 20 30 78 32 33 32 0a 7d 0a 0a 64 65 70 72   | 0x232.}..depr
3ef0: 65 63 61 74 65 64 20 65 6e 75 6d 20 3a 20 44 57  ecated enum : DW
3f00: 4f 52 44 20 7b 0a 09 45 52 52 4f 52 5f 4e 4f 5f  ORD {..ERROR_NO_
3f10: 44 45 46 41 55 4c 54 5f 49 4e 54 45 52 46 41 43  DEFAULT_INTERFAC
3f20: 45 5f 44 45 56 49 43 45 20 3d 20 45 52 52 4f 52  E_DEVICE = ERROR
3f30: 5f 4e 4f 5f 44 45 46 41 55 4c 54 5f 44 45 56 49  _NO_DEFAULT_DEVI
3f40: 43 45 5f 49 4e 54 45 52 46 41 43 45 2c 0a 09 45  CE_INTERFACE,..E
3f50: 52 52 4f 52 5f 49 4e 54 45 52 46 41 43 45 5f 44  RROR_INTERFACE_D
3f60: 45 56 49 43 45 5f 41 43 54 49 56 45 20 20 20 20  EVICE_ACTIVE    
3f70: 20 3d 20 45 52 52 4f 52 5f 44 45 56 49 43 45 5f   = ERROR_DEVICE_
3f80: 49 4e 54 45 52 46 41 43 45 5f 41 43 54 49 56 45  INTERFACE_ACTIVE
3f90: 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 46 41  ,..ERROR_INTERFA
3fa0: 43 45 5f 44 45 56 49 43 45 5f 52 45 4d 4f 56 45  CE_DEVICE_REMOVE
3fb0: 44 20 20 20 20 3d 20 45 52 52 4f 52 5f 44 45 56  D    = ERROR_DEV
3fc0: 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 52 45  ICE_INTERFACE_RE
3fd0: 4d 4f 56 45 44 2c 0a 09 45 52 52 4f 52 5f 4e 4f  MOVED,..ERROR_NO
3fe0: 5f 53 55 43 48 5f 49 4e 54 45 52 46 41 43 45 5f  _SUCH_INTERFACE_
3ff0: 44 45 56 49 43 45 20 20 20 20 3d 20 45 52 52 4f  DEVICE    = ERRO
4000: 52 5f 4e 4f 5f 53 55 43 48 5f 44 45 56 49 43 45  R_NO_SUCH_DEVICE
4010: 5f 49 4e 54 45 52 46 41 43 45 2c 0a 7d 0a 0a 65  _INTERFACE,.}..e
4020: 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 09 46 49  num : UINT {..FI
4030: 4c 45 4f 50 5f 43 4f 50 59 2c 0a 09 46 49 4c 45  LEOP_COPY,..FILE
4040: 4f 50 5f 52 45 4e 41 4d 45 2c 0a 09 46 49 4c 45  OP_RENAME,..FILE
4050: 4f 50 5f 44 45 4c 45 54 45 2c 0a 09 46 49 4c 45  OP_DELETE,..FILE
4060: 4f 50 5f 42 41 43 4b 55 50 2c 0a 09 46 49 4c 45  OP_BACKUP,..FILE
4070: 4f 50 5f 4e 45 57 50 41 54 48 2c 20 2f 2f 20 3d  OP_NEWPATH, // =
4080: 20 34 0a 09 46 49 4c 45 4f 50 5f 41 42 4f 52 54   4..FILEOP_ABORT
4090: 20 3d 20 30 2c 0a 09 46 49 4c 45 4f 50 5f 44 4f   = 0,..FILEOP_DO
40a0: 49 54 2c 0a 09 46 49 4c 45 4f 50 5f 53 4b 49 50  IT,..FILEOP_SKIP
40b0: 2c 20 2f 2f 20 3d 20 32 0a 09 46 49 4c 45 4f 50  , // = 2..FILEOP
40c0: 5f 52 45 54 52 59 20 3d 20 46 49 4c 45 4f 50 5f  _RETRY = FILEOP_
40d0: 44 4f 49 54 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 55  DOIT.}..enum : U
40e0: 49 4e 54 20 7b 0a 09 46 49 4c 45 5f 43 4f 4d 50  INT {..FILE_COMP
40f0: 52 45 53 53 49 4f 4e 5f 4e 4f 4e 45 2c 0a 09 46  RESSION_NONE,..F
4100: 49 4c 45 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 5f  ILE_COMPRESSION_
4110: 57 49 4e 4c 5a 41 2c 0a 09 46 49 4c 45 5f 43 4f  WINLZA,..FILE_CO
4120: 4d 50 52 45 53 53 49 4f 4e 5f 4d 53 5a 49 50 2c  MPRESSION_MSZIP,
4130: 0a 09 46 49 4c 45 5f 43 4f 4d 50 52 45 53 53 49  ..FILE_COMPRESSI
4140: 4f 4e 5f 4e 54 43 41 42 20 2f 2f 20 3d 20 33 0a  ON_NTCAB // = 3.
4150: 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
4160: 7b 0a 09 46 4c 47 5f 41 44 44 52 45 47 5f 54 59  {..FLG_ADDREG_TY
4170: 50 45 5f 53 5a 20 20 20 20 20 20 20 20 3d 20 30  PE_SZ        = 0
4180: 78 30 30 30 30 30 30 30 30 2c 0a 09 46 4c 47 5f  x00000000,..FLG_
4190: 41 44 44 52 45 47 5f 42 49 4e 56 41 4c 55 45 54  ADDREG_BINVALUET
41a0: 59 50 45 20 20 20 3d 20 30 78 30 30 30 30 30 30  YPE   = 0x000000
41b0: 30 31 2c 0a 09 46 4c 47 5f 41 44 44 52 45 47 5f  01,..FLG_ADDREG_
41c0: 4e 4f 43 4c 4f 42 42 45 52 20 20 20 20 20 20 3d  NOCLOBBER      =
41d0: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 46 4c   0x00000002,..FL
41e0: 47 5f 41 44 44 52 45 47 5f 44 45 4c 56 41 4c 20  G_ADDREG_DELVAL 
41f0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
4200: 30 30 30 34 2c 0a 09 46 4c 47 5f 41 44 44 52 45  0004,..FLG_ADDRE
4210: 47 5f 41 50 50 45 4e 44 20 20 20 20 20 20 20 20  G_APPEND        
4220: 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09   = 0x00000008,..
4230: 46 4c 47 5f 41 44 44 52 45 47 5f 4b 45 59 4f 4e  FLG_ADDREG_KEYON
4240: 4c 59 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  LY        = 0x00
4250: 30 30 30 30 31 30 2c 0a 09 46 4c 47 5f 41 44 44  000010,..FLG_ADD
4260: 52 45 47 5f 4f 56 45 52 57 52 49 54 45 4f 4e 4c  REG_OVERWRITEONL
4270: 59 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c  Y  = 0x00000020,
4280: 0a 09 46 4c 47 5f 41 44 44 52 45 47 5f 54 59 50  ..FLG_ADDREG_TYP
4290: 45 5f 4d 55 4c 54 49 5f 53 5a 20 20 3d 20 30 78  E_MULTI_SZ  = 0x
42a0: 30 30 30 31 30 30 30 30 2c 0a 09 46 4c 47 5f 41  00010000,..FLG_A
42b0: 44 44 52 45 47 5f 54 59 50 45 5f 45 58 50 41 4e  DDREG_TYPE_EXPAN
42c0: 44 5f 53 5a 20 3d 20 30 78 30 30 30 32 30 30 30  D_SZ = 0x0002000
42d0: 30 2c 0a 09 46 4c 47 5f 41 44 44 52 45 47 5f 54  0,..FLG_ADDREG_T
42e0: 59 50 45 5f 42 49 4e 41 52 59 20 20 20 20 3d 20  YPE_BINARY    = 
42f0: 30 78 30 30 30 30 30 30 30 30 20 7c 20 46 4c 47  0x00000000 | FLG
4300: 5f 41 44 44 52 45 47 5f 42 49 4e 56 41 4c 55 45  _ADDREG_BINVALUE
4310: 54 59 50 45 2c 0a 09 46 4c 47 5f 41 44 44 52 45  TYPE,..FLG_ADDRE
4320: 47 5f 54 59 50 45 5f 44 57 4f 52 44 20 20 20 20  G_TYPE_DWORD    
4330: 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7c 20   = 0x00010000 | 
4340: 46 4c 47 5f 41 44 44 52 45 47 5f 42 49 4e 56 41  FLG_ADDREG_BINVA
4350: 4c 55 45 54 59 50 45 2c 0a 09 46 4c 47 5f 41 44  LUETYPE,..FLG_AD
4360: 44 52 45 47 5f 54 59 50 45 5f 4e 4f 4e 45 20 20  DREG_TYPE_NONE  
4370: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30      = 0x00020000
4380: 20 7c 20 46 4c 47 5f 41 44 44 52 45 47 5f 42 49   | FLG_ADDREG_BI
4390: 4e 56 41 4c 55 45 54 59 50 45 2c 0a 09 46 4c 47  NVALUETYPE,..FLG
43a0: 5f 41 44 44 52 45 47 5f 54 59 50 45 5f 4d 41 53  _ADDREG_TYPE_MAS
43b0: 4b 20 20 20 20 20 20 3d 20 30 78 46 46 46 46 30  K      = 0xFFFF0
43c0: 30 30 30 20 7c 20 46 4c 47 5f 41 44 44 52 45 47  000 | FLG_ADDREG
43d0: 5f 42 49 4e 56 41 4c 55 45 54 59 50 45 0a 7d 0a  _BINVALUETYPE.}.
43e0: 0a 73 74 61 74 69 63 20 69 66 28 5f 53 45 54 55  .static if(_SETU
43f0: 50 41 50 49 5f 56 45 52 20 3e 3d 20 30 78 30 35  PAPI_VER >= 0x05
4400: 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a 20 44 57  01) {..enum : DW
4410: 4f 52 44 20 7b 0a 09 09 46 4c 47 5f 41 44 44 52  ORD {...FLG_ADDR
4420: 45 47 5f 36 34 42 49 54 4b 45 59 20 20 20 20 20  EG_64BITKEY     
4430: 20 20 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a    = 0x00001000,.
4440: 09 09 46 4c 47 5f 41 44 44 52 45 47 5f 4b 45 59  ..FLG_ADDREG_KEY
4450: 4f 4e 4c 59 5f 43 4f 4d 4d 4f 4e 20 3d 20 30 78  ONLY_COMMON = 0x
4460: 30 30 30 30 32 30 30 30 2c 0a 09 09 46 4c 47 5f  00002000,...FLG_
4470: 41 44 44 52 45 47 5f 33 32 42 49 54 4b 45 59 20  ADDREG_32BITKEY 
4480: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30        = 0x000040
4490: 30 30 2c 0a 09 09 46 4c 47 5f 41 44 44 52 45 47  00,...FLG_ADDREG
44a0: 5f 44 45 4c 52 45 47 5f 42 49 54 20 20 20 20 20  _DELREG_BIT     
44b0: 3d 20 30 78 30 30 30 30 38 30 30 30 0a 09 7d 0a  = 0x00008000..}.
44c0: 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
44d0: 7b 0a 09 46 4c 47 5f 44 45 4c 52 45 47 5f 56 41  {..FLG_DELREG_VA
44e0: 4c 55 45 20 3d 20 30 78 30 30 30 30 30 30 30 30  LUE = 0x00000000
44f0: 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 28 5f 53  .}..static if(_S
4500: 45 54 55 50 41 50 49 5f 56 45 52 20 3e 3d 20 30  ETUPAPI_VER >= 0
4510: 78 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a  x0501) {..enum :
4520: 20 44 57 4f 52 44 20 7b 0a 09 09 46 4c 47 5f 44   DWORD {...FLG_D
4530: 45 4c 52 45 47 5f 54 59 50 45 5f 4d 41 53 4b 20  ELREG_TYPE_MASK 
4540: 20 20 20 20 20 20 20 20 20 3d 20 46 4c 47 5f 41           = FLG_A
4550: 44 44 52 45 47 5f 54 59 50 45 5f 4d 41 53 4b 2c  DDREG_TYPE_MASK,
4560: 0a 09 09 46 4c 47 5f 44 45 4c 52 45 47 5f 54 59  ...FLG_DELREG_TY
4570: 50 45 5f 53 5a 20 20 20 20 20 20 20 20 20 20 20  PE_SZ           
4580: 20 3d 20 46 4c 47 5f 41 44 44 52 45 47 5f 54 59   = FLG_ADDREG_TY
4590: 50 45 5f 53 5a 2c 0a 09 09 46 4c 47 5f 44 45 4c  PE_SZ,...FLG_DEL
45a0: 52 45 47 5f 54 59 50 45 5f 4d 55 4c 54 49 5f 53  REG_TYPE_MULTI_S
45b0: 5a 20 20 20 20 20 20 3d 20 46 4c 47 5f 41 44 44  Z      = FLG_ADD
45c0: 52 45 47 5f 54 59 50 45 5f 4d 55 4c 54 49 5f 53  REG_TYPE_MULTI_S
45d0: 5a 2c 0a 09 09 46 4c 47 5f 44 45 4c 52 45 47 5f  Z,...FLG_DELREG_
45e0: 54 59 50 45 5f 45 58 50 41 4e 44 5f 53 5a 20 20  TYPE_EXPAND_SZ  
45f0: 20 20 20 3d 20 46 4c 47 5f 41 44 44 52 45 47 5f     = FLG_ADDREG_
4600: 54 59 50 45 5f 45 58 50 41 4e 44 5f 53 5a 2c 0a  TYPE_EXPAND_SZ,.
4610: 09 09 46 4c 47 5f 44 45 4c 52 45 47 5f 54 59 50  ..FLG_DELREG_TYP
4620: 45 5f 42 49 4e 41 52 59 20 20 20 20 20 20 20 20  E_BINARY        
4630: 3d 20 46 4c 47 5f 41 44 44 52 45 47 5f 54 59 50  = FLG_ADDREG_TYP
4640: 45 5f 42 49 4e 41 52 59 2c 0a 09 09 46 4c 47 5f  E_BINARY,...FLG_
4650: 44 45 4c 52 45 47 5f 54 59 50 45 5f 44 57 4f 52  DELREG_TYPE_DWOR
4660: 44 20 20 20 20 20 20 20 20 20 3d 20 46 4c 47 5f  D         = FLG_
4670: 41 44 44 52 45 47 5f 54 59 50 45 5f 44 57 4f 52  ADDREG_TYPE_DWOR
4680: 44 2c 0a 09 09 46 4c 47 5f 44 45 4c 52 45 47 5f  D,...FLG_DELREG_
4690: 54 59 50 45 5f 4e 4f 4e 45 20 20 20 20 20 20 20  TYPE_NONE       
46a0: 20 20 20 3d 20 46 4c 47 5f 41 44 44 52 45 47 5f     = FLG_ADDREG_
46b0: 54 59 50 45 5f 4e 4f 4e 45 2c 0a 09 09 46 4c 47  TYPE_NONE,...FLG
46c0: 5f 44 45 4c 52 45 47 5f 36 34 42 49 54 4b 45 59  _DELREG_64BITKEY
46d0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 46 4c 47             = FLG
46e0: 5f 41 44 44 52 45 47 5f 36 34 42 49 54 4b 45 59  _ADDREG_64BITKEY
46f0: 2c 0a 09 09 46 4c 47 5f 44 45 4c 52 45 47 5f 4b  ,...FLG_DELREG_K
4700: 45 59 4f 4e 4c 59 5f 43 4f 4d 4d 4f 4e 20 20 20  EYONLY_COMMON   
4710: 20 20 3d 20 46 4c 47 5f 41 44 44 52 45 47 5f 4b    = FLG_ADDREG_K
4720: 45 59 4f 4e 4c 59 5f 43 4f 4d 4d 4f 4e 2c 0a 09  EYONLY_COMMON,..
4730: 09 46 4c 47 5f 44 45 4c 52 45 47 5f 33 32 42 49  .FLG_DELREG_32BI
4740: 54 4b 45 59 20 20 20 20 20 20 20 20 20 20 20 3d  TKEY           =
4750: 20 46 4c 47 5f 41 44 44 52 45 47 5f 33 32 42 49   FLG_ADDREG_32BI
4760: 54 4b 45 59 2c 0a 09 09 46 4c 47 5f 44 45 4c 52  TKEY,...FLG_DELR
4770: 45 47 5f 4f 50 45 52 41 54 49 4f 4e 5f 4d 41 53  EG_OPERATION_MAS
4780: 4b 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30  K     = 0x000000
4790: 46 45 2c 0a 09 09 46 4c 47 5f 44 45 4c 52 45 47  FE,...FLG_DELREG
47a0: 5f 4d 55 4c 54 49 5f 53 5a 5f 44 45 4c 53 54 52  _MULTI_SZ_DELSTR
47b0: 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 32  ING = 0x00000002
47c0: 20 7c 20 46 4c 47 5f 44 45 4c 52 45 47 5f 54 59   | FLG_DELREG_TY
47d0: 50 45 5f 4d 55 4c 54 49 5f 53 5a 20 7c 20 46 4c  PE_MULTI_SZ | FL
47e0: 47 5f 41 44 44 52 45 47 5f 44 45 4c 52 45 47 5f  G_ADDREG_DELREG_
47f0: 42 49 54 0a 09 7d 0a 7d 0a 0a 65 6e 75 6d 20 3a  BIT..}.}..enum :
4800: 20 44 57 4f 52 44 20 7b 0a 09 46 4c 47 5f 42 49   DWORD {..FLG_BI
4810: 54 52 45 47 5f 43 4c 45 41 52 42 49 54 53 20 3d  TREG_CLEARBITS =
4820: 20 30 78 30 30 30 30 30 30 30 30 2c 0a 09 46 4c   0x00000000,..FL
4830: 47 5f 42 49 54 52 45 47 5f 53 45 54 42 49 54 53  G_BITREG_SETBITS
4840: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 0a     = 0x00000001.
4850: 7d 0a 0a 73 74 61 74 69 63 20 69 66 28 5f 53 45  }..static if(_SE
4860: 54 55 50 41 50 49 5f 56 45 52 20 3e 3d 20 30 78  TUPAPI_VER >= 0x
4870: 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a 20  0501) {..enum : 
4880: 44 57 4f 52 44 20 7b 0a 09 09 46 4c 47 5f 42 49  DWORD {...FLG_BI
4890: 54 52 45 47 5f 36 34 42 49 54 4b 45 59 20 3d 20  TREG_64BITKEY = 
48a0: 30 78 30 30 30 30 31 30 30 30 2c 0a 09 09 46 4c  0x00001000,...FL
48b0: 47 5f 42 49 54 52 45 47 5f 33 32 42 49 54 4b 45  G_BITREG_32BITKE
48c0: 59 20 3d 20 30 78 30 30 30 30 34 30 30 30 0a 09  Y = 0x00004000..
48d0: 7d 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  }.}..enum : DWOR
48e0: 44 20 7b 0a 09 46 4c 47 5f 50 52 4f 46 49 54 45  D {..FLG_PROFITE
48f0: 4d 5f 43 55 52 52 45 4e 54 55 53 45 52 20 3d 20  M_CURRENTUSER = 
4900: 30 78 30 30 30 30 30 30 30 31 2c 0a 09 46 4c 47  0x00000001,..FLG
4910: 5f 50 52 4f 46 49 54 45 4d 5f 44 45 4c 45 54 45  _PROFITEM_DELETE
4920: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
4930: 30 32 2c 0a 09 46 4c 47 5f 50 52 4f 46 49 54 45  02,..FLG_PROFITE
4940: 4d 5f 47 52 4f 55 50 20 20 20 20 20 20 20 3d 20  M_GROUP       = 
4950: 30 78 30 30 30 30 30 30 30 34 2c 0a 09 46 4c 47  0x00000004,..FLG
4960: 5f 50 52 4f 46 49 54 45 4d 5f 43 53 49 44 4c 20  _PROFITEM_CSIDL 
4970: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
4980: 30 38 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  08.}..enum : DWO
4990: 52 44 20 7b 0a 09 46 4c 47 5f 52 45 47 53 56 52  RD {..FLG_REGSVR
49a0: 5f 44 4c 4c 52 45 47 49 53 54 45 52 20 3d 20 30  _DLLREGISTER = 0
49b0: 78 30 30 30 30 30 30 30 31 2c 0a 09 46 4c 47 5f  x00000001,..FLG_
49c0: 52 45 47 53 56 52 5f 44 4c 4c 49 4e 53 54 41 4c  REGSVR_DLLINSTAL
49d0: 4c 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 0a  L  = 0x00000002.
49e0: 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 49 44 44 5f 44  }..enum {..IDD_D
49f0: 59 4e 41 57 49 5a 5f 46 49 52 53 54 50 41 47 45  YNAWIZ_FIRSTPAGE
4a00: 20 3d 20 31 30 30 30 30 2c 0a 09 49 44 44 5f 44   = 10000,..IDD_D
4a10: 59 4e 41 57 49 5a 5f 53 45 4c 45 43 54 5f 50 52  YNAWIZ_SELECT_PR
4a20: 45 56 50 41 47 45 2c 0a 09 49 44 44 5f 44 59 4e  EVPAGE,..IDD_DYN
4a30: 41 57 49 5a 5f 53 45 4c 45 43 54 5f 4e 45 58 54  AWIZ_SELECT_NEXT
4a40: 50 41 47 45 2c 0a 09 49 44 44 5f 44 59 4e 41 57  PAGE,..IDD_DYNAW
4a50: 49 5a 5f 41 4e 41 4c 59 5a 45 5f 50 52 45 56 50  IZ_ANALYZE_PREVP
4a60: 41 47 45 2c 0a 09 49 44 44 5f 44 59 4e 41 57 49  AGE,..IDD_DYNAWI
4a70: 5a 5f 41 4e 41 4c 59 5a 45 5f 4e 45 58 54 50 41  Z_ANALYZE_NEXTPA
4a80: 47 45 2c 20 2f 2f 20 3d 20 31 30 30 34 0a 09 49  GE, // = 1004..I
4a90: 44 44 5f 44 59 4e 41 57 49 5a 5f 49 4e 53 54 41  DD_DYNAWIZ_INSTA
4aa0: 4c 4c 44 45 54 45 43 54 45 44 5f 50 52 45 56 50  LLDETECTED_PREVP
4ab0: 41 47 45 20 3d 20 31 30 30 30 36 2c 0a 09 49 44  AGE = 10006,..ID
4ac0: 44 5f 44 59 4e 41 57 49 5a 5f 49 4e 53 54 41 4c  D_DYNAWIZ_INSTAL
4ad0: 4c 44 45 54 45 43 54 45 44 5f 4e 45 58 54 50 41  LDETECTED_NEXTPA
4ae0: 47 45 2c 0a 09 49 44 44 5f 44 59 4e 41 57 49 5a  GE,..IDD_DYNAWIZ
4af0: 5f 49 4e 53 54 41 4c 4c 44 45 54 45 43 54 45 44  _INSTALLDETECTED
4b00: 5f 4e 4f 44 45 56 53 2c 0a 09 49 44 44 5f 44 59  _NODEVS,..IDD_DY
4b10: 4e 41 57 49 5a 5f 53 45 4c 45 43 54 44 45 56 5f  NAWIZ_SELECTDEV_
4b20: 50 41 47 45 2c 0a 09 49 44 44 5f 44 59 4e 41 57  PAGE,..IDD_DYNAW
4b30: 49 5a 5f 41 4e 41 4c 59 5a 45 44 45 56 5f 50 41  IZ_ANALYZEDEV_PA
4b40: 47 45 2c 0a 09 49 44 44 5f 44 59 4e 41 57 49 5a  GE,..IDD_DYNAWIZ
4b50: 5f 49 4e 53 54 41 4c 4c 44 45 54 45 43 54 45 44  _INSTALLDETECTED
4b60: 44 45 56 53 5f 50 41 47 45 2c 0a 09 49 44 44 5f  DEVS_PAGE,..IDD_
4b70: 44 59 4e 41 57 49 5a 5f 53 45 4c 45 43 54 43 4c  DYNAWIZ_SELECTCL
4b80: 41 53 53 5f 50 41 47 45 2c 20 2f 2f 20 3d 20 31  ASS_PAGE, // = 1
4b90: 30 30 31 32 0a 09 4d 49 4e 5f 49 44 44 5f 44 59  0012..MIN_IDD_DY
4ba0: 4e 41 57 49 5a 5f 52 45 53 4f 55 52 43 45 5f 49  NAWIZ_RESOURCE_I
4bb0: 44 20 3d 20 31 30 30 30 30 2c 0a 09 4d 41 58 5f  D = 10000,..MAX_
4bc0: 49 44 44 5f 44 59 4e 41 57 49 5a 5f 52 45 53 4f  IDD_DYNAWIZ_RESO
4bd0: 55 52 43 45 5f 49 44 20 3d 20 31 31 30 30 30 0a  URCE_ID = 11000.
4be0: 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  }..enum : DWORD 
4bf0: 7b 0a 09 49 44 46 5f 4e 4f 42 52 4f 57 53 45 20  {..IDF_NOBROWSE 
4c00: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31      = 0x00000001
4c10: 2c 0a 09 49 44 46 5f 4e 4f 53 4b 49 50 20 20 20  ,..IDF_NOSKIP   
4c20: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32      = 0x00000002
4c30: 2c 0a 09 49 44 46 5f 4e 4f 44 45 54 41 49 4c 53  ,..IDF_NODETAILS
4c40: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 34      = 0x00000004
4c50: 2c 0a 09 49 44 46 5f 4e 4f 43 4f 4d 50 52 45 53  ,..IDF_NOCOMPRES
4c60: 53 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 38  SED = 0x00000008
4c70: 2c 0a 09 49 44 46 5f 43 48 45 43 4b 46 49 52 53  ,..IDF_CHECKFIRS
4c80: 54 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30  T   = 0x00000100
4c90: 2c 0a 09 49 44 46 5f 4e 4f 42 45 45 50 20 20 20  ,..IDF_NOBEEP   
4ca0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30      = 0x00000200
4cb0: 2c 0a 09 49 44 46 5f 4e 4f 46 4f 52 45 47 52 4f  ,..IDF_NOFOREGRO
4cc0: 55 4e 44 20 3d 20 30 78 30 30 30 30 30 34 30 30  UND = 0x00000400
4cd0: 2c 0a 09 49 44 46 5f 57 41 52 4e 49 46 53 4b 49  ,..IDF_WARNIFSKI
4ce0: 50 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30  P   = 0x00000800
4cf0: 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 28 5f 53  .}..static if(_S
4d00: 45 54 55 50 41 50 49 5f 56 45 52 20 3e 3d 20 30  ETUPAPI_VER >= 0
4d10: 78 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a  x0501) {..enum :
4d20: 20 44 57 4f 52 44 20 7b 0a 09 09 49 44 46 5f 4e   DWORD {...IDF_N
4d30: 4f 52 45 4d 4f 56 41 42 4c 45 4d 45 44 49 41 50  OREMOVABLEMEDIAP
4d40: 52 4f 4d 50 54 20 3d 20 30 78 30 30 30 30 31 30  ROMPT = 0x000010
4d50: 30 30 2c 0a 09 09 49 44 46 5f 55 53 45 44 49 53  00,...IDF_USEDIS
4d60: 4b 4e 41 4d 45 41 53 50 52 4f 4d 50 54 20 20 20  KNAMEASPROMPT   
4d70: 20 3d 20 30 78 30 30 30 30 32 30 30 30 2c 0a 09   = 0x00002000,..
4d80: 09 49 44 46 5f 4f 45 4d 44 49 53 4b 20 20 20 20  .IDF_OEMDISK    
4d90: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
4da0: 38 30 30 30 30 30 30 30 0a 09 7d 0a 7d 0a 0a 65  80000000..}.}..e
4db0: 6e 75 6d 20 7b 0a 09 49 44 49 5f 52 45 53 4f 55  num {..IDI_RESOU
4dc0: 52 43 45 46 49 52 53 54 20 20 20 20 20 20 20 20  RCEFIRST        
4dd0: 20 20 3d 20 31 35 39 2c 0a 09 49 44 49 5f 52 45    = 159,..IDI_RE
4de0: 53 4f 55 52 43 45 20 20 20 20 20 20 20 20 20 20  SOURCE          
4df0: 20 20 20 20 20 3d 20 31 35 39 2c 0a 09 49 44 49       = 159,..IDI
4e00: 5f 52 45 53 4f 55 52 43 45 4c 41 53 54 20 20 20  _RESOURCELAST   
4e10: 20 20 20 20 20 20 20 20 3d 20 31 36 31 2c 0a 09          = 161,..
4e20: 49 44 49 5f 52 45 53 4f 55 52 43 45 4f 56 45 52  IDI_RESOURCEOVER
4e30: 4c 41 59 46 49 52 53 54 20 20 20 3d 20 31 36 31  LAYFIRST   = 161
4e40: 2c 0a 09 49 44 49 5f 52 45 53 4f 55 52 43 45 4f  ,..IDI_RESOURCEO
4e50: 56 45 52 4c 41 59 4c 41 53 54 20 20 20 20 3d 20  VERLAYLAST    = 
4e60: 31 36 31 2c 0a 09 49 44 49 5f 43 4f 4e 46 4c 49  161,..IDI_CONFLI
4e70: 43 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20  CT              
4e80: 20 3d 20 31 36 31 2c 0a 09 49 44 49 5f 50 52 4f   = 161,..IDI_PRO
4e90: 42 4c 45 4d 5f 4f 56 4c 20 20 20 20 20 20 20 20  BLEM_OVL        
4ea0: 20 20 20 20 3d 20 35 30 30 2c 0a 09 49 44 49 5f      = 500,..IDI_
4eb0: 44 49 53 41 42 4c 45 44 5f 4f 56 4c 20 20 20 20  DISABLED_OVL    
4ec0: 20 20 20 20 20 20 20 3d 20 35 30 31 2c 0a 09 49         = 501,..I
4ed0: 44 49 5f 46 4f 52 43 45 44 5f 4f 56 4c 20 20 20  DI_FORCED_OVL   
4ee0: 20 20 20 20 20 20 20 20 20 20 3d 20 35 30 32 2c            = 502,
4ef0: 0a 09 49 44 49 5f 43 4c 41 53 53 49 43 4f 4e 5f  ..IDI_CLASSICON_
4f00: 4f 56 45 52 4c 41 59 46 49 52 53 54 20 3d 20 35  OVERLAYFIRST = 5
4f10: 30 30 2c 0a 09 49 44 49 5f 43 4c 41 53 53 49 43  00,..IDI_CLASSIC
4f20: 4f 4e 5f 4f 56 45 52 4c 41 59 4c 41 53 54 20 20  ON_OVERLAYLAST  
4f30: 3d 20 35 30 32 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  = 502.}..enum : 
4f40: 44 57 4f 52 44 20 7b 0a 09 49 4e 46 5f 53 54 59  DWORD {..INF_STY
4f50: 4c 45 5f 4e 4f 4e 45 20 20 20 20 20 20 20 20 20  LE_NONE         
4f60: 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c 0a 09   = 0x00000000,..
4f70: 49 4e 46 5f 53 54 59 4c 45 5f 4f 4c 44 4e 54 20  INF_STYLE_OLDNT 
4f80: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
4f90: 30 30 30 31 2c 0a 09 49 4e 46 5f 53 54 59 4c 45  0001,..INF_STYLE
4fa0: 5f 57 49 4e 34 20 20 20 20 20 20 20 20 20 20 3d  _WIN4          =
4fb0: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 49 4e   0x00000002,..IN
4fc0: 46 5f 53 54 59 4c 45 5f 43 41 43 48 45 5f 45 4e  F_STYLE_CACHE_EN
4fd0: 41 42 4c 45 20 20 3d 20 30 78 30 30 30 30 30 30  ABLE  = 0x000000
4fe0: 31 30 2c 0a 09 49 4e 46 5f 53 54 59 4c 45 5f 43  10,..INF_STYLE_C
4ff0: 41 43 48 45 5f 44 49 53 41 42 4c 45 20 3d 20 30  ACHE_DISABLE = 0
5000: 78 30 30 30 30 30 30 32 30 0a 7d 0a 0a 65 6e 75  x00000020.}..enu
5010: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 49 4e 46  m : DWORD {..INF
5020: 49 4e 46 4f 5f 49 4e 46 5f 53 50 45 43 5f 49 53  INFO_INF_SPEC_IS
5030: 5f 48 49 4e 46 20 3d 20 31 2c 0a 09 49 4e 46 49  _HINF = 1,..INFI
5040: 4e 46 4f 5f 49 4e 46 5f 4e 41 4d 45 5f 49 53 5f  NFO_INF_NAME_IS_
5050: 41 42 53 4f 4c 55 54 45 2c 0a 09 49 4e 46 49 4e  ABSOLUTE,..INFIN
5060: 46 4f 5f 44 45 46 41 55 4c 54 5f 53 45 41 52 43  FO_DEFAULT_SEARC
5070: 48 2c 0a 09 49 4e 46 49 4e 46 4f 5f 52 45 56 45  H,..INFINFO_REVE
5080: 52 53 45 5f 44 45 46 41 55 4c 54 5f 53 45 41 52  RSE_DEFAULT_SEAR
5090: 43 48 2c 0a 09 49 4e 46 49 4e 46 4f 5f 49 4e 46  CH,..INFINFO_INF
50a0: 5f 50 41 54 48 5f 4c 49 53 54 5f 53 45 41 52 43  _PATH_LIST_SEARC
50b0: 48 20 2f 2f 20 3d 20 35 0a 7d 0a 0a 61 6c 69 61  H // = 5.}..alia
50c0: 73 20 44 57 4f 52 44 20 4c 6f 67 53 65 76 65 72  s DWORD LogSever
50d0: 69 74 79 3b 0a 65 6e 75 6d 20 3a 20 4c 6f 67 53  ity;.enum : LogS
50e0: 65 76 65 72 69 74 79 20 7b 0a 09 4c 6f 67 53 65  everity {..LogSe
50f0: 76 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 4c  vInformation,..L
5100: 6f 67 53 65 76 57 61 72 6e 69 6e 67 2c 0a 09 4c  ogSevWarning,..L
5110: 6f 67 53 65 76 45 72 72 6f 72 2c 0a 09 4c 6f 67  ogSevError,..Log
5120: 53 65 76 46 61 74 61 6c 45 72 72 6f 72 2c 0a 09  SevFatalError,..
5130: 4c 6f 67 53 65 76 4d 61 78 69 6d 75 6d 20 2f 2f  LogSevMaximum //
5140: 20 3d 20 34 0a 7d 0a 0a 63 6f 6e 73 74 20 4d 41   = 4.}..const MA
5150: 58 5f 49 4e 53 54 41 4c 4c 57 49 5a 41 52 44 5f  X_INSTALLWIZARD_
5160: 44 59 4e 41 50 41 47 45 53 20 3d 20 32 30 3b 0a  DYNAPAGES = 20;.
5170: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
5180: 09 4e 44 57 5f 49 4e 53 54 41 4c 4c 46 4c 41 47  .NDW_INSTALLFLAG
5190: 5f 44 49 44 46 41 43 54 44 45 46 53 20 20 20 20  _DIDFACTDEFS    
51a0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31      = 0x00000001
51b0: 2c 0a 09 4e 44 57 5f 49 4e 53 54 41 4c 4c 46 4c  ,..NDW_INSTALLFL
51c0: 41 47 5f 48 41 52 44 57 41 52 45 41 4c 4c 52 45  AG_HARDWAREALLRE
51d0: 41 44 59 49 4e 20 3d 20 30 78 30 30 30 30 30 30  ADYIN = 0x000000
51e0: 30 32 2c 0a 09 4e 44 57 5f 49 4e 53 54 41 4c 4c  02,..NDW_INSTALL
51f0: 46 4c 41 47 5f 4e 45 45 44 53 48 55 54 44 4f 57  FLAG_NEEDSHUTDOW
5200: 4e 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30  N       = 0x0000
5210: 30 32 30 30 2c 0a 09 4e 44 57 5f 49 4e 53 54 41  0200,..NDW_INSTA
5220: 4c 4c 46 4c 41 47 5f 45 58 50 52 45 53 53 49 4e  LLFLAG_EXPRESSIN
5230: 54 52 4f 20 20 20 20 20 20 20 3d 20 30 78 30 30  TRO       = 0x00
5240: 30 30 30 34 30 30 2c 0a 09 4e 44 57 5f 49 4e 53  000400,..NDW_INS
5250: 54 41 4c 4c 46 4c 41 47 5f 53 4b 49 50 49 53 44  TALLFLAG_SKIPISD
5260: 45 56 49 4e 53 54 41 4c 4c 45 44 20 3d 20 30 78  EVINSTALLED = 0x
5270: 30 30 30 30 30 38 30 30 2c 0a 09 4e 44 57 5f 49  00000800,..NDW_I
5280: 4e 53 54 41 4c 4c 46 4c 41 47 5f 4e 4f 44 45 54  NSTALLFLAG_NODET
5290: 45 43 54 45 44 44 45 56 53 20 20 20 20 20 3d 20  ECTEDDEVS     = 
52a0: 30 78 30 30 30 30 31 30 30 30 2c 0a 09 4e 44 57  0x00001000,..NDW
52b0: 5f 49 4e 53 54 41 4c 4c 46 4c 41 47 5f 49 4e 53  _INSTALLFLAG_INS
52c0: 54 41 4c 4c 53 50 45 43 49 46 49 43 20 20 20 20  TALLSPECIFIC    
52d0: 3d 20 30 78 30 30 30 30 32 30 30 30 2c 0a 09 4e  = 0x00002000,..N
52e0: 44 57 5f 49 4e 53 54 41 4c 4c 46 4c 41 47 5f 53  DW_INSTALLFLAG_S
52f0: 4b 49 50 43 4c 41 53 53 4c 49 53 54 20 20 20 20  KIPCLASSLIST    
5300: 20 20 3d 20 30 78 30 30 30 30 34 30 30 30 2c 0a    = 0x00004000,.
5310: 09 4e 44 57 5f 49 4e 53 54 41 4c 4c 46 4c 41 47  .NDW_INSTALLFLAG
5320: 5f 43 49 5f 50 49 43 4b 45 44 5f 4f 45 4d 20 20  _CI_PICKED_OEM  
5330: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30      = 0x00008000
5340: 2c 0a 09 4e 44 57 5f 49 4e 53 54 41 4c 4c 46 4c  ,..NDW_INSTALLFL
5350: 41 47 5f 50 43 4d 43 49 41 4d 4f 44 45 20 20 20  AG_PCMCIAMODE   
5360: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30        = 0x000100
5370: 30 30 2c 0a 09 4e 44 57 5f 49 4e 53 54 41 4c 4c  00,..NDW_INSTALL
5380: 46 4c 41 47 5f 50 43 4d 43 49 41 44 45 56 49 43  FLAG_PCMCIADEVIC
5390: 45 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32  E       = 0x0002
53a0: 30 30 30 30 2c 0a 09 4e 44 57 5f 49 4e 53 54 41  0000,..NDW_INSTA
53b0: 4c 4c 46 4c 41 47 5f 55 53 45 52 43 41 4e 43 45  LLFLAG_USERCANCE
53c0: 4c 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  L         = 0x00
53d0: 30 34 30 30 30 30 2c 0a 09 4e 44 57 5f 49 4e 53  040000,..NDW_INS
53e0: 54 41 4c 4c 46 4c 41 47 5f 4b 4e 4f 57 4e 43 4c  TALLFLAG_KNOWNCL
53f0: 41 53 53 20 20 20 20 20 20 20 20 20 3d 20 30 78  ASS         = 0x
5400: 30 30 30 38 30 30 30 30 2c 0a 09 4e 44 57 5f 49  00080000,..NDW_I
5410: 4e 53 54 41 4c 4c 46 4c 41 47 5f 4e 45 45 44 52  NSTALLFLAG_NEEDR
5420: 45 53 54 41 52 54 20 20 20 20 20 20 20 20 3d 20  ESTART        = 
5430: 30 78 30 30 30 30 30 30 38 30 2c 0a 09 4e 44 57  0x00000080,..NDW
5440: 5f 49 4e 53 54 41 4c 4c 46 4c 41 47 5f 4e 45 45  _INSTALLFLAG_NEE
5450: 44 52 45 42 4f 4f 54 20 20 20 20 20 20 20 20 20  DREBOOT         
5460: 3d 20 30 78 30 30 30 30 30 31 30 30 0a 7d 0a 0a  = 0x00000100.}..
5470: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
5480: 53 45 54 44 49 52 49 44 5f 4e 4f 54 5f 46 55 4c  SETDIRID_NOT_FUL
5490: 4c 5f 50 41 54 48 20 3d 20 30 78 30 30 30 30 30  L_PATH = 0x00000
54a0: 30 30 31 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57  001.}..enum : DW
54b0: 4f 52 44 20 7b 0a 09 53 50 5f 43 4f 50 59 5f 44  ORD {..SP_COPY_D
54c0: 45 4c 45 54 45 53 4f 55 52 43 45 20 20 20 20 20  ELETESOURCE     
54d0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 2c 0a     = 0x0000001,.
54e0: 09 53 50 5f 43 4f 50 59 5f 52 45 50 4c 41 43 45  .SP_COPY_REPLACE
54f0: 4f 4e 4c 59 20 20 20 20 20 20 20 20 20 3d 20 30  ONLY         = 0
5500: 78 30 30 30 30 30 30 32 2c 0a 09 53 50 5f 43 4f  x0000002,..SP_CO
5510: 50 59 5f 4e 45 57 45 52 20 20 20 20 20 20 20 20  PY_NEWER        
5520: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
5530: 30 34 2c 0a 09 53 50 5f 43 4f 50 59 5f 4e 45 57  04,..SP_COPY_NEW
5540: 45 52 5f 4f 52 5f 53 41 4d 45 20 20 20 20 20 20  ER_OR_SAME      
5550: 20 3d 20 30 78 30 30 30 30 30 30 34 2c 0a 09 53   = 0x0000004,..S
5560: 50 5f 43 4f 50 59 5f 4e 4f 4f 56 45 52 57 52 49  P_COPY_NOOVERWRI
5570: 54 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  TE         = 0x0
5580: 30 30 30 30 30 38 2c 0a 09 53 50 5f 43 4f 50 59  000008,..SP_COPY
5590: 5f 4e 4f 44 45 43 4f 4d 50 20 20 20 20 20 20 20  _NODECOMP       
55a0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30       = 0x0000010
55b0: 2c 0a 09 53 50 5f 43 4f 50 59 5f 4c 41 4e 47 55  ,..SP_COPY_LANGU
55c0: 41 47 45 41 57 41 52 45 20 20 20 20 20 20 20 3d  AGEAWARE       =
55d0: 20 30 78 30 30 30 30 30 32 30 2c 0a 09 53 50 5f   0x0000020,..SP_
55e0: 43 4f 50 59 5f 53 4f 55 52 43 45 5f 41 42 53 4f  COPY_SOURCE_ABSO
55f0: 4c 55 54 45 20 20 20 20 20 3d 20 30 78 30 30 30  LUTE     = 0x000
5600: 30 30 34 30 2c 0a 09 53 50 5f 43 4f 50 59 5f 53  0040,..SP_COPY_S
5610: 4f 55 52 43 45 50 41 54 48 5f 41 42 53 4f 4c 55  OURCEPATH_ABSOLU
5620: 54 45 20 3d 20 30 78 30 30 30 30 30 38 30 2c 0a  TE = 0x0000080,.
5630: 09 53 50 5f 43 4f 50 59 5f 49 4e 5f 55 53 45 5f  .SP_COPY_IN_USE_
5640: 4e 45 45 44 53 5f 52 45 42 4f 4f 54 20 3d 20 30  NEEDS_REBOOT = 0
5650: 78 30 30 30 30 31 30 30 2c 0a 09 53 50 5f 43 4f  x0000100,..SP_CO
5660: 50 59 5f 46 4f 52 43 45 5f 49 4e 5f 55 53 45 20  PY_FORCE_IN_USE 
5670: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 32         = 0x00002
5680: 30 30 2c 0a 09 53 50 5f 43 4f 50 59 5f 4e 4f 53  00,..SP_COPY_NOS
5690: 4b 49 50 20 20 20 20 20 20 20 20 20 20 20 20 20  KIP             
56a0: 20 3d 20 30 78 30 30 30 30 34 30 30 2c 0a 09 53   = 0x0000400,..S
56b0: 50 5f 46 4c 41 47 5f 43 41 42 49 4e 45 54 43 4f  P_FLAG_CABINETCO
56c0: 4e 54 49 4e 55 41 54 49 4f 4e 20 3d 20 30 78 30  NTINUATION = 0x0
56d0: 30 30 30 38 30 30 2c 0a 09 53 50 5f 43 4f 50 59  000800,..SP_COPY
56e0: 5f 46 4f 52 43 45 5f 4e 4f 4f 56 45 52 57 52 49  _FORCE_NOOVERWRI
56f0: 54 45 20 20 20 3d 20 30 78 30 30 30 31 30 30 30  TE   = 0x0001000
5700: 2c 0a 09 53 50 5f 43 4f 50 59 5f 46 4f 52 43 45  ,..SP_COPY_FORCE
5710: 5f 4e 45 57 45 52 20 20 20 20 20 20 20 20 20 3d  _NEWER         =
5720: 20 30 78 30 30 30 32 30 30 30 2c 0a 09 53 50 5f   0x0002000,..SP_
5730: 43 4f 50 59 5f 57 41 52 4e 49 46 53 4b 49 50 20  COPY_WARNIFSKIP 
5740: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
5750: 34 30 30 30 2c 0a 09 53 50 5f 43 4f 50 59 5f 4e  4000,..SP_COPY_N
5760: 4f 42 52 4f 57 53 45 20 20 20 20 20 20 20 20 20  OBROWSE         
5770: 20 20 20 3d 20 30 78 30 30 30 38 30 30 30 2c 0a     = 0x0008000,.
5780: 09 53 50 5f 43 4f 50 59 5f 4e 45 57 45 52 5f 4f  .SP_COPY_NEWER_O
5790: 4e 4c 59 20 20 20 20 20 20 20 20 20 20 3d 20 30  NLY          = 0
57a0: 78 30 30 31 30 30 30 30 2c 0a 09 53 50 5f 43 4f  x0010000,..SP_CO
57b0: 50 59 5f 53 4f 55 52 43 45 5f 53 49 53 5f 4d 41  PY_SOURCE_SIS_MA
57c0: 53 54 45 52 20 20 20 3d 20 30 78 30 30 32 30 30  STER   = 0x00200
57d0: 30 30 2c 0a 09 53 50 5f 43 4f 50 59 5f 4f 45 4d  00,..SP_COPY_OEM
57e0: 49 4e 46 5f 43 41 54 41 4c 4f 47 5f 4f 4e 4c 59  INF_CATALOG_ONLY
57f0: 20 3d 20 30 78 30 30 34 30 30 30 30 2c 0a 09 53   = 0x0040000,..S
5800: 50 5f 43 4f 50 59 5f 52 45 50 4c 41 43 45 5f 42  P_COPY_REPLACE_B
5810: 4f 4f 54 5f 46 49 4c 45 20 20 20 3d 20 30 78 30  OOT_FILE   = 0x0
5820: 30 38 30 30 30 30 2c 0a 09 53 50 5f 43 4f 50 59  080000,..SP_COPY
5830: 5f 4e 4f 50 52 55 4e 45 20 20 20 20 20 20 20 20  _NOPRUNE        
5840: 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 30 30       = 0x0100000
5850: 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 28 5f 53  .}..static if(_S
5860: 45 54 55 50 41 50 49 5f 56 45 52 20 3e 3d 20 30  ETUPAPI_VER >= 0
5870: 78 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a  x0501) {..enum :
5880: 20 44 57 4f 52 44 20 7b 0a 09 09 53 50 5f 43 4f   DWORD {...SP_CO
5890: 50 59 5f 4f 45 4d 5f 46 36 5f 49 4e 46 20 3d 20  PY_OEM_F6_INF = 
58a0: 30 78 30 32 30 30 30 30 30 0a 09 7d 0a 7d 0a 0a  0x0200000..}.}..
58b0: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
58c0: 53 50 43 52 50 5f 53 45 43 55 52 49 54 59 20 3d  SPCRP_SECURITY =
58d0: 20 32 33 2c 0a 09 53 50 43 52 50 5f 53 45 43 55   23,..SPCRP_SECU
58e0: 52 49 54 59 5f 53 44 53 2c 0a 09 53 50 43 52 50  RITY_SDS,..SPCRP
58f0: 5f 44 45 56 54 59 50 45 2c 0a 09 53 50 43 52 50  _DEVTYPE,..SPCRP
5900: 5f 45 58 43 4c 55 53 49 56 45 2c 0a 09 53 50 43  _EXCLUSIVE,..SPC
5910: 52 50 5f 43 48 41 52 41 43 54 45 52 49 53 54 49  RP_CHARACTERISTI
5920: 43 53 2c 0a 09 53 50 43 52 50 5f 4d 41 58 49 4d  CS,..SPCRP_MAXIM
5930: 55 4d 5f 50 52 4f 50 45 52 54 59 20 2f 2f 20 3d  UM_PROPERTY // =
5940: 20 32 38 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57   28.}..enum : DW
5950: 4f 52 44 20 7b 0a 09 53 50 44 49 54 5f 4e 4f 44  ORD {..SPDIT_NOD
5960: 52 49 56 45 52 2c 0a 09 53 50 44 49 54 5f 43 4c  RIVER,..SPDIT_CL
5970: 41 53 53 44 52 49 56 45 52 2c 0a 09 53 50 44 49  ASSDRIVER,..SPDI
5980: 54 5f 43 4f 4d 50 41 54 44 52 49 56 45 52 20 2f  T_COMPATDRIVER /
5990: 2f 20 3d 20 32 0a 7d 0a 0a 65 6e 75 6d 20 3a 20  / = 2.}..enum : 
59a0: 44 57 4f 52 44 20 7b 0a 09 53 50 44 52 50 5f 44  DWORD {..SPDRP_D
59b0: 45 56 49 43 45 44 45 53 43 2c 0a 09 53 50 44 52  EVICEDESC,..SPDR
59c0: 50 5f 48 41 52 44 57 41 52 45 49 44 2c 0a 09 53  P_HARDWAREID,..S
59d0: 50 44 52 50 5f 43 4f 4d 50 41 54 49 42 4c 45 49  PDRP_COMPATIBLEI
59e0: 44 53 2c 0a 09 53 50 44 52 50 5f 55 4e 55 53 45  DS,..SPDRP_UNUSE
59f0: 44 30 2c 0a 09 53 50 44 52 50 5f 53 45 52 56 49  D0,..SPDRP_SERVI
5a00: 43 45 2c 0a 09 53 50 44 52 50 5f 55 4e 55 53 45  CE,..SPDRP_UNUSE
5a10: 44 31 2c 0a 09 53 50 44 52 50 5f 55 4e 55 53 45  D1,..SPDRP_UNUSE
5a20: 44 32 2c 0a 09 53 50 44 52 50 5f 43 4c 41 53 53  D2,..SPDRP_CLASS
5a30: 2c 0a 09 53 50 44 52 50 5f 43 4c 41 53 53 47 55  ,..SPDRP_CLASSGU
5a40: 49 44 2c 0a 09 53 50 44 52 50 5f 44 52 49 56 45  ID,..SPDRP_DRIVE
5a50: 52 2c 0a 09 53 50 44 52 50 5f 43 4f 4e 46 49 47  R,..SPDRP_CONFIG
5a60: 46 4c 41 47 53 2c 0a 09 53 50 44 52 50 5f 4d 46  FLAGS,..SPDRP_MF
5a70: 47 2c 0a 09 53 50 44 52 50 5f 46 52 49 45 4e 44  G,..SPDRP_FRIEND
5a80: 4c 59 4e 41 4d 45 2c 0a 09 53 50 44 52 50 5f 4c  LYNAME,..SPDRP_L
5a90: 4f 43 41 54 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54  OCATION_INFORMAT
5aa0: 49 4f 4e 2c 0a 09 53 50 44 52 50 5f 50 48 59 53  ION,..SPDRP_PHYS
5ab0: 49 43 41 4c 5f 44 45 56 49 43 45 5f 4f 42 4a 45  ICAL_DEVICE_OBJE
5ac0: 43 54 5f 4e 41 4d 45 2c 0a 09 53 50 44 52 50 5f  CT_NAME,..SPDRP_
5ad0: 43 41 50 41 42 49 4c 49 54 49 45 53 2c 0a 09 53  CAPABILITIES,..S
5ae0: 50 44 52 50 5f 55 49 5f 4e 55 4d 42 45 52 2c 0a  PDRP_UI_NUMBER,.
5af0: 09 53 50 44 52 50 5f 55 50 50 45 52 46 49 4c 54  .SPDRP_UPPERFILT
5b00: 45 52 53 2c 0a 09 53 50 44 52 50 5f 4c 4f 57 45  ERS,..SPDRP_LOWE
5b10: 52 46 49 4c 54 45 52 53 2c 0a 09 53 50 44 52 50  RFILTERS,..SPDRP
5b20: 5f 42 55 53 54 59 50 45 47 55 49 44 2c 0a 09 53  _BUSTYPEGUID,..S
5b30: 50 44 52 50 5f 4c 45 47 41 43 59 42 55 53 54 59  PDRP_LEGACYBUSTY
5b40: 50 45 2c 0a 09 53 50 44 52 50 5f 42 55 53 4e 55  PE,..SPDRP_BUSNU
5b50: 4d 42 45 52 2c 0a 09 53 50 44 52 50 5f 45 4e 55  MBER,..SPDRP_ENU
5b60: 4d 45 52 41 54 4f 52 5f 4e 41 4d 45 2c 0a 09 53  MERATOR_NAME,..S
5b70: 50 44 52 50 5f 53 45 43 55 52 49 54 59 2c 0a 09  PDRP_SECURITY,..
5b80: 53 50 44 52 50 5f 53 45 43 55 52 49 54 59 5f 53  SPDRP_SECURITY_S
5b90: 44 53 2c 0a 09 53 50 44 52 50 5f 44 45 56 54 59  DS,..SPDRP_DEVTY
5ba0: 50 45 2c 0a 09 53 50 44 52 50 5f 45 58 43 4c 55  PE,..SPDRP_EXCLU
5bb0: 53 49 56 45 2c 0a 09 53 50 44 52 50 5f 43 48 41  SIVE,..SPDRP_CHA
5bc0: 52 41 43 54 45 52 49 53 54 49 43 53 2c 0a 09 53  RACTERISTICS,..S
5bd0: 50 44 52 50 5f 41 44 44 52 45 53 53 2c 20 2f 2f  PDRP_ADDRESS, //
5be0: 20 3d 20 32 38 0a 09 53 50 44 52 50 5f 55 49 5f   = 28..SPDRP_UI_
5bf0: 4e 55 4d 42 45 52 5f 44 45 53 43 5f 46 4f 52 4d  NUMBER_DESC_FORM
5c00: 41 54 20 3d 20 33 30 2c 0a 09 53 50 44 52 50 5f  AT = 30,..SPDRP_
5c10: 4d 41 58 49 4d 55 4d 5f 50 52 4f 50 45 52 54 59  MAXIMUM_PROPERTY
5c20: 20 20 20 20 20 20 3d 20 33 31 0a 7d 0a 0a 65 6e        = 31.}..en
5c30: 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 09 53 50 44  um : UINT {..SPD
5c40: 53 4c 5f 49 47 4e 4f 52 45 5f 44 49 53 4b 20 3d  SL_IGNORE_DISK =
5c50: 20 31 2c 0a 09 53 50 44 53 4c 5f 44 49 53 41 4c   1,..SPDSL_DISAL
5c60: 4c 4f 57 5f 4e 45 47 41 54 49 56 45 5f 41 44 4a  LOW_NEGATIVE_ADJ
5c70: 55 53 54 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 55 49  UST.}..enum : UI
5c80: 4e 54 20 7b 0a 09 53 50 46 49 4c 45 4e 4f 54 49  NT {..SPFILENOTI
5c90: 46 59 5f 53 54 41 52 54 51 55 45 55 45 20 3d 20  FY_STARTQUEUE = 
5ca0: 31 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59  1,..SPFILENOTIFY
5cb0: 5f 45 4e 44 51 55 45 55 45 2c 0a 09 53 50 46 49  _ENDQUEUE,..SPFI
5cc0: 4c 45 4e 4f 54 49 46 59 5f 53 54 41 52 54 53 55  LENOTIFY_STARTSU
5cd0: 42 51 55 45 55 45 2c 0a 09 53 50 46 49 4c 45 4e  BQUEUE,..SPFILEN
5ce0: 4f 54 49 46 59 5f 45 4e 44 53 55 42 51 55 45 55  OTIFY_ENDSUBQUEU
5cf0: 45 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59  E,..SPFILENOTIFY
5d00: 5f 53 54 41 52 54 44 45 4c 45 54 45 2c 0a 09 53  _STARTDELETE,..S
5d10: 50 46 49 4c 45 4e 4f 54 49 46 59 5f 45 4e 44 44  PFILENOTIFY_ENDD
5d20: 45 4c 45 54 45 2c 0a 09 53 50 46 49 4c 45 4e 4f  ELETE,..SPFILENO
5d30: 54 49 46 59 5f 44 45 4c 45 54 45 45 52 52 4f 52  TIFY_DELETEERROR
5d40: 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f  ,..SPFILENOTIFY_
5d50: 53 54 41 52 54 52 45 4e 41 4d 45 2c 0a 09 53 50  STARTRENAME,..SP
5d60: 46 49 4c 45 4e 4f 54 49 46 59 5f 45 4e 44 52 45  FILENOTIFY_ENDRE
5d70: 4e 41 4d 45 2c 0a 09 53 50 46 49 4c 45 4e 4f 54  NAME,..SPFILENOT
5d80: 49 46 59 5f 52 45 4e 41 4d 45 45 52 52 4f 52 2c  IFY_RENAMEERROR,
5d90: 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 53  ..SPFILENOTIFY_S
5da0: 54 41 52 54 43 4f 50 59 2c 0a 09 53 50 46 49 4c  TARTCOPY,..SPFIL
5db0: 45 4e 4f 54 49 46 59 5f 45 4e 44 43 4f 50 59 2c  ENOTIFY_ENDCOPY,
5dc0: 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 43  ..SPFILENOTIFY_C
5dd0: 4f 50 59 45 52 52 4f 52 2c 0a 09 53 50 46 49 4c  OPYERROR,..SPFIL
5de0: 45 4e 4f 54 49 46 59 5f 4e 45 45 44 4d 45 44 49  ENOTIFY_NEEDMEDI
5df0: 41 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59  A,..SPFILENOTIFY
5e00: 5f 51 55 45 55 45 53 43 41 4e 2c 0a 09 53 50 46  _QUEUESCAN,..SPF
5e10: 49 4c 45 4e 4f 54 49 46 59 5f 43 41 42 49 4e 45  ILENOTIFY_CABINE
5e20: 54 49 4e 46 4f 2c 0a 09 53 50 46 49 4c 45 4e 4f  TINFO,..SPFILENO
5e30: 54 49 46 59 5f 46 49 4c 45 49 4e 43 41 42 49 4e  TIFY_FILEINCABIN
5e40: 45 54 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46  ET,..SPFILENOTIF
5e50: 59 5f 4e 45 45 44 4e 45 57 43 41 42 49 4e 45 54  Y_NEEDNEWCABINET
5e60: 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f  ,..SPFILENOTIFY_
5e70: 46 49 4c 45 45 58 54 52 41 43 54 45 44 2c 0a 09  FILEEXTRACTED,..
5e80: 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 46 49 4c  SPFILENOTIFY_FIL
5e90: 45 4f 50 44 45 4c 41 59 45 44 2c 0a 09 53 50 46  EOPDELAYED,..SPF
5ea0: 49 4c 45 4e 4f 54 49 46 59 5f 53 54 41 52 54 42  ILENOTIFY_STARTB
5eb0: 41 43 4b 55 50 2c 0a 09 53 50 46 49 4c 45 4e 4f  ACKUP,..SPFILENO
5ec0: 54 49 46 59 5f 42 41 43 4b 55 50 45 52 52 4f 52  TIFY_BACKUPERROR
5ed0: 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f  ,..SPFILENOTIFY_
5ee0: 45 4e 44 42 41 43 4b 55 50 2c 0a 09 53 50 46 49  ENDBACKUP,..SPFI
5ef0: 4c 45 4e 4f 54 49 46 59 5f 51 55 45 55 45 53 43  LENOTIFY_QUEUESC
5f00: 41 4e 5f 45 58 2c 0a 09 53 50 46 49 4c 45 4e 4f  AN_EX,..SPFILENO
5f10: 54 49 46 59 5f 53 54 41 52 54 52 45 47 49 53 54  TIFY_STARTREGIST
5f20: 52 41 54 49 4f 4e 2c 20 2f 2f 20 3d 20 32 35 0a  RATION, // = 25.
5f30: 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 45 4e  .SPFILENOTIFY_EN
5f40: 44 52 45 47 49 53 54 52 41 54 49 4f 4e 20 3d 20  DREGISTRATION = 
5f50: 33 32 2c 0a 09 53 50 46 49 4c 45 4e 4f 54 49 46  32,..SPFILENOTIF
5f60: 59 5f 4c 41 4e 47 4d 49 53 4d 41 54 43 48 20 20  Y_LANGMISMATCH  
5f70: 20 20 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0a    = 0x00010000,.
5f80: 09 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 54 41  .SPFILENOTIFY_TA
5f90: 52 47 45 54 45 58 49 53 54 53 20 20 20 20 3d 20  RGETEXISTS    = 
5fa0: 30 78 30 30 30 32 30 30 30 30 2c 0a 09 53 50 46  0x00020000,..SPF
5fb0: 49 4c 45 4e 4f 54 49 46 59 5f 54 41 52 47 45 54  ILENOTIFY_TARGET
5fc0: 4e 45 57 45 52 20 20 20 20 20 3d 20 30 78 30 30  NEWER     = 0x00
5fd0: 30 34 30 30 30 30 0a 7d 0a 0a 73 74 61 74 69 63  040000.}..static
5fe0: 20 69 66 28 5f 53 45 54 55 50 41 50 49 5f 56 45   if(_SETUPAPI_VE
5ff0: 52 20 3e 3d 20 30 78 30 35 30 31 29 20 7b 0a 09  R >= 0x0501) {..
6000: 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 09 09  enum : UINT {...
6010: 53 50 46 49 4c 45 4e 4f 54 49 46 59 5f 51 55 45  SPFILENOTIFY_QUE
6020: 55 45 53 43 41 4e 5f 53 49 47 4e 45 52 49 4e 46  UESCAN_SIGNERINF
6030: 4f 20 3d 20 30 78 30 30 30 30 30 30 34 30 0a 09  O = 0x00000040..
6040: 7d 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  }.}..enum : DWOR
6050: 44 20 7b 0a 09 53 50 46 49 4c 45 4c 4f 47 5f 53  D {..SPFILELOG_S
6060: 59 53 54 45 4d 4c 4f 47 20 3d 20 30 78 30 30 30  YSTEMLOG = 0x000
6070: 30 30 30 30 31 2c 0a 09 53 50 46 49 4c 45 4c 4f  00001,..SPFILELO
6080: 47 5f 4f 45 4d 46 49 4c 45 20 20 20 3d 20 30 78  G_OEMFILE   = 0x
6090: 30 30 30 30 30 30 30 31 2c 0a 09 53 50 46 49 4c  00000001,..SPFIL
60a0: 45 4c 4f 47 5f 46 4f 52 43 45 4e 45 57 20 20 3d  ELOG_FORCENEW  =
60b0: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 53 50   0x00000002,..SP
60c0: 46 49 4c 45 4c 4f 47 5f 51 55 45 52 59 4f 4e 4c  FILELOG_QUERYONL
60d0: 59 20 3d 20 30 78 30 30 30 30 30 30 30 34 0a 7d  Y = 0x00000004.}
60e0: 0a 0a 65 6e 75 6d 20 3a 20 49 4e 54 20 7b 0a 09  ..enum : INT {..
60f0: 53 50 46 49 4c 45 51 5f 46 49 4c 45 5f 49 4e 5f  SPFILEQ_FILE_IN_
6100: 55 53 45 20 20 20 20 20 20 20 20 3d 20 30 78 30  USE        = 0x0
6110: 30 30 30 30 30 30 31 2c 0a 09 53 50 46 49 4c 45  0000001,..SPFILE
6120: 51 5f 52 45 42 4f 4f 54 5f 52 45 43 4f 4d 4d 45  Q_REBOOT_RECOMME
6130: 4e 44 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  NDED = 0x0000000
6140: 32 2c 0a 09 53 50 46 49 4c 45 51 5f 52 45 42 4f  2,..SPFILEQ_REBO
6150: 4f 54 5f 49 4e 5f 50 52 4f 47 52 45 53 53 20 3d  OT_IN_PROGRESS =
6160: 20 30 78 30 30 30 30 30 30 30 34 0a 7d 0a 0a 65   0x00000004.}..e
6170: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 53  num : DWORD {..S
6180: 50 49 4e 54 5f 41 43 54 49 56 45 20 20 3d 20 30  PINT_ACTIVE  = 0
6190: 78 30 30 30 30 30 30 30 31 2c 0a 09 53 50 49 4e  x00000001,..SPIN
61a0: 54 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30  T_DEFAULT = 0x00
61b0: 30 30 30 30 30 32 2c 0a 09 53 50 49 4e 54 5f 52  000002,..SPINT_R
61c0: 45 4d 4f 56 45 44 20 3d 20 30 78 30 30 30 30 30  EMOVED = 0x00000
61d0: 30 30 34 0a 7d 0a 0a 64 65 70 72 65 63 61 74 65  004.}..deprecate
61e0: 64 20 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  d enum : DWORD {
61f0: 0a 09 53 50 49 44 5f 41 43 54 49 56 45 20 20 3d  ..SPID_ACTIVE  =
6200: 20 53 50 49 4e 54 5f 41 43 54 49 56 45 2c 0a 09   SPINT_ACTIVE,..
6210: 53 50 49 44 5f 44 45 46 41 55 4c 54 20 3d 20 53  SPID_DEFAULT = S
6220: 50 49 4e 54 5f 44 45 46 41 55 4c 54 2c 0a 09 53  PINT_DEFAULT,..S
6230: 50 49 44 5f 52 45 4d 4f 56 45 44 20 3d 20 53 50  PID_REMOVED = SP
6240: 49 4e 54 5f 52 45 4d 4f 56 45 44 0a 7d 0a 0a 65  INT_REMOVED.}..e
6250: 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 09 53 50  num : UINT {..SP
6260: 49 4e 53 54 5f 4c 4f 47 43 4f 4e 46 49 47 20 20  INST_LOGCONFIG  
6270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
6280: 30 78 30 30 30 30 30 30 30 31 2c 0a 09 53 50 49  0x00000001,..SPI
6290: 4e 53 54 5f 49 4e 49 46 49 4c 45 53 20 20 20 20  NST_INIFILES    
62a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
62b0: 78 30 30 30 30 30 30 30 32 2c 0a 09 53 50 49 4e  x00000002,..SPIN
62c0: 53 54 5f 52 45 47 49 53 54 52 59 20 20 20 20 20  ST_REGISTRY     
62d0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
62e0: 30 30 30 30 30 30 30 34 2c 0a 09 53 50 49 4e 53  00000004,..SPINS
62f0: 54 5f 49 4e 49 32 52 45 47 20 20 20 20 20 20 20  T_INI2REG       
6300: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
6310: 30 30 30 30 30 30 38 2c 0a 09 53 50 49 4e 53 54  0000008,..SPINST
6320: 5f 46 49 4c 45 53 20 20 20 20 20 20 20 20 20 20  _FILES          
6330: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
6340: 30 30 30 30 31 30 2c 0a 09 53 50 49 4e 53 54 5f  000010,..SPINST_
6350: 42 49 54 52 45 47 20 20 20 20 20 20 20 20 20 20  BITREG          
6360: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
6370: 30 30 30 32 30 2c 0a 09 53 50 49 4e 53 54 5f 52  00020,..SPINST_R
6380: 45 47 53 56 52 20 20 20 20 20 20 20 20 20 20 20  EGSVR           
6390: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
63a0: 30 30 34 30 2c 0a 09 53 50 49 4e 53 54 5f 55 4e  0040,..SPINST_UN
63b0: 52 45 47 53 56 52 20 20 20 20 20 20 20 20 20 20  REGSVR          
63c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
63d0: 30 38 30 2c 0a 09 53 50 49 4e 53 54 5f 50 52 4f  080,..SPINST_PRO
63e0: 46 49 4c 45 49 54 45 4d 53 20 20 20 20 20 20 20  FILEITEMS       
63f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31        = 0x000001
6400: 30 30 2c 0a 09 53 50 49 4e 53 54 5f 53 49 4e 47  00,..SPINST_SING
6410: 4c 45 53 45 43 54 49 4f 4e 20 20 20 20 20 20 20  LESECTION       
6420: 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 30       = 0x0001000
6430: 30 2c 0a 09 53 50 49 4e 53 54 5f 4c 4f 47 43 4f  0,..SPINST_LOGCO
6440: 4e 46 49 47 5f 49 53 5f 46 4f 52 43 45 44 20 20  NFIG_IS_FORCED  
6450: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30      = 0x00020000
6460: 2c 0a 09 53 50 49 4e 53 54 5f 4c 4f 47 43 4f 4e  ,..SPINST_LOGCON
6470: 46 49 47 53 5f 41 52 45 5f 4f 56 45 52 52 49 44  FIGS_ARE_OVERRID
6480: 45 53 20 3d 20 30 78 30 30 30 34 30 30 30 30 0a  ES = 0x00040000.
6490: 7d 0a 0a 73 74 61 74 69 63 20 69 66 28 5f 53 45  }..static if(_SE
64a0: 54 55 50 41 50 49 5f 56 45 52 20 3e 3d 20 30 78  TUPAPI_VER >= 0x
64b0: 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d 20 3a 20  0501) {..enum : 
64c0: 55 49 4e 54 20 7b 0a 09 09 53 50 49 4e 53 54 5f  UINT {...SPINST_
64d0: 43 4f 50 59 49 4e 46 20 20 20 20 20 20 20 20 20  COPYINF         
64e0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 32        = 0x000002
64f0: 30 30 2c 0a 09 09 53 50 49 4e 53 54 5f 41 4c 4c  00,...SPINST_ALL
6500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6510: 20 20 20 3d 20 30 78 30 30 30 30 30 33 66 66 2c     = 0x000003ff,
6520: 0a 09 09 53 50 49 4e 53 54 5f 52 45 47 49 53 54  ...SPINST_REGIST
6530: 45 52 43 41 4c 4c 42 41 43 4b 41 57 41 52 45 20  ERCALLBACKAWARE 
6540: 3d 20 30 78 30 30 30 38 30 30 30 30 0a 09 7d 0a  = 0x00080000..}.
6550: 7d 20 65 6c 73 65 20 7b 0a 09 65 6e 75 6d 20 3a  } else {..enum :
6560: 20 55 49 4e 54 20 7b 0a 09 09 53 50 49 4e 53 54   UINT {...SPINST
6570: 5f 41 4c 4c 20 3d 20 30 78 30 30 30 30 30 31 66  _ALL = 0x000001f
6580: 66 0a 09 7d 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44  f..}.}..enum : D
6590: 57 4f 52 44 20 7b 0a 09 53 50 4f 53 54 5f 4e 4f  WORD {..SPOST_NO
65a0: 4e 45 2c 0a 09 53 50 4f 53 54 5f 50 41 54 48 2c  NE,..SPOST_PATH,
65b0: 0a 09 53 50 4f 53 54 5f 55 52 4c 2c 0a 09 53 50  ..SPOST_URL,..SP
65c0: 4f 53 54 5f 4d 41 58 20 2f 2f 20 3d 20 33 0a 7d  OST_MAX // = 3.}
65d0: 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
65e0: 0a 09 53 50 50 53 52 5f 53 45 4c 45 43 54 5f 44  ..SPPSR_SELECT_D
65f0: 45 56 49 43 45 5f 52 45 53 4f 55 52 43 45 53 20  EVICE_RESOURCES 
6600: 3d 20 31 2c 0a 09 53 50 50 53 52 5f 45 4e 55 4d  = 1,..SPPSR_ENUM
6610: 5f 42 41 53 49 43 5f 44 45 56 49 43 45 5f 50 52  _BASIC_DEVICE_PR
6620: 4f 50 45 52 54 49 45 53 2c 0a 09 53 50 50 53 52  OPERTIES,..SPPSR
6630: 5f 45 4e 55 4d 5f 41 44 56 5f 44 45 56 49 43 45  _ENUM_ADV_DEVICE
6640: 5f 50 52 4f 50 45 52 54 49 45 53 0a 7d 0a 0a 65  _PROPERTIES.}..e
6650: 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 53  num : DWORD {..S
6660: 50 51 5f 53 43 41 4e 5f 46 49 4c 45 5f 50 52 45  PQ_SCAN_FILE_PRE
6670: 53 45 4e 43 45 20 20 20 20 3d 20 30 78 30 30 30  SENCE    = 0x000
6680: 30 30 30 30 31 2c 0a 09 53 50 51 5f 53 43 41 4e  00001,..SPQ_SCAN
6690: 5f 46 49 4c 45 5f 56 41 4c 49 44 49 54 59 20 20  _FILE_VALIDITY  
66a0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a    = 0x00000002,.
66b0: 09 53 50 51 5f 53 43 41 4e 5f 55 53 45 5f 43 41  .SPQ_SCAN_USE_CA
66c0: 4c 4c 42 41 43 4b 20 20 20 20 20 3d 20 30 78 30  LLBACK     = 0x0
66d0: 30 30 30 30 30 30 34 2c 0a 09 53 50 51 5f 53 43  0000004,..SPQ_SC
66e0: 41 4e 5f 55 53 45 5f 43 41 4c 4c 42 41 43 4b 45  AN_USE_CALLBACKE
66f0: 58 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38  X   = 0x00000008
6700: 2c 0a 09 53 50 51 5f 53 43 41 4e 5f 49 4e 46 4f  ,..SPQ_SCAN_INFO
6710: 52 4d 5f 55 53 45 52 20 20 20 20 20 20 3d 20 30  RM_USER      = 0
6720: 78 30 30 30 30 30 30 31 30 2c 0a 09 53 50 51 5f  x00000010,..SPQ_
6730: 53 43 41 4e 5f 50 52 55 4e 45 5f 43 4f 50 59 5f  SCAN_PRUNE_COPY_
6740: 51 55 45 55 45 20 3d 20 30 78 30 30 30 30 30 30  QUEUE = 0x000000
6750: 32 30 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 28  20.}..static if(
6760: 5f 53 45 54 55 50 41 50 49 5f 56 45 52 20 3e 3d  _SETUPAPI_VER >=
6770: 20 30 78 30 35 30 31 29 20 7b 0a 09 65 6e 75 6d   0x0501) {..enum
6780: 20 3a 20 44 57 4f 52 44 20 7b 0a 09 09 53 50 51   : DWORD {...SPQ
6790: 5f 53 43 41 4e 5f 55 53 45 5f 43 41 4c 4c 42 41  _SCAN_USE_CALLBA
67a0: 43 4b 5f 53 49 47 4e 45 52 49 4e 46 4f 20 3d 20  CK_SIGNERINFO = 
67b0: 30 78 30 30 30 30 30 30 34 30 2c 0a 09 09 53 50  0x00000040,...SP
67c0: 51 5f 53 43 41 4e 5f 50 52 55 4e 45 5f 44 45 4c  Q_SCAN_PRUNE_DEL
67d0: 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d  REN            =
67e0: 20 30 78 30 30 30 30 30 30 38 30 0a 09 7d 0a 7d   0x00000080..}.}
67f0: 0a 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 5f 50 54  ..enum : UINT_PT
6800: 52 20 7b 0a 09 53 50 51 5f 44 45 4c 41 59 45 44  R {..SPQ_DELAYED
6810: 5f 43 4f 50 59 20 3d 20 30 78 30 30 30 30 30 30  _COPY = 0x000000
6820: 30 31 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f  01.}..enum : DWO
6830: 52 44 20 7b 0a 09 53 50 52 44 49 5f 46 49 4e 44  RD {..SPRDI_FIND
6840: 5f 44 55 50 53 20 3d 20 30 78 30 30 30 30 30 30  _DUPS = 0x000000
6850: 30 31 2c 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57  01,.}..enum : DW
6860: 4f 52 44 20 7b 0a 09 53 50 53 56 43 49 4e 53 54  ORD {..SPSVCINST
6870: 5f 54 41 47 54 4f 46 52 4f 4e 54 20 20 20 20 20  _TAGTOFRONT     
6880: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
6890: 30 30 30 30 30 31 2c 0a 09 53 50 53 56 43 49 4e  000001,..SPSVCIN
68a0: 53 54 5f 41 53 53 4f 43 53 45 52 56 49 43 45 20  ST_ASSOCSERVICE 
68b0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
68c0: 30 30 30 30 30 30 30 32 2c 0a 09 53 50 53 56 43  00000002,..SPSVC
68d0: 49 4e 53 54 5f 44 45 4c 45 54 45 45 56 45 4e 54  INST_DELETEEVENT
68e0: 4c 4f 47 45 4e 54 52 59 20 20 20 20 20 20 3d 20  LOGENTRY      = 
68f0: 30 78 30 30 30 30 30 30 30 34 2c 0a 09 53 50 53  0x00000004,..SPS
6900: 56 43 49 4e 53 54 5f 4e 4f 43 4c 4f 42 42 45 52  VCINST_NOCLOBBER
6910: 5f 44 49 53 50 4c 41 59 4e 41 4d 45 20 20 20 20  _DISPLAYNAME    
6920: 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 53  = 0x00000008,..S
6930: 50 53 56 43 49 4e 53 54 5f 4e 4f 43 4c 4f 42 42  PSVCINST_NOCLOBB
6940: 45 52 5f 53 54 41 52 54 54 59 50 45 20 20 20 20  ER_STARTTYPE    
6950: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a    = 0x00000010,.
6960: 09 53 50 53 56 43 49 4e 53 54 5f 4e 4f 43 4c 4f  .SPSVCINST_NOCLO
6970: 42 42 45 52 5f 45 52 52 4f 52 43 4f 4e 54 52 4f  BBER_ERRORCONTRO
6980: 4c 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30  L   = 0x00000020
6990: 2c 0a 09 53 50 53 56 43 49 4e 53 54 5f 4e 4f 43  ,..SPSVCINST_NOC
69a0: 4c 4f 42 42 45 52 5f 4c 4f 41 44 4f 52 44 45 52  LOBBER_LOADORDER
69b0: 47 52 4f 55 50 20 3d 20 30 78 30 30 30 30 30 30  GROUP = 0x000000
69c0: 34 30 2c 0a 09 53 50 53 56 43 49 4e 53 54 5f 4e  40,..SPSVCINST_N
69d0: 4f 43 4c 4f 42 42 45 52 5f 44 45 50 45 4e 44 45  OCLOBBER_DEPENDE
69e0: 4e 43 49 45 53 20 20 20 3d 20 30 78 30 30 30 30  NCIES   = 0x0000
69f0: 30 30 38 30 2c 0a 09 53 50 53 56 43 49 4e 53 54  0080,..SPSVCINST
6a00: 5f 4e 4f 43 4c 4f 42 42 45 52 5f 44 45 53 43 52  _NOCLOBBER_DESCR
6a10: 49 50 54 49 4f 4e 20 20 20 20 3d 20 30 78 30 30  IPTION    = 0x00
6a20: 30 30 30 31 30 30 2c 0a 09 53 50 53 56 43 49 4e  000100,..SPSVCIN
6a30: 53 54 5f 53 54 4f 50 53 45 52 56 49 43 45 20 20  ST_STOPSERVICE  
6a40: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
6a50: 30 30 30 30 30 32 30 30 0a 7d 0a 0a 73 74 61 74  00000200.}..stat
6a60: 69 63 20 69 66 28 5f 53 45 54 55 50 41 50 49 5f  ic if(_SETUPAPI_
6a70: 56 45 52 20 3e 3d 20 30 78 30 35 30 31 29 20 7b  VER >= 0x0501) {
6a80: 0a 09 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b  ..enum : DWORD {
6a90: 0a 09 09 53 50 53 56 43 49 4e 53 54 5f 43 4c 4f  ...SPSVCINST_CLO
6aa0: 42 42 45 52 5f 53 45 43 55 52 49 54 59 20 3d 20  BBER_SECURITY = 
6ab0: 30 78 30 30 30 30 30 34 30 30 0a 09 7d 0a 7d 0a  0x00000400..}.}.
6ac0: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
6ad0: 09 53 50 57 50 54 5f 53 45 4c 45 43 54 44 45 56  .SPWPT_SELECTDEV
6ae0: 49 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 31  ICE = 0x00000001
6af0: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44  .}..enum : DWORD
6b00: 20 7b 0a 09 53 50 57 50 5f 55 53 45 5f 44 45 56   {..SPWP_USE_DEV
6b10: 49 4e 46 4f 5f 44 41 54 41 20 3d 20 30 78 30 30  INFO_DATA = 0x00
6b20: 30 30 30 30 30 31 0a 7d 0a 0a 65 6e 75 6d 20 3a  000001.}..enum :
6b30: 20 55 49 4e 54 20 7b 0a 09 53 52 43 49 4e 46 4f   UINT {..SRCINFO
6b40: 5f 50 41 54 48 20 3d 20 31 2c 0a 09 53 52 43 49  _PATH = 1,..SRCI
6b50: 4e 46 4f 5f 54 41 47 46 49 4c 45 2c 0a 09 53 52  NFO_TAGFILE,..SR
6b60: 43 49 4e 46 4f 5f 44 45 53 43 52 49 50 54 49 4f  CINFO_DESCRIPTIO
6b70: 4e 2c 0a 09 53 52 43 49 4e 46 4f 5f 46 4c 41 47  N,..SRCINFO_FLAG
6b80: 53 20 2f 2f 20 3d 20 34 0a 7d 0a 0a 65 6e 75 6d  S // = 4.}..enum
6b90: 20 3a 20 44 57 4f 52 44 20 7b 0a 09 53 52 43 4c   : DWORD {..SRCL
6ba0: 49 53 54 5f 54 45 4d 50 4f 52 41 52 59 20 20 20  IST_TEMPORARY   
6bb0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31      = 0x00000001
6bc0: 2c 0a 09 53 52 43 4c 49 53 54 5f 4e 4f 42 52 4f  ,..SRCLIST_NOBRO
6bd0: 57 53 45 20 20 20 20 20 20 20 20 3d 20 30 78 30  WSE        = 0x0
6be0: 30 30 30 30 30 30 32 2c 0a 09 53 52 43 4c 49 53  0000002,..SRCLIS
6bf0: 54 5f 53 59 53 54 45 4d 20 20 20 20 20 20 20 20  T_SYSTEM        
6c00: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a    = 0x00000010,.
6c10: 09 53 52 43 4c 49 53 54 5f 55 53 45 52 20 20 20  .SRCLIST_USER   
6c20: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
6c30: 30 30 30 32 30 2c 0a 09 53 52 43 4c 49 53 54 5f  00020,..SRCLIST_
6c40: 53 59 53 49 46 41 44 4d 49 4e 20 20 20 20 20 20  SYSIFADMIN      
6c50: 3d 20 30 78 30 30 30 30 30 30 34 30 2c 0a 09 53  = 0x00000040,..S
6c60: 52 43 4c 49 53 54 5f 53 55 42 44 49 52 53 20 20  RCLIST_SUBDIRS  
6c70: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
6c80: 31 30 30 2c 0a 09 53 52 43 4c 49 53 54 5f 41 50  100,..SRCLIST_AP
6c90: 50 45 4e 44 20 20 20 20 20 20 20 20 20 20 3d 20  PEND          = 
6ca0: 30 78 30 30 30 30 30 32 30 30 2c 0a 09 53 52 43  0x00000200,..SRC
6cb0: 4c 49 53 54 5f 4e 4f 53 54 52 49 50 50 4c 41 54  LIST_NOSTRIPPLAT
6cc0: 46 4f 52 4d 20 3d 20 30 78 30 30 30 30 30 34 30  FORM = 0x0000040
6cd0: 30 0a 7d 0a 0a 61 6c 69 61 73 20 50 56 4f 49 44  0.}..alias PVOID
6ce0: 20 48 49 4e 46 3b 0a 61 6c 69 61 73 20 50 56 4f   HINF;.alias PVO
6cf0: 49 44 20 48 44 53 4b 53 50 43 3b 0a 61 6c 69 61  ID HDSKSPC;.alia
6d00: 73 20 48 41 4e 44 4c 45 20 48 44 45 56 49 4e 46  s HANDLE HDEVINF
6d10: 4f 3b 0a 61 6c 69 61 73 20 50 56 4f 49 44 20 48  O;.alias PVOID H
6d20: 53 50 46 49 4c 45 51 3b 0a 61 6c 69 61 73 20 50  SPFILEQ;.alias P
6d30: 56 4f 49 44 20 48 53 50 46 49 4c 45 4c 4f 47 3b  VOID HSPFILELOG;
6d40: 0a 0a 65 6e 75 6d 20 53 65 74 75 70 46 69 6c 65  ..enum SetupFile
6d50: 4c 6f 67 49 6e 66 6f 20 7b 0a 09 53 65 74 75 70  LogInfo {..Setup
6d60: 46 69 6c 65 4c 6f 67 53 6f 75 72 63 65 46 69 6c  FileLogSourceFil
6d70: 65 6e 61 6d 65 2c 0a 09 53 65 74 75 70 46 69 6c  ename,..SetupFil
6d80: 65 4c 6f 67 43 68 65 63 6b 73 75 6d 2c 0a 09 53  eLogChecksum,..S
6d90: 65 74 75 70 46 69 6c 65 4c 6f 67 44 69 73 6b 54  etupFileLogDiskT
6da0: 61 67 66 69 6c 65 2c 0a 09 53 65 74 75 70 46 69  agfile,..SetupFi
6db0: 6c 65 4c 6f 67 44 69 73 6b 44 65 73 63 72 69 70  leLogDiskDescrip
6dc0: 74 69 6f 6e 2c 0a 09 53 65 74 75 70 46 69 6c 65  tion,..SetupFile
6dd0: 4c 6f 67 4f 74 68 65 72 49 6e 66 6f 2c 0a 09 53  LogOtherInfo,..S
6de0: 65 74 75 70 46 69 6c 65 4c 6f 67 4d 61 78 0a 7d  etupFileLogMax.}
6df0: 0a 0a 61 6c 69 67 6e 28 31 29 3a 0a 0a 73 74 72  ..align(1):..str
6e00: 75 63 74 20 49 4e 46 43 4f 4e 54 45 58 54 20 7b  uct INFCONTEXT {
6e10: 0a 09 50 56 4f 49 44 20 49 6e 66 3b 0a 09 50 56  ..PVOID Inf;..PV
6e20: 4f 49 44 20 43 75 72 72 65 6e 74 49 6e 66 3b 0a  OID CurrentInf;.
6e30: 09 55 49 4e 54 20 20 53 65 63 74 69 6f 6e 3b 0a  .UINT  Section;.
6e40: 09 55 49 4e 54 20 20 4c 69 6e 65 3b 0a 7d 0a 61  .UINT  Line;.}.a
6e50: 6c 69 61 73 20 49 4e 46 43 4f 4e 54 45 58 54 2a  lias INFCONTEXT*
6e60: 20 50 49 4e 46 43 4f 4e 54 45 58 54 3b 0a 0a 73   PINFCONTEXT;..s
6e70: 74 72 75 63 74 20 53 50 5f 49 4e 46 5f 49 4e 46  truct SP_INF_INF
6e80: 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09 44 57 4f 52  ORMATION {..DWOR
6e90: 44 20 49 6e 66 53 74 79 6c 65 3b 0a 09 44 57 4f  D InfStyle;..DWO
6ea0: 52 44 20 49 6e 66 43 6f 75 6e 74 3b 0a 09 42 59  RD InfCount;..BY
6eb0: 54 45 20 20 5f 56 65 72 73 69 6f 6e 44 61 74 61  TE  _VersionData
6ec0: 5b 31 5d 3b 0a 09 42 59 54 45 2a 20 56 65 72 73  [1];..BYTE* Vers
6ed0: 69 6f 6e 44 61 74 61 28 29 20 7b 20 72 65 74 75  ionData() { retu
6ee0: 72 6e 20 5f 56 65 72 73 69 6f 6e 44 61 74 61 2e  rn _VersionData.
6ef0: 70 74 72 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 53  ptr; }.}.alias S
6f00: 50 5f 49 4e 46 5f 49 4e 46 4f 52 4d 41 54 49 4f  P_INF_INFORMATIO
6f10: 4e 2a 20 50 53 50 5f 49 4e 46 5f 49 4e 46 4f 52  N* PSP_INF_INFOR
6f20: 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20  MATION;..struct 
6f30: 53 50 5f 41 4c 54 50 4c 41 54 46 4f 52 4d 5f 49  SP_ALTPLATFORM_I
6f40: 4e 46 4f 20 7b 0a 09 44 57 4f 52 44 20 63 62 53  NFO {..DWORD cbS
6f50: 69 7a 65 20 3d 20 53 50 5f 41 4c 54 50 4c 41 54  ize = SP_ALTPLAT
6f60: 46 4f 52 4d 5f 49 4e 46 4f 2e 73 69 7a 65 6f 66  FORM_INFO.sizeof
6f70: 3b 0a 09 44 57 4f 52 44 20 50 6c 61 74 66 6f 72  ;..DWORD Platfor
6f80: 6d 3b 0a 09 44 57 4f 52 44 20 4d 61 6a 6f 72 56  m;..DWORD MajorV
6f90: 65 72 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 4d  ersion;..DWORD M
6fa0: 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0a 09 57 4f  inorVersion;..WO
6fb0: 52 44 20 20 50 72 6f 63 65 73 73 6f 72 41 72 63  RD  ProcessorArc
6fc0: 68 69 74 65 63 74 75 72 65 3b 0a 09 57 4f 52 44  hitecture;..WORD
6fd0: 20 20 52 65 73 65 72 76 65 64 3b 0a 7d 0a 61 6c    Reserved;.}.al
6fe0: 69 61 73 20 53 50 5f 41 4c 54 50 4c 41 54 46 4f  ias SP_ALTPLATFO
6ff0: 52 4d 5f 49 4e 46 4f 2a 20 50 53 50 5f 41 4c 54  RM_INFO* PSP_ALT
7000: 50 4c 41 54 46 4f 52 4d 5f 49 4e 46 4f 3b 0a 0a  PLATFORM_INFO;..
7010: 73 74 72 75 63 74 20 53 50 5f 4f 52 49 47 49 4e  struct SP_ORIGIN
7020: 41 4c 5f 46 49 4c 45 5f 49 4e 46 4f 5f 41 20 7b  AL_FILE_INFO_A {
7030: 0a 09 44 57 4f 52 44 20 63 62 53 69 7a 65 20 3d  ..DWORD cbSize =
7040: 20 53 50 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c   SP_ORIGINAL_FIL
7050: 45 5f 49 4e 46 4f 5f 41 2e 73 69 7a 65 6f 66 3b  E_INFO_A.sizeof;
7060: 0a 09 43 48 41 52 20 20 4f 72 69 67 69 6e 61 6c  ..CHAR  Original
7070: 49 6e 66 4e 61 6d 65 5b 4d 41 58 5f 50 41 54 48  InfName[MAX_PATH
7080: 5d 3b 0a 09 43 48 41 52 20 20 4f 72 69 67 69 6e  ];..CHAR  Origin
7090: 61 6c 43 61 74 61 6c 6f 67 4e 61 6d 65 5b 4d 41  alCatalogName[MA
70a0: 58 5f 50 41 54 48 5d 3b 0a 7d 0a 61 6c 69 61 73  X_PATH];.}.alias
70b0: 20 53 50 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c   SP_ORIGINAL_FIL
70c0: 45 5f 49 4e 46 4f 5f 41 2a 20 50 53 50 5f 4f 52  E_INFO_A* PSP_OR
70d0: 49 47 49 4e 41 4c 5f 46 49 4c 45 5f 49 4e 46 4f  IGINAL_FILE_INFO
70e0: 5f 41 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 4f  _A;..struct SP_O
70f0: 52 49 47 49 4e 41 4c 5f 46 49 4c 45 5f 49 4e 46  RIGINAL_FILE_INF
7100: 4f 5f 57 20 7b 0a 09 44 57 4f 52 44 20 63 62 53  O_W {..DWORD cbS
7110: 69 7a 65 20 3d 20 53 50 5f 4f 52 49 47 49 4e 41  ize = SP_ORIGINA
7120: 4c 5f 46 49 4c 45 5f 49 4e 46 4f 5f 57 2e 73 69  L_FILE_INFO_W.si
7130: 7a 65 6f 66 3b 0a 09 57 43 48 41 52 20 4f 72 69  zeof;..WCHAR Ori
7140: 67 69 6e 61 6c 49 6e 66 4e 61 6d 65 5b 4d 41 58  ginalInfName[MAX
7150: 5f 50 41 54 48 5d 3b 0a 09 57 43 48 41 52 20 4f  _PATH];..WCHAR O
7160: 72 69 67 69 6e 61 6c 43 61 74 61 6c 6f 67 4e 61  riginalCatalogNa
7170: 6d 65 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a 7d 0a  me[MAX_PATH];.}.
7180: 61 6c 69 61 73 20 53 50 5f 4f 52 49 47 49 4e 41  alias SP_ORIGINA
7190: 4c 5f 46 49 4c 45 5f 49 4e 46 4f 5f 57 2a 20 50  L_FILE_INFO_W* P
71a0: 53 50 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45  SP_ORIGINAL_FILE
71b0: 5f 49 4e 46 4f 5f 57 3b 0a 0a 73 74 72 75 63 74  _INFO_W;..struct
71c0: 20 46 49 4c 45 50 41 54 48 53 5f 41 20 7b 0a 09   FILEPATHS_A {..
71d0: 50 43 53 54 52 20 54 61 72 67 65 74 3b 0a 09 50  PCSTR Target;..P
71e0: 43 53 54 52 20 53 6f 75 72 63 65 3b 0a 09 55 49  CSTR Source;..UI
71f0: 4e 54 20 20 57 69 6e 33 32 45 72 72 6f 72 3b 0a  NT  Win32Error;.
7200: 09 44 57 4f 52 44 20 46 6c 61 67 73 3b 0a 7d 0a  .DWORD Flags;.}.
7210: 61 6c 69 61 73 20 46 49 4c 45 50 41 54 48 53 5f  alias FILEPATHS_
7220: 41 2a 20 50 46 49 4c 45 50 41 54 48 53 5f 41 3b  A* PFILEPATHS_A;
7230: 0a 0a 73 74 72 75 63 74 20 46 49 4c 45 50 41 54  ..struct FILEPAT
7240: 48 53 5f 57 20 7b 0a 09 50 43 57 53 54 52 20 54  HS_W {..PCWSTR T
7250: 61 72 67 65 74 3b 0a 09 50 43 57 53 54 52 20 53  arget;..PCWSTR S
7260: 6f 75 72 63 65 3b 0a 09 55 49 4e 54 20 20 20 57  ource;..UINT   W
7270: 69 6e 33 32 45 72 72 6f 72 3b 0a 09 44 57 4f 52  in32Error;..DWOR
7280: 44 20 20 46 6c 61 67 73 3b 0a 7d 0a 61 6c 69 61  D  Flags;.}.alia
7290: 73 20 46 49 4c 45 50 41 54 48 53 5f 57 2a 20 50  s FILEPATHS_W* P
72a0: 46 49 4c 45 50 41 54 48 53 5f 57 3b 0a 0a 73 74  FILEPATHS_W;..st
72b0: 72 75 63 74 20 53 4f 55 52 43 45 5f 4d 45 44 49  ruct SOURCE_MEDI
72c0: 41 5f 41 20 7b 0a 09 50 43 53 54 52 20 52 65 73  A_A {..PCSTR Res
72d0: 65 72 76 65 64 3b 0a 09 50 43 53 54 52 20 54 61  erved;..PCSTR Ta
72e0: 67 66 69 6c 65 3b 0a 09 50 43 53 54 52 20 44 65  gfile;..PCSTR De
72f0: 73 63 72 69 70 74 69 6f 6e 3b 0a 09 50 43 53 54  scription;..PCST
7300: 52 20 53 6f 75 72 63 65 50 61 74 68 3b 0a 09 50  R SourcePath;..P
7310: 43 53 54 52 20 53 6f 75 72 63 65 46 69 6c 65 3b  CSTR SourceFile;
7320: 0a 09 44 57 4f 52 44 20 46 6c 61 67 73 3b 0a 7d  ..DWORD Flags;.}
7330: 0a 61 6c 69 61 73 20 53 4f 55 52 43 45 5f 4d 45  .alias SOURCE_ME
7340: 44 49 41 5f 41 2a 20 50 53 4f 55 52 43 45 5f 4d  DIA_A* PSOURCE_M
7350: 45 44 49 41 5f 41 3b 0a 0a 73 74 72 75 63 74 20  EDIA_A;..struct 
7360: 53 4f 55 52 43 45 5f 4d 45 44 49 41 5f 57 20 7b  SOURCE_MEDIA_W {
7370: 0a 09 50 43 57 53 54 52 20 52 65 73 65 72 76 65  ..PCWSTR Reserve
7380: 64 3b 0a 09 50 43 57 53 54 52 20 54 61 67 66 69  d;..PCWSTR Tagfi
7390: 6c 65 3b 0a 09 50 43 57 53 54 52 20 44 65 73 63  le;..PCWSTR Desc
73a0: 72 69 70 74 69 6f 6e 3b 0a 09 50 43 57 53 54 52  ription;..PCWSTR
73b0: 20 53 6f 75 72 63 65 50 61 74 68 3b 0a 09 50 43   SourcePath;..PC
73c0: 57 53 54 52 20 53 6f 75 72 63 65 46 69 6c 65 3b  WSTR SourceFile;
73d0: 0a 09 44 57 4f 52 44 20 20 46 6c 61 67 73 3b 0a  ..DWORD  Flags;.
73e0: 7d 0a 61 6c 69 61 73 20 53 4f 55 52 43 45 5f 4d  }.alias SOURCE_M
73f0: 45 44 49 41 5f 57 2a 20 50 53 4f 55 52 43 45 5f  EDIA_W* PSOURCE_
7400: 4d 45 44 49 41 5f 57 3b 0a 0a 73 74 72 75 63 74  MEDIA_W;..struct
7410: 20 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 41 20   CABINET_INFO_A 
7420: 7b 0a 09 50 43 53 54 52 20 20 43 61 62 69 6e 65  {..PCSTR  Cabine
7430: 74 50 61 74 68 3b 0a 09 50 43 53 54 52 20 20 43  tPath;..PCSTR  C
7440: 61 62 69 6e 65 74 46 69 6c 65 3b 0a 09 50 43 53  abinetFile;..PCS
7450: 54 52 20 20 44 69 73 6b 4e 61 6d 65 3b 0a 09 55  TR  DiskName;..U
7460: 53 48 4f 52 54 20 53 65 74 49 64 3b 0a 09 55 53  SHORT SetId;..US
7470: 48 4f 52 54 20 43 61 62 69 6e 65 74 4e 75 6d 62  HORT CabinetNumb
7480: 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 43 41 42 49  er;.}.alias CABI
7490: 4e 45 54 5f 49 4e 46 4f 5f 41 2a 20 50 43 41 42  NET_INFO_A* PCAB
74a0: 49 4e 45 54 5f 49 4e 46 4f 5f 41 3b 0a 0a 73 74  INET_INFO_A;..st
74b0: 72 75 63 74 20 43 41 42 49 4e 45 54 5f 49 4e 46  ruct CABINET_INF
74c0: 4f 5f 57 20 7b 0a 09 50 43 57 53 54 52 20 43 61  O_W {..PCWSTR Ca
74d0: 62 69 6e 65 74 50 61 74 68 3b 0a 09 50 43 57 53  binetPath;..PCWS
74e0: 54 52 20 43 61 62 69 6e 65 74 46 69 6c 65 3b 0a  TR CabinetFile;.
74f0: 09 50 43 57 53 54 52 20 44 69 73 6b 4e 61 6d 65  .PCWSTR DiskName
7500: 3b 0a 09 55 53 48 4f 52 54 20 53 65 74 49 64 3b  ;..USHORT SetId;
7510: 0a 09 55 53 48 4f 52 54 20 43 61 62 69 6e 65 74  ..USHORT Cabinet
7520: 4e 75 6d 62 65 72 3b 0a 7d 0a 61 6c 69 61 73 20  Number;.}.alias 
7530: 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 57 2a 20  CABINET_INFO_W* 
7540: 50 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 57 3b  PCABINET_INFO_W;
7550: 0a 0a 73 74 72 75 63 74 20 46 49 4c 45 5f 49 4e  ..struct FILE_IN
7560: 5f 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 41 20  _CABINET_INFO_A 
7570: 7b 0a 09 50 43 53 54 52 20 4e 61 6d 65 49 6e 43  {..PCSTR NameInC
7580: 61 62 69 6e 65 74 3b 0a 09 44 57 4f 52 44 20 46  abinet;..DWORD F
7590: 69 6c 65 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20  ileSize;..DWORD 
75a0: 57 69 6e 33 32 45 72 72 6f 72 3b 0a 09 57 4f 52  Win32Error;..WOR
75b0: 44 20 20 44 6f 73 44 61 74 65 3b 0a 09 57 4f 52  D  DosDate;..WOR
75c0: 44 20 20 44 6f 73 54 69 6d 65 3b 0a 09 57 4f 52  D  DosTime;..WOR
75d0: 44 20 20 44 6f 73 41 74 74 72 69 62 73 3b 0a 09  D  DosAttribs;..
75e0: 43 48 41 52 20 20 46 75 6c 6c 54 61 72 67 65 74  CHAR  FullTarget
75f0: 4e 61 6d 65 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a  Name[MAX_PATH];.
7600: 7d 0a 61 6c 69 61 73 20 46 49 4c 45 5f 49 4e 5f  }.alias FILE_IN_
7610: 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 41 2a 20  CABINET_INFO_A* 
7620: 50 46 49 4c 45 5f 49 4e 5f 43 41 42 49 4e 45 54  PFILE_IN_CABINET
7630: 5f 49 4e 46 4f 5f 41 3b 0a 0a 73 74 72 75 63 74  _INFO_A;..struct
7640: 20 46 49 4c 45 5f 49 4e 5f 43 41 42 49 4e 45 54   FILE_IN_CABINET
7650: 5f 49 4e 46 4f 5f 57 20 7b 0a 09 50 43 57 53 54  _INFO_W {..PCWST
7660: 52 20 4e 61 6d 65 49 6e 43 61 62 69 6e 65 74 3b  R NameInCabinet;
7670: 0a 09 44 57 4f 52 44 20 20 46 69 6c 65 53 69 7a  ..DWORD  FileSiz
7680: 65 3b 0a 09 44 57 4f 52 44 20 20 57 69 6e 33 32  e;..DWORD  Win32
7690: 45 72 72 6f 72 3b 0a 09 57 4f 52 44 20 20 20 44  Error;..WORD   D
76a0: 6f 73 44 61 74 65 3b 0a 09 57 4f 52 44 20 20 20  osDate;..WORD   
76b0: 44 6f 73 54 69 6d 65 3b 0a 09 57 4f 52 44 20 20  DosTime;..WORD  
76c0: 20 44 6f 73 41 74 74 72 69 62 73 3b 0a 09 57 43   DosAttribs;..WC
76d0: 48 41 52 20 20 46 75 6c 6c 54 61 72 67 65 74 4e  HAR  FullTargetN
76e0: 61 6d 65 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a 7d  ame[MAX_PATH];.}
76f0: 0a 61 6c 69 61 73 20 46 49 4c 45 5f 49 4e 5f 43  .alias FILE_IN_C
7700: 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 57 2a 20 50  ABINET_INFO_W* P
7710: 46 49 4c 45 5f 49 4e 5f 43 41 42 49 4e 45 54 5f  FILE_IN_CABINET_
7720: 49 4e 46 4f 5f 57 3b 0a 0a 73 74 72 75 63 74 20  INFO_W;..struct 
7730: 53 50 5f 46 49 4c 45 5f 43 4f 50 59 5f 50 41 52  SP_FILE_COPY_PAR
7740: 41 4d 53 5f 41 20 7b 0a 09 44 57 4f 52 44 20 20  AMS_A {..DWORD  
7750: 20 20 63 62 53 69 7a 65 20 3d 20 53 50 5f 46 49    cbSize = SP_FI
7760: 4c 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53 5f 41  LE_COPY_PARAMS_A
7770: 2e 73 69 7a 65 6f 66 3b 0a 09 48 53 50 46 49 4c  .sizeof;..HSPFIL
7780: 45 51 20 51 75 65 75 65 48 61 6e 64 6c 65 3b 0a  EQ QueueHandle;.
7790: 09 50 43 53 54 52 20 20 20 20 53 6f 75 72 63 65  .PCSTR    Source
77a0: 52 6f 6f 74 50 61 74 68 3b 0a 09 50 43 53 54 52  RootPath;..PCSTR
77b0: 20 20 20 20 53 6f 75 72 63 65 50 61 74 68 3b 0a      SourcePath;.
77c0: 09 50 43 53 54 52 20 20 20 20 53 6f 75 72 63 65  .PCSTR    Source
77d0: 46 69 6c 65 6e 61 6d 65 3b 0a 09 50 43 53 54 52  Filename;..PCSTR
77e0: 20 20 20 20 53 6f 75 72 63 65 44 65 73 63 72 69      SourceDescri
77f0: 70 74 69 6f 6e 3b 0a 09 50 43 53 54 52 20 20 20  ption;..PCSTR   
7800: 20 53 6f 75 72 63 65 54 61 67 66 69 6c 65 3b 0a   SourceTagfile;.
7810: 09 50 43 53 54 52 20 20 20 20 54 61 72 67 65 74  .PCSTR    Target
7820: 44 69 72 65 63 74 6f 72 79 3b 0a 09 50 43 53 54  Directory;..PCST
7830: 52 20 20 20 20 54 61 72 67 65 74 46 69 6c 65 6e  R    TargetFilen
7840: 61 6d 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 43  ame;..DWORD    C
7850: 6f 70 79 53 74 79 6c 65 3b 0a 09 48 49 4e 46 20  opyStyle;..HINF 
7860: 20 20 20 20 4c 61 79 6f 75 74 49 6e 66 3b 0a 09      LayoutInf;..
7870: 50 43 53 54 52 20 20 20 20 53 65 63 75 72 69 74  PCSTR    Securit
7880: 79 44 65 73 63 72 69 70 74 6f 72 3b 0a 7d 0a 61  yDescriptor;.}.a
7890: 6c 69 61 73 20 53 50 5f 46 49 4c 45 5f 43 4f 50  lias SP_FILE_COP
78a0: 59 5f 50 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f  Y_PARAMS_A* PSP_
78b0: 46 49 4c 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53  FILE_COPY_PARAMS
78c0: 5f 41 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 46  _A;..struct SP_F
78d0: 49 4c 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53 5f  ILE_COPY_PARAMS_
78e0: 57 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 63 62  W {..DWORD    cb
78f0: 53 69 7a 65 20 3d 20 53 50 5f 46 49 4c 45 5f 43  Size = SP_FILE_C
7900: 4f 50 59 5f 50 41 52 41 4d 53 5f 57 2e 73 69 7a  OPY_PARAMS_W.siz
7910: 65 6f 66 3b 0a 09 48 53 50 46 49 4c 45 51 20 51  eof;..HSPFILEQ Q
7920: 75 65 75 65 48 61 6e 64 6c 65 3b 0a 09 50 43 57  ueueHandle;..PCW
7930: 53 54 52 20 20 20 53 6f 75 72 63 65 52 6f 6f 74  STR   SourceRoot
7940: 50 61 74 68 3b 0a 09 50 43 57 53 54 52 20 20 20  Path;..PCWSTR   
7950: 53 6f 75 72 63 65 50 61 74 68 3b 0a 09 50 43 57  SourcePath;..PCW
7960: 53 54 52 20 20 20 53 6f 75 72 63 65 46 69 6c 65  STR   SourceFile
7970: 6e 61 6d 65 3b 0a 09 50 43 57 53 54 52 20 20 20  name;..PCWSTR   
7980: 53 6f 75 72 63 65 44 65 73 63 72 69 70 74 69 6f  SourceDescriptio
7990: 6e 3b 0a 09 50 43 57 53 54 52 20 20 20 53 6f 75  n;..PCWSTR   Sou
79a0: 72 63 65 54 61 67 66 69 6c 65 3b 0a 09 50 43 57  rceTagfile;..PCW
79b0: 53 54 52 20 20 20 54 61 72 67 65 74 44 69 72 65  STR   TargetDire
79c0: 63 74 6f 72 79 3b 0a 09 50 43 57 53 54 52 20 20  ctory;..PCWSTR  
79d0: 20 54 61 72 67 65 74 46 69 6c 65 6e 61 6d 65 3b   TargetFilename;
79e0: 0a 09 44 57 4f 52 44 20 20 20 20 43 6f 70 79 53  ..DWORD    CopyS
79f0: 74 79 6c 65 3b 0a 09 48 49 4e 46 20 20 20 20 20  tyle;..HINF     
7a00: 4c 61 79 6f 75 74 49 6e 66 3b 0a 09 50 43 57 53  LayoutInf;..PCWS
7a10: 54 52 20 20 20 53 65 63 75 72 69 74 79 44 65 73  TR   SecurityDes
7a20: 63 72 69 70 74 6f 72 3b 0a 7d 0a 61 6c 69 61 73  criptor;.}.alias
7a30: 20 53 50 5f 46 49 4c 45 5f 43 4f 50 59 5f 50 41   SP_FILE_COPY_PA
7a40: 52 41 4d 53 5f 57 2a 20 50 53 50 5f 46 49 4c 45  RAMS_W* PSP_FILE
7a50: 5f 43 4f 50 59 5f 50 41 52 41 4d 53 5f 57 3b 0a  _COPY_PARAMS_W;.
7a60: 0a 73 74 72 75 63 74 20 53 50 5f 44 45 56 49 4e  .struct SP_DEVIN
7a70: 46 4f 5f 44 41 54 41 20 7b 0a 09 44 57 4f 52 44  FO_DATA {..DWORD
7a80: 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20 53 50       cbSize = SP
7a90: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2e 73 69  _DEVINFO_DATA.si
7aa0: 7a 65 6f 66 3b 0a 09 47 55 49 44 20 20 20 20 20  zeof;..GUID     
7ab0: 20 43 6c 61 73 73 47 75 69 64 3b 0a 09 44 57 4f   ClassGuid;..DWO
7ac0: 52 44 20 20 20 20 20 44 65 76 49 6e 73 74 3b 0a  RD     DevInst;.
7ad0: 09 55 4c 4f 4e 47 5f 50 54 52 20 52 65 73 65 72  .ULONG_PTR Reser
7ae0: 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f  ved;.}.alias SP_
7af0: 44 45 56 49 4e 46 4f 5f 44 41 54 41 2a 20 50 53  DEVINFO_DATA* PS
7b00: 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 3b 0a  P_DEVINFO_DATA;.
7b10: 0a 73 74 72 75 63 74 20 53 50 5f 44 45 56 49 43  .struct SP_DEVIC
7b20: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 41 54 41  E_INTERFACE_DATA
7b30: 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 63 62   {..DWORD     cb
7b40: 53 69 7a 65 20 3d 20 53 50 5f 44 45 56 49 43 45  Size = SP_DEVICE
7b50: 5f 49 4e 54 45 52 46 41 43 45 5f 44 41 54 41 2e  _INTERFACE_DATA.
7b60: 73 69 7a 65 6f 66 3b 0a 09 47 55 49 44 20 20 20  sizeof;..GUID   
7b70: 20 20 20 49 6e 74 65 72 66 61 63 65 43 6c 61 73     InterfaceClas
7b80: 73 47 75 69 64 3b 0a 09 44 57 4f 52 44 20 20 20  sGuid;..DWORD   
7b90: 20 20 46 6c 61 67 73 3b 0a 09 55 4c 4f 4e 47 5f    Flags;..ULONG_
7ba0: 50 54 52 20 52 65 73 65 72 76 65 64 3b 0a 7d 0a  PTR Reserved;.}.
7bb0: 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43 45 5f  alias SP_DEVICE_
7bc0: 49 4e 54 45 52 46 41 43 45 5f 44 41 54 41 2a 20  INTERFACE_DATA* 
7bd0: 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52  PSP_DEVICE_INTER
7be0: 46 41 43 45 5f 44 41 54 41 3b 0a 64 65 70 72 65  FACE_DATA;.depre
7bf0: 63 61 74 65 64 20 61 6c 69 61 73 20 53 50 5f 44  cated alias SP_D
7c00: 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f  EVICE_INTERFACE_
7c10: 44 41 54 41 20 53 50 5f 49 4e 54 45 52 46 41 43  DATA SP_INTERFAC
7c20: 45 5f 44 45 56 49 43 45 5f 44 41 54 41 3b 0a 64  E_DEVICE_DATA;.d
7c30: 65 70 72 65 63 61 74 65 64 20 61 6c 69 61 73 20  eprecated alias 
7c40: 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46  SP_DEVICE_INTERF
7c50: 41 43 45 5f 44 41 54 41 2a 20 50 53 50 5f 49 4e  ACE_DATA* PSP_IN
7c60: 54 45 52 46 41 43 45 5f 44 45 56 49 43 45 5f 44  TERFACE_DEVICE_D
7c70: 41 54 41 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f  ATA;..struct SP_
7c80: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
7c90: 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 41 20 7b  _DETAIL_DATA_A {
7ca0: 0a 09 44 57 4f 52 44 20 63 62 53 69 7a 65 20 3d  ..DWORD cbSize =
7cb0: 20 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52   SP_DEVICE_INTER
7cc0: 46 41 43 45 5f 44 45 54 41 49 4c 5f 44 41 54 41  FACE_DETAIL_DATA
7cd0: 5f 41 2e 73 69 7a 65 6f 66 3b 0a 09 43 48 41 52  _A.sizeof;..CHAR
7ce0: 20 20 5f 44 65 76 69 63 65 50 61 74 68 5b 31 5d    _DevicePath[1]
7cf0: 3b 0a 09 43 48 41 52 2a 20 44 65 76 69 63 65 50  ;..CHAR* DeviceP
7d00: 61 74 68 28 29 20 7b 20 72 65 74 75 72 6e 20 5f  ath() { return _
7d10: 44 65 76 69 63 65 50 61 74 68 2e 70 74 72 3b 20  DevicePath.ptr; 
7d20: 7d 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 44 45 56  }.}.alias SP_DEV
7d30: 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45  ICE_INTERFACE_DE
7d40: 54 41 49 4c 5f 44 41 54 41 5f 41 2a 20 50 53 50  TAIL_DATA_A* PSP
7d50: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
7d60: 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 41 3b  E_DETAIL_DATA_A;
7d70: 0a 0a 73 74 72 75 63 74 20 53 50 5f 44 45 56 49  ..struct SP_DEVI
7d80: 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54  CE_INTERFACE_DET
7d90: 41 49 4c 5f 44 41 54 41 5f 57 20 7b 0a 09 44 57  AIL_DATA_W {..DW
7da0: 4f 52 44 20 20 63 62 53 69 7a 65 20 3d 20 53 50  ORD  cbSize = SP
7db0: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
7dc0: 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 2e  E_DETAIL_DATA_W.
7dd0: 73 69 7a 65 6f 66 3b 0a 09 57 43 48 41 52 20 20  sizeof;..WCHAR  
7de0: 5f 44 65 76 69 63 65 50 61 74 68 5b 31 5d 3b 0a  _DevicePath[1];.
7df0: 09 57 43 48 41 52 2a 20 44 65 76 69 63 65 50 61  .WCHAR* DevicePa
7e00: 74 68 28 29 20 7b 20 72 65 74 75 72 6e 20 5f 44  th() { return _D
7e10: 65 76 69 63 65 50 61 74 68 2e 70 74 72 3b 20 7d  evicePath.ptr; }
7e20: 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 44 45 56 49  .}.alias SP_DEVI
7e30: 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54  CE_INTERFACE_DET
7e40: 41 49 4c 5f 44 41 54 41 5f 57 2a 20 50 53 50 5f  AIL_DATA_W* PSP_
7e50: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
7e60: 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 3b 0a  _DETAIL_DATA_W;.
7e70: 0a 64 65 70 72 65 63 61 74 65 64 20 61 6c 69 61  .deprecated alia
7e80: 73 20 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45  s SP_DEVICE_INTE
7e90: 52 46 41 43 45 5f 44 45 54 41 49 4c 5f 44 41 54  RFACE_DETAIL_DAT
7ea0: 41 5f 41 20 53 50 5f 49 4e 54 45 52 46 41 43 45  A_A SP_INTERFACE
7eb0: 5f 44 45 56 49 43 45 5f 44 45 54 41 49 4c 5f 44  _DEVICE_DETAIL_D
7ec0: 41 54 41 5f 41 3b 0a 64 65 70 72 65 63 61 74 65  ATA_A;.deprecate
7ed0: 64 20 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43  d alias SP_DEVIC
7ee0: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41  E_INTERFACE_DETA
7ef0: 49 4c 5f 44 41 54 41 5f 41 2a 20 50 53 50 5f 49  IL_DATA_A* PSP_I
7f00: 4e 54 45 52 46 41 43 45 5f 44 45 56 49 43 45 5f  NTERFACE_DEVICE_
7f10: 44 45 54 41 49 4c 5f 44 41 54 41 5f 41 3b 0a 64  DETAIL_DATA_A;.d
7f20: 65 70 72 65 63 61 74 65 64 20 61 6c 69 61 73 20  eprecated alias 
7f30: 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46  SP_DEVICE_INTERF
7f40: 41 43 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f  ACE_DETAIL_DATA_
7f50: 57 20 53 50 5f 49 4e 54 45 52 46 41 43 45 5f 44  W SP_INTERFACE_D
7f60: 45 56 49 43 45 5f 44 45 54 41 49 4c 5f 44 41 54  EVICE_DETAIL_DAT
7f70: 41 5f 57 3b 0a 64 65 70 72 65 63 61 74 65 64 20  A_W;.deprecated 
7f80: 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43 45 5f  alias SP_DEVICE_
7f90: 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41 49 4c  INTERFACE_DETAIL
7fa0: 5f 44 41 54 41 5f 57 2a 20 50 53 50 5f 49 4e 54  _DATA_W* PSP_INT
7fb0: 45 52 46 41 43 45 5f 44 45 56 49 43 45 5f 44 45  ERFACE_DEVICE_DE
7fc0: 54 41 49 4c 5f 44 41 54 41 5f 57 3b 0a 0a 73 74  TAIL_DATA_W;..st
7fd0: 72 75 63 74 20 53 50 5f 44 45 56 49 4e 46 4f 5f  ruct SP_DEVINFO_
7fe0: 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41 54 41  LIST_DETAIL_DATA
7ff0: 5f 41 20 7b 0a 09 44 57 4f 52 44 20 20 63 62 53  _A {..DWORD  cbS
8000: 69 7a 65 20 3d 20 53 50 5f 44 45 56 49 4e 46 4f  ize = SP_DEVINFO
8010: 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41 54  _LIST_DETAIL_DAT
8020: 41 5f 41 2e 73 69 7a 65 6f 66 3b 0a 09 47 55 49  A_A.sizeof;..GUI
8030: 44 20 20 20 43 6c 61 73 73 47 75 69 64 3b 0a 09  D   ClassGuid;..
8040: 48 41 4e 44 4c 45 20 52 65 6d 6f 74 65 4d 61 63  HANDLE RemoteMac
8050: 68 69 6e 65 48 61 6e 64 6c 65 3b 0a 09 43 48 41  hineHandle;..CHA
8060: 52 20 20 20 52 65 6d 6f 74 65 4d 61 63 68 69 6e  R   RemoteMachin
8070: 65 4e 61 6d 65 5b 53 50 5f 4d 41 58 5f 4d 41 43  eName[SP_MAX_MAC
8080: 48 49 4e 45 4e 41 4d 45 5f 4c 45 4e 47 54 48 5d  HINENAME_LENGTH]
8090: 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 44 45 56  ;.}.alias SP_DEV
80a0: 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49 4c  INFO_LIST_DETAIL
80b0: 5f 44 41 54 41 5f 41 2a 20 50 53 50 5f 44 45 56  _DATA_A* PSP_DEV
80c0: 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49 4c  INFO_LIST_DETAIL
80d0: 5f 44 41 54 41 5f 41 3b 0a 0a 73 74 72 75 63 74  _DATA_A;..struct
80e0: 20 53 50 5f 44 45 56 49 4e 46 4f 5f 4c 49 53 54   SP_DEVINFO_LIST
80f0: 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 20 7b  _DETAIL_DATA_W {
8100: 0a 09 44 57 4f 52 44 20 20 63 62 53 69 7a 65 20  ..DWORD  cbSize 
8110: 3d 20 53 50 5f 44 45 56 49 4e 46 4f 5f 4c 49 53  = SP_DEVINFO_LIS
8120: 54 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 2e  T_DETAIL_DATA_W.
8130: 73 69 7a 65 6f 66 3b 0a 09 47 55 49 44 20 20 20  sizeof;..GUID   
8140: 43 6c 61 73 73 47 75 69 64 3b 0a 09 48 41 4e 44  ClassGuid;..HAND
8150: 4c 45 20 52 65 6d 6f 74 65 4d 61 63 68 69 6e 65  LE RemoteMachine
8160: 48 61 6e 64 6c 65 3b 0a 09 57 43 48 41 52 20 20  Handle;..WCHAR  
8170: 52 65 6d 6f 74 65 4d 61 63 68 69 6e 65 4e 61 6d  RemoteMachineNam
8180: 65 5b 53 50 5f 4d 41 58 5f 4d 41 43 48 49 4e 45  e[SP_MAX_MACHINE
8190: 4e 41 4d 45 5f 4c 45 4e 47 54 48 5d 3b 0a 7d 0a  NAME_LENGTH];.}.
81a0: 61 6c 69 61 73 20 53 50 5f 44 45 56 49 4e 46 4f  alias SP_DEVINFO
81b0: 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41 54  _LIST_DETAIL_DAT
81c0: 41 5f 57 2a 20 50 53 50 5f 44 45 56 49 4e 46 4f  A_W* PSP_DEVINFO
81d0: 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41 54  _LIST_DETAIL_DAT
81e0: 41 5f 57 3b 0a 0a 65 78 74 65 72 6e 28 57 69 6e  A_W;..extern(Win
81f0: 64 6f 77 73 29 20 61 6c 69 61 73 20 55 49 4e 54  dows) alias UINT
8200: 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c   function(PVOID,
8210: 55 49 4e 54 2c 55 49 4e 54 5f 50 54 52 2c 55 49  UINT,UINT_PTR,UI
8220: 4e 54 5f 50 54 52 29 20 50 53 50 5f 46 49 4c 45  NT_PTR) PSP_FILE
8230: 5f 43 41 4c 4c 42 41 43 4b 5f 41 3b 0a 65 78 74  _CALLBACK_A;.ext
8240: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
8250: 61 73 20 55 49 4e 54 20 66 75 6e 63 74 69 6f 6e  as UINT function
8260: 28 50 56 4f 49 44 2c 55 49 4e 54 2c 55 49 4e 54  (PVOID,UINT,UINT
8270: 5f 50 54 52 2c 55 49 4e 54 5f 50 54 52 29 20 50  _PTR,UINT_PTR) P
8280: 53 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b  SP_FILE_CALLBACK
8290: 5f 57 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 44  _W;..struct SP_D
82a0: 45 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53  EVINSTALL_PARAMS
82b0: 5f 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20  _A {..DWORD     
82c0: 20 20 20 20 20 20 20 20 20 20 63 62 53 69 7a 65            cbSize
82d0: 20 3d 20 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c   = SP_DEVINSTALL
82e0: 5f 50 41 52 41 4d 53 5f 41 2e 73 69 7a 65 6f 66  _PARAMS_A.sizeof
82f0: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
8300: 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0a 09 44         Flags;..D
8310: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
8320: 20 20 20 46 6c 61 67 73 45 78 3b 0a 09 48 57 4e     FlagsEx;..HWN
8330: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  D               
8340: 20 68 77 6e 64 50 61 72 65 6e 74 3b 0a 09 50 53   hwndParent;..PS
8350: 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f  P_FILE_CALLBACK_
8360: 41 20 49 6e 73 74 61 6c 6c 4d 73 67 48 61 6e 64  A InstallMsgHand
8370: 6c 65 72 3b 0a 09 50 56 4f 49 44 20 20 20 20 20  ler;..PVOID     
8380: 20 20 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c            Instal
8390: 6c 4d 73 67 48 61 6e 64 6c 65 72 43 6f 6e 74 65  lMsgHandlerConte
83a0: 78 74 3b 0a 09 48 53 50 46 49 4c 45 51 20 20 20  xt;..HSPFILEQ   
83b0: 20 20 20 20 20 20 20 20 20 46 69 6c 65 51 75 65           FileQue
83c0: 75 65 3b 0a 09 55 4c 4f 4e 47 5f 50 54 52 20 20  ue;..ULONG_PTR  
83d0: 20 20 20 20 20 20 20 20 20 43 6c 61 73 73 49 6e           ClassIn
83e0: 73 74 61 6c 6c 52 65 73 65 72 76 65 64 3b 0a 09  stallReserved;..
83f0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20  DWORD           
8400: 20 20 20 20 52 65 73 65 72 76 65 64 3b 0a 09 43      Reserved;..C
8410: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20  HAR             
8420: 20 20 20 44 72 69 76 65 72 50 61 74 68 5b 4d 41     DriverPath[MA
8430: 58 5f 50 41 54 48 5d 3b 0a 7d 0a 61 6c 69 61 73  X_PATH];.}.alias
8440: 20 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c 5f 50   SP_DEVINSTALL_P
8450: 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f 44 45 56  ARAMS_A* PSP_DEV
8460: 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 5f 41  INSTALL_PARAMS_A
8470: 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 44 45 56  ;..struct SP_DEV
8480: 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 5f 57  INSTALL_PARAMS_W
8490: 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20   {..DWORD       
84a0: 20 20 20 20 20 20 20 20 63 62 53 69 7a 65 20 3d          cbSize =
84b0: 20 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c 5f 50   SP_DEVINSTALL_P
84c0: 41 52 41 4d 53 5f 57 2e 73 69 7a 65 6f 66 3b 0a  ARAMS_W.sizeof;.
84d0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20  .DWORD          
84e0: 20 20 20 20 20 46 6c 61 67 73 3b 0a 09 44 57 4f       Flags;..DWO
84f0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
8500: 20 46 6c 61 67 73 45 78 3b 0a 09 48 57 4e 44 20   FlagsEx;..HWND 
8510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68                 h
8520: 77 6e 64 50 61 72 65 6e 74 3b 0a 09 50 53 50 5f  wndParent;..PSP_
8530: 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f 57 20  FILE_CALLBACK_W 
8540: 49 6e 73 74 61 6c 6c 4d 73 67 48 61 6e 64 6c 65  InstallMsgHandle
8550: 72 3b 0a 09 50 56 4f 49 44 20 20 20 20 20 20 20  r;..PVOID       
8560: 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 4d          InstallM
8570: 73 67 48 61 6e 64 6c 65 72 43 6f 6e 74 65 78 74  sgHandlerContext
8580: 3b 0a 09 48 53 50 46 49 4c 45 51 20 20 20 20 20  ;..HSPFILEQ     
8590: 20 20 20 20 20 20 20 46 69 6c 65 51 75 65 75 65         FileQueue
85a0: 3b 0a 09 55 4c 4f 4e 47 5f 50 54 52 20 20 20 20  ;..ULONG_PTR    
85b0: 20 20 20 20 20 20 20 43 6c 61 73 73 49 6e 73 74         ClassInst
85c0: 61 6c 6c 52 65 73 65 72 76 65 64 3b 0a 09 44 57  allReserved;..DW
85d0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20  ORD             
85e0: 20 20 52 65 73 65 72 76 65 64 3b 0a 09 57 43 48    Reserved;..WCH
85f0: 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20  AR              
8600: 20 44 72 69 76 65 72 50 61 74 68 5b 4d 41 58 5f   DriverPath[MAX_
8610: 50 41 54 48 5d 3b 0a 7d 0a 61 6c 69 61 73 20 53  PATH];.}.alias S
8620: 50 5f 44 45 56 49 4e 53 54 41 4c 4c 5f 50 41 52  P_DEVINSTALL_PAR
8630: 41 4d 53 5f 57 2a 20 50 53 50 5f 44 45 56 49 4e  AMS_W* PSP_DEVIN
8640: 53 54 41 4c 4c 5f 50 41 52 41 4d 53 5f 57 3b 0a  STALL_PARAMS_W;.
8650: 0a 73 74 72 75 63 74 20 53 50 5f 43 4c 41 53 53  .struct SP_CLASS
8660: 49 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20 7b  INSTALL_HEADER {
8670: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 63 62  ..DWORD       cb
8680: 53 69 7a 65 20 3d 20 53 50 5f 43 4c 41 53 53 49  Size = SP_CLASSI
8690: 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 2e 73 69  NSTALL_HEADER.si
86a0: 7a 65 6f 66 3b 0a 09 44 49 5f 46 55 4e 43 54 49  zeof;..DI_FUNCTI
86b0: 4f 4e 20 49 6e 73 74 61 6c 6c 46 75 6e 63 74 69  ON InstallFuncti
86c0: 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 43  on;.}.alias SP_C
86d0: 4c 41 53 53 49 4e 53 54 41 4c 4c 5f 48 45 41 44  LASSINSTALL_HEAD
86e0: 45 52 2a 20 50 53 50 5f 43 4c 41 53 53 49 4e 53  ER* PSP_CLASSINS
86f0: 54 41 4c 4c 5f 48 45 41 44 45 52 3b 0a 0a 73 74  TALL_HEADER;..st
8700: 72 75 63 74 20 53 50 5f 45 4e 41 42 4c 45 43 4c  ruct SP_ENABLECL
8710: 41 53 53 5f 50 41 52 41 4d 53 20 7b 0a 09 53 50  ASS_PARAMS {..SP
8720: 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c 5f 48 45  _CLASSINSTALL_HE
8730: 41 44 45 52 20 43 6c 61 73 73 49 6e 73 74 61 6c  ADER ClassInstal
8740: 6c 48 65 61 64 65 72 3b 0a 09 47 55 49 44 20 20  lHeader;..GUID  
8750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8760: 20 43 6c 61 73 73 47 75 69 64 3b 0a 09 44 57 4f   ClassGuid;..DWO
8770: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
8780: 20 20 20 20 45 6e 61 62 6c 65 4d 65 73 73 61 67      EnableMessag
8790: 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 45 4e  e;.}.alias SP_EN
87a0: 41 42 4c 45 43 4c 41 53 53 5f 50 41 52 41 4d 53  ABLECLASS_PARAMS
87b0: 2a 20 50 53 50 5f 45 4e 41 42 4c 45 43 4c 41 53  * PSP_ENABLECLAS
87c0: 53 5f 50 41 52 41 4d 53 3b 0a 0a 73 74 72 75 63  S_PARAMS;..struc
87d0: 74 20 53 50 5f 4d 4f 56 45 44 45 56 5f 50 41 52  t SP_MOVEDEV_PAR
87e0: 41 4d 53 20 7b 0a 09 53 50 5f 43 4c 41 53 53 49  AMS {..SP_CLASSI
87f0: 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20 43 6c  NSTALL_HEADER Cl
8800: 61 73 73 49 6e 73 74 61 6c 6c 48 65 61 64 65 72  assInstallHeader
8810: 3b 0a 09 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  ;..SP_DEVINFO_DA
8820: 54 41 20 20 20 20 20 20 20 20 53 6f 75 72 63 65  TA        Source
8830: 44 65 76 69 63 65 49 6e 66 6f 44 61 74 61 3b 0a  DeviceInfoData;.
8840: 7d 0a 61 6c 69 61 73 20 53 50 5f 4d 4f 56 45 44  }.alias SP_MOVED
8850: 45 56 5f 50 41 52 41 4d 53 2a 20 50 53 50 5f 4d  EV_PARAMS* PSP_M
8860: 4f 56 45 44 45 56 5f 50 41 52 41 4d 53 3b 0a 0a  OVEDEV_PARAMS;..
8870: 73 74 72 75 63 74 20 53 50 5f 50 52 4f 50 43 48  struct SP_PROPCH
8880: 41 4e 47 45 5f 50 41 52 41 4d 53 20 7b 0a 09 53  ANGE_PARAMS {..S
8890: 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c 5f 48  P_CLASSINSTALL_H
88a0: 45 41 44 45 52 20 43 6c 61 73 73 49 6e 73 74 61  EADER ClassInsta
88b0: 6c 6c 48 65 61 64 65 72 3b 0a 09 44 57 4f 52 44  llHeader;..DWORD
88c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
88d0: 20 20 53 74 61 74 65 43 68 61 6e 67 65 3b 0a 09    StateChange;..
88e0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20  DWORD           
88f0: 20 20 20 20 20 20 20 53 63 6f 70 65 3b 0a 09 44         Scope;..D
8900: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
8910: 20 20 20 20 20 20 48 77 50 72 6f 66 69 6c 65 3b        HwProfile;
8920: 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 50 52 4f 50  .}.alias SP_PROP
8930: 43 48 41 4e 47 45 5f 50 41 52 41 4d 53 2a 20 50  CHANGE_PARAMS* P
8940: 53 50 5f 50 52 4f 50 43 48 41 4e 47 45 5f 50 41  SP_PROPCHANGE_PA
8950: 52 41 4d 53 3b 0a 0a 73 74 72 75 63 74 20 53 50  RAMS;..struct SP
8960: 5f 52 45 4d 4f 56 45 44 45 56 49 43 45 5f 50 41  _REMOVEDEVICE_PA
8970: 52 41 4d 53 20 7b 0a 09 53 50 5f 43 4c 41 53 53  RAMS {..SP_CLASS
8980: 49 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20 43  INSTALL_HEADER C
8990: 6c 61 73 73 49 6e 73 74 61 6c 6c 48 65 61 64 65  lassInstallHeade
89a0: 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20  r;..DWORD       
89b0: 20 20 20 20 20 20 20 20 20 20 20 53 63 6f 70 65             Scope
89c0: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
89d0: 20 20 20 20 20 20 20 20 20 20 48 77 50 72 6f 66            HwProf
89e0: 69 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f  ile;.}.alias SP_
89f0: 52 45 4d 4f 56 45 44 45 56 49 43 45 5f 50 41 52  REMOVEDEVICE_PAR
8a00: 41 4d 53 2a 20 50 53 50 5f 52 45 4d 4f 56 45 44  AMS* PSP_REMOVED
8a10: 45 56 49 43 45 5f 50 41 52 41 4d 53 3b 0a 0a 73  EVICE_PARAMS;..s
8a20: 74 72 75 63 74 20 53 50 5f 55 4e 52 45 4d 4f 56  truct SP_UNREMOV
8a30: 45 44 45 56 49 43 45 5f 50 41 52 41 4d 53 20 7b  EDEVICE_PARAMS {
8a40: 0a 09 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c  ..SP_CLASSINSTAL
8a50: 4c 5f 48 45 41 44 45 52 20 43 6c 61 73 73 49 6e  L_HEADER ClassIn
8a60: 73 74 61 6c 6c 48 65 61 64 65 72 3b 0a 09 44 57  stallHeader;..DW
8a70: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20  ORD             
8a80: 20 20 20 20 20 53 63 6f 70 65 3b 0a 09 44 57 4f       Scope;..DWO
8a90: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
8aa0: 20 20 20 20 48 77 50 72 6f 66 69 6c 65 3b 0a 7d      HwProfile;.}
8ab0: 0a 61 6c 69 61 73 20 53 50 5f 55 4e 52 45 4d 4f  .alias SP_UNREMO
8ac0: 56 45 44 45 56 49 43 45 5f 50 41 52 41 4d 53 2a  VEDEVICE_PARAMS*
8ad0: 20 50 53 50 5f 55 4e 52 45 4d 4f 56 45 44 45 56   PSP_UNREMOVEDEV
8ae0: 49 43 45 5f 50 41 52 41 4d 53 3b 0a 0a 73 74 72  ICE_PARAMS;..str
8af0: 75 63 74 20 53 50 5f 53 45 4c 45 43 54 44 45 56  uct SP_SELECTDEV
8b00: 49 43 45 5f 50 41 52 41 4d 53 5f 41 20 7b 0a 09  ICE_PARAMS_A {..
8b10: 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c 5f  SP_CLASSINSTALL_
8b20: 48 45 41 44 45 52 20 43 6c 61 73 73 49 6e 73 74  HEADER ClassInst
8b30: 61 6c 6c 48 65 61 64 65 72 3b 0a 09 43 48 41 52  allHeader;..CHAR
8b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8b50: 20 20 20 54 69 74 6c 65 5b 4d 41 58 5f 54 49 54     Title[MAX_TIT
8b60: 4c 45 5f 4c 45 4e 5d 3b 0a 09 43 48 41 52 20 20  LE_LEN];..CHAR  
8b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8b80: 20 49 6e 73 74 72 75 63 74 69 6f 6e 73 5b 4d 41   Instructions[MA
8b90: 58 5f 49 4e 53 54 52 55 43 54 49 4f 4e 5f 4c 45  X_INSTRUCTION_LE
8ba0: 4e 5d 3b 0a 09 43 48 41 52 20 20 20 20 20 20 20  N];..CHAR       
8bb0: 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74              List
8bc0: 4c 61 62 65 6c 5b 4d 41 58 5f 4c 41 42 45 4c 5f  Label[MAX_LABEL_
8bd0: 4c 45 4e 5d 3b 0a 09 43 48 41 52 20 20 20 20 20  LEN];..CHAR     
8be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75                Su
8bf0: 62 54 69 74 6c 65 5b 4d 41 58 5f 53 55 42 54 49  bTitle[MAX_SUBTI
8c00: 54 4c 45 5f 4c 45 4e 5d 3b 0a 09 42 59 54 45 20  TLE_LEN];..BYTE 
8c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8c20: 20 20 52 65 73 65 72 76 65 64 5b 32 5d 3b 0a 7d    Reserved[2];.}
8c30: 0a 61 6c 69 61 73 20 53 50 5f 53 45 4c 45 43 54  .alias SP_SELECT
8c40: 44 45 56 49 43 45 5f 50 41 52 41 4d 53 5f 41 2a  DEVICE_PARAMS_A*
8c50: 20 50 53 50 5f 53 45 4c 45 43 54 44 45 56 49 43   PSP_SELECTDEVIC
8c60: 45 5f 50 41 52 41 4d 53 5f 41 3b 0a 0a 73 74 72  E_PARAMS_A;..str
8c70: 75 63 74 20 53 50 5f 53 45 4c 45 43 54 44 45 56  uct SP_SELECTDEV
8c80: 49 43 45 5f 50 41 52 41 4d 53 5f 57 20 7b 0a 09  ICE_PARAMS_W {..
8c90: 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c 5f  SP_CLASSINSTALL_
8ca0: 48 45 41 44 45 52 20 43 6c 61 73 73 49 6e 73 74  HEADER ClassInst
8cb0: 61 6c 6c 48 65 61 64 65 72 3b 0a 09 57 43 48 41  allHeader;..WCHA
8cc0: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  R               
8cd0: 20 20 20 54 69 74 6c 65 5b 4d 41 58 5f 54 49 54     Title[MAX_TIT
8ce0: 4c 45 5f 4c 45 4e 5d 3b 0a 09 57 43 48 41 52 20  LE_LEN];..WCHAR 
8cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8d00: 20 49 6e 73 74 72 75 63 74 69 6f 6e 73 5b 4d 41   Instructions[MA
8d10: 58 5f 49 4e 53 54 52 55 43 54 49 4f 4e 5f 4c 45  X_INSTRUCTION_LE
8d20: 4e 5d 3b 0a 09 57 43 48 41 52 20 20 20 20 20 20  N];..WCHAR      
8d30: 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74              List
8d40: 4c 61 62 65 6c 5b 4d 41 58 5f 4c 41 42 45 4c 5f  Label[MAX_LABEL_
8d50: 4c 45 4e 5d 3b 0a 09 57 43 48 41 52 20 20 20 20  LEN];..WCHAR    
8d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75                Su
8d70: 62 54 69 74 6c 65 5b 4d 41 58 5f 53 55 42 54 49  bTitle[MAX_SUBTI
8d80: 54 4c 45 5f 4c 45 4e 5d 3b 0a 7d 0a 61 6c 69 61  TLE_LEN];.}.alia
8d90: 73 20 53 50 5f 53 45 4c 45 43 54 44 45 56 49 43  s SP_SELECTDEVIC
8da0: 45 5f 50 41 52 41 4d 53 5f 57 2a 20 50 53 50 5f  E_PARAMS_W* PSP_
8db0: 53 45 4c 45 43 54 44 45 56 49 43 45 5f 50 41 52  SELECTDEVICE_PAR
8dc0: 41 4d 53 5f 57 3b 0a 0a 65 78 74 65 72 6e 28 57  AMS_W;..extern(W
8dd0: 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f  indows) alias BO
8de0: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49  OL function(PVOI
8df0: 44 2c 44 57 4f 52 44 29 20 50 44 45 54 45 43 54  D,DWORD) PDETECT
8e00: 5f 50 52 4f 47 52 45 53 53 5f 4e 4f 54 49 46 59  _PROGRESS_NOTIFY
8e10: 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 44 45 54  ;..struct SP_DET
8e20: 45 43 54 44 45 56 49 43 45 5f 50 41 52 41 4d 53  ECTDEVICE_PARAMS
8e30: 20 7b 0a 09 53 50 5f 43 4c 41 53 53 49 4e 53 54   {..SP_CLASSINST
8e40: 41 4c 4c 5f 48 45 41 44 45 52 20 20 43 6c 61 73  ALL_HEADER  Clas
8e50: 73 49 6e 73 74 61 6c 6c 48 65 61 64 65 72 3b 0a  sInstallHeader;.
8e60: 09 50 44 45 54 45 43 54 5f 50 52 4f 47 52 45 53  .PDETECT_PROGRES
8e70: 53 5f 4e 4f 54 49 46 59 20 44 65 74 65 63 74 50  S_NOTIFY DetectP
8e80: 72 6f 67 72 65 73 73 4e 6f 74 69 66 79 3b 0a 09  rogressNotify;..
8e90: 50 56 4f 49 44 20 20 20 20 20 20 20 20 20 20 20  PVOID           
8ea0: 20 20 20 20 20 20 20 20 50 72 6f 67 72 65 73 73          Progress
8eb0: 4e 6f 74 69 66 79 50 61 72 61 6d 3b 0a 7d 0a 61  NotifyParam;.}.a
8ec0: 6c 69 61 73 20 53 50 5f 44 45 54 45 43 54 44 45  lias SP_DETECTDE
8ed0: 56 49 43 45 5f 50 41 52 41 4d 53 2a 20 50 53 50  VICE_PARAMS* PSP
8ee0: 5f 44 45 54 45 43 54 44 45 56 49 43 45 5f 50 41  _DETECTDEVICE_PA
8ef0: 52 41 4d 53 3b 0a 0a 73 74 72 75 63 74 20 53 50  RAMS;..struct SP
8f00: 5f 49 4e 53 54 41 4c 4c 57 49 5a 41 52 44 5f 44  _INSTALLWIZARD_D
8f10: 41 54 41 20 7b 0a 09 53 50 5f 43 4c 41 53 53 49  ATA {..SP_CLASSI
8f20: 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20 43 6c  NSTALL_HEADER Cl
8f30: 61 73 73 49 6e 73 74 61 6c 6c 48 65 61 64 65 72  assInstallHeader
8f40: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
8f50: 20 20 20 20 20 20 20 20 20 20 46 6c 61 67 73 3b            Flags;
8f60: 0a 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 45  ..HPROPSHEETPAGE
8f70: 20 20 20 20 20 20 20 20 20 44 79 6e 61 6d 69 63           Dynamic
8f80: 50 61 67 65 73 5b 4d 41 58 5f 49 4e 53 54 41 4c  Pages[MAX_INSTAL
8f90: 4c 57 49 5a 41 52 44 5f 44 59 4e 41 50 41 47 45  LWIZARD_DYNAPAGE
8fa0: 53 5d 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  S];..DWORD      
8fb0: 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d 44              NumD
8fc0: 79 6e 61 6d 69 63 50 61 67 65 73 3b 0a 09 44 57  ynamicPages;..DW
8fd0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20  ORD             
8fe0: 20 20 20 20 20 44 79 6e 61 6d 69 63 50 61 67 65       DynamicPage
8ff0: 46 6c 61 67 73 3b 0a 09 44 57 4f 52 44 20 20 20  Flags;..DWORD   
9000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50                 P
9010: 72 69 76 61 74 65 46 6c 61 67 73 3b 0a 09 4c 50  rivateFlags;..LP
9020: 41 52 41 4d 20 20 20 20 20 20 20 20 20 20 20 20  ARAM            
9030: 20 20 20 20 20 50 72 69 76 61 74 65 44 61 74 61       PrivateData
9040: 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 20  ;..HWND         
9050: 20 20 20 20 20 20 20 20 20 20 68 77 6e 64 57 69            hwndWi
9060: 7a 61 72 64 44 6c 67 3b 0a 7d 0a 61 6c 69 61 73  zardDlg;.}.alias
9070: 20 53 50 5f 49 4e 53 54 41 4c 4c 57 49 5a 41 52   SP_INSTALLWIZAR
9080: 44 5f 44 41 54 41 2a 20 50 53 50 5f 49 4e 53 54  D_DATA* PSP_INST
9090: 41 4c 4c 57 49 5a 41 52 44 5f 44 41 54 41 3b 0a  ALLWIZARD_DATA;.
90a0: 0a 73 74 72 75 63 74 20 53 50 5f 4e 45 57 44 45  .struct SP_NEWDE
90b0: 56 49 43 45 57 49 5a 41 52 44 5f 44 41 54 41 20  VICEWIZARD_DATA 
90c0: 7b 0a 09 53 50 5f 43 4c 41 53 53 49 4e 53 54 41  {..SP_CLASSINSTA
90d0: 4c 4c 5f 48 45 41 44 45 52 20 43 6c 61 73 73 49  LL_HEADER ClassI
90e0: 6e 73 74 61 6c 6c 48 65 61 64 65 72 3b 0a 09 44  nstallHeader;..D
90f0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
9100: 20 20 20 20 20 20 46 6c 61 67 73 3b 0a 09 48 50        Flags;..HP
9110: 52 4f 50 53 48 45 45 54 50 41 47 45 20 20 20 20  ROPSHEETPAGE    
9120: 20 20 20 20 20 44 79 6e 61 6d 69 63 50 61 67 65       DynamicPage
9130: 73 5b 4d 41 58 5f 49 4e 53 54 41 4c 4c 57 49 5a  s[MAX_INSTALLWIZ
9140: 41 52 44 5f 44 59 4e 41 50 41 47 45 53 5d 3b 0a  ARD_DYNAPAGES];.
9150: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20  .DWORD          
9160: 20 20 20 20 20 20 20 20 4e 75 6d 44 79 6e 61 6d          NumDynam
9170: 69 63 50 61 67 65 73 3b 0a 09 48 57 4e 44 20 20  icPages;..HWND  
9180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9190: 20 68 77 6e 64 57 69 7a 61 72 64 44 6c 67 3b 0a   hwndWizardDlg;.
91a0: 7d 0a 61 6c 69 61 73 20 53 50 5f 4e 45 57 44 45  }.alias SP_NEWDE
91b0: 56 49 43 45 57 49 5a 41 52 44 5f 44 41 54 41 2a  VICEWIZARD_DATA*
91c0: 20 50 53 50 5f 4e 45 57 44 45 56 49 43 45 57 49   PSP_NEWDEVICEWI
91d0: 5a 41 52 44 5f 44 41 54 41 3b 0a 61 6c 69 61 73  ZARD_DATA;.alias
91e0: 20 53 50 5f 4e 45 57 44 45 56 49 43 45 57 49 5a   SP_NEWDEVICEWIZ
91f0: 41 52 44 5f 44 41 54 41 20 53 50 5f 41 44 44 50  ARD_DATA SP_ADDP
9200: 52 4f 50 45 52 54 59 50 41 47 45 5f 44 41 54 41  ROPERTYPAGE_DATA
9210: 3b 0a 61 6c 69 61 73 20 53 50 5f 4e 45 57 44 45  ;.alias SP_NEWDE
9220: 56 49 43 45 57 49 5a 41 52 44 5f 44 41 54 41 2a  VICEWIZARD_DATA*
9230: 20 50 53 50 5f 41 44 44 50 52 4f 50 45 52 54 59   PSP_ADDPROPERTY
9240: 50 41 47 45 5f 44 41 54 41 3b 0a 0a 73 74 72 75  PAGE_DATA;..stru
9250: 63 74 20 53 50 5f 54 52 4f 55 42 4c 45 53 48 4f  ct SP_TROUBLESHO
9260: 4f 54 45 52 5f 50 41 52 41 4d 53 5f 41 20 7b 0a  OTER_PARAMS_A {.
9270: 09 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c  .SP_CLASSINSTALL
9280: 5f 48 45 41 44 45 52 20 43 6c 61 73 73 49 6e 73  _HEADER ClassIns
9290: 74 61 6c 6c 48 65 61 64 65 72 3b 0a 09 43 48 41  tallHeader;..CHA
92a0: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  R               
92b0: 20 20 20 20 43 68 6d 46 69 6c 65 5b 4d 41 58 5f      ChmFile[MAX_
92c0: 50 41 54 48 5d 3b 0a 09 43 48 41 52 20 20 20 20  PATH];..CHAR    
92d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48                 H
92e0: 74 6d 6c 54 72 6f 75 62 6c 65 53 68 6f 6f 74 65  tmlTroubleShoote
92f0: 72 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a 7d 0a 61  r[MAX_PATH];.}.a
9300: 6c 69 61 73 20 53 50 5f 54 52 4f 55 42 4c 45 53  lias SP_TROUBLES
9310: 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53 5f 41 2a  HOOTER_PARAMS_A*
9320: 20 50 53 50 5f 54 52 4f 55 42 4c 45 53 48 4f 4f   PSP_TROUBLESHOO
9330: 54 45 52 5f 50 41 52 41 4d 53 5f 41 3b 0a 0a 73  TER_PARAMS_A;..s
9340: 74 72 75 63 74 20 53 50 5f 54 52 4f 55 42 4c 45  truct SP_TROUBLE
9350: 53 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53 5f 57  SHOOTER_PARAMS_W
9360: 20 7b 0a 09 53 50 5f 43 4c 41 53 53 49 4e 53 54   {..SP_CLASSINST
9370: 41 4c 4c 5f 48 45 41 44 45 52 20 43 6c 61 73 73  ALL_HEADER Class
9380: 49 6e 73 74 61 6c 6c 48 65 61 64 65 72 3b 0a 09  InstallHeader;..
9390: 57 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20  WCHAR           
93a0: 20 20 20 20 20 20 20 43 68 6d 46 69 6c 65 5b 4d         ChmFile[M
93b0: 41 58 5f 50 41 54 48 5d 3b 0a 09 57 43 48 41 52  AX_PATH];..WCHAR
93c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
93d0: 20 20 48 74 6d 6c 54 72 6f 75 62 6c 65 53 68 6f    HtmlTroubleSho
93e0: 6f 74 65 72 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a  oter[MAX_PATH];.
93f0: 7d 0a 61 6c 69 61 73 20 53 50 5f 54 52 4f 55 42  }.alias SP_TROUB
9400: 4c 45 53 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53  LESHOOTER_PARAMS
9410: 5f 57 2a 20 50 53 50 5f 54 52 4f 55 42 4c 45 53  _W* PSP_TROUBLES
9420: 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53 5f 57 3b  HOOTER_PARAMS_W;
9430: 0a 0a 73 74 72 75 63 74 20 53 50 5f 50 4f 57 45  ..struct SP_POWE
9440: 52 4d 45 53 53 41 47 45 57 41 4b 45 5f 50 41 52  RMESSAGEWAKE_PAR
9450: 41 4d 53 5f 41 20 7b 0a 09 53 50 5f 43 4c 41 53  AMS_A {..SP_CLAS
9460: 53 49 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20  SINSTALL_HEADER 
9470: 43 6c 61 73 73 49 6e 73 74 61 6c 6c 48 65 61 64  ClassInstallHead
9480: 65 72 3b 0a 09 43 48 41 52 20 20 20 20 20 20 20  er;..CHAR       
9490: 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 77 65              Powe
94a0: 72 4d 65 73 73 61 67 65 57 61 6b 65 5b 4c 49 4e  rMessageWake[LIN
94b0: 45 5f 4c 45 4e 2a 32 5d 3b 0a 7d 0a 61 6c 69 61  E_LEN*2];.}.alia
94c0: 73 20 53 50 5f 50 4f 57 45 52 4d 45 53 53 41 47  s SP_POWERMESSAG
94d0: 45 57 41 4b 45 5f 50 41 52 41 4d 53 5f 41 2a 20  EWAKE_PARAMS_A* 
94e0: 50 53 50 5f 50 4f 57 45 52 4d 45 53 53 41 47 45  PSP_POWERMESSAGE
94f0: 57 41 4b 45 5f 50 41 52 41 4d 53 5f 41 3b 0a 0a  WAKE_PARAMS_A;..
9500: 73 74 72 75 63 74 20 53 50 5f 50 4f 57 45 52 4d  struct SP_POWERM
9510: 45 53 53 41 47 45 57 41 4b 45 5f 50 41 52 41 4d  ESSAGEWAKE_PARAM
9520: 53 5f 57 20 7b 0a 09 53 50 5f 43 4c 41 53 53 49  S_W {..SP_CLASSI
9530: 4e 53 54 41 4c 4c 5f 48 45 41 44 45 52 20 43 6c  NSTALL_HEADER Cl
9540: 61 73 73 49 6e 73 74 61 6c 6c 48 65 61 64 65 72  assInstallHeader
9550: 3b 0a 09 57 43 48 41 52 20 20 20 20 20 20 20 20  ;..WCHAR        
9560: 20 20 20 20 20 20 20 20 20 20 50 6f 77 65 72 4d            PowerM
9570: 65 73 73 61 67 65 57 61 6b 65 5b 4c 49 4e 45 5f  essageWake[LINE_
9580: 4c 45 4e 2a 32 5d 3b 0a 7d 0a 61 6c 69 61 73 20  LEN*2];.}.alias 
9590: 53 50 5f 50 4f 57 45 52 4d 45 53 53 41 47 45 57  SP_POWERMESSAGEW
95a0: 41 4b 45 5f 50 41 52 41 4d 53 5f 57 2a 20 50 53  AKE_PARAMS_W* PS
95b0: 50 5f 50 4f 57 45 52 4d 45 53 53 41 47 45 57 41  P_POWERMESSAGEWA
95c0: 4b 45 5f 50 41 52 41 4d 53 5f 57 3b 0a 0a 73 74  KE_PARAMS_W;..st
95d0: 72 75 63 74 20 53 50 5f 44 52 56 49 4e 46 4f 5f  ruct SP_DRVINFO_
95e0: 44 41 54 41 5f 56 32 5f 41 20 7b 0a 09 44 57 4f  DATA_V2_A {..DWO
95f0: 52 44 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20  RD     cbSize = 
9600: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
9610: 56 32 5f 41 2e 73 69 7a 65 6f 66 3b 0a 09 44 57  V2_A.sizeof;..DW
9620: 4f 52 44 20 20 20 20 20 44 72 69 76 65 72 54 79  ORD     DriverTy
9630: 70 65 3b 0a 09 55 4c 4f 4e 47 5f 50 54 52 20 52  pe;..ULONG_PTR R
9640: 65 73 65 72 76 65 64 3b 0a 09 43 48 41 52 20 20  eserved;..CHAR  
9650: 20 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 5b      Description[
9660: 4c 49 4e 45 5f 4c 45 4e 5d 3b 0a 09 43 48 41 52  LINE_LEN];..CHAR
9670: 20 20 20 20 20 20 4d 66 67 4e 61 6d 65 5b 4c 49        MfgName[LI
9680: 4e 45 5f 4c 45 4e 5d 3b 0a 09 43 48 41 52 20 20  NE_LEN];..CHAR  
9690: 20 20 20 20 50 72 6f 76 69 64 65 72 4e 61 6d 65      ProviderName
96a0: 5b 4c 49 4e 45 5f 4c 45 4e 5d 3b 0a 09 46 49 4c  [LINE_LEN];..FIL
96b0: 45 54 49 4d 45 20 20 44 72 69 76 65 72 44 61 74  ETIME  DriverDat
96c0: 65 3b 0a 09 44 57 4f 52 44 4c 4f 4e 47 20 44 72  e;..DWORDLONG Dr
96d0: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0a 7d 0a 61  iverVersion;.}.a
96e0: 6c 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f  lias SP_DRVINFO_
96f0: 44 41 54 41 5f 56 32 5f 41 2a 20 50 53 50 5f 44  DATA_V2_A* PSP_D
9700: 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 41  RVINFO_DATA_V2_A
9710: 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f 44 52 56  ;..struct SP_DRV
9720: 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 57 20 7b  INFO_DATA_V2_W {
9730: 0a 09 44 57 4f 52 44 20 20 20 20 20 63 62 53 69  ..DWORD     cbSi
9740: 7a 65 20 3d 20 53 50 5f 44 52 56 49 4e 46 4f 5f  ze = SP_DRVINFO_
9750: 44 41 54 41 5f 56 32 5f 41 2e 73 69 7a 65 6f 66  DATA_V2_A.sizeof
9760: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 44 72 69  ;..DWORD     Dri
9770: 76 65 72 54 79 70 65 3b 0a 09 55 4c 4f 4e 47 5f  verType;..ULONG_
9780: 50 54 52 20 52 65 73 65 72 76 65 64 3b 0a 09 57  PTR Reserved;..W
9790: 43 48 41 52 20 20 20 20 20 44 65 73 63 72 69 70  CHAR     Descrip
97a0: 74 69 6f 6e 5b 4c 49 4e 45 5f 4c 45 4e 5d 3b 0a  tion[LINE_LEN];.
97b0: 09 57 43 48 41 52 20 20 20 20 20 4d 66 67 4e 61  .WCHAR     MfgNa
97c0: 6d 65 5b 4c 49 4e 45 5f 4c 45 4e 5d 3b 0a 09 57  me[LINE_LEN];..W
97d0: 43 48 41 52 20 20 20 20 20 50 72 6f 76 69 64 65  CHAR     Provide
97e0: 72 4e 61 6d 65 5b 4c 49 4e 45 5f 4c 45 4e 5d 3b  rName[LINE_LEN];
97f0: 0a 09 46 49 4c 45 54 49 4d 45 20 20 44 72 69 76  ..FILETIME  Driv
9800: 65 72 44 61 74 65 3b 0a 09 44 57 4f 52 44 4c 4f  erDate;..DWORDLO
9810: 4e 47 20 44 72 69 76 65 72 56 65 72 73 69 6f 6e  NG DriverVersion
9820: 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f 44 52 56  ;.}.alias SP_DRV
9830: 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 57 2a 20  INFO_DATA_V2_W* 
9840: 50 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41  PSP_DRVINFO_DATA
9850: 5f 56 32 5f 57 3b 0a 0a 73 74 72 75 63 74 20 53  _V2_W;..struct S
9860: 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56  P_DRVINFO_DATA_V
9870: 31 5f 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20  1_A {..DWORD    
9880: 20 63 62 53 69 7a 65 20 3d 20 53 50 5f 44 52 56   cbSize = SP_DRV
9890: 49 4e 46 4f 5f 44 41 54 41 5f 56 31 5f 41 2e 73  INFO_DATA_V1_A.s
98a0: 69 7a 65 6f 66 3b 0a 09 44 57 4f 52 44 20 20 20  izeof;..DWORD   
98b0: 20 20 44 72 69 76 65 72 54 79 70 65 3b 0a 09 55    DriverType;..U
98c0: 4c 4f 4e 47 5f 50 54 52 20 52 65 73 65 72 76 65  LONG_PTR Reserve
98d0: 64 3b 0a 09 43 48 41 52 20 20 20 20 20 20 44 65  d;..CHAR      De
98e0: 73 63 72 69 70 74 69 6f 6e 5b 4c 49 4e 45 5f 4c  scription[LINE_L
98f0: 45 4e 5d 3b 0a 09 43 48 41 52 20 20 20 20 20 20  EN];..CHAR      
9900: 4d 66 67 4e 61 6d 65 5b 4c 49 4e 45 5f 4c 45 4e  MfgName[LINE_LEN
9910: 5d 3b 0a 09 43 48 41 52 20 20 20 20 20 20 50 72  ];..CHAR      Pr
9920: 6f 76 69 64 65 72 4e 61 6d 65 5b 4c 49 4e 45 5f  oviderName[LINE_
9930: 4c 45 4e 5d 3b 0a 7d 0a 61 6c 69 61 73 20 53 50  LEN];.}.alias SP
9940: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56 31  _DRVINFO_DATA_V1
9950: 5f 41 2a 20 50 53 50 5f 44 52 56 49 4e 46 4f 5f  _A* PSP_DRVINFO_
9960: 44 41 54 41 5f 56 31 5f 41 3b 0a 0a 73 74 72 75  DATA_V1_A;..stru
9970: 63 74 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41  ct SP_DRVINFO_DA
9980: 54 41 5f 56 31 5f 57 20 7b 0a 09 44 57 4f 52 44  TA_V1_W {..DWORD
9990: 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20 53 50       cbSize = SP
99a0: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56 31  _DRVINFO_DATA_V1
99b0: 5f 57 2e 73 69 7a 65 6f 66 3b 0a 09 44 57 4f 52  _W.sizeof;..DWOR
99c0: 44 20 20 20 20 20 44 72 69 76 65 72 54 79 70 65  D     DriverType
99d0: 3b 0a 09 55 4c 4f 4e 47 5f 50 54 52 20 52 65 73  ;..ULONG_PTR Res
99e0: 65 72 76 65 64 3b 0a 09 57 43 48 41 52 20 20 20  erved;..WCHAR   
99f0: 20 20 44 65 73 63 72 69 70 74 69 6f 6e 5b 4c 49    Description[LI
9a00: 4e 45 5f 4c 45 4e 5d 3b 0a 09 57 43 48 41 52 20  NE_LEN];..WCHAR 
9a10: 20 20 20 20 4d 66 67 4e 61 6d 65 5b 4c 49 4e 45      MfgName[LINE
9a20: 5f 4c 45 4e 5d 3b 0a 09 57 43 48 41 52 20 20 20  _LEN];..WCHAR   
9a30: 20 20 50 72 6f 76 69 64 65 72 4e 61 6d 65 5b 4c    ProviderName[L
9a40: 49 4e 45 5f 4c 45 4e 5d 3b 0a 7d 0a 61 6c 69 61  INE_LEN];.}.alia
9a50: 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54  s SP_DRVINFO_DAT
9a60: 41 5f 56 31 5f 57 2a 20 50 53 50 5f 44 52 56 49  A_V1_W* PSP_DRVI
9a70: 4e 46 4f 5f 44 41 54 41 5f 56 31 5f 57 3b 0a 0a  NFO_DATA_V1_W;..
9a80: 76 65 72 73 69 6f 6e 20 28 55 6e 69 63 6f 64 65  version (Unicode
9a90: 29 20 7b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52  ) {..alias SP_DR
9aa0: 56 49 4e 46 4f 5f 44 41 54 41 5f 56 31 5f 57 20  VINFO_DATA_V1_W 
9ab0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
9ac0: 56 31 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52  V1;..alias SP_DR
9ad0: 56 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 57 20  VINFO_DATA_V2_W 
9ae0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
9af0: 56 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 09 61 6c  V2;.} else {..al
9b00: 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44  ias SP_DRVINFO_D
9b10: 41 54 41 5f 56 31 5f 41 20 53 50 5f 44 52 56 49  ATA_V1_A SP_DRVI
9b20: 4e 46 4f 5f 44 41 54 41 5f 56 31 3b 0a 09 61 6c  NFO_DATA_V1;..al
9b30: 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44  ias SP_DRVINFO_D
9b40: 41 54 41 5f 56 32 5f 41 20 53 50 5f 44 52 56 49  ATA_V2_A SP_DRVI
9b50: 4e 46 4f 5f 44 41 54 41 5f 56 32 3b 0a 7d 0a 61  NFO_DATA_V2;.}.a
9b60: 6c 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f  lias SP_DRVINFO_
9b70: 44 41 54 41 5f 56 31 2a 20 50 53 50 5f 44 52 56  DATA_V1* PSP_DRV
9b80: 49 4e 46 4f 5f 44 41 54 41 5f 56 31 3b 0a 61 6c  INFO_DATA_V1;.al
9b90: 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44  ias SP_DRVINFO_D
9ba0: 41 54 41 5f 56 32 2a 20 50 53 50 5f 44 52 56 49  ATA_V2* PSP_DRVI
9bb0: 4e 46 4f 5f 44 41 54 41 5f 56 32 3b 0a 0a 73 74  NFO_DATA_V2;..st
9bc0: 61 74 69 63 20 69 66 28 55 53 45 5f 53 50 5f 44  atic if(USE_SP_D
9bd0: 52 56 49 4e 46 4f 5f 44 41 54 41 5f 56 31 29 20  RVINFO_DATA_V1) 
9be0: 7b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49  {..alias SP_DRVI
9bf0: 4e 46 4f 5f 44 41 54 41 5f 56 31 5f 41 20 53 50  NFO_DATA_V1_A SP
9c00: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41 3b  _DRVINFO_DATA_A;
9c10: 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49 4e  ..alias SP_DRVIN
9c20: 46 4f 5f 44 41 54 41 5f 56 31 5f 41 2a 20 50 53  FO_DATA_V1_A* PS
9c30: 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41  P_DRVINFO_DATA_A
9c40: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49  ;..alias SP_DRVI
9c50: 4e 46 4f 5f 44 41 54 41 5f 56 31 5f 57 20 53 50  NFO_DATA_V1_W SP
9c60: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 57 3b  _DRVINFO_DATA_W;
9c70: 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49 4e  ..alias SP_DRVIN
9c80: 46 4f 5f 44 41 54 41 5f 56 31 5f 57 2a 20 50 53  FO_DATA_V1_W* PS
9c90: 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 57  P_DRVINFO_DATA_W
9ca0: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49  ;..alias SP_DRVI
9cb0: 4e 46 4f 5f 44 41 54 41 5f 56 31 20 53 50 5f 44  NFO_DATA_V1 SP_D
9cc0: 52 56 49 4e 46 4f 5f 44 41 54 41 3b 0a 09 61 6c  RVINFO_DATA;..al
9cd0: 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44  ias SP_DRVINFO_D
9ce0: 41 54 41 5f 56 31 2a 20 50 53 50 5f 44 52 56 49  ATA_V1* PSP_DRVI
9cf0: 4e 46 4f 5f 44 41 54 41 3b 0a 7d 20 65 6c 73 65  NFO_DATA;.} else
9d00: 20 7b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56   {..alias SP_DRV
9d10: 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 41 20 53  INFO_DATA_V2_A S
9d20: 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41  P_DRVINFO_DATA_A
9d30: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49  ;..alias SP_DRVI
9d40: 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 41 2a 20 50  NFO_DATA_V2_A* P
9d50: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
9d60: 41 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56  A;..alias SP_DRV
9d70: 49 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 57 20 53  INFO_DATA_V2_W S
9d80: 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 57  P_DRVINFO_DATA_W
9d90: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56 49  ;..alias SP_DRVI
9da0: 4e 46 4f 5f 44 41 54 41 5f 56 32 5f 57 2a 20 50  NFO_DATA_V2_W* P
9db0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
9dc0: 57 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52 56  W;..alias SP_DRV
9dd0: 49 4e 46 4f 5f 44 41 54 41 5f 56 32 20 53 50 5f  INFO_DATA_V2 SP_
9de0: 44 52 56 49 4e 46 4f 5f 44 41 54 41 3b 0a 09 61  DRVINFO_DATA;..a
9df0: 6c 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f  lias SP_DRVINFO_
9e00: 44 41 54 41 5f 56 32 2a 20 50 53 50 5f 44 52 56  DATA_V2* PSP_DRV
9e10: 49 4e 46 4f 5f 44 41 54 41 3b 0a 7d 0a 0a 65 78  INFO_DATA;.}..ex
9e20: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
9e30: 69 61 73 20 44 57 4f 52 44 20 66 75 6e 63 74 69  ias DWORD functi
9e40: 6f 6e 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  on(HDEVINFO,PSP_
9e50: 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50  DEVINFO_DATA,PSP
9e60: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 56  _DEVINFO_DATA,PV
9e70: 4f 49 44 29 20 50 53 50 5f 44 45 54 53 49 47 5f  OID) PSP_DETSIG_
9e80: 43 4d 50 50 52 4f 43 3b 0a 0a 73 74 72 75 63 74  CMPPROC;..struct
9e90: 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41   SP_DRVINFO_DETA
9ea0: 49 4c 5f 44 41 54 41 5f 41 20 7b 0a 09 44 57 4f  IL_DATA_A {..DWO
9eb0: 52 44 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20  RD     cbSize = 
9ec0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49  SP_DRVINFO_DETAI
9ed0: 4c 5f 44 41 54 41 5f 41 2e 73 69 7a 65 6f 66 3b  L_DATA_A.sizeof;
9ee0: 0a 09 46 49 4c 45 54 49 4d 45 20 20 49 6e 66 44  ..FILETIME  InfD
9ef0: 61 74 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  ate;..DWORD     
9f00: 43 6f 6d 70 61 74 49 44 73 4f 66 66 73 65 74 3b  CompatIDsOffset;
9f10: 0a 09 44 57 4f 52 44 20 20 20 20 20 43 6f 6d 70  ..DWORD     Comp
9f20: 61 74 49 44 73 4c 65 6e 67 74 68 3b 0a 09 55 4c  atIDsLength;..UL
9f30: 4f 4e 47 5f 50 54 52 20 52 65 73 65 72 76 65 64  ONG_PTR Reserved
9f40: 3b 0a 09 43 48 41 52 20 20 20 20 20 20 53 65 63  ;..CHAR      Sec
9f50: 74 69 6f 6e 4e 61 6d 65 5b 4c 49 4e 45 5f 4c 45  tionName[LINE_LE
9f60: 4e 5d 3b 0a 09 43 48 41 52 20 20 20 20 20 20 49  N];..CHAR      I
9f70: 6e 66 46 69 6c 65 4e 61 6d 65 5b 4d 41 58 5f 50  nfFileName[MAX_P
9f80: 41 54 48 5d 3b 0a 09 43 48 41 52 20 20 20 20 20  ATH];..CHAR     
9f90: 20 44 72 76 44 65 73 63 72 69 70 74 69 6f 6e 5b   DrvDescription[
9fa0: 4c 49 4e 45 5f 4c 45 4e 5d 3b 0a 09 43 48 41 52  LINE_LEN];..CHAR
9fb0: 20 20 20 20 20 20 5f 48 61 72 64 77 61 72 65 49        _HardwareI
9fc0: 44 5b 31 5d 3b 0a 09 43 48 41 52 2a 20 20 20 20  D[1];..CHAR*    
9fd0: 20 48 61 72 64 77 61 72 65 49 44 28 29 20 7b 20   HardwareID() { 
9fe0: 72 65 74 75 72 6e 20 5f 48 61 72 64 77 61 72 65  return _Hardware
9ff0: 49 44 2e 70 74 72 3b 20 7d 0a 7d 0a 61 6c 69 61  ID.ptr; }.}.alia
a000: 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54  s SP_DRVINFO_DET
a010: 41 49 4c 5f 44 41 54 41 5f 41 2a 20 50 53 50 5f  AIL_DATA_A* PSP_
a020: 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f 44  DRVINFO_DETAIL_D
a030: 41 54 41 5f 41 3b 0a 0a 73 74 72 75 63 74 20 53  ATA_A;..struct S
a040: 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c  P_DRVINFO_DETAIL
a050: 5f 44 41 54 41 5f 57 20 7b 0a 09 44 57 4f 52 44  _DATA_W {..DWORD
a060: 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20 53 50       cbSize = SP
a070: 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f  _DRVINFO_DETAIL_
a080: 44 41 54 41 5f 57 2e 73 69 7a 65 6f 66 3b 0a 09  DATA_W.sizeof;..
a090: 46 49 4c 45 54 49 4d 45 20 20 49 6e 66 44 61 74  FILETIME  InfDat
a0a0: 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 43 6f  e;..DWORD     Co
a0b0: 6d 70 61 74 49 44 73 4f 66 66 73 65 74 3b 0a 09  mpatIDsOffset;..
a0c0: 44 57 4f 52 44 20 20 20 20 20 43 6f 6d 70 61 74  DWORD     Compat
a0d0: 49 44 73 4c 65 6e 67 74 68 3b 0a 09 55 4c 4f 4e  IDsLength;..ULON
a0e0: 47 5f 50 54 52 20 52 65 73 65 72 76 65 64 3b 0a  G_PTR Reserved;.
a0f0: 09 57 43 48 41 52 20 20 20 20 20 53 65 63 74 69  .WCHAR     Secti
a100: 6f 6e 4e 61 6d 65 5b 4c 49 4e 45 5f 4c 45 4e 5d  onName[LINE_LEN]
a110: 3b 0a 09 57 43 48 41 52 20 20 20 20 20 49 6e 66  ;..WCHAR     Inf
a120: 46 69 6c 65 4e 61 6d 65 5b 4d 41 58 5f 50 41 54  FileName[MAX_PAT
a130: 48 5d 3b 0a 09 57 43 48 41 52 20 20 20 20 20 44  H];..WCHAR     D
a140: 72 76 44 65 73 63 72 69 70 74 69 6f 6e 5b 4c 49  rvDescription[LI
a150: 4e 45 5f 4c 45 4e 5d 3b 0a 09 57 43 48 41 52 20  NE_LEN];..WCHAR 
a160: 20 20 20 20 5f 48 61 72 64 77 61 72 65 49 44 5b      _HardwareID[
a170: 31 5d 3b 0a 09 57 43 48 41 52 2a 20 20 20 20 48  1];..WCHAR*    H
a180: 61 72 64 77 61 72 65 49 44 28 29 20 7b 20 72 65  ardwareID() { re
a190: 74 75 72 6e 20 5f 48 61 72 64 77 61 72 65 49 44  turn _HardwareID
a1a0: 2e 70 74 72 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20  .ptr; }.}.alias 
a1b0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49  SP_DRVINFO_DETAI
a1c0: 4c 5f 44 41 54 41 5f 57 2a 20 50 53 50 5f 44 52  L_DATA_W* PSP_DR
a1d0: 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f 44 41 54  VINFO_DETAIL_DAT
a1e0: 41 5f 57 3b 0a 0a 73 74 72 75 63 74 20 53 50 5f  A_W;..struct SP_
a1f0: 44 52 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d  DRVINSTALL_PARAM
a200: 53 20 7b 0a 09 44 57 4f 52 44 20 63 62 53 69 7a  S {..DWORD cbSiz
a210: 65 20 3d 20 53 50 5f 44 52 56 49 4e 53 54 41 4c  e = SP_DRVINSTAL
a220: 4c 5f 50 41 52 41 4d 53 2e 73 69 7a 65 6f 66 3b  L_PARAMS.sizeof;
a230: 0a 09 44 57 4f 52 44 20 52 61 6e 6b 3b 0a 09 44  ..DWORD Rank;..D
a240: 57 4f 52 44 20 46 6c 61 67 73 3b 0a 09 44 57 4f  WORD Flags;..DWO
a250: 52 44 5f 50 54 52 20 50 72 69 76 61 74 65 44 61  RD_PTR PrivateDa
a260: 74 61 3b 0a 09 44 57 4f 52 44 20 52 65 73 65 72  ta;..DWORD Reser
a270: 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f  ved;.}.alias SP_
a280: 44 52 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d  DRVINSTALL_PARAM
a290: 53 2a 20 50 53 50 5f 44 52 56 49 4e 53 54 41 4c  S* PSP_DRVINSTAL
a2a0: 4c 5f 50 41 52 41 4d 53 3b 0a 0a 73 74 72 75 63  L_PARAMS;..struc
a2b0: 74 20 43 4f 49 4e 53 54 41 4c 4c 45 52 5f 43 4f  t COINSTALLER_CO
a2c0: 4e 54 45 58 54 5f 44 41 54 41 20 7b 0a 09 42 4f  NTEXT_DATA {..BO
a2d0: 4f 4c 20 20 50 6f 73 74 50 72 6f 63 65 73 73 69  OL  PostProcessi
a2e0: 6e 67 3b 0a 09 44 57 4f 52 44 20 49 6e 73 74 61  ng;..DWORD Insta
a2f0: 6c 6c 52 65 73 75 6c 74 3b 0a 09 50 56 4f 49 44  llResult;..PVOID
a300: 20 50 72 69 76 61 74 65 44 61 74 61 3b 0a 7d 0a   PrivateData;.}.
a310: 61 6c 69 61 73 20 43 4f 49 4e 53 54 41 4c 4c 45  alias COINSTALLE
a320: 52 5f 43 4f 4e 54 45 58 54 5f 44 41 54 41 2a 20  R_CONTEXT_DATA* 
a330: 50 43 4f 49 4e 53 54 41 4c 4c 45 52 5f 43 4f 4e  PCOINSTALLER_CON
a340: 54 45 58 54 5f 44 41 54 41 3b 0a 0a 73 74 72 75  TEXT_DATA;..stru
a350: 63 74 20 53 50 5f 43 4c 41 53 53 49 4d 41 47 45  ct SP_CLASSIMAGE
a360: 4c 49 53 54 5f 44 41 54 41 20 7b 0a 09 44 57 4f  LIST_DATA {..DWO
a370: 52 44 20 20 20 20 20 20 63 62 53 69 7a 65 20 3d  RD      cbSize =
a380: 20 53 50 5f 43 4c 41 53 53 49 4d 41 47 45 4c 49   SP_CLASSIMAGELI
a390: 53 54 5f 44 41 54 41 2e 73 69 7a 65 6f 66 3b 0a  ST_DATA.sizeof;.
a3a0: 09 48 49 4d 41 47 45 4c 49 53 54 20 49 6d 61 67  .HIMAGELIST Imag
a3b0: 65 4c 69 73 74 3b 0a 09 55 4c 4f 4e 47 5f 50 54  eList;..ULONG_PT
a3c0: 52 20 20 52 65 73 65 72 76 65 64 3b 0a 7d 0a 61  R  Reserved;.}.a
a3d0: 6c 69 61 73 20 53 50 5f 43 4c 41 53 53 49 4d 41  lias SP_CLASSIMA
a3e0: 47 45 4c 49 53 54 5f 44 41 54 41 2a 20 50 53 50  GELIST_DATA* PSP
a3f0: 5f 43 4c 41 53 53 49 4d 41 47 45 4c 49 53 54 5f  _CLASSIMAGELIST_
a400: 44 41 54 41 3b 0a 0a 73 74 72 75 63 74 20 53 50  DATA;..struct SP
a410: 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 52  _PROPSHEETPAGE_R
a420: 45 51 55 45 53 54 20 7b 0a 09 44 57 4f 52 44 20  EQUEST {..DWORD 
a430: 20 20 20 20 20 20 20 20 20 20 20 63 62 53 69 7a             cbSiz
a440: 65 20 3d 20 53 50 5f 50 52 4f 50 53 48 45 45 54  e = SP_PROPSHEET
a450: 50 41 47 45 5f 52 45 51 55 45 53 54 2e 73 69 7a  PAGE_REQUEST.siz
a460: 65 6f 66 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  eof;..DWORD     
a470: 20 20 20 20 20 20 20 50 61 67 65 52 65 71 75 65         PageReque
a480: 73 74 65 64 3b 0a 09 48 44 45 56 49 4e 46 4f 20  sted;..HDEVINFO 
a490: 20 20 20 20 20 20 20 20 44 65 76 69 63 65 49 6e          DeviceIn
a4a0: 66 6f 53 65 74 3b 0a 09 50 53 50 5f 44 45 56 49  foSet;..PSP_DEVI
a4b0: 4e 46 4f 5f 44 41 54 41 20 44 65 76 69 63 65 49  NFO_DATA DeviceI
a4c0: 6e 66 6f 44 61 74 61 3b 0a 7d 0a 61 6c 69 61 73  nfoData;.}.alias
a4d0: 20 53 50 5f 50 52 4f 50 53 48 45 45 54 50 41 47   SP_PROPSHEETPAG
a4e0: 45 5f 52 45 51 55 45 53 54 2a 20 50 53 50 5f 50  E_REQUEST* PSP_P
a4f0: 52 4f 50 53 48 45 45 54 50 41 47 45 5f 52 45 51  ROPSHEETPAGE_REQ
a500: 55 45 53 54 3b 0a 0a 73 74 72 75 63 74 20 53 50  UEST;..struct SP
a510: 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f 50 41  _BACKUP_QUEUE_PA
a520: 52 41 4d 53 5f 41 20 7b 0a 09 44 57 4f 52 44 20  RAMS_A {..DWORD 
a530: 63 62 53 69 7a 65 20 3d 20 53 50 5f 42 41 43 4b  cbSize = SP_BACK
a540: 55 50 5f 51 55 45 55 45 5f 50 41 52 41 4d 53 5f  UP_QUEUE_PARAMS_
a550: 41 2e 73 69 7a 65 6f 66 3b 0a 09 43 48 41 52 20  A.sizeof;..CHAR 
a560: 20 46 75 6c 6c 49 6e 66 50 61 74 68 5b 4d 41 58   FullInfPath[MAX
a570: 5f 50 41 54 48 5d 3b 0a 09 49 4e 54 20 20 20 46  _PATH];..INT   F
a580: 69 6c 65 6e 61 6d 65 4f 66 66 73 65 74 3b 0a 7d  ilenameOffset;.}
a590: 0a 61 6c 69 61 73 20 53 50 5f 42 41 43 4b 55 50  .alias SP_BACKUP
a5a0: 5f 51 55 45 55 45 5f 50 41 52 41 4d 53 5f 41 2a  _QUEUE_PARAMS_A*
a5b0: 20 50 53 50 5f 42 41 43 4b 55 50 5f 51 55 45 55   PSP_BACKUP_QUEU
a5c0: 45 5f 50 41 52 41 4d 53 5f 41 3b 0a 0a 73 74 72  E_PARAMS_A;..str
a5d0: 75 63 74 20 53 50 5f 42 41 43 4b 55 50 5f 51 55  uct SP_BACKUP_QU
a5e0: 45 55 45 5f 50 41 52 41 4d 53 5f 57 20 7b 0a 09  EUE_PARAMS_W {..
a5f0: 44 57 4f 52 44 20 63 62 53 69 7a 65 20 3d 20 53  DWORD cbSize = S
a600: 50 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f 50  P_BACKUP_QUEUE_P
a610: 41 52 41 4d 53 5f 57 2e 73 69 7a 65 6f 66 3b 0a  ARAMS_W.sizeof;.
a620: 09 57 43 48 41 52 20 46 75 6c 6c 49 6e 66 50 61  .WCHAR FullInfPa
a630: 74 68 5b 4d 41 58 5f 50 41 54 48 5d 3b 0a 09 49  th[MAX_PATH];..I
a640: 4e 54 20 20 20 46 69 6c 65 6e 61 6d 65 4f 66 66  NT   FilenameOff
a650: 73 65 74 3b 0a 7d 0a 61 6c 69 61 73 20 53 50 5f  set;.}.alias SP_
a660: 42 41 43 4b 55 50 5f 51 55 45 55 45 5f 50 41 52  BACKUP_QUEUE_PAR
a670: 41 4d 53 5f 57 2a 20 50 53 50 5f 42 41 43 4b 55  AMS_W* PSP_BACKU
a680: 50 5f 51 55 45 55 45 5f 50 41 52 41 4d 53 5f 57  P_QUEUE_PARAMS_W
a690: 3b 0a 0a 76 65 72 73 69 6f 6e 20 28 55 6e 69 63  ;..version (Unic
a6a0: 6f 64 65 29 20 7b 0a 09 61 6c 69 61 73 20 53 50  ode) {..alias SP
a6b0: 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45 5f 49  _ORIGINAL_FILE_I
a6c0: 4e 46 4f 5f 57 20 53 50 5f 4f 52 49 47 49 4e 41  NFO_W SP_ORIGINA
a6d0: 4c 5f 46 49 4c 45 5f 49 4e 46 4f 3b 0a 09 61 6c  L_FILE_INFO;..al
a6e0: 69 61 73 20 53 50 5f 4f 52 49 47 49 4e 41 4c 5f  ias SP_ORIGINAL_
a6f0: 46 49 4c 45 5f 49 4e 46 4f 5f 57 2a 20 50 53 50  FILE_INFO_W* PSP
a700: 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45 5f 49  _ORIGINAL_FILE_I
a710: 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 46 49 4c 45  NFO;..alias FILE
a720: 50 41 54 48 53 5f 57 20 46 49 4c 45 50 41 54 48  PATHS_W FILEPATH
a730: 53 3b 0a 09 61 6c 69 61 73 20 46 49 4c 45 50 41  S;..alias FILEPA
a740: 54 48 53 5f 57 2a 20 50 46 49 4c 45 50 41 54 48  THS_W* PFILEPATH
a750: 53 3b 0a 09 61 6c 69 61 73 20 53 4f 55 52 43 45  S;..alias SOURCE
a760: 5f 4d 45 44 49 41 5f 57 20 53 4f 55 52 43 45 5f  _MEDIA_W SOURCE_
a770: 4d 45 44 49 41 3b 0a 09 61 6c 69 61 73 20 53 4f  MEDIA;..alias SO
a780: 55 52 43 45 5f 4d 45 44 49 41 5f 57 2a 20 50 53  URCE_MEDIA_W* PS
a790: 4f 55 52 43 45 5f 4d 45 44 49 41 3b 0a 09 61 6c  OURCE_MEDIA;..al
a7a0: 69 61 73 20 43 41 42 49 4e 45 54 5f 49 4e 46 4f  ias CABINET_INFO
a7b0: 5f 57 20 43 41 42 49 4e 45 54 5f 49 4e 46 4f 3b  _W CABINET_INFO;
a7c0: 0a 09 61 6c 69 61 73 20 43 41 42 49 4e 45 54 5f  ..alias CABINET_
a7d0: 49 4e 46 4f 5f 57 2a 20 50 43 41 42 49 4e 45 54  INFO_W* PCABINET
a7e0: 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 46 49  _INFO;..alias FI
a7f0: 4c 45 5f 49 4e 5f 43 41 42 49 4e 45 54 5f 49 4e  LE_IN_CABINET_IN
a800: 46 4f 5f 57 20 46 49 4c 45 5f 49 4e 5f 43 41 42  FO_W FILE_IN_CAB
a810: 49 4e 45 54 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61  INET_INFO;..alia
a820: 73 20 46 49 4c 45 5f 49 4e 5f 43 41 42 49 4e 45  s FILE_IN_CABINE
a830: 54 5f 49 4e 46 4f 5f 57 2a 20 50 46 49 4c 45 5f  T_INFO_W* PFILE_
a840: 49 4e 5f 43 41 42 49 4e 45 54 5f 49 4e 46 4f 3b  IN_CABINET_INFO;
a850: 0a 09 61 6c 69 61 73 20 53 50 5f 46 49 4c 45 5f  ..alias SP_FILE_
a860: 43 4f 50 59 5f 50 41 52 41 4d 53 5f 57 20 53 50  COPY_PARAMS_W SP
a870: 5f 46 49 4c 45 5f 43 4f 50 59 5f 50 41 52 41 4d  _FILE_COPY_PARAM
a880: 53 3b 0a 09 61 6c 69 61 73 20 53 50 5f 46 49 4c  S;..alias SP_FIL
a890: 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53 5f 57 2a  E_COPY_PARAMS_W*
a8a0: 20 50 53 50 5f 46 49 4c 45 5f 43 4f 50 59 5f 50   PSP_FILE_COPY_P
a8b0: 41 52 41 4d 53 3b 0a 09 61 6c 69 61 73 20 53 50  ARAMS;..alias SP
a8c0: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
a8d0: 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 20  E_DETAIL_DATA_W 
a8e0: 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46  SP_DEVICE_INTERF
a8f0: 41 43 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 3b  ACE_DETAIL_DATA;
a900: 0a 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43  ..alias SP_DEVIC
a910: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41  E_INTERFACE_DETA
a920: 49 4c 5f 44 41 54 41 5f 57 2a 20 50 53 50 5f 44  IL_DATA_W* PSP_D
a930: 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f  EVICE_INTERFACE_
a940: 44 45 54 41 49 4c 5f 44 41 54 41 3b 0a 09 64 65  DETAIL_DATA;..de
a950: 70 72 65 63 61 74 65 64 20 7b 0a 09 09 61 6c 69  precated {...ali
a960: 61 73 20 53 50 5f 44 45 56 49 43 45 5f 49 4e 54  as SP_DEVICE_INT
a970: 45 52 46 41 43 45 5f 44 45 54 41 49 4c 5f 44 41  ERFACE_DETAIL_DA
a980: 54 41 5f 57 20 53 50 5f 49 4e 54 45 52 46 41 43  TA_W SP_INTERFAC
a990: 45 5f 44 45 56 49 43 45 5f 44 45 54 41 49 4c 5f  E_DEVICE_DETAIL_
a9a0: 44 41 54 41 3b 0a 09 09 61 6c 69 61 73 20 53 50  DATA;...alias SP
a9b0: 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43  _DEVICE_INTERFAC
a9c0: 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57 2a  E_DETAIL_DATA_W*
a9d0: 20 50 53 50 5f 49 4e 54 45 52 46 41 43 45 5f 44   PSP_INTERFACE_D
a9e0: 45 56 49 43 45 5f 44 45 54 41 49 4c 5f 44 41 54  EVICE_DETAIL_DAT
a9f0: 41 3b 0a 09 7d 0a 09 61 6c 69 61 73 20 53 50 5f  A;..}..alias SP_
aa00: 44 45 56 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54  DEVINFO_LIST_DET
aa10: 41 49 4c 5f 44 41 54 41 5f 57 20 53 50 5f 44 45  AIL_DATA_W SP_DE
aa20: 56 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49  VINFO_LIST_DETAI
aa30: 4c 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 53  L_DATA;..alias S
aa40: 50 5f 44 45 56 49 4e 46 4f 5f 4c 49 53 54 5f 44  P_DEVINFO_LIST_D
aa50: 45 54 41 49 4c 5f 44 41 54 41 5f 57 20 2a 50 53  ETAIL_DATA_W *PS
aa60: 50 5f 44 45 56 49 4e 46 4f 5f 4c 49 53 54 5f 44  P_DEVINFO_LIST_D
aa70: 45 54 41 49 4c 5f 44 41 54 41 3b 0a 09 61 6c 69  ETAIL_DATA;..ali
aa80: 61 73 20 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c  as SP_DEVINSTALL
aa90: 5f 50 41 52 41 4d 53 5f 57 20 53 50 5f 44 45 56  _PARAMS_W SP_DEV
aaa0: 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 3b 0a  INSTALL_PARAMS;.
aab0: 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49 4e 53  .alias SP_DEVINS
aac0: 54 41 4c 4c 5f 50 41 52 41 4d 53 5f 57 2a 20 50  TALL_PARAMS_W* P
aad0: 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c 5f 50 41  SP_DEVINSTALL_PA
aae0: 52 41 4d 53 3b 0a 09 61 6c 69 61 73 20 53 50 5f  RAMS;..alias SP_
aaf0: 53 45 4c 45 43 54 44 45 56 49 43 45 5f 50 41 52  SELECTDEVICE_PAR
ab00: 41 4d 53 5f 57 20 53 50 5f 53 45 4c 45 43 54 44  AMS_W SP_SELECTD
ab10: 45 56 49 43 45 5f 50 41 52 41 4d 53 3b 0a 09 61  EVICE_PARAMS;..a
ab20: 6c 69 61 73 20 53 50 5f 53 45 4c 45 43 54 44 45  lias SP_SELECTDE
ab30: 56 49 43 45 5f 50 41 52 41 4d 53 5f 57 2a 20 50  VICE_PARAMS_W* P
ab40: 53 50 5f 53 45 4c 45 43 54 44 45 56 49 43 45 5f  SP_SELECTDEVICE_
ab50: 50 41 52 41 4d 53 3b 0a 09 61 6c 69 61 73 20 53  PARAMS;..alias S
ab60: 50 5f 54 52 4f 55 42 4c 45 53 48 4f 4f 54 45 52  P_TROUBLESHOOTER
ab70: 5f 50 41 52 41 4d 53 5f 57 20 53 50 5f 54 52 4f  _PARAMS_W SP_TRO
ab80: 55 42 4c 45 53 48 4f 4f 54 45 52 5f 50 41 52 41  UBLESHOOTER_PARA
ab90: 4d 53 3b 0a 09 61 6c 69 61 73 20 53 50 5f 54 52  MS;..alias SP_TR
aba0: 4f 55 42 4c 45 53 48 4f 4f 54 45 52 5f 50 41 52  OUBLESHOOTER_PAR
abb0: 41 4d 53 5f 57 2a 20 50 53 50 5f 54 52 4f 55 42  AMS_W* PSP_TROUB
abc0: 4c 45 53 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53  LESHOOTER_PARAMS
abd0: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 50 4f 57 45  ;..alias SP_POWE
abe0: 52 4d 45 53 53 41 47 45 57 41 4b 45 5f 50 41 52  RMESSAGEWAKE_PAR
abf0: 41 4d 53 5f 57 20 53 50 5f 50 4f 57 45 52 4d 45  AMS_W SP_POWERME
ac00: 53 53 41 47 45 57 41 4b 45 5f 50 41 52 41 4d 53  SSAGEWAKE_PARAMS
ac10: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 50 4f 57 45  ;..alias SP_POWE
ac20: 52 4d 45 53 53 41 47 45 57 41 4b 45 5f 50 41 52  RMESSAGEWAKE_PAR
ac30: 41 4d 53 5f 57 2a 20 50 53 50 5f 50 4f 57 45 52  AMS_W* PSP_POWER
ac40: 4d 45 53 53 41 47 45 57 41 4b 45 5f 50 41 52 41  MESSAGEWAKE_PARA
ac50: 4d 53 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 52  MS;..alias SP_DR
ac60: 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f 44 41 54  VINFO_DETAIL_DAT
ac70: 41 5f 57 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44  A_W SP_DRVINFO_D
ac80: 45 54 41 49 4c 5f 44 41 54 41 3b 0a 09 61 6c 69  ETAIL_DATA;..ali
ac90: 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45  as SP_DRVINFO_DE
aca0: 54 41 49 4c 5f 44 41 54 41 5f 57 2a 20 50 53 50  TAIL_DATA_W* PSP
acb0: 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f  _DRVINFO_DETAIL_
acc0: 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 53 50 5f  DATA;..alias SP_
acd0: 42 41 43 4b 55 50 5f 51 55 45 55 45 5f 50 41 52  BACKUP_QUEUE_PAR
ace0: 41 4d 53 5f 57 20 53 50 5f 42 41 43 4b 55 50 5f  AMS_W SP_BACKUP_
acf0: 51 55 45 55 45 5f 50 41 52 41 4d 53 3b 0a 09 61  QUEUE_PARAMS;..a
ad00: 6c 69 61 73 20 53 50 5f 42 41 43 4b 55 50 5f 51  lias SP_BACKUP_Q
ad10: 55 45 55 45 5f 50 41 52 41 4d 53 5f 57 2a 20 50  UEUE_PARAMS_W* P
ad20: 53 50 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f  SP_BACKUP_QUEUE_
ad30: 50 41 52 41 4d 53 3b 0a 7d 20 65 6c 73 65 20 7b  PARAMS;.} else {
ad40: 0a 09 61 6c 69 61 73 20 53 50 5f 4f 52 49 47 49  ..alias SP_ORIGI
ad50: 4e 41 4c 5f 46 49 4c 45 5f 49 4e 46 4f 5f 41 20  NAL_FILE_INFO_A 
ad60: 53 50 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45  SP_ORIGINAL_FILE
ad70: 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 53 50  _INFO;..alias SP
ad80: 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45 5f 49  _ORIGINAL_FILE_I
ad90: 4e 46 4f 5f 41 2a 20 50 53 50 5f 4f 52 49 47 49  NFO_A* PSP_ORIGI
ada0: 4e 41 4c 5f 46 49 4c 45 5f 49 4e 46 4f 3b 0a 09  NAL_FILE_INFO;..
adb0: 61 6c 69 61 73 20 46 49 4c 45 50 41 54 48 53 5f  alias FILEPATHS_
adc0: 41 20 46 49 4c 45 50 41 54 48 53 3b 0a 09 61 6c  A FILEPATHS;..al
add0: 69 61 73 20 46 49 4c 45 50 41 54 48 53 5f 41 2a  ias FILEPATHS_A*
ade0: 20 50 46 49 4c 45 50 41 54 48 53 3b 0a 09 61 6c   PFILEPATHS;..al
adf0: 69 61 73 20 53 4f 55 52 43 45 5f 4d 45 44 49 41  ias SOURCE_MEDIA
ae00: 5f 41 20 53 4f 55 52 43 45 5f 4d 45 44 49 41 3b  _A SOURCE_MEDIA;
ae10: 0a 09 61 6c 69 61 73 20 53 4f 55 52 43 45 5f 4d  ..alias SOURCE_M
ae20: 45 44 49 41 5f 41 2a 20 50 53 4f 55 52 43 45 5f  EDIA_A* PSOURCE_
ae30: 4d 45 44 49 41 3b 0a 09 61 6c 69 61 73 20 43 41  MEDIA;..alias CA
ae40: 42 49 4e 45 54 5f 49 4e 46 4f 5f 41 20 43 41 42  BINET_INFO_A CAB
ae50: 49 4e 45 54 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61  INET_INFO;..alia
ae60: 73 20 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 41  s CABINET_INFO_A
ae70: 2a 20 50 43 41 42 49 4e 45 54 5f 49 4e 46 4f 3b  * PCABINET_INFO;
ae80: 0a 09 61 6c 69 61 73 20 46 49 4c 45 5f 49 4e 5f  ..alias FILE_IN_
ae90: 43 41 42 49 4e 45 54 5f 49 4e 46 4f 5f 41 20 46  CABINET_INFO_A F
aea0: 49 4c 45 5f 49 4e 5f 43 41 42 49 4e 45 54 5f 49  ILE_IN_CABINET_I
aeb0: 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 46 49 4c 45  NFO;..alias FILE
aec0: 5f 49 4e 5f 43 41 42 49 4e 45 54 5f 49 4e 46 4f  _IN_CABINET_INFO
aed0: 5f 41 2a 20 50 46 49 4c 45 5f 49 4e 5f 43 41 42  _A* PFILE_IN_CAB
aee0: 49 4e 45 54 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61  INET_INFO;..alia
aef0: 73 20 53 50 5f 46 49 4c 45 5f 43 4f 50 59 5f 50  s SP_FILE_COPY_P
af00: 41 52 41 4d 53 5f 41 20 53 50 5f 46 49 4c 45 5f  ARAMS_A SP_FILE_
af10: 43 4f 50 59 5f 50 41 52 41 4d 53 3b 0a 09 61 6c  COPY_PARAMS;..al
af20: 69 61 73 20 53 50 5f 46 49 4c 45 5f 43 4f 50 59  ias SP_FILE_COPY
af30: 5f 50 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f 46  _PARAMS_A* PSP_F
af40: 49 4c 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53 3b  ILE_COPY_PARAMS;
af50: 0a 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43  ..alias SP_DEVIC
af60: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41  E_INTERFACE_DETA
af70: 49 4c 5f 44 41 54 41 5f 41 20 53 50 5f 44 45 56  IL_DATA_A SP_DEV
af80: 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45  ICE_INTERFACE_DE
af90: 54 41 49 4c 5f 44 41 54 41 3b 0a 09 61 6c 69 61  TAIL_DATA;..alia
afa0: 73 20 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45  s SP_DEVICE_INTE
afb0: 52 46 41 43 45 5f 44 45 54 41 49 4c 5f 44 41 54  RFACE_DETAIL_DAT
afc0: 41 5f 41 2a 20 50 53 50 5f 44 45 56 49 43 45 5f  A_A* PSP_DEVICE_
afd0: 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41 49 4c  INTERFACE_DETAIL
afe0: 5f 44 41 54 41 3b 0a 09 64 65 70 72 65 63 61 74  _DATA;..deprecat
aff0: 65 64 20 7b 0a 09 09 61 6c 69 61 73 20 53 50 5f  ed {...alias SP_
b000: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
b010: 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 41 20 53  _DETAIL_DATA_A S
b020: 50 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 56 49  P_INTERFACE_DEVI
b030: 43 45 5f 44 45 54 41 49 4c 5f 44 41 54 41 3b 0a  CE_DETAIL_DATA;.
b040: 09 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49 43  ..alias SP_DEVIC
b050: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41  E_INTERFACE_DETA
b060: 49 4c 5f 44 41 54 41 5f 41 2a 20 50 53 50 5f 49  IL_DATA_A* PSP_I
b070: 4e 54 45 52 46 41 43 45 5f 44 45 56 49 43 45 5f  NTERFACE_DEVICE_
b080: 44 45 54 41 49 4c 5f 44 41 54 41 3b 0a 09 7d 0a  DETAIL_DATA;..}.
b090: 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49 4e 46  .alias SP_DEVINF
b0a0: 4f 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41  O_LIST_DETAIL_DA
b0b0: 54 41 5f 41 20 53 50 5f 44 45 56 49 4e 46 4f 5f  TA_A SP_DEVINFO_
b0c0: 4c 49 53 54 5f 44 45 54 41 49 4c 5f 44 41 54 41  LIST_DETAIL_DATA
b0d0: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 44 45 56 49  ;..alias SP_DEVI
b0e0: 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f  NFO_LIST_DETAIL_
b0f0: 44 41 54 41 5f 41 2a 20 50 53 50 5f 44 45 56 49  DATA_A* PSP_DEVI
b100: 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49 4c 5f  NFO_LIST_DETAIL_
b110: 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 53 50 5f  DATA;..alias SP_
b120: 44 45 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d  DEVINSTALL_PARAM
b130: 53 5f 41 20 53 50 5f 44 45 56 49 4e 53 54 41 4c  S_A SP_DEVINSTAL
b140: 4c 5f 50 41 52 41 4d 53 3b 0a 09 61 6c 69 61 73  L_PARAMS;..alias
b150: 20 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c 5f 50   SP_DEVINSTALL_P
b160: 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f 44 45 56  ARAMS_A* PSP_DEV
b170: 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 3b 0a  INSTALL_PARAMS;.
b180: 09 61 6c 69 61 73 20 53 50 5f 53 45 4c 45 43 54  .alias SP_SELECT
b190: 44 45 56 49 43 45 5f 50 41 52 41 4d 53 5f 41 20  DEVICE_PARAMS_A 
b1a0: 53 50 5f 53 45 4c 45 43 54 44 45 56 49 43 45 5f  SP_SELECTDEVICE_
b1b0: 50 41 52 41 4d 53 3b 0a 09 61 6c 69 61 73 20 53  PARAMS;..alias S
b1c0: 50 5f 53 45 4c 45 43 54 44 45 56 49 43 45 5f 50  P_SELECTDEVICE_P
b1d0: 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f 53 45 4c  ARAMS_A* PSP_SEL
b1e0: 45 43 54 44 45 56 49 43 45 5f 50 41 52 41 4d 53  ECTDEVICE_PARAMS
b1f0: 3b 0a 09 61 6c 69 61 73 20 53 50 5f 54 52 4f 55  ;..alias SP_TROU
b200: 42 4c 45 53 48 4f 4f 54 45 52 5f 50 41 52 41 4d  BLESHOOTER_PARAM
b210: 53 5f 41 20 53 50 5f 54 52 4f 55 42 4c 45 53 48  S_A SP_TROUBLESH
b220: 4f 4f 54 45 52 5f 50 41 52 41 4d 53 3b 0a 09 61  OOTER_PARAMS;..a
b230: 6c 69 61 73 20 53 50 5f 54 52 4f 55 42 4c 45 53  lias SP_TROUBLES
b240: 48 4f 4f 54 45 52 5f 50 41 52 41 4d 53 5f 41 2a  HOOTER_PARAMS_A*
b250: 20 50 53 50 5f 54 52 4f 55 42 4c 45 53 48 4f 4f   PSP_TROUBLESHOO
b260: 54 45 52 5f 50 41 52 41 4d 53 3b 0a 09 61 6c 69  TER_PARAMS;..ali
b270: 61 73 20 53 50 5f 50 4f 57 45 52 4d 45 53 53 41  as SP_POWERMESSA
b280: 47 45 57 41 4b 45 5f 50 41 52 41 4d 53 5f 41 20  GEWAKE_PARAMS_A 
b290: 53 50 5f 50 4f 57 45 52 4d 45 53 53 41 47 45 57  SP_POWERMESSAGEW
b2a0: 41 4b 45 5f 50 41 52 41 4d 53 3b 0a 09 61 6c 69  AKE_PARAMS;..ali
b2b0: 61 73 20 53 50 5f 50 4f 57 45 52 4d 45 53 53 41  as SP_POWERMESSA
b2c0: 47 45 57 41 4b 45 5f 50 41 52 41 4d 53 5f 41 2a  GEWAKE_PARAMS_A*
b2d0: 20 50 53 50 5f 50 4f 57 45 52 4d 45 53 53 41 47   PSP_POWERMESSAG
b2e0: 45 57 41 4b 45 5f 50 41 52 41 4d 53 3b 0a 09 61  EWAKE_PARAMS;..a
b2f0: 6c 69 61 73 20 53 50 5f 44 52 56 49 4e 46 4f 5f  lias SP_DRVINFO_
b300: 44 45 54 41 49 4c 5f 44 41 54 41 5f 41 20 53 50  DETAIL_DATA_A SP
b310: 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f  _DRVINFO_DETAIL_
b320: 44 41 54 41 3b 0a 09 61 6c 69 61 73 20 53 50 5f  DATA;..alias SP_
b330: 44 52 56 49 4e 46 4f 5f 44 45 54 41 49 4c 5f 44  DRVINFO_DETAIL_D
b340: 41 54 41 5f 41 2a 20 50 53 50 5f 44 52 56 49 4e  ATA_A* PSP_DRVIN
b350: 46 4f 5f 44 45 54 41 49 4c 5f 44 41 54 41 3b 0a  FO_DETAIL_DATA;.
b360: 09 61 6c 69 61 73 20 53 50 5f 42 41 43 4b 55 50  .alias SP_BACKUP
b370: 5f 51 55 45 55 45 5f 50 41 52 41 4d 53 5f 41 20  _QUEUE_PARAMS_A 
b380: 53 50 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f  SP_BACKUP_QUEUE_
b390: 50 41 52 41 4d 53 3b 0a 09 61 6c 69 61 73 20 53  PARAMS;..alias S
b3a0: 50 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f 50  P_BACKUP_QUEUE_P
b3b0: 41 52 41 4d 53 5f 41 2a 20 50 53 50 5f 42 41 43  ARAMS_A* PSP_BAC
b3c0: 4b 55 50 5f 51 55 45 55 45 5f 50 41 52 41 4d 53  KUP_QUEUE_PARAMS
b3d0: 3b 0a 7d 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e  ;.}..extern (Win
b3e0: 64 6f 77 73 29 20 7b 0a 09 42 4f 4f 4c 20 53 65  dows) {..BOOL Se
b3f0: 74 75 70 41 64 64 49 6e 73 74 61 6c 6c 53 65 63  tupAddInstallSec
b400: 74 69 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c  tionToDiskSpaceL
b410: 69 73 74 41 28 48 44 53 4b 53 50 43 2c 48 49 4e  istA(HDSKSPC,HIN
b420: 46 2c 48 49 4e 46 2c 50 43 53 54 52 2c 50 56 4f  F,HINF,PCSTR,PVO
b430: 49 44 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20  ID,UINT);..BOOL 
b440: 53 65 74 75 70 41 64 64 49 6e 73 74 61 6c 6c 53  SetupAddInstallS
b450: 65 63 74 69 6f 6e 54 6f 44 69 73 6b 53 70 61 63  ectionToDiskSpac
b460: 65 4c 69 73 74 57 28 48 44 53 4b 53 50 43 2c 48  eListW(HDSKSPC,H
b470: 49 4e 46 2c 48 49 4e 46 2c 50 43 57 53 54 52 2c  INF,HINF,PCWSTR,
b480: 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42 4f  PVOID,UINT);..BO
b490: 4f 4c 20 53 65 74 75 70 41 64 64 53 65 63 74 69  OL SetupAddSecti
b4a0: 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73  onToDiskSpaceLis
b4b0: 74 41 28 48 44 53 4b 53 50 43 2c 48 49 4e 46 2c  tA(HDSKSPC,HINF,
b4c0: 48 49 4e 46 2c 50 43 53 54 52 2c 55 49 4e 54 2c  HINF,PCSTR,UINT,
b4d0: 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42 4f  PVOID,UINT);..BO
b4e0: 4f 4c 20 53 65 74 75 70 41 64 64 53 65 63 74 69  OL SetupAddSecti
b4f0: 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73  onToDiskSpaceLis
b500: 74 57 28 48 44 53 4b 53 50 43 2c 48 49 4e 46 2c  tW(HDSKSPC,HINF,
b510: 48 49 4e 46 2c 50 43 57 53 54 52 2c 55 49 4e 54  HINF,PCWSTR,UINT
b520: 2c 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42  ,PVOID,UINT);..B
b530: 4f 4f 4c 20 53 65 74 75 70 41 64 64 54 6f 44 69  OOL SetupAddToDi
b540: 73 6b 53 70 61 63 65 4c 69 73 74 41 28 48 44 53  skSpaceListA(HDS
b550: 4b 53 50 43 2c 50 43 53 54 52 2c 4c 4f 4e 47 4c  KSPC,PCSTR,LONGL
b560: 4f 4e 47 2c 55 49 4e 54 2c 50 56 4f 49 44 2c 55  ONG,UINT,PVOID,U
b570: 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  INT);..BOOL Setu
b580: 70 41 64 64 54 6f 44 69 73 6b 53 70 61 63 65 4c  pAddToDiskSpaceL
b590: 69 73 74 57 28 48 44 53 4b 53 50 43 2c 50 43 57  istW(HDSKSPC,PCW
b5a0: 53 54 52 2c 4c 4f 4e 47 4c 4f 4e 47 2c 55 49 4e  STR,LONGLONG,UIN
b5b0: 54 2c 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09  T,PVOID,UINT);..
b5c0: 42 4f 4f 4c 20 53 65 74 75 70 41 64 64 54 6f 53  BOOL SetupAddToS
b5d0: 6f 75 72 63 65 4c 69 73 74 41 28 44 57 4f 52 44  ourceListA(DWORD
b5e0: 2c 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53  ,PCSTR);..BOOL S
b5f0: 65 74 75 70 41 64 64 54 6f 53 6f 75 72 63 65 4c  etupAddToSourceL
b600: 69 73 74 57 28 44 57 4f 52 44 2c 50 43 57 53 54  istW(DWORD,PCWST
b610: 52 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51  R);..BOOL SetupQ
b620: 75 65 72 79 53 6f 75 72 63 65 4c 69 73 74 41 28  uerySourceListA(
b630: 44 57 4f 52 44 2c 50 43 53 54 52 2a 2a 4c 69 73  DWORD,PCSTR**Lis
b640: 74 2c 50 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20  t,PUINT);..BOOL 
b650: 53 65 74 75 70 51 75 65 72 79 53 6f 75 72 63 65  SetupQuerySource
b660: 4c 69 73 74 57 28 44 57 4f 52 44 2c 50 43 57 53  ListW(DWORD,PCWS
b670: 54 52 2a 2a 4c 69 73 74 2c 50 55 49 4e 54 29 3b  TR**List,PUINT);
b680: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 46 72 65 65  ..BOOL SetupFree
b690: 53 6f 75 72 63 65 4c 69 73 74 41 28 50 43 53 54  SourceListA(PCST
b6a0: 52 2a 2a 4c 69 73 74 2c 55 49 4e 54 29 3b 0a 09  R**List,UINT);..
b6b0: 42 4f 4f 4c 20 53 65 74 75 70 46 72 65 65 53 6f  BOOL SetupFreeSo
b6c0: 75 72 63 65 4c 69 73 74 57 28 50 43 57 53 54 52  urceListW(PCWSTR
b6d0: 2a 2a 4c 69 73 74 2c 55 49 4e 54 29 3b 0a 09 42  **List,UINT);..B
b6e0: 4f 4f 4c 20 53 65 74 75 70 41 64 6a 75 73 74 44  OOL SetupAdjustD
b6f0: 69 73 6b 53 70 61 63 65 4c 69 73 74 41 28 48 44  iskSpaceListA(HD
b700: 53 4b 53 50 43 2c 4c 50 43 53 54 52 2c 4c 4f 4e  SKSPC,LPCSTR,LON
b710: 47 4c 4f 4e 47 2c 50 56 4f 49 44 2c 55 49 4e 54  GLONG,PVOID,UINT
b720: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 41 64  );..BOOL SetupAd
b730: 6a 75 73 74 44 69 73 6b 53 70 61 63 65 4c 69 73  justDiskSpaceLis
b740: 74 57 28 48 44 53 4b 53 50 43 2c 4c 50 43 57 53  tW(HDSKSPC,LPCWS
b750: 54 52 2c 4c 4f 4e 47 4c 4f 4e 47 2c 50 56 4f 49  TR,LONGLONG,PVOI
b760: 44 2c 55 49 4e 54 29 3b 0a 09 55 49 4e 54 20 53  D,UINT);..UINT S
b770: 65 74 75 70 42 61 63 6b 75 70 45 72 72 6f 72 41  etupBackupErrorA
b780: 28 48 57 4e 44 2c 50 43 53 54 52 2c 50 43 53 54  (HWND,PCSTR,PCST
b790: 52 2c 50 43 53 54 52 2c 55 49 4e 54 2c 44 57 4f  R,PCSTR,UINT,DWO
b7a0: 52 44 29 3b 0a 09 55 49 4e 54 20 53 65 74 75 70  RD);..UINT Setup
b7b0: 42 61 63 6b 75 70 45 72 72 6f 72 57 28 48 57 4e  BackupErrorW(HWN
b7c0: 44 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c  D,PCWSTR,PCWSTR,
b7d0: 50 43 57 53 54 52 2c 55 49 4e 54 2c 44 57 4f 52  PCWSTR,UINT,DWOR
b7e0: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 43  D);..BOOL SetupC
b7f0: 61 6e 63 65 6c 54 65 6d 70 6f 72 61 72 79 28 29  ancelTemporary()
b800: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 43 6c 6f  ;..BOOL SetupClo
b810: 73 65 46 69 6c 65 51 75 65 75 65 28 48 53 50 46  seFileQueue(HSPF
b820: 49 4c 45 51 29 3b 0a 09 56 4f 49 44 20 53 65 74  ILEQ);..VOID Set
b830: 75 70 43 6c 6f 73 65 49 6e 66 46 69 6c 65 28 48  upCloseInfFile(H
b840: 49 4e 46 29 3b 0a 09 56 4f 49 44 20 53 65 74 75  INF);..VOID Setu
b850: 70 43 6c 6f 73 65 4c 6f 67 28 29 3b 0a 09 42 4f  pCloseLog();..BO
b860: 4f 4c 20 53 65 74 75 70 43 6f 6d 6d 69 74 46 69  OL SetupCommitFi
b870: 6c 65 51 75 65 75 65 41 28 48 57 4e 44 2c 48 53  leQueueA(HWND,HS
b880: 50 46 49 4c 45 51 2c 50 53 50 5f 46 49 4c 45 5f  PFILEQ,PSP_FILE_
b890: 43 41 4c 4c 42 41 43 4b 5f 41 2c 50 56 4f 49 44  CALLBACK_A,PVOID
b8a0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 43 6f  );..BOOL SetupCo
b8b0: 6d 6d 69 74 46 69 6c 65 51 75 65 75 65 57 28 48  mmitFileQueueW(H
b8c0: 57 4e 44 2c 48 53 50 46 49 4c 45 51 2c 50 53 50  WND,HSPFILEQ,PSP
b8d0: 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f 57  _FILE_CALLBACK_W
b8e0: 2c 50 56 4f 49 44 29 3b 0a 09 55 49 4e 54 20 53  ,PVOID);..UINT S
b8f0: 65 74 75 70 43 6f 70 79 45 72 72 6f 72 41 28 48  etupCopyErrorA(H
b900: 57 4e 44 2c 50 43 53 54 52 2c 50 43 53 54 52 2c  WND,PCSTR,PCSTR,
b910: 50 43 53 54 52 2c 50 43 53 54 52 2c 50 43 53 54  PCSTR,PCSTR,PCST
b920: 52 2c 55 49 4e 54 2c 44 57 4f 52 44 2c 50 53 54  R,UINT,DWORD,PST
b930: 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b  R,DWORD,PDWORD);
b940: 0a 09 55 49 4e 54 20 53 65 74 75 70 43 6f 70 79  ..UINT SetupCopy
b950: 45 72 72 6f 72 57 28 48 57 4e 44 2c 50 43 57 53  ErrorW(HWND,PCWS
b960: 54 52 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52  TR,PCWSTR,PCWSTR
b970: 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 55  ,PCWSTR,PCWSTR,U
b980: 49 4e 54 2c 44 57 4f 52 44 2c 50 57 53 54 52 2c  INT,DWORD,PWSTR,
b990: 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09  DWORD,PDWORD);..
b9a0: 42 4f 4f 4c 20 53 65 74 75 70 43 6f 70 79 4f 45  BOOL SetupCopyOE
b9b0: 4d 49 6e 66 41 28 50 43 53 54 52 2c 50 43 53 54  MInfA(PCSTR,PCST
b9c0: 52 2c 44 57 4f 52 44 2c 44 57 4f 52 44 2c 50 53  R,DWORD,DWORD,PS
b9d0: 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c  TR,DWORD,PDWORD,
b9e0: 50 53 54 52 2a 29 3b 0a 09 42 4f 4f 4c 20 53 65  PSTR*);..BOOL Se
b9f0: 74 75 70 43 6f 70 79 4f 45 4d 49 6e 66 57 28 50  tupCopyOEMInfW(P
ba00: 43 57 53 54 52 2c 50 43 57 53 54 52 2c 44 57 4f  CWSTR,PCWSTR,DWO
ba10: 52 44 2c 44 57 4f 52 44 2c 50 57 53 54 52 2c 44  RD,DWORD,PWSTR,D
ba20: 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 57 53 54  WORD,PDWORD,PWST
ba30: 52 2a 29 3b 0a 09 48 44 53 4b 53 50 43 20 53 65  R*);..HDSKSPC Se
ba40: 74 75 70 43 72 65 61 74 65 44 69 73 6b 53 70 61  tupCreateDiskSpa
ba50: 63 65 4c 69 73 74 41 28 50 56 4f 49 44 2c 44 57  ceListA(PVOID,DW
ba60: 4f 52 44 2c 55 49 4e 54 29 3b 0a 09 48 44 53 4b  ORD,UINT);..HDSK
ba70: 53 50 43 20 53 65 74 75 70 43 72 65 61 74 65 44  SPC SetupCreateD
ba80: 69 73 6b 53 70 61 63 65 4c 69 73 74 57 28 50 56  iskSpaceListW(PV
ba90: 4f 49 44 2c 44 57 4f 52 44 2c 55 49 4e 54 29 3b  OID,DWORD,UINT);
baa0: 0a 09 44 57 4f 52 44 20 53 65 74 75 70 44 65 63  ..DWORD SetupDec
bab0: 6f 6d 70 72 65 73 73 4f 72 43 6f 70 79 46 69 6c  ompressOrCopyFil
bac0: 65 41 28 50 43 53 54 52 2c 50 43 53 54 52 2c 50  eA(PCSTR,PCSTR,P
bad0: 55 49 4e 54 29 3b 0a 09 44 57 4f 52 44 20 53 65  UINT);..DWORD Se
bae0: 74 75 70 44 65 63 6f 6d 70 72 65 73 73 4f 72 43  tupDecompressOrC
baf0: 6f 70 79 46 69 6c 65 57 28 50 43 57 53 54 52 2c  opyFileW(PCWSTR,
bb00: 50 43 57 53 54 52 2c 50 55 49 4e 54 29 3b 0a 09  PCWSTR,PUINT);..
bb10: 55 49 4e 54 20 53 65 74 75 70 44 65 66 61 75 6c  UINT SetupDefaul
bb20: 74 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 41 28  tQueueCallbackA(
bb30: 50 56 4f 49 44 2c 55 49 4e 54 2c 55 49 4e 54 5f  PVOID,UINT,UINT_
bb40: 50 54 52 2c 55 49 4e 54 5f 50 54 52 29 3b 0a 09  PTR,UINT_PTR);..
bb50: 55 49 4e 54 20 53 65 74 75 70 44 65 66 61 75 6c  UINT SetupDefaul
bb60: 74 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 57 28  tQueueCallbackW(
bb70: 50 56 4f 49 44 2c 55 49 4e 54 2c 55 49 4e 54 5f  PVOID,UINT,UINT_
bb80: 50 54 52 2c 55 49 4e 54 5f 50 54 52 29 3b 0a 09  PTR,UINT_PTR);..
bb90: 55 49 4e 54 20 53 65 74 75 70 44 65 6c 65 74 65  UINT SetupDelete
bba0: 45 72 72 6f 72 41 28 48 57 4e 44 2c 50 43 53 54  ErrorA(HWND,PCST
bbb0: 52 2c 50 43 53 54 52 2c 55 49 4e 54 2c 44 57 4f  R,PCSTR,UINT,DWO
bbc0: 52 44 29 3b 0a 09 55 49 4e 54 20 53 65 74 75 70  RD);..UINT Setup
bbd0: 44 65 6c 65 74 65 45 72 72 6f 72 57 28 48 57 4e  DeleteErrorW(HWN
bbe0: 44 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c  D,PCWSTR,PCWSTR,
bbf0: 55 49 4e 54 2c 44 57 4f 52 44 29 3b 0a 09 42 4f  UINT,DWORD);..BO
bc00: 4f 4c 20 53 65 74 75 70 44 65 73 74 72 6f 79 44  OL SetupDestroyD
bc10: 69 73 6b 53 70 61 63 65 4c 69 73 74 28 48 44 53  iskSpaceList(HDS
bc20: 4b 53 50 43 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  KSPC);..BOOL Set
bc30: 75 70 44 69 41 73 6b 46 6f 72 4f 45 4d 44 69 73  upDiAskForOEMDis
bc40: 6b 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  k(HDEVINFO,PSP_D
bc50: 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42  EVINFO_DATA);..B
bc60: 4f 4f 4c 20 53 65 74 75 70 44 69 42 75 69 6c 64  OOL SetupDiBuild
bc70: 43 6c 61 73 73 49 6e 66 6f 4c 69 73 74 28 44 57  ClassInfoList(DW
bc80: 4f 52 44 2c 4c 50 47 55 49 44 2c 44 57 4f 52 44  ORD,LPGUID,DWORD
bc90: 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  ,PDWORD);..BOOL 
bca0: 53 65 74 75 70 44 69 42 75 69 6c 64 43 6c 61 73  SetupDiBuildClas
bcb0: 73 49 6e 66 6f 4c 69 73 74 45 78 41 28 44 57 4f  sInfoListExA(DWO
bcc0: 52 44 2c 4c 50 47 55 49 44 2c 44 57 4f 52 44 2c  RD,LPGUID,DWORD,
bcd0: 50 44 57 4f 52 44 2c 50 43 53 54 52 2c 50 56 4f  PDWORD,PCSTR,PVO
bce0: 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  ID);..BOOL Setup
bcf0: 44 69 42 75 69 6c 64 43 6c 61 73 73 49 6e 66 6f  DiBuildClassInfo
bd00: 4c 69 73 74 45 78 57 28 44 57 4f 52 44 2c 4c 50  ListExW(DWORD,LP
bd10: 47 55 49 44 2c 44 57 4f 52 44 2c 50 44 57 4f 52  GUID,DWORD,PDWOR
bd20: 44 2c 50 43 57 53 54 52 2c 50 56 4f 49 44 29 3b  D,PCWSTR,PVOID);
bd30: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 42 75  ..BOOL SetupDiBu
bd40: 69 6c 64 44 72 69 76 65 72 49 6e 66 6f 4c 69 73  ildDriverInfoLis
bd50: 74 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  t(HDEVINFO,PSP_D
bd60: 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57 4f 52  EVINFO_DATA,DWOR
bd70: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  D);..BOOL SetupD
bd80: 69 43 61 6c 6c 43 6c 61 73 73 49 6e 73 74 61 6c  iCallClassInstal
bd90: 6c 65 72 28 44 49 5f 46 55 4e 43 54 49 4f 4e 2c  ler(DI_FUNCTION,
bda0: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
bdb0: 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f  INFO_DATA);..BOO
bdc0: 4c 20 53 65 74 75 70 44 69 43 61 6e 63 65 6c 44  L SetupDiCancelD
bdd0: 72 69 76 65 72 49 6e 66 6f 53 65 61 72 63 68 28  riverInfoSearch(
bde0: 48 44 45 56 49 4e 46 4f 29 3b 0a 09 42 4f 4f 4c  HDEVINFO);..BOOL
bdf0: 20 53 65 74 75 70 44 69 43 68 61 6e 67 65 53 74   SetupDiChangeSt
be00: 61 74 65 28 48 44 45 56 49 4e 46 4f 2c 50 53 50  ate(HDEVINFO,PSP
be10: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a  _DEVINFO_DATA);.
be20: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 43 6c 61  .BOOL SetupDiCla
be30: 73 73 47 75 69 64 73 46 72 6f 6d 4e 61 6d 65 41  ssGuidsFromNameA
be40: 28 50 43 53 54 52 2c 4c 50 47 55 49 44 2c 44 57  (PCSTR,LPGUID,DW
be50: 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD,PDWORD);..BO
be60: 4f 4c 20 53 65 74 75 70 44 69 43 6c 61 73 73 47  OL SetupDiClassG
be70: 75 69 64 73 46 72 6f 6d 4e 61 6d 65 57 28 50 43  uidsFromNameW(PC
be80: 57 53 54 52 2c 4c 50 47 55 49 44 2c 44 57 4f 52  WSTR,LPGUID,DWOR
be90: 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D,PDWORD);..BOOL
bea0: 20 53 65 74 75 70 44 69 43 6c 61 73 73 47 75 69   SetupDiClassGui
beb0: 64 73 46 72 6f 6d 4e 61 6d 65 45 78 41 28 50 43  dsFromNameExA(PC
bec0: 53 54 52 2c 4c 50 47 55 49 44 2c 44 57 4f 52 44  STR,LPGUID,DWORD
bed0: 2c 50 44 57 4f 52 44 2c 50 43 53 54 52 2c 50 56  ,PDWORD,PCSTR,PV
bee0: 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  OID);..BOOL Setu
bef0: 70 44 69 43 6c 61 73 73 47 75 69 64 73 46 72 6f  pDiClassGuidsFro
bf00: 6d 4e 61 6d 65 45 78 57 28 50 43 57 53 54 52 2c  mNameExW(PCWSTR,
bf10: 4c 50 47 55 49 44 2c 44 57 4f 52 44 2c 50 44 57  LPGUID,DWORD,PDW
bf20: 4f 52 44 2c 50 43 57 53 54 52 2c 50 56 4f 49 44  ORD,PCWSTR,PVOID
bf30: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
bf40: 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75 69  ClassNameFromGui
bf50: 64 41 28 43 50 74 72 21 28 47 55 49 44 29 2c 50  dA(CPtr!(GUID),P
bf60: 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44  STR,DWORD,PDWORD
bf70: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
bf80: 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75 69  ClassNameFromGui
bf90: 64 57 28 43 50 74 72 21 28 47 55 49 44 29 2c 50  dW(CPtr!(GUID),P
bfa0: 57 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52  WSTR,DWORD,PDWOR
bfb0: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  D);..BOOL SetupD
bfc0: 69 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75  iClassNameFromGu
bfd0: 69 64 45 78 41 28 43 50 74 72 21 28 47 55 49 44  idExA(CPtr!(GUID
bfe0: 29 2c 50 53 54 52 2c 44 57 4f 52 44 2c 50 44 57  ),PSTR,DWORD,PDW
bff0: 4f 52 44 2c 50 43 53 54 52 2c 50 56 4f 49 44 29  ORD,PCSTR,PVOID)
c000: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 43  ;..BOOL SetupDiC
c010: 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75 69 64  lassNameFromGuid
c020: 45 78 57 28 43 50 74 72 21 28 47 55 49 44 29 2c  ExW(CPtr!(GUID),
c030: 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f  PWSTR,DWORD,PDWO
c040: 52 44 2c 50 43 57 53 54 52 2c 50 56 4f 49 44 29  RD,PCWSTR,PVOID)
c050: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 43  ;..BOOL SetupDiC
c060: 72 65 61 74 65 44 65 76 69 63 65 49 6e 66 6f 41  reateDeviceInfoA
c070: 28 48 44 45 56 49 4e 46 4f 2c 50 43 53 54 52 2c  (HDEVINFO,PCSTR,
c080: 43 50 74 72 21 28 47 55 49 44 29 2c 50 43 53 54  CPtr!(GUID),PCST
c090: 52 2c 48 57 4e 44 2c 44 57 4f 52 44 2c 50 53 50  R,HWND,DWORD,PSP
c0a0: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a  _DEVINFO_DATA);.
c0b0: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 43 72 65  .BOOL SetupDiCre
c0c0: 61 74 65 44 65 76 69 63 65 49 6e 66 6f 57 28 48  ateDeviceInfoW(H
c0d0: 44 45 56 49 4e 46 4f 2c 50 43 57 53 54 52 2c 43  DEVINFO,PCWSTR,C
c0e0: 50 74 72 21 28 47 55 49 44 29 2c 50 43 57 53 54  Ptr!(GUID),PCWST
c0f0: 52 2c 48 57 4e 44 2c 44 57 4f 52 44 2c 50 53 50  R,HWND,DWORD,PSP
c100: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a  _DEVINFO_DATA);.
c110: 09 48 44 45 56 49 4e 46 4f 20 53 65 74 75 70 44  .HDEVINFO SetupD
c120: 69 43 72 65 61 74 65 44 65 76 69 63 65 49 6e 66  iCreateDeviceInf
c130: 6f 4c 69 73 74 28 43 50 74 72 21 28 47 55 49 44  oList(CPtr!(GUID
c140: 29 2c 48 57 4e 44 29 3b 0a 09 48 44 45 56 49 4e  ),HWND);..HDEVIN
c150: 46 4f 20 53 65 74 75 70 44 69 43 72 65 61 74 65  FO SetupDiCreate
c160: 44 65 76 69 63 65 49 6e 66 6f 4c 69 73 74 45 78  DeviceInfoListEx
c170: 41 28 43 50 74 72 21 28 47 55 49 44 29 2c 48 57  A(CPtr!(GUID),HW
c180: 4e 44 2c 50 43 53 54 52 2c 50 56 4f 49 44 29 3b  ND,PCSTR,PVOID);
c190: 0a 09 48 44 45 56 49 4e 46 4f 20 53 65 74 75 70  ..HDEVINFO Setup
c1a0: 44 69 43 72 65 61 74 65 44 65 76 69 63 65 49 6e  DiCreateDeviceIn
c1b0: 66 6f 4c 69 73 74 45 78 57 28 43 50 74 72 21 28  foListExW(CPtr!(
c1c0: 47 55 49 44 29 2c 48 57 4e 44 2c 50 43 57 53 54  GUID),HWND,PCWST
c1d0: 52 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20  R,PVOID);..BOOL 
c1e0: 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65 76  SetupDiCreateDev
c1f0: 69 63 65 49 6e 74 65 72 66 61 63 65 41 28 48 44  iceInterfaceA(HD
c200: 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e  EVINFO,PSP_DEVIN
c210: 46 4f 5f 44 41 54 41 2c 43 50 74 72 21 28 47 55  FO_DATA,CPtr!(GU
c220: 49 44 29 2c 50 43 53 54 52 2c 44 57 4f 52 44 2c  ID),PCSTR,DWORD,
c230: 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52  PSP_DEVICE_INTER
c240: 46 41 43 45 5f 44 41 54 41 29 3b 0a 09 42 4f 4f  FACE_DATA);..BOO
c250: 4c 20 53 65 74 75 70 44 69 43 72 65 61 74 65 44  L SetupDiCreateD
c260: 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 57 28  eviceInterfaceW(
c270: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
c280: 49 4e 46 4f 5f 44 41 54 41 2c 43 50 74 72 21 28  INFO_DATA,CPtr!(
c290: 47 55 49 44 29 2c 50 43 57 53 54 52 2c 44 57 4f  GUID),PCWSTR,DWO
c2a0: 52 44 2c 50 53 50 5f 44 45 56 49 43 45 5f 49 4e  RD,PSP_DEVICE_IN
c2b0: 54 45 52 46 41 43 45 5f 44 41 54 41 29 3b 0a 09  TERFACE_DATA);..
c2c0: 48 4b 45 59 20 53 65 74 75 70 44 69 43 72 65 61  HKEY SetupDiCrea
c2d0: 74 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63  teDeviceInterfac
c2e0: 65 52 65 67 4b 65 79 41 28 48 44 45 56 49 4e 46  eRegKeyA(HDEVINF
c2f0: 4f 2c 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54  O,PSP_DEVICE_INT
c300: 45 52 46 41 43 45 5f 44 41 54 41 2c 44 57 4f 52  ERFACE_DATA,DWOR
c310: 44 2c 52 45 47 53 41 4d 2c 48 49 4e 46 2c 50 43  D,REGSAM,HINF,PC
c320: 53 54 52 29 3b 0a 09 48 4b 45 59 20 53 65 74 75  STR);..HKEY Setu
c330: 70 44 69 43 72 65 61 74 65 44 65 76 69 63 65 49  pDiCreateDeviceI
c340: 6e 74 65 72 66 61 63 65 52 65 67 4b 65 79 57 28  nterfaceRegKeyW(
c350: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
c360: 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 41  ICE_INTERFACE_DA
c370: 54 41 2c 44 57 4f 52 44 2c 52 45 47 53 41 4d 2c  TA,DWORD,REGSAM,
c380: 48 49 4e 46 2c 50 43 57 53 54 52 29 3b 0a 09 48  HINF,PCWSTR);..H
c390: 4b 45 59 20 53 65 74 75 70 44 69 43 72 65 61 74  KEY SetupDiCreat
c3a0: 65 44 65 76 52 65 67 4b 65 79 41 28 48 44 45 56  eDevRegKeyA(HDEV
c3b0: 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f  INFO,PSP_DEVINFO
c3c0: 5f 44 41 54 41 2c 44 57 4f 52 44 2c 44 57 4f 52  _DATA,DWORD,DWOR
c3d0: 44 2c 44 57 4f 52 44 2c 48 49 4e 46 2c 50 43 53  D,DWORD,HINF,PCS
c3e0: 54 52 29 3b 0a 09 48 4b 45 59 20 53 65 74 75 70  TR);..HKEY Setup
c3f0: 44 69 43 72 65 61 74 65 44 65 76 52 65 67 4b 65  DiCreateDevRegKe
c400: 79 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  yW(HDEVINFO,PSP_
c410: 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57 4f  DEVINFO_DATA,DWO
c420: 52 44 2c 44 57 4f 52 44 2c 44 57 4f 52 44 2c 48  RD,DWORD,DWORD,H
c430: 49 4e 46 2c 50 43 57 53 54 52 29 3b 0a 09 42 4f  INF,PCWSTR);..BO
c440: 4f 4c 20 53 65 74 75 70 44 69 44 65 6c 65 74 65  OL SetupDiDelete
c450: 44 65 76 69 63 65 49 6e 66 6f 28 48 44 45 56 49  DeviceInfo(HDEVI
c460: 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f  NFO,PSP_DEVINFO_
c470: 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  DATA);..BOOL Set
c480: 75 70 44 69 44 65 6c 65 74 65 44 65 76 69 63 65  upDiDeleteDevice
c490: 49 6e 74 65 72 66 61 63 65 44 61 74 61 28 48 44  InterfaceData(HD
c4a0: 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 43  EVINFO,PSP_DEVIC
c4b0: 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 41 54 41  E_INTERFACE_DATA
c4c0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
c4d0: 44 65 6c 65 74 65 44 65 76 69 63 65 49 6e 74 65  DeleteDeviceInte
c4e0: 72 66 61 63 65 52 65 67 4b 65 79 28 48 44 45 56  rfaceRegKey(HDEV
c4f0: 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 43 45 5f  INFO,PSP_DEVICE_
c500: 49 4e 54 45 52 46 41 43 45 5f 44 41 54 41 2c 44  INTERFACE_DATA,D
c510: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
c520: 75 70 44 69 44 65 6c 65 74 65 44 65 76 52 65 67  upDiDeleteDevReg
c530: 4b 65 79 28 48 44 45 56 49 4e 46 4f 2c 50 53 50  Key(HDEVINFO,PSP
c540: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57  _DEVINFO_DATA,DW
c550: 4f 52 44 2c 44 57 4f 52 44 2c 44 57 4f 52 44 29  ORD,DWORD,DWORD)
c560: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 44  ;..BOOL SetupDiD
c570: 65 73 74 72 6f 79 43 6c 61 73 73 49 6d 61 67 65  estroyClassImage
c580: 4c 69 73 74 28 50 53 50 5f 43 4c 41 53 53 49 4d  List(PSP_CLASSIM
c590: 41 47 45 4c 49 53 54 5f 44 41 54 41 29 3b 0a 09  AGELIST_DATA);..
c5a0: 42 4f 4f 4c 20 53 65 74 75 70 44 69 44 65 73 74  BOOL SetupDiDest
c5b0: 72 6f 79 44 65 76 69 63 65 49 6e 66 6f 4c 69 73  royDeviceInfoLis
c5c0: 74 28 48 44 45 56 49 4e 46 4f 29 3b 0a 09 42 4f  t(HDEVINFO);..BO
c5d0: 4f 4c 20 53 65 74 75 70 44 69 44 65 73 74 72 6f  OL SetupDiDestro
c5e0: 79 44 72 69 76 65 72 49 6e 66 6f 4c 69 73 74 28  yDriverInfoList(
c5f0: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
c600: 49 4e 46 4f 5f 44 41 54 41 2c 44 57 4f 52 44 29  INFO_DATA,DWORD)
c610: 3b 0a 09 49 4e 54 20 53 65 74 75 70 44 69 44 72  ;..INT SetupDiDr
c620: 61 77 4d 69 6e 69 49 63 6f 6e 28 48 44 43 2c 52  awMiniIcon(HDC,R
c630: 45 43 54 2c 49 4e 54 2c 44 57 4f 52 44 29 3b 0a  ECT,INT,DWORD);.
c640: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 45 6e 75  .BOOL SetupDiEnu
c650: 6d 44 65 76 69 63 65 49 6e 66 6f 28 48 44 45 56  mDeviceInfo(HDEV
c660: 49 4e 46 4f 2c 44 57 4f 52 44 2c 50 53 50 5f 44  INFO,DWORD,PSP_D
c670: 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42  EVINFO_DATA);..B
c680: 4f 4f 4c 20 53 65 74 75 70 44 69 45 6e 75 6d 44  OOL SetupDiEnumD
c690: 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 73 28  eviceInterfaces(
c6a0: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
c6b0: 49 4e 46 4f 5f 44 41 54 41 2c 43 50 74 72 21 28  INFO_DATA,CPtr!(
c6c0: 47 55 49 44 29 2c 44 57 4f 52 44 2c 50 53 50 5f  GUID),DWORD,PSP_
c6d0: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
c6e0: 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65  _DATA);..BOOL Se
c6f0: 74 75 70 44 69 45 6e 75 6d 44 72 69 76 65 72 49  tupDiEnumDriverI
c700: 6e 66 6f 41 28 48 44 45 56 49 4e 46 4f 2c 50 53  nfoA(HDEVINFO,PS
c710: 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44  P_DEVINFO_DATA,D
c720: 57 4f 52 44 2c 44 57 4f 52 44 2c 50 53 50 5f 44  WORD,DWORD,PSP_D
c730: 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41 29 3b 0a  RVINFO_DATA_A);.
c740: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 45 6e 75  .BOOL SetupDiEnu
c750: 6d 44 72 69 76 65 72 49 6e 66 6f 57 28 48 44 45  mDriverInfoW(HDE
c760: 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46  VINFO,PSP_DEVINF
c770: 4f 5f 44 41 54 41 2c 44 57 4f 52 44 2c 44 57 4f  O_DATA,DWORD,DWO
c780: 52 44 2c 50 53 50 5f 44 52 56 49 4e 46 4f 5f 44  RD,PSP_DRVINFO_D
c790: 41 54 41 5f 57 29 3b 0a 09 42 4f 4f 4c 20 53 65  ATA_W);..BOOL Se
c7a0: 74 75 70 44 69 47 65 74 41 63 74 75 61 6c 53 65  tupDiGetActualSe
c7b0: 63 74 69 6f 6e 54 6f 49 6e 73 74 61 6c 6c 41 28  ctionToInstallA(
c7c0: 48 49 4e 46 2c 50 43 53 54 52 2c 50 53 54 52 2c  HINF,PCSTR,PSTR,
c7d0: 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 53 54  DWORD,PDWORD,PST
c7e0: 52 2a 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  R*);..BOOL Setup
c7f0: 44 69 47 65 74 41 63 74 75 61 6c 53 65 63 74 69  DiGetActualSecti
c800: 6f 6e 54 6f 49 6e 73 74 61 6c 6c 57 28 48 49 4e  onToInstallW(HIN
c810: 46 2c 50 43 57 53 54 52 2c 50 57 53 54 52 2c 44  F,PCWSTR,PWSTR,D
c820: 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 57 53 54  WORD,PDWORD,PWST
c830: 52 2a 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  R*);..BOOL Setup
c840: 44 69 47 65 74 43 6c 61 73 73 42 69 74 6d 61 70  DiGetClassBitmap
c850: 49 6e 64 65 78 28 43 50 74 72 21 28 47 55 49 44  Index(CPtr!(GUID
c860: 29 2c 50 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53  ),PINT);..BOOL S
c870: 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65  etupDiGetClassDe
c880: 73 63 72 69 70 74 69 6f 6e 41 28 43 50 74 72 21  scriptionA(CPtr!
c890: 28 47 55 49 44 29 2c 50 53 54 52 2c 44 57 4f 52  (GUID),PSTR,DWOR
c8a0: 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D,PDWORD);..BOOL
c8b0: 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73   SetupDiGetClass
c8c0: 44 65 73 63 72 69 70 74 69 6f 6e 57 28 43 50 74  DescriptionW(CPt
c8d0: 72 21 28 47 55 49 44 29 2c 50 57 53 54 52 2c 44  r!(GUID),PWSTR,D
c8e0: 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42  WORD,PDWORD);..B
c8f0: 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74 43 6c  OOL SetupDiGetCl
c900: 61 73 73 44 65 73 63 72 69 70 74 69 6f 6e 45 78  assDescriptionEx
c910: 41 28 43 50 74 72 21 28 47 55 49 44 29 2c 50 53  A(CPtr!(GUID),PS
c920: 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c  TR,DWORD,PDWORD,
c930: 50 43 53 54 52 2c 50 56 4f 49 44 29 3b 0a 09 42  PCSTR,PVOID);..B
c940: 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74 43 6c  OOL SetupDiGetCl
c950: 61 73 73 44 65 73 63 72 69 70 74 69 6f 6e 45 78  assDescriptionEx
c960: 57 28 43 50 74 72 21 28 47 55 49 44 29 2c 50 57  W(CPtr!(GUID),PW
c970: 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44  STR,DWORD,PDWORD
c980: 2c 50 43 57 53 54 52 2c 50 56 4f 49 44 29 3b 0a  ,PCWSTR,PVOID);.
c990: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74  .BOOL SetupDiGet
c9a0: 43 6c 61 73 73 44 65 76 50 72 6f 70 65 72 74 79  ClassDevProperty
c9b0: 53 68 65 65 74 73 41 28 48 44 45 56 49 4e 46 4f  SheetsA(HDEVINFO
c9c0: 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54  ,PSP_DEVINFO_DAT
c9d0: 41 2c 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41  A,LPPROPSHEETHEA
c9e0: 44 45 52 41 2c 44 57 4f 52 44 2c 50 44 57 4f 52  DERA,DWORD,PDWOR
c9f0: 44 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  D,DWORD);..BOOL 
ca00: 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44  SetupDiGetClassD
ca10: 65 76 50 72 6f 70 65 72 74 79 53 68 65 65 74 73  evPropertySheets
ca20: 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  W(HDEVINFO,PSP_D
ca30: 45 56 49 4e 46 4f 5f 44 41 54 41 2c 4c 50 50 52  EVINFO_DATA,LPPR
ca40: 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 2c 44  OPSHEETHEADERW,D
ca50: 57 4f 52 44 2c 50 44 57 4f 52 44 2c 44 57 4f 52  WORD,PDWORD,DWOR
ca60: 44 29 3b 0a 09 48 44 45 56 49 4e 46 4f 20 53 65  D);..HDEVINFO Se
ca70: 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65 76  tupDiGetClassDev
ca80: 73 41 28 43 50 74 72 21 28 47 55 49 44 29 2c 50  sA(CPtr!(GUID),P
ca90: 43 53 54 52 2c 48 57 4e 44 2c 44 57 4f 52 44 29  CSTR,HWND,DWORD)
caa0: 3b 0a 09 48 44 45 56 49 4e 46 4f 20 53 65 74 75  ;..HDEVINFO Setu
cab0: 70 44 69 47 65 74 43 6c 61 73 73 44 65 76 73 57  pDiGetClassDevsW
cac0: 28 43 50 74 72 21 28 47 55 49 44 29 2c 50 43 57  (CPtr!(GUID),PCW
cad0: 53 54 52 2c 48 57 4e 44 2c 44 57 4f 52 44 29 3b  STR,HWND,DWORD);
cae0: 0a 09 48 44 45 56 49 4e 46 4f 20 53 65 74 75 70  ..HDEVINFO Setup
caf0: 44 69 47 65 74 43 6c 61 73 73 44 65 76 73 45 78  DiGetClassDevsEx
cb00: 41 28 43 50 74 72 21 28 47 55 49 44 29 2c 50 43  A(CPtr!(GUID),PC
cb10: 53 54 52 2c 48 57 4e 44 2c 44 57 4f 52 44 2c 48  STR,HWND,DWORD,H
cb20: 44 45 56 49 4e 46 4f 2c 50 43 53 54 52 2c 50 56  DEVINFO,PCSTR,PV
cb30: 4f 49 44 29 3b 0a 09 48 44 45 56 49 4e 46 4f 20  OID);..HDEVINFO 
cb40: 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44  SetupDiGetClassD
cb50: 65 76 73 45 78 57 28 43 50 74 72 21 28 47 55 49  evsExW(CPtr!(GUI
cb60: 44 29 2c 50 43 57 53 54 52 2c 48 57 4e 44 2c 44  D),PCWSTR,HWND,D
cb70: 57 4f 52 44 2c 48 44 45 56 49 4e 46 4f 2c 50 43  WORD,HDEVINFO,PC
cb80: 57 53 54 52 2c 50 56 4f 49 44 29 3b 0a 09 42 4f  WSTR,PVOID);..BO
cb90: 4f 4c 20 53 65 74 75 70 44 69 47 65 74 43 6c 61  OL SetupDiGetCla
cba0: 73 73 49 6d 61 67 65 49 6e 64 65 78 28 50 53 50  ssImageIndex(PSP
cbb0: 5f 43 4c 41 53 53 49 4d 41 47 45 4c 49 53 54 5f  _CLASSIMAGELIST_
cbc0: 44 41 54 41 2c 43 50 74 72 21 28 47 55 49 44 29  DATA,CPtr!(GUID)
cbd0: 2c 50 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65  ,PINT);..BOOL Se
cbe0: 74 75 70 44 69 47 65 74 43 6c 61 73 73 49 6d 61  tupDiGetClassIma
cbf0: 67 65 4c 69 73 74 28 50 53 50 5f 43 4c 41 53 53  geList(PSP_CLASS
cc00: 49 4d 41 47 45 4c 49 53 54 5f 44 41 54 41 29 3b  IMAGELIST_DATA);
cc10: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47 65  ..BOOL SetupDiGe
cc20: 74 43 6c 61 73 73 49 6d 61 67 65 4c 69 73 74 45  tClassImageListE
cc30: 78 41 28 50 53 50 5f 43 4c 41 53 53 49 4d 41 47  xA(PSP_CLASSIMAG
cc40: 45 4c 49 53 54 5f 44 41 54 41 2c 50 43 53 54 52  ELIST_DATA,PCSTR
cc50: 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53  ,PVOID);..BOOL S
cc60: 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 49 6d  etupDiGetClassIm
cc70: 61 67 65 4c 69 73 74 45 78 57 28 50 53 50 5f 43  ageListExW(PSP_C
cc80: 4c 41 53 53 49 4d 41 47 45 4c 49 53 54 5f 44 41  LASSIMAGELIST_DA
cc90: 54 41 2c 50 43 57 53 54 52 2c 50 56 4f 49 44 29  TA,PCWSTR,PVOID)
cca0: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47  ;..BOOL SetupDiG
ccb0: 65 74 43 6c 61 73 73 49 6e 73 74 61 6c 6c 50 61  etClassInstallPa
ccc0: 72 61 6d 73 41 28 48 44 45 56 49 4e 46 4f 2c 50  ramsA(HDEVINFO,P
ccd0: 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c  SP_DEVINFO_DATA,
cce0: 50 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c 4c  PSP_CLASSINSTALL
ccf0: 5f 48 45 41 44 45 52 2c 44 57 4f 52 44 2c 50 44  _HEADER,DWORD,PD
cd00: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
cd10: 75 70 44 69 47 65 74 43 6c 61 73 73 49 6e 73 74  upDiGetClassInst
cd20: 61 6c 6c 50 61 72 61 6d 73 57 28 48 44 45 56 49  allParamsW(HDEVI
cd30: 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f  NFO,PSP_DEVINFO_
cd40: 44 41 54 41 2c 50 53 50 5f 43 4c 41 53 53 49 4e  DATA,PSP_CLASSIN
cd50: 53 54 41 4c 4c 5f 48 45 41 44 45 52 2c 44 57 4f  STALL_HEADER,DWO
cd60: 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  RD,PDWORD);..BOO
cd70: 4c 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73  L SetupDiGetClas
cd80: 73 52 65 67 69 73 74 72 79 50 72 6f 70 65 72 74  sRegistryPropert
cd90: 79 41 28 4c 50 47 55 49 44 2c 44 57 4f 52 44 2c  yA(LPGUID,DWORD,
cda0: 50 44 57 4f 52 44 2c 50 42 59 54 45 2c 44 57 4f  PDWORD,PBYTE,DWO
cdb0: 52 44 2c 50 44 57 4f 52 44 2c 50 43 53 54 52 2c  RD,PDWORD,PCSTR,
cdc0: 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  PVOID);..BOOL Se
cdd0: 74 75 70 44 69 47 65 74 43 6c 61 73 73 52 65 67  tupDiGetClassReg
cde0: 69 73 74 72 79 50 72 6f 70 65 72 74 79 57 28 4c  istryPropertyW(L
cdf0: 50 47 55 49 44 2c 44 57 4f 52 44 2c 50 44 57 4f  PGUID,DWORD,PDWO
ce00: 52 44 2c 50 42 59 54 45 2c 44 57 4f 52 44 2c 50  RD,PBYTE,DWORD,P
ce10: 44 57 4f 52 44 2c 50 43 57 53 54 52 2c 50 56 4f  DWORD,PCWSTR,PVO
ce20: 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  ID);..BOOL Setup
ce30: 44 69 47 65 74 44 65 76 69 63 65 49 6e 66 6f 4c  DiGetDeviceInfoL
ce40: 69 73 74 43 6c 61 73 73 28 48 44 45 56 49 4e 46  istClass(HDEVINF
ce50: 4f 2c 4c 50 47 55 49 44 29 3b 0a 09 42 4f 4f 4c  O,LPGUID);..BOOL
ce60: 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69 63   SetupDiGetDevic
ce70: 65 49 6e 66 6f 4c 69 73 74 44 65 74 61 69 6c 41  eInfoListDetailA
ce80: 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45  (HDEVINFO,PSP_DE
ce90: 56 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49  VINFO_LIST_DETAI
cea0: 4c 5f 44 41 54 41 5f 41 29 3b 0a 09 42 4f 4f 4c  L_DATA_A);..BOOL
ceb0: 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69 63   SetupDiGetDevic
cec0: 65 49 6e 66 6f 4c 69 73 74 44 65 74 61 69 6c 57  eInfoListDetailW
ced0: 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45  (HDEVINFO,PSP_DE
cee0: 56 49 4e 46 4f 5f 4c 49 53 54 5f 44 45 54 41 49  VINFO_LIST_DETAI
cef0: 4c 5f 44 41 54 41 5f 57 29 3b 0a 09 42 4f 4f 4c  L_DATA_W);..BOOL
cf00: 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69 63   SetupDiGetDevic
cf10: 65 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 41 28  eInstallParamsA(
cf20: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
cf30: 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50 5f 44 45  INFO_DATA,PSP_DE
cf40: 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 5f  VINSTALL_PARAMS_
cf50: 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  A);..BOOL SetupD
cf60: 69 47 65 74 44 65 76 69 63 65 49 6e 73 74 61 6c  iGetDeviceInstal
cf70: 6c 50 61 72 61 6d 73 57 28 48 44 45 56 49 4e 46  lParamsW(HDEVINF
cf80: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
cf90: 54 41 2c 50 53 50 5f 44 45 56 49 4e 53 54 41 4c  TA,PSP_DEVINSTAL
cfa0: 4c 5f 50 41 52 41 4d 53 5f 57 29 3b 0a 09 42 4f  L_PARAMS_W);..BO
cfb0: 4f 4c 20 53 65 74 75 70 44 69 47 65 74 44 65 76  OL SetupDiGetDev
cfc0: 69 63 65 49 6e 73 74 61 6e 63 65 49 64 41 28 48  iceInstanceIdA(H
cfd0: 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49  DEVINFO,PSP_DEVI
cfe0: 4e 46 4f 5f 44 41 54 41 2c 50 53 54 52 2c 44 57  NFO_DATA,PSTR,DW
cff0: 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD,PDWORD);..BO
d000: 4f 4c 20 53 65 74 75 70 44 69 47 65 74 44 65 76  OL SetupDiGetDev
d010: 69 63 65 49 6e 73 74 61 6e 63 65 49 64 57 28 48  iceInstanceIdW(H
d020: 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49  DEVINFO,PSP_DEVI
d030: 4e 46 4f 5f 44 41 54 41 2c 50 57 53 54 52 2c 44  NFO_DATA,PWSTR,D
d040: 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42  WORD,PDWORD);..B
d050: 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74 44 65  OOL SetupDiGetDe
d060: 76 69 63 65 49 6e 74 65 72 66 61 63 65 41 6c 69  viceInterfaceAli
d070: 61 73 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  as(HDEVINFO,PSP_
d080: 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45  DEVICE_INTERFACE
d090: 5f 44 41 54 41 2c 43 50 74 72 21 28 47 55 49 44  _DATA,CPtr!(GUID
d0a0: 29 2c 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54  ),PSP_DEVICE_INT
d0b0: 45 52 46 41 43 45 5f 44 41 54 41 29 3b 0a 09 42  ERFACE_DATA);..B
d0c0: 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74 44 65  OOL SetupDiGetDe
d0d0: 76 69 63 65 49 6e 74 65 72 66 61 63 65 44 65 74  viceInterfaceDet
d0e0: 61 69 6c 41 28 48 44 45 56 49 4e 46 4f 2c 50 53  ailA(HDEVINFO,PS
d0f0: 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52 46 41  P_DEVICE_INTERFA
d100: 43 45 5f 44 41 54 41 2c 50 53 50 5f 44 45 56 49  CE_DATA,PSP_DEVI
d110: 43 45 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 54  CE_INTERFACE_DET
d120: 41 49 4c 5f 44 41 54 41 5f 41 2c 44 57 4f 52 44  AIL_DATA_A,DWORD
d130: 2c 50 44 57 4f 52 44 2c 50 53 50 5f 44 45 56 49  ,PDWORD,PSP_DEVI
d140: 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c  NFO_DATA);..BOOL
d150: 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69 63   SetupDiGetDevic
d160: 65 49 6e 74 65 72 66 61 63 65 44 65 74 61 69 6c  eInterfaceDetail
d170: 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  W(HDEVINFO,PSP_D
d180: 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f  EVICE_INTERFACE_
d190: 44 41 54 41 2c 50 53 50 5f 44 45 56 49 43 45 5f  DATA,PSP_DEVICE_
d1a0: 49 4e 54 45 52 46 41 43 45 5f 44 45 54 41 49 4c  INTERFACE_DETAIL
d1b0: 5f 44 41 54 41 5f 57 2c 44 57 4f 52 44 2c 50 44  _DATA_W,DWORD,PD
d1c0: 57 4f 52 44 2c 50 53 50 5f 44 45 56 49 4e 46 4f  WORD,PSP_DEVINFO
d1d0: 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65  _DATA);..BOOL Se
d1e0: 74 75 70 44 69 47 65 74 44 65 76 69 63 65 52 65  tupDiGetDeviceRe
d1f0: 67 69 73 74 72 79 50 72 6f 70 65 72 74 79 41 28  gistryPropertyA(
d200: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
d210: 49 4e 46 4f 5f 44 41 54 41 2c 44 57 4f 52 44 2c  INFO_DATA,DWORD,
d220: 50 44 57 4f 52 44 2c 50 42 59 54 45 2c 44 57 4f  PDWORD,PBYTE,DWO
d230: 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  RD,PDWORD);..BOO
d240: 4c 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69  L SetupDiGetDevi
d250: 63 65 52 65 67 69 73 74 72 79 50 72 6f 70 65 72  ceRegistryProper
d260: 74 79 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50  tyW(HDEVINFO,PSP
d270: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57  _DEVINFO_DATA,DW
d280: 4f 52 44 2c 50 44 57 4f 52 44 2c 50 42 59 54 45  ORD,PDWORD,PBYTE
d290: 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a  ,DWORD,PDWORD);.
d2a0: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74  .BOOL SetupDiGet
d2b0: 44 72 69 76 65 72 49 6e 66 6f 44 65 74 61 69 6c  DriverInfoDetail
d2c0: 41 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  A(HDEVINFO,PSP_D
d2d0: 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50 5f  EVINFO_DATA,PSP_
d2e0: 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41 2c 50  DRVINFO_DATA_A,P
d2f0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 45 54 41 49  SP_DRVINFO_DETAI
d300: 4c 5f 44 41 54 41 5f 41 2c 44 57 4f 52 44 2c 50  L_DATA_A,DWORD,P
d310: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
d320: 74 75 70 44 69 47 65 74 44 72 69 76 65 72 49 6e  tupDiGetDriverIn
d330: 66 6f 44 65 74 61 69 6c 57 28 48 44 45 56 49 4e  foDetailW(HDEVIN
d340: 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44  FO,PSP_DEVINFO_D
d350: 41 54 41 2c 50 53 50 5f 44 52 56 49 4e 46 4f 5f  ATA,PSP_DRVINFO_
d360: 44 41 54 41 5f 57 2c 50 53 50 5f 44 52 56 49 4e  DATA_W,PSP_DRVIN
d370: 46 4f 5f 44 45 54 41 49 4c 5f 44 41 54 41 5f 57  FO_DETAIL_DATA_W
d380: 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a  ,DWORD,PDWORD);.
d390: 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74  .BOOL SetupDiGet
d3a0: 44 72 69 76 65 72 49 6e 73 74 61 6c 6c 50 61 72  DriverInstallPar
d3b0: 61 6d 73 41 28 48 44 45 56 49 4e 46 4f 2c 50 53  amsA(HDEVINFO,PS
d3c0: 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50  P_DEVINFO_DATA,P
d3d0: 53 50 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f  SP_DRVINFO_DATA_
d3e0: 41 2c 50 53 50 5f 44 52 56 49 4e 53 54 41 4c 4c  A,PSP_DRVINSTALL
d3f0: 5f 50 41 52 41 4d 53 29 3b 0a 09 42 4f 4f 4c 20  _PARAMS);..BOOL 
d400: 53 65 74 75 70 44 69 47 65 74 44 72 69 76 65 72  SetupDiGetDriver
d410: 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 57 28 48  InstallParamsW(H
d420: 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49  DEVINFO,PSP_DEVI
d430: 4e 46 4f 5f 44 41 54 41 2c 50 53 50 5f 44 52 56  NFO_DATA,PSP_DRV
d440: 49 4e 46 4f 5f 44 41 54 41 5f 57 2c 50 53 50 5f  INFO_DATA_W,PSP_
d450: 44 52 56 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d  DRVINSTALL_PARAM
d460: 53 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  S);..BOOL SetupD
d470: 69 47 65 74 48 77 50 72 6f 66 69 6c 65 46 72 69  iGetHwProfileFri
d480: 65 6e 64 6c 79 4e 61 6d 65 41 28 44 57 4f 52 44  endlyNameA(DWORD
d490: 2c 50 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f  ,PSTR,DWORD,PDWO
d4a0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  RD);..BOOL Setup
d4b0: 44 69 47 65 74 48 77 50 72 6f 66 69 6c 65 46 72  DiGetHwProfileFr
d4c0: 69 65 6e 64 6c 79 4e 61 6d 65 45 78 41 28 44 57  iendlyNameExA(DW
d4d0: 4f 52 44 2c 50 53 54 52 2c 44 57 4f 52 44 2c 50  ORD,PSTR,DWORD,P
d4e0: 44 57 4f 52 44 2c 50 43 53 54 52 2c 50 56 4f 49  DWORD,PCSTR,PVOI
d4f0: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  D);..BOOL SetupD
d500: 69 47 65 74 48 77 50 72 6f 66 69 6c 65 46 72 69  iGetHwProfileFri
d510: 65 6e 64 6c 79 4e 61 6d 65 45 78 57 28 44 57 4f  endlyNameExW(DWO
d520: 52 44 2c 50 57 53 54 52 2c 44 57 4f 52 44 2c 50  RD,PWSTR,DWORD,P
d530: 44 57 4f 52 44 2c 50 43 57 53 54 52 2c 50 56 4f  DWORD,PCWSTR,PVO
d540: 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  ID);..BOOL Setup
d550: 44 69 47 65 74 48 77 50 72 6f 66 69 6c 65 46 72  DiGetHwProfileFr
d560: 69 65 6e 64 6c 79 4e 61 6d 65 57 28 44 57 4f 52  iendlyNameW(DWOR
d570: 44 2c 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 44  D,PWSTR,DWORD,PD
d580: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
d590: 75 70 44 69 47 65 74 48 77 50 72 6f 66 69 6c 65  upDiGetHwProfile
d5a0: 4c 69 73 74 28 50 44 57 4f 52 44 2c 44 57 4f 52  List(PDWORD,DWOR
d5b0: 44 2c 50 44 57 4f 52 44 2c 50 44 57 4f 52 44 29  D,PDWORD,PDWORD)
d5c0: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47  ;..BOOL SetupDiG
d5d0: 65 74 48 77 50 72 6f 66 69 6c 65 4c 69 73 74 45  etHwProfileListE
d5e0: 78 41 28 50 44 57 4f 52 44 2c 44 57 4f 52 44 2c  xA(PDWORD,DWORD,
d5f0: 50 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 43  PDWORD,PDWORD,PC
d600: 53 54 52 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f  STR,PVOID);..BOO
d610: 4c 20 53 65 74 75 70 44 69 47 65 74 48 77 50 72  L SetupDiGetHwPr
d620: 6f 66 69 6c 65 4c 69 73 74 45 78 57 28 50 44 57  ofileListExW(PDW
d630: 4f 52 44 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44  ORD,DWORD,PDWORD
d640: 2c 50 44 57 4f 52 44 2c 50 43 57 53 54 52 2c 50  ,PDWORD,PCWSTR,P
d650: 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  VOID);..BOOL Set
d660: 75 70 44 69 47 65 74 49 4e 46 43 6c 61 73 73 41  upDiGetINFClassA
d670: 28 50 43 53 54 52 2c 4c 50 47 55 49 44 2c 50 53  (PCSTR,LPGUID,PS
d680: 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29  TR,DWORD,PDWORD)
d690: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 47  ;..BOOL SetupDiG
d6a0: 65 74 49 4e 46 43 6c 61 73 73 57 28 50 43 57 53  etINFClassW(PCWS
d6b0: 54 52 2c 4c 50 47 55 49 44 2c 50 57 53 54 52 2c  TR,LPGUID,PWSTR,
d6c0: 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09  DWORD,PDWORD);..
d6d0: 42 4f 4f 4c 20 53 65 74 75 70 44 69 47 65 74 53  BOOL SetupDiGetS
d6e0: 65 6c 65 63 74 65 64 44 65 76 69 63 65 28 48 44  electedDevice(HD
d6f0: 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e  EVINFO,PSP_DEVIN
d700: 46 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20  FO_DATA);..BOOL 
d710: 53 65 74 75 70 44 69 47 65 74 53 65 6c 65 63 74  SetupDiGetSelect
d720: 65 64 44 72 69 76 65 72 41 28 48 44 45 56 49 4e  edDriverA(HDEVIN
d730: 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44  FO,PSP_DEVINFO_D
d740: 41 54 41 2c 50 53 50 5f 44 52 56 49 4e 46 4f 5f  ATA,PSP_DRVINFO_
d750: 44 41 54 41 5f 41 29 3b 0a 09 42 4f 4f 4c 20 53  DATA_A);..BOOL S
d760: 65 74 75 70 44 69 47 65 74 53 65 6c 65 63 74 65  etupDiGetSelecte
d770: 64 44 72 69 76 65 72 57 28 48 44 45 56 49 4e 46  dDriverW(HDEVINF
d780: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
d790: 54 41 2c 50 53 50 5f 44 52 56 49 4e 46 4f 5f 44  TA,PSP_DRVINFO_D
d7a0: 41 54 41 5f 57 29 3b 0a 09 48 50 52 4f 50 53 48  ATA_W);..HPROPSH
d7b0: 45 45 54 50 41 47 45 20 53 65 74 75 70 44 69 47  EETPAGE SetupDiG
d7c0: 65 74 57 69 7a 61 72 64 61 67 65 28 48 44 45 56  etWizardage(HDEV
d7d0: 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f  INFO,PSP_DEVINFO
d7e0: 5f 44 41 54 41 2c 50 53 50 5f 49 4e 53 54 41 4c  _DATA,PSP_INSTAL
d7f0: 4c 57 49 5a 41 52 44 5f 44 41 54 41 2c 44 57 4f  LWIZARD_DATA,DWO
d800: 52 44 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  RD,DWORD);..BOOL
d810: 20 53 65 74 75 70 44 69 49 6e 73 74 61 6c 6c 43   SetupDiInstallC
d820: 6c 61 73 73 41 28 48 57 4e 44 2c 50 43 53 54 52  lassA(HWND,PCSTR
d830: 2c 44 57 4f 52 44 2c 48 53 50 46 49 4c 45 51 29  ,DWORD,HSPFILEQ)
d840: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 49  ;..BOOL SetupDiI
d850: 6e 73 74 61 6c 6c 43 6c 61 73 73 57 28 48 57 4e  nstallClassW(HWN
d860: 44 2c 50 43 57 53 54 52 2c 44 57 4f 52 44 2c 48  D,PCWSTR,DWORD,H
d870: 53 50 46 49 4c 45 51 29 3b 0a 09 42 4f 4f 4c 20  SPFILEQ);..BOOL 
d880: 53 65 74 75 70 44 69 49 6e 73 74 61 6c 6c 43 6c  SetupDiInstallCl
d890: 61 73 73 45 78 41 28 48 57 4e 44 2c 50 43 53 54  assExA(HWND,PCST
d8a0: 52 2c 44 57 4f 52 44 2c 48 53 50 46 49 4c 45 51  R,DWORD,HSPFILEQ
d8b0: 2c 43 50 74 72 21 28 47 55 49 44 29 2c 50 56 4f  ,CPtr!(GUID),PVO
d8c0: 49 44 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c  ID,PVOID);..BOOL
d8d0: 20 53 65 74 75 70 44 69 49 6e 73 74 61 6c 6c 43   SetupDiInstallC
d8e0: 6c 61 73 73 45 78 57 28 48 57 4e 44 2c 50 43 57  lassExW(HWND,PCW
d8f0: 53 54 52 2c 44 57 4f 52 44 2c 48 53 50 46 49 4c  STR,DWORD,HSPFIL
d900: 45 51 2c 43 50 74 72 21 28 47 55 49 44 29 2c 50  EQ,CPtr!(GUID),P
d910: 56 4f 49 44 2c 50 56 4f 49 44 29 3b 0a 09 42 4f  VOID,PVOID);..BO
d920: 4f 4c 20 53 65 74 75 70 44 69 49 6e 73 74 61 6c  OL SetupDiInstal
d930: 6c 44 65 76 69 63 65 28 48 44 45 56 49 4e 46 4f  lDevice(HDEVINFO
d940: 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54  ,PSP_DEVINFO_DAT
d950: 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  A);..BOOL SetupD
d960: 69 49 6e 73 74 61 6c 6c 44 65 76 69 63 65 49 6e  iInstallDeviceIn
d970: 74 65 72 66 61 63 65 73 28 48 44 45 56 49 4e 46  terfaces(HDEVINF
d980: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
d990: 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  TA);..BOOL Setup
d9a0: 44 69 49 6e 73 74 61 6c 6c 44 72 69 76 65 72 46  DiInstallDriverF
d9b0: 69 6c 65 73 28 48 44 45 56 49 4e 46 4f 2c 50 53  iles(HDEVINFO,PS
d9c0: 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b  P_DEVINFO_DATA);
d9d0: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 4c 6f  ..BOOL SetupDiLo
d9e0: 61 64 43 6c 61 73 73 49 63 6f 6e 28 43 50 74 72  adClassIcon(CPtr
d9f0: 21 28 47 55 49 44 29 2c 48 49 43 4f 4e 2a 2c 50  !(GUID),HICON*,P
da00: 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  INT);..BOOL Setu
da10: 70 44 69 4d 6f 76 65 44 75 70 6c 69 63 61 74 65  pDiMoveDuplicate
da20: 44 65 76 69 63 65 28 48 44 45 56 49 4e 46 4f 2c  Device(HDEVINFO,
da30: 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41  PSP_DEVINFO_DATA
da40: 29 3b 0a 09 48 4b 45 59 20 53 65 74 75 70 44 69  );..HKEY SetupDi
da50: 4f 70 65 6e 43 6c 61 73 73 52 65 67 4b 65 79 28  OpenClassRegKey(
da60: 43 50 74 72 21 28 47 55 49 44 29 2c 52 45 47 53  CPtr!(GUID),REGS
da70: 41 4d 29 3b 0a 09 48 4b 45 59 20 53 65 74 75 70  AM);..HKEY Setup
da80: 44 69 4f 70 65 6e 43 6c 61 73 73 52 65 67 4b 65  DiOpenClassRegKe
da90: 79 45 78 41 28 43 50 74 72 21 28 47 55 49 44 29  yExA(CPtr!(GUID)
daa0: 2c 52 45 47 53 41 4d 2c 44 57 4f 52 44 2c 50 43  ,REGSAM,DWORD,PC
dab0: 53 54 52 2c 50 56 4f 49 44 29 3b 0a 09 48 4b 45  STR,PVOID);..HKE
dac0: 59 20 53 65 74 75 70 44 69 4f 70 65 6e 43 6c 61  Y SetupDiOpenCla
dad0: 73 73 52 65 67 4b 65 79 45 78 57 28 43 50 74 72  ssRegKeyExW(CPtr
dae0: 21 28 47 55 49 44 29 2c 52 45 47 53 41 4d 2c 44  !(GUID),REGSAM,D
daf0: 57 4f 52 44 2c 50 43 57 53 54 52 2c 50 56 4f 49  WORD,PCWSTR,PVOI
db00: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  D);..BOOL SetupD
db10: 69 4f 70 65 6e 44 65 76 69 63 65 49 6e 66 6f 41  iOpenDeviceInfoA
db20: 28 48 44 45 56 49 4e 46 4f 2c 50 43 53 54 52 2c  (HDEVINFO,PCSTR,
db30: 48 57 4e 44 2c 44 57 4f 52 44 2c 50 53 50 5f 44  HWND,DWORD,PSP_D
db40: 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42  EVINFO_DATA);..B
db50: 4f 4f 4c 20 53 65 74 75 70 44 69 4f 70 65 6e 44  OOL SetupDiOpenD
db60: 65 76 69 63 65 49 6e 66 6f 57 28 48 44 45 56 49  eviceInfoW(HDEVI
db70: 4e 46 4f 2c 50 43 57 53 54 52 2c 48 57 4e 44 2c  NFO,PCWSTR,HWND,
db80: 44 57 4f 52 44 2c 50 53 50 5f 44 45 56 49 4e 46  DWORD,PSP_DEVINF
db90: 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53  O_DATA);..BOOL S
dba0: 65 74 75 70 44 69 4f 70 65 6e 44 65 76 69 63 65  etupDiOpenDevice
dbb0: 49 6e 74 65 72 66 61 63 65 41 28 48 44 45 56 49  InterfaceA(HDEVI
dbc0: 4e 46 4f 2c 50 43 53 54 52 2c 44 57 4f 52 44 2c  NFO,PCSTR,DWORD,
dbd0: 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52  PSP_DEVICE_INTER
dbe0: 46 41 43 45 5f 44 41 54 41 29 3b 0a 09 42 4f 4f  FACE_DATA);..BOO
dbf0: 4c 20 53 65 74 75 70 44 69 4f 70 65 6e 44 65 76  L SetupDiOpenDev
dc00: 69 63 65 49 6e 74 65 72 66 61 63 65 57 28 48 44  iceInterfaceW(HD
dc10: 45 56 49 4e 46 4f 2c 50 43 57 53 54 52 2c 44 57  EVINFO,PCWSTR,DW
dc20: 4f 52 44 2c 50 53 50 5f 44 45 56 49 43 45 5f 49  ORD,PSP_DEVICE_I
dc30: 4e 54 45 52 46 41 43 45 5f 44 41 54 41 29 3b 0a  NTERFACE_DATA);.
dc40: 09 48 4b 45 59 20 53 65 74 75 70 44 69 4f 70 65  .HKEY SetupDiOpe
dc50: 6e 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65  nDeviceInterface
dc60: 52 65 67 4b 65 79 28 48 44 45 56 49 4e 46 4f 2c  RegKey(HDEVINFO,
dc70: 50 53 50 5f 44 45 56 49 43 45 5f 49 4e 54 45 52  PSP_DEVICE_INTER
dc80: 46 41 43 45 5f 44 41 54 41 2c 44 57 4f 52 44 2c  FACE_DATA,DWORD,
dc90: 52 45 47 53 41 4d 29 3b 0a 09 48 4b 45 59 20 53  REGSAM);..HKEY S
dca0: 65 74 75 70 44 69 4f 70 65 6e 44 65 76 52 65 67  etupDiOpenDevReg
dcb0: 4b 65 79 28 48 44 45 56 49 4e 46 4f 2c 50 53 50  Key(HDEVINFO,PSP
dcc0: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57  _DEVINFO_DATA,DW
dcd0: 4f 52 44 2c 44 57 4f 52 44 2c 44 57 4f 52 44 2c  ORD,DWORD,DWORD,
dce0: 52 45 47 53 41 4d 29 3b 0a 09 42 4f 4f 4c 20 53  REGSAM);..BOOL S
dcf0: 65 74 75 70 44 69 52 65 67 69 73 74 65 72 43 6f  etupDiRegisterCo
dd00: 44 65 76 69 63 65 49 6e 73 74 61 6c 6c 65 72 73  DeviceInstallers
dd10: 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45  (HDEVINFO,PSP_DE
dd20: 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09 42 4f  VINFO_DATA);..BO
dd30: 4f 4c 20 53 65 74 75 70 44 69 52 65 67 69 73 74  OL SetupDiRegist
dd40: 65 72 44 65 76 69 63 65 49 6e 66 6f 28 48 44 45  erDeviceInfo(HDE
dd50: 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46  VINFO,PSP_DEVINF
dd60: 4f 5f 44 41 54 41 2c 44 57 4f 52 44 2c 50 53 50  O_DATA,DWORD,PSP
dd70: 5f 44 45 54 53 49 47 5f 43 4d 50 50 52 4f 43 2c  _DETSIG_CMPPROC,
dd80: 50 56 4f 49 44 2c 50 53 50 5f 44 45 56 49 4e 46  PVOID,PSP_DEVINF
dd90: 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53  O_DATA);..BOOL S
dda0: 65 74 75 70 44 69 52 65 6d 6f 76 65 44 65 76 69  etupDiRemoveDevi
ddb0: 63 65 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  ce(HDEVINFO,PSP_
ddc0: 44 45 56 49 4e 46 4f 5f 44 41 54 41 29 3b 0a 09  DEVINFO_DATA);..
ddd0: 42 4f 4f 4c 20 53 65 74 75 70 44 69 52 65 6d 6f  BOOL SetupDiRemo
dde0: 76 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63  veDeviceInterfac
ddf0: 65 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  e(HDEVINFO,PSP_D
de00: 45 56 49 43 45 5f 49 4e 54 45 52 46 41 43 45 5f  EVICE_INTERFACE_
de10: 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  DATA);..BOOL Set
de20: 75 70 44 69 53 65 6c 65 63 74 42 65 73 74 43 6f  upDiSelectBestCo
de30: 6d 70 61 74 44 72 76 28 48 44 45 56 49 4e 46 4f  mpatDrv(HDEVINFO
de40: 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54  ,PSP_DEVINFO_DAT
de50: 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  A);..BOOL SetupD
de60: 69 53 65 6c 65 63 74 44 65 76 69 63 65 28 48 44  iSelectDevice(HD
de70: 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e  EVINFO,PSP_DEVIN
de80: 46 4f 5f 44 41 54 41 29 3b 0a 09 42 4f 4f 4c 20  FO_DATA);..BOOL 
de90: 53 65 74 75 70 44 69 53 65 6c 65 63 74 4f 45 4d  SetupDiSelectOEM
dea0: 44 72 76 28 48 57 4e 44 2c 48 44 45 56 49 4e 46  Drv(HWND,HDEVINF
deb0: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
dec0: 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  TA);..BOOL Setup
ded0: 44 69 53 65 74 43 6c 61 73 73 49 6e 73 74 61 6c  DiSetClassInstal
dee0: 6c 50 61 72 61 6d 73 41 28 48 44 45 56 49 4e 46  lParamsA(HDEVINF
def0: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
df00: 54 41 2c 50 53 50 5f 43 4c 41 53 53 49 4e 53 54  TA,PSP_CLASSINST
df10: 41 4c 4c 5f 48 45 41 44 45 52 2c 44 57 4f 52 44  ALL_HEADER,DWORD
df20: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
df30: 53 65 74 43 6c 61 73 73 49 6e 73 74 61 6c 6c 50  SetClassInstallP
df40: 61 72 61 6d 73 57 28 48 44 45 56 49 4e 46 4f 2c  aramsW(HDEVINFO,
df50: 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41  PSP_DEVINFO_DATA
df60: 2c 50 53 50 5f 43 4c 41 53 53 49 4e 53 54 41 4c  ,PSP_CLASSINSTAL
df70: 4c 5f 48 45 41 44 45 52 2c 44 57 4f 52 44 29 3b  L_HEADER,DWORD);
df80: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 53 65  ..BOOL SetupDiSe
df90: 74 43 6c 61 73 73 52 65 67 69 73 74 72 79 50 72  tClassRegistryPr
dfa0: 6f 70 65 72 74 79 41 28 4c 50 47 55 49 44 2c 44  opertyA(LPGUID,D
dfb0: 57 4f 52 44 2c 43 50 74 72 21 28 42 59 54 45 29  WORD,CPtr!(BYTE)
dfc0: 2c 44 57 4f 52 44 2c 50 43 53 54 52 2c 50 56 4f  ,DWORD,PCSTR,PVO
dfd0: 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  ID);..BOOL Setup
dfe0: 44 69 53 65 74 43 6c 61 73 73 52 65 67 69 73 74  DiSetClassRegist
dff0: 72 79 50 72 6f 70 65 72 74 79 57 28 4c 50 47 55  ryPropertyW(LPGU
e000: 49 44 2c 44 57 4f 52 44 2c 43 50 74 72 21 28 42  ID,DWORD,CPtr!(B
e010: 59 54 45 29 2c 44 57 4f 52 44 2c 50 43 57 53 54  YTE),DWORD,PCWST
e020: 52 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20  R,PVOID);..BOOL 
e030: 53 65 74 75 70 44 69 53 65 74 44 65 76 69 63 65  SetupDiSetDevice
e040: 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 41 28 48  InstallParamsA(H
e050: 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49  DEVINFO,PSP_DEVI
e060: 4e 46 4f 5f 44 41 54 41 2c 50 53 50 5f 44 45 56  NFO_DATA,PSP_DEV
e070: 49 4e 53 54 41 4c 4c 5f 50 41 52 41 4d 53 5f 41  INSTALL_PARAMS_A
e080: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
e090: 53 65 74 44 65 76 69 63 65 49 6e 73 74 61 6c 6c  SetDeviceInstall
e0a0: 50 61 72 61 6d 73 57 28 48 44 45 56 49 4e 46 4f  ParamsW(HDEVINFO
e0b0: 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54  ,PSP_DEVINFO_DAT
e0c0: 41 2c 50 53 50 5f 44 45 56 49 4e 53 54 41 4c 4c  A,PSP_DEVINSTALL
e0d0: 5f 50 41 52 41 4d 53 5f 57 29 3b 0a 09 42 4f 4f  _PARAMS_W);..BOO
e0e0: 4c 20 53 65 74 75 70 44 69 53 65 74 44 65 76 69  L SetupDiSetDevi
e0f0: 63 65 52 65 67 69 73 74 72 79 50 72 6f 70 65 72  ceRegistryProper
e100: 74 79 41 28 48 44 45 56 49 4e 46 4f 2c 50 53 50  tyA(HDEVINFO,PSP
e110: 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 44 57  _DEVINFO_DATA,DW
e120: 4f 52 44 2c 43 50 74 72 21 28 42 59 54 45 29 2c  ORD,CPtr!(BYTE),
e130: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
e140: 74 75 70 44 69 53 65 74 44 65 76 69 63 65 52 65  tupDiSetDeviceRe
e150: 67 69 73 74 72 79 50 72 6f 70 65 72 74 79 57 28  gistryPropertyW(
e160: 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56  HDEVINFO,PSP_DEV
e170: 49 4e 46 4f 5f 44 41 54 41 2c 44 57 4f 52 44 2c  INFO_DATA,DWORD,
e180: 43 50 74 72 21 28 42 59 54 45 29 2c 44 57 4f 52  CPtr!(BYTE),DWOR
e190: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44  D);..BOOL SetupD
e1a0: 69 53 65 74 44 72 69 76 65 72 49 6e 73 74 61 6c  iSetDriverInstal
e1b0: 6c 50 61 72 61 6d 73 41 28 48 44 45 56 49 4e 46  lParamsA(HDEVINF
e1c0: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
e1d0: 54 41 2c 50 53 50 5f 44 52 56 49 4e 46 4f 5f 44  TA,PSP_DRVINFO_D
e1e0: 41 54 41 5f 41 2c 50 53 50 5f 44 52 56 49 4e 53  ATA_A,PSP_DRVINS
e1f0: 54 41 4c 4c 5f 50 41 52 41 4d 53 29 3b 0a 09 42  TALL_PARAMS);..B
e200: 4f 4f 4c 20 53 65 74 75 70 44 69 53 65 74 44 72  OOL SetupDiSetDr
e210: 69 76 65 72 49 6e 73 74 61 6c 6c 50 61 72 61 6d  iverInstallParam
e220: 73 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  sW(HDEVINFO,PSP_
e230: 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50  DEVINFO_DATA,PSP
e240: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 57 2c  _DRVINFO_DATA_W,
e250: 50 53 50 5f 44 52 56 49 4e 53 54 41 4c 4c 5f 50  PSP_DRVINSTALL_P
e260: 41 52 41 4d 53 29 3b 0a 09 42 4f 4f 4c 20 53 65  ARAMS);..BOOL Se
e270: 74 75 70 44 69 53 65 74 53 65 6c 65 63 74 65 64  tupDiSetSelected
e280: 44 65 76 69 63 65 28 48 44 45 56 49 4e 46 4f 2c  Device(HDEVINFO,
e290: 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54 41  PSP_DEVINFO_DATA
e2a0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69  );..BOOL SetupDi
e2b0: 53 65 74 53 65 6c 65 63 74 65 64 44 72 69 76 65  SetSelectedDrive
e2c0: 72 41 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f  rA(HDEVINFO,PSP_
e2d0: 44 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50  DEVINFO_DATA,PSP
e2e0: 5f 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 41 29  _DRVINFO_DATA_A)
e2f0: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 53  ;..BOOL SetupDiS
e300: 65 74 53 65 6c 65 63 74 65 64 44 72 69 76 65 72  etSelectedDriver
e310: 57 28 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  W(HDEVINFO,PSP_D
e320: 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 53 50 5f  EVINFO_DATA,PSP_
e330: 44 52 56 49 4e 46 4f 5f 44 41 54 41 5f 57 29 3b  DRVINFO_DATA_W);
e340: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 44 69 55 6e  ..BOOL SetupDiUn
e350: 72 65 6d 6f 76 65 44 65 76 69 63 65 28 48 44 45  removeDevice(HDE
e360: 56 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46  VINFO,PSP_DEVINF
e370: 4f 5f 44 41 54 41 29 3b 0a 09 48 44 53 4b 53 50  O_DATA);..HDSKSP
e380: 43 20 53 65 74 75 70 44 75 70 6c 69 63 61 74 65  C SetupDuplicate
e390: 44 69 73 6b 53 70 61 63 65 4c 69 73 74 41 28 48  DiskSpaceListA(H
e3a0: 44 53 4b 53 50 43 2c 50 56 4f 49 44 2c 44 57 4f  DSKSPC,PVOID,DWO
e3b0: 52 44 2c 55 49 4e 54 29 3b 0a 09 48 44 53 4b 53  RD,UINT);..HDSKS
e3c0: 50 43 20 53 65 74 75 70 44 75 70 6c 69 63 61 74  PC SetupDuplicat
e3d0: 65 44 69 73 6b 53 70 61 63 65 4c 69 73 74 57 28  eDiskSpaceListW(
e3e0: 48 44 53 4b 53 50 43 2c 50 56 4f 49 44 2c 44 57  HDSKSPC,PVOID,DW
e3f0: 4f 52 44 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c  ORD,UINT);..BOOL
e400: 20 53 65 74 75 70 46 69 6e 64 46 69 72 73 74 4c   SetupFindFirstL
e410: 69 6e 65 41 28 48 49 4e 46 2c 50 43 53 54 52 2c  ineA(HINF,PCSTR,
e420: 50 43 53 54 52 2c 50 49 4e 46 43 4f 4e 54 45 58  PCSTR,PINFCONTEX
e430: 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 46  T);..BOOL SetupF
e440: 69 6e 64 46 69 72 73 74 4c 69 6e 65 57 28 48 49  indFirstLineW(HI
e450: 4e 46 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52  NF,PCWSTR,PCWSTR
e460: 2c 50 49 4e 46 43 4f 4e 54 45 58 54 29 3b 0a 09  ,PINFCONTEXT);..
e470: 42 4f 4f 4c 20 53 65 74 75 70 46 69 6e 64 4e 65  BOOL SetupFindNe
e480: 78 74 4c 69 6e 65 28 50 49 4e 46 43 4f 4e 54 45  xtLine(PINFCONTE
e490: 58 54 2c 50 49 4e 46 43 4f 4e 54 45 58 54 29 3b  XT,PINFCONTEXT);
e4a0: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 46 69 6e 64  ..BOOL SetupFind
e4b0: 4e 65 78 74 4d 61 74 63 68 4c 69 6e 65 41 28 50  NextMatchLineA(P
e4c0: 49 4e 46 43 4f 4e 54 45 58 54 2c 50 43 53 54 52  INFCONTEXT,PCSTR
e4d0: 2c 50 49 4e 46 43 4f 4e 54 45 58 54 29 3b 0a 09  ,PINFCONTEXT);..
e4e0: 42 4f 4f 4c 20 53 65 74 75 70 46 69 6e 64 4e 65  BOOL SetupFindNe
e4f0: 78 74 4d 61 74 63 68 4c 69 6e 65 57 28 50 49 4e  xtMatchLineW(PIN
e500: 46 43 4f 4e 54 45 58 54 2c 50 43 57 53 54 52 2c  FCONTEXT,PCWSTR,
e510: 50 49 4e 46 43 4f 4e 54 45 58 54 29 3b 0a 09 42  PINFCONTEXT);..B
e520: 4f 4f 4c 20 53 65 74 75 70 46 72 65 65 41 28 50  OOL SetupFreeA(P
e530: 43 53 54 52 2a 2a 2c 55 49 4e 54 29 3b 0a 09 42  CSTR**,UINT);..B
e540: 4f 4f 4c 20 53 65 74 75 70 46 72 65 65 57 28 50  OOL SetupFreeW(P
e550: 43 57 53 54 52 2a 2a 2c 55 49 4e 54 29 3b 0a 09  CWSTR**,UINT);..
e560: 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 42 61 63  BOOL SetupGetBac
e570: 6b 75 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 41 28  kupInformationA(
e580: 48 53 50 46 49 4c 45 51 2c 50 53 50 5f 42 41 43  HSPFILEQ,PSP_BAC
e590: 4b 55 50 5f 51 55 45 55 45 5f 50 41 52 41 4d 53  KUP_QUEUE_PARAMS
e5a0: 5f 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  _A);..BOOL Setup
e5b0: 47 65 74 42 61 63 6b 75 70 49 6e 66 6f 72 6d 61  GetBackupInforma
e5c0: 74 69 6f 6e 57 28 48 53 50 46 49 4c 45 51 2c 50  tionW(HSPFILEQ,P
e5d0: 53 50 5f 42 41 43 4b 55 50 5f 51 55 45 55 45 5f  SP_BACKUP_QUEUE_
e5e0: 50 41 52 41 4d 53 5f 57 29 3b 0a 09 42 4f 4f 4c  PARAMS_W);..BOOL
e5f0: 20 53 65 74 75 70 47 65 74 42 69 6e 61 72 79 46   SetupGetBinaryF
e600: 69 65 6c 64 28 50 49 4e 46 43 4f 4e 54 45 58 54  ield(PINFCONTEXT
e610: 2c 44 57 4f 52 44 2c 50 42 59 54 45 2c 44 57 4f  ,DWORD,PBYTE,DWO
e620: 52 44 2c 4c 50 44 57 4f 52 44 29 3b 0a 09 44 57  RD,LPDWORD);..DW
e630: 4f 52 44 20 53 65 74 75 70 47 65 74 46 69 65 6c  ORD SetupGetFiel
e640: 64 43 6f 75 6e 74 28 50 49 4e 46 43 4f 4e 54 45  dCount(PINFCONTE
e650: 58 54 29 3b 0a 09 44 57 4f 52 44 20 53 65 74 75  XT);..DWORD Setu
e660: 70 47 65 74 46 69 6c 65 43 6f 6d 70 72 65 73 73  pGetFileCompress
e670: 69 6f 6e 49 6e 66 6f 41 28 50 43 53 54 52 2c 50  ionInfoA(PCSTR,P
e680: 53 54 52 2a 2c 50 44 57 4f 52 44 2c 50 44 57 4f  STR*,PDWORD,PDWO
e690: 52 44 2c 50 55 49 4e 54 29 3b 0a 09 44 57 4f 52  RD,PUINT);..DWOR
e6a0: 44 20 53 65 74 75 70 47 65 74 46 69 6c 65 43 6f  D SetupGetFileCo
e6b0: 6d 70 72 65 73 73 69 6f 6e 49 6e 66 6f 57 28 50  mpressionInfoW(P
e6c0: 43 57 53 54 52 2c 50 57 53 54 52 2a 2c 50 44 57  CWSTR,PWSTR*,PDW
e6d0: 4f 52 44 2c 50 44 57 4f 52 44 2c 50 55 49 4e 54  ORD,PDWORD,PUINT
e6e0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47 65  );..BOOL SetupGe
e6f0: 74 49 6e 66 46 69 6c 65 4c 69 73 74 41 28 50 43  tInfFileListA(PC
e700: 53 54 52 2c 44 57 4f 52 44 2c 50 53 54 52 2c 44  STR,DWORD,PSTR,D
e710: 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42  WORD,PDWORD);..B
e720: 4f 4f 4c 20 53 65 74 75 70 47 65 74 49 6e 66 46  OOL SetupGetInfF
e730: 69 6c 65 4c 69 73 74 57 28 50 43 57 53 54 52 2c  ileListW(PCWSTR,
e740: 44 57 4f 52 44 2c 50 57 53 54 52 2c 44 57 4f 52  DWORD,PWSTR,DWOR
e750: 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D,PDWORD);..BOOL
e760: 20 53 65 74 75 70 47 65 74 49 6e 66 49 6e 66 6f   SetupGetInfInfo
e770: 72 6d 61 74 69 6f 6e 41 28 4c 50 43 56 4f 49 44  rmationA(LPCVOID
e780: 2c 44 57 4f 52 44 2c 50 53 50 5f 49 4e 46 5f 49  ,DWORD,PSP_INF_I
e790: 4e 46 4f 52 4d 41 54 49 4f 4e 2c 44 57 4f 52 44  NFORMATION,DWORD
e7a0: 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  ,PDWORD);..BOOL 
e7b0: 53 65 74 75 70 47 65 74 49 6e 66 49 6e 66 6f 72  SetupGetInfInfor
e7c0: 6d 61 74 69 6f 6e 57 28 4c 50 43 56 4f 49 44 2c  mationW(LPCVOID,
e7d0: 44 57 4f 52 44 2c 50 53 50 5f 49 4e 46 5f 49 4e  DWORD,PSP_INF_IN
e7e0: 46 4f 52 4d 41 54 49 4f 4e 2c 44 57 4f 52 44 2c  FORMATION,DWORD,
e7f0: 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53  PDWORD);..BOOL S
e800: 65 74 75 70 47 65 74 49 6e 74 46 69 65 6c 64 28  etupGetIntField(
e810: 50 49 4e 46 43 4f 4e 54 45 58 54 2c 44 57 4f 52  PINFCONTEXT,DWOR
e820: 44 2c 50 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53  D,PINT);..BOOL S
e830: 65 74 75 70 47 65 74 4c 69 6e 65 42 79 49 6e 64  etupGetLineByInd
e840: 65 78 41 28 48 49 4e 46 2c 50 43 53 54 52 2c 44  exA(HINF,PCSTR,D
e850: 57 4f 52 44 2c 50 49 4e 46 43 4f 4e 54 45 58 54  WORD,PINFCONTEXT
e860: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47 65  );..BOOL SetupGe
e870: 74 4c 69 6e 65 42 79 49 6e 64 65 78 57 28 48 49  tLineByIndexW(HI
e880: 4e 46 2c 50 43 57 53 54 52 2c 44 57 4f 52 44 2c  NF,PCWSTR,DWORD,
e890: 50 49 4e 46 43 4f 4e 54 45 58 54 29 3b 0a 09 4c  PINFCONTEXT);..L
e8a0: 4f 4e 47 20 53 65 74 75 70 47 65 74 4c 69 6e 65  ONG SetupGetLine
e8b0: 43 6f 75 6e 74 41 28 48 49 4e 46 2c 50 43 53 54  CountA(HINF,PCST
e8c0: 52 29 3b 0a 09 4c 4f 4e 47 20 53 65 74 75 70 47  R);..LONG SetupG
e8d0: 65 74 4c 69 6e 65 43 6f 75 6e 74 57 28 48 49 4e  etLineCountW(HIN
e8e0: 46 2c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c  F,PCWSTR);..BOOL
e8f0: 20 53 65 74 75 70 47 65 74 4c 69 6e 65 54 65 78   SetupGetLineTex
e900: 74 41 28 50 49 4e 46 43 4f 4e 54 45 58 54 2c 48  tA(PINFCONTEXT,H
e910: 49 4e 46 2c 50 43 53 54 52 2c 50 43 53 54 52 2c  INF,PCSTR,PCSTR,
e920: 50 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52  PSTR,DWORD,PDWOR
e930: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47  D);..BOOL SetupG
e940: 65 74 4c 69 6e 65 54 65 78 74 57 28 50 49 4e 46  etLineTextW(PINF
e950: 43 4f 4e 54 45 58 54 2c 48 49 4e 46 2c 50 43 57  CONTEXT,HINF,PCW
e960: 53 54 52 2c 50 43 57 53 54 52 2c 50 57 53 54 52  STR,PCWSTR,PWSTR
e970: 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a  ,DWORD,PDWORD);.
e980: 09 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 4d 75  .BOOL SetupGetMu
e990: 6c 74 69 53 7a 46 69 65 6c 64 41 28 50 49 4e 46  ltiSzFieldA(PINF
e9a0: 43 4f 4e 54 45 58 54 2c 44 57 4f 52 44 2c 50 53  CONTEXT,DWORD,PS
e9b0: 54 52 2c 44 57 4f 52 44 2c 4c 50 44 57 4f 52 44  TR,DWORD,LPDWORD
e9c0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47 65  );..BOOL SetupGe
e9d0: 74 4d 75 6c 74 69 53 7a 46 69 65 6c 64 57 28 50  tMultiSzFieldW(P
e9e0: 49 4e 46 43 4f 4e 54 45 58 54 2c 44 57 4f 52 44  INFCONTEXT,DWORD
e9f0: 2c 50 57 53 54 52 2c 44 57 4f 52 44 2c 4c 50 44  ,PWSTR,DWORD,LPD
ea00: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
ea10: 75 70 47 65 74 53 6f 75 72 63 65 46 69 6c 65 4c  upGetSourceFileL
ea20: 6f 63 61 74 69 6f 6e 41 28 48 49 4e 46 2c 50 49  ocationA(HINF,PI
ea30: 4e 46 43 4f 4e 54 45 58 54 2c 50 43 53 54 52 2c  NFCONTEXT,PCSTR,
ea40: 50 55 49 4e 54 2c 50 53 54 52 2c 44 57 4f 52 44  PUINT,PSTR,DWORD
ea50: 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  ,PDWORD);..BOOL 
ea60: 53 65 74 75 70 47 65 74 53 6f 75 72 63 65 46 69  SetupGetSourceFi
ea70: 6c 65 4c 6f 63 61 74 69 6f 6e 57 28 48 49 4e 46  leLocationW(HINF
ea80: 2c 50 49 4e 46 43 4f 4e 54 45 58 54 2c 50 43 57  ,PINFCONTEXT,PCW
ea90: 53 54 52 2c 50 55 49 4e 54 2c 50 57 53 54 52 2c  STR,PUINT,PWSTR,
eaa0: 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09  DWORD,PDWORD);..
eab0: 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 53 6f 75  BOOL SetupGetSou
eac0: 72 63 65 46 69 6c 65 53 69 7a 65 41 28 48 49 4e  rceFileSizeA(HIN
ead0: 46 2c 50 49 4e 46 43 4f 4e 54 45 58 54 2c 50 43  F,PINFCONTEXT,PC
eae0: 53 54 52 2c 50 43 53 54 52 2c 50 44 57 4f 52 44  STR,PCSTR,PDWORD
eaf0: 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65  ,UINT);..BOOL Se
eb00: 74 75 70 47 65 74 53 6f 75 72 63 65 46 69 6c 65  tupGetSourceFile
eb10: 53 69 7a 65 57 28 48 49 4e 46 2c 50 49 4e 46 43  SizeW(HINF,PINFC
eb20: 4f 4e 54 45 58 54 2c 50 43 57 53 54 52 2c 50 43  ONTEXT,PCWSTR,PC
eb30: 57 53 54 52 2c 50 44 57 4f 52 44 2c 55 49 4e 54  WSTR,PDWORD,UINT
eb40: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47 65  );..BOOL SetupGe
eb50: 74 53 6f 75 72 63 65 49 6e 66 6f 41 28 48 49 4e  tSourceInfoA(HIN
eb60: 46 2c 55 49 4e 54 2c 55 49 4e 54 2c 50 53 54 52  F,UINT,UINT,PSTR
eb70: 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a  ,DWORD,PDWORD);.
eb80: 09 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 53 6f  .BOOL SetupGetSo
eb90: 75 72 63 65 49 6e 66 6f 57 28 48 49 4e 46 2c 55  urceInfoW(HINF,U
eba0: 49 4e 54 2c 55 49 4e 54 2c 50 57 53 54 52 2c 44  INT,UINT,PWSTR,D
ebb0: 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42  WORD,PDWORD);..B
ebc0: 4f 4f 4c 20 53 65 74 75 70 47 65 74 53 74 72 69  OOL SetupGetStri
ebd0: 6e 67 46 69 65 6c 64 41 28 50 49 4e 46 43 4f 4e  ngFieldA(PINFCON
ebe0: 54 45 58 54 2c 44 57 4f 52 44 2c 50 53 54 52 2c  TEXT,DWORD,PSTR,
ebf0: 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09  DWORD,PDWORD);..
ec00: 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 53 74 72  BOOL SetupGetStr
ec10: 69 6e 67 46 69 65 6c 64 57 28 50 49 4e 46 43 4f  ingFieldW(PINFCO
ec20: 4e 54 45 58 54 2c 44 57 4f 52 44 2c 50 57 53 54  NTEXT,DWORD,PWST
ec30: 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b  R,DWORD,PDWORD);
ec40: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 47 65 74 54  ..BOOL SetupGetT
ec50: 61 72 67 65 74 50 61 74 68 41 28 48 49 4e 46 2c  argetPathA(HINF,
ec60: 50 49 4e 46 43 4f 4e 54 45 58 54 2c 50 43 53 54  PINFCONTEXT,PCST
ec70: 52 2c 50 53 54 52 2c 44 57 4f 52 44 2c 50 44 57  R,PSTR,DWORD,PDW
ec80: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  ORD);..BOOL Setu
ec90: 70 47 65 74 54 61 72 67 65 74 50 61 74 68 57 28  pGetTargetPathW(
eca0: 48 49 4e 46 2c 50 49 4e 46 43 4f 4e 54 45 58 54  HINF,PINFCONTEXT
ecb0: 2c 50 43 57 53 54 52 2c 50 57 53 54 52 2c 44 57  ,PCWSTR,PWSTR,DW
ecc0: 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0a 09 50 56  ORD,PDWORD);..PV
ecd0: 4f 49 44 20 53 65 74 75 70 49 6e 69 74 44 65 66  OID SetupInitDef
ece0: 61 75 6c 74 51 75 65 75 65 43 61 6c 6c 62 61 63  aultQueueCallbac
ecf0: 6b 28 48 57 4e 44 29 3b 0a 09 50 56 4f 49 44 20  k(HWND);..PVOID 
ed00: 53 65 74 75 70 49 6e 69 74 44 65 66 61 75 6c 74  SetupInitDefault
ed10: 51 75 65 75 65 43 61 6c 6c 62 61 63 6b 45 78 28  QueueCallbackEx(
ed20: 48 57 4e 44 2c 48 57 4e 44 2c 55 49 4e 54 2c 44  HWND,HWND,UINT,D
ed30: 57 4f 52 44 2c 50 56 4f 49 44 29 3b 0a 09 48 53  WORD,PVOID);..HS
ed40: 50 46 49 4c 45 4c 4f 47 20 53 65 74 75 70 49 6e  PFILELOG SetupIn
ed50: 69 74 69 61 6c 69 7a 65 46 69 6c 65 4c 6f 67 41  itializeFileLogA
ed60: 28 50 43 53 54 52 2c 44 57 4f 52 44 29 3b 0a 09  (PCSTR,DWORD);..
ed70: 48 53 50 46 49 4c 45 4c 4f 47 20 53 65 74 75 70  HSPFILELOG Setup
ed80: 49 6e 69 74 69 61 6c 69 7a 65 46 69 6c 65 4c 6f  InitializeFileLo
ed90: 67 57 28 50 43 57 53 54 52 2c 44 57 4f 52 44 29  gW(PCWSTR,DWORD)
eda0: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 49 6e 73  ;..BOOL SetupIns
edb0: 74 61 6c 6c 46 69 6c 65 41 28 48 49 4e 46 2c 50  tallFileA(HINF,P
edc0: 49 4e 46 43 4f 4e 54 45 58 54 2c 50 43 53 54 52  INFCONTEXT,PCSTR
edd0: 2c 50 43 53 54 52 2c 50 43 53 54 52 2c 44 57 4f  ,PCSTR,PCSTR,DWO
ede0: 52 44 2c 50 53 50 5f 46 49 4c 45 5f 43 41 4c 4c  RD,PSP_FILE_CALL
edf0: 42 41 43 4b 5f 41 2c 50 56 4f 49 44 29 3b 0a 09  BACK_A,PVOID);..
ee00: 42 4f 4f 4c 20 53 65 74 75 70 49 6e 73 74 61 6c  BOOL SetupInstal
ee10: 6c 46 69 6c 65 57 28 48 49 4e 46 2c 50 49 4e 46  lFileW(HINF,PINF
ee20: 43 4f 4e 54 45 58 54 2c 50 43 57 53 54 52 2c 50  CONTEXT,PCWSTR,P
ee30: 43 57 53 54 52 2c 50 43 57 53 54 52 2c 44 57 4f  CWSTR,PCWSTR,DWO
ee40: 52 44 2c 50 53 50 5f 46 49 4c 45 5f 43 41 4c 4c  RD,PSP_FILE_CALL
ee50: 42 41 43 4b 5f 57 2c 50 56 4f 49 44 29 3b 0a 09  BACK_W,PVOID);..
ee60: 42 4f 4f 4c 20 53 65 74 75 70 49 6e 73 74 61 6c  BOOL SetupInstal
ee70: 6c 46 69 6c 65 45 78 41 28 48 49 4e 46 2c 50 49  lFileExA(HINF,PI
ee80: 4e 46 43 4f 4e 54 45 58 54 2c 50 43 53 54 52 2c  NFCONTEXT,PCSTR,
ee90: 50 43 53 54 52 2c 50 43 53 54 52 2c 44 57 4f 52  PCSTR,PCSTR,DWOR
eea0: 44 2c 50 53 50 5f 46 49 4c 45 5f 43 41 4c 4c 42  D,PSP_FILE_CALLB
eeb0: 41 43 4b 5f 41 2c 50 56 4f 49 44 2c 50 42 4f 4f  ACK_A,PVOID,PBOO
eec0: 4c 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 49  L);..BOOL SetupI
eed0: 6e 73 74 61 6c 6c 46 69 6c 65 45 78 57 28 48 49  nstallFileExW(HI
eee0: 4e 46 2c 50 49 4e 46 43 4f 4e 54 45 58 54 2c 50  NF,PINFCONTEXT,P
eef0: 43 57 53 54 52 2c 50 43 57 53 54 52 2c 50 43 57  CWSTR,PCWSTR,PCW
ef00: 53 54 52 2c 44 57 4f 52 44 2c 50 53 50 5f 46 49  STR,DWORD,PSP_FI
ef10: 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f 57 2c 50 56  LE_CALLBACK_W,PV
ef20: 4f 49 44 2c 50 42 4f 4f 4c 29 3b 0a 09 42 4f 4f  OID,PBOOL);..BOO
ef30: 4c 20 53 65 74 75 70 49 6e 73 74 61 6c 6c 46 69  L SetupInstallFi
ef40: 6c 65 73 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f  lesFromInfSectio
ef50: 6e 41 28 48 49 4e 46 2c 48 49 4e 46 2c 48 53 50  nA(HINF,HINF,HSP
ef60: 46 49 4c 45 51 2c 50 43 53 54 52 2c 50 43 53 54  FILEQ,PCSTR,PCST
ef70: 52 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53  R,UINT);..BOOL S
ef80: 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65 73  etupInstallFiles
ef90: 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 57 28  FromInfSectionW(
efa0: 48 49 4e 46 2c 48 49 4e 46 2c 48 53 50 46 49 4c  HINF,HINF,HSPFIL
efb0: 45 51 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52  EQ,PCWSTR,PCWSTR
efc0: 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65  ,UINT);..BOOL Se
efd0: 74 75 70 49 6e 73 74 61 6c 6c 46 72 6f 6d 49 6e  tupInstallFromIn
efe0: 66 53 65 63 74 69 6f 6e 41 28 48 57 4e 44 2c 48  fSectionA(HWND,H
eff0: 49 4e 46 2c 50 43 53 54 52 2c 55 49 4e 54 2c 48  INF,PCSTR,UINT,H
f000: 4b 45 59 2c 50 43 53 54 52 2c 55 49 4e 54 2c 50  KEY,PCSTR,UINT,P
f010: 53 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b  SP_FILE_CALLBACK
f020: 5f 41 2c 50 56 4f 49 44 2c 48 44 45 56 49 4e 46  _A,PVOID,HDEVINF
f030: 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41  O,PSP_DEVINFO_DA
f040: 54 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  TA);..BOOL Setup
f050: 49 6e 73 74 61 6c 6c 46 72 6f 6d 49 6e 66 53 65  InstallFromInfSe
f060: 63 74 69 6f 6e 57 28 48 57 4e 44 2c 48 49 4e 46  ctionW(HWND,HINF
f070: 2c 50 43 57 53 54 52 2c 55 49 4e 54 2c 48 4b 45  ,PCWSTR,UINT,HKE
f080: 59 2c 50 43 57 53 54 52 2c 55 49 4e 54 2c 50 53  Y,PCWSTR,UINT,PS
f090: 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f  P_FILE_CALLBACK_
f0a0: 57 2c 50 56 4f 49 44 2c 48 44 45 56 49 4e 46 4f  W,PVOID,HDEVINFO
f0b0: 2c 50 53 50 5f 44 45 56 49 4e 46 4f 5f 44 41 54  ,PSP_DEVINFO_DAT
f0c0: 41 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 49  A);..BOOL SetupI
f0d0: 6e 73 74 61 6c 6c 53 65 72 76 69 63 65 73 46 72  nstallServicesFr
f0e0: 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 41 28 48 49  omInfSectionA(HI
f0f0: 4e 46 2c 50 43 53 54 52 2c 44 57 4f 52 44 29 3b  NF,PCSTR,DWORD);
f100: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 49 6e 73 74  ..BOOL SetupInst
f110: 61 6c 6c 53 65 72 76 69 63 65 73 46 72 6f 6d 49  allServicesFromI
f120: 6e 66 53 65 63 74 69 6f 6e 57 28 48 49 4e 46 2c  nfSectionW(HINF,
f130: 50 43 57 53 54 52 2c 44 57 4f 52 44 29 3b 0a 09  PCWSTR,DWORD);..
f140: 42 4f 4f 4c 20 53 65 74 75 70 49 6e 73 74 61 6c  BOOL SetupInstal
f150: 6c 53 65 72 76 69 63 65 73 46 72 6f 6d 49 6e 66  lServicesFromInf
f160: 53 65 63 74 69 6f 6e 45 78 41 28 48 49 4e 46 2c  SectionExA(HINF,
f170: 50 43 53 54 52 2c 44 57 4f 52 44 2c 48 44 45 56  PCSTR,DWORD,HDEV
f180: 49 4e 46 4f 2c 50 53 50 5f 44 45 56 49 4e 46 4f  INFO,PSP_DEVINFO
f190: 5f 44 41 54 41 2c 50 56 4f 49 44 2c 50 56 4f 49  _DATA,PVOID,PVOI
f1a0: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 49  D);..BOOL SetupI
f1b0: 6e 73 74 61 6c 6c 53 65 72 76 69 63 65 73 46 72  nstallServicesFr
f1c0: 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 45 78 57 28  omInfSectionExW(
f1d0: 48 49 4e 46 2c 50 43 57 53 54 52 2c 44 57 4f 52  HINF,PCWSTR,DWOR
f1e0: 44 2c 48 44 45 56 49 4e 46 4f 2c 50 53 50 5f 44  D,HDEVINFO,PSP_D
f1f0: 45 56 49 4e 46 4f 5f 44 41 54 41 2c 50 56 4f 49  EVINFO_DATA,PVOI
f200: 44 2c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20  D,PVOID);..BOOL 
f210: 53 65 74 75 70 49 74 65 72 61 74 65 43 61 62 69  SetupIterateCabi
f220: 6e 65 74 41 28 50 43 53 54 52 2c 44 57 4f 52 44  netA(PCSTR,DWORD
f230: 2c 50 53 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41  ,PSP_FILE_CALLBA
f240: 43 4b 5f 41 2c 50 56 4f 49 44 29 3b 0a 09 42 4f  CK_A,PVOID);..BO
f250: 4f 4c 20 53 65 74 75 70 49 74 65 72 61 74 65 43  OL SetupIterateC
f260: 61 62 69 6e 65 74 57 28 50 43 57 53 54 52 2c 44  abinetW(PCWSTR,D
f270: 57 4f 52 44 2c 50 53 50 5f 46 49 4c 45 5f 43 41  WORD,PSP_FILE_CA
f280: 4c 4c 42 41 43 4b 5f 57 2c 50 56 4f 49 44 29 3b  LLBACK_W,PVOID);
f290: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 4c 6f 67 45  ..BOOL SetupLogE
f2a0: 72 72 6f 72 41 28 4c 50 43 53 54 52 2c 4c 6f 67  rrorA(LPCSTR,Log
f2b0: 53 65 76 65 72 69 74 79 29 3b 0a 09 42 4f 4f 4c  Severity);..BOOL
f2c0: 20 53 65 74 75 70 4c 6f 67 45 72 72 6f 72 57 28   SetupLogErrorW(
f2d0: 4c 50 43 57 53 54 52 2c 4c 6f 67 53 65 76 65 72  LPCWSTR,LogSever
f2e0: 69 74 79 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  ity);..BOOL Setu
f2f0: 70 4c 6f 67 46 69 6c 65 41 28 48 53 50 46 49 4c  pLogFileA(HSPFIL
f300: 45 4c 4f 47 2c 50 43 53 54 52 2c 50 43 53 54 52  ELOG,PCSTR,PCSTR
f310: 2c 50 43 53 54 52 2c 44 57 4f 52 44 2c 50 43 53  ,PCSTR,DWORD,PCS
f320: 54 52 2c 50 43 53 54 52 2c 50 43 53 54 52 2c 44  TR,PCSTR,PCSTR,D
f330: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
f340: 75 70 4c 6f 67 46 69 6c 65 57 28 48 53 50 46 49  upLogFileW(HSPFI
f350: 4c 45 4c 4f 47 2c 50 43 57 53 54 52 2c 50 43 57  LELOG,PCWSTR,PCW
f360: 53 54 52 2c 50 43 57 53 54 52 2c 44 57 4f 52 44  STR,PCWSTR,DWORD
f370: 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 50  ,PCWSTR,PCWSTR,P
f380: 43 57 53 54 52 2c 44 57 4f 52 44 29 3b 0a 09 42  CWSTR,DWORD);..B
f390: 4f 4f 4c 20 53 65 74 75 70 4f 70 65 6e 41 70 70  OOL SetupOpenApp
f3a0: 65 6e 64 49 6e 66 46 69 6c 65 41 28 50 43 53 54  endInfFileA(PCST
f3b0: 52 2c 48 49 4e 46 2c 50 55 49 4e 54 29 3b 0a 09  R,HINF,PUINT);..
f3c0: 42 4f 4f 4c 20 53 65 74 75 70 4f 70 65 6e 41 70  BOOL SetupOpenAp
f3d0: 70 65 6e 64 49 6e 66 46 69 6c 65 57 28 50 43 57  pendInfFileW(PCW
f3e0: 53 54 52 2c 48 49 4e 46 2c 50 55 49 4e 54 29 3b  STR,HINF,PUINT);
f3f0: 0a 09 48 53 50 46 49 4c 45 51 20 53 65 74 75 70  ..HSPFILEQ Setup
f400: 4f 70 65 6e 46 69 6c 65 51 75 65 75 65 28 29 3b  OpenFileQueue();
f410: 0a 09 48 49 4e 46 20 53 65 74 75 70 4f 70 65 6e  ..HINF SetupOpen
f420: 49 6e 66 46 69 6c 65 41 28 50 43 53 54 52 2c 50  InfFileA(PCSTR,P
f430: 43 53 54 52 2c 44 57 4f 52 44 2c 50 55 49 4e 54  CSTR,DWORD,PUINT
f440: 29 3b 0a 09 48 49 4e 46 20 53 65 74 75 70 4f 70  );..HINF SetupOp
f450: 65 6e 49 6e 66 46 69 6c 65 57 28 50 43 57 53 54  enInfFileW(PCWST
f460: 52 2c 50 43 57 53 54 52 2c 44 57 4f 52 44 2c 50  R,PCWSTR,DWORD,P
f470: 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  UINT);..BOOL Set
f480: 75 70 4f 70 65 6e 4c 6f 67 28 42 4f 4f 4c 29 3b  upOpenLog(BOOL);
f490: 0a 09 48 49 4e 46 20 53 65 74 75 70 4f 70 65 6e  ..HINF SetupOpen
f4a0: 4d 61 73 74 65 72 49 6e 66 28 29 3b 0a 09 55 49  MasterInf();..UI
f4b0: 4e 54 20 53 65 74 75 70 50 72 6f 6d 70 74 46 6f  NT SetupPromptFo
f4c0: 72 44 69 73 6b 41 28 48 57 4e 44 2c 50 43 53 54  rDiskA(HWND,PCST
f4d0: 52 2c 50 43 53 54 52 2c 50 43 53 54 52 2c 50 43  R,PCSTR,PCSTR,PC
f4e0: 53 54 52 2c 50 43 53 54 52 2c 44 57 4f 52 44 2c  STR,PCSTR,DWORD,
f4f0: 50 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52  PSTR,DWORD,PDWOR
f500: 44 29 3b 0a 09 55 49 4e 54 20 53 65 74 75 70 50  D);..UINT SetupP
f510: 72 6f 6d 70 74 46 6f 72 44 69 73 6b 57 28 48 57  romptForDiskW(HW
f520: 4e 44 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52  ND,PCWSTR,PCWSTR
f530: 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 50  ,PCWSTR,PCWSTR,P
f540: 43 57 53 54 52 2c 44 57 4f 52 44 2c 50 57 53 54  CWSTR,DWORD,PWST
f550: 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b  R,DWORD,PDWORD);
f560: 0a 09 49 4e 54 20 53 65 74 75 70 50 72 6f 6d 70  ..INT SetupPromp
f570: 74 52 65 62 6f 6f 74 28 48 53 50 46 49 4c 45 51  tReboot(HSPFILEQ
f580: 2c 48 57 4e 44 2c 42 4f 4f 4c 29 3b 0a 09 42 4f  ,HWND,BOOL);..BO
f590: 4f 4c 20 53 65 74 75 70 51 75 65 72 79 41 28 44  OL SetupQueryA(D
f5a0: 57 4f 52 44 2c 50 43 53 54 52 2a 2a 2c 50 55 49  WORD,PCSTR**,PUI
f5b0: 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  NT);..BOOL Setup
f5c0: 51 75 65 72 79 57 28 44 57 4f 52 44 2c 50 43 57  QueryW(DWORD,PCW
f5d0: 53 54 52 2a 2a 2c 50 55 49 4e 54 29 3b 0a 09 42  STR**,PUINT);..B
f5e0: 4f 4f 4c 20 53 65 74 75 70 51 75 65 72 79 44 72  OOL SetupQueryDr
f5f0: 69 76 65 73 49 6e 44 69 73 6b 53 70 61 63 65 4c  ivesInDiskSpaceL
f600: 69 73 74 41 28 48 44 53 4b 53 50 43 2c 50 53 54  istA(HDSKSPC,PST
f610: 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b  R,DWORD,PDWORD);
f620: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75 65 72  ..BOOL SetupQuer
f630: 79 44 72 69 76 65 73 49 6e 44 69 73 6b 53 70 61  yDrivesInDiskSpa
f640: 63 65 4c 69 73 74 57 28 48 44 53 4b 53 50 43 2c  ceListW(HDSKSPC,
f650: 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f  PWSTR,DWORD,PDWO
f660: 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  RD);..BOOL Setup
f670: 51 75 65 72 79 46 69 6c 65 4c 6f 67 41 28 48 53  QueryFileLogA(HS
f680: 50 46 49 4c 45 4c 4f 47 2c 50 43 53 54 52 2c 50  PFILELOG,PCSTR,P
f690: 43 53 54 52 2c 53 65 74 75 70 46 69 6c 65 4c 6f  CSTR,SetupFileLo
f6a0: 67 49 6e 66 6f 2c 50 53 54 52 2c 44 57 4f 52 44  gInfo,PSTR,DWORD
f6b0: 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  ,PDWORD);..BOOL 
f6c0: 53 65 74 75 70 51 75 65 72 79 46 69 6c 65 4c 6f  SetupQueryFileLo
f6d0: 67 57 28 48 53 50 46 49 4c 45 4c 4f 47 2c 50 43  gW(HSPFILELOG,PC
f6e0: 57 53 54 52 2c 50 43 57 53 54 52 2c 53 65 74 75  WSTR,PCWSTR,Setu
f6f0: 70 46 69 6c 65 4c 6f 67 49 6e 66 6f 2c 50 57 53  pFileLogInfo,PWS
f700: 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44 29  TR,DWORD,PDWORD)
f710: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75 65  ;..BOOL SetupQue
f720: 72 79 49 6e 66 46 69 6c 65 49 6e 66 6f 72 6d 61  ryInfFileInforma
f730: 74 69 6f 6e 41 28 50 53 50 5f 49 4e 46 5f 49 4e  tionA(PSP_INF_IN
f740: 46 4f 52 4d 41 54 49 4f 4e 2c 55 49 4e 54 2c 50  FORMATION,UINT,P
f750: 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44  STR,DWORD,PDWORD
f760: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75  );..BOOL SetupQu
f770: 65 72 79 49 6e 66 46 69 6c 65 49 6e 66 6f 72 6d  eryInfFileInform
f780: 61 74 69 6f 6e 57 28 50 53 50 5f 49 4e 46 5f 49  ationW(PSP_INF_I
f790: 4e 46 4f 52 4d 41 54 49 4f 4e 2c 55 49 4e 54 2c  NFORMATION,UINT,
f7a0: 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f  PWSTR,DWORD,PDWO
f7b0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  RD);..BOOL Setup
f7c0: 51 75 65 72 79 49 6e 66 4f 72 69 67 69 6e 61 6c  QueryInfOriginal
f7d0: 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 41  FileInformationA
f7e0: 28 50 53 50 5f 49 4e 46 5f 49 4e 46 4f 52 4d 41  (PSP_INF_INFORMA
f7f0: 54 49 4f 4e 2c 55 49 4e 54 2c 50 53 50 5f 41 4c  TION,UINT,PSP_AL
f800: 54 50 4c 41 54 46 4f 52 4d 5f 49 4e 46 4f 2c 50  TPLATFORM_INFO,P
f810: 53 50 5f 4f 52 49 47 49 4e 41 4c 5f 46 49 4c 45  SP_ORIGINAL_FILE
f820: 5f 49 4e 46 4f 5f 41 29 3b 0a 09 42 4f 4f 4c 20  _INFO_A);..BOOL 
f830: 53 65 74 75 70 51 75 65 72 79 49 6e 66 4f 72 69  SetupQueryInfOri
f840: 67 69 6e 61 6c 46 69 6c 65 49 6e 66 6f 72 6d 61  ginalFileInforma
f850: 74 69 6f 6e 57 28 50 53 50 5f 49 4e 46 5f 49 4e  tionW(PSP_INF_IN
f860: 46 4f 52 4d 41 54 49 4f 4e 2c 55 49 4e 54 2c 50  FORMATION,UINT,P
f870: 53 50 5f 41 4c 54 50 4c 41 54 46 4f 52 4d 5f 49  SP_ALTPLATFORM_I
f880: 4e 46 4f 2c 50 53 50 5f 4f 52 49 47 49 4e 41 4c  NFO,PSP_ORIGINAL
f890: 5f 46 49 4c 45 5f 49 4e 46 4f 5f 57 29 3b 0a 09  _FILE_INFO_W);..
f8a0: 42 4f 4f 4c 20 53 65 74 75 70 51 75 65 72 79 49  BOOL SetupQueryI
f8b0: 6e 66 56 65 72 73 69 6f 6e 49 6e 66 6f 72 6d 61  nfVersionInforma
f8c0: 74 69 6f 6e 41 28 50 53 50 5f 49 4e 46 5f 49 4e  tionA(PSP_INF_IN
f8d0: 46 4f 52 4d 41 54 49 4f 4e 2c 55 49 4e 54 2c 50  FORMATION,UINT,P
f8e0: 53 54 52 2c 50 53 54 52 2c 44 57 4f 52 44 2c 50  STR,PSTR,DWORD,P
f8f0: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  DWORD);..BOOL Se
f900: 74 75 70 51 75 65 72 79 49 6e 66 56 65 72 73 69  tupQueryInfVersi
f910: 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 57 28 50  onInformationW(P
f920: 53 50 5f 49 4e 46 5f 49 4e 46 4f 52 4d 41 54 49  SP_INF_INFORMATI
f930: 4f 4e 2c 55 49 4e 54 2c 50 43 57 53 54 52 2c 50  ON,UINT,PCWSTR,P
f940: 57 53 54 52 2c 44 57 4f 52 44 2c 50 44 57 4f 52  WSTR,DWORD,PDWOR
f950: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51  D);..BOOL SetupQ
f960: 75 65 72 79 53 70 61 63 65 52 65 71 75 69 72 65  uerySpaceRequire
f970: 64 4f 6e 44 72 69 76 65 41 28 48 44 53 4b 53 50  dOnDriveA(HDSKSP
f980: 43 2c 50 43 53 54 52 2c 4c 4f 4e 47 4c 4f 4e 47  C,PCSTR,LONGLONG
f990: 2a 2c 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09  *,PVOID,UINT);..
f9a0: 42 4f 4f 4c 20 53 65 74 75 70 51 75 65 72 79 53  BOOL SetupQueryS
f9b0: 70 61 63 65 52 65 71 75 69 72 65 64 4f 6e 44 72  paceRequiredOnDr
f9c0: 69 76 65 57 28 48 44 53 4b 53 50 43 2c 50 43 57  iveW(HDSKSPC,PCW
f9d0: 53 54 52 2c 4c 4f 4e 47 4c 4f 4e 47 2a 2c 50 56  STR,LONGLONG*,PV
f9e0: 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c  OID,UINT);..BOOL
f9f0: 20 53 65 74 75 70 51 75 65 75 65 43 6f 70 79 41   SetupQueueCopyA
fa00: 28 48 53 50 46 49 4c 45 51 2c 50 43 53 54 52 2c  (HSPFILEQ,PCSTR,
fa10: 50 43 53 54 52 2c 50 43 53 54 52 2c 50 43 53 54  PCSTR,PCSTR,PCST
fa20: 52 2c 50 43 53 54 52 2c 50 43 53 54 52 2c 50 43  R,PCSTR,PCSTR,PC
fa30: 53 54 52 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  STR,DWORD);..BOO
fa40: 4c 20 53 65 74 75 70 51 75 65 75 65 43 6f 70 79  L SetupQueueCopy
fa50: 57 28 48 53 50 46 49 4c 45 51 2c 50 43 57 53 54  W(HSPFILEQ,PCWST
fa60: 52 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c  R,PCWSTR,PCWSTR,
fa70: 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 50 43  PCWSTR,PCWSTR,PC
fa80: 57 53 54 52 2c 50 43 57 53 54 52 2c 44 57 4f 52  WSTR,PCWSTR,DWOR
fa90: 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51  D);..BOOL SetupQ
faa0: 75 65 75 65 43 6f 70 79 49 6e 64 69 72 65 63 74  ueueCopyIndirect
fab0: 41 28 50 53 50 5f 46 49 4c 45 5f 43 4f 50 59 5f  A(PSP_FILE_COPY_
fac0: 50 41 52 41 4d 53 5f 41 29 3b 0a 09 42 4f 4f 4c  PARAMS_A);..BOOL
fad0: 20 53 65 74 75 70 51 75 65 75 65 43 6f 70 79 49   SetupQueueCopyI
fae0: 6e 64 69 72 65 63 74 57 28 50 53 50 5f 46 49 4c  ndirectW(PSP_FIL
faf0: 45 5f 43 4f 50 59 5f 50 41 52 41 4d 53 5f 57 29  E_COPY_PARAMS_W)
fb00: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75 65  ;..BOOL SetupQue
fb10: 75 65 43 6f 70 79 53 65 63 74 69 6f 6e 41 28 48  ueCopySectionA(H
fb20: 53 50 46 49 4c 45 51 2c 50 43 53 54 52 2c 48 49  SPFILEQ,PCSTR,HI
fb30: 4e 46 2c 48 49 4e 46 2c 50 43 53 54 52 2c 44 57  NF,HINF,PCSTR,DW
fb40: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  ORD);..BOOL Setu
fb50: 70 51 75 65 75 65 43 6f 70 79 53 65 63 74 69 6f  pQueueCopySectio
fb60: 6e 57 28 48 53 50 46 49 4c 45 51 2c 50 43 57 53  nW(HSPFILEQ,PCWS
fb70: 54 52 2c 48 49 4e 46 2c 48 49 4e 46 2c 50 43 57  TR,HINF,HINF,PCW
fb80: 53 54 52 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  STR,DWORD);..BOO
fb90: 4c 20 53 65 74 75 70 51 75 65 75 65 44 65 66 61  L SetupQueueDefa
fba0: 75 6c 74 43 6f 70 79 41 28 48 53 50 46 49 4c 45  ultCopyA(HSPFILE
fbb0: 51 2c 48 49 4e 46 2c 50 43 53 54 52 2c 50 43 53  Q,HINF,PCSTR,PCS
fbc0: 54 52 2c 50 43 53 54 52 2c 44 57 4f 52 44 29 3b  TR,PCSTR,DWORD);
fbd0: 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75 65 75  ..BOOL SetupQueu
fbe0: 65 44 65 66 61 75 6c 74 43 6f 70 79 57 28 48 53  eDefaultCopyW(HS
fbf0: 50 46 49 4c 45 51 2c 48 49 4e 46 2c 50 43 57 53  PFILEQ,HINF,PCWS
fc00: 54 52 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52  TR,PCWSTR,PCWSTR
fc10: 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53  ,DWORD);..BOOL S
fc20: 65 74 75 70 51 75 65 75 65 44 65 6c 65 74 65 41  etupQueueDeleteA
fc30: 28 48 53 50 46 49 4c 45 51 2c 50 43 53 54 52 2c  (HSPFILEQ,PCSTR,
fc40: 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65  PCSTR);..BOOL Se
fc50: 74 75 70 51 75 65 75 65 44 65 6c 65 74 65 57 28  tupQueueDeleteW(
fc60: 48 53 50 46 49 4c 45 51 2c 50 43 57 53 54 52 2c  HSPFILEQ,PCWSTR,
fc70: 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53  PCWSTR);..BOOL S
fc80: 65 74 75 70 51 75 65 75 65 44 65 6c 65 74 65 53  etupQueueDeleteS
fc90: 65 63 74 69 6f 6e 41 28 48 53 50 46 49 4c 45 51  ectionA(HSPFILEQ
fca0: 2c 48 49 4e 46 2c 48 49 4e 46 2c 50 43 53 54 52  ,HINF,HINF,PCSTR
fcb0: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75  );..BOOL SetupQu
fcc0: 65 75 65 44 65 6c 65 74 65 53 65 63 74 69 6f 6e  eueDeleteSection
fcd0: 57 28 48 53 50 46 49 4c 45 51 2c 48 49 4e 46 2c  W(HSPFILEQ,HINF,
fce0: 48 49 4e 46 2c 50 43 57 53 54 52 29 3b 0a 09 42  HINF,PCWSTR);..B
fcf0: 4f 4f 4c 20 53 65 74 75 70 51 75 65 75 65 52 65  OOL SetupQueueRe
fd00: 6e 61 6d 65 41 28 48 53 50 46 49 4c 45 51 2c 50  nameA(HSPFILEQ,P
fd10: 43 53 54 52 2c 50 43 53 54 52 2c 50 43 53 54 52  CSTR,PCSTR,PCSTR
fd20: 2c 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53  ,PCSTR);..BOOL S
fd30: 65 74 75 70 51 75 65 75 65 52 65 6e 61 6d 65 57  etupQueueRenameW
fd40: 28 48 53 50 46 49 4c 45 51 2c 50 43 57 53 54 52  (HSPFILEQ,PCWSTR
fd50: 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 50  ,PCWSTR,PCWSTR,P
fd60: 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65  CWSTR);..BOOL Se
fd70: 74 75 70 51 75 65 75 65 52 65 6e 61 6d 65 53 65  tupQueueRenameSe
fd80: 63 74 69 6f 6e 41 28 48 53 50 46 49 4c 45 51 2c  ctionA(HSPFILEQ,
fd90: 48 49 4e 46 2c 48 49 4e 46 2c 50 43 53 54 52 29  HINF,HINF,PCSTR)
fda0: 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 51 75 65  ;..BOOL SetupQue
fdb0: 75 65 52 65 6e 61 6d 65 53 65 63 74 69 6f 6e 57  ueRenameSectionW
fdc0: 28 48 53 50 46 49 4c 45 51 2c 48 49 4e 46 2c 48  (HSPFILEQ,HINF,H
fdd0: 49 4e 46 2c 50 43 57 53 54 52 29 3b 0a 09 42 4f  INF,PCWSTR);..BO
fde0: 4f 4c 20 53 65 74 75 70 52 65 6d 6f 76 65 46 69  OL SetupRemoveFi
fdf0: 6c 65 4c 6f 67 45 6e 74 72 79 41 28 48 53 50 46  leLogEntryA(HSPF
fe00: 49 4c 45 4c 4f 47 2c 50 43 53 54 52 2c 50 43 53  ILELOG,PCSTR,PCS
fe10: 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70  TR);..BOOL Setup
fe20: 52 65 6d 6f 76 65 46 69 6c 65 4c 6f 67 45 6e 74  RemoveFileLogEnt
fe30: 72 79 57 28 48 53 50 46 49 4c 45 4c 4f 47 2c 50  ryW(HSPFILELOG,P
fe40: 43 57 53 54 52 2c 50 43 57 53 54 52 29 3b 0a 09  CWSTR,PCWSTR);..
fe50: 42 4f 4f 4c 20 53 65 74 75 70 52 65 6d 6f 76 65  BOOL SetupRemove
fe60: 46 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73  FromDiskSpaceLis
fe70: 74 41 28 48 44 53 4b 53 50 43 2c 50 43 53 54 52  tA(HDSKSPC,PCSTR
fe80: 2c 55 49 4e 54 2c 50 56 4f 49 44 2c 55 49 4e 54  ,UINT,PVOID,UINT
fe90: 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 52 65  );..BOOL SetupRe
fea0: 6d 6f 76 65 46 72 6f 6d 44 69 73 6b 53 70 61 63  moveFromDiskSpac
feb0: 65 4c 69 73 74 57 28 48 44 53 4b 53 50 43 2c 50  eListW(HDSKSPC,P
fec0: 43 57 53 54 52 2c 55 49 4e 54 2c 50 56 4f 49 44  CWSTR,UINT,PVOID
fed0: 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65  ,UINT);..BOOL Se
fee0: 74 75 70 52 65 6d 6f 76 65 46 72 6f 6d 53 6f 75  tupRemoveFromSou
fef0: 72 63 65 4c 69 73 74 41 28 44 57 4f 52 44 2c 50  rceListA(DWORD,P
ff00: 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  CSTR);..BOOL Set
ff10: 75 70 52 65 6d 6f 76 65 46 72 6f 6d 53 6f 75 72  upRemoveFromSour
ff20: 63 65 4c 69 73 74 57 28 44 57 4f 52 44 2c 50 43  ceListW(DWORD,PC
ff30: 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WSTR);..BOOL Set
ff40: 75 70 52 65 6d 6f 76 65 49 6e 73 74 61 6c 6c 53  upRemoveInstallS
ff50: 65 63 74 69 6f 6e 46 72 6f 6d 44 69 73 6b 53 70  ectionFromDiskSp
ff60: 61 63 65 4c 69 73 74 41 28 48 44 53 4b 53 50 43  aceListA(HDSKSPC
ff70: 2c 48 49 4e 46 2c 48 49 4e 46 2c 50 43 53 54 52  ,HINF,HINF,PCSTR
ff80: 2c 50 56 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42  ,PVOID,UINT);..B
ff90: 4f 4f 4c 20 53 65 74 75 70 52 65 6d 6f 76 65 49  OOL SetupRemoveI
ffa0: 6e 73 74 61 6c 6c 53 65 63 74 69 6f 6e 46 72 6f  nstallSectionFro
ffb0: 6d 44 69 73 6b 53 70 61 63 65 4c 69 73 74 57 28  mDiskSpaceListW(
ffc0: 48 44 53 4b 53 50 43 2c 48 49 4e 46 2c 48 49 4e  HDSKSPC,HINF,HIN
ffd0: 46 2c 50 43 57 53 54 52 2c 50 56 4f 49 44 2c 55  F,PCWSTR,PVOID,U
ffe0: 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75  INT);..BOOL Setu
fff0: 70 52 65 6d 6f 76 65 53 65 63 74 69 6f 6e 46 72  pRemoveSectionFr
10000 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73 74 41  omDiskSpaceListA
10010 28 48 44 53 4b 53 50 43 2c 48 49 4e 46 2c 48 49  (HDSKSPC,HINF,HI
10020 4e 46 2c 50 43 53 54 52 2c 55 49 4e 54 2c 50 56  NF,PCSTR,UINT,PV
10030 4f 49 44 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c  OID,UINT);..BOOL
10040 20 53 65 74 75 70 52 65 6d 6f 76 65 53 65 63 74   SetupRemoveSect
10050 69 6f 6e 46 72 6f 6d 44 69 73 6b 53 70 61 63 65  ionFromDiskSpace
10060 4c 69 73 74 57 28 48 44 53 4b 53 50 43 2c 48 49  ListW(HDSKSPC,HI
10070 4e 46 2c 48 49 4e 46 2c 50 43 57 53 54 52 2c 55  NF,HINF,PCWSTR,U
10080 49 4e 54 2c 50 56 4f 49 44 2c 55 49 4e 54 29 3b  INT,PVOID,UINT);
10090 0a 09 55 49 4e 54 20 53 65 74 75 70 52 65 6e 61  ..UINT SetupRena
100a0 6d 65 45 72 72 6f 72 41 28 48 57 4e 44 2c 50 43  meErrorA(HWND,PC
100b0 53 54 52 2c 50 43 53 54 52 2c 50 43 53 54 52 2c  STR,PCSTR,PCSTR,
100c0 55 49 4e 54 2c 44 57 4f 52 44 29 3b 0a 09 55 49  UINT,DWORD);..UI
100d0 4e 54 20 53 65 74 75 70 52 65 6e 61 6d 65 45 72  NT SetupRenameEr
100e0 72 6f 72 57 28 48 57 4e 44 2c 50 43 57 53 54 52  rorW(HWND,PCWSTR
100f0 2c 50 43 57 53 54 52 2c 50 43 57 53 54 52 2c 55  ,PCWSTR,PCWSTR,U
10100 49 4e 54 2c 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  INT,DWORD);..BOO
10110 4c 20 53 65 74 75 70 53 63 61 6e 46 69 6c 65 51  L SetupScanFileQ
10120 75 65 75 65 41 28 48 53 50 46 49 4c 45 51 2c 44  ueueA(HSPFILEQ,D
10130 57 4f 52 44 2c 48 57 4e 44 2c 50 53 50 5f 46 49  WORD,HWND,PSP_FI
10140 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f 41 2c 50 56  LE_CALLBACK_A,PV
10150 4f 49 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42 4f  OID,PDWORD);..BO
10160 4f 4c 20 53 65 74 75 70 53 63 61 6e 46 69 6c 65  OL SetupScanFile
10170 51 75 65 75 65 57 28 48 53 50 46 49 4c 45 51 2c  QueueW(HSPFILEQ,
10180 44 57 4f 52 44 2c 48 57 4e 44 2c 50 53 50 5f 46  DWORD,HWND,PSP_F
10190 49 4c 45 5f 43 41 4c 4c 42 41 43 4b 5f 57 2c 50  ILE_CALLBACK_W,P
101a0 56 4f 49 44 2c 50 44 57 4f 52 44 29 3b 0a 09 42  VOID,PDWORD);..B
101b0 4f 4f 4c 20 53 65 74 75 70 53 65 74 44 69 72 65  OOL SetupSetDire
101c0 63 74 6f 72 79 49 64 41 28 48 49 4e 46 2c 44 57  ctoryIdA(HINF,DW
101d0 4f 52 44 2c 50 43 53 54 52 29 3b 0a 09 42 4f 4f  ORD,PCSTR);..BOO
101e0 4c 20 53 65 74 75 70 53 65 74 44 69 72 65 63 74  L SetupSetDirect
101f0 6f 72 79 49 64 57 28 48 49 4e 46 2c 44 57 4f 52  oryIdW(HINF,DWOR
10200 44 2c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c  D,PCWSTR);..BOOL
10210 20 53 65 74 75 70 53 65 74 44 69 72 65 63 74 6f   SetupSetDirecto
10220 72 79 49 64 45 78 41 28 48 49 4e 46 2c 44 57 4f  ryIdExA(HINF,DWO
10230 52 44 2c 50 43 53 54 52 2c 44 57 4f 52 44 2c 44  RD,PCSTR,DWORD,D
10240 57 4f 52 44 2c 50 56 4f 49 44 29 3b 0a 09 42 4f  WORD,PVOID);..BO
10250 4f 4c 20 53 65 74 75 70 53 65 74 44 69 72 65 63  OL SetupSetDirec
10260 74 6f 72 79 49 64 45 78 57 28 48 49 4e 46 2c 44  toryIdExW(HINF,D
10270 57 4f 52 44 2c 50 43 57 53 54 52 2c 44 57 4f 52  WORD,PCWSTR,DWOR
10280 44 2c 44 57 4f 52 44 2c 50 56 4f 49 44 29 3b 0a  D,DWORD,PVOID);.
10290 09 42 4f 4f 4c 20 53 65 74 75 70 53 65 74 46 69  .BOOL SetupSetFi
102a0 6c 65 51 75 65 75 65 41 6c 74 65 72 6e 61 74 65  leQueueAlternate
102b0 50 6c 61 74 66 6f 72 6d 41 28 48 53 50 46 49 4c  PlatformA(HSPFIL
102c0 45 51 2c 50 53 50 5f 41 4c 54 50 4c 41 54 46 4f  EQ,PSP_ALTPLATFO
102d0 52 4d 5f 49 4e 46 4f 2c 50 43 53 54 52 29 3b 0a  RM_INFO,PCSTR);.
102e0 09 42 4f 4f 4c 20 53 65 74 75 70 53 65 74 46 69  .BOOL SetupSetFi
102f0 6c 65 51 75 65 75 65 41 6c 74 65 72 6e 61 74 65  leQueueAlternate
10300 50 6c 61 74 66 6f 72 6d 57 28 48 53 50 46 49 4c  PlatformW(HSPFIL
10310 45 51 2c 50 53 50 5f 41 4c 54 50 4c 41 54 46 4f  EQ,PSP_ALTPLATFO
10320 52 4d 5f 49 4e 46 4f 2c 50 43 57 53 54 52 29 3b  RM_INFO,PCWSTR);
10330 0a 09 42 4f 4f 4c 20 53 65 74 75 70 53 65 74 50  ..BOOL SetupSetP
10340 6c 61 74 66 6f 72 6d 50 61 74 68 4f 76 65 72 72  latformPathOverr
10350 69 64 65 41 28 50 43 53 54 52 29 3b 0a 09 42 4f  ideA(PCSTR);..BO
10360 4f 4c 20 53 65 74 75 70 53 65 74 50 6c 61 74 66  OL SetupSetPlatf
10370 6f 72 6d 50 61 74 68 4f 76 65 72 72 69 64 65 57  ormPathOverrideW
10380 28 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20  (PCWSTR);..BOOL 
10390 53 65 74 75 70 53 65 74 53 6f 75 72 63 65 4c 69  SetupSetSourceLi
103a0 73 74 41 28 44 57 4f 52 44 2c 50 43 53 54 52 2a  stA(DWORD,PCSTR*
103b0 2c 55 49 4e 54 29 3b 0a 09 42 4f 4f 4c 20 53 65  ,UINT);..BOOL Se
103c0 74 75 70 53 65 74 53 6f 75 72 63 65 4c 69 73 74  tupSetSourceList
103d0 57 28 44 57 4f 52 44 2c 50 43 57 53 54 52 2a 2c  W(DWORD,PCWSTR*,
103e0 55 49 4e 54 29 3b 0a 09 56 4f 49 44 20 53 65 74  UINT);..VOID Set
103f0 75 70 54 65 72 6d 44 65 66 61 75 6c 74 51 75 65  upTermDefaultQue
10400 75 65 43 61 6c 6c 62 61 63 6b 28 50 56 4f 49 44  ueCallback(PVOID
10410 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 75 70 54 65  );..BOOL SetupTe
10420 72 6d 69 6e 61 74 65 46 69 6c 65 4c 6f 67 28 48  rminateFileLog(H
10430 53 50 46 49 4c 45 4c 4f 47 29 3b 0a 7d 0a 0a 64  SPFILELOG);.}..d
10440 65 70 72 65 63 61 74 65 64 20 7b 0a 09 61 6c 69  eprecated {..ali
10450 61 73 20 53 65 74 75 70 44 69 43 72 65 61 74 65  as SetupDiCreate
10460 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 57  DeviceInterfaceW
10470 20 53 65 74 75 70 44 69 43 72 65 61 74 65 49 6e   SetupDiCreateIn
10480 74 65 72 66 61 63 65 44 65 76 69 63 65 57 3b 0a  terfaceDeviceW;.
10490 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 72  .alias SetupDiCr
104a0 65 61 74 65 44 65 76 69 63 65 49 6e 74 65 72 66  eateDeviceInterf
104b0 61 63 65 52 65 67 4b 65 79 57 20 53 65 74 75 70  aceRegKeyW Setup
104c0 44 69 43 72 65 61 74 65 49 6e 74 65 72 66 61 63  DiCreateInterfac
104d0 65 44 65 76 69 63 65 52 65 67 4b 65 79 57 3b 0a  eDeviceRegKeyW;.
104e0 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 4f 70  .alias SetupDiOp
104f0 65 6e 44 65 76 69 63 65 49 6e 74 65 72 66 61 63  enDeviceInterfac
10500 65 57 20 53 65 74 75 70 44 69 4f 70 65 6e 49 6e  eW SetupDiOpenIn
10510 74 65 72 66 61 63 65 44 65 76 69 63 65 57 3b 0a  terfaceDeviceW;.
10520 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65  .alias SetupDiGe
10530 74 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65  tDeviceInterface
10540 44 65 74 61 69 6c 57 20 53 65 74 75 70 44 69 47  DetailW SetupDiG
10550 65 74 49 6e 74 65 72 66 61 63 65 44 65 76 69 63  etInterfaceDevic
10560 65 44 65 74 61 69 6c 57 3b 0a 09 61 6c 69 61 73  eDetailW;..alias
10570 20 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65   SetupDiCreateDe
10580 76 69 63 65 49 6e 74 65 72 66 61 63 65 41 20 53  viceInterfaceA S
10590 65 74 75 70 44 69 43 72 65 61 74 65 49 6e 74 65  etupDiCreateInte
105a0 72 66 61 63 65 44 65 76 69 63 65 41 3b 0a 09 61  rfaceDeviceA;..a
105b0 6c 69 61 73 20 53 65 74 75 70 44 69 43 72 65 61  lias SetupDiCrea
105c0 74 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63  teDeviceInterfac
105d0 65 52 65 67 4b 65 79 41 20 53 65 74 75 70 44 69  eRegKeyA SetupDi
105e0 43 72 65 61 74 65 49 6e 74 65 72 66 61 63 65 44  CreateInterfaceD
105f0 65 76 69 63 65 52 65 67 4b 65 79 41 3b 0a 09 61  eviceRegKeyA;..a
10600 6c 69 61 73 20 53 65 74 75 70 44 69 4f 70 65 6e  lias SetupDiOpen
10610 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 41  DeviceInterfaceA
10620 20 53 65 74 75 70 44 69 4f 70 65 6e 49 6e 74 65   SetupDiOpenInte
10630 72 66 61 63 65 44 65 76 69 63 65 41 3b 0a 09 61  rfaceDeviceA;..a
10640 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74 44  lias SetupDiGetD
10650 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 44 65  eviceInterfaceDe
10660 74 61 69 6c 41 20 53 65 74 75 70 44 69 47 65 74  tailA SetupDiGet
10670 49 6e 74 65 72 66 61 63 65 44 65 76 69 63 65 44  InterfaceDeviceD
10680 65 74 61 69 6c 41 3b 0a 7d 0a 0a 76 65 72 73 69  etailA;.}..versi
10690 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09  on (Unicode) {..
106a0 61 6c 69 61 73 20 50 53 50 5f 46 49 4c 45 5f 43  alias PSP_FILE_C
106b0 41 4c 4c 42 41 43 4b 5f 57 20 50 53 50 5f 46 49  ALLBACK_W PSP_FI
106c0 4c 45 5f 43 41 4c 4c 42 41 43 4b 3b 0a 09 61 6c  LE_CALLBACK;..al
106d0 69 61 73 20 53 65 74 75 70 41 64 64 49 6e 73 74  ias SetupAddInst
106e0 61 6c 6c 53 65 63 74 69 6f 6e 54 6f 44 69 73 6b  allSectionToDisk
106f0 53 70 61 63 65 4c 69 73 74 57 20 53 65 74 75 70  SpaceListW Setup
10700 41 64 64 49 6e 73 74 61 6c 6c 53 65 63 74 69 6f  AddInstallSectio
10710 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73 74  nToDiskSpaceList
10720 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 41 64  ;..alias SetupAd
10730 64 53 65 63 74 69 6f 6e 54 6f 44 69 73 6b 53 70  dSectionToDiskSp
10740 61 63 65 4c 69 73 74 57 20 53 65 74 75 70 41 64  aceListW SetupAd
10750 64 53 65 63 74 69 6f 6e 54 6f 44 69 73 6b 53 70  dSectionToDiskSp
10760 61 63 65 4c 69 73 74 3b 0a 09 61 6c 69 61 73 20  aceList;..alias 
10770 53 65 74 75 70 41 64 64 54 6f 44 69 73 6b 53 70  SetupAddToDiskSp
10780 61 63 65 4c 69 73 74 57 20 53 65 74 75 70 41 64  aceListW SetupAd
10790 64 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73 74  dToDiskSpaceList
107a0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 41 64  ;..alias SetupAd
107b0 64 54 6f 53 6f 75 72 63 65 4c 69 73 74 57 20 53  dToSourceListW S
107c0 65 74 75 70 41 64 64 54 6f 53 6f 75 72 63 65 4c  etupAddToSourceL
107d0 69 73 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  ist;..alias Setu
107e0 70 41 64 6a 75 73 74 44 69 73 6b 53 70 61 63 65  pAdjustDiskSpace
107f0 4c 69 73 74 57 20 53 65 74 75 70 41 64 6a 75 73  ListW SetupAdjus
10800 74 44 69 73 6b 53 70 61 63 65 4c 69 73 74 3b 0a  tDiskSpaceList;.
10810 09 61 6c 69 61 73 20 53 65 74 75 70 42 61 63 6b  .alias SetupBack
10820 75 70 45 72 72 6f 72 57 20 53 65 74 75 70 42 61  upErrorW SetupBa
10830 63 6b 75 70 45 72 72 6f 72 3b 0a 09 61 6c 69 61  ckupError;..alia
10840 73 20 53 65 74 75 70 43 6f 6d 6d 69 74 46 69 6c  s SetupCommitFil
10850 65 51 75 65 75 65 57 20 53 65 74 75 70 43 6f 6d  eQueueW SetupCom
10860 6d 69 74 46 69 6c 65 51 75 65 75 65 3b 0a 09 61  mitFileQueue;..a
10870 6c 69 61 73 20 53 65 74 75 70 43 6f 70 79 45 72  lias SetupCopyEr
10880 72 6f 72 57 20 53 65 74 75 70 43 6f 70 79 45 72  rorW SetupCopyEr
10890 72 6f 72 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  ror;..alias Setu
108a0 70 43 6f 70 79 4f 45 4d 49 6e 66 57 20 53 65 74  pCopyOEMInfW Set
108b0 75 70 43 6f 70 79 4f 45 4d 49 6e 66 3b 0a 09 61  upCopyOEMInf;..a
108c0 6c 69 61 73 20 53 65 74 75 70 43 72 65 61 74 65  lias SetupCreate
108d0 44 69 73 6b 53 70 61 63 65 4c 69 73 74 57 20 53  DiskSpaceListW S
108e0 65 74 75 70 43 72 65 61 74 65 44 69 73 6b 53 70  etupCreateDiskSp
108f0 61 63 65 4c 69 73 74 3b 0a 09 61 6c 69 61 73 20  aceList;..alias 
10900 53 65 74 75 70 44 65 63 6f 6d 70 72 65 73 73 4f  SetupDecompressO
10910 72 43 6f 70 79 46 69 6c 65 57 20 53 65 74 75 70  rCopyFileW Setup
10920 44 65 63 6f 6d 70 72 65 73 73 4f 72 43 6f 70 79  DecompressOrCopy
10930 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 53 65 74  File;..alias Set
10940 75 70 44 65 66 61 75 6c 74 51 75 65 75 65 43 61  upDefaultQueueCa
10950 6c 6c 62 61 63 6b 57 20 53 65 74 75 70 44 65 66  llbackW SetupDef
10960 61 75 6c 74 51 75 65 75 65 43 61 6c 6c 62 61 63  aultQueueCallbac
10970 6b 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  k;..alias SetupD
10980 65 6c 65 74 65 45 72 72 6f 72 57 20 53 65 74 75  eleteErrorW Setu
10990 70 44 65 6c 65 74 65 45 72 72 6f 72 3b 0a 09 61  pDeleteError;..a
109a0 6c 69 61 73 20 53 65 74 75 70 44 69 42 75 69 6c  lias SetupDiBuil
109b0 64 43 6c 61 73 73 49 6e 66 6f 4c 69 73 74 45 78  dClassInfoListEx
109c0 57 20 53 65 74 75 70 44 69 42 75 69 6c 64 43 6c  W SetupDiBuildCl
109d0 61 73 73 49 6e 66 6f 4c 69 73 74 45 78 3b 0a 09  assInfoListEx;..
109e0 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 6c 61  alias SetupDiCla
109f0 73 73 47 75 69 64 73 46 72 6f 6d 4e 61 6d 65 45  ssGuidsFromNameE
10a00 78 57 20 53 65 74 75 70 44 69 43 6c 61 73 73 47  xW SetupDiClassG
10a10 75 69 64 73 46 72 6f 6d 4e 61 6d 65 45 78 3b 0a  uidsFromNameEx;.
10a20 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 6c  .alias SetupDiCl
10a30 61 73 73 47 75 69 64 73 46 72 6f 6d 4e 61 6d 65  assGuidsFromName
10a40 57 20 53 65 74 75 70 44 69 43 6c 61 73 73 47 75  W SetupDiClassGu
10a50 69 64 73 46 72 6f 6d 4e 61 6d 65 3b 0a 09 61 6c  idsFromName;..al
10a60 69 61 73 20 53 65 74 75 70 44 69 43 6c 61 73 73  ias SetupDiClass
10a70 4e 61 6d 65 46 72 6f 6d 47 75 69 64 45 78 57 20  NameFromGuidExW 
10a80 53 65 74 75 70 44 69 43 6c 61 73 73 4e 61 6d 65  SetupDiClassName
10a90 46 72 6f 6d 47 75 69 64 45 78 3b 0a 09 61 6c 69  FromGuidEx;..ali
10aa0 61 73 20 53 65 74 75 70 44 69 43 6c 61 73 73 4e  as SetupDiClassN
10ab0 61 6d 65 46 72 6f 6d 47 75 69 64 57 20 53 65 74  ameFromGuidW Set
10ac0 75 70 44 69 43 6c 61 73 73 4e 61 6d 65 46 72 6f  upDiClassNameFro
10ad0 6d 47 75 69 64 3b 0a 09 61 6c 69 61 73 20 53 65  mGuid;..alias Se
10ae0 74 75 70 44 69 43 72 65 61 74 65 44 65 76 69 63  tupDiCreateDevic
10af0 65 49 6e 66 6f 4c 69 73 74 45 78 57 20 53 65 74  eInfoListExW Set
10b00 75 70 44 69 43 72 65 61 74 65 44 65 76 69 63 65  upDiCreateDevice
10b10 49 6e 66 6f 4c 69 73 74 45 78 3b 0a 09 61 6c 69  InfoListEx;..ali
10b20 61 73 20 53 65 74 75 70 44 69 43 72 65 61 74 65  as SetupDiCreate
10b30 44 65 76 69 63 65 49 6e 66 6f 57 20 53 65 74 75  DeviceInfoW Setu
10b40 70 44 69 43 72 65 61 74 65 44 65 76 69 63 65 49  pDiCreateDeviceI
10b50 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  nfo;..alias Setu
10b60 70 44 69 43 72 65 61 74 65 44 65 76 69 63 65 49  pDiCreateDeviceI
10b70 6e 74 65 72 66 61 63 65 52 65 67 4b 65 79 57 20  nterfaceRegKeyW 
10b80 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65 76  SetupDiCreateDev
10b90 69 63 65 49 6e 74 65 72 66 61 63 65 52 65 67 4b  iceInterfaceRegK
10ba0 65 79 3b 0a 09 64 65 70 72 65 63 61 74 65 64 20  ey;..deprecated 
10bb0 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 72 65  alias SetupDiCre
10bc0 61 74 65 44 65 76 69 63 65 49 6e 74 65 72 66 61  ateDeviceInterfa
10bd0 63 65 52 65 67 4b 65 79 57 20 53 65 74 75 70 44  ceRegKeyW SetupD
10be0 69 43 72 65 61 74 65 49 6e 74 65 72 66 61 63 65  iCreateInterface
10bf0 44 65 76 69 63 65 52 65 67 4b 65 79 3b 0a 09 61  DeviceRegKey;..a
10c00 6c 69 61 73 20 53 65 74 75 70 44 69 43 72 65 61  lias SetupDiCrea
10c10 74 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63  teDeviceInterfac
10c20 65 57 20 53 65 74 75 70 44 69 43 72 65 61 74 65  eW SetupDiCreate
10c30 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 3b  DeviceInterface;
10c40 0a 09 64 65 70 72 65 63 61 74 65 64 20 61 6c 69  ..deprecated ali
10c50 61 73 20 53 65 74 75 70 44 69 43 72 65 61 74 65  as SetupDiCreate
10c60 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 57  DeviceInterfaceW
10c70 20 53 65 74 75 70 44 69 43 72 65 61 74 65 49 6e   SetupDiCreateIn
10c80 74 65 72 66 61 63 65 44 65 76 69 63 65 3b 0a 09  terfaceDevice;..
10c90 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 72 65  alias SetupDiCre
10ca0 61 74 65 44 65 76 52 65 67 4b 65 79 57 20 53 65  ateDevRegKeyW Se
10cb0 74 75 70 44 69 43 72 65 61 74 65 44 65 76 52 65  tupDiCreateDevRe
10cc0 67 4b 65 79 3b 0a 09 61 6c 69 61 73 20 53 65 74  gKey;..alias Set
10cd0 75 70 44 69 45 6e 75 6d 44 72 69 76 65 72 49 6e  upDiEnumDriverIn
10ce0 66 6f 57 20 53 65 74 75 70 44 69 45 6e 75 6d 44  foW SetupDiEnumD
10cf0 72 69 76 65 72 49 6e 66 6f 3b 0a 09 61 6c 69 61  riverInfo;..alia
10d00 73 20 53 65 74 75 70 44 69 47 65 74 41 63 74 75  s SetupDiGetActu
10d10 61 6c 53 65 63 74 69 6f 6e 54 6f 49 6e 73 74 61  alSectionToInsta
10d20 6c 6c 57 20 53 65 74 75 70 44 69 47 65 74 41 63  llW SetupDiGetAc
10d30 74 75 61 6c 53 65 63 74 69 6f 6e 54 6f 49 6e 73  tualSectionToIns
10d40 74 61 6c 6c 3b 0a 09 61 6c 69 61 73 20 53 65 74  tall;..alias Set
10d50 75 70 44 69 47 65 74 43 6c 61 73 73 44 65 73 63  upDiGetClassDesc
10d60 72 69 70 74 69 6f 6e 45 78 57 20 53 65 74 75 70  riptionExW Setup
10d70 44 69 47 65 74 43 6c 61 73 73 44 65 73 63 72 69  DiGetClassDescri
10d80 70 74 69 6f 6e 45 78 3b 0a 09 61 6c 69 61 73 20  ptionEx;..alias 
10d90 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44  SetupDiGetClassD
10da0 65 73 63 72 69 70 74 69 6f 6e 57 20 53 65 74 75  escriptionW Setu
10db0 70 44 69 47 65 74 43 6c 61 73 73 44 65 73 63 72  pDiGetClassDescr
10dc0 69 70 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53  iption;..alias S
10dd0 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65  etupDiGetClassDe
10de0 76 50 72 6f 70 65 72 74 79 53 68 65 65 74 73 57  vPropertySheetsW
10df0 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73   SetupDiGetClass
10e00 44 65 76 50 72 6f 70 65 72 74 79 53 68 65 65 74  DevPropertySheet
10e10 73 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  s;..alias SetupD
10e20 69 47 65 74 43 6c 61 73 73 44 65 76 73 45 78 57  iGetClassDevsExW
10e30 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73   SetupDiGetClass
10e40 44 65 76 73 45 78 3b 0a 09 61 6c 69 61 73 20 53  DevsEx;..alias S
10e50 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65  etupDiGetClassDe
10e60 76 73 57 20 53 65 74 75 70 44 69 47 65 74 43 6c  vsW SetupDiGetCl
10e70 61 73 73 44 65 76 73 3b 0a 09 61 6c 69 61 73 20  assDevs;..alias 
10e80 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 49  SetupDiGetClassI
10e90 6d 61 67 65 4c 69 73 74 45 78 57 20 53 65 74 75  mageListExW Setu
10ea0 70 44 69 47 65 74 43 6c 61 73 73 49 6d 61 67 65  pDiGetClassImage
10eb0 4c 69 73 74 45 78 3b 0a 09 61 6c 69 61 73 20 53  ListEx;..alias S
10ec0 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 49 6e  etupDiGetClassIn
10ed0 73 74 61 6c 6c 50 61 72 61 6d 73 57 20 53 65 74  stallParamsW Set
10ee0 75 70 44 69 47 65 74 43 6c 61 73 73 49 6e 73 74  upDiGetClassInst
10ef0 61 6c 6c 50 61 72 61 6d 73 3b 0a 09 61 6c 69 61  allParams;..alia
10f00 73 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73  s SetupDiGetClas
10f10 73 52 65 67 69 73 74 72 79 50 72 6f 70 65 72 74  sRegistryPropert
10f20 79 57 20 53 65 74 75 70 44 69 47 65 74 43 6c 61  yW SetupDiGetCla
10f30 73 73 52 65 67 69 73 74 72 79 50 72 6f 70 65 72  ssRegistryProper
10f40 74 79 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70  ty;..alias Setup
10f50 44 69 47 65 74 44 65 76 69 63 65 49 6e 66 6f 4c  DiGetDeviceInfoL
10f60 69 73 74 44 65 74 61 69 6c 57 20 53 65 74 75 70  istDetailW Setup
10f70 44 69 47 65 74 44 65 76 69 63 65 49 6e 66 6f 4c  DiGetDeviceInfoL
10f80 69 73 74 44 65 74 61 69 6c 3b 0a 09 61 6c 69 61  istDetail;..alia
10f90 73 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69  s SetupDiGetDevi
10fa0 63 65 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 57  ceInstallParamsW
10fb0 20 53 65 74 75 70 44 69 47 65 74 44 65 76 69 63   SetupDiGetDevic
10fc0 65 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 3b 0a  eInstallParams;.
10fd0 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65  .alias SetupDiGe
10fe0 74 44 65 76 69 63 65 49 6e 73 74 61 6e 63 65 49  tDeviceInstanceI
10ff0 64 57 20 53 65 74 75 70 44 69 47 65 74 44 65 76  dW SetupDiGetDev
11000 69 63 65 49 6e 73 74 61 6e 63 65 49 64 3b 0a 09  iceInstanceId;..
11010 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74  alias SetupDiGet
11020 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 44  DeviceInterfaceD
11030 65 74 61 69 6c 57 20 53 65 74 75 70 44 69 47 65  etailW SetupDiGe
11040 74 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65  tDeviceInterface
11050 44 65 74 61 69 6c 3b 0a 09 64 65 70 72 65 63 61  Detail;..depreca
11060 74 65 64 20 61 6c 69 61 73 20 53 65 74 75 70 44  ted alias SetupD
11070 69 47 65 74 44 65 76 69 63 65 49 6e 74 65 72 66  iGetDeviceInterf
11080 61 63 65 44 65 74 61 69 6c 57 20 53 65 74 75 70  aceDetailW Setup
11090 44 69 47 65 74 49 6e 74 65 72 66 61 63 65 44 65  DiGetInterfaceDe
110a0 76 69 63 65 44 65 74 61 69 6c 3b 0a 09 61 6c 69  viceDetail;..ali
110b0 61 73 20 53 65 74 75 70 44 69 47 65 74 44 65 76  as SetupDiGetDev
110c0 69 63 65 52 65 67 69 73 74 72 79 50 72 6f 70 65  iceRegistryPrope
110d0 72 74 79 57 20 53 65 74 75 70 44 69 47 65 74 44  rtyW SetupDiGetD
110e0 65 76 69 63 65 52 65 67 69 73 74 72 79 50 72 6f  eviceRegistryPro
110f0 70 65 72 74 79 3b 0a 09 61 6c 69 61 73 20 53 65  perty;..alias Se
11100 74 75 70 44 69 47 65 74 44 72 69 76 65 72 49 6e  tupDiGetDriverIn
11110 66 6f 44 65 74 61 69 6c 57 20 53 65 74 75 70 44  foDetailW SetupD
11120 69 47 65 74 44 72 69 76 65 72 49 6e 66 6f 44 65  iGetDriverInfoDe
11130 74 61 69 6c 3b 0a 09 61 6c 69 61 73 20 53 65 74  tail;..alias Set
11140 75 70 44 69 47 65 74 44 72 69 76 65 72 49 6e 73  upDiGetDriverIns
11150 74 61 6c 6c 50 61 72 61 6d 73 57 20 53 65 74 75  tallParamsW Setu
11160 70 44 69 47 65 74 44 72 69 76 65 72 49 6e 73 74  pDiGetDriverInst
11170 61 6c 6c 50 61 72 61 6d 73 3b 0a 09 61 6c 69 61  allParams;..alia
11180 73 20 53 65 74 75 70 44 69 47 65 74 48 77 50 72  s SetupDiGetHwPr
11190 6f 66 69 6c 65 46 72 69 65 6e 64 6c 79 4e 61 6d  ofileFriendlyNam
111a0 65 45 78 57 20 53 65 74 75 70 44 69 47 65 74 48  eExW SetupDiGetH
111b0 77 50 72 6f 66 69 6c 65 46 72 69 65 6e 64 6c 79  wProfileFriendly
111c0 4e 61 6d 65 45 78 3b 0a 09 61 6c 69 61 73 20 53  NameEx;..alias S
111d0 65 74 75 70 44 69 47 65 74 48 77 50 72 6f 66 69  etupDiGetHwProfi
111e0 6c 65 46 72 69 65 6e 64 6c 79 4e 61 6d 65 57 20  leFriendlyNameW 
111f0 53 65 74 75 70 44 69 47 65 74 48 77 50 72 6f 66  SetupDiGetHwProf
11200 69 6c 65 46 72 69 65 6e 64 6c 79 4e 61 6d 65 3b  ileFriendlyName;
11210 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 47  ..alias SetupDiG
11220 65 74 48 77 50 72 6f 66 69 6c 65 4c 69 73 74 45  etHwProfileListE
11230 78 57 20 53 65 74 75 70 44 69 47 65 74 48 77 50  xW SetupDiGetHwP
11240 72 6f 66 69 6c 65 4c 69 73 74 45 78 3b 0a 09 61  rofileListEx;..a
11250 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74 49  lias SetupDiGetI
11260 4e 46 43 6c 61 73 73 57 20 53 65 74 75 70 44 69  NFClassW SetupDi
11270 47 65 74 49 4e 46 43 6c 61 73 73 3b 0a 09 61 6c  GetINFClass;..al
11280 69 61 73 20 53 65 74 75 70 44 69 47 65 74 53 65  ias SetupDiGetSe
11290 6c 65 63 74 65 64 44 72 69 76 65 72 57 20 53 65  lectedDriverW Se
112a0 74 75 70 44 69 47 65 74 53 65 6c 65 63 74 65 64  tupDiGetSelected
112b0 44 72 69 76 65 72 3b 0a 09 61 6c 69 61 73 20 53  Driver;..alias S
112c0 65 74 75 70 44 69 49 6e 73 74 61 6c 6c 43 6c 61  etupDiInstallCla
112d0 73 73 45 78 57 20 53 65 74 75 70 44 69 49 6e 73  ssExW SetupDiIns
112e0 74 61 6c 6c 43 6c 61 73 73 45 78 3b 0a 09 61 6c  tallClassEx;..al
112f0 69 61 73 20 53 65 74 75 70 44 69 49 6e 73 74 61  ias SetupDiInsta
11300 6c 6c 43 6c 61 73 73 57 20 53 65 74 75 70 44 69  llClassW SetupDi
11310 49 6e 73 74 61 6c 6c 43 6c 61 73 73 3b 0a 09 61  InstallClass;..a
11320 6c 69 61 73 20 53 65 74 75 70 44 69 4f 70 65 6e  lias SetupDiOpen
11330 43 6c 61 73 73 52 65 67 4b 65 79 45 78 57 20 53  ClassRegKeyExW S
11340 65 74 75 70 44 69 4f 70 65 6e 43 6c 61 73 73 52  etupDiOpenClassR
11350 65 67 4b 65 79 45 78 3b 0a 09 61 6c 69 61 73 20  egKeyEx;..alias 
11360 53 65 74 75 70 44 69 4f 70 65 6e 44 65 76 69 63  SetupDiOpenDevic
11370 65 49 6e 66 6f 57 20 53 65 74 75 70 44 69 4f 70  eInfoW SetupDiOp
11380 65 6e 44 65 76 69 63 65 49 6e 66 6f 3b 0a 09 61  enDeviceInfo;..a
11390 6c 69 61 73 20 53 65 74 75 70 44 69 4f 70 65 6e  lias SetupDiOpen
113a0 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 57  DeviceInterfaceW
113b0 20 53 65 74 75 70 44 69 4f 70 65 6e 44 65 76 69   SetupDiOpenDevi
113c0 63 65 49 6e 74 65 72 66 61 63 65 3b 0a 09 64 65  ceInterface;..de
113d0 70 72 65 63 61 74 65 64 20 61 6c 69 61 73 20 53  precated alias S
113e0 65 74 75 70 44 69 4f 70 65 6e 44 65 76 69 63 65  etupDiOpenDevice
113f0 49 6e 74 65 72 66 61 63 65 57 20 53 65 74 75 70  InterfaceW Setup
11400 44 69 4f 70 65 6e 49 6e 74 65 72 66 61 63 65 44  DiOpenInterfaceD
11410 65 76 69 63 65 3b 0a 09 61 6c 69 61 73 20 53 65  evice;..alias Se
11420 74 75 70 44 69 53 65 74 43 6c 61 73 73 49 6e 73  tupDiSetClassIns
11430 74 61 6c 6c 50 61 72 61 6d 73 57 20 53 65 74 75  tallParamsW Setu
11440 70 44 69 53 65 74 43 6c 61 73 73 49 6e 73 74 61  pDiSetClassInsta
11450 6c 6c 50 61 72 61 6d 73 3b 0a 09 61 6c 69 61 73  llParams;..alias
11460 20 53 65 74 75 70 44 69 53 65 74 43 6c 61 73 73   SetupDiSetClass
11470 52 65 67 69 73 74 72 79 50 72 6f 70 65 72 74 79  RegistryProperty
11480 57 20 53 65 74 75 70 44 69 53 65 74 43 6c 61 73  W SetupDiSetClas
11490 73 52 65 67 69 73 74 72 79 50 72 6f 70 65 72 74  sRegistryPropert
114a0 79 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  y;..alias SetupD
114b0 69 53 65 74 44 65 76 69 63 65 49 6e 73 74 61 6c  iSetDeviceInstal
114c0 6c 50 61 72 61 6d 73 57 20 53 65 74 75 70 44 69  lParamsW SetupDi
114d0 53 65 74 44 65 76 69 63 65 49 6e 73 74 61 6c 6c  SetDeviceInstall
114e0 50 61 72 61 6d 73 3b 0a 09 61 6c 69 61 73 20 53  Params;..alias S
114f0 65 74 75 70 44 69 53 65 74 44 65 76 69 63 65 52  etupDiSetDeviceR
11500 65 67 69 73 74 72 79 50 72 6f 70 65 72 74 79 57  egistryPropertyW
11510 20 53 65 74 75 70 44 69 53 65 74 44 65 76 69 63   SetupDiSetDevic
11520 65 52 65 67 69 73 74 72 79 50 72 6f 70 65 72 74  eRegistryPropert
11530 79 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  y;..alias SetupD
11540 69 53 65 74 44 72 69 76 65 72 49 6e 73 74 61 6c  iSetDriverInstal
11550 6c 50 61 72 61 6d 73 57 20 53 65 74 75 70 44 69  lParamsW SetupDi
11560 53 65 74 44 72 69 76 65 72 49 6e 73 74 61 6c 6c  SetDriverInstall
11570 50 61 72 61 6d 73 3b 0a 09 61 6c 69 61 73 20 53  Params;..alias S
11580 65 74 75 70 44 69 53 65 74 53 65 6c 65 63 74 65  etupDiSetSelecte
11590 64 44 72 69 76 65 72 57 20 53 65 74 75 70 44 69  dDriverW SetupDi
115a0 53 65 74 53 65 6c 65 63 74 65 64 44 72 69 76 65  SetSelectedDrive
115b0 72 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  r;..alias SetupD
115c0 75 70 6c 69 63 61 74 65 44 69 73 6b 53 70 61 63  uplicateDiskSpac
115d0 65 4c 69 73 74 57 20 53 65 74 75 70 44 75 70 6c  eListW SetupDupl
115e0 69 63 61 74 65 44 69 73 6b 53 70 61 63 65 4c 69  icateDiskSpaceLi
115f0 73 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70  st;..alias Setup
11600 46 69 6e 64 46 69 72 73 74 4c 69 6e 65 57 20 53  FindFirstLineW S
11610 65 74 75 70 46 69 6e 64 46 69 72 73 74 4c 69 6e  etupFindFirstLin
11620 65 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 46  e;..alias SetupF
11630 69 6e 64 4e 65 78 74 4d 61 74 63 68 4c 69 6e 65  indNextMatchLine
11640 57 20 53 65 74 75 70 46 69 6e 64 4e 65 78 74 4d  W SetupFindNextM
11650 61 74 63 68 4c 69 6e 65 3b 0a 09 61 6c 69 61 73  atchLine;..alias
11660 20 53 65 74 75 70 46 72 65 65 53 6f 75 72 63 65   SetupFreeSource
11670 4c 69 73 74 57 20 53 65 74 75 70 46 72 65 65 53  ListW SetupFreeS
11680 6f 75 72 63 65 4c 69 73 74 3b 0a 09 61 6c 69 61  ourceList;..alia
11690 73 20 53 65 74 75 70 47 65 74 42 61 63 6b 75 70  s SetupGetBackup
116a0 49 6e 66 6f 72 6d 61 74 69 6f 6e 57 20 53 65 74  InformationW Set
116b0 75 70 47 65 74 42 61 63 6b 75 70 49 6e 66 6f 72  upGetBackupInfor
116c0 6d 61 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53  mation;..alias S
116d0 65 74 75 70 47 65 74 46 69 6c 65 43 6f 6d 70 72  etupGetFileCompr
116e0 65 73 73 69 6f 6e 49 6e 66 6f 57 20 53 65 74 75  essionInfoW Setu
116f0 70 47 65 74 46 69 6c 65 43 6f 6d 70 72 65 73 73  pGetFileCompress
11700 69 6f 6e 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20  ionInfo;..alias 
11710 53 65 74 75 70 47 65 74 49 6e 66 46 69 6c 65 4c  SetupGetInfFileL
11720 69 73 74 57 20 53 65 74 75 70 47 65 74 49 6e 66  istW SetupGetInf
11730 46 69 6c 65 4c 69 73 74 3b 0a 09 61 6c 69 61 73  FileList;..alias
11740 20 53 65 74 75 70 47 65 74 49 6e 66 49 6e 66 6f   SetupGetInfInfo
11750 72 6d 61 74 69 6f 6e 57 20 53 65 74 75 70 47 65  rmationW SetupGe
11760 74 49 6e 66 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b  tInfInformation;
11770 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47 65 74  ..alias SetupGet
11780 4c 69 6e 65 42 79 49 6e 64 65 78 57 20 53 65 74  LineByIndexW Set
11790 75 70 47 65 74 4c 69 6e 65 42 79 49 6e 64 65 78  upGetLineByIndex
117a0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47 65  ;..alias SetupGe
117b0 74 4c 69 6e 65 43 6f 75 6e 74 57 20 53 65 74 75  tLineCountW Setu
117c0 70 47 65 74 4c 69 6e 65 43 6f 75 6e 74 3b 0a 09  pGetLineCount;..
117d0 61 6c 69 61 73 20 53 65 74 75 70 47 65 74 4c 69  alias SetupGetLi
117e0 6e 65 54 65 78 74 57 20 53 65 74 75 70 47 65 74  neTextW SetupGet
117f0 4c 69 6e 65 54 65 78 74 3b 0a 09 61 6c 69 61 73  LineText;..alias
11800 20 53 65 74 75 70 47 65 74 4d 75 6c 74 69 53 7a   SetupGetMultiSz
11810 46 69 65 6c 64 57 20 53 65 74 75 70 47 65 74 4d  FieldW SetupGetM
11820 75 6c 74 69 53 7a 46 69 65 6c 64 3b 0a 09 61 6c  ultiSzField;..al
11830 69 61 73 20 53 65 74 75 70 47 65 74 53 6f 75 72  ias SetupGetSour
11840 63 65 46 69 6c 65 4c 6f 63 61 74 69 6f 6e 57 20  ceFileLocationW 
11850 53 65 74 75 70 47 65 74 53 6f 75 72 63 65 46 69  SetupGetSourceFi
11860 6c 65 4c 6f 63 61 74 69 6f 6e 3b 0a 09 61 6c 69  leLocation;..ali
11870 61 73 20 53 65 74 75 70 47 65 74 53 6f 75 72 63  as SetupGetSourc
11880 65 46 69 6c 65 53 69 7a 65 57 20 53 65 74 75 70  eFileSizeW Setup
11890 47 65 74 53 6f 75 72 63 65 46 69 6c 65 53 69 7a  GetSourceFileSiz
118a0 65 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47  e;..alias SetupG
118b0 65 74 53 6f 75 72 63 65 49 6e 66 6f 57 20 53 65  etSourceInfoW Se
118c0 74 75 70 47 65 74 53 6f 75 72 63 65 49 6e 66 6f  tupGetSourceInfo
118d0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47 65  ;..alias SetupGe
118e0 74 53 74 72 69 6e 67 46 69 65 6c 64 57 20 53 65  tStringFieldW Se
118f0 74 75 70 47 65 74 53 74 72 69 6e 67 46 69 65 6c  tupGetStringFiel
11900 64 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47  d;..alias SetupG
11910 65 74 54 61 72 67 65 74 50 61 74 68 57 20 53 65  etTargetPathW Se
11920 74 75 70 47 65 74 54 61 72 67 65 74 50 61 74 68  tupGetTargetPath
11930 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 49 6e  ;..alias SetupIn
11940 69 74 69 61 6c 69 7a 65 46 69 6c 65 4c 6f 67 57  itializeFileLogW
11950 20 53 65 74 75 70 49 6e 69 74 69 61 6c 69 7a 65   SetupInitialize
11960 46 69 6c 65 4c 6f 67 3b 0a 09 61 6c 69 61 73 20  FileLog;..alias 
11970 53 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65  SetupInstallFile
11980 45 78 57 20 53 65 74 75 70 49 6e 73 74 61 6c 6c  ExW SetupInstall
11990 46 69 6c 65 45 78 3b 0a 09 61 6c 69 61 73 20 53  FileEx;..alias S
119a0 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65 73  etupInstallFiles
119b0 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 57 20  FromInfSectionW 
119c0 53 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65  SetupInstallFile
119d0 73 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 3b  sFromInfSection;
119e0 0a 09 61 6c 69 61 73 20 53 65 74 75 70 49 6e 73  ..alias SetupIns
119f0 74 61 6c 6c 46 69 6c 65 57 20 53 65 74 75 70 49  tallFileW SetupI
11a00 6e 73 74 61 6c 6c 46 69 6c 65 3b 0a 09 61 6c 69  nstallFile;..ali
11a10 61 73 20 53 65 74 75 70 49 6e 73 74 61 6c 6c 46  as SetupInstallF
11a20 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 57 20 53  romInfSectionW S
11a30 65 74 75 70 49 6e 73 74 61 6c 6c 46 72 6f 6d 49  etupInstallFromI
11a40 6e 66 53 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61  nfSection;..alia
11a50 73 20 53 65 74 75 70 49 6e 73 74 61 6c 6c 53 65  s SetupInstallSe
11a60 72 76 69 63 65 73 46 72 6f 6d 49 6e 66 53 65 63  rvicesFromInfSec
11a70 74 69 6f 6e 45 78 57 20 53 65 74 75 70 49 6e 73  tionExW SetupIns
11a80 74 61 6c 6c 53 65 72 76 69 63 65 73 46 72 6f 6d  tallServicesFrom
11a90 49 6e 66 53 65 63 74 69 6f 6e 45 78 3b 0a 09 61  InfSectionEx;..a
11aa0 6c 69 61 73 20 53 65 74 75 70 49 6e 73 74 61 6c  lias SetupInstal
11ab0 6c 53 65 72 76 69 63 65 73 46 72 6f 6d 49 6e 66  lServicesFromInf
11ac0 53 65 63 74 69 6f 6e 57 20 53 65 74 75 70 49 6e  SectionW SetupIn
11ad0 73 74 61 6c 6c 53 65 72 76 69 63 65 73 46 72 6f  stallServicesFro
11ae0 6d 49 6e 66 53 65 63 74 69 6f 6e 3b 0a 09 61 6c  mInfSection;..al
11af0 69 61 73 20 53 65 74 75 70 49 74 65 72 61 74 65  ias SetupIterate
11b00 43 61 62 69 6e 65 74 57 20 53 65 74 75 70 49 74  CabinetW SetupIt
11b10 65 72 61 74 65 43 61 62 69 6e 65 74 3b 0a 09 61  erateCabinet;..a
11b20 6c 69 61 73 20 53 65 74 75 70 4c 6f 67 45 72 72  lias SetupLogErr
11b30 6f 72 57 20 53 65 74 75 70 4c 6f 67 45 72 72 6f  orW SetupLogErro
11b40 72 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 4c  r;..alias SetupL
11b50 6f 67 46 69 6c 65 57 20 53 65 74 75 70 4c 6f 67  ogFileW SetupLog
11b60 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 53 65 74  File;..alias Set
11b70 75 70 4f 70 65 6e 41 70 70 65 6e 64 49 6e 66 46  upOpenAppendInfF
11b80 69 6c 65 57 20 53 65 74 75 70 4f 70 65 6e 41 70  ileW SetupOpenAp
11b90 70 65 6e 64 49 6e 66 46 69 6c 65 3b 0a 09 61 6c  pendInfFile;..al
11ba0 69 61 73 20 53 65 74 75 70 4f 70 65 6e 49 6e 66  ias SetupOpenInf
11bb0 46 69 6c 65 57 20 53 65 74 75 70 4f 70 65 6e 49  FileW SetupOpenI
11bc0 6e 66 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 53  nfFile;..alias S
11bd0 65 74 75 70 50 72 6f 6d 70 74 46 6f 72 44 69 73  etupPromptForDis
11be0 6b 57 20 53 65 74 75 70 50 72 6f 6d 70 74 46 6f  kW SetupPromptFo
11bf0 72 44 69 73 6b 3b 0a 09 61 6c 69 61 73 20 53 65  rDisk;..alias Se
11c00 74 75 70 51 75 65 72 79 44 72 69 76 65 73 49 6e  tupQueryDrivesIn
11c10 44 69 73 6b 53 70 61 63 65 4c 69 73 74 57 20 53  DiskSpaceListW S
11c20 65 74 75 70 51 75 65 72 79 44 72 69 76 65 73 49  etupQueryDrivesI
11c30 6e 44 69 73 6b 53 70 61 63 65 4c 69 73 74 3b 0a  nDiskSpaceList;.
11c40 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65 72  .alias SetupQuer
11c50 79 46 69 6c 65 4c 6f 67 57 20 53 65 74 75 70 51  yFileLogW SetupQ
11c60 75 65 72 79 46 69 6c 65 4c 6f 67 3b 0a 09 61 6c  ueryFileLog;..al
11c70 69 61 73 20 53 65 74 75 70 51 75 65 72 79 49 6e  ias SetupQueryIn
11c80 66 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e  fFileInformation
11c90 57 20 53 65 74 75 70 51 75 65 72 79 49 6e 66 46  W SetupQueryInfF
11ca0 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a  ileInformation;.
11cb0 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65 72  .alias SetupQuer
11cc0 79 49 6e 66 4f 72 69 67 69 6e 61 6c 46 69 6c 65  yInfOriginalFile
11cd0 49 6e 66 6f 72 6d 61 74 69 6f 6e 57 20 53 65 74  InformationW Set
11ce0 75 70 51 75 65 72 79 49 6e 66 4f 72 69 67 69 6e  upQueryInfOrigin
11cf0 61 6c 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f  alFileInformatio
11d00 6e 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51  n;..alias SetupQ
11d10 75 65 72 79 49 6e 66 56 65 72 73 69 6f 6e 49 6e  ueryInfVersionIn
11d20 66 6f 72 6d 61 74 69 6f 6e 57 20 53 65 74 75 70  formationW Setup
11d30 51 75 65 72 79 49 6e 66 56 65 72 73 69 6f 6e 49  QueryInfVersionI
11d40 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 61 6c 69  nformation;..ali
11d50 61 73 20 53 65 74 75 70 51 75 65 72 79 53 6f 75  as SetupQuerySou
11d60 72 63 65 4c 69 73 74 57 20 53 65 74 75 70 51 75  rceListW SetupQu
11d70 65 72 79 53 6f 75 72 63 65 4c 69 73 74 3b 0a 09  erySourceList;..
11d80 61 6c 69 61 73 20 53 65 74 75 70 51 75 65 72 79  alias SetupQuery
11d90 53 70 61 63 65 52 65 71 75 69 72 65 64 4f 6e 44  SpaceRequiredOnD
11da0 72 69 76 65 57 20 53 65 74 75 70 51 75 65 72 79  riveW SetupQuery
11db0 53 70 61 63 65 52 65 71 75 69 72 65 64 4f 6e 44  SpaceRequiredOnD
11dc0 72 69 76 65 3b 0a 09 61 6c 69 61 73 20 53 65 74  rive;..alias Set
11dd0 75 70 51 75 65 75 65 43 6f 70 79 49 6e 64 69 72  upQueueCopyIndir
11de0 65 63 74 57 20 53 65 74 75 70 51 75 65 75 65 43  ectW SetupQueueC
11df0 6f 70 79 49 6e 64 69 72 65 63 74 3b 0a 09 61 6c  opyIndirect;..al
11e00 69 61 73 20 53 65 74 75 70 51 75 65 75 65 43 6f  ias SetupQueueCo
11e10 70 79 53 65 63 74 69 6f 6e 57 20 53 65 74 75 70  pySectionW Setup
11e20 51 75 65 75 65 43 6f 70 79 53 65 63 74 69 6f 6e  QueueCopySection
11e30 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75  ;..alias SetupQu
11e40 65 75 65 43 6f 70 79 57 20 53 65 74 75 70 51 75  eueCopyW SetupQu
11e50 65 75 65 43 6f 70 79 3b 0a 09 61 6c 69 61 73 20  eueCopy;..alias 
11e60 53 65 74 75 70 51 75 65 75 65 44 65 66 61 75 6c  SetupQueueDefaul
11e70 74 43 6f 70 79 57 20 53 65 74 75 70 51 75 65 75  tCopyW SetupQueu
11e80 65 44 65 66 61 75 6c 74 43 6f 70 79 3b 0a 09 61  eDefaultCopy;..a
11e90 6c 69 61 73 20 53 65 74 75 70 51 75 65 75 65 44  lias SetupQueueD
11ea0 65 6c 65 74 65 53 65 63 74 69 6f 6e 57 20 53 65  eleteSectionW Se
11eb0 74 75 70 51 75 65 75 65 44 65 6c 65 74 65 53 65  tupQueueDeleteSe
11ec0 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53 65  ction;..alias Se
11ed0 74 75 70 51 75 65 75 65 44 65 6c 65 74 65 57 20  tupQueueDeleteW 
11ee0 53 65 74 75 70 51 75 65 75 65 44 65 6c 65 74 65  SetupQueueDelete
11ef0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75  ;..alias SetupQu
11f00 65 75 65 52 65 6e 61 6d 65 53 65 63 74 69 6f 6e  eueRenameSection
11f10 57 20 53 65 74 75 70 51 75 65 75 65 52 65 6e 61  W SetupQueueRena
11f20 6d 65 53 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61  meSection;..alia
11f30 73 20 53 65 74 75 70 51 75 65 75 65 52 65 6e 61  s SetupQueueRena
11f40 6d 65 57 20 53 65 74 75 70 51 75 65 75 65 52 65  meW SetupQueueRe
11f50 6e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 53 65 74  name;..alias Set
11f60 75 70 52 65 6d 6f 76 65 46 69 6c 65 4c 6f 67 45  upRemoveFileLogE
11f70 6e 74 72 79 57 20 53 65 74 75 70 52 65 6d 6f 76  ntryW SetupRemov
11f80 65 46 69 6c 65 4c 6f 67 45 6e 74 72 79 3b 0a 09  eFileLogEntry;..
11f90 61 6c 69 61 73 20 53 65 74 75 70 52 65 6d 6f 76  alias SetupRemov
11fa0 65 46 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69  eFromDiskSpaceLi
11fb0 73 74 57 20 53 65 74 75 70 52 65 6d 6f 76 65 46  stW SetupRemoveF
11fc0 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73 74  romDiskSpaceList
11fd0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 52 65  ;..alias SetupRe
11fe0 6d 6f 76 65 46 72 6f 6d 53 6f 75 72 63 65 4c 69  moveFromSourceLi
11ff0 73 74 57 20 53 65 74 75 70 52 65 6d 6f 76 65 46  stW SetupRemoveF
12000 72 6f 6d 53 6f 75 72 63 65 4c 69 73 74 3b 0a 09  romSourceList;..
12010 61 6c 69 61 73 20 53 65 74 75 70 52 65 6d 6f 76  alias SetupRemov
12020 65 49 6e 73 74 61 6c 6c 53 65 63 74 69 6f 6e 46  eInstallSectionF
12030 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73 74  romDiskSpaceList
12040 57 20 53 65 74 75 70 52 65 6d 6f 76 65 49 6e 73  W SetupRemoveIns
12050 74 61 6c 6c 53 65 63 74 69 6f 6e 46 72 6f 6d 44  tallSectionFromD
12060 69 73 6b 53 70 61 63 65 4c 69 73 74 3b 0a 09 61  iskSpaceList;..a
12070 6c 69 61 73 20 53 65 74 75 70 52 65 6d 6f 76 65  lias SetupRemove
12080 53 65 63 74 69 6f 6e 46 72 6f 6d 44 69 73 6b 53  SectionFromDiskS
12090 70 61 63 65 4c 69 73 74 57 20 53 65 74 75 70 52  paceListW SetupR
120a0 65 6d 6f 76 65 53 65 63 74 69 6f 6e 46 72 6f 6d  emoveSectionFrom
120b0 44 69 73 6b 53 70 61 63 65 4c 69 73 74 3b 0a 09  DiskSpaceList;..
120c0 61 6c 69 61 73 20 53 65 74 75 70 52 65 6e 61 6d  alias SetupRenam
120d0 65 45 72 72 6f 72 57 20 53 65 74 75 70 52 65 6e  eErrorW SetupRen
120e0 61 6d 65 45 72 72 6f 72 3b 0a 09 61 6c 69 61 73  ameError;..alias
120f0 20 53 65 74 75 70 53 63 61 6e 46 69 6c 65 51 75   SetupScanFileQu
12100 65 75 65 57 20 53 65 74 75 70 53 63 61 6e 46 69  eueW SetupScanFi
12110 6c 65 51 75 65 75 65 3b 0a 09 61 6c 69 61 73 20  leQueue;..alias 
12120 53 65 74 75 70 53 65 74 44 69 72 65 63 74 6f 72  SetupSetDirector
12130 79 49 64 45 78 57 20 53 65 74 75 70 53 65 74 44  yIdExW SetupSetD
12140 69 72 65 63 74 6f 72 79 49 64 45 78 3b 0a 09 61  irectoryIdEx;..a
12150 6c 69 61 73 20 53 65 74 75 70 53 65 74 44 69 72  lias SetupSetDir
12160 65 63 74 6f 72 79 49 64 57 20 53 65 74 75 70 53  ectoryIdW SetupS
12170 65 74 44 69 72 65 63 74 6f 72 79 49 64 3b 0a 09  etDirectoryId;..
12180 61 6c 69 61 73 20 53 65 74 75 70 53 65 74 46 69  alias SetupSetFi
12190 6c 65 51 75 65 75 65 41 6c 74 65 72 6e 61 74 65  leQueueAlternate
121a0 50 6c 61 74 66 6f 72 6d 57 20 53 65 74 75 70 53  PlatformW SetupS
121b0 65 74 46 69 6c 65 51 75 65 75 65 41 6c 74 65 72  etFileQueueAlter
121c0 6e 61 74 65 50 6c 61 74 66 6f 72 6d 3b 0a 09 61  natePlatform;..a
121d0 6c 69 61 73 20 53 65 74 75 70 53 65 74 50 6c 61  lias SetupSetPla
121e0 74 66 6f 72 6d 50 61 74 68 4f 76 65 72 72 69 64  tformPathOverrid
121f0 65 57 20 53 65 74 75 70 53 65 74 50 6c 61 74 66  eW SetupSetPlatf
12200 6f 72 6d 50 61 74 68 4f 76 65 72 72 69 64 65 3b  ormPathOverride;
12210 0a 09 61 6c 69 61 73 20 53 65 74 75 70 53 65 74  ..alias SetupSet
12220 53 6f 75 72 63 65 4c 69 73 74 57 20 53 65 74 75  SourceListW Setu
12230 70 53 65 74 53 6f 75 72 63 65 4c 69 73 74 3b 0a  pSetSourceList;.
12240 7d 20 65 6c 73 65 20 7b 0a 09 61 6c 69 61 73 20  } else {..alias 
12250 50 53 50 5f 46 49 4c 45 5f 43 41 4c 4c 42 41 43  PSP_FILE_CALLBAC
12260 4b 5f 41 20 50 53 50 5f 46 49 4c 45 5f 43 41 4c  K_A PSP_FILE_CAL
12270 4c 42 41 43 4b 3b 0a 09 61 6c 69 61 73 20 53 65  LBACK;..alias Se
12280 74 75 70 41 64 64 49 6e 73 74 61 6c 6c 53 65 63  tupAddInstallSec
12290 74 69 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c  tionToDiskSpaceL
122a0 69 73 74 41 20 53 65 74 75 70 41 64 64 49 6e 73  istA SetupAddIns
122b0 74 61 6c 6c 53 65 63 74 69 6f 6e 54 6f 44 69 73  tallSectionToDis
122c0 6b 53 70 61 63 65 4c 69 73 74 3b 0a 09 61 6c 69  kSpaceList;..ali
122d0 61 73 20 53 65 74 75 70 41 64 64 53 65 63 74 69  as SetupAddSecti
122e0 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73  onToDiskSpaceLis
122f0 74 41 20 53 65 74 75 70 41 64 64 53 65 63 74 69  tA SetupAddSecti
12300 6f 6e 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73  onToDiskSpaceLis
12310 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 41  t;..alias SetupA
12320 64 64 54 6f 44 69 73 6b 53 70 61 63 65 4c 69 73  ddToDiskSpaceLis
12330 74 41 20 53 65 74 75 70 41 64 64 54 6f 44 69 73  tA SetupAddToDis
12340 6b 53 70 61 63 65 4c 69 73 74 3b 0a 09 61 6c 69  kSpaceList;..ali
12350 61 73 20 53 65 74 75 70 41 64 64 54 6f 53 6f 75  as SetupAddToSou
12360 72 63 65 4c 69 73 74 41 20 53 65 74 75 70 41 64  rceListA SetupAd
12370 64 54 6f 53 6f 75 72 63 65 4c 69 73 74 3b 0a 09  dToSourceList;..
12380 61 6c 69 61 73 20 53 65 74 75 70 41 64 6a 75 73  alias SetupAdjus
12390 74 44 69 73 6b 53 70 61 63 65 4c 69 73 74 41 20  tDiskSpaceListA 
123a0 53 65 74 75 70 41 64 6a 75 73 74 44 69 73 6b 53  SetupAdjustDiskS
123b0 70 61 63 65 4c 69 73 74 3b 0a 09 61 6c 69 61 73  paceList;..alias
123c0 20 53 65 74 75 70 42 61 63 6b 75 70 45 72 72 6f   SetupBackupErro
123d0 72 41 20 53 65 74 75 70 42 61 63 6b 75 70 45 72  rA SetupBackupEr
123e0 72 6f 72 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  ror;..alias Setu
123f0 70 43 6f 6d 6d 69 74 46 69 6c 65 51 75 65 75 65  pCommitFileQueue
12400 41 20 53 65 74 75 70 43 6f 6d 6d 69 74 46 69 6c  A SetupCommitFil
12410 65 51 75 65 75 65 3b 0a 09 61 6c 69 61 73 20 53  eQueue;..alias S
12420 65 74 75 70 43 6f 70 79 45 72 72 6f 72 41 20 53  etupCopyErrorA S
12430 65 74 75 70 43 6f 70 79 45 72 72 6f 72 3b 0a 09  etupCopyError;..
12440 61 6c 69 61 73 20 53 65 74 75 70 43 6f 70 79 4f  alias SetupCopyO
12450 45 4d 49 6e 66 41 20 53 65 74 75 70 43 6f 70 79  EMInfA SetupCopy
12460 4f 45 4d 49 6e 66 3b 0a 09 61 6c 69 61 73 20 53  OEMInf;..alias S
12470 65 74 75 70 43 72 65 61 74 65 44 69 73 6b 53 70  etupCreateDiskSp
12480 61 63 65 4c 69 73 74 41 20 53 65 74 75 70 43 72  aceListA SetupCr
12490 65 61 74 65 44 69 73 6b 53 70 61 63 65 4c 69 73  eateDiskSpaceLis
124a0 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  t;..alias SetupD
124b0 65 63 6f 6d 70 72 65 73 73 4f 72 43 6f 70 79 46  ecompressOrCopyF
124c0 69 6c 65 41 20 53 65 74 75 70 44 65 63 6f 6d 70  ileA SetupDecomp
124d0 72 65 73 73 4f 72 43 6f 70 79 46 69 6c 65 3b 0a  ressOrCopyFile;.
124e0 09 61 6c 69 61 73 20 53 65 74 75 70 44 65 66 61  .alias SetupDefa
124f0 75 6c 74 51 75 65 75 65 43 61 6c 6c 62 61 63 6b  ultQueueCallback
12500 41 20 53 65 74 75 70 44 65 66 61 75 6c 74 51 75  A SetupDefaultQu
12510 65 75 65 43 61 6c 6c 62 61 63 6b 3b 0a 09 61 6c  eueCallback;..al
12520 69 61 73 20 53 65 74 75 70 44 65 6c 65 74 65 45  ias SetupDeleteE
12530 72 72 6f 72 41 20 53 65 74 75 70 44 65 6c 65 74  rrorA SetupDelet
12540 65 45 72 72 6f 72 3b 0a 09 61 6c 69 61 73 20 53  eError;..alias S
12550 65 74 75 70 44 69 42 75 69 6c 64 43 6c 61 73 73  etupDiBuildClass
12560 49 6e 66 6f 4c 69 73 74 45 78 41 20 53 65 74 75  InfoListExA Setu
12570 70 44 69 42 75 69 6c 64 43 6c 61 73 73 49 6e 66  pDiBuildClassInf
12580 6f 4c 69 73 74 45 78 3b 0a 09 61 6c 69 61 73 20  oListEx;..alias 
12590 53 65 74 75 70 44 69 43 6c 61 73 73 47 75 69 64  SetupDiClassGuid
125a0 73 46 72 6f 6d 4e 61 6d 65 41 20 53 65 74 75 70  sFromNameA Setup
125b0 44 69 43 6c 61 73 73 47 75 69 64 73 46 72 6f 6d  DiClassGuidsFrom
125c0 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 53 65 74  Name;..alias Set
125d0 75 70 44 69 43 6c 61 73 73 47 75 69 64 73 46 72  upDiClassGuidsFr
125e0 6f 6d 4e 61 6d 65 45 78 41 20 53 65 74 75 70 44  omNameExA SetupD
125f0 69 43 6c 61 73 73 47 75 69 64 73 46 72 6f 6d 4e  iClassGuidsFromN
12600 61 6d 65 45 78 3b 0a 09 61 6c 69 61 73 20 53 65  ameEx;..alias Se
12610 74 75 70 44 69 43 6c 61 73 73 4e 61 6d 65 46 72  tupDiClassNameFr
12620 6f 6d 47 75 69 64 41 20 53 65 74 75 70 44 69 43  omGuidA SetupDiC
12630 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75 69 64  lassNameFromGuid
12640 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69  ;..alias SetupDi
12650 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 47 75 69  ClassNameFromGui
12660 64 45 78 41 20 53 65 74 75 70 44 69 43 6c 61 73  dExA SetupDiClas
12670 73 4e 61 6d 65 46 72 6f 6d 47 75 69 64 45 78 3b  sNameFromGuidEx;
12680 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 43  ..alias SetupDiC
12690 72 65 61 74 65 44 65 76 69 63 65 49 6e 66 6f 41  reateDeviceInfoA
126a0 20 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65   SetupDiCreateDe
126b0 76 69 63 65 49 6e 66 6f 3b 0a 09 61 6c 69 61 73  viceInfo;..alias
126c0 20 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65   SetupDiCreateDe
126d0 76 69 63 65 49 6e 66 6f 4c 69 73 74 45 78 41 20  viceInfoListExA 
126e0 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65 76  SetupDiCreateDev
126f0 69 63 65 49 6e 66 6f 4c 69 73 74 45 78 3b 0a 09  iceInfoListEx;..
12700 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 72 65  alias SetupDiCre
12710 61 74 65 44 65 76 69 63 65 49 6e 74 65 72 66 61  ateDeviceInterfa
12720 63 65 41 20 53 65 74 75 70 44 69 43 72 65 61 74  ceA SetupDiCreat
12730 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65  eDeviceInterface
12740 3b 0a 09 64 65 70 72 65 63 61 74 65 64 20 61 6c  ;..deprecated al
12750 69 61 73 20 53 65 74 75 70 44 69 43 72 65 61 74  ias SetupDiCreat
12760 65 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65  eDeviceInterface
12770 41 20 53 65 74 75 70 44 69 43 72 65 61 74 65 49  A SetupDiCreateI
12780 6e 74 65 72 66 61 63 65 44 65 76 69 63 65 3b 0a  nterfaceDevice;.
12790 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 43 72  .alias SetupDiCr
127a0 65 61 74 65 44 65 76 69 63 65 49 6e 74 65 72 66  eateDeviceInterf
127b0 61 63 65 52 65 67 4b 65 79 41 20 53 65 74 75 70  aceRegKeyA Setup
127c0 44 69 43 72 65 61 74 65 44 65 76 69 63 65 49 6e  DiCreateDeviceIn
127d0 74 65 72 66 61 63 65 52 65 67 4b 65 79 3b 0a 09  terfaceRegKey;..
127e0 64 65 70 72 65 63 61 74 65 64 20 61 6c 69 61 73  deprecated alias
127f0 20 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65   SetupDiCreateDe
12800 76 69 63 65 49 6e 74 65 72 66 61 63 65 52 65 67  viceInterfaceReg
12810 4b 65 79 41 20 53 65 74 75 70 44 69 43 72 65 61  KeyA SetupDiCrea
12820 74 65 49 6e 74 65 72 66 61 63 65 44 65 76 69 63  teInterfaceDevic
12830 65 52 65 67 4b 65 79 3b 0a 09 61 6c 69 61 73 20  eRegKey;..alias 
12840 53 65 74 75 70 44 69 43 72 65 61 74 65 44 65 76  SetupDiCreateDev
12850 52 65 67 4b 65 79 41 20 53 65 74 75 70 44 69 43  RegKeyA SetupDiC
12860 72 65 61 74 65 44 65 76 52 65 67 4b 65 79 3b 0a  reateDevRegKey;.
12870 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 44 65  .alias SetupDiDe
12880 6c 65 74 65 44 65 76 69 63 65 49 6e 74 65 72 66  leteDeviceInterf
12890 61 63 65 44 61 74 61 20 53 65 74 75 70 44 69 44  aceData SetupDiD
128a0 65 6c 65 74 65 49 6e 74 65 72 66 61 63 65 44 65  eleteInterfaceDe
128b0 76 69 63 65 44 61 74 61 3b 0a 09 61 6c 69 61 73  viceData;..alias
128c0 20 53 65 74 75 70 44 69 45 6e 75 6d 44 72 69 76   SetupDiEnumDriv
128d0 65 72 49 6e 66 6f 41 20 53 65 74 75 70 44 69 45  erInfoA SetupDiE
128e0 6e 75 6d 44 72 69 76 65 72 49 6e 66 6f 3b 0a 09  numDriverInfo;..
128f0 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74  alias SetupDiGet
12900 41 63 74 75 61 6c 53 65 63 74 69 6f 6e 54 6f 49  ActualSectionToI
12910 6e 73 74 61 6c 6c 41 20 53 65 74 75 70 44 69 47  nstallA SetupDiG
12920 65 74 41 63 74 75 61 6c 53 65 63 74 69 6f 6e 54  etActualSectionT
12930 6f 49 6e 73 74 61 6c 6c 3b 0a 09 61 6c 69 61 73  oInstall;..alias
12940 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73   SetupDiGetClass
12950 44 65 73 63 72 69 70 74 69 6f 6e 41 20 53 65 74  DescriptionA Set
12960 75 70 44 69 47 65 74 43 6c 61 73 73 44 65 73 63  upDiGetClassDesc
12970 72 69 70 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20  ription;..alias 
12980 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44  SetupDiGetClassD
12990 65 73 63 72 69 70 74 69 6f 6e 45 78 41 20 53 65  escriptionExA Se
129a0 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65 73  tupDiGetClassDes
129b0 63 72 69 70 74 69 6f 6e 45 78 3b 0a 09 61 6c 69  criptionEx;..ali
129c0 61 73 20 53 65 74 75 70 44 69 47 65 74 43 6c 61  as SetupDiGetCla
129d0 73 73 44 65 76 50 72 6f 70 65 72 74 79 53 68 65  ssDevPropertyShe
129e0 65 74 73 41 20 53 65 74 75 70 44 69 47 65 74 43  etsA SetupDiGetC
129f0 6c 61 73 73 44 65 76 50 72 6f 70 65 72 74 79 53  lassDevPropertyS
12a00 68 65 65 74 73 3b 0a 09 61 6c 69 61 73 20 53 65  heets;..alias Se
12a10 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65 76  tupDiGetClassDev
12a20 73 41 20 53 65 74 75 70 44 69 47 65 74 43 6c 61  sA SetupDiGetCla
12a30 73 73 44 65 76 73 3b 0a 09 61 6c 69 61 73 20 53  ssDevs;..alias S
12a40 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 44 65  etupDiGetClassDe
12a50 76 73 45 78 41 20 53 65 74 75 70 44 69 47 65 74  vsExA SetupDiGet
12a60 43 6c 61 73 73 44 65 76 73 45 78 3b 0a 09 61 6c  ClassDevsEx;..al
12a70 69 61 73 20 53 65 74 75 70 44 69 47 65 74 43 6c  ias SetupDiGetCl
12a80 61 73 73 49 6d 61 67 65 4c 69 73 74 45 78 41 20  assImageListExA 
12a90 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73 49  SetupDiGetClassI
12aa0 6d 61 67 65 4c 69 73 74 45 78 3b 0a 09 61 6c 69  mageListEx;..ali
12ab0 61 73 20 53 65 74 75 70 44 69 47 65 74 43 6c 61  as SetupDiGetCla
12ac0 73 73 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 41  ssInstallParamsA
12ad0 20 53 65 74 75 70 44 69 47 65 74 43 6c 61 73 73   SetupDiGetClass
12ae0 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 3b 0a 09  InstallParams;..
12af0 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74  alias SetupDiGet
12b00 43 6c 61 73 73 52 65 67 69 73 74 72 79 50 72 6f  ClassRegistryPro
12b10 70 65 72 74 79 41 20 53 65 74 75 70 44 69 47 65  pertyA SetupDiGe
12b20 74 43 6c 61 73 73 52 65 67 69 73 74 72 79 50 72  tClassRegistryPr
12b30 6f 70 65 72 74 79 3b 0a 09 61 6c 69 61 73 20 53  operty;..alias S
12b40 65 74 75 70 44 69 47 65 74 44 65 76 69 63 65 49  etupDiGetDeviceI
12b50 6e 66 6f 4c 69 73 74 44 65 74 61 69 6c 41 20 53  nfoListDetailA S
12b60 65 74 75 70 44 69 47 65 74 44 65 76 69 63 65 49  etupDiGetDeviceI
12b70 6e 66 6f 4c 69 73 74 44 65 74 61 69 6c 3b 0a 09  nfoListDetail;..
12b80 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74  alias SetupDiGet
12b90 44 65 76 69 63 65 49 6e 73 74 61 6c 6c 50 61 72  DeviceInstallPar
12ba0 61 6d 73 41 20 53 65 74 75 70 44 69 47 65 74 44  amsA SetupDiGetD
12bb0 65 76 69 63 65 49 6e 73 74 61 6c 6c 50 61 72 61  eviceInstallPara
12bc0 6d 73 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70  ms;..alias Setup
12bd0 44 69 47 65 74 44 65 76 69 63 65 49 6e 73 74 61  DiGetDeviceInsta
12be0 6e 63 65 49 64 41 20 53 65 74 75 70 44 69 47 65  nceIdA SetupDiGe
12bf0 74 44 65 76 69 63 65 49 6e 73 74 61 6e 63 65 49  tDeviceInstanceI
12c00 64 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44  d;..alias SetupD
12c10 69 47 65 74 44 65 76 69 63 65 49 6e 74 65 72 66  iGetDeviceInterf
12c20 61 63 65 44 65 74 61 69 6c 41 20 53 65 74 75 70  aceDetailA Setup
12c30 44 69 47 65 74 44 65 76 69 63 65 49 6e 74 65 72  DiGetDeviceInter
12c40 66 61 63 65 44 65 74 61 69 6c 3b 0a 09 64 65 70  faceDetail;..dep
12c50 72 65 63 61 74 65 64 20 61 6c 69 61 73 20 53 65  recated alias Se
12c60 74 75 70 44 69 47 65 74 44 65 76 69 63 65 49 6e  tupDiGetDeviceIn
12c70 74 65 72 66 61 63 65 44 65 74 61 69 6c 41 20 53  terfaceDetailA S
12c80 65 74 75 70 44 69 47 65 74 49 6e 74 65 72 66 61  etupDiGetInterfa
12c90 63 65 44 65 76 69 63 65 44 65 74 61 69 6c 3b 0a  ceDeviceDetail;.
12ca0 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65  .alias SetupDiGe
12cb0 74 44 65 76 69 63 65 52 65 67 69 73 74 72 79 50  tDeviceRegistryP
12cc0 72 6f 70 65 72 74 79 41 20 53 65 74 75 70 44 69  ropertyA SetupDi
12cd0 47 65 74 44 65 76 69 63 65 52 65 67 69 73 74 72  GetDeviceRegistr
12ce0 79 50 72 6f 70 65 72 74 79 3b 0a 09 61 6c 69 61  yProperty;..alia
12cf0 73 20 53 65 74 75 70 44 69 47 65 74 44 72 69 76  s SetupDiGetDriv
12d00 65 72 49 6e 66 6f 44 65 74 61 69 6c 41 20 53 65  erInfoDetailA Se
12d10 74 75 70 44 69 47 65 74 44 72 69 76 65 72 49 6e  tupDiGetDriverIn
12d20 66 6f 44 65 74 61 69 6c 3b 0a 09 61 6c 69 61 73  foDetail;..alias
12d30 20 53 65 74 75 70 44 69 47 65 74 44 72 69 76 65   SetupDiGetDrive
12d40 72 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 41 20  rInstallParamsA 
12d50 53 65 74 75 70 44 69 47 65 74 44 72 69 76 65 72  SetupDiGetDriver
12d60 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 3b 0a 09  InstallParams;..
12d70 61 6c 69 61 73 20 53 65 74 75 70 44 69 47 65 74  alias SetupDiGet
12d80 48 77 50 72 6f 66 69 6c 65 46 72 69 65 6e 64 6c  HwProfileFriendl
12d90 79 4e 61 6d 65 41 20 53 65 74 75 70 44 69 47 65  yNameA SetupDiGe
12da0 74 48 77 50 72 6f 66 69 6c 65 46 72 69 65 6e 64  tHwProfileFriend
12db0 6c 79 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 53  lyName;..alias S
12dc0 65 74 75 70 44 69 47 65 74 48 77 50 72 6f 66 69  etupDiGetHwProfi
12dd0 6c 65 46 72 69 65 6e 64 6c 79 4e 61 6d 65 45 78  leFriendlyNameEx
12de0 41 20 53 65 74 75 70 44 69 47 65 74 48 77 50 72  A SetupDiGetHwPr
12df0 6f 66 69 6c 65 46 72 69 65 6e 64 6c 79 4e 61 6d  ofileFriendlyNam
12e00 65 45 78 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  eEx;..alias Setu
12e10 70 44 69 47 65 74 48 77 50 72 6f 66 69 6c 65 4c  pDiGetHwProfileL
12e20 69 73 74 45 78 41 20 53 65 74 75 70 44 69 47 65  istExA SetupDiGe
12e30 74 48 77 50 72 6f 66 69 6c 65 4c 69 73 74 45 78  tHwProfileListEx
12e40 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69  ;..alias SetupDi
12e50 47 65 74 49 4e 46 43 6c 61 73 73 41 20 53 65 74  GetINFClassA Set
12e60 75 70 44 69 47 65 74 49 4e 46 43 6c 61 73 73 3b  upDiGetINFClass;
12e70 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69 47  ..alias SetupDiG
12e80 65 74 53 65 6c 65 63 74 65 64 44 72 69 76 65 72  etSelectedDriver
12e90 41 20 53 65 74 75 70 44 69 47 65 74 53 65 6c 65  A SetupDiGetSele
12ea0 63 74 65 64 44 72 69 76 65 72 3b 0a 09 61 6c 69  ctedDriver;..ali
12eb0 61 73 20 53 65 74 75 70 44 69 49 6e 73 74 61 6c  as SetupDiInstal
12ec0 6c 43 6c 61 73 73 41 20 53 65 74 75 70 44 69 49  lClassA SetupDiI
12ed0 6e 73 74 61 6c 6c 43 6c 61 73 73 3b 0a 09 61 6c  nstallClass;..al
12ee0 69 61 73 20 53 65 74 75 70 44 69 49 6e 73 74 61  ias SetupDiInsta
12ef0 6c 6c 43 6c 61 73 73 45 78 41 20 53 65 74 75 70  llClassExA Setup
12f00 44 69 49 6e 73 74 61 6c 6c 43 6c 61 73 73 45 78  DiInstallClassEx
12f10 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69  ;..alias SetupDi
12f20 4f 70 65 6e 43 6c 61 73 73 52 65 67 4b 65 79 45  OpenClassRegKeyE
12f30 78 41 20 53 65 74 75 70 44 69 4f 70 65 6e 43 6c  xA SetupDiOpenCl
12f40 61 73 73 52 65 67 4b 65 79 45 78 3b 0a 09 61 6c  assRegKeyEx;..al
12f50 69 61 73 20 53 65 74 75 70 44 69 4f 70 65 6e 44  ias SetupDiOpenD
12f60 65 76 69 63 65 49 6e 66 6f 41 20 53 65 74 75 70  eviceInfoA Setup
12f70 44 69 4f 70 65 6e 44 65 76 69 63 65 49 6e 66 6f  DiOpenDeviceInfo
12f80 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 44 69  ;..alias SetupDi
12f90 4f 70 65 6e 44 65 76 69 63 65 49 6e 74 65 72 66  OpenDeviceInterf
12fa0 61 63 65 41 20 53 65 74 75 70 44 69 4f 70 65 6e  aceA SetupDiOpen
12fb0 44 65 76 69 63 65 49 6e 74 65 72 66 61 63 65 3b  DeviceInterface;
12fc0 0a 09 64 65 70 72 65 63 61 74 65 64 20 61 6c 69  ..deprecated ali
12fd0 61 73 20 53 65 74 75 70 44 69 4f 70 65 6e 44 65  as SetupDiOpenDe
12fe0 76 69 63 65 49 6e 74 65 72 66 61 63 65 41 20 53  viceInterfaceA S
12ff0 65 74 75 70 44 69 4f 70 65 6e 49 6e 74 65 72 66  etupDiOpenInterf
13000 61 63 65 44 65 76 69 63 65 3b 0a 09 61 6c 69 61  aceDevice;..alia
13010 73 20 53 65 74 75 70 44 69 53 65 74 43 6c 61 73  s SetupDiSetClas
13020 73 49 6e 73 74 61 6c 6c 50 61 72 61 6d 73 41 20  sInstallParamsA 
13030 53 65 74 75 70 44 69 53 65 74 43 6c 61 73 73 49  SetupDiSetClassI
13040 6e 73 74 61 6c 6c 50 61 72 61 6d 73 3b 0a 09 61  nstallParams;..a
13050 6c 69 61 73 20 53 65 74 75 70 44 69 53 65 74 43  lias SetupDiSetC
13060 6c 61 73 73 52 65 67 69 73 74 72 79 50 72 6f 70  lassRegistryProp
13070 65 72 74 79 41 20 53 65 74 75 70 44 69 53 65 74  ertyA SetupDiSet
13080 43 6c 61 73 73 52 65 67 69 73 74 72 79 50 72 6f  ClassRegistryPro
13090 70 65 72 74 79 3b 0a 09 61 6c 69 61 73 20 53 65  perty;..alias Se
130a0 74 75 70 44 69 53 65 74 44 65 76 69 63 65 49 6e  tupDiSetDeviceIn
130b0 73 74 61 6c 6c 50 61 72 61 6d 73 41 20 53 65 74  stallParamsA Set
130c0 75 70 44 69 53 65 74 44 65 76 69 63 65 49 6e 73  upDiSetDeviceIns
130d0 74 61 6c 6c 50 61 72 61 6d 73 3b 0a 09 61 6c 69  tallParams;..ali
130e0 61 73 20 53 65 74 75 70 44 69 53 65 74 44 65 76  as SetupDiSetDev
130f0 69 63 65 52 65 67 69 73 74 72 79 50 72 6f 70 65  iceRegistryPrope
13100 72 74 79 41 20 53 65 74 75 70 44 69 53 65 74 44  rtyA SetupDiSetD
13110 65 76 69 63 65 52 65 67 69 73 74 72 79 50 72 6f  eviceRegistryPro
13120 70 65 72 74 79 3b 0a 09 61 6c 69 61 73 20 53 65  perty;..alias Se
13130 74 75 70 44 69 53 65 74 44 72 69 76 65 72 49 6e  tupDiSetDriverIn
13140 73 74 61 6c 6c 50 61 72 61 6d 73 41 20 53 65 74  stallParamsA Set
13150 75 70 44 69 53 65 74 44 72 69 76 65 72 49 6e 73  upDiSetDriverIns
13160 74 61 6c 6c 50 61 72 61 6d 73 3b 0a 09 61 6c 69  tallParams;..ali
13170 61 73 20 53 65 74 75 70 44 69 53 65 74 53 65 6c  as SetupDiSetSel
13180 65 63 74 65 64 44 72 69 76 65 72 41 20 53 65 74  ectedDriverA Set
13190 75 70 44 69 53 65 74 53 65 6c 65 63 74 65 64 44  upDiSetSelectedD
131a0 72 69 76 65 72 3b 0a 09 61 6c 69 61 73 20 53 65  river;..alias Se
131b0 74 75 70 44 75 70 6c 69 63 61 74 65 44 69 73 6b  tupDuplicateDisk
131c0 53 70 61 63 65 4c 69 73 74 41 20 53 65 74 75 70  SpaceListA Setup
131d0 44 75 70 6c 69 63 61 74 65 44 69 73 6b 53 70 61  DuplicateDiskSpa
131e0 63 65 4c 69 73 74 3b 0a 09 61 6c 69 61 73 20 53  ceList;..alias S
131f0 65 74 75 70 46 69 6e 64 46 69 72 73 74 4c 69 6e  etupFindFirstLin
13200 65 41 20 53 65 74 75 70 46 69 6e 64 46 69 72 73  eA SetupFindFirs
13210 74 4c 69 6e 65 3b 0a 09 61 6c 69 61 73 20 53 65  tLine;..alias Se
13220 74 75 70 46 69 6e 64 4e 65 78 74 4d 61 74 63 68  tupFindNextMatch
13230 4c 69 6e 65 41 20 53 65 74 75 70 46 69 6e 64 4e  LineA SetupFindN
13240 65 78 74 4d 61 74 63 68 4c 69 6e 65 3b 0a 09 61  extMatchLine;..a
13250 6c 69 61 73 20 53 65 74 75 70 46 72 65 65 53 6f  lias SetupFreeSo
13260 75 72 63 65 4c 69 73 74 41 20 53 65 74 75 70 46  urceListA SetupF
13270 72 65 65 53 6f 75 72 63 65 4c 69 73 74 3b 0a 09  reeSourceList;..
13280 61 6c 69 61 73 20 53 65 74 75 70 47 65 74 42 61  alias SetupGetBa
13290 63 6b 75 70 49 6e 66 6f 72 6d 61 74 69 6f 6e 41  ckupInformationA
132a0 20 53 65 74 75 70 47 65 74 42 61 63 6b 75 70 49   SetupGetBackupI
132b0 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 61 6c 69  nformation;..ali
132c0 61 73 20 53 65 74 75 70 47 65 74 46 69 6c 65 43  as SetupGetFileC
132d0 6f 6d 70 72 65 73 73 69 6f 6e 49 6e 66 6f 41 20  ompressionInfoA 
132e0 53 65 74 75 70 47 65 74 46 69 6c 65 43 6f 6d 70  SetupGetFileComp
132f0 72 65 73 73 69 6f 6e 49 6e 66 6f 3b 0a 09 61 6c  ressionInfo;..al
13300 69 61 73 20 53 65 74 75 70 47 65 74 49 6e 66 46  ias SetupGetInfF
13310 69 6c 65 4c 69 73 74 41 20 53 65 74 75 70 47 65  ileListA SetupGe
13320 74 49 6e 66 46 69 6c 65 4c 69 73 74 3b 0a 09 61  tInfFileList;..a
13330 6c 69 61 73 20 53 65 74 75 70 47 65 74 49 6e 66  lias SetupGetInf
13340 49 6e 66 6f 72 6d 61 74 69 6f 6e 41 20 53 65 74  InformationA Set
13350 75 70 47 65 74 49 6e 66 49 6e 66 6f 72 6d 61 74  upGetInfInformat
13360 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  ion;..alias Setu
13370 70 47 65 74 4c 69 6e 65 42 79 49 6e 64 65 78 41  pGetLineByIndexA
13380 20 53 65 74 75 70 47 65 74 4c 69 6e 65 42 79 49   SetupGetLineByI
13390 6e 64 65 78 3b 0a 09 61 6c 69 61 73 20 53 65 74  ndex;..alias Set
133a0 75 70 47 65 74 4c 69 6e 65 43 6f 75 6e 74 41 20  upGetLineCountA 
133b0 53 65 74 75 70 47 65 74 4c 69 6e 65 43 6f 75 6e  SetupGetLineCoun
133c0 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47  t;..alias SetupG
133d0 65 74 4c 69 6e 65 54 65 78 74 41 20 53 65 74 75  etLineTextA Setu
133e0 70 47 65 74 4c 69 6e 65 54 65 78 74 3b 0a 09 61  pGetLineText;..a
133f0 6c 69 61 73 20 53 65 74 75 70 47 65 74 4d 75 6c  lias SetupGetMul
13400 74 69 53 7a 46 69 65 6c 64 41 20 53 65 74 75 70  tiSzFieldA Setup
13410 47 65 74 4d 75 6c 74 69 53 7a 46 69 65 6c 64 3b  GetMultiSzField;
13420 0a 09 61 6c 69 61 73 20 53 65 74 75 70 47 65 74  ..alias SetupGet
13430 53 6f 75 72 63 65 46 69 6c 65 4c 6f 63 61 74 69  SourceFileLocati
13440 6f 6e 41 20 53 65 74 75 70 47 65 74 53 6f 75 72  onA SetupGetSour
13450 63 65 46 69 6c 65 4c 6f 63 61 74 69 6f 6e 3b 0a  ceFileLocation;.
13460 09 61 6c 69 61 73 20 53 65 74 75 70 47 65 74 53  .alias SetupGetS
13470 6f 75 72 63 65 46 69 6c 65 53 69 7a 65 41 20 53  ourceFileSizeA S
13480 65 74 75 70 47 65 74 53 6f 75 72 63 65 46 69 6c  etupGetSourceFil
13490 65 53 69 7a 65 3b 0a 09 61 6c 69 61 73 20 53 65  eSize;..alias Se
134a0 74 75 70 47 65 74 53 6f 75 72 63 65 49 6e 66 6f  tupGetSourceInfo
134b0 41 20 53 65 74 75 70 47 65 74 53 6f 75 72 63 65  A SetupGetSource
134c0 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 53 65 74  Info;..alias Set
134d0 75 70 47 65 74 53 74 72 69 6e 67 46 69 65 6c 64  upGetStringField
134e0 41 20 53 65 74 75 70 47 65 74 53 74 72 69 6e 67  A SetupGetString
134f0 46 69 65 6c 64 3b 0a 09 61 6c 69 61 73 20 53 65  Field;..alias Se
13500 74 75 70 47 65 74 54 61 72 67 65 74 50 61 74 68  tupGetTargetPath
13510 41 20 53 65 74 75 70 47 65 74 54 61 72 67 65 74  A SetupGetTarget
13520 50 61 74 68 3b 0a 09 61 6c 69 61 73 20 53 65 74  Path;..alias Set
13530 75 70 49 6e 69 74 69 61 6c 69 7a 65 46 69 6c 65  upInitializeFile
13540 4c 6f 67 41 20 53 65 74 75 70 49 6e 69 74 69 61  LogA SetupInitia
13550 6c 69 7a 65 46 69 6c 65 4c 6f 67 3b 0a 09 61 6c  lizeFileLog;..al
13560 69 61 73 20 53 65 74 75 70 49 6e 73 74 61 6c 6c  ias SetupInstall
13570 46 69 6c 65 41 20 53 65 74 75 70 49 6e 73 74 61  FileA SetupInsta
13580 6c 6c 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 53  llFile;..alias S
13590 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65 45  etupInstallFileE
135a0 78 41 20 53 65 74 75 70 49 6e 73 74 61 6c 6c 46  xA SetupInstallF
135b0 69 6c 65 45 78 3b 0a 09 61 6c 69 61 73 20 53 65  ileEx;..alias Se
135c0 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65 73 46  tupInstallFilesF
135d0 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 41 20 53  romInfSectionA S
135e0 65 74 75 70 49 6e 73 74 61 6c 6c 46 69 6c 65 73  etupInstallFiles
135f0 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 3b 0a  FromInfSection;.
13600 09 61 6c 69 61 73 20 53 65 74 75 70 49 6e 73 74  .alias SetupInst
13610 61 6c 6c 46 72 6f 6d 49 6e 66 53 65 63 74 69 6f  allFromInfSectio
13620 6e 41 20 53 65 74 75 70 49 6e 73 74 61 6c 6c 46  nA SetupInstallF
13630 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 3b 0a 09  romInfSection;..
13640 61 6c 69 61 73 20 53 65 74 75 70 49 6e 73 74 61  alias SetupInsta
13650 6c 6c 53 65 72 76 69 63 65 73 46 72 6f 6d 49 6e  llServicesFromIn
13660 66 53 65 63 74 69 6f 6e 41 20 53 65 74 75 70 49  fSectionA SetupI
13670 6e 73 74 61 6c 6c 53 65 72 76 69 63 65 73 46 72  nstallServicesFr
13680 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 3b 0a 09 61  omInfSection;..a
13690 6c 69 61 73 20 53 65 74 75 70 49 6e 73 74 61 6c  lias SetupInstal
136a0 6c 53 65 72 76 69 63 65 73 46 72 6f 6d 49 6e 66  lServicesFromInf
136b0 53 65 63 74 69 6f 6e 45 78 41 20 53 65 74 75 70  SectionExA Setup
136c0 49 6e 73 74 61 6c 6c 53 65 72 76 69 63 65 73 46  InstallServicesF
136d0 72 6f 6d 49 6e 66 53 65 63 74 69 6f 6e 45 78 3b  romInfSectionEx;
136e0 0a 09 61 6c 69 61 73 20 53 65 74 75 70 49 74 65  ..alias SetupIte
136f0 72 61 74 65 43 61 62 69 6e 65 74 41 20 53 65 74  rateCabinetA Set
13700 75 70 49 74 65 72 61 74 65 43 61 62 69 6e 65 74  upIterateCabinet
13710 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 4c 6f  ;..alias SetupLo
13720 67 45 72 72 6f 72 41 20 53 65 74 75 70 4c 6f 67  gErrorA SetupLog
13730 45 72 72 6f 72 3b 0a 09 61 6c 69 61 73 20 53 65  Error;..alias Se
13740 74 75 70 4c 6f 67 46 69 6c 65 41 20 53 65 74 75  tupLogFileA Setu
13750 70 4c 6f 67 46 69 6c 65 3b 0a 09 61 6c 69 61 73  pLogFile;..alias
13760 20 53 65 74 75 70 4f 70 65 6e 41 70 70 65 6e 64   SetupOpenAppend
13770 49 6e 66 46 69 6c 65 41 20 53 65 74 75 70 4f 70  InfFileA SetupOp
13780 65 6e 41 70 70 65 6e 64 49 6e 66 46 69 6c 65 3b  enAppendInfFile;
13790 0a 09 61 6c 69 61 73 20 53 65 74 75 70 4f 70 65  ..alias SetupOpe
137a0 6e 49 6e 66 46 69 6c 65 41 20 53 65 74 75 70 4f  nInfFileA SetupO
137b0 70 65 6e 49 6e 66 46 69 6c 65 3b 0a 09 61 6c 69  penInfFile;..ali
137c0 61 73 20 53 65 74 75 70 50 72 6f 6d 70 74 46 6f  as SetupPromptFo
137d0 72 44 69 73 6b 41 20 53 65 74 75 70 50 72 6f 6d  rDiskA SetupProm
137e0 70 74 46 6f 72 44 69 73 6b 3b 0a 09 61 6c 69 61  ptForDisk;..alia
137f0 73 20 53 65 74 75 70 51 75 65 72 79 44 72 69 76  s SetupQueryDriv
13800 65 73 49 6e 44 69 73 6b 53 70 61 63 65 4c 69 73  esInDiskSpaceLis
13810 74 41 20 53 65 74 75 70 51 75 65 72 79 44 72 69  tA SetupQueryDri
13820 76 65 73 49 6e 44 69 73 6b 53 70 61 63 65 4c 69  vesInDiskSpaceLi
13830 73 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70  st;..alias Setup
13840 51 75 65 72 79 46 69 6c 65 4c 6f 67 41 20 53 65  QueryFileLogA Se
13850 74 75 70 51 75 65 72 79 46 69 6c 65 4c 6f 67 3b  tupQueryFileLog;
13860 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65  ..alias SetupQue
13870 72 79 49 6e 66 46 69 6c 65 49 6e 66 6f 72 6d 61  ryInfFileInforma
13880 74 69 6f 6e 41 20 53 65 74 75 70 51 75 65 72 79  tionA SetupQuery
13890 49 6e 66 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69  InfFileInformati
138a0 6f 6e 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70  on;..alias Setup
138b0 51 75 65 72 79 49 6e 66 4f 72 69 67 69 6e 61 6c  QueryInfOriginal
138c0 46 69 6c 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 41  FileInformationA
138d0 20 53 65 74 75 70 51 75 65 72 79 49 6e 66 4f 72   SetupQueryInfOr
138e0 69 67 69 6e 61 6c 46 69 6c 65 49 6e 66 6f 72 6d  iginalFileInform
138f0 61 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53 65  ation;..alias Se
13900 74 75 70 51 75 65 72 79 49 6e 66 56 65 72 73 69  tupQueryInfVersi
13910 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 41 20 53  onInformationA S
13920 65 74 75 70 51 75 65 72 79 49 6e 66 56 65 72 73  etupQueryInfVers
13930 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a  ionInformation;.
13940 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65 72  .alias SetupQuer
13950 79 53 6f 75 72 63 65 4c 69 73 74 41 20 53 65 74  ySourceListA Set
13960 75 70 51 75 65 72 79 53 6f 75 72 63 65 4c 69 73  upQuerySourceLis
13970 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51  t;..alias SetupQ
13980 75 65 72 79 53 70 61 63 65 52 65 71 75 69 72 65  uerySpaceRequire
13990 64 4f 6e 44 72 69 76 65 41 20 53 65 74 75 70 51  dOnDriveA SetupQ
139a0 75 65 72 79 53 70 61 63 65 52 65 71 75 69 72 65  uerySpaceRequire
139b0 64 4f 6e 44 72 69 76 65 3b 0a 09 61 6c 69 61 73  dOnDrive;..alias
139c0 20 53 65 74 75 70 51 75 65 75 65 43 6f 70 79 41   SetupQueueCopyA
139d0 20 53 65 74 75 70 51 75 65 75 65 43 6f 70 79 3b   SetupQueueCopy;
139e0 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65  ..alias SetupQue
139f0 75 65 43 6f 70 79 49 6e 64 69 72 65 63 74 41 20  ueCopyIndirectA 
13a00 53 65 74 75 70 51 75 65 75 65 43 6f 70 79 49 6e  SetupQueueCopyIn
13a10 64 69 72 65 63 74 3b 0a 09 61 6c 69 61 73 20 53  direct;..alias S
13a20 65 74 75 70 51 75 65 75 65 43 6f 70 79 53 65 63  etupQueueCopySec
13a30 74 69 6f 6e 41 20 53 65 74 75 70 51 75 65 75 65  tionA SetupQueue
13a40 43 6f 70 79 53 65 63 74 69 6f 6e 3b 0a 09 61 6c  CopySection;..al
13a50 69 61 73 20 53 65 74 75 70 51 75 65 75 65 44 65  ias SetupQueueDe
13a60 66 61 75 6c 74 43 6f 70 79 41 20 53 65 74 75 70  faultCopyA Setup
13a70 51 75 65 75 65 44 65 66 61 75 6c 74 43 6f 70 79  QueueDefaultCopy
13a80 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75  ;..alias SetupQu
13a90 65 75 65 44 65 6c 65 74 65 41 20 53 65 74 75 70  eueDeleteA Setup
13aa0 51 75 65 75 65 44 65 6c 65 74 65 3b 0a 09 61 6c  QueueDelete;..al
13ab0 69 61 73 20 53 65 74 75 70 51 75 65 75 65 44 65  ias SetupQueueDe
13ac0 6c 65 74 65 53 65 63 74 69 6f 6e 41 20 53 65 74  leteSectionA Set
13ad0 75 70 51 75 65 75 65 44 65 6c 65 74 65 53 65 63  upQueueDeleteSec
13ae0 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 53 65 74  tion;..alias Set
13af0 75 70 51 75 65 75 65 52 65 6e 61 6d 65 41 20 53  upQueueRenameA S
13b00 65 74 75 70 51 75 65 75 65 52 65 6e 61 6d 65 3b  etupQueueRename;
13b10 0a 09 61 6c 69 61 73 20 53 65 74 75 70 51 75 65  ..alias SetupQue
13b20 75 65 52 65 6e 61 6d 65 53 65 63 74 69 6f 6e 41  ueRenameSectionA
13b30 20 53 65 74 75 70 51 75 65 75 65 52 65 6e 61 6d   SetupQueueRenam
13b40 65 53 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73  eSection;..alias
13b50 20 53 65 74 75 70 52 65 6d 6f 76 65 46 69 6c 65   SetupRemoveFile
13b60 4c 6f 67 45 6e 74 72 79 41 20 53 65 74 75 70 52  LogEntryA SetupR
13b70 65 6d 6f 76 65 46 69 6c 65 4c 6f 67 45 6e 74 72  emoveFileLogEntr
13b80 79 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 52  y;..alias SetupR
13b90 65 6d 6f 76 65 46 72 6f 6d 44 69 73 6b 53 70 61  emoveFromDiskSpa
13ba0 63 65 4c 69 73 74 41 20 53 65 74 75 70 52 65 6d  ceListA SetupRem
13bb0 6f 76 65 46 72 6f 6d 44 69 73 6b 53 70 61 63 65  oveFromDiskSpace
13bc0 4c 69 73 74 3b 0a 09 61 6c 69 61 73 20 53 65 74  List;..alias Set
13bd0 75 70 52 65 6d 6f 76 65 46 72 6f 6d 53 6f 75 72  upRemoveFromSour
13be0 63 65 4c 69 73 74 41 20 53 65 74 75 70 52 65 6d  ceListA SetupRem
13bf0 6f 76 65 46 72 6f 6d 53 6f 75 72 63 65 4c 69 73  oveFromSourceLis
13c00 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 52  t;..alias SetupR
13c10 65 6d 6f 76 65 49 6e 73 74 61 6c 6c 53 65 63 74  emoveInstallSect
13c20 69 6f 6e 46 72 6f 6d 44 69 73 6b 53 70 61 63 65  ionFromDiskSpace
13c30 4c 69 73 74 41 20 53 65 74 75 70 52 65 6d 6f 76  ListA SetupRemov
13c40 65 49 6e 73 74 61 6c 6c 53 65 63 74 69 6f 6e 46  eInstallSectionF
13c50 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73 74  romDiskSpaceList
13c60 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 52 65  ;..alias SetupRe
13c70 6d 6f 76 65 53 65 63 74 69 6f 6e 46 72 6f 6d 44  moveSectionFromD
13c80 69 73 6b 53 70 61 63 65 4c 69 73 74 41 20 53 65  iskSpaceListA Se
13c90 74 75 70 52 65 6d 6f 76 65 53 65 63 74 69 6f 6e  tupRemoveSection
13ca0 46 72 6f 6d 44 69 73 6b 53 70 61 63 65 4c 69 73  FromDiskSpaceLis
13cb0 74 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 52  t;..alias SetupR
13cc0 65 6e 61 6d 65 45 72 72 6f 72 41 20 53 65 74 75  enameErrorA Setu
13cd0 70 52 65 6e 61 6d 65 45 72 72 6f 72 3b 0a 09 61  pRenameError;..a
13ce0 6c 69 61 73 20 53 65 74 75 70 53 63 61 6e 46 69  lias SetupScanFi
13cf0 6c 65 51 75 65 75 65 41 20 53 65 74 75 70 53 63  leQueueA SetupSc
13d00 61 6e 46 69 6c 65 51 75 65 75 65 3b 0a 09 61 6c  anFileQueue;..al
13d10 69 61 73 20 53 65 74 75 70 53 65 74 44 69 72 65  ias SetupSetDire
13d20 63 74 6f 72 79 49 64 41 20 53 65 74 75 70 53 65  ctoryIdA SetupSe
13d30 74 44 69 72 65 63 74 6f 72 79 49 64 3b 0a 09 61  tDirectoryId;..a
13d40 6c 69 61 73 20 53 65 74 75 70 53 65 74 44 69 72  lias SetupSetDir
13d50 65 63 74 6f 72 79 49 64 45 78 41 20 53 65 74 75  ectoryIdExA Setu
13d60 70 53 65 74 44 69 72 65 63 74 6f 72 79 49 64 45  pSetDirectoryIdE
13d70 78 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 53  x;..alias SetupS
13d80 65 74 46 69 6c 65 51 75 65 75 65 41 6c 74 65 72  etFileQueueAlter
13d90 6e 61 74 65 50 6c 61 74 66 6f 72 6d 41 20 53 65  natePlatformA Se
13da0 74 75 70 53 65 74 46 69 6c 65 51 75 65 75 65 41  tupSetFileQueueA
13db0 6c 74 65 72 6e 61 74 65 50 6c 61 74 66 6f 72 6d  lternatePlatform
13dc0 3b 0a 09 61 6c 69 61 73 20 53 65 74 75 70 53 65  ;..alias SetupSe
13dd0 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 4f 76 65  tPlatformPathOve
13de0 72 72 69 64 65 41 20 53 65 74 75 70 53 65 74 50  rrideA SetupSetP
13df0 6c 61 74 66 6f 72 6d 50 61 74 68 4f 76 65 72 72  latformPathOverr
13e00 69 64 65 3b 0a 09 61 6c 69 61 73 20 53 65 74 75  ide;..alias Setu
13e10 70 53 65 74 53 6f 75 72 63 65 4c 69 73 74 41 20  pSetSourceListA 
13e20 53 65 74 75 70 53 65 74 53 6f 75 72 63 65 4c 69  SetupSetSourceLi
13e30 73 74 3b 0a 7d 0a                                st;.}.