home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / setupapi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  77.8 KB  |  1,554 lines

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