home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / cecko / install / devcpp4920.exe / include / setupapi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-14  |  79.2 KB  |  1,551 lines

  1. #ifndef _SETUPAPI_H_
  2. #define _SETUPAPI_H_
  3.  
  4. #include <commctrl.h>
  5. #include <pshpack1.h>
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #define WINSETUPAPI DECLSPEC_IMPORT
  12.  
  13. #define LINE_LEN    256
  14. #define MAX_INF_STRING_LENGTH    4096
  15. #define MAX_TITLE_LEN    60
  16. #define MAX_INSTRUCTION_LEN    256
  17. #define MAX_LABEL_LEN    30
  18. #define MAX_SERVICE_NAME_LEN    256
  19. #define MAX_SUBTITLE_LEN    256
  20. #define SP_MAX_MACHINENAME_LENGTH    (MAX_PATH + 3)
  21.  
  22. #define COPYFLG_WARN_IF_SKIP    0x00000001
  23. #define COPYFLG_NOSKIP    0x00000002
  24. #define COPYFLG_NOVERSIONCHECK    0x00000004
  25. #define COPYFLG_FORCE_FILE_IN_USE    0x00000008
  26. #define COPYFLG_NO_OVERWRITE    0x00000010
  27. #define COPYFLG_NO_VERSION_DIALOG    0x00000020
  28. #define COPYFLG_OVERWRITE_OLDER_ONLY    0x00000040
  29. #define COPYFLG_REPLACEONLY    0x00000400
  30. #define COPYFLG_NODECOMP    0x00000800
  31. #define COPYFLG_REPLACE_BOOT_FILE    0x00001000
  32. #define COPYFLG_NOPRUNE    0x00002000
  33. #define DELFLG_IN_USE    0x00000001
  34. #define DELFLG_IN_USE1    0x00010000
  35. #define DI_REMOVEDEVICE_GLOBAL    0x00000001
  36. #define DI_REMOVEDEVICE_CONFIGSPECIFIC    0x00000002
  37. #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC    0x00000002
  38. #define DI_SHOWOEM    0x00000001
  39. #define DI_SHOWCOMPAT    0x00000002
  40. #define DI_SHOWCLASS    0x00000004
  41. #define DI_SHOWALL    0x00000007
  42. #define DI_NOVCP    0x00000008
  43. #define DI_DIDCOMPAT    0x00000010
  44. #define DI_DIDCLASS    0x00000020
  45. #define DI_AUTOASSIGNRES    0x00000040
  46. #define DI_NEEDRESTART    0x00000080
  47. #define DI_NEEDREBOOT    0x00000100
  48. #define DI_NOBROWSE    0x00000200
  49. #define DI_MULTMFGS    0x00000400
  50. #define DI_DISABLED    0x00000800
  51. #define DI_GENERALPAGE_ADDED    0x00001000
  52. #define DI_RESOURCEPAGE_ADDED    0x00002000
  53. #define DI_PROPERTIES_CHANGE    0x00004000
  54. #define DI_INF_IS_SORTED    0x00008000
  55. #define DI_ENUMSINGLEINF    0x00010000
  56. #define DI_DONOTCALLCONFIGMG    0x00020000
  57. #define DI_INSTALLDISABLED    0x00040000
  58. #define DI_COMPAT_FROM_CLASS    0x00080000
  59. #define DI_CLASSINSTALLPARAMS    0x00100000
  60. #define DI_NODI_DEFAULTACTION    0x00200000
  61. #define DI_QUIETINSTALL    0x00800000
  62. #define DI_NOFILECOPY    0x01000000
  63. #define DI_FORCECOPY    0x02000000
  64. #define DI_DRIVERPAGE_ADDED    0x04000000
  65. #define DI_USECI_SELECTSTRINGS    0x08000000
  66. #define DI_OVERRIDE_INFFLAGS    0x10000000
  67. #define DI_PROPS_NOCHANGEUSAGE    0x20000000
  68. #define DI_NOSELECTICONS    0x40000000
  69. #define DI_NOWRITE_IDS    0x80000000
  70. #define DI_FLAGSEX_USEOLDINFSEARCH    0x00000001
  71. #define DI_FLAGSEX_AUTOSELECTRANK0    0x00000002
  72. #define DI_FLAGSEX_CI_FAILED    0x00000004
  73. #define DI_FLAGSEX_DIDINFOLIST    0x00000010
  74. #define DI_FLAGSEX_DIDCOMPATINFO    0x00000020
  75. #define DI_FLAGSEX_FILTERCLASSES    0x00000040
  76. #define DI_FLAGSEX_SETFAILEDINSTALL    0x00000080
  77. #define DI_FLAGSEX_DEVICECHANGE    0x00000100
  78. #define DI_FLAGSEX_ALWAYSWRITEIDS    0x00000200
  79. #define DI_FLAGSEX_PROPCHANGE_PENDING    0x00000400
  80. #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS    0x00000800
  81. #define DI_FLAGSEX_NOUIONQUERYREMOVE    0x00001000
  82. #define DI_FLAGSEX_USECLASSFORCOMPAT    0x00002000
  83. #define DI_FLAGSEX_OLDINF_IN_CLASSLIST    0x00004000
  84. #define DI_FLAGSEX_NO_DRVREG_MODIFY    0x00008000
  85. #define DI_FLAGSEX_IN_SYSTEM_SETUP    0x00010000
  86. #define DI_FLAGSEX_INET_DRIVER    0x00020000
  87. #define DI_FLAGSEX_APPENDDRIVERLIST    0x00040000
  88. #define DI_FLAGSEX_PREINSTALLBACKUP    0x00080000
  89. #define DI_FLAGSEX_BACKUPONREPLACE    0x00100000
  90. #define DI_FLAGSEX_DRIVERLIST_FROM_URL    0x00200000
  91. #define DI_FLAGSEX_RESERVED1    0x00400000
  92. #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS    0x00800000
  93. #define DI_FLAGSEX_POWERPAGE_ADDED    0x01000000
  94. #define DIBCI_NOINSTALLCLASS    0x00000001
  95. #define DIBCI_NODISPLAYCLASS    0x00000002
  96. #define DICD_GENERATE_ID    0x00000001
  97. #define DICD_INHERIT_CLASSDRVS    0x00000002
  98. #define DICS_ENABLE    1
  99. #define DICS_FLAG_GLOBAL    1
  100. #define DICS_DISABLE    2
  101. #define DICS_FLAG_CONFIGSPECIFIC    2
  102. #define DICS_PROPCHANGE    3
  103. #define DICS_START    4
  104. #define DICS_FLAG_CONFIGGENERAL    4
  105. #define DICS_STOP    5
  106. #define DIF_SELECTDEVICE    1
  107. #define DIF_INSTALLDEVICE    2
  108. #define DIF_ASSIGNRESOURCES    3
  109. #define DIF_PROPERTIES    4
  110. #define DIF_REMOVE    5
  111. #define DIF_FIRSTTIMESETUP    6
  112. #define DIF_FOUNDDEVICE    7
  113. #define DIF_SELECTCLASSDRIVERS    8
  114. #define DIF_VALIDATECLASSDRIVERS    9
  115. #define DIF_INSTALLCLASSDRIVERS    10
  116. #define DIF_CALCDISKSPACE    11
  117. #define DIF_DESTROYPRIVATEDATA    12
  118. #define DIF_VALIDATEDRIVER    13
  119. #define DIF_MOVEDEVICE    14
  120. #define DIF_DETECT    15
  121. #define DIF_INSTALLWIZARD    16
  122. #define DIF_DESTROYWIZARDDATA    17
  123. #define DIF_PROPERTYCHANGE    18
  124. #define DIF_ENABLECLASS    19
  125. #define DIF_DETECTVERIFY    20
  126. #define DIF_INSTALLDEVICEFILES    21
  127. #define DIF_UNREMOVE    22
  128. #define DIF_SELECTBESTCOMPATDRV    23
  129. #define DIF_ALLOW_INSTALL    24
  130. #define DIF_REGISTERDEVICE    25
  131. #define DIF_NEWDEVICEWIZARD_PRESELECT    26
  132. #define DIF_NEWDEVICEWIZARD_SELECT    27
  133. #define DIF_NEWDEVICEWIZARD_PREANALYZE    28
  134. #define DIF_NEWDEVICEWIZARD_POSTANALYZE    29
  135. #define DIF_NEWDEVICEWIZARD_FINISHINSTALL    30
  136. #define DIF_UNUSED1    31
  137. #define DIF_INSTALLINTERFACES    32
  138. #define DIF_DETECTCANCEL    33
  139. #define DIF_REGISTER_COINSTALLERS    34
  140. #define DIF_ADDPROPERTYPAGE_ADVANCED    35
  141. #define DIF_ADDPROPERTYPAGE_BASIC    36
  142. #define DIF_RESERVED1    37
  143. #define DIF_TROUBLESHOOTER    38
  144. #define DIF_POWERMESSAGEWAKE    39
  145. #define DIGCF_DEFAULT    0x00000001
  146. #define DIGCDP_FLAG_BASIC    0x00000001
  147. #define DIGCF_PRESENT    0x00000002
  148. #define DIGCDP_FLAG_ADVANCED    0x00000002
  149. #define DIGCF_ALLCLASSES    0x00000004
  150. #define DIGCF_PROFILE    0x00000008
  151. #define DIGCF_DEVICEINTERFACE    0x00000010
  152. #define DIGCF_INTERFACEDEVICE    0x00000010
  153. #define DIOCR_INSTALLER    0x00000001
  154. #define DIOCR_INTERFACE    0x00000002
  155. #define DIODI_NO_ADD    0x00000001
  156. #define DIOD_INHERIT_CLASSDRVS    0x00000002
  157. #define DIOD_CANCEL_REMOVE    0x00000004
  158. #define DIREG_DEV    0x00000001
  159. #define DIREG_DRV    0x00000002
  160. #define DIREG_BOTH    0x00000004
  161. #define DIRID_ABSOLUTE    -1
  162. #define DIRID_NULL    0
  163. #define DIRID_SRCPATH    1
  164. #define DIRID_WINDOWS    10
  165. #define DIRID_SYSTEM    11
  166. #define DIRID_DRIVERS    12
  167. #define DIRID_INF    17
  168. #define DIRID_HELP    18
  169. #define DIRID_FONTS    20
  170. #define DIRID_VIEWERS    21
  171. #define DIRID_COLOR    23
  172. #define DIRID_APPS    24
  173. #define DIRID_SHARED    25
  174. #define DIRID_BOOT    30
  175. #define DIRID_SYSTEM16    50
  176. #define DIRID_SPOOL    51
  177. #define DIRID_SPOOLDRIVERS    52
  178. #define DIRID_USERPROFILE    53
  179. #define DIRID_LOADER    54
  180. #define DIRID_PRINTPROCESSOR    55
  181. #define DIRID_COMMON_STARTMENU    16406
  182. #define DIRID_COMMON_PROGRAMS    16407
  183. #define DIRID_COMMON_STARTUP    16408
  184. #define DIRID_COMMON_DESKTOPDIRECTORY    16409
  185. #define DIRID_COMMON_FAVORITES    16415
  186. #define DIRID_COMMON_APPDATA    16419
  187. #define DIRID_PROGRAM_FILES    16422
  188. #define DIRID_SYSTEM_X86    16425
  189. #define DIRID_PROGRAM_FILES_X86    16426
  190. #define DIRID_PROGRAM_FILES_COMMON    16427
  191. #define DIRID_PROGRAM_FILES_COMMONX86    16428
  192. #define DIRID_COMMON_TEMPLATES    16429
  193. #define DIRID_COMMON_DOCUMENTS    16430
  194. #define DIRID_USER    0x8000
  195. #define DIRID_ABSOLUTE_16BIT    0xffff
  196. #define DIRID_IOSUBSYS    DIRID_DRIVERS
  197. #define DIRID_DEFAULT    DIRID_SYSTEM
  198. #define DMI_MASK    0x00000001
  199. #define DMI_BKCOLOR    0x00000002
  200. #define DMI_USERECT    0x00000004
  201. #define DNF_DUPDESC    0x00000001
  202. #define DNF_OLDDRIVER    0x00000002
  203. #define DNF_EXCLUDEFROMLIST    0x00000004
  204. #define DNF_NODRIVER    0x00000008
  205. #define DNF_LEGACYINF    0x00000010
  206. #define DNF_CLASS_DRIVER    0x00000020
  207. #define DNF_COMPATIBLE_DRIVER    0x00000040
  208. #define DNF_INET_DRIVER    0x00000080
  209. #define DNF_UNUSED1    0x00000100
  210. #define DNF_INDEXED_DRIVER    0x00000200
  211. #define DNF_OLD_INET_DRIVER    0x00000400
  212. #define DNF_BAD_DRIVER    0x00000800
  213. #define DNF_DUPPROVIDER    0x00001000
  214. #define DPROMPT_SUCCESS    0
  215. #define DPROMPT_CANCEL    1
  216. #define DPROMPT_SKIPFILE    2
  217. #define DPROMPT_BUFFERTOOSMALL    3
  218. #define DPROMPT_OUTOFMEMORY    4
  219. #define DRIVER_HARDWAREID_RANK    0x00000FFF
  220. #define DYNAWIZ_FLAG_PAGESADDED    0x00000001
  221. #define DYNAWIZ_FLAG_INSTALLDET_NEXT    0x00000002
  222. #define DYNAWIZ_FLAG_INSTALLDET_PREV    0x00000004
  223. #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT    0x00000008
  224. #define ENABLECLASS_QUERY    0
  225. #define ENABLECLASS_SUCCESS    1
  226. #define ENABLECLASS_FAILURE    2
  227. #define ERROR_EXPECTED_SECTION_NAME    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
  228. #define ERROR_BAD_SECTION_NAME_LINE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
  229. #define ERROR_SECTION_NAME_TOO_LONG    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
  230. #define ERROR_GENERAL_SYNTAX    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
  231. #define ERROR_WRONG_INF_STYLE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
  232. #define ERROR_NOT_INSTALLED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
  233. #define ERROR_SECTION_NOT_FOUND    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
  234. #define ERROR_LINE_NOT_FOUND    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
  235. #define ERROR_NO_BACKUP    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
  236. #define ERROR_NO_ASSOCIATED_CLASS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
  237. #define ERROR_CLASS_MISMATCH    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
  238. #define ERROR_DUPLICATE_FOUND    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
  239. #define ERROR_NO_DRIVER_SELECTED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
  240. #define ERROR_KEY_DOES_NOT_EXIST    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
  241. #define ERROR_INVALID_DEVINST_NAME    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
  242. #define ERROR_INVALID_CLASS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
  243. #define ERROR_DEVINST_ALREADY_EXISTS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
  244. #define ERROR_DEVINFO_NOT_REGISTERED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
  245. #define ERROR_INVALID_REG_PROPERTY    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
  246. #define ERROR_NO_INF    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
  247. #define ERROR_NO_SUCH_DEVINST    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
  248. #define ERROR_CANT_LOAD_CLASS_ICON    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
  249. #define ERROR_INVALID_CLASS_INSTALLER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
  250. #define ERROR_DI_DO_DEFAULT    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
  251. #define ERROR_DI_NOFILECOPY    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
  252. #define ERROR_INVALID_HWPROFILE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
  253. #define ERROR_NO_DEVICE_SELECTED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
  254. #define ERROR_DEVINFO_LIST_LOCKED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
  255. #define ERROR_DEVINFO_DATA_LOCKED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
  256. #define ERROR_DI_BAD_PATH    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
  257. #define ERROR_NO_CLASSINSTALL_PARAMS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
  258. #define ERROR_FILEQUEUE_LOCKED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
  259. #define ERROR_BAD_SERVICE_INSTALLSECT    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
  260. #define ERROR_NO_CLASS_DRIVER_LIST    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
  261. #define ERROR_NO_ASSOCIATED_SERVICE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
  262. #define ERROR_NO_DEFAULT_DEVICE_INTERFACE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
  263. #define ERROR_DEVICE_INTERFACE_ACTIVE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
  264. #define ERROR_DEVICE_INTERFACE_REMOVED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
  265. #define ERROR_BAD_INTERFACE_INSTALLSECT    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
  266. #define ERROR_NO_SUCH_INTERFACE_CLASS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
  267. #define ERROR_INVALID_REFERENCE_STRING    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
  268. #define ERROR_INVALID_MACHINENAME    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
  269. #define ERROR_REMOTE_COMM_FAILURE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
  270. #define ERROR_MACHINE_UNAVAILABLE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
  271. #define ERROR_NO_CONFIGMGR_SERVICES    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
  272. #define ERROR_INVALID_PROPPAGE_PROVIDER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
  273. #define ERROR_NO_SUCH_DEVICE_INTERFACE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
  274. #define ERROR_DI_POSTPROCESSING_REQUIRED    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
  275. #define ERROR_INVALID_COINSTALLER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
  276. #define ERROR_NO_COMPAT_DRIVERS    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
  277. #define ERROR_NO_DEVICE_ICON    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
  278. #define ERROR_INVALID_INF_LOGCONFIG    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
  279. #define ERROR_DI_DONT_INSTALL    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
  280. #define ERROR_INVALID_FILTER_DRIVER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
  281. #define ERROR_NON_WINDOWS_NT_DRIVER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
  282. #define ERROR_NON_WINDOWS_DRIVER    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
  283. #define ERROR_NO_CATALOG_FOR_OEM_INF    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
  284. #define ERROR_DEVINSTALL_QUEUE_NONNATIVE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
  285. #define ERROR_NOT_DISABLEABLE    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
  286. #define ERROR_CANT_REMOVE_DEVINST    (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
  287. #define ERROR_INTERFACE_DEVICE_ACTIVE    ERROR_DEVICE_INTERFACE_ACTIVE
  288. #define ERROR_INTERFACE_DEVICE_REMOVED    ERROR_DEVICE_INTERFACE_REMOVED
  289. #define ERROR_NO_DEFAULT_INTERFACE_DEVICE    ERROR_NO_DEFAULT_DEVICE_INTERFACE
  290. #define ERROR_NO_SUCH_INTERFACE_DEVICE    ERROR_NO_SUCH_DEVICE_INTERFACE
  291.  
  292. #define FILEOP_COPY    0
  293. #define FILEOP_ABORT    0
  294. #define FILE_COMPRESSION_NONE    0
  295. #define FILEOP_RENAME    1
  296. #define FILEOP_DOIT    1
  297. #define FILE_COMPRESSION_WINLZA    1
  298. #define FILEOP_DELETE    2
  299. #define FILEOP_SKIP    2
  300. #define FILE_COMPRESSION_MSZIP    2
  301. #define FILEOP_BACKUP    3
  302. #define FILE_COMPRESSION_NTCAB    3
  303. #define FILEOP_NEWPATH    4
  304. #define FILEOP_RETRY    FILEOP_DOIT
  305. #define FLG_ADDREG_TYPE_SZ    0x00000000
  306. #define FLG_ADDREG_BINVALUETYPE    0x00000001
  307. #define FLG_ADDREG_NOCLOBBER    0x00000002
  308. #define FLG_ADDREG_DELVAL    0x00000004
  309. #define FLG_ADDREG_APPEND    0x00000008
  310. #define FLG_ADDREG_KEYONLY    0x00000010
  311. #define FLG_ADDREG_OVERWRITEONLY    0x00000020
  312. #define FLG_ADDREG_TYPE_MULTI_SZ    0x00010000
  313. #define FLG_ADDREG_TYPE_EXPAND_SZ    0x00020000
  314. #define FLG_ADDREG_TYPE_BINARY    (0x00000000|FLG_ADDREG_BINVALUETYPE)
  315. #define FLG_ADDREG_TYPE_DWORD    (0x00010000|FLG_ADDREG_BINVALUETYPE)
  316. #define FLG_ADDREG_TYPE_NONE    (0x00020000|FLG_ADDREG_BINVALUETYPE)
  317. #define FLG_ADDREG_TYPE_MASK    (0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
  318. #define FLG_BITREG_CLEARBITS    0x00000000
  319. #define FLG_BITREG_SETBITS    0x00000001
  320. #define FLG_PROFITEM_CURRENTUSER    0x00000001
  321. #define FLG_PROFITEM_DELETE    0x00000002
  322. #define FLG_PROFITEM_GROUP    0x00000004
  323. #define FLG_PROFITEM_CSIDL    0x00000008
  324. #define FLG_REGSVR_DLLREGISTER    0x00000001
  325. #define FLG_REGSVR_DLLINSTALL    0x00000002
  326. #define MIN_IDD_DYNAWIZ_RESOURCE_ID    10000
  327. #define MAX_IDD_DYNAWIZ_RESOURCE_ID    11000
  328. #define IDD_DYNAWIZ_FIRSTPAGE    10000
  329. #define IDD_DYNAWIZ_SELECT_PREVPAGE    10001
  330. #define IDD_DYNAWIZ_SELECT_NEXTPAGE    10002
  331. #define IDD_DYNAWIZ_ANALYZE_PREVPAGE    10003
  332. #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE    10004
  333. #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE    10006
  334. #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE    10007
  335. #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS    10008
  336. #define IDD_DYNAWIZ_SELECTDEV_PAGE    10009
  337. #define IDD_DYNAWIZ_ANALYZEDEV_PAGE    10010
  338. #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE    10011
  339. #define IDD_DYNAWIZ_SELECTCLASS_PAGE    10012
  340. #define IDF_NOBROWSE    0x00000001
  341. #define IDF_NOSKIP    0x00000002
  342. #define IDF_NODETAILS    0x00000004
  343. #define IDF_NOCOMPRESSED    0x00000008
  344. #define IDF_CHECKFIRST    0x00000100
  345. #define IDF_NOBEEP    0x00000200
  346. #define IDF_NOFOREGROUND    0x00000400
  347. #define IDF_WARNIFSKIP    0x00000800
  348. #define IDF_OEMDISK    0x80000000
  349. #define IDI_RESOURCEFIRST    159
  350. #define IDI_RESOURCE    159
  351. #define IDI_RESOURCELAST    161
  352. #define IDI_RESOURCEOVERLAYFIRST    161
  353. #define IDI_RESOURCEOVERLAYLAST    161
  354. #define IDI_CONFLICT    161
  355. #define IDI_PROBLEM_OVL    500
  356. #define IDI_DISABLED_OVL    501
  357. #define IDI_FORCED_OVL    502
  358. #define IDI_CLASSICON_OVERLAYFIRST    500
  359. #define IDI_CLASSICON_OVERLAYLAST    502
  360. #define INF_STYLE_NONE    0x00000000
  361. #define INF_STYLE_OLDNT    0x00000001
  362. #define INF_STYLE_WIN4    0x00000002
  363. #define INF_STYLE_CACHE_ENABLE    0x00000010
  364. #define INF_STYLE_CACHE_DISABLE    0x00000020
  365. #define INFINFO_INF_SPEC_IS_HINF    1
  366. #define INFINFO_INF_NAME_IS_ABSOLUTE    2
  367. #define INFINFO_DEFAULT_SEARCH    3
  368. #define INFINFO_REVERSE_DEFAULT_SEARCH    4
  369. #define INFINFO_INF_PATH_LIST_SEARCH    5
  370. #define LogSevInformation    0
  371. #define LogSevWarning    1
  372. #define LogSevError    2
  373. #define LogSevFatalError    3
  374. #define LogSevMaximum    4
  375. #define LogSeverity    DWORD
  376. #define MAX_INSTALLWIZARD_DYNAPAGES    20
  377. #define NDW_INSTALLFLAG_DIDFACTDEFS    0x00000001
  378. #define NDW_INSTALLFLAG_HARDWAREALLREADYIN    0x00000002
  379. #define NDW_INSTALLFLAG_NEEDSHUTDOWN    0x00000200
  380. #define NDW_INSTALLFLAG_EXPRESSINTRO    0x00000400
  381. #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED    0x00000800
  382. #define NDW_INSTALLFLAG_NODETECTEDDEVS    0x00001000
  383. #define NDW_INSTALLFLAG_INSTALLSPECIFIC    0x00002000
  384. #define NDW_INSTALLFLAG_SKIPCLASSLIST    0x00004000
  385. #define NDW_INSTALLFLAG_CI_PICKED_OEM    0x00008000
  386. #define NDW_INSTALLFLAG_PCMCIAMODE    0x00010000
  387. #define NDW_INSTALLFLAG_PCMCIADEVICE    0x00020000
  388. #define NDW_INSTALLFLAG_USERCANCEL    0x00040000
  389. #define NDW_INSTALLFLAG_KNOWNCLASS    0x00080000
  390. #define NDW_INSTALLFLAG_NEEDRESTART    0x00000080
  391. #define NDW_INSTALLFLAG_NEEDREBOOT    0x00000100
  392. #define SETDIRID_NOT_FULL_PATH    0x00000001
  393. #define SP_COPY_DELETESOURCE    0x0000001
  394. #define SP_COPY_REPLACEONLY    0x0000002
  395. #define SP_COPY_NEWER    0x0000004
  396. #define SP_COPY_NEWER_OR_SAME    0x0000004
  397. #define SP_COPY_NOOVERWRITE    0x0000008
  398. #define SP_COPY_NODECOMP    0x0000010
  399. #define SP_COPY_LANGUAGEAWARE    0x0000020
  400. #define SP_COPY_SOURCE_ABSOLUTE    0x0000040
  401. #define SP_COPY_SOURCEPATH_ABSOLUTE    0x0000080
  402. #define SP_COPY_IN_USE_NEEDS_REBOOT    0x0000100
  403. #define SP_COPY_FORCE_IN_USE    0x0000200
  404. #define SP_COPY_NOSKIP    0x0000400
  405. #define SP_COPY_FORCE_NOOVERWRITE    0x0001000
  406. #define SP_COPY_FORCE_NEWER    0x0002000
  407. #define SP_COPY_WARNIFSKIP    0x0004000
  408. #define SP_COPY_NOBROWSE    0x0008000
  409. #define SP_COPY_NEWER_ONLY    0x0010000
  410. #define SP_COPY_SOURCE_SIS_MASTER    0x0020000
  411. #define SP_COPY_OEMINF_CATALOG_ONLY    0x0040000
  412. #define SP_COPY_REPLACE_BOOT_FILE    0x0080000
  413. #define SP_COPY_NOPRUNE    0x0100000
  414. #define SP_FLAG_CABINETCONTINUATION    0x0000800
  415. #define SPCRP_SECURITY    23
  416. #define SPCRP_SECURITY_SDS    24
  417. #define SPCRP_DEVTYPE    25
  418. #define SPCRP_EXCLUSIVE    26
  419. #define SPCRP_CHARACTERISTICS    27
  420. #define SPCRP_MAXIMUM_PROPERTY    28
  421. #define SPDIT_NODRIVER    0
  422. #define SPDIT_CLASSDRIVER    1
  423. #define SPDIT_COMPATDRIVER    2
  424. #define SPDRP_DEVICEDESC    0
  425. #define SPDRP_HARDWAREID    1
  426. #define SPDRP_COMPATIBLEIDS    2
  427. #define SPDRP_UNUSED0    3
  428. #define SPDRP_SERVICE    4
  429. #define SPDRP_UNUSED1    5
  430. #define SPDRP_UNUSED2    6
  431. #define SPDRP_CLASS    7
  432. #define SPDRP_CLASSGUID    8
  433. #define SPDRP_DRIVER    9
  434. #define SPDRP_CONFIGFLAGS    10
  435. #define SPDRP_MFG    11
  436. #define SPDRP_FRIENDLYNAME    12
  437. #define SPDRP_LOCATION_INFORMATION    13
  438. #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME    14
  439. #define SPDRP_CAPABILITIES    15
  440. #define SPDRP_UI_NUMBER    16
  441. #define SPDRP_UPPERFILTERS    17
  442. #define SPDRP_LOWERFILTERS    18
  443. #define SPDRP_BUSTYPEGUID    19
  444. #define SPDRP_LEGACYBUSTYPE    20
  445. #define SPDRP_BUSNUMBER    21
  446. #define SPDRP_ENUMERATOR_NAME    22
  447. #define SPDRP_SECURITY    23
  448. #define SPDRP_SECURITY_SDS    24
  449. #define SPDRP_DEVTYPE    25
  450. #define SPDRP_EXCLUSIVE    26
  451. #define SPDRP_CHARACTERISTICS    27
  452. #define SPDRP_ADDRESS    28
  453. #define SPDRP_UI_NUMBER_DESC_FORMAT    30
  454. #define SPDRP_MAXIMUM_PROPERTY    31
  455. #define SPDSL_IGNORE_DISK    1
  456. #define SPDSL_DISALLOW_NEGATIVE_ADJUST    2
  457.  
  458. #define SPFILENOTIFY_STARTQUEUE    1
  459. #define SPFILENOTIFY_ENDQUEUE    2
  460. #define SPFILENOTIFY_STARTSUBQUEUE    3
  461. #define SPFILENOTIFY_ENDSUBQUEUE    4
  462. #define SPFILENOTIFY_STARTDELETE    5
  463. #define SPFILENOTIFY_ENDDELETE    6
  464. #define SPFILENOTIFY_DELETEERROR    7
  465. #define SPFILENOTIFY_STARTRENAME    8
  466. #define SPFILENOTIFY_ENDRENAME    9
  467. #define SPFILENOTIFY_RENAMEERROR    10
  468. #define SPFILENOTIFY_STARTCOPY    11
  469. #define SPFILENOTIFY_ENDCOPY    12
  470. #define SPFILENOTIFY_COPYERROR    13
  471. #define SPFILENOTIFY_NEEDMEDIA    14
  472. #define SPFILENOTIFY_QUEUESCAN    15
  473. #define SPFILENOTIFY_CABINETINFO    16
  474. #define SPFILENOTIFY_FILEINCABINET    17
  475. #define SPFILENOTIFY_NEEDNEWCABINET    18
  476. #define SPFILENOTIFY_FILEEXTRACTED    19
  477. #define SPFILENOTIFY_FILEOPDELAYED    20
  478. #define SPFILENOTIFY_STARTBACKUP    21
  479. #define SPFILENOTIFY_BACKUPERROR    22
  480. #define SPFILENOTIFY_ENDBACKUP    23
  481. #define SPFILENOTIFY_QUEUESCAN_EX    24
  482. #define SPFILENOTIFY_LANGMISMATCH    0x00010000
  483. #define SPFILENOTIFY_TARGETEXISTS    0x00020000
  484. #define SPFILENOTIFY_TARGETNEWER    0x00040000
  485. #define SPFILELOG_SYSTEMLOG    0x00000001
  486. #define SPFILELOG_OEMFILE    0x00000001
  487. #define SPFILELOG_FORCENEW    0x00000002
  488. #define SPFILELOG_QUERYONLY    0x00000004
  489. #define SPFILEQ_FILE_IN_USE    0x00000001
  490. #define SPFILEQ_REBOOT_RECOMMENDED    0x00000002
  491. #define SPFILEQ_REBOOT_IN_PROGRESS    0x00000004
  492. #define SPINT_ACTIVE    0x00000001
  493. #define SPINT_DEFAULT    0x00000002
  494. #define SPINT_REMOVED    0x00000004
  495. #define SPID_ACTIVE    0x00000001
  496. #define SPID_DEFAULT    0x00000002
  497. #define SPID_REMOVED    0x00000004
  498. #define SPINST_LOGCONFIG    0x00000001
  499. #define SPINST_INIFILES    0x00000002
  500. #define SPINST_REGISTRY    0x00000004
  501. #define SPINST_INI2REG    0x00000008
  502. #define SPINST_FILES    0x00000010
  503. #define SPINST_BITREG    0x00000020
  504. #define SPINST_REGSVR    0x00000040
  505. #define SPINST_UNREGSVR    0x00000080
  506. #define SPINST_PROFILEITEMS    0x00000100
  507. #define SPINST_ALL    0x000001ff
  508. #define SPINST_SINGLESECTION    0x00010000
  509. #define SPINST_LOGCONFIG_IS_FORCED    0x00020000
  510. #define SPINST_LOGCONFIGS_ARE_OVERRIDES    0x00040000
  511. #define SPOST_NONE    0
  512. #define SPOST_PATH    1
  513. #define SPOST_URL    2
  514. #define SPOST_MAX    3
  515. #define SPPSR_SELECT_DEVICE_RESOURCES    1
  516. #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES    2
  517. #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES    3
  518. #define SPQ_SCAN_FILE_PRESENCE    0x00000001
  519. #define SPQ_DELAYED_COPY    0x00000001
  520. #define SPQ_SCAN_FILE_VALIDITY    0x00000002
  521. #define SPQ_SCAN_USE_CALLBACK    0x00000004
  522. #define SPQ_SCAN_USE_CALLBACKEX    0x00000008
  523. #define SPQ_SCAN_INFORM_USER    0x00000010
  524. #define SPQ_SCAN_PRUNE_COPY_QUEUE    0x00000020
  525. #define SPRDI_FIND_DUPS    0x00000001
  526. #define SPSVCINST_TAGTOFRONT    0x00000001
  527. #define SPSVCINST_ASSOCSERVICE    0x00000002
  528. #define SPSVCINST_DELETEEVENTLOGENTRY    0x00000004
  529. #define SPSVCINST_NOCLOBBER_DISPLAYNAME    0x00000008
  530. #define SPSVCINST_NOCLOBBER_STARTTYPE    0x00000010
  531. #define SPSVCINST_NOCLOBBER_ERRORCONTROL    0x00000020
  532. #define SPSVCINST_NOCLOBBER_LOADORDERGROUP    0x00000040
  533. #define SPSVCINST_NOCLOBBER_DEPENDENCIES    0x00000080
  534. #define SPSVCINST_NOCLOBBER_DESCRIPTION    0x00000100
  535. #define SPSVCINST_STOPSERVICE    0x00000200
  536. #define SPWPT_SELECTDEVICE    0x00000001
  537. #define SPWP_USE_DEVINFO_DATA    0x00000001
  538. #define SRCINFO_PATH    1
  539. #define SRCINFO_TAGFILE    2
  540. #define SRCINFO_DESCRIPTION    3
  541. #define SRCINFO_FLAGS    4
  542. #define SRCLIST_TEMPORARY    0x00000001
  543. #define SRCLIST_NOBROWSE    0x00000002
  544. #define SRCLIST_SYSTEM    0x00000010
  545. #define SRCLIST_USER    0x00000020
  546. #define SRCLIST_SYSIFADMIN    0x00000040
  547. #define SRCLIST_SUBDIRS    0x00000100
  548. #define SRCLIST_APPEND    0x00000200
  549. #define SRCLIST_NOSTRIPPLATFORM    0x00000400
  550.  
  551. #ifndef RC_INVOKED
  552. typedef PVOID HINF;
  553. typedef PVOID HDSKSPC;
  554. typedef PVOID HDEVINFO;
  555. typedef PVOID HSPFILEQ;
  556. typedef PVOID HSPFILELOG;
  557. typedef UINT DI_FUNCTION;
  558.  
  559. typedef enum {
  560.     SetupFileLogSourceFilename,
  561.     SetupFileLogChecksum,
  562.     SetupFileLogDiskTagfile,
  563.     SetupFileLogDiskDescription,
  564.     SetupFileLogOtherInfo,
  565.     SetupFileLogMax
  566. } SetupFileLogInfo;
  567. typedef struct _INFCONTEXT {
  568.     PVOID Inf;
  569.     PVOID CurrentInf;
  570.     UINT Section;
  571.     UINT Line;
  572. } INFCONTEXT, *PINFCONTEXT;
  573. typedef struct _SP_INF_INFORMATION {
  574.     DWORD InfStyle;
  575.     DWORD InfCount;
  576.     BYTE VersionData[ANYSIZE_ARRAY];
  577. } SP_INF_INFORMATION, *PSP_INF_INFORMATION;
  578. typedef struct _SP_ALTPLATFORM_INFO {
  579.     DWORD cbSize;
  580.     DWORD Platform;
  581.     DWORD MajorVersion;
  582.     DWORD MinorVersion;
  583.     WORD  ProcessorArchitecture;
  584.     WORD  Reserved;
  585. } SP_ALTPLATFORM_INFO, *PSP_ALTPLATFORM_INFO;
  586. typedef struct _SP_ORIGINAL_FILE_INFO_A {
  587.     DWORD  cbSize;
  588.     CHAR   OriginalInfName[MAX_PATH];
  589.     CHAR   OriginalCatalogName[MAX_PATH];
  590. } SP_ORIGINAL_FILE_INFO_A, *PSP_ORIGINAL_FILE_INFO_A;
  591. typedef struct _SP_ORIGINAL_FILE_INFO_W {
  592.     DWORD  cbSize;
  593.     WCHAR  OriginalInfName[MAX_PATH];
  594.     WCHAR  OriginalCatalogName[MAX_PATH];
  595. } SP_ORIGINAL_FILE_INFO_W, *PSP_ORIGINAL_FILE_INFO_W;
  596. typedef struct _FILEPATHS_A {
  597.     PCSTR  Target;
  598.     PCSTR  Source;
  599.     UINT   Win32Error;
  600.     DWORD  Flags;
  601. } FILEPATHS_A, *PFILEPATHS_A;
  602. typedef struct _FILEPATHS_W {
  603.     PCWSTR Target;
  604.     PCWSTR Source;
  605.     UINT   Win32Error;
  606.     DWORD  Flags;
  607. } FILEPATHS_W, *PFILEPATHS_W;
  608. typedef struct _SOURCE_MEDIA_A {
  609.     PCSTR Reserved;
  610.     PCSTR Tagfile;
  611.     PCSTR Description;
  612.     PCSTR SourcePath;
  613.     PCSTR SourceFile;
  614.     DWORD Flags;
  615. } SOURCE_MEDIA_A, *PSOURCE_MEDIA_A;
  616. typedef struct _SOURCE_MEDIA_W {
  617.     PCWSTR Reserved;
  618.     PCWSTR Tagfile;
  619.     PCWSTR Description;
  620.     PCWSTR SourcePath;
  621.     PCWSTR SourceFile;
  622.     DWORD  Flags;
  623. } SOURCE_MEDIA_W, *PSOURCE_MEDIA_W;
  624. typedef struct _CABINET_INFO_A {
  625.     PCSTR CabinetPath;
  626.     PCSTR CabinetFile;
  627.     PCSTR DiskName;
  628.     USHORT SetId;
  629.     USHORT CabinetNumber;
  630. } CABINET_INFO_A, *PCABINET_INFO_A;
  631. typedef struct _CABINET_INFO_W {
  632.     PCWSTR CabinetPath;
  633.     PCWSTR CabinetFile;
  634.     PCWSTR DiskName;
  635.     USHORT SetId;
  636.     USHORT CabinetNumber;
  637. } CABINET_INFO_W, *PCABINET_INFO_W;
  638. typedef struct _FILE_IN_CABINET_INFO_A {
  639.     PCSTR NameInCabinet;
  640.     DWORD FileSize;
  641.     DWORD Win32Error;
  642.     WORD  DosDate;
  643.     WORD  DosTime;
  644.     WORD  DosAttribs;
  645.     CHAR  FullTargetName[MAX_PATH];
  646. } FILE_IN_CABINET_INFO_A, *PFILE_IN_CABINET_INFO_A;
  647. typedef struct _FILE_IN_CABINET_INFO_W {
  648.     PCWSTR NameInCabinet;
  649.     DWORD  FileSize;
  650.     DWORD  Win32Error;
  651.     WORD   DosDate;
  652.     WORD   DosTime;
  653.     WORD   DosAttribs;
  654.     WCHAR  FullTargetName[MAX_PATH];
  655. } FILE_IN_CABINET_INFO_W, *PFILE_IN_CABINET_INFO_W;
  656. typedef struct _SP_FILE_COPY_PARAMS_A {
  657.     DWORD    cbSize;
  658.     HSPFILEQ QueueHandle;
  659.     PCSTR    SourceRootPath;
  660.     PCSTR    SourcePath;
  661.     PCSTR    SourceFilename;
  662.     PCSTR    SourceDescription;
  663.     PCSTR    SourceTagfile;
  664.     PCSTR    TargetDirectory;
  665.     PCSTR    TargetFilename;
  666.     DWORD    CopyStyle;
  667.     HINF     LayoutInf;
  668.     PCSTR    SecurityDescriptor;
  669. } SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
  670. typedef struct _SP_FILE_COPY_PARAMS_W {
  671.     DWORD    cbSize;
  672.     HSPFILEQ QueueHandle;
  673.     PCWSTR   SourceRootPath;
  674.     PCWSTR   SourcePath;
  675.     PCWSTR   SourceFilename;
  676.     PCWSTR   SourceDescription;
  677.     PCWSTR   SourceTagfile;
  678.     PCWSTR   TargetDirectory;
  679.     PCWSTR   TargetFilename;
  680.     DWORD    CopyStyle;
  681.     HINF     LayoutInf;
  682.     PCWSTR   SecurityDescriptor;
  683. } SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W;
  684. typedef struct _SP_DEVINFO_DATA {
  685.     DWORD cbSize;
  686.     GUID  ClassGuid;
  687.     DWORD DevInst;
  688.     ULONG_PTR Reserved;
  689. } SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
  690. typedef struct _SP_DEVICE_INTERFACE_DATA {
  691.     DWORD cbSize;
  692.     GUID  InterfaceClassGuid;
  693.     DWORD Flags;
  694.     ULONG_PTR Reserved;
  695. } SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA;
  696. /* For backward compatability */
  697. typedef SP_DEVICE_INTERFACE_DATA  SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA;
  698.  
  699. typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A {
  700.     DWORD  cbSize;
  701.     CHAR   DevicePath[ANYSIZE_ARRAY];
  702. } SP_DEVICE_INTERFACE_DETAIL_DATA_A, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
  703. typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W {
  704.     DWORD  cbSize;
  705.     WCHAR  DevicePath[ANYSIZE_ARRAY];
  706. } SP_DEVICE_INTERFACE_DETAIL_DATA_W, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
  707. /* For backward compatability */
  708. typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A,
  709.     *PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
  710. typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W,
  711.     *PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
  712.  
  713. typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A {
  714.     DWORD  cbSize;
  715.     GUID   ClassGuid;
  716.     HANDLE RemoteMachineHandle;
  717.     CHAR   RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
  718. } SP_DEVINFO_LIST_DETAIL_DATA_A, *PSP_DEVINFO_LIST_DETAIL_DATA_A;
  719. typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W {
  720.     DWORD  cbSize;
  721.     GUID   ClassGuid;
  722.     HANDLE RemoteMachineHandle;
  723.     WCHAR  RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
  724. } SP_DEVINFO_LIST_DETAIL_DATA_W, *PSP_DEVINFO_LIST_DETAIL_DATA_W;
  725.  
  726. typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR);
  727. typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR);
  728. typedef struct _SP_DEVINSTALL_PARAMS_A {
  729.     DWORD             cbSize;
  730.     DWORD             Flags;
  731.     DWORD             FlagsEx;
  732.     HWND              hwndParent;
  733.     PSP_FILE_CALLBACK_A InstallMsgHandler;
  734.     PVOID             InstallMsgHandlerContext;
  735.     HSPFILEQ          FileQueue;
  736.     ULONG_PTR         ClassInstallReserved;
  737.     DWORD             Reserved;
  738.     CHAR              DriverPath[MAX_PATH];
  739. } SP_DEVINSTALL_PARAMS_A, *PSP_DEVINSTALL_PARAMS_A;
  740. typedef struct _SP_DEVINSTALL_PARAMS_W {
  741.     DWORD             cbSize;
  742.     DWORD             Flags;
  743.     DWORD             FlagsEx;
  744.     HWND              hwndParent;
  745.     PSP_FILE_CALLBACK_W InstallMsgHandler;
  746.     PVOID             InstallMsgHandlerContext;
  747.     HSPFILEQ          FileQueue;
  748.     ULONG_PTR         ClassInstallReserved;
  749.     DWORD             Reserved;
  750.     WCHAR             DriverPath[MAX_PATH];
  751. } SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W;
  752. typedef struct _SP_CLASSINSTALL_HEADER {
  753.     DWORD       cbSize;
  754.     DI_FUNCTION InstallFunction;
  755. } SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER;
  756. typedef struct _SP_ENABLECLASS_PARAMS {
  757.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  758.     GUID                   ClassGuid;
  759.     DWORD                  EnableMessage;
  760. } SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS;
  761. typedef struct _SP_MOVEDEV_PARAMS {
  762.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  763.     SP_DEVINFO_DATA        SourceDeviceInfoData;
  764. } SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS;
  765. typedef struct _SP_PROPCHANGE_PARAMS {
  766.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  767.     DWORD                  StateChange;
  768.     DWORD                  Scope;
  769.     DWORD                  HwProfile;
  770. } SP_PROPCHANGE_PARAMS, *PSP_PROPCHANGE_PARAMS;
  771. typedef struct _SP_REMOVEDEVICE_PARAMS {
  772.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  773.     DWORD Scope;
  774.     DWORD HwProfile;
  775. } SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS;
  776. typedef struct _SP_UNREMOVEDEVICE_PARAMS {
  777.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  778.     DWORD Scope;
  779.     DWORD HwProfile;
  780. } SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS;
  781. typedef struct _SP_SELECTDEVICE_PARAMS_A {
  782.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  783.     CHAR                   Title[MAX_TITLE_LEN];
  784.     CHAR                   Instructions[MAX_INSTRUCTION_LEN];
  785.     CHAR                   ListLabel[MAX_LABEL_LEN];
  786.     CHAR                   SubTitle[MAX_SUBTITLE_LEN];
  787.     BYTE                   Reserved[2];
  788. } SP_SELECTDEVICE_PARAMS_A, *PSP_SELECTDEVICE_PARAMS_A;
  789. typedef struct _SP_SELECTDEVICE_PARAMS_W {
  790.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  791.     WCHAR                  Title[MAX_TITLE_LEN];
  792.     WCHAR                  Instructions[MAX_INSTRUCTION_LEN];
  793.     WCHAR                  ListLabel[MAX_LABEL_LEN];
  794.     WCHAR                  SubTitle[MAX_SUBTITLE_LEN];
  795. } SP_SELECTDEVICE_PARAMS_W, *PSP_SELECTDEVICE_PARAMS_W;
  796.  
  797. typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD);
  798. typedef struct _SP_DETECTDEVICE_PARAMS {
  799.     SP_CLASSINSTALL_HEADER  ClassInstallHeader;
  800.     PDETECT_PROGRESS_NOTIFY DetectProgressNotify;
  801.     PVOID                   ProgressNotifyParam;
  802. } SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS;
  803. typedef struct _SP_INSTALLWIZARD_DATA {
  804.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  805.     DWORD                  Flags;
  806.     HPROPSHEETPAGE         DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
  807.     DWORD                  NumDynamicPages;
  808.     DWORD                  DynamicPageFlags;
  809.     DWORD                  PrivateFlags;
  810.     LPARAM                 PrivateData;
  811.     HWND                   hwndWizardDlg;
  812. } SP_INSTALLWIZARD_DATA, *PSP_INSTALLWIZARD_DATA;
  813. typedef struct _SP_NEWDEVICEWIZARD_DATA {
  814.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  815.     DWORD                  Flags;
  816.     HPROPSHEETPAGE         DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
  817.     DWORD                  NumDynamicPages;
  818.     HWND                   hwndWizardDlg;
  819. } SP_NEWDEVICEWIZARD_DATA, *PSP_NEWDEVICEWIZARD_DATA;
  820. typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA,
  821.     *PSP_ADDPROPERTYPAGE_DATA;
  822. typedef struct _SP_TROUBLESHOOTER_PARAMS_A {
  823.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  824.     CHAR                   ChmFile[MAX_PATH];
  825.     CHAR                   HtmlTroubleShooter[MAX_PATH];
  826. } SP_TROUBLESHOOTER_PARAMS_A, *PSP_TROUBLESHOOTER_PARAMS_A;
  827. typedef struct _SP_TROUBLESHOOTER_PARAMS_W {
  828.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  829.     WCHAR                  ChmFile[MAX_PATH];
  830.     WCHAR                  HtmlTroubleShooter[MAX_PATH];
  831. } SP_TROUBLESHOOTER_PARAMS_W, *PSP_TROUBLESHOOTER_PARAMS_W;
  832. typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A {
  833.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  834.     CHAR                   PowerMessageWake[LINE_LEN*2];
  835. } SP_POWERMESSAGEWAKE_PARAMS_A, *PSP_POWERMESSAGEWAKE_PARAMS_A;
  836. typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W {
  837.     SP_CLASSINSTALL_HEADER ClassInstallHeader;
  838.     WCHAR                  PowerMessageWake[LINE_LEN*2];
  839. } SP_POWERMESSAGEWAKE_PARAMS_W, *PSP_POWERMESSAGEWAKE_PARAMS_W;
  840. typedef struct _SP_DRVINFO_DATA_V2_A {
  841.     DWORD     cbSize;
  842.     DWORD     DriverType;
  843.     ULONG_PTR Reserved;
  844.     CHAR      Description[LINE_LEN];
  845.     CHAR      MfgName[LINE_LEN];
  846.     CHAR      ProviderName[LINE_LEN];
  847.     FILETIME  DriverDate;
  848.     DWORDLONG DriverVersion;
  849. } SP_DRVINFO_DATA_V2_A, *PSP_DRVINFO_DATA_V2_A;
  850. typedef struct _SP_DRVINFO_DATA_V2_W {
  851.     DWORD     cbSize;
  852.     DWORD     DriverType;
  853.     ULONG_PTR Reserved;
  854.     WCHAR     Description[LINE_LEN];
  855.     WCHAR     MfgName[LINE_LEN];
  856.     WCHAR     ProviderName[LINE_LEN];
  857.     FILETIME  DriverDate;
  858.     DWORDLONG DriverVersion;
  859. } SP_DRVINFO_DATA_V2_W, *PSP_DRVINFO_DATA_V2_W;
  860. typedef struct _SP_DRVINFO_DATA_V1_A {
  861.     DWORD     cbSize;
  862.     DWORD     DriverType;
  863.     ULONG_PTR Reserved;
  864.     CHAR      Description[LINE_LEN];
  865.     CHAR      MfgName[LINE_LEN];
  866.     CHAR      ProviderName[LINE_LEN];
  867. } SP_DRVINFO_DATA_V1_A, *PSP_DRVINFO_DATA_V1_A;
  868. typedef struct _SP_DRVINFO_DATA_V1_W {
  869.     DWORD     cbSize;
  870.     DWORD     DriverType;
  871.     ULONG_PTR Reserved;
  872.     WCHAR     Description[LINE_LEN];
  873.     WCHAR     MfgName[LINE_LEN];
  874.     WCHAR     ProviderName[LINE_LEN];
  875. } SP_DRVINFO_DATA_V1_W, *PSP_DRVINFO_DATA_V1_W;
  876.  
  877. #ifdef UNICODE
  878. typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
  879. typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
  880. #else
  881. typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
  882. typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
  883. #endif
  884.  
  885. #if USE_SP_DRVINFO_DATA_V1
  886. typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
  887. typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
  888. typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
  889. #else
  890. typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
  891. typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
  892. typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
  893. #endif
  894.  
  895. typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID);
  896.  
  897. typedef struct _SP_DRVINFO_DETAIL_DATA_A {
  898.     DWORD    cbSize;
  899.     FILETIME InfDate;
  900.     DWORD    CompatIDsOffset;
  901.     DWORD    CompatIDsLength;
  902.     ULONG_PTR Reserved;
  903.     CHAR     SectionName[LINE_LEN];
  904.     CHAR     InfFileName[MAX_PATH];
  905.     CHAR     DrvDescription[LINE_LEN];
  906.     CHAR     HardwareID[ANYSIZE_ARRAY];
  907. } SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
  908. typedef struct _SP_DRVINFO_DETAIL_DATA_W {
  909.     DWORD    cbSize;
  910.     FILETIME InfDate;
  911.     DWORD    CompatIDsOffset;
  912.     DWORD    CompatIDsLength;
  913.     ULONG_PTR Reserved;
  914.     WCHAR    SectionName[LINE_LEN];
  915.     WCHAR    InfFileName[MAX_PATH];
  916.     WCHAR    DrvDescription[LINE_LEN];
  917.     WCHAR    HardwareID[ANYSIZE_ARRAY];
  918. } SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W;
  919. typedef struct _SP_DRVINSTALL_PARAMS {
  920.     DWORD cbSize;
  921.     DWORD Rank;
  922.     DWORD Flags;
  923.     DWORD_PTR PrivateData;
  924.     DWORD Reserved;
  925. } SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;
  926.  
  927.  
  928. typedef struct _COINSTALLER_CONTEXT_DATA {
  929.     BOOL  PostProcessing;
  930.     DWORD InstallResult;
  931.     PVOID PrivateData;
  932. } COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA;
  933. typedef struct _SP_CLASSIMAGELIST_DATA {
  934.     DWORD      cbSize;
  935.     HIMAGELIST ImageList;
  936.     ULONG_PTR  Reserved;
  937. } SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA;
  938. typedef struct _SP_PROPSHEETPAGE_REQUEST {
  939.     DWORD            cbSize;
  940.     DWORD            PageRequested;
  941.     HDEVINFO         DeviceInfoSet;
  942.     PSP_DEVINFO_DATA DeviceInfoData;
  943. } SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
  944. typedef struct _SP_BACKUP_QUEUE_PARAMS_A {
  945.     DWORD    cbSize;
  946.     CHAR     FullInfPath[MAX_PATH];
  947.     INT      FilenameOffset;
  948. } SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A;
  949. typedef struct _SP_BACKUP_QUEUE_PARAMS_W {
  950.     DWORD    cbSize;
  951.     WCHAR    FullInfPath[MAX_PATH];
  952.     INT      FilenameOffset;
  953. } SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W;
  954.  
  955.  
  956. #ifdef UNICODE
  957. typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
  958. typedef FILEPATHS_W FILEPATHS, *PFILEPATHS;
  959. typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA;
  960. typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO;
  961. typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
  962. typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS;
  963. typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA,
  964.     *PSP_DEVICE_INTERFACE_DETAIL_DATA;
  965. typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA,
  966.     *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
  967. typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA,
  968.     *PSP_DEVINFO_LIST_DETAIL_DATA;
  969. typedef SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS;
  970. typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS;
  971. typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS,
  972.     *PSP_TROUBLESHOOTER_PARAMS;
  973. typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS,
  974.     *PSP_POWERMESSAGEWAKE_PARAMS;
  975. typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA,
  976.      *PSP_DRVINFO_DETAIL_DATA;
  977. typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS,
  978.     *PSP_BACKUP_QUEUE_PARAMS;
  979. #else
  980. typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
  981. typedef FILEPATHS_A FILEPATHS, *PFILEPATHS;
  982. typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA;
  983. typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO;
  984. typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
  985. typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS;
  986. typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA,
  987.     *PSP_DEVICE_INTERFACE_DETAIL_DATA;
  988. typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA,
  989.     *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
  990. typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA,
  991.     *PSP_DEVINFO_LIST_DETAIL_DATA;
  992. typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS;
  993. typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS,
  994.     *PSP_SELECTDEVICE_PARAMS;
  995. typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS,
  996.     *PSP_TROUBLESHOOTER_PARAMS;
  997. typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS,
  998.     *PSP_POWERMESSAGEWAKE_PARAMS;
  999. typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA,
  1000.     *PSP_DRVINFO_DETAIL_DATA;
  1001. typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS,
  1002.     *PSP_BACKUP_QUEUE_PARAMS;
  1003. #endif /* UNICODE */
  1004.  
  1005. WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
  1006. WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
  1007. WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
  1008. WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
  1009. WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT);
  1010. WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT);
  1011. WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(DWORD,PCSTR);
  1012. WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(DWORD,PCWSTR);
  1013. WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT);
  1014. WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT);
  1015. WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
  1016. WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
  1017. WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID);
  1018. WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(HSPFILEQ);
  1019. WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF);
  1020. WINSETUPAPI VOID WINAPI SetupCloseLog(VOID);
  1021. WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID);
  1022. WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID);
  1023. WINSETUPAPI UINT WINAPI SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR,DWORD,PDWORD);
  1024. WINSETUPAPI UINT WINAPI SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD,PWSTR,DWORD,PDWORD);
  1025. WINSETUPAPI BOOL WINAPI SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*);
  1026. WINSETUPAPI BOOL WINAPI SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR*);
  1027. WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID,DWORD,UINT);
  1028. WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(PVOID,DWORD,UINT);
  1029. WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT);
  1030. WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT);
  1031. WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR);
  1032. WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR);
  1033. WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD);
  1034. WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD);
  1035. WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(HDSKSPC);
  1036. WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA);
  1037. WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD);
  1038. WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
  1039. WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
  1040. WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
  1041. WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA);
  1042. WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(HDEVINFO);
  1043. WINSETUPAPI BOOL WINAPI SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA);
  1044. WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD);
  1045. WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD);
  1046. WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
  1047. WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
  1048. WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidA(CONST GUID*,PSTR,DWORD,PDWORD);
  1049. WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidW(CONST GUID*,PWSTR,DWORD,PDWORD);
  1050. WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
  1051. WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
  1052. WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CONST GUID*,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
  1053. WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CONST GUID*,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
  1054. WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(CONST GUID*,HWND);
  1055. WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(CONST GUID*,HWND,PCSTR,PVOID);
  1056. WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(CONST GUID*,HWND,PCWSTR,PVOID);
  1057. WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
  1058. WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
  1059. WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCSTR);
  1060. WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCWSTR);
  1061. WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCSTR);
  1062. WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCWSTR);
  1063. WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA);
  1064. WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
  1065. WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD);
  1066. WINSETUPAPI BOOL WINAPI SetupDiDeleteDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD);
  1067. WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA);
  1068. WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO);
  1069. WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
  1070. WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD);
  1071. WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA);
  1072. WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,DWORD,PSP_DEVICE_INTERFACE_DATA);
  1073. WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_A);
  1074. WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_W);
  1075. WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR*);
  1076. WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PWSTR*);
  1077. WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(CONST GUID*,PINT);
  1078. WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionA(CONST GUID*,PSTR,DWORD,PDWORD);
  1079. WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionW(CONST GUID*,PWSTR,DWORD,PDWORD);
  1080. WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
  1081. WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
  1082. WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD,PDWORD,DWORD);
  1083. WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERW,DWORD,PDWORD,DWORD);
  1084. WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID*,PCSTR,HWND,DWORD);
  1085. WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID*,PCWSTR,HWND,DWORD);
  1086. WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(CONST GUID*,PCSTR,HWND,DWORD,HDEVINFO,PCSTR,PVOID);
  1087. WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID*,PCWSTR,HWND,DWORD,HDEVINFO,PCWSTR,PVOID);
  1088. WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CONST GUID*,PINT);
  1089. WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA);
  1090. WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID);
  1091. WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID);
  1092. WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
  1093. WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
  1094. WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCSTR,PVOID);
  1095. WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCWSTR,PVOID);
  1096. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID);
  1097. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A);
  1098. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_W);
  1099. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
  1100. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
  1101. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PDWORD);
  1102. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,PDWORD);
  1103. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,CONST GUID*,PSP_DEVICE_INTERFACE_DATA);
  1104. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD,PDWORD,PSP_DEVINFO_DATA);
  1105. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_W,DWORD,PDWORD,PSP_DEVINFO_DATA);
  1106. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
  1107. WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
  1108. WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD,PDWORD);
  1109. WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINFO_DETAIL_DATA_W,DWORD,PDWORD);
  1110. WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
  1111. WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
  1112. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD);
  1113. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PVOID);
  1114. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
  1115. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD);
  1116. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD);
  1117. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID);
  1118. WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID);
  1119. WINSETUPAPI BOOL WINAPI SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD);
  1120. WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD);
  1121. WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1122. WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
  1123. WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
  1124. WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD);
  1125. WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ);
  1126. WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ);
  1127. WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
  1128. WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
  1129. WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1130. WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA);
  1131. WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA);
  1132. WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(CONST GUID*,HICON*,PINT);
  1133. WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1134. WINSETUPAPI HKEY WINAPI SetupDiOpenClassReg(CONST GUID*,REGSAM);
  1135. WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegExA(CONST GUID*,REGSAM,DWORD,PCSTR,PVOID);
  1136. WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegExW(CONST GUID*,REGSAM,DWORD,PCWSTR,PVOID);
  1137. WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
  1138. WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
  1139. WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
  1140. WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
  1141. WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM);
  1142. WINSETUPAPI HKEY WINAPI SetupDiOpenDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,REGSAM);
  1143. WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA);
  1144. WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA);
  1145. WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1146. WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
  1147. WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA);
  1148. WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1149. WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA);
  1150. WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
  1151. WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
  1152. WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CONST BYTE*,DWORD,PCSTR,PVOID);
  1153. WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CONST BYTE*,DWORD,PCWSTR,PVOID);
  1154. WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
  1155. WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
  1156. WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
  1157. WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
  1158. WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
  1159. WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
  1160. WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1161. WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
  1162. WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
  1163. WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
  1164. WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT);
  1165. WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT);
  1166. WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT);
  1167. WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT);
  1168. WINSETUPAPI BOOL WINAPI SetupFindNextLine(PINFCONTEXT,PINFCONTEXT);
  1169. WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT);
  1170. WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT);
  1171. WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT);
  1172. WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT);
  1173. WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A);
  1174. WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W);
  1175. WINSETUPAPI BOOL WINAPI SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD);
  1176. WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT);
  1177. WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT);
  1178. WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT);
  1179. WINSETUPAPI BOOL WINAPI SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD);
  1180. WINSETUPAPI BOOL WINAPI SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
  1181. WINSETUPAPI BOOL WINAPI SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
  1182. WINSETUPAPI BOOL WINAPI SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
  1183. WINSETUPAPI BOOL WINAPI SetupGetIntField(PINFCONTEXT,DWORD,PINT);
  1184. WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT);
  1185. WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT);
  1186. WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF,PCSTR);
  1187. WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF,PCWSTR);
  1188. WINSETUPAPI BOOL WINAPI SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,DWORD,PDWORD);
  1189. WINSETUPAPI BOOL WINAPI SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD);
  1190. WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD);
  1191. WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD);
  1192. WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD,PDWORD);
  1193. WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWORD,PDWORD);
  1194. WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT);
  1195. WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT);
  1196. WINSETUPAPI BOOL WINAPI SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD);
  1197. WINSETUPAPI BOOL WINAPI SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD);
  1198. WINSETUPAPI BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD);
  1199. WINSETUPAPI BOOL WINAPI SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD);
  1200. WINSETUPAPI BOOL WINAPI SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD);
  1201. WINSETUPAPI BOOL WINAPI SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD);
  1202. WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(HWND);
  1203. WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID);
  1204. WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(PCSTR,DWORD);
  1205. WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(PCWSTR,DWORD);
  1206. WINSETUPAPI BOOL WINAPI SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
  1207. WINSETUPAPI BOOL WINAPI SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
  1208. WINSETUPAPI BOOL WINAPI SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID,PBOOL);
  1209. WINSETUPAPI BOOL WINAPI SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID,PBOOL);
  1210. WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UINT);
  1211. WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,UINT);
  1212. WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
  1213. WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
  1214. WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD);
  1215. WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD);
  1216. WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
  1217. WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
  1218. WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
  1219. WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
  1220. WINSETUPAPI BOOL WINAPI SetupLogErrorA(LPCSTR,LogSeverity);
  1221. WINSETUPAPI BOOL WINAPI SetupLogErrorW(LPCWSTR,LogSeverity);
  1222. WINSETUPAPI BOOL WINAPI SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR,DWORD);
  1223. WINSETUPAPI BOOL WINAPI SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,PCWSTR,DWORD);
  1224. WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileA(PCSTR,HINF,PUINT);
  1225. WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT);
  1226. WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID);
  1227. WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT);
  1228. WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT);
  1229. WINSETUPAPI BOOL WINAPI SetupOpenLog(BOOL);
  1230. WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID);
  1231. WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD);
  1232. WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
  1233. WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ,HWND,BOOL);
  1234. WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT);
  1235. WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT);
  1236. WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD);
  1237. WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD);
  1238. WINSETUPAPI BOOL WINAPI SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD);
  1239. WINSETUPAPI BOOL WINAPI SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR,DWORD,PDWORD);
  1240. WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,PDWORD);
  1241. WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD,PDWORD);
  1242. WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A);
  1243. WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_W);
  1244. WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR,DWORD,PDWORD);
  1245. WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PWSTR,DWORD,PDWORD);
  1246. WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT);
  1247. WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT);
  1248. WINSETUPAPI BOOL WINAPI SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD);
  1249. WINSETUPAPI BOOL WINAPI SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD);
  1250. WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A);
  1251. WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W);
  1252. WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD);
  1253. WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD);
  1254. WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD);
  1255. WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD);
  1256. WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR);
  1257. WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR);
  1258. WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR);
  1259. WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
  1260. WINSETUPAPI BOOL WINAPI SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR);
  1261. WINSETUPAPI BOOL WINAPI SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR);
  1262. WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR);
  1263. WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
  1264. WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR);
  1265. WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR);
  1266. WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT);
  1267. WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT);
  1268. WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(DWORD,PCSTR);
  1269. WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(DWORD,PCWSTR);
  1270. WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
  1271. WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
  1272. WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
  1273. WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
  1274. WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
  1275. WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
  1276. WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD);
  1277. WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,PDWORD);
  1278. WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(HINF,DWORD,PCSTR);
  1279. WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(HINF,DWORD,PCWSTR);
  1280. WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID);
  1281. WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID);
  1282. WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR);
  1283. WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCWSTR);
  1284. WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(PCSTR);
  1285. WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(PCWSTR);
  1286. WINSETUPAPI BOOL WINAPI SetupSetSourceListA(DWORD,PCSTR*,UINT);
  1287. WINSETUPAPI BOOL WINAPI SetupSetSourceListW(DWORD,PCWSTR*,UINT);
  1288. WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(PVOID);
  1289. WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(HSPFILELOG);
  1290.  
  1291. /* for backward compatability */
  1292. #define SetupDiCreateInterfaceDeviceW    SetupDiCreateDeviceInterfaceW
  1293. #define SetupDiCreateInterfaceDeviceRegKeyW    SetupDiCreateDeviceInterfaceRegKeyW
  1294. #define SetupDiOpenInterfaceDeviceW    SetupDiOpenDeviceInterfaceW
  1295. #define SetupDiGetInterfaceDeviceDetailW    SetupDiGetDeviceInterfaceDetailW
  1296. #define SetupDiCreateInterfaceDeviceA    SetupDiCreateDeviceInterfaceA
  1297. #define SetupDiCreateInterfaceDeviceRegKeyA    SetupDiCreateDeviceInterfaceRegKeyA
  1298. #define SetupDiOpenInterfaceDeviceA    SetupDiOpenDeviceInterfaceA
  1299. #define SetupDiGetInterfaceDeviceDetailA    SetupDiGetDeviceInterfaceDetailA
  1300.  
  1301. #ifdef UNICODE        
  1302. #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
  1303. #define SetupAddInstallSectionToDiskSpaceList    SetupAddInstallSectionToDiskSpaceListW
  1304. #define SetupAddSectionToDiskSpaceList    SetupAddSectionToDiskSpaceListW
  1305. #define SetupAddToDiskSpaceList    SetupAddToDiskSpaceListW
  1306. #define SetupAddToSourceList    SetupAddToSourceListW
  1307. #define SetupAdjustDiskSpaceList    SetupAdjustDiskSpaceListW
  1308. #define SetupBackupError    SetupBackupErrorW
  1309. #define SetupCommitFileQueue    SetupCommitFileQueueW
  1310. #define SetupCopyError    SetupCopyErrorW
  1311. #define SetupCopyOEMInf    SetupCopyOEMInfW
  1312. #define SetupCreateDiskSpaceList    SetupCreateDiskSpaceListW
  1313. #define SetupDecompressOrCopyFile    SetupDecompressOrCopyFileW
  1314. #define SetupDefaultQueueCallback    SetupDefaultQueueCallbackW
  1315. #define SetupDeleteError    SetupDeleteErrorW
  1316. #define SetupDiBuildClassInfoListEx    SetupDiBuildClassInfoListExW
  1317. #define SetupDiClassGuidsFromNameEx    SetupDiClassGuidsFromNameExW
  1318. #define SetupDiClassGuidsFromName    SetupDiClassGuidsFromNameW
  1319. #define SetupDiClassNameFromGuidEx    SetupDiClassNameFromGuidExW
  1320. #define SetupDiClassNameFromGuid    SetupDiClassNameFromGuidW
  1321. #define SetupDiCreateDeviceInfoListEx    SetupDiCreateDeviceInfoListExW
  1322. #define SetupDiCreateDeviceInfo    SetupDiCreateDeviceInfoW
  1323. #define SetupDiCreateDeviceInterfaceRegKey    SetupDiCreateDeviceInterfaceRegKeyW
  1324. #define SetupDiCreateInterfaceDeviceRegKey    SetupDiCreateDeviceInterfaceRegKeyW
  1325. #define SetupDiCreateDeviceInterface    SetupDiCreateDeviceInterfaceW
  1326. #define SetupDiCreateInterfaceDevice    SetupDiCreateDeviceInterfaceW
  1327. #define SetupDiCreateDevRegKey    SetupDiCreateDevRegKeyW
  1328. #define SetupDiEnumDriverInfo    SetupDiEnumDriverInfoW
  1329. #define SetupDiGetActualSectionToInstall    SetupDiGetActualSectionToInstallW
  1330. #define SetupDiGetClassDescriptionEx    SetupDiGetClassDescriptionExW
  1331. #define SetupDiGetClassDescription    SetupDiGetClassDescriptionW
  1332. #define SetupDiGetClassDevPropertySheets    SetupDiGetClassDevPropertySheetsW
  1333. #define SetupDiGetClassDevsEx    SetupDiGetClassDevsExW
  1334. #define SetupDiGetClassDevs    SetupDiGetClassDevsW
  1335. #define SetupDiGetClassImageListEx    SetupDiGetClassImageListExW
  1336. #define SetupDiGetClassInstallParams    SetupDiGetClassInstallParamsW
  1337. #define SetupDiGetClassRegistryProperty    SetupDiGetClassRegistryPropertyW
  1338. #define SetupDiGetDeviceInfoListDetail    SetupDiGetDeviceInfoListDetailW
  1339. #define SetupDiGetDeviceInstallParams    SetupDiGetDeviceInstallParamsW
  1340. #define SetupDiGetDeviceInstanceId    SetupDiGetDeviceInstanceIdW
  1341. #define SetupDiGetDeviceInterfaceDetail    SetupDiGetDeviceInterfaceDetailW
  1342. #define SetupDiGetInterfaceDeviceDetail    SetupDiGetDeviceInterfaceDetailW
  1343. #define SetupDiGetDeviceRegistryProperty    SetupDiGetDeviceRegistryPropertyW
  1344. #define SetupDiGetDriverInfoDetail    SetupDiGetDriverInfoDetailW
  1345. #define SetupDiGetDriverInstallParams    SetupDiGetDriverInstallParamsW
  1346. #define SetupDiGetHwProfileFriendlyNameEx    SetupDiGetHwProfileFriendlyNameExW
  1347. #define SetupDiGetHwProfileFriendlyName    SetupDiGetHwProfileFriendlyNameW
  1348. #define SetupDiGetHwProfileListEx    SetupDiGetHwProfileListExW
  1349. #define SetupDiGetINFClass    SetupDiGetINFClassW
  1350. #define SetupDiGetSelectedDriver    SetupDiGetSelectedDriverW
  1351. #define SetupDiInstallClassEx    SetupDiInstallClassExW
  1352. #define SetupDiInstallClass    SetupDiInstallClassW
  1353. #define SetupDiOpenClassRegKeyEx    SetupDiOpenClassRegKeyExW
  1354. #define SetupDiOpenDeviceInfo    SetupDiOpenDeviceInfoW
  1355. #define SetupDiOpenDeviceInterface    SetupDiOpenDeviceInterfaceW
  1356. #define SetupDiOpenInterfaceDevice    SetupDiOpenDeviceInterfaceW
  1357. #define SetupDiSetClassInstallParams    SetupDiSetClassInstallParamsW
  1358. #define SetupDiSetClassRegistryProperty    SetupDiSetClassRegistryPropertyW
  1359. #define SetupDiSetDeviceInstallParams    SetupDiSetDeviceInstallParamsW
  1360. #define SetupDiSetDeviceRegistryProperty    SetupDiSetDeviceRegistryPropertyW
  1361. #define SetupDiSetDriverInstallParams    SetupDiSetDriverInstallParamsW
  1362. #define SetupDiSetSelectedDriver    SetupDiSetSelectedDriverW
  1363. #define SetupDuplicateDiskSpaceList    SetupDuplicateDiskSpaceListW
  1364. #define SetupFindFirstLine    SetupFindFirstLineW
  1365. #define SetupFindNextMatchLine    SetupFindNextMatchLineW
  1366. #define SetupFreeSourceList    SetupFreeSourceListW
  1367. #define SetupGetBackupInformation    SetupGetBackupInformationW
  1368. #define SetupGetFileCompressionInfo    SetupGetFileCompressionInfoW
  1369. #define SetupGetInfFileList    SetupGetInfFileListW
  1370. #define SetupGetInfInformation    SetupGetInfInformationW
  1371. #define SetupGetLineByIndex    SetupGetLineByIndexW
  1372. #define SetupGetLineCount    SetupGetLineCountW
  1373. #define SetupGetLineText    SetupGetLineTextW
  1374. #define SetupGetMultiSzField    SetupGetMultiSzFieldW
  1375. #define SetupGetSourceFileLocation    SetupGetSourceFileLocationW
  1376. #define SetupGetSourceFileSize    SetupGetSourceFileSizeW
  1377. #define SetupGetSourceInfo    SetupGetSourceInfoW
  1378. #define SetupGetStringField    SetupGetStringFieldW
  1379. #define SetupGetTargetPath    SetupGetTargetPathW
  1380. #define SetupInitializeFileLog    SetupInitializeFileLogW
  1381. #define SetupInstallFileEx    SetupInstallFileExW
  1382. #define SetupInstallFilesFromInfSection    SetupInstallFilesFromInfSectionW
  1383. #define SetupInstallFile    SetupInstallFileW
  1384. #define SetupInstallFromInfSection    SetupInstallFromInfSectionW
  1385. #define SetupInstallServicesFromInfSectionEx    SetupInstallServicesFromInfSectionExW
  1386. #define SetupInstallServicesFromInfSection    SetupInstallServicesFromInfSectionW
  1387. #define SetupIterateCabinet    SetupIterateCabinetW
  1388. #define SetupLogError    SetupLogErrorW
  1389. #define SetupLogFile    SetupLogFileW
  1390. #define SetupOpenAppendInfFile    SetupOpenAppendInfFileW
  1391. #define SetupOpenInfFile    SetupOpenInfFileW
  1392. #define SetupPromptForDisk    SetupPromptForDiskW
  1393. #define SetupQueryDrivesInDiskSpaceList    SetupQueryDrivesInDiskSpaceListW
  1394. #define SetupQueryFileLog    SetupQueryFileLogW
  1395. #define SetupQueryInfFileInformation    SetupQueryInfFileInformationW
  1396. #define SetupQueryInfOriginalFileInformation    SetupQueryInfOriginalFileInformationW
  1397. #define SetupQueryInfVersionInformation    SetupQueryInfVersionInformationW
  1398. #define SetupQuerySourceList    SetupQuerySourceListW
  1399. #define SetupQuerySpaceRequiredOnDrive    SetupQuerySpaceRequiredOnDriveW
  1400. #define SetupQueueCopyIndirect    SetupQueueCopyIndirectW
  1401. #define SetupQueueCopySection    SetupQueueCopySectionW
  1402. #define SetupQueueCopy    SetupQueueCopyW
  1403. #define SetupQueueDefaultCopy    SetupQueueDefaultCopyW
  1404. #define SetupQueueDeleteSection    SetupQueueDeleteSectionW
  1405. #define SetupQueueDelete    SetupQueueDeleteW
  1406. #define SetupQueueRenameSection    SetupQueueRenameSectionW
  1407. #define SetupQueueRename    SetupQueueRenameW
  1408. #define SetupRemoveFileLogEntry    SetupRemoveFileLogEntryW
  1409. #define SetupRemoveFromDiskSpaceList    SetupRemoveFromDiskSpaceListW
  1410. #define SetupRemoveFromSourceList    SetupRemoveFromSourceListW
  1411. #define SetupRemoveInstallSectionFromDiskSpaceList    SetupRemoveInstallSectionFromDiskSpaceListW
  1412. #define SetupRemoveSectionFromDiskSpaceList    SetupRemoveSectionFromDiskSpaceListW
  1413. #define SetupRenameError    SetupRenameErrorW
  1414. #define SetupScanFileQueue    SetupScanFileQueueW
  1415. #define SetupSetDirectoryIdEx    SetupSetDirectoryIdExW
  1416. #define SetupSetDirectoryId    SetupSetDirectoryIdW
  1417. #define SetupSetFileQueueAlternatePlatform    SetupSetFileQueueAlternatePlatformW
  1418. #define SetupSetPlatformPathOverride    SetupSetPlatformPathOverrideW
  1419. #define SetupSetSourceList    SetupSetSourceListW
  1420. #else        
  1421. #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
  1422. #define SetupAddInstallSectionToDiskSpaceList    SetupAddInstallSectionToDiskSpaceListA
  1423. #define SetupAddSectionToDiskSpaceList    SetupAddSectionToDiskSpaceListA
  1424. #define SetupAddToDiskSpaceList    SetupAddToDiskSpaceListA
  1425. #define SetupAddToSourceList    SetupAddToSourceListA
  1426. #define SetupAdjustDiskSpaceList    SetupAdjustDiskSpaceListA
  1427. #define SetupBackupError    SetupBackupErrorA
  1428. #define SetupCommitFileQueue    SetupCommitFileQueueA
  1429. #define SetupCopyError    SetupCopyErrorA
  1430. #define SetupCopyOEMInf    SetupCopyOEMInfA
  1431. #define SetupCreateDiskSpaceList    SetupCreateDiskSpaceListA
  1432. #define SetupDecompressOrCopyFile    SetupDecompressOrCopyFileA
  1433. #define SetupDefaultQueueCallback    SetupDefaultQueueCallbackA
  1434. #define SetupDeleteError    SetupDeleteErrorA
  1435. #define SetupDiBuildClassInfoListEx    SetupDiBuildClassInfoListExA
  1436. #define SetupDiClassGuidsFromName    SetupDiClassGuidsFromNameA
  1437. #define SetupDiClassGuidsFromNameEx    SetupDiClassGuidsFromNameExA
  1438. #define SetupDiClassNameFromGuid    SetupDiClassNameFromGuidA
  1439. #define SetupDiClassNameFromGuidEx    SetupDiClassNameFromGuidExA
  1440. #define SetupDiCreateDeviceInfo    SetupDiCreateDeviceInfoA
  1441. #define SetupDiCreateDeviceInfoListEx    SetupDiCreateDeviceInfoListExA
  1442. #define SetupDiCreateDeviceInterface    SetupDiCreateDeviceInterfaceA
  1443. #define SetupDiCreateInterfaceDevice    SetupDiCreateDeviceInterfaceA
  1444. #define SetupDiCreateDeviceInterfaceRegKey    SetupDiCreateDeviceInterfaceRegKeyA
  1445. #define SetupDiCreateInterfaceDeviceRegKey    SetupDiCreateDeviceInterfaceRegKeyA
  1446. #define SetupDiCreateDevRegKey    SetupDiCreateDevRegKeyA
  1447. #define SetupDiDeleteInterfaceDeviceData    SetupDiDeleteDeviceInterfaceData
  1448. #define SetupDiEnumDriverInfo    SetupDiEnumDriverInfoA
  1449. #define SetupDiGetActualSectionToInstall    SetupDiGetActualSectionToInstallA
  1450. #define SetupDiGetClassDescription    SetupDiGetClassDescriptionA
  1451. #define SetupDiGetClassDescriptionEx    SetupDiGetClassDescriptionExA
  1452. #define SetupDiGetClassDevPropertySheets    SetupDiGetClassDevPropertySheetsA
  1453. #define SetupDiGetClassDevs    SetupDiGetClassDevsA
  1454. #define SetupDiGetClassDevsEx    SetupDiGetClassDevsExA
  1455. #define SetupDiGetClassImageListEx    SetupDiGetClassImageListExA
  1456. #define SetupDiGetClassInstallParams    SetupDiGetClassInstallParamsA
  1457. #define SetupDiGetClassRegistryProperty    SetupDiGetClassRegistryPropertyA
  1458. #define SetupDiGetDeviceInfoListDetail    SetupDiGetDeviceInfoListDetailA
  1459. #define SetupDiGetDeviceInstallParams    SetupDiGetDeviceInstallParamsA
  1460. #define SetupDiGetDeviceInstanceId    SetupDiGetDeviceInstanceIdA
  1461. #define SetupDiGetDeviceInterfaceDetail    SetupDiGetDeviceInterfaceDetailA
  1462. #define SetupDiGetInterfaceDeviceDetail    SetupDiGetDeviceInterfaceDetailA
  1463. #define SetupDiGetDeviceRegistryProperty    SetupDiGetDeviceRegistryPropertyA
  1464. #define SetupDiGetDriverInfoDetail    SetupDiGetDriverInfoDetailA
  1465. #define SetupDiGetDriverInstallParams    SetupDiGetDriverInstallParamsA
  1466. #define SetupDiGetHwProfileFriendlyName    SetupDiGetHwProfileFriendlyNameA
  1467. #define SetupDiGetHwProfileFriendlyNameEx    SetupDiGetHwProfileFriendlyNameExA
  1468. #define SetupDiGetHwProfileListEx    SetupDiGetHwProfileListExA
  1469. #define SetupDiGetINFClass    SetupDiGetINFClassA
  1470. #define SetupDiGetSelectedDriver    SetupDiGetSelectedDriverA
  1471. #define SetupDiInstallClass    SetupDiInstallClassA
  1472. #define SetupDiInstallClassEx    SetupDiInstallClassExA
  1473. #define SetupDiOpenClassRegKeyEx    SetupDiOpenClassRegKeyExA
  1474. #define SetupDiOpenDeviceInfo    SetupDiOpenDeviceInfoA
  1475. #define SetupDiOpenDeviceInterface    SetupDiOpenDeviceInterfaceA
  1476. #define SetupDiOpenInterfaceDevice    SetupDiOpenDeviceInterfaceA
  1477. #define SetupDiSetClassInstallParams    SetupDiSetClassInstallParamsA
  1478. #define SetupDiSetClassRegistryProperty    SetupDiSetClassRegistryPropertyA
  1479. #define SetupDiSetDeviceInstallParams    SetupDiSetDeviceInstallParamsA
  1480. #define SetupDiSetDeviceRegistryProperty    SetupDiSetDeviceRegistryPropertyA
  1481. #define SetupDiSetDriverInstallParams    SetupDiSetDriverInstallParamsA
  1482. #define SetupDiSetSelectedDriver    SetupDiSetSelectedDriverA
  1483. #define SetupDuplicateDiskSpaceList    SetupDuplicateDiskSpaceListA
  1484. #define SetupFindFirstLine    SetupFindFirstLineA
  1485. #define SetupFindNextMatchLine    SetupFindNextMatchLineA
  1486. #define SetupFreeSourceList    SetupFreeSourceListA
  1487. #define SetupGetBackupInformation    SetupGetBackupInformationA
  1488. #define SetupGetFileCompressionInfo    SetupGetFileCompressionInfoA
  1489. #define SetupGetInfFileList    SetupGetInfFileListA
  1490. #define SetupGetInfInformation    SetupGetInfInformationA
  1491. #define SetupGetLineByIndex    SetupGetLineByIndexA
  1492. #define SetupGetLineCount    SetupGetLineCountA
  1493. #define SetupGetLineText    SetupGetLineTextA
  1494. #define SetupGetMultiSzField    SetupGetMultiSzFieldA
  1495. #define SetupGetSourceFileLocation    SetupGetSourceFileLocationA
  1496. #define SetupGetSourceFileSize    SetupGetSourceFileSizeA
  1497. #define SetupGetSourceInfo    SetupGetSourceInfoA
  1498. #define SetupGetStringField    SetupGetStringFieldA
  1499. #define SetupGetTargetPath    SetupGetTargetPathA
  1500. #define SetupInitializeFileLog    SetupInitializeFileLogA
  1501. #define SetupInstallFile    SetupInstallFileA
  1502. #define SetupInstallFileEx    SetupInstallFileExA
  1503. #define SetupInstallFilesFromInfSection    SetupInstallFilesFromInfSectionA
  1504. #define SetupInstallFromInfSection    SetupInstallFromInfSectionA
  1505. #define SetupInstallServicesFromInfSection    SetupInstallServicesFromInfSectionA
  1506. #define SetupInstallServicesFromInfSectionEx    SetupInstallServicesFromInfSectionExA
  1507. #define SetupIterateCabinet    SetupIterateCabinetA
  1508. #define SetupLogError    SetupLogErrorA
  1509. #define SetupLogFile    SetupLogFileA
  1510. #define SetupOpenAppendInfFile    SetupOpenAppendInfFileA
  1511. #define SetupOpenInfFile    SetupOpenInfFileA
  1512. #define SetupPromptForDisk    SetupPromptForDiskA
  1513. #define SetupQueryDrivesInDiskSpaceList    SetupQueryDrivesInDiskSpaceListA
  1514. #define SetupQueryFileLog    SetupQueryFileLogA
  1515. #define SetupQueryInfFileInformation    SetupQueryInfFileInformationA
  1516. #define SetupQueryInfOriginalFileInformation    SetupQueryInfOriginalFileInformationA
  1517. #define SetupQueryInfVersionInformation    SetupQueryInfVersionInformationA
  1518. #define SetupQuerySourceList    SetupQuerySourceListA
  1519. #define SetupQuerySpaceRequiredOnDrive    SetupQuerySpaceRequiredOnDriveA
  1520. #define SetupQueueCopy    SetupQueueCopyA
  1521. #define SetupQueueCopyIndirect    SetupQueueCopyIndirectA
  1522. #define SetupQueueCopySection    SetupQueueCopySectionA
  1523. #define SetupQueueDefaultCopy    SetupQueueDefaultCopyA
  1524. #define SetupQueueDelete    SetupQueueDeleteA
  1525. #define SetupQueueDeleteSection    SetupQueueDeleteSectionA
  1526. #define SetupQueueRename    SetupQueueRenameA
  1527. #define SetupQueueRenameSection    SetupQueueRenameSectionA
  1528. #define SetupRemoveFileLogEntry    SetupRemoveFileLogEntryA
  1529. #define SetupRemoveFromDiskSpaceList    SetupRemoveFromDiskSpaceListA
  1530. #define SetupRemoveFromSourceList    SetupRemoveFromSourceListA
  1531. #define SetupRemoveInstallSectionFromDiskSpaceList    SetupRemoveInstallSectionFromDiskSpaceListA
  1532. #define SetupRemoveSectionFromDiskSpaceList    SetupRemoveSectionFromDiskSpaceListA
  1533. #define SetupRenameError    SetupRenameErrorA
  1534. #define SetupScanFileQueue    SetupScanFileQueueA
  1535. #define SetupSetDirectoryId    SetupSetDirectoryIdA
  1536. #define SetupSetDirectoryIdEx    SetupSetDirectoryIdExA
  1537. #define SetupSetFileQueueAlternatePlatform    SetupSetFileQueueAlternatePlatformA
  1538. #define SetupSetPlatformPathOverride    SetupSetPlatformPathOverrideA
  1539. #define SetupSetSourceList    SetupSetSourceListA
  1540. #endif    /* UNICODE */    
  1541.  
  1542. #endif /* RC_INVOKED */
  1543.  
  1544. #ifdef __cplusplus
  1545. }
  1546. #endif
  1547.  
  1548. #include <poppack.h>
  1549. #endif /* _SETUPAPI_H_ */
  1550.  
  1551.