1 #ifndef _SETUPAPI_H_ 2 #define _SETUPAPI_H_ 3 4 #include <commctrl.h> 5 #if defined(_WIN64) 6 #include <pshpack8.h> 7 #else 8 #include <pshpack1.h> 9 #endif 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #ifndef _SETUPAPI_ 15 #define WINSETUPAPI DECLSPEC_IMPORT 16 #else 17 #define WINSETUPAPI 18 #endif 19 20 #define LINE_LEN 256 21 #define MAX_INF_STRING_LENGTH 4096 22 #define MAX_TITLE_LEN 60 23 #define MAX_INSTRUCTION_LEN 256 24 #define MAX_LABEL_LEN 30 25 #define MAX_SERVICE_NAME_LEN 256 26 #define MAX_SUBTITLE_LEN 256 27 #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3) 28 29 #define COPYFLG_WARN_IF_SKIP 0x00000001 30 #define COPYFLG_NOSKIP 0x00000002 31 #define COPYFLG_NOVERSIONCHECK 0x00000004 32 #define COPYFLG_FORCE_FILE_IN_USE 0x00000008 33 #define COPYFLG_NO_OVERWRITE 0x00000010 34 #define COPYFLG_NO_VERSION_DIALOG 0x00000020 35 #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040 36 #define COPYFLG_REPLACEONLY 0x00000400 37 #define COPYFLG_NODECOMP 0x00000800 38 #define COPYFLG_REPLACE_BOOT_FILE 0x00001000 39 #define COPYFLG_NOPRUNE 0x00002000 40 #define DELFLG_IN_USE 0x00000001 41 #define DELFLG_IN_USE1 0x00010000 42 #define DI_REMOVEDEVICE_GLOBAL 0x00000001 43 #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002 44 #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002 45 #define DI_SHOWOEM 0x00000001 46 #define DI_SHOWCOMPAT 0x00000002 47 #define DI_SHOWCLASS 0x00000004 48 #define DI_SHOWALL 0x00000007 49 #define DI_NOVCP 0x00000008 50 #define DI_DIDCOMPAT 0x00000010 51 #define DI_DIDCLASS 0x00000020 52 #define DI_AUTOASSIGNRES 0x00000040 53 #define DI_NEEDRESTART 0x00000080 54 #define DI_NEEDREBOOT 0x00000100 55 #define DI_NOBROWSE 0x00000200 56 #define DI_MULTMFGS 0x00000400 57 #define DI_DISABLED 0x00000800 58 #define DI_GENERALPAGE_ADDED 0x00001000 59 #define DI_RESOURCEPAGE_ADDED 0x00002000 60 #define DI_PROPERTIES_CHANGE 0x00004000 61 #define DI_INF_IS_SORTED 0x00008000 62 #define DI_ENUMSINGLEINF 0x00010000 63 #define DI_DONOTCALLCONFIGMG 0x00020000 64 #define DI_INSTALLDISABLED 0x00040000 65 #define DI_COMPAT_FROM_CLASS 0x00080000 66 #define DI_CLASSINSTALLPARAMS 0x00100000 67 #define DI_NODI_DEFAULTACTION 0x00200000 68 #define DI_QUIETINSTALL 0x00800000 69 #define DI_NOFILECOPY 0x01000000 70 #define DI_FORCECOPY 0x02000000 71 #define DI_DRIVERPAGE_ADDED 0x04000000 72 #define DI_USECI_SELECTSTRINGS 0x08000000 73 #define DI_OVERRIDE_INFFLAGS 0x10000000 74 #define DI_PROPS_NOCHANGEUSAGE 0x20000000 75 #define DI_NOSELECTICONS 0x40000000 76 #define DI_NOWRITE_IDS 0x80000000 77 #define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001 78 #define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002 79 #define DI_FLAGSEX_CI_FAILED 0x00000004 80 #define DI_FLAGSEX_DIDINFOLIST 0x00000010 81 #define DI_FLAGSEX_DIDCOMPATINFO 0x00000020 82 #define DI_FLAGSEX_FILTERCLASSES 0x00000040 83 #define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080 84 #define DI_FLAGSEX_DEVICECHANGE 0x00000100 85 #define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200 86 #define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400 87 #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800 88 #define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000 89 #define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000 90 #define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000 91 #define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000 92 #define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000 93 #define DI_FLAGSEX_INET_DRIVER 0x00020000 94 #define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000 95 #define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000 96 #define DI_FLAGSEX_BACKUPONREPLACE 0x00100000 97 #define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000 98 #define DI_FLAGSEX_RESERVED1 0x00400000 99 #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000 100 #define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000 101 #if (_SETUPAPI_VER >= 0x0501) 102 #define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000 103 #define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000 104 #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000 105 #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000 106 #define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000 107 #endif 108 #define DIBCI_NOINSTALLCLASS 0x00000001 109 #define DIBCI_NODISPLAYCLASS 0x00000002 110 #define DICD_GENERATE_ID 0x00000001 111 #define DICD_INHERIT_CLASSDRVS 0x00000002 112 #define DICS_ENABLE 1 113 #define DICS_FLAG_GLOBAL 1 114 #define DICS_DISABLE 2 115 #define DICS_FLAG_CONFIGSPECIFIC 2 116 #define DICS_PROPCHANGE 3 117 #define DICS_START 4 118 #define DICS_FLAG_CONFIGGENERAL 4 119 #define DICS_STOP 5 120 #define DIF_SELECTDEVICE 1 121 #define DIF_INSTALLDEVICE 2 122 #define DIF_ASSIGNRESOURCES 3 123 #define DIF_PROPERTIES 4 124 #define DIF_REMOVE 5 125 #define DIF_FIRSTTIMESETUP 6 126 #define DIF_FOUNDDEVICE 7 127 #define DIF_SELECTCLASSDRIVERS 8 128 #define DIF_VALIDATECLASSDRIVERS 9 129 #define DIF_INSTALLCLASSDRIVERS 10 130 #define DIF_CALCDISKSPACE 11 131 #define DIF_DESTROYPRIVATEDATA 12 132 #define DIF_VALIDATEDRIVER 13 133 #define DIF_MOVEDEVICE 14 134 #define DIF_DETECT 15 135 #define DIF_INSTALLWIZARD 16 136 #define DIF_DESTROYWIZARDDATA 17 137 #define DIF_PROPERTYCHANGE 18 138 #define DIF_ENABLECLASS 19 139 #define DIF_DETECTVERIFY 20 140 #define DIF_INSTALLDEVICEFILES 21 141 #define DIF_UNREMOVE 22 142 #define DIF_SELECTBESTCOMPATDRV 23 143 #define DIF_ALLOW_INSTALL 24 144 #define DIF_REGISTERDEVICE 25 145 #define DIF_NEWDEVICEWIZARD_PRESELECT 26 146 #define DIF_NEWDEVICEWIZARD_SELECT 27 147 #define DIF_NEWDEVICEWIZARD_PREANALYZE 28 148 #define DIF_NEWDEVICEWIZARD_POSTANALYZE 29 149 #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30 150 #define DIF_UNUSED1 31 151 #define DIF_INSTALLINTERFACES 32 152 #define DIF_DETECTCANCEL 33 153 #define DIF_REGISTER_COINSTALLERS 34 154 #define DIF_ADDPROPERTYPAGE_ADVANCED 35 155 #define DIF_ADDPROPERTYPAGE_BASIC 36 156 #define DIF_RESERVED1 37 157 #define DIF_TROUBLESHOOTER 38 158 #define DIF_POWERMESSAGEWAKE 39 159 #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 40 160 #define DIF_UPDATEDRIVER_UI 41 161 #define DIF_FINISHINSTALL_ACTION 42 162 #define DIF_RESERVED2 48 163 164 #define DIGCDP_FLAG_BASIC 0x00000001 165 #define DIGCDP_FLAG_ADVANCED 0x00000002 166 #if (_SETUPAPI_VER >= 0x0501) 167 #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003 168 #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004 169 #endif 170 #define DIGCF_DEFAULT 0x00000001 171 #define DIGCF_PRESENT 0x00000002 172 #define DIGCF_ALLCLASSES 0x00000004 173 #define DIGCF_PROFILE 0x00000008 174 #define DIGCF_DEVICEINTERFACE 0x00000010 175 #define DIGCF_INTERFACEDEVICE 0x00000010 176 #define DIOCR_INSTALLER 0x00000001 177 #define DIOCR_INTERFACE 0x00000002 178 #define DIODI_NO_ADD 0x00000001 179 #define DIOD_INHERIT_CLASSDRVS 0x00000002 180 #define DIOD_CANCEL_REMOVE 0x00000004 181 #define DIREG_DEV 0x00000001 182 #define DIREG_DRV 0x00000002 183 #define DIREG_BOTH 0x00000004 184 #define DIRID_ABSOLUTE -1 185 #define DIRID_NULL 0 186 #define DIRID_SRCPATH 1 187 #define DIRID_WINDOWS 10 188 #define DIRID_SYSTEM 11 189 #define DIRID_DRIVERS 12 190 #define DIRID_INF 17 191 #define DIRID_HELP 18 192 #define DIRID_FONTS 20 193 #define DIRID_VIEWERS 21 194 #define DIRID_COLOR 23 195 #define DIRID_APPS 24 196 #define DIRID_SHARED 25 197 #define DIRID_BOOT 30 198 #define DIRID_SYSTEM16 50 199 #define DIRID_SPOOL 51 200 #define DIRID_SPOOLDRIVERS 52 201 #define DIRID_USERPROFILE 53 202 #define DIRID_LOADER 54 203 #define DIRID_PRINTPROCESSOR 55 204 #define DIRID_COMMON_STARTMENU 16406 205 #define DIRID_COMMON_PROGRAMS 16407 206 #define DIRID_COMMON_STARTUP 16408 207 #define DIRID_COMMON_DESKTOPDIRECTORY 16409 208 #define DIRID_COMMON_FAVORITES 16415 209 #define DIRID_COMMON_APPDATA 16419 210 #define DIRID_PROGRAM_FILES 16422 211 #define DIRID_SYSTEM_X86 16425 212 #define DIRID_PROGRAM_FILES_X86 16426 213 #define DIRID_PROGRAM_FILES_COMMON 16427 214 #define DIRID_PROGRAM_FILES_COMMONX86 16428 215 #define DIRID_COMMON_TEMPLATES 16429 216 #define DIRID_COMMON_DOCUMENTS 16430 217 #define DIRID_USER 0x8000 218 #define DIRID_ABSOLUTE_16BIT 0xffff 219 #define DIRID_IOSUBSYS DIRID_DRIVERS 220 #define DIRID_DEFAULT DIRID_SYSTEM 221 #define DMI_MASK 0x00000001 222 #define DMI_BKCOLOR 0x00000002 223 #define DMI_USERECT 0x00000004 224 #define DN_ROOT_ENUMERATED 0x00000001 225 #define DN_DRIVER_LOADED 0x00000002 226 #define DN_ENUM_LOADED 0x00000004 227 #define DN_STARTED 0x00000008 228 #define DN_MANUAL 0x00000010 229 #define DN_NEED_TO_ENUM 0x00000020 230 #define DN_NOT_FIRST_TIME 0x00000040 231 #define DN_HARDWARE_ENUM 0x00000080 232 #define DN_LIAR 0x00000100 233 #define DN_HAS_MARK 0x00000200 234 #define DN_HAS_PROBLEM 0x00000400 235 #define DN_FILTERED 0x00000800 236 #define DN_MOVED 0x00001000 237 #define DN_DISABLEABLE 0x00002000 238 #define DN_REMOVABLE 0x00004000 239 #define DN_PRIVATE_PROBLEM 0x00008000 240 #define DN_MF_PARENT 0x00010000 241 #define DN_MF_CHILD 0x00020000 242 #define DN_WILL_BE_REMOVED 0x00040000 243 #define DN_NOT_FIRST_TIMEE 0x00080000 244 #define DN_STOP_FREE_RES 0x00100000 245 #define DN_REBAL_CANDIDATE 0x00200000 246 #define DN_BAD_PARTIAL 0x00400000 247 #define DN_NT_ENUMERATOR 0x00800000 248 #define DN_NT_DRIVER 0x01000000 249 #define DN_NEEDS_LOCKING 0x02000000 250 #define DN_ARM_WAKEUP 0x04000000 251 #define DN_APM_ENUMERATOR 0x08000000 252 #define DN_APM_DRIVER 0x10000000 253 #define DN_SILENT_INSTALL 0x20000000 254 #define DN_NO_SHOW_IN_DM 0x40000000 255 #define DN_BOOT_LOG_PROB 0x80000000 256 #define DNF_DUPDESC 0x00000001 257 #define DNF_OLDDRIVER 0x00000002 258 #define DNF_EXCLUDEFROMLIST 0x00000004 259 #define DNF_NODRIVER 0x00000008 260 #define DNF_LEGACYINF 0x00000010 261 #define DNF_CLASS_DRIVER 0x00000020 262 #define DNF_COMPATIBLE_DRIVER 0x00000040 263 #define DNF_INET_DRIVER 0x00000080 264 #define DNF_UNUSED1 0x00000100 265 #define DNF_INDEXED_DRIVER 0x00000200 266 #define DNF_OLD_INET_DRIVER 0x00000400 267 #define DNF_BAD_DRIVER 0x00000800 268 #define DNF_DUPPROVIDER 0x00001000 269 #define DPROMPT_SUCCESS 0 270 #define DPROMPT_CANCEL 1 271 #define DPROMPT_SKIPFILE 2 272 #define DPROMPT_BUFFERTOOSMALL 3 273 #define DPROMPT_OUTOFMEMORY 4 274 #define DRIVER_HARDWAREID_RANK 0x00000FFF 275 #define DYNAWIZ_FLAG_PAGESADDED 0x00000001 276 #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002 277 #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004 278 #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008 279 #define ENABLECLASS_QUERY 0 280 #define ENABLECLASS_SUCCESS 1 281 #define ENABLECLASS_FAILURE 2 282 #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0) 283 #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1) 284 #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2) 285 #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3) 286 #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100) 287 #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000) 288 #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101) 289 #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102) 290 #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103) 291 #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200) 292 #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201) 293 #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202) 294 #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203) 295 #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204) 296 #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205) 297 #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206) 298 #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207) 299 #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208) 300 #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209) 301 #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A) 302 #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B) 303 #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C) 304 #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D) 305 #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E) 306 #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F) 307 #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210) 308 #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211) 309 #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212) 310 #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213) 311 #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214) 312 #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215) 313 #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216) 314 #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217) 315 #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218) 316 #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219) 317 #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A) 318 #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B) 319 #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C) 320 #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D) 321 #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E) 322 #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F) 323 #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220) 324 #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221) 325 #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222) 326 #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223) 327 #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224) 328 #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225) 329 #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226) 330 #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227) 331 #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228) 332 #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229) 333 #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A) 334 #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B) 335 #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C) 336 #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D) 337 #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E) 338 #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F) 339 #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230) 340 #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231) 341 #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232) 342 #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235) 343 #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE 344 #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED 345 #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE 346 #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE 347 #define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A) 348 349 #define FILEOP_COPY 0 350 #define FILEOP_ABORT 0 351 #define FILE_COMPRESSION_NONE 0 352 #define FILEOP_RENAME 1 353 #define FILEOP_DOIT 1 354 #define FILE_COMPRESSION_WINLZA 1 355 #define FILEOP_DELETE 2 356 #define FILEOP_SKIP 2 357 #define FILE_COMPRESSION_MSZIP 2 358 #define FILEOP_BACKUP 3 359 #define FILE_COMPRESSION_NTCAB 3 360 #define FILEOP_NEWPATH 4 361 #define FILEOP_RETRY FILEOP_DOIT 362 #define FLG_ADDREG_TYPE_SZ 0x00000000 363 #define FLG_ADDREG_BINVALUETYPE 0x00000001 364 #define FLG_ADDREG_NOCLOBBER 0x00000002 365 #define FLG_ADDREG_DELVAL 0x00000004 366 #define FLG_ADDREG_APPEND 0x00000008 367 #define FLG_ADDREG_KEYONLY 0x00000010 368 #define FLG_ADDREG_OVERWRITEONLY 0x00000020 369 #if (_SETUPAPI_VER >= 0x0501) 370 #define FLG_ADDREG_64BITKEY 0x00001000 371 #define FLG_ADDREG_KEYONLY_COMMON 0x00002000 372 #define FLG_ADDREG_32BITKEY 0x00004000 373 #define FLG_ADDREG_DELREG_BIT 0x00008000 374 #endif 375 #define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 376 #define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000 377 #define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE) 378 #define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE) 379 #define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE) 380 #define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE) 381 #define FLG_DELREG_VALUE 0x00000000 382 #if (_SETUPAPI_VER >= 0x0501) 383 #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK 384 #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ 385 #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ 386 #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ 387 #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY 388 #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD 389 #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE 390 #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY 391 #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON 392 #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY 393 #define FLG_DELREG_OPERATION_MASK 0x000000FE 394 #define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT) 395 #endif 396 #define FLG_BITREG_CLEARBITS 0x00000000 397 #define FLG_BITREG_SETBITS 0x00000001 398 #define FLG_PROFITEM_CURRENTUSER 0x00000001 399 #define FLG_PROFITEM_DELETE 0x00000002 400 #define FLG_PROFITEM_GROUP 0x00000004 401 #define FLG_PROFITEM_CSIDL 0x00000008 402 #define FLG_REGSVR_DLLREGISTER 0x00000001 403 #define FLG_REGSVR_DLLINSTALL 0x00000002 404 #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000 405 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000 406 #define IDD_DYNAWIZ_FIRSTPAGE 10000 407 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001 408 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002 409 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003 410 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004 411 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006 412 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007 413 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008 414 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009 415 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010 416 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011 417 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012 418 #define IDF_NOBROWSE 0x00000001 419 #define IDF_NOSKIP 0x00000002 420 #define IDF_NODETAILS 0x00000004 421 #define IDF_NOCOMPRESSED 0x00000008 422 #define IDF_CHECKFIRST 0x00000100 423 #define IDF_NOBEEP 0x00000200 424 #define IDF_NOFOREGROUND 0x00000400 425 #define IDF_WARNIFSKIP 0x00000800 426 #define IDF_OEMDISK 0x80000000 427 #define IDI_RESOURCEFIRST 159 428 #define IDI_RESOURCE 159 429 #define IDI_RESOURCELAST 161 430 #define IDI_RESOURCEOVERLAYFIRST 161 431 #define IDI_RESOURCEOVERLAYLAST 161 432 #define IDI_CONFLICT 161 433 #define IDI_PROBLEM_OVL 500 434 #define IDI_DISABLED_OVL 501 435 #define IDI_FORCED_OVL 502 436 #define IDI_CLASSICON_OVERLAYFIRST 500 437 #define IDI_CLASSICON_OVERLAYLAST 502 438 #define INF_STYLE_NONE 0x00000000 439 #define INF_STYLE_OLDNT 0x00000001 440 #define INF_STYLE_WIN4 0x00000002 441 #define INF_STYLE_CACHE_ENABLE 0x00000010 442 #define INF_STYLE_CACHE_DISABLE 0x00000020 443 #define INFINFO_INF_SPEC_IS_HINF 1 444 #define INFINFO_INF_NAME_IS_ABSOLUTE 2 445 #define INFINFO_DEFAULT_SEARCH 3 446 #define INFINFO_REVERSE_DEFAULT_SEARCH 4 447 #define INFINFO_INF_PATH_LIST_SEARCH 5 448 #define LogSevInformation 0 449 #define LogSevWarning 1 450 #define LogSevError 2 451 #define LogSevFatalError 3 452 #define LogSevMaximum 4 453 #define LogSeverity DWORD 454 #define MAX_INSTALLWIZARD_DYNAPAGES 20 455 #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001 456 #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002 457 #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200 458 #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400 459 #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800 460 #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000 461 #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000 462 #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000 463 #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000 464 #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000 465 #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000 466 #define NDW_INSTALLFLAG_USERCANCEL 0x00040000 467 #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000 468 #define NDW_INSTALLFLAG_NEEDRESTART 0x00000080 469 #define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100 470 #define SETDIRID_NOT_FULL_PATH 0x00000001 471 #define SP_COPY_DELETESOURCE 0x0000001 472 #define SP_COPY_REPLACEONLY 0x0000002 473 #define SP_COPY_NEWER 0x0000004 474 #define SP_COPY_NEWER_OR_SAME 0x0000004 475 #define SP_COPY_NOOVERWRITE 0x0000008 476 #define SP_COPY_NODECOMP 0x0000010 477 #define SP_COPY_LANGUAGEAWARE 0x0000020 478 #define SP_COPY_SOURCE_ABSOLUTE 0x0000040 479 #define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080 480 #define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100 481 #define SP_COPY_FORCE_IN_USE 0x0000200 482 #define SP_COPY_NOSKIP 0x0000400 483 #define SP_COPY_FORCE_NOOVERWRITE 0x0001000 484 #define SP_COPY_FORCE_NEWER 0x0002000 485 #define SP_COPY_WARNIFSKIP 0x0004000 486 #define SP_COPY_NOBROWSE 0x0008000 487 #define SP_COPY_NEWER_ONLY 0x0010000 488 #define SP_COPY_SOURCE_SIS_MASTER 0x0020000 489 #define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000 490 #define SP_COPY_REPLACE_BOOT_FILE 0x0080000 491 #define SP_COPY_NOPRUNE 0x0100000 492 #define SP_FLAG_CABINETCONTINUATION 0x0000800 493 #define SPCRP_SECURITY 23 494 #define SPCRP_SECURITY_SDS 24 495 #define SPCRP_DEVTYPE 25 496 #define SPCRP_EXCLUSIVE 26 497 #define SPCRP_CHARACTERISTICS 27 498 #define SPCRP_MAXIMUM_PROPERTY 28 499 #define SPDIT_NODRIVER 0 500 #define SPDIT_CLASSDRIVER 1 501 #define SPDIT_COMPATDRIVER 2 502 #define SPDRP_DEVICEDESC 0 503 #define SPDRP_HARDWAREID 1 504 #define SPDRP_COMPATIBLEIDS 2 505 #define SPDRP_UNUSED0 3 506 #define SPDRP_SERVICE 4 507 #define SPDRP_UNUSED1 5 508 #define SPDRP_UNUSED2 6 509 #define SPDRP_CLASS 7 510 #define SPDRP_CLASSGUID 8 511 #define SPDRP_DRIVER 9 512 #define SPDRP_CONFIGFLAGS 10 513 #define SPDRP_MFG 11 514 #define SPDRP_FRIENDLYNAME 12 515 #define SPDRP_LOCATION_INFORMATION 13 516 #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14 517 #define SPDRP_CAPABILITIES 15 518 #define SPDRP_UI_NUMBER 16 519 #define SPDRP_UPPERFILTERS 17 520 #define SPDRP_LOWERFILTERS 18 521 #define SPDRP_BUSTYPEGUID 19 522 #define SPDRP_LEGACYBUSTYPE 20 523 #define SPDRP_BUSNUMBER 21 524 #define SPDRP_ENUMERATOR_NAME 22 525 #define SPDRP_SECURITY 23 526 #define SPDRP_SECURITY_SDS 24 527 #define SPDRP_DEVTYPE 25 528 #define SPDRP_EXCLUSIVE 26 529 #define SPDRP_CHARACTERISTICS 27 530 #define SPDRP_ADDRESS 28 531 #define SPDRP_UI_NUMBER_DESC_FORMAT 29 532 #define SPDRP_DEVICE_POWER_DATA 30 533 #define SPDRP_REMOVAL_POLICY 31 534 #define SPDRP_REMOVAL_POLICY_HW_DEFAULT 32 535 #define SPDRP_REMOVAL_POLICY_OVERRIDE 33 536 #define SPDRP_INSTALL_STATE 34 537 #define SPDRP_MAXIMUM_PROPERTY 35 538 #define SPDSL_IGNORE_DISK 1 539 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 2 540 541 #define SPFILENOTIFY_STARTQUEUE 1 542 #define SPFILENOTIFY_ENDQUEUE 2 543 #define SPFILENOTIFY_STARTSUBQUEUE 3 544 #define SPFILENOTIFY_ENDSUBQUEUE 4 545 #define SPFILENOTIFY_STARTDELETE 5 546 #define SPFILENOTIFY_ENDDELETE 6 547 #define SPFILENOTIFY_DELETEERROR 7 548 #define SPFILENOTIFY_STARTRENAME 8 549 #define SPFILENOTIFY_ENDRENAME 9 550 #define SPFILENOTIFY_RENAMEERROR 10 551 #define SPFILENOTIFY_STARTCOPY 11 552 #define SPFILENOTIFY_ENDCOPY 12 553 #define SPFILENOTIFY_COPYERROR 13 554 #define SPFILENOTIFY_NEEDMEDIA 14 555 #define SPFILENOTIFY_QUEUESCAN 15 556 #define SPFILENOTIFY_CABINETINFO 16 557 #define SPFILENOTIFY_FILEINCABINET 17 558 #define SPFILENOTIFY_NEEDNEWCABINET 18 559 #define SPFILENOTIFY_FILEEXTRACTED 19 560 #define SPFILENOTIFY_FILEOPDELAYED 20 561 #define SPFILENOTIFY_STARTBACKUP 21 562 #define SPFILENOTIFY_BACKUPERROR 22 563 #define SPFILENOTIFY_ENDBACKUP 23 564 #define SPFILENOTIFY_QUEUESCAN_EX 24 565 #define SPFILENOTIFY_STARTREGISTRATION 25 566 #define SPFILENOTIFY_ENDREGISTRATION 26 567 #define SPFILENOTIFY_LANGMISMATCH 0x00010000 568 #define SPFILENOTIFY_TARGETEXISTS 0x00020000 569 #define SPFILENOTIFY_TARGETNEWER 0x00040000 570 #define SPFILELOG_SYSTEMLOG 0x00000001 571 #define SPFILELOG_OEMFILE 0x00000001 572 #define SPFILELOG_FORCENEW 0x00000002 573 #define SPFILELOG_QUERYONLY 0x00000004 574 #define SPFILEQ_FILE_IN_USE 0x00000001 575 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 576 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 577 #define SPINT_ACTIVE 0x00000001 578 #define SPINT_DEFAULT 0x00000002 579 #define SPINT_REMOVED 0x00000004 580 #define SPID_ACTIVE 0x00000001 581 #define SPID_DEFAULT 0x00000002 582 #define SPID_REMOVED 0x00000004 583 #define SPINST_LOGCONFIG 0x00000001 584 #define SPINST_INIFILES 0x00000002 585 #define SPINST_REGISTRY 0x00000004 586 #define SPINST_INI2REG 0x00000008 587 #define SPINST_FILES 0x00000010 588 #define SPINST_BITREG 0x00000020 589 #define SPINST_REGSVR 0x00000040 590 #define SPINST_UNREGSVR 0x00000080 591 #define SPINST_PROFILEITEMS 0x00000100 592 #if (_SETUPAPI_VER >= 0x0501) 593 #define SPINST_COPYINF 0x00000200 594 #define SPINST_ALL 0x000003ff 595 #else 596 #define SPINST_ALL 0x000001ff 597 #endif 598 #define SPINST_SINGLESECTION 0x00010000 599 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000 600 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000 601 #if (_SETUPAPI_VER >= 0x0501) 602 #define SPINST_REGISTERCALLBACKAWARE 0x00080000 603 #endif 604 #define SPOST_NONE 0 605 #define SPOST_PATH 1 606 #define SPOST_URL 2 607 #define SPOST_MAX 3 608 #define SPPSR_SELECT_DEVICE_RESOURCES 1 609 #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2 610 #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3 611 #define SPQ_SCAN_FILE_PRESENCE 0x00000001 612 #define SPQ_DELAYED_COPY 0x00000001 613 #define SPQ_SCAN_FILE_VALIDITY 0x00000002 614 #define SPQ_SCAN_USE_CALLBACK 0x00000004 615 #define SPQ_SCAN_USE_CALLBACKEX 0x00000008 616 #define SPQ_SCAN_INFORM_USER 0x00000010 617 #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020 618 #define SPRDI_FIND_DUPS 0x00000001 619 620 #define SPSVCINST_TAGTOFRONT 0x00000001 621 #define SPSVCINST_ASSOCSERVICE 0x00000002 622 #define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004 623 #define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008 624 #define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010 625 #define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020 626 #define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040 627 #define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080 628 #define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100 629 #define SPSVCINST_STOPSERVICE 0x00000200 630 #define SPSVCINST_CLOBBER_SECURITY 0x00000400 631 #define SPSVCINST_STARTSERVICE 0x00000800 632 633 #define SPWPT_SELECTDEVICE 0x00000001 634 #define SPWP_USE_DEVINFO_DATA 0x00000001 635 #define SRCINFO_PATH 1 636 #define SRCINFO_TAGFILE 2 637 #define SRCINFO_DESCRIPTION 3 638 #define SRCINFO_FLAGS 4 639 #define SRCLIST_TEMPORARY 0x00000001 640 #define SRCLIST_NOBROWSE 0x00000002 641 #define SRCLIST_SYSTEM 0x00000010 642 #define SRCLIST_USER 0x00000020 643 #define SRCLIST_SYSIFADMIN 0x00000040 644 #define SRCLIST_SUBDIRS 0x00000100 645 #define SRCLIST_APPEND 0x00000200 646 #define SRCLIST_NOSTRIPPLATFORM 0x00000400 647 #define SPREG_SUCCESS 0x00000000 648 #define SPREG_LOADLIBRARY 0x00000001 649 #define SPREG_GETPROCADDR 0x00000002 650 #define SPREG_REGSVR 0x00000003 651 #define SPREG_DLLINSTALL 0x00000004 652 #define SPREG_TIMEOUT 0x00000005 653 #define SPREG_UNKNOWN 0xFFFFFFFF 654 655 /* Flags for StringTableAddString and StringTableLookUpString */ 656 #define ST_CASE_SENSITIVE_COMPARE 0x00000001 657 658 /* SetupUninstallOEMInf Flags values */ 659 #define SUOI_FORCEDELETE 0x00000001 660 661 #ifndef RC_INVOKED 662 typedef PVOID HINF; 663 typedef PVOID HDSKSPC; 664 typedef PVOID HDEVINFO; 665 typedef PVOID HSPFILEQ; 666 typedef PVOID HSPFILELOG; 667 typedef UINT DI_FUNCTION; 668 669 typedef PVOID HSTRING_TABLE; 670 671 typedef enum { 672 SetupFileLogSourceFilename, 673 SetupFileLogChecksum, 674 SetupFileLogDiskTagfile, 675 SetupFileLogDiskDescription, 676 SetupFileLogOtherInfo, 677 SetupFileLogMax 678 } SetupFileLogInfo; 679 typedef struct _INFCONTEXT { 680 PVOID Inf; 681 PVOID CurrentInf; 682 UINT Section; 683 UINT Line; 684 } INFCONTEXT, *PINFCONTEXT; 685 typedef struct _SP_INF_INFORMATION { 686 DWORD InfStyle; 687 DWORD InfCount; 688 BYTE VersionData[ANYSIZE_ARRAY]; 689 } SP_INF_INFORMATION, *PSP_INF_INFORMATION; 690 typedef struct _SP_INF_SIGNER_INFO_A { 691 DWORD cbSize; 692 CHAR CatalogFile; 693 CHAR DigitalSigner; 694 CHAR DigitalSignerVersion; 695 } SP_INF_SIGNER_INFO_A, *PSP_INF_SIGNER_INFO_A; 696 typedef struct _SP_INF_SIGNER_INFO_W { 697 DWORD cbSize; 698 WCHAR CatalogFile; 699 WCHAR DigitalSigner; 700 WCHAR DigitalSignerVersion; 701 } SP_INF_SIGNER_INFO_W, *PSP_INF_SIGNER_INFO_W; 702 typedef struct _SP_ALTPLATFORM_INFO_V1 { 703 DWORD cbSize; 704 DWORD Platform; 705 DWORD MajorVersion; 706 DWORD MinorVersion; 707 WORD ProcessorArchitecture; 708 WORD Reserved; 709 } SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1; 710 typedef struct _SP_ALTPLATFORM_INFO_V2 { 711 DWORD cbSize; 712 DWORD Platform; 713 DWORD MajorVersion; 714 DWORD MinorVersion; 715 WORD ProcessorArchitecture; 716 union 717 { 718 WORD Reserved; 719 WORD Flags; 720 } DUMMYUNIONNAME; 721 DWORD FirstValidatedMajorVersion; 722 DWORD FirstValidatedMinorVersion; 723 } SP_ALTPLATFORM_INFO_V2, *PSP_ALTPLATFORM_INFO_V2; 724 #if _WIN32_WINNT <= 0x0500 725 typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; 726 typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; 727 #else 728 typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO; 729 typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO; 730 #endif 731 typedef struct _SP_ORIGINAL_FILE_INFO_A { 732 DWORD cbSize; 733 CHAR OriginalInfName[MAX_PATH]; 734 CHAR OriginalCatalogName[MAX_PATH]; 735 } SP_ORIGINAL_FILE_INFO_A, *PSP_ORIGINAL_FILE_INFO_A; 736 typedef struct _SP_ORIGINAL_FILE_INFO_W { 737 DWORD cbSize; 738 WCHAR OriginalInfName[MAX_PATH]; 739 WCHAR OriginalCatalogName[MAX_PATH]; 740 } SP_ORIGINAL_FILE_INFO_W, *PSP_ORIGINAL_FILE_INFO_W; 741 typedef struct _FILEPATHS_A { 742 PCSTR Target; 743 PCSTR Source; 744 UINT Win32Error; 745 DWORD Flags; 746 } FILEPATHS_A, *PFILEPATHS_A; 747 typedef struct _FILEPATHS_W { 748 PCWSTR Target; 749 PCWSTR Source; 750 UINT Win32Error; 751 DWORD Flags; 752 } FILEPATHS_W, *PFILEPATHS_W; 753 typedef struct _SOURCE_MEDIA_A { 754 PCSTR Reserved; 755 PCSTR Tagfile; 756 PCSTR Description; 757 PCSTR SourcePath; 758 PCSTR SourceFile; 759 DWORD Flags; 760 } SOURCE_MEDIA_A, *PSOURCE_MEDIA_A; 761 typedef struct _SOURCE_MEDIA_W { 762 PCWSTR Reserved; 763 PCWSTR Tagfile; 764 PCWSTR Description; 765 PCWSTR SourcePath; 766 PCWSTR SourceFile; 767 DWORD Flags; 768 } SOURCE_MEDIA_W, *PSOURCE_MEDIA_W; 769 typedef struct _CABINET_INFO_A { 770 PCSTR CabinetPath; 771 PCSTR CabinetFile; 772 PCSTR DiskName; 773 USHORT SetId; 774 USHORT CabinetNumber; 775 } CABINET_INFO_A, *PCABINET_INFO_A; 776 typedef struct _CABINET_INFO_W { 777 PCWSTR CabinetPath; 778 PCWSTR CabinetFile; 779 PCWSTR DiskName; 780 USHORT SetId; 781 USHORT CabinetNumber; 782 } CABINET_INFO_W, *PCABINET_INFO_W; 783 typedef struct _FILE_IN_CABINET_INFO_A { 784 PCSTR NameInCabinet; 785 DWORD FileSize; 786 DWORD Win32Error; 787 WORD DosDate; 788 WORD DosTime; 789 WORD DosAttribs; 790 CHAR FullTargetName[MAX_PATH]; 791 } FILE_IN_CABINET_INFO_A, *PFILE_IN_CABINET_INFO_A; 792 typedef struct _FILE_IN_CABINET_INFO_W { 793 PCWSTR NameInCabinet; 794 DWORD FileSize; 795 DWORD Win32Error; 796 WORD DosDate; 797 WORD DosTime; 798 WORD DosAttribs; 799 WCHAR FullTargetName[MAX_PATH]; 800 } FILE_IN_CABINET_INFO_W, *PFILE_IN_CABINET_INFO_W; 801 typedef struct _SP_FILE_COPY_PARAMS_A { 802 DWORD cbSize; 803 HSPFILEQ QueueHandle; 804 PCSTR SourceRootPath; 805 PCSTR SourcePath; 806 PCSTR SourceFilename; 807 PCSTR SourceDescription; 808 PCSTR SourceTagfile; 809 PCSTR TargetDirectory; 810 PCSTR TargetFilename; 811 DWORD CopyStyle; 812 HINF LayoutInf; 813 PCSTR SecurityDescriptor; 814 } SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A; 815 typedef struct _SP_FILE_COPY_PARAMS_W { 816 DWORD cbSize; 817 HSPFILEQ QueueHandle; 818 PCWSTR SourceRootPath; 819 PCWSTR SourcePath; 820 PCWSTR SourceFilename; 821 PCWSTR SourceDescription; 822 PCWSTR SourceTagfile; 823 PCWSTR TargetDirectory; 824 PCWSTR TargetFilename; 825 DWORD CopyStyle; 826 HINF LayoutInf; 827 PCWSTR SecurityDescriptor; 828 } SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W; 829 typedef struct _SP_DEVINFO_DATA { 830 DWORD cbSize; 831 GUID ClassGuid; 832 DWORD DevInst; 833 ULONG_PTR Reserved; 834 } SP_DEVINFO_DATA, *PSP_DEVINFO_DATA; 835 typedef struct _SP_DEVICE_INTERFACE_DATA { 836 DWORD cbSize; 837 GUID InterfaceClassGuid; 838 DWORD Flags; 839 ULONG_PTR Reserved; 840 } SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA; 841 /* For backward compatability */ 842 typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA; 843 844 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A { 845 DWORD cbSize; 846 CHAR DevicePath[ANYSIZE_ARRAY]; 847 } SP_DEVICE_INTERFACE_DETAIL_DATA_A, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 848 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W { 849 DWORD cbSize; 850 WCHAR DevicePath[ANYSIZE_ARRAY]; 851 } SP_DEVICE_INTERFACE_DETAIL_DATA_W, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 852 /* For backward compatability */ 853 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A, 854 *PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 855 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W, 856 *PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 857 858 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A { 859 DWORD cbSize; 860 GUID ClassGuid; 861 HANDLE RemoteMachineHandle; 862 CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 863 } SP_DEVINFO_LIST_DETAIL_DATA_A, *PSP_DEVINFO_LIST_DETAIL_DATA_A; 864 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W { 865 DWORD cbSize; 866 GUID ClassGuid; 867 HANDLE RemoteMachineHandle; 868 WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 869 } SP_DEVINFO_LIST_DETAIL_DATA_W, *PSP_DEVINFO_LIST_DETAIL_DATA_W; 870 871 typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR); 872 typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR); 873 typedef struct _SP_DEVINSTALL_PARAMS_A { 874 DWORD cbSize; 875 DWORD Flags; 876 DWORD FlagsEx; 877 HWND hwndParent; 878 PSP_FILE_CALLBACK_A InstallMsgHandler; 879 PVOID InstallMsgHandlerContext; 880 HSPFILEQ FileQueue; 881 ULONG_PTR ClassInstallReserved; 882 DWORD Reserved; 883 CHAR DriverPath[MAX_PATH]; 884 } SP_DEVINSTALL_PARAMS_A, *PSP_DEVINSTALL_PARAMS_A; 885 typedef struct _SP_DEVINSTALL_PARAMS_W { 886 DWORD cbSize; 887 DWORD Flags; 888 DWORD FlagsEx; 889 HWND hwndParent; 890 PSP_FILE_CALLBACK_W InstallMsgHandler; 891 PVOID InstallMsgHandlerContext; 892 HSPFILEQ FileQueue; 893 ULONG_PTR ClassInstallReserved; 894 DWORD Reserved; 895 WCHAR DriverPath[MAX_PATH]; 896 } SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W; 897 typedef struct _SP_CLASSINSTALL_HEADER { 898 DWORD cbSize; 899 DI_FUNCTION InstallFunction; 900 } SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER; 901 typedef struct _SP_ENABLECLASS_PARAMS { 902 SP_CLASSINSTALL_HEADER ClassInstallHeader; 903 GUID ClassGuid; 904 DWORD EnableMessage; 905 } SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS; 906 typedef struct _SP_MOVEDEV_PARAMS { 907 SP_CLASSINSTALL_HEADER ClassInstallHeader; 908 SP_DEVINFO_DATA SourceDeviceInfoData; 909 } SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS; 910 typedef struct _SP_PROPCHANGE_PARAMS { 911 SP_CLASSINSTALL_HEADER ClassInstallHeader; 912 DWORD StateChange; 913 DWORD Scope; 914 DWORD HwProfile; 915 } SP_PROPCHANGE_PARAMS, *PSP_PROPCHANGE_PARAMS; 916 typedef struct _SP_REMOVEDEVICE_PARAMS { 917 SP_CLASSINSTALL_HEADER ClassInstallHeader; 918 DWORD Scope; 919 DWORD HwProfile; 920 } SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS; 921 typedef struct _SP_UNREMOVEDEVICE_PARAMS { 922 SP_CLASSINSTALL_HEADER ClassInstallHeader; 923 DWORD Scope; 924 DWORD HwProfile; 925 } SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS; 926 typedef struct _SP_SELECTDEVICE_PARAMS_A { 927 SP_CLASSINSTALL_HEADER ClassInstallHeader; 928 CHAR Title[MAX_TITLE_LEN]; 929 CHAR Instructions[MAX_INSTRUCTION_LEN]; 930 CHAR ListLabel[MAX_LABEL_LEN]; 931 CHAR SubTitle[MAX_SUBTITLE_LEN]; 932 BYTE Reserved[2]; 933 } SP_SELECTDEVICE_PARAMS_A, *PSP_SELECTDEVICE_PARAMS_A; 934 typedef struct _SP_SELECTDEVICE_PARAMS_W { 935 SP_CLASSINSTALL_HEADER ClassInstallHeader; 936 WCHAR Title[MAX_TITLE_LEN]; 937 WCHAR Instructions[MAX_INSTRUCTION_LEN]; 938 WCHAR ListLabel[MAX_LABEL_LEN]; 939 WCHAR SubTitle[MAX_SUBTITLE_LEN]; 940 } SP_SELECTDEVICE_PARAMS_W, *PSP_SELECTDEVICE_PARAMS_W; 941 typedef struct _SP_REGISTER_CONTROL_STATUSA { 942 DWORD cbSize; 943 PCSTR FileName; 944 DWORD Win32Error; 945 DWORD FailureCode; 946 } SP_REGISTER_CONTROL_STATUSA, *PSP_REGISTER_CONTROL_STATUSA; 947 typedef struct _SP_REGISTER_CONTROL_STATUSW { 948 DWORD cbSize; 949 PCWSTR FileName; 950 DWORD Win32Error; 951 DWORD FailureCode; 952 } SP_REGISTER_CONTROL_STATUSW, *PSP_REGISTER_CONTROL_STATUSW; 953 954 typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD); 955 typedef struct _SP_DETECTDEVICE_PARAMS { 956 SP_CLASSINSTALL_HEADER ClassInstallHeader; 957 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 958 PVOID ProgressNotifyParam; 959 } SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS; 960 typedef struct _SP_INSTALLWIZARD_DATA { 961 SP_CLASSINSTALL_HEADER ClassInstallHeader; 962 DWORD Flags; 963 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 964 DWORD NumDynamicPages; 965 DWORD DynamicPageFlags; 966 DWORD PrivateFlags; 967 LPARAM PrivateData; 968 HWND hwndWizardDlg; 969 } SP_INSTALLWIZARD_DATA, *PSP_INSTALLWIZARD_DATA; 970 typedef struct _SP_NEWDEVICEWIZARD_DATA { 971 SP_CLASSINSTALL_HEADER ClassInstallHeader; 972 DWORD Flags; 973 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 974 DWORD NumDynamicPages; 975 HWND hwndWizardDlg; 976 } SP_NEWDEVICEWIZARD_DATA, *PSP_NEWDEVICEWIZARD_DATA; 977 typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA, 978 *PSP_ADDPROPERTYPAGE_DATA; 979 typedef struct _SP_TROUBLESHOOTER_PARAMS_A { 980 SP_CLASSINSTALL_HEADER ClassInstallHeader; 981 CHAR ChmFile[MAX_PATH]; 982 CHAR HtmlTroubleShooter[MAX_PATH]; 983 } SP_TROUBLESHOOTER_PARAMS_A, *PSP_TROUBLESHOOTER_PARAMS_A; 984 typedef struct _SP_TROUBLESHOOTER_PARAMS_W { 985 SP_CLASSINSTALL_HEADER ClassInstallHeader; 986 WCHAR ChmFile[MAX_PATH]; 987 WCHAR HtmlTroubleShooter[MAX_PATH]; 988 } SP_TROUBLESHOOTER_PARAMS_W, *PSP_TROUBLESHOOTER_PARAMS_W; 989 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A { 990 SP_CLASSINSTALL_HEADER ClassInstallHeader; 991 CHAR PowerMessageWake[LINE_LEN*2]; 992 } SP_POWERMESSAGEWAKE_PARAMS_A, *PSP_POWERMESSAGEWAKE_PARAMS_A; 993 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W { 994 SP_CLASSINSTALL_HEADER ClassInstallHeader; 995 WCHAR PowerMessageWake[LINE_LEN*2]; 996 } SP_POWERMESSAGEWAKE_PARAMS_W, *PSP_POWERMESSAGEWAKE_PARAMS_W; 997 typedef struct _SP_DRVINFO_DATA_V2_A { 998 DWORD cbSize; 999 DWORD DriverType; 1000 ULONG_PTR Reserved; 1001 CHAR Description[LINE_LEN]; 1002 CHAR MfgName[LINE_LEN]; 1003 CHAR ProviderName[LINE_LEN]; 1004 FILETIME DriverDate; 1005 DWORDLONG DriverVersion; 1006 } SP_DRVINFO_DATA_V2_A, *PSP_DRVINFO_DATA_V2_A; 1007 typedef struct _SP_DRVINFO_DATA_V2_W { 1008 DWORD cbSize; 1009 DWORD DriverType; 1010 ULONG_PTR Reserved; 1011 WCHAR Description[LINE_LEN]; 1012 WCHAR MfgName[LINE_LEN]; 1013 WCHAR ProviderName[LINE_LEN]; 1014 FILETIME DriverDate; 1015 DWORDLONG DriverVersion; 1016 } SP_DRVINFO_DATA_V2_W, *PSP_DRVINFO_DATA_V2_W; 1017 typedef struct _SP_DRVINFO_DATA_V1_A { 1018 DWORD cbSize; 1019 DWORD DriverType; 1020 ULONG_PTR Reserved; 1021 CHAR Description[LINE_LEN]; 1022 CHAR MfgName[LINE_LEN]; 1023 CHAR ProviderName[LINE_LEN]; 1024 } SP_DRVINFO_DATA_V1_A, *PSP_DRVINFO_DATA_V1_A; 1025 typedef struct _SP_DRVINFO_DATA_V1_W { 1026 DWORD cbSize; 1027 DWORD DriverType; 1028 ULONG_PTR Reserved; 1029 WCHAR Description[LINE_LEN]; 1030 WCHAR MfgName[LINE_LEN]; 1031 WCHAR ProviderName[LINE_LEN]; 1032 } SP_DRVINFO_DATA_V1_W, *PSP_DRVINFO_DATA_V1_W; 1033 1034 #ifdef UNICODE 1035 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1036 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1037 #else 1038 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1039 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1040 #endif 1041 1042 #if USE_SP_DRVINFO_DATA_V1 1043 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1044 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1045 typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1046 #else 1047 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1048 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1049 typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1050 #endif 1051 1052 typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID); 1053 1054 typedef struct _SP_DRVINFO_DETAIL_DATA_A { 1055 DWORD cbSize; 1056 FILETIME InfDate; 1057 DWORD CompatIDsOffset; 1058 DWORD CompatIDsLength; 1059 ULONG_PTR Reserved; 1060 CHAR SectionName[LINE_LEN]; 1061 CHAR InfFileName[MAX_PATH]; 1062 CHAR DrvDescription[LINE_LEN]; 1063 CHAR HardwareID[ANYSIZE_ARRAY]; 1064 } SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A; 1065 typedef struct _SP_DRVINFO_DETAIL_DATA_W { 1066 DWORD cbSize; 1067 FILETIME InfDate; 1068 DWORD CompatIDsOffset; 1069 DWORD CompatIDsLength; 1070 ULONG_PTR Reserved; 1071 WCHAR SectionName[LINE_LEN]; 1072 WCHAR InfFileName[MAX_PATH]; 1073 WCHAR DrvDescription[LINE_LEN]; 1074 WCHAR HardwareID[ANYSIZE_ARRAY]; 1075 } SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W; 1076 typedef struct _SP_DRVINSTALL_PARAMS { 1077 DWORD cbSize; 1078 DWORD Rank; 1079 DWORD Flags; 1080 DWORD_PTR PrivateData; 1081 DWORD Reserved; 1082 } SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS; 1083 1084 1085 typedef struct _COINSTALLER_CONTEXT_DATA { 1086 BOOL PostProcessing; 1087 DWORD InstallResult; 1088 PVOID PrivateData; 1089 } COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA; 1090 typedef struct _SP_CLASSIMAGELIST_DATA { 1091 DWORD cbSize; 1092 HIMAGELIST ImageList; 1093 ULONG_PTR Reserved; 1094 } SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA; 1095 typedef struct _SP_PROPSHEETPAGE_REQUEST { 1096 DWORD cbSize; 1097 DWORD PageRequested; 1098 HDEVINFO DeviceInfoSet; 1099 PSP_DEVINFO_DATA DeviceInfoData; 1100 } SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST; 1101 typedef struct _SP_BACKUP_QUEUE_PARAMS_A { 1102 DWORD cbSize; 1103 CHAR FullInfPath[MAX_PATH]; 1104 INT FilenameOffset; 1105 } SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A; 1106 typedef struct _SP_BACKUP_QUEUE_PARAMS_W { 1107 DWORD cbSize; 1108 WCHAR FullInfPath[MAX_PATH]; 1109 INT FilenameOffset; 1110 } SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W; 1111 1112 1113 #ifdef UNICODE 1114 typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1115 typedef FILEPATHS_W FILEPATHS, *PFILEPATHS; 1116 typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA; 1117 typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO; 1118 typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1119 typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS; 1120 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA, 1121 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1122 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA, 1123 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1124 typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA, 1125 *PSP_DEVINFO_LIST_DETAIL_DATA; 1126 typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1127 typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS; 1128 typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS, 1129 *PSP_TROUBLESHOOTER_PARAMS; 1130 typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS, 1131 *PSP_POWERMESSAGEWAKE_PARAMS; 1132 typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA, 1133 *PSP_DRVINFO_DETAIL_DATA; 1134 typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS, 1135 *PSP_BACKUP_QUEUE_PARAMS; 1136 typedef SP_REGISTER_CONTROL_STATUSW SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1137 #else 1138 typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1139 typedef FILEPATHS_A FILEPATHS, *PFILEPATHS; 1140 typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA; 1141 typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO; 1142 typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1143 typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS; 1144 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA, 1145 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1146 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA, 1147 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1148 typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA, 1149 *PSP_DEVINFO_LIST_DETAIL_DATA; 1150 typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1151 typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS, 1152 *PSP_SELECTDEVICE_PARAMS; 1153 typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS, 1154 *PSP_TROUBLESHOOTER_PARAMS; 1155 typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS, 1156 *PSP_POWERMESSAGEWAKE_PARAMS; 1157 typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA, 1158 *PSP_DRVINFO_DETAIL_DATA; 1159 typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS, 1160 *PSP_BACKUP_QUEUE_PARAMS; 1161 typedef SP_REGISTER_CONTROL_STATUSA SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1162 #endif /* UNICODE */ 1163 1164 1165 WINSETUPAPI LONG WINAPI AddTagToGroupOrderList(PCWSTR, DWORD, DWORD); 1166 WINSETUPAPI VOID WINAPI AssertFail(LPSTR, UINT, LPSTR); 1167 WINSETUPAPI DWORD WINAPI CaptureStringArg(PCWSTR, PWSTR*); 1168 WINSETUPAPI BOOL WINAPI DelayedMove(PCWSTR, PCWSTR); 1169 WINSETUPAPI BOOL WINAPI DoesUserHavePrivilege(PCWSTR); 1170 WINSETUPAPI BOOL WINAPI FileExists(PCWSTR, PWIN32_FIND_DATAW); 1171 WINSETUPAPI DWORD WINAPI GetSetFileTimestamp(PCWSTR, PFILETIME, PFILETIME, PFILETIME, BOOLEAN); 1172 WINSETUPAPI VOID WINAPI InstallHinfSectionA(_In_ HWND, _In_ HINSTANCE, _In_ PCSTR, _In_ INT); 1173 WINSETUPAPI VOID WINAPI InstallHinfSectionW(_In_ HWND, _In_ HINSTANCE, _In_ PCWSTR, _In_ INT); 1174 WINSETUPAPI BOOL WINAPI IsUserAdmin(VOID); 1175 WINSETUPAPI VOID WINAPI MyFree(PVOID); 1176 WINSETUPAPI PVOID WINAPI MyMalloc(DWORD); 1177 WINSETUPAPI PVOID WINAPI MyRealloc(PVOID, DWORD); 1178 WINSETUPAPI LONG WINAPI QueryRegistryValue(HKEY, PCWSTR, PBYTE*, PDWORD, PDWORD); 1179 WINSETUPAPI DWORD WINAPI RetreiveFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR*); 1180 1181 WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 1182 WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 1183 WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1184 WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1185 WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1186 WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1187 WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(_In_ DWORD, _In_ PCSTR); 1188 WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(_In_ DWORD, _In_ PCWSTR); 1189 WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(_In_ HDSKSPC, _In_ LPCSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1190 WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(_In_ HDSKSPC, _In_ LPCWSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1191 WINSETUPAPI UINT WINAPI SetupBackupErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT, _In_ DWORD); 1192 WINSETUPAPI UINT WINAPI SetupBackupErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT, _In_ DWORD); 1193 WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID); 1194 WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(_In_ HSPFILEQ); 1195 WINSETUPAPI VOID WINAPI SetupCloseInfFile(_In_ HINF); 1196 WINSETUPAPI VOID WINAPI SetupCloseLog(VOID); 1197 WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 1198 WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 1199 1200 WINSETUPAPI 1201 UINT 1202 WINAPI 1203 SetupCopyErrorA( 1204 _In_ HWND hwndParent, 1205 _In_opt_ PCSTR DialogTitle, 1206 _In_opt_ PCSTR DiskName, 1207 _In_ PCSTR PathToSource, 1208 _In_ PCSTR SourceFile, 1209 _In_opt_ PCSTR TargetPathFile, 1210 _In_ UINT Win32ErrorCode, 1211 _In_ DWORD Style, 1212 _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, 1213 _In_ DWORD PathBufferSize, 1214 _Out_opt_ PDWORD PathRequiredSize); 1215 1216 WINSETUPAPI 1217 UINT 1218 WINAPI 1219 SetupCopyErrorW( 1220 _In_ HWND hwndParent, 1221 _In_opt_ PCWSTR DialogTitle, 1222 _In_opt_ PCWSTR DiskName, 1223 _In_ PCWSTR PathToSource, 1224 _In_ PCWSTR SourceFile, 1225 _In_opt_ PCWSTR TargetPathFile, 1226 _In_ UINT Win32ErrorCode, 1227 _In_ DWORD Style, 1228 _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer, 1229 _In_ DWORD PathBufferSize, 1230 _Out_opt_ PDWORD PathRequiredSize); 1231 1232 WINSETUPAPI 1233 BOOL 1234 WINAPI 1235 SetupCopyOEMInfA( 1236 _In_ PCSTR SourceInfFileName, 1237 _In_opt_ PCSTR OEMSourceMediaLocation, 1238 _In_ DWORD OEMSourceMediaType, 1239 _In_ DWORD CopyStyle, 1240 _Out_writes_opt_(DestinationInfFileNameSize) PSTR DestinationInfFileName, 1241 _In_ DWORD DestinationInfFileNameSize, 1242 _Out_opt_ PDWORD RequiredSize, 1243 _Out_opt_ PSTR *DestinationInfFileNameComponent); 1244 1245 WINSETUPAPI 1246 BOOL 1247 WINAPI 1248 SetupCopyOEMInfW( 1249 _In_ PCWSTR SourceInfFileName, 1250 _In_opt_ PCWSTR OEMSourceMediaLocation, 1251 _In_ DWORD OEMSourceMediaType, 1252 _In_ DWORD CopyStyle, 1253 _Out_writes_opt_(DestinationInfFileNameSize) PWSTR DestinationInfFileName, 1254 _In_ DWORD DestinationInfFileNameSize, 1255 _Out_opt_ PDWORD RequiredSize, 1256 _Out_opt_ PWSTR *DestinationInfFileNameComponent); 1257 1258 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1259 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1260 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(_In_ PCSTR, _In_ PCSTR, _In_opt_ PUINT); 1261 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(_In_ PCWSTR, _In_ PCWSTR, _In_opt_ PUINT); 1262 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1263 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1264 WINSETUPAPI UINT WINAPI SetupDeleteErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 1265 WINSETUPAPI UINT WINAPI SetupDeleteErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 1266 WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(_Inout_ HDSKSPC); 1267 WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1268 1269 _Success_(return != FALSE) 1270 WINSETUPAPI 1271 BOOL 1272 WINAPI 1273 SetupDiBuildClassInfoList( 1274 _In_ DWORD Flags, 1275 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1276 _In_ DWORD ClassGuidListSize, 1277 _Out_ PDWORD RequiredSize); 1278 1279 _Success_(return != FALSE) 1280 WINSETUPAPI 1281 BOOL 1282 WINAPI 1283 SetupDiBuildClassInfoListExA( 1284 _In_ DWORD Flags, 1285 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1286 _In_ DWORD ClassGuidListSize, 1287 _Out_ PDWORD RequiredSize, 1288 _In_opt_ PCSTR MachineName, 1289 _Reserved_ PVOID Reserved); 1290 1291 _Success_(return != FALSE) 1292 WINSETUPAPI 1293 BOOL 1294 WINAPI 1295 SetupDiBuildClassInfoListExW( 1296 _In_ DWORD Flags, 1297 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1298 _In_ DWORD ClassGuidListSize, 1299 _Out_ PDWORD RequiredSize, 1300 _In_opt_ PCWSTR MachineName, 1301 _Reserved_ PVOID Reserved); 1302 1303 WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1304 WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(_In_ DI_FUNCTION, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1305 WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(_In_ HDEVINFO); 1306 WINSETUPAPI BOOL WINAPI SetupDiChangeState(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1307 1308 _Success_(return != FALSE) 1309 WINSETUPAPI 1310 BOOL 1311 WINAPI 1312 SetupDiClassGuidsFromNameA( 1313 _In_ PCSTR ClassName, 1314 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1315 _In_ DWORD ClassGuidListSize, 1316 _Out_ PDWORD RequiredSize); 1317 1318 _Success_(return != FALSE) 1319 WINSETUPAPI 1320 BOOL 1321 WINAPI 1322 SetupDiClassGuidsFromNameW( 1323 _In_ PCWSTR ClassName, 1324 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1325 _In_ DWORD ClassGuidListSize, 1326 _Out_ PDWORD RequiredSize); 1327 1328 _Success_(return != FALSE) 1329 WINSETUPAPI 1330 BOOL 1331 WINAPI 1332 SetupDiClassGuidsFromNameExA( 1333 _In_ PCSTR ClassName, 1334 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1335 _In_ DWORD ClassGuidListSize, 1336 _Out_ PDWORD RequiredSize, 1337 _In_opt_ PCSTR MachineName, 1338 _Reserved_ PVOID Reserved); 1339 1340 _Success_(return != FALSE) 1341 WINSETUPAPI 1342 BOOL 1343 WINAPI 1344 SetupDiClassGuidsFromNameExW( 1345 _In_ PCWSTR ClassName, 1346 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1347 _In_ DWORD ClassGuidListSize, 1348 _Out_ PDWORD RequiredSize, 1349 _In_opt_ PCWSTR MachineName, 1350 _Reserved_ PVOID Reserved); 1351 1352 WINSETUPAPI 1353 BOOL 1354 WINAPI 1355 SetupDiClassNameFromGuidA( 1356 _In_ CONST GUID *ClassGuid, 1357 _Out_writes_(ClassNameSize) PSTR ClassName, 1358 _In_ DWORD ClassNameSize, 1359 _Out_opt_ PDWORD RequiredSize); 1360 1361 WINSETUPAPI 1362 BOOL 1363 WINAPI 1364 SetupDiClassNameFromGuidW( 1365 _In_ CONST GUID *ClassGuid, 1366 _Out_writes_(ClassNameSize) PWSTR ClassName, 1367 _In_ DWORD ClassNameSize, 1368 _Out_opt_ PDWORD RequiredSize); 1369 1370 WINSETUPAPI 1371 BOOL 1372 WINAPI 1373 SetupDiClassNameFromGuidExA( 1374 _In_ CONST GUID *ClassGuid, 1375 _Out_writes_(ClassNameSize) PSTR ClassName, 1376 _In_ DWORD ClassNameSize, 1377 _Out_opt_ PDWORD RequiredSize, 1378 _In_opt_ PCSTR MachineName, 1379 _Reserved_ PVOID Reserved); 1380 1381 WINSETUPAPI 1382 BOOL 1383 WINAPI 1384 SetupDiClassNameFromGuidExW( 1385 _In_ CONST GUID *ClassGuid, 1386 _Out_writes_(ClassNameSize) PWSTR ClassName, 1387 _In_ DWORD ClassNameSize, 1388 _Out_opt_ PDWORD RequiredSize, 1389 _In_opt_ PCWSTR MachineName, 1390 _Reserved_ PVOID Reserved); 1391 1392 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1393 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(_In_ HDEVINFO, _In_ PCWSTR, _In_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1394 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(_In_opt_ CONST GUID*, _In_opt_ HWND); 1395 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(_In_opt_ CONST GUID*, _In_opt_ HWND, _In_opt_ PCSTR, _Reserved_ PVOID); 1396 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(_In_opt_ CONST GUID*, _In_opt_ HWND, _In_opt_ PCWSTR, _Reserved_ PVOID); 1397 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_opt_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1398 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_opt_ PCWSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1399 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM, _In_opt_ HINF, _In_opt_ PCSTR); 1400 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM, _In_opt_ HINF, _In_opt_ PCWSTR); 1401 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ HINF, _In_opt_ PCSTR); 1402 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ HINF, _In_opt_ PCWSTR); 1403 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1404 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA); 1405 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD); 1406 WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD); 1407 WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(_In_ PSP_CLASSIMAGELIST_DATA); 1408 WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(_In_ HDEVINFO); 1409 WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1410 WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(_In_ HDC, _In_ RECT, _In_ INT, _In_ DWORD); 1411 WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(_In_ HDEVINFO, _In_ DWORD, _Out_ PSP_DEVINFO_DATA); 1412 WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_ DWORD, _Out_ PSP_DEVICE_INTERFACE_DATA); 1413 WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_A); 1414 WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_W); 1415 1416 WINSETUPAPI 1417 BOOL 1418 WINAPI 1419 SetupDiGetActualSectionToInstallA( 1420 _In_ HINF InfHandle, 1421 _In_ PCSTR InfSectionName, 1422 _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt, 1423 _In_ DWORD InfSectionWithExtSize, 1424 _Out_opt_ PDWORD RequiredSize, 1425 _Out_opt_ PSTR *Extension); 1426 1427 WINSETUPAPI 1428 BOOL 1429 WINAPI 1430 SetupDiGetActualSectionToInstallW( 1431 _In_ HINF InfHandle, 1432 _In_ PCWSTR InfSectionName, 1433 _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt, 1434 _In_ DWORD InfSectionWithExtSize, 1435 _Out_opt_ PDWORD RequiredSize, 1436 _Out_opt_ PWSTR *Extension); 1437 1438 WINSETUPAPI 1439 BOOL 1440 WINAPI 1441 SetupDiGetActualSectionToInstallExA( 1442 _In_ HINF InfHandle, 1443 _In_ PCSTR InfSectionName, 1444 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 1445 _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt, 1446 _In_ DWORD InfSectionWithExtSize, 1447 _Out_opt_ PDWORD RequiredSize, 1448 _Out_opt_ PSTR *Extension, 1449 _Reserved_ PVOID Reserved); 1450 1451 WINSETUPAPI 1452 BOOL 1453 WINAPI 1454 SetupDiGetActualSectionToInstallExW( 1455 _In_ HINF InfHandle, 1456 _In_ PCWSTR InfSectionName, 1457 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 1458 _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt, 1459 _In_ DWORD InfSectionWithExtSize, 1460 _Out_opt_ PDWORD RequiredSize, 1461 _Out_opt_ PWSTR *Extension, 1462 _Reserved_ PVOID Reserved); 1463 1464 WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(_In_opt_ CONST GUID*, _Out_ PINT); 1465 1466 WINSETUPAPI 1467 BOOL 1468 WINAPI 1469 SetupDiGetClassDescriptionA( 1470 _In_ CONST GUID *ClassGuid, 1471 _Out_writes_(ClassDescriptionSize) PSTR ClassDescription, 1472 _In_ DWORD ClassDescriptionSize, 1473 _Out_opt_ PDWORD RequiredSize); 1474 1475 WINSETUPAPI 1476 BOOL 1477 WINAPI 1478 SetupDiGetClassDescriptionW( 1479 _In_ CONST GUID *ClassGuid, 1480 _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription, 1481 _In_ DWORD ClassDescriptionSize, 1482 _Out_opt_ PDWORD RequiredSize); 1483 1484 WINSETUPAPI 1485 BOOL 1486 WINAPI 1487 SetupDiGetClassDescriptionExA( 1488 _In_ CONST GUID *ClassGuid, 1489 _Out_writes_(ClassDescriptionSize) PSTR ClassDescription, 1490 _In_ DWORD ClassDescriptionSize, 1491 _Out_opt_ PDWORD RequiredSize, 1492 _In_opt_ PCSTR MachineName, 1493 _Reserved_ PVOID Reserved); 1494 1495 WINSETUPAPI 1496 BOOL 1497 WINAPI 1498 SetupDiGetClassDescriptionExW( 1499 _In_ CONST GUID *ClassGuid, 1500 _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription, 1501 _In_ DWORD ClassDescriptionSize, 1502 _Out_opt_ PDWORD RequiredSize, 1503 _In_opt_ PCWSTR MachineName, 1504 _Reserved_ PVOID Reserved); 1505 1506 WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ LPPROPSHEETHEADERA, _In_ DWORD, _Out_opt_ PDWORD, _In_ DWORD); 1507 WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ LPPROPSHEETHEADERW, _In_ DWORD, _Out_opt_ PDWORD, _In_ DWORD); 1508 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(_In_opt_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD); 1509 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(_In_opt_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD); 1510 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(_In_opt_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PCSTR, _Reserved_ PVOID); 1511 _Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(_In_opt_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PCWSTR, _Reserved_ PVOID); 1512 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(_In_ PSP_CLASSIMAGELIST_DATA, _In_ CONST GUID*, _Out_ PINT); 1513 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(_Out_ PSP_CLASSIMAGELIST_DATA); 1514 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCSTR, _Reserved_ PVOID); 1515 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCWSTR, _Reserved_ PVOID); 1516 1517 _Success_(return != FALSE) 1518 WINSETUPAPI 1519 BOOL 1520 WINAPI 1521 SetupDiGetClassInstallParamsA( 1522 _In_ HDEVINFO DeviceInfoSet, 1523 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1524 _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1525 _In_ DWORD ClassInstallParamsSize, 1526 _Out_opt_ PDWORD RequiredSize); 1527 1528 _Success_(return != FALSE) 1529 WINSETUPAPI 1530 BOOL 1531 WINAPI 1532 SetupDiGetClassInstallParamsW( 1533 _In_ HDEVINFO DeviceInfoSet, 1534 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1535 _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1536 _In_ DWORD ClassInstallParamsSize, 1537 _Out_opt_ PDWORD RequiredSize); 1538 1539 _Success_(return != FALSE) 1540 WINSETUPAPI 1541 BOOL 1542 WINAPI 1543 SetupDiGetClassRegistryPropertyA( 1544 _In_ CONST GUID *ClassGuid, 1545 _In_ DWORD Property, 1546 _Out_opt_ PDWORD PropertyRegDataType, 1547 _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1548 _In_ DWORD PropertyBufferSize, 1549 _Out_opt_ PDWORD RequiredSize, 1550 _In_opt_ PCSTR MachineName, 1551 _Reserved_ PVOID Reserved); 1552 1553 _Success_(return != FALSE) 1554 WINSETUPAPI 1555 BOOL 1556 WINAPI 1557 SetupDiGetClassRegistryPropertyW( 1558 _In_ CONST GUID *ClassGuid, 1559 _In_ DWORD Property, 1560 _Out_opt_ PDWORD PropertyRegDataType, 1561 _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1562 _In_ DWORD PropertyBufferSize, 1563 _Out_opt_ PDWORD RequiredSize, 1564 _In_opt_ PCWSTR MachineName, 1565 _Reserved_ PVOID Reserved); 1566 1567 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(_In_ HDEVINFO, _Out_ LPGUID); 1568 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_A); 1569 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_W); 1570 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_A); 1571 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_W); 1572 1573 WINSETUPAPI 1574 BOOL 1575 WINAPI 1576 SetupDiGetDeviceInstanceIdA( 1577 _In_ HDEVINFO DeviceInfoSet, 1578 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1579 _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId, 1580 _In_ DWORD DeviceInstanceIdSize, 1581 _Out_opt_ PDWORD RequiredSize); 1582 1583 WINSETUPAPI 1584 BOOL 1585 WINAPI 1586 SetupDiGetDeviceInstanceIdW( 1587 _In_ HDEVINFO DeviceInfoSet, 1588 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1589 _Out_writes_opt_(DeviceInstanceIdSize) PWSTR DeviceInstanceId, 1590 _In_ DWORD DeviceInstanceIdSize, 1591 _Out_opt_ PDWORD RequiredSize); 1592 1593 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _In_ CONST GUID*, _Out_ PSP_DEVICE_INTERFACE_DATA); 1594 1595 _Success_(return != FALSE) 1596 _At_((LPSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_) 1597 WINSETUPAPI 1598 BOOL 1599 WINAPI 1600 SetupDiGetDeviceInterfaceDetailA( 1601 _In_ HDEVINFO DeviceInfoSet, 1602 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, 1603 _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData, 1604 _In_ DWORD DeviceInterfaceDetailDataSize, 1605 _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_A)) PDWORD RequiredSize, 1606 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData); 1607 1608 _Success_(return != FALSE) 1609 _At_((LPWSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_) 1610 WINSETUPAPI 1611 BOOL 1612 WINAPI 1613 SetupDiGetDeviceInterfaceDetailW( 1614 _In_ HDEVINFO DeviceInfoSet, 1615 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, 1616 _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData, 1617 _In_ DWORD DeviceInterfaceDetailDataSize, 1618 _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W)) PDWORD RequiredSize, 1619 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData); 1620 1621 _Success_(return != FALSE) 1622 _When_((*PropertyRegDataType == REG_SZ), _At_((PSTR) PropertyBuffer, _Post_valid_)) 1623 _When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZSTR) PropertyBuffer, _Post_valid_)) 1624 WINSETUPAPI 1625 BOOL 1626 WINAPI 1627 SetupDiGetDeviceRegistryPropertyA( 1628 _In_ HDEVINFO DeviceInfoSet, 1629 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1630 _In_ DWORD Property, 1631 _Out_opt_ PDWORD PropertyRegDataType, 1632 _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1633 _In_ DWORD PropertyBufferSize, 1634 _Out_opt_ PDWORD RequiredSize); 1635 1636 _Success_(return != FALSE) 1637 _When_((*PropertyRegDataType == REG_SZ), _At_((PWSTR) PropertyBuffer, _Post_valid_)) 1638 _When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZWSTR) PropertyBuffer, _Post_valid_)) 1639 WINSETUPAPI 1640 BOOL 1641 WINAPI 1642 SetupDiGetDeviceRegistryPropertyW( 1643 _In_ HDEVINFO DeviceInfoSet, 1644 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1645 _In_ DWORD Property, 1646 _Out_opt_ PDWORD PropertyRegDataType, 1647 _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1648 _In_ DWORD PropertyBufferSize, 1649 _Out_opt_ PDWORD RequiredSize); 1650 1651 WINSETUPAPI 1652 BOOL 1653 WINAPI 1654 SetupDiGetDriverInfoDetailA( 1655 _In_ HDEVINFO DeviceInfoSet, 1656 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1657 _In_ PSP_DRVINFO_DATA_A DriverInfoData, 1658 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData, 1659 _In_ DWORD DriverInfoDetailDataSize, 1660 _Out_opt_ PDWORD RequiredSize); 1661 1662 WINSETUPAPI 1663 BOOL 1664 WINAPI 1665 SetupDiGetDriverInfoDetailW( 1666 _In_ HDEVINFO DeviceInfoSet, 1667 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1668 _In_ PSP_DRVINFO_DATA_W DriverInfoData, 1669 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData, 1670 _In_ DWORD DriverInfoDetailDataSize, 1671 _Out_opt_ PDWORD RequiredSize); 1672 1673 WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _Out_ PSP_DRVINSTALL_PARAMS); 1674 WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _Out_ PSP_DRVINSTALL_PARAMS); 1675 1676 WINSETUPAPI 1677 BOOL 1678 WINAPI 1679 SetupDiGetHwProfileFriendlyNameA( 1680 _In_ DWORD HwProfile, 1681 _Out_writes_(FriendlyNameSize) PSTR FriendlyName, 1682 _In_ DWORD FriendlyNameSize, 1683 _Out_opt_ PDWORD RequiredSize); 1684 1685 WINSETUPAPI 1686 BOOL 1687 WINAPI 1688 SetupDiGetHwProfileFriendlyNameW( 1689 _In_ DWORD HwProfile, 1690 _Out_writes_(FriendlyNameSize) PWSTR FriendlyName, 1691 _In_ DWORD FriendlyNameSize, 1692 _Out_opt_ PDWORD RequiredSize); 1693 1694 WINSETUPAPI 1695 BOOL 1696 WINAPI 1697 SetupDiGetHwProfileFriendlyNameExA( 1698 _In_ DWORD HwProfile, 1699 _Out_writes_(FriendlyNameSize) PSTR FriendlyName, 1700 _In_ DWORD FriendlyNameSize, 1701 _Out_opt_ PDWORD RequiredSize, 1702 _In_opt_ PCSTR MachineName, 1703 _Reserved_ PVOID Reserved); 1704 1705 WINSETUPAPI 1706 BOOL 1707 WINAPI 1708 SetupDiGetHwProfileFriendlyNameExW( 1709 _In_ DWORD HwProfile, 1710 _Out_writes_(FriendlyNameSize) PWSTR FriendlyName, 1711 _In_ DWORD FriendlyNameSize, 1712 _Out_opt_ PDWORD RequiredSize, 1713 _In_opt_ PCWSTR MachineName, 1714 _Reserved_ PVOID Reserved); 1715 1716 WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); 1717 1718 _Success_(return != FALSE) 1719 WINSETUPAPI 1720 BOOL 1721 WINAPI 1722 SetupDiGetHwProfileList( 1723 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1724 _In_ DWORD HwProfileListSize, 1725 _Out_ PDWORD RequiredSize, 1726 _Out_opt_ PDWORD CurrentlyActiveIndex); 1727 1728 _Success_(return != FALSE) 1729 WINSETUPAPI 1730 BOOL 1731 WINAPI 1732 SetupDiGetHwProfileListExA( 1733 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1734 _In_ DWORD HwProfileListSize, 1735 _Out_ PDWORD RequiredSize, 1736 _Out_opt_ PDWORD CurrentlyActiveIndex, 1737 _In_opt_ PCSTR MachineName, 1738 _Reserved_ PVOID Reserved); 1739 1740 _Success_(return != FALSE) 1741 WINSETUPAPI 1742 BOOL 1743 WINAPI 1744 SetupDiGetHwProfileListExW( 1745 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1746 _In_ DWORD HwProfileListSize, 1747 _Out_ PDWORD RequiredSize, 1748 _Out_opt_ PDWORD CurrentlyActiveIndex, 1749 _In_opt_ PCWSTR MachineName, 1750 _Reserved_ PVOID Reserved); 1751 1752 WINSETUPAPI 1753 BOOL 1754 WINAPI 1755 SetupDiGetINFClassA( 1756 _In_ PCSTR InfName, 1757 _Out_ LPGUID ClassGuid, 1758 _Out_writes_(ClassNameSize) PSTR ClassName, 1759 _In_ DWORD ClassNameSize, 1760 _Out_opt_ PDWORD RequiredSize); 1761 1762 WINSETUPAPI 1763 BOOL 1764 WINAPI 1765 SetupDiGetINFClassW( 1766 _In_ PCWSTR InfName, 1767 _Out_ LPGUID ClassGuid, 1768 _Out_writes_(ClassNameSize) PWSTR ClassName, 1769 _In_ DWORD ClassNameSize, 1770 _Out_opt_ PDWORD RequiredSize); 1771 1772 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(_In_ HDEVINFO, _Out_ PSP_DEVINFO_DATA); 1773 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_A); 1774 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_W); 1775 WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_INSTALLWIZARD_DATA, _In_ DWORD, _In_ DWORD); 1776 WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(_In_opt_ HWND, _In_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1777 WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(_In_opt_ HWND, _In_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1778 WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(_In_opt_ HWND, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1779 WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(_In_opt_ HWND, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1780 WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1781 WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1782 WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1783 WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(_In_ CONST GUID*, _Out_opt_ HICON*, _Out_opt_ PINT); 1784 WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA); 1785 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey(_In_opt_ CONST GUID*, _In_ REGSAM); 1786 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA(_In_opt_ CONST GUID*, _In_ REGSAM, _In_ DWORD, _In_opt_ PCSTR, _Reserved_ PVOID); 1787 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW(_In_opt_ CONST GUID*, _In_ REGSAM, _In_ DWORD, _In_opt_ PCWSTR, _Reserved_ PVOID); 1788 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1789 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(_In_ HDEVINFO, _In_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1790 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(_In_ HDEVINFO, _In_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1791 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(_In_ HDEVINFO, _In_ PCWSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1792 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM); 1793 _Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ REGSAM); 1794 WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1795 WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA, _In_ DWORD, _In_opt_ PSP_DETSIG_CMPPROC, _In_opt_ PVOID, _Out_opt_ PSP_DEVINFO_DATA); 1796 WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1797 WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(_In_ HDEVINFO, _Inout_ PSP_DEVICE_INTERFACE_DATA); 1798 WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1799 WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1800 WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(_In_opt_ HWND, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1801 1802 WINSETUPAPI 1803 BOOL 1804 WINAPI 1805 SetupDiSetClassInstallParamsA( 1806 _In_ HDEVINFO DeviceInfoSet, 1807 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1808 _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1809 _In_ DWORD ClassInstallParamsSize); 1810 1811 WINSETUPAPI 1812 BOOL 1813 WINAPI 1814 SetupDiSetClassInstallParamsW( 1815 _In_ HDEVINFO DeviceInfoSet, 1816 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1817 _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1818 _In_ DWORD ClassInstallParamsSize); 1819 1820 WINSETUPAPI 1821 BOOL 1822 WINAPI 1823 SetupDiSetClassRegistryPropertyA( 1824 _In_ CONST GUID *ClassGuid, 1825 _In_ DWORD Property, 1826 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1827 _In_ DWORD PropertyBufferSize, 1828 _In_opt_ PCSTR MachineName, 1829 _Reserved_ PVOID Reserved); 1830 1831 WINSETUPAPI 1832 BOOL 1833 WINAPI 1834 SetupDiSetClassRegistryPropertyW( 1835 _In_ CONST GUID *ClassGuid, 1836 _In_ DWORD Property, 1837 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1838 _In_ DWORD PropertyBufferSize, 1839 _In_opt_ PCWSTR MachineName, 1840 _Reserved_ PVOID Reserved); 1841 1842 WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_A); 1843 WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_W); 1844 1845 WINSETUPAPI 1846 BOOL 1847 WINAPI 1848 SetupDiSetDeviceRegistryPropertyA( 1849 _In_ HDEVINFO DeviceInfoSet, 1850 _Inout_ PSP_DEVINFO_DATA DeviceInfoData, 1851 _In_ DWORD Property, 1852 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1853 _In_ DWORD PropertyBufferSize); 1854 1855 WINSETUPAPI 1856 BOOL 1857 WINAPI 1858 SetupDiSetDeviceRegistryPropertyW( 1859 _In_ HDEVINFO DeviceInfoSet, 1860 _Inout_ PSP_DEVINFO_DATA DeviceInfoData, 1861 _In_ DWORD Property, 1862 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1863 _In_ DWORD PropertyBufferSize); 1864 1865 WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _In_ PSP_DRVINSTALL_PARAMS); 1866 WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _In_ PSP_DRVINSTALL_PARAMS); 1867 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1868 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_A); 1869 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_W); 1870 WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1871 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1872 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1873 WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(_In_ HINF, _In_ PCSTR, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1874 WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(_In_ HINF, _In_ PCWSTR, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1875 WINSETUPAPI BOOL WINAPI SetupFindNextLine(_In_ PINFCONTEXT, _Out_ PINFCONTEXT); 1876 WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(_In_ PINFCONTEXT, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1877 WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(_In_ PINFCONTEXT, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1878 WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT); 1879 WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT); 1880 WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_A); 1881 WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_W); 1882 1883 _Success_(return != FALSE) 1884 WINSETUPAPI 1885 BOOL 1886 WINAPI 1887 SetupGetBinaryField( 1888 _In_ PINFCONTEXT Context, 1889 _In_ DWORD FieldIndex, 1890 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PBYTE ReturnBuffer, 1891 _In_ DWORD ReturnBufferSize, 1892 _Out_opt_ LPDWORD RequiredSize); 1893 1894 WINSETUPAPI DWORD WINAPI SetupGetFieldCount(_In_ PINFCONTEXT); 1895 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(_In_ PCSTR, _Out_ PSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1896 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(_In_ PCWSTR, _Out_ PWSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1897 1898 WINSETUPAPI 1899 BOOL 1900 WINAPI 1901 SetupGetFileCompressionInfoExA( 1902 _In_ PCSTR SourceFileName, 1903 _In_reads_opt_(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuffer, 1904 _In_ DWORD ActualSourceFileNameBufferLen, 1905 _Out_opt_ PDWORD RequiredBufferLen, 1906 _Out_ PDWORD SourceFileSize, 1907 _Out_ PDWORD TargetFileSize, 1908 _Out_ PUINT CompressionType); 1909 1910 WINSETUPAPI 1911 BOOL 1912 WINAPI 1913 SetupGetFileCompressionInfoExW( 1914 _In_ PCWSTR SourceFileName, 1915 _In_reads_opt_(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuffer, 1916 _In_ DWORD ActualSourceFileNameBufferLen, 1917 _Out_opt_ PDWORD RequiredBufferLen, 1918 _Out_ PDWORD SourceFileSize, 1919 _Out_ PDWORD TargetFileSize, 1920 _Out_ PUINT CompressionType); 1921 1922 WINSETUPAPI 1923 BOOL 1924 WINAPI 1925 SetupGetInfFileListA( 1926 _In_opt_ PCSTR DirectoryPath, 1927 _In_ DWORD InfStyle, 1928 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 1929 _In_ DWORD ReturnBufferSize, 1930 _Out_opt_ PDWORD RequiredSize); 1931 1932 WINSETUPAPI 1933 BOOL 1934 WINAPI 1935 SetupGetInfFileListW( 1936 _In_opt_ PCWSTR DirectoryPath, 1937 _In_ DWORD InfStyle, 1938 _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer, 1939 _In_ DWORD ReturnBufferSize, 1940 _Out_opt_ PDWORD RequiredSize); 1941 1942 _Success_(return != FALSE) 1943 WINSETUPAPI 1944 BOOL 1945 WINAPI 1946 SetupGetInfInformationA( 1947 _In_ LPCVOID InfSpec, 1948 _In_ DWORD SearchControl, 1949 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATION ReturnBuffer, 1950 _In_ DWORD ReturnBufferSize, 1951 _Out_opt_ PDWORD RequiredSize); 1952 1953 _Success_(return != FALSE) 1954 WINSETUPAPI 1955 BOOL 1956 WINAPI 1957 SetupGetInfInformationW( 1958 _In_ LPCVOID InfSpec, 1959 _In_ DWORD SearchControl, 1960 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATION ReturnBuffer, 1961 _In_ DWORD ReturnBufferSize, 1962 _Out_opt_ PDWORD RequiredSize); 1963 1964 WINSETUPAPI BOOL WINAPI SetupGetIntField(_In_ PINFCONTEXT, _In_ DWORD, _Out_ PINT); 1965 WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1966 WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1967 WINSETUPAPI LONG WINAPI SetupGetLineCountA(_In_ HINF, _In_ PCSTR); 1968 WINSETUPAPI LONG WINAPI SetupGetLineCountW(_In_ HINF, _In_ PCWSTR); 1969 1970 WINSETUPAPI 1971 BOOL 1972 WINAPI 1973 SetupGetLineTextA( 1974 _In_opt_ PINFCONTEXT Context, 1975 _In_opt_ HINF InfHandle, 1976 _In_opt_ PCSTR Section, 1977 _In_opt_ PCSTR Key, 1978 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 1979 _In_ DWORD ReturnBufferSize, 1980 _Out_opt_ PDWORD RequiredSize); 1981 1982 WINSETUPAPI 1983 BOOL 1984 WINAPI 1985 SetupGetLineTextW( 1986 _In_opt_ PINFCONTEXT Context, 1987 _In_opt_ HINF InfHandle, 1988 _In_opt_ PCWSTR Section, 1989 _In_opt_ PCWSTR Key, 1990 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 1991 _In_ DWORD ReturnBufferSize, 1992 _Out_opt_ PDWORD RequiredSize); 1993 1994 WINSETUPAPI 1995 BOOL 1996 WINAPI 1997 SetupGetMultiSzFieldA( 1998 _In_ PINFCONTEXT Context, 1999 _In_ DWORD FieldIndex, 2000 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2001 _In_ DWORD ReturnBufferSize, 2002 _Out_opt_ LPDWORD RequiredSize); 2003 2004 WINSETUPAPI 2005 BOOL 2006 WINAPI 2007 SetupGetMultiSzFieldW( 2008 _In_ PINFCONTEXT Context, 2009 _In_ DWORD FieldIndex, 2010 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2011 _In_ DWORD ReturnBufferSize, 2012 _Out_opt_ LPDWORD RequiredSize); 2013 2014 WINSETUPAPI 2015 BOOL 2016 WINAPI 2017 SetupGetSourceFileLocationA( 2018 _In_ HINF InfHandle, 2019 _In_opt_ PINFCONTEXT InfContext, 2020 _In_opt_ PCSTR FileName, 2021 _Out_ PUINT SourceId, 2022 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2023 _In_ DWORD ReturnBufferSize, 2024 _Out_opt_ PDWORD RequiredSize); 2025 2026 WINSETUPAPI 2027 BOOL 2028 WINAPI 2029 SetupGetSourceFileLocationW( 2030 _In_ HINF InfHandle, 2031 _In_opt_ PINFCONTEXT InfContext, 2032 _In_opt_ PCWSTR FileName, 2033 _Out_ PUINT SourceId, 2034 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2035 _In_ DWORD ReturnBufferSize, 2036 _Out_opt_ PDWORD RequiredSize); 2037 2038 WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _Out_ PDWORD, _In_ UINT); 2039 WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _Out_ PDWORD, _In_ UINT); 2040 2041 WINSETUPAPI 2042 BOOL 2043 WINAPI 2044 SetupGetSourceInfoA( 2045 _In_ HINF InfHandle, 2046 _In_ UINT SourceId, 2047 _In_ UINT InfoDesired, 2048 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2049 _In_ DWORD ReturnBufferSize, 2050 _Out_opt_ PDWORD RequiredSize); 2051 2052 WINSETUPAPI 2053 BOOL 2054 WINAPI 2055 SetupGetSourceInfoW( 2056 _In_ HINF InfHandle, 2057 _In_ UINT SourceId, 2058 _In_ UINT InfoDesired, 2059 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2060 _In_ DWORD ReturnBufferSize, 2061 _Out_opt_ PDWORD RequiredSize); 2062 2063 WINSETUPAPI 2064 BOOL 2065 WINAPI 2066 SetupGetStringFieldA( 2067 _In_ PINFCONTEXT Context, 2068 _In_ DWORD FieldIndex, 2069 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2070 _In_ DWORD ReturnBufferSize, 2071 _Out_opt_ PDWORD RequiredSize); 2072 2073 WINSETUPAPI 2074 BOOL 2075 WINAPI 2076 SetupGetStringFieldW( 2077 _In_ PINFCONTEXT Context, 2078 _In_ DWORD FieldIndex, 2079 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2080 _In_ DWORD ReturnBufferSize, 2081 _Out_opt_ PDWORD RequiredSize); 2082 2083 WINSETUPAPI 2084 BOOL 2085 WINAPI 2086 SetupGetTargetPathA( 2087 _In_ HINF InfHandle, 2088 _In_opt_ PINFCONTEXT InfContext, 2089 _In_opt_ PCSTR Section, 2090 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2091 _In_ DWORD ReturnBufferSize, 2092 _Out_opt_ PDWORD RequiredSize); 2093 2094 WINSETUPAPI 2095 BOOL 2096 WINAPI 2097 SetupGetTargetPathW( 2098 _In_ HINF InfHandle, 2099 _In_opt_ PINFCONTEXT InfContext, 2100 _In_opt_ PCWSTR Section, 2101 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2102 _In_ DWORD ReturnBufferSize, 2103 _Out_opt_ PDWORD RequiredSize); 2104 2105 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(_In_opt_ HWND); 2106 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(_In_opt_ HWND, _In_opt_ HWND, _In_ UINT, _Reserved_ DWORD, _Reserved_ PVOID); 2107 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(_In_opt_ PCSTR, _In_ DWORD); 2108 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(_In_opt_ PCWSTR, _In_ DWORD); 2109 WINSETUPAPI BOOL WINAPI SetupInstallFileA(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID); 2110 WINSETUPAPI BOOL WINAPI SetupInstallFileW(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID); 2111 WINSETUPAPI BOOL WINAPI SetupInstallFileExA(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _Out_ PBOOL); 2112 WINSETUPAPI BOOL WINAPI SetupInstallFileExW(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _Out_ PBOOL); 2113 WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT); 2114 WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT); 2115 WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(_In_opt_ HWND, _In_ HINF, _In_ PCSTR, _In_ UINT, _In_opt_ HKEY, _In_opt_ PCSTR, _In_ UINT, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 2116 WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(_In_opt_ HWND, _In_ HINF, _In_ PCWSTR, _In_ UINT, _In_opt_ HKEY, _In_opt_ PCWSTR, _In_ UINT, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 2117 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(_In_ HINF, _In_ PCSTR, _In_ DWORD); 2118 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(_In_ HINF, _In_ PCWSTR, _In_ DWORD); 2119 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2120 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2121 WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(_In_ PCSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 2122 WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(_In_ PCWSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 2123 WINSETUPAPI BOOL WINAPI SetupLogErrorA(_In_ LPCSTR, _In_ LogSeverity); 2124 WINSETUPAPI BOOL WINAPI SetupLogErrorW(_In_ LPCWSTR, _In_ LogSeverity); 2125 WINSETUPAPI BOOL WINAPI SetupLogFileA(_In_ HSPFILELOG, _In_opt_ PCSTR, _In_ PCSTR, _In_ PCSTR, _In_ DWORD, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2126 WINSETUPAPI BOOL WINAPI SetupLogFileW(_In_ HSPFILELOG, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ PCWSTR, _In_ DWORD, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2127 2128 WINSETUPAPI 2129 BOOL 2130 WINAPI 2131 SetupOpenAppendInfFileA( 2132 _In_opt_ PCSTR FileName, 2133 _In_ HINF InfHandle, 2134 _Out_opt_ PUINT ErrorLine); 2135 2136 WINSETUPAPI 2137 BOOL 2138 WINAPI 2139 SetupOpenAppendInfFileW( 2140 _In_opt_ PCWSTR FileName, 2141 _In_ HINF InfHandle, 2142 _Out_opt_ PUINT ErrorLine); 2143 2144 WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID); 2145 2146 WINSETUPAPI 2147 HINF 2148 WINAPI 2149 SetupOpenInfFileA( 2150 _In_ PCSTR FileName, 2151 _In_opt_ PCSTR InfClass, 2152 _In_ DWORD InfStyle, 2153 _Out_opt_ PUINT ErrorLine); 2154 2155 WINSETUPAPI 2156 HINF 2157 WINAPI 2158 SetupOpenInfFileW( 2159 _In_ PCWSTR FileName, 2160 _In_opt_ PCWSTR InfClass, 2161 _In_ DWORD InfStyle, 2162 _Out_opt_ PUINT ErrorLine); 2163 2164 WINSETUPAPI BOOL WINAPI SetupOpenLog(_In_ BOOL); 2165 WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID); 2166 2167 WINSETUPAPI 2168 UINT 2169 WINAPI 2170 SetupPromptForDiskA( 2171 _In_ HWND hwndParent, 2172 _In_opt_ PCSTR DialogTitle, 2173 _In_opt_ PCSTR DiskName, 2174 _In_opt_ PCSTR PathToSource, 2175 _In_ PCSTR FileSought, 2176 _In_opt_ PCSTR TagFile, 2177 _In_ DWORD DiskPromptStyle, 2178 _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, 2179 _In_ DWORD PathBufferSize, 2180 _Out_opt_ PDWORD PathRequiredSize); 2181 2182 WINSETUPAPI 2183 UINT 2184 WINAPI 2185 SetupPromptForDiskW( 2186 _In_ HWND hwndParent, 2187 _In_opt_ PCWSTR DialogTitle, 2188 _In_opt_ PCWSTR DiskName, 2189 _In_opt_ PCWSTR PathToSource, 2190 _In_ PCWSTR FileSought, 2191 _In_opt_ PCWSTR TagFile, 2192 _In_ DWORD DiskPromptStyle, 2193 _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer, 2194 _In_ DWORD PathBufferSize, 2195 _Out_opt_ PDWORD PathRequiredSize); 2196 2197 WINSETUPAPI INT WINAPI SetupPromptReboot(_In_opt_ HSPFILEQ, _In_opt_ HWND, _In_ BOOL); 2198 WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT); 2199 WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT); 2200 2201 WINSETUPAPI 2202 BOOL 2203 WINAPI 2204 SetupQueryDrivesInDiskSpaceListA( 2205 _In_ HDSKSPC DiskSpace, 2206 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2207 _In_ DWORD ReturnBufferSize, 2208 _Out_opt_ PDWORD RequiredSize); 2209 2210 WINSETUPAPI 2211 BOOL 2212 WINAPI 2213 SetupQueryDrivesInDiskSpaceListW( 2214 _In_ HDSKSPC DiskSpace, 2215 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2216 _In_ DWORD ReturnBufferSize, 2217 _Out_opt_ PDWORD RequiredSize); 2218 2219 WINSETUPAPI 2220 BOOL 2221 WINAPI 2222 SetupQueryFileLogA( 2223 _In_ HSPFILELOG FileLogHandle, 2224 _In_opt_ PCSTR LogSectionName, 2225 _In_ PCSTR TargetFilename, 2226 _In_ SetupFileLogInfo DesiredInfo, 2227 _Out_writes_opt_(ReturnBufferSize) PSTR DataOut, 2228 _In_ DWORD ReturnBufferSize, 2229 _Out_opt_ PDWORD RequiredSize); 2230 2231 WINSETUPAPI 2232 BOOL 2233 WINAPI 2234 SetupQueryFileLogW( 2235 _In_ HSPFILELOG FileLogHandle, 2236 _In_opt_ PCWSTR LogSectionName, 2237 _In_ PCWSTR TargetFilename, 2238 _In_ SetupFileLogInfo DesiredInfo, 2239 _Out_writes_opt_(ReturnBufferSize) PWSTR DataOut, 2240 _In_ DWORD ReturnBufferSize, 2241 _Out_opt_ PDWORD RequiredSize); 2242 2243 WINSETUPAPI 2244 BOOL 2245 WINAPI 2246 SetupQueryInfFileInformationA( 2247 _In_ PSP_INF_INFORMATION InfInformation, 2248 _In_ UINT InfIndex, 2249 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2250 _In_ DWORD ReturnBufferSize, 2251 _Out_opt_ PDWORD RequiredSize); 2252 2253 WINSETUPAPI 2254 BOOL 2255 WINAPI 2256 SetupQueryInfFileInformationW( 2257 _In_ PSP_INF_INFORMATION InfInformation, 2258 _In_ UINT InfIndex, 2259 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2260 _In_ DWORD ReturnBufferSize, 2261 _Out_opt_ PDWORD RequiredSize); 2262 2263 WINSETUPAPI 2264 BOOL 2265 WINAPI 2266 SetupQueryInfOriginalFileInformationA( 2267 _In_ PSP_INF_INFORMATION InfInformation, 2268 _In_ UINT InfIndex, 2269 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 2270 _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo); 2271 2272 WINSETUPAPI 2273 BOOL 2274 WINAPI 2275 SetupQueryInfOriginalFileInformationW( 2276 _In_ PSP_INF_INFORMATION InfInformation, 2277 _In_ UINT InfIndex, 2278 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 2279 _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo); 2280 2281 WINSETUPAPI 2282 BOOL 2283 WINAPI 2284 SetupQueryInfVersionInformationA( 2285 _In_ PSP_INF_INFORMATION InfInformation, 2286 _In_ UINT InfIndex, 2287 _In_opt_ PCSTR Key, 2288 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2289 _In_ DWORD ReturnBufferSize, 2290 _Out_opt_ PDWORD RequiredSize); 2291 2292 WINSETUPAPI 2293 BOOL 2294 WINAPI 2295 SetupQueryInfVersionInformationW( 2296 _In_ PSP_INF_INFORMATION InfInformation, 2297 _In_ UINT InfIndex, 2298 _In_opt_ PCWSTR Key, 2299 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2300 _In_ DWORD ReturnBufferSize, 2301 _Out_opt_ PDWORD RequiredSize); 2302 2303 WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(_In_ HDSKSPC, _In_ PCSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2304 WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(_In_ HDSKSPC, _In_ PCWSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2305 WINSETUPAPI BOOL WINAPI SetupQueueCopyA(_In_ HSPFILEQ, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2306 WINSETUPAPI BOOL WINAPI SetupQueueCopyW(_In_ HSPFILEQ, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2307 WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(_In_ PSP_FILE_COPY_PARAMS_A); 2308 WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(_In_ PSP_FILE_COPY_PARAMS_W); 2309 WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(_In_ HSPFILEQ, _In_opt_ PCSTR, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ DWORD); 2310 WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(_In_ HSPFILEQ, _In_opt_ PCWSTR, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ DWORD); 2311 WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2312 WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2313 WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR); 2314 WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR); 2315 WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2316 WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2317 WINSETUPAPI BOOL WINAPI SetupQueueRenameA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR); 2318 WINSETUPAPI BOOL WINAPI SetupQueueRenameW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR); 2319 WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2320 WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2321 WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(_In_ HSPFILELOG, _In_opt_ PCSTR, _In_opt_ PCSTR); 2322 WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(_In_ HSPFILELOG, _In_opt_ PCWSTR, _In_opt_ PCWSTR); 2323 WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2324 WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2325 WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(_In_ DWORD, _In_ PCSTR); 2326 WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(_In_ DWORD, _In_ PCWSTR); 2327 WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 2328 WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 2329 WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2330 WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2331 WINSETUPAPI UINT WINAPI SetupRenameErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 2332 WINSETUPAPI UINT WINAPI SetupRenameErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 2333 WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _Out_ PDWORD); 2334 WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _Out_ PDWORD); 2335 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR); 2336 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR); 2337 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2338 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2339 WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCSTR); 2340 WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCWSTR); 2341 WINSETUPAPI BOOL WINAPI SetupSetNonInteractiveMode(_In_ BOOL); 2342 WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(_In_opt_ PCSTR); 2343 WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(_In_opt_ PCWSTR); 2344 2345 WINSETUPAPI 2346 BOOL 2347 WINAPI 2348 SetupSetSourceListA( 2349 _In_ DWORD Flags, 2350 _In_reads_(SourceCount) PCSTR *SourceList, 2351 _In_ UINT SourceCount); 2352 2353 WINSETUPAPI 2354 BOOL 2355 WINAPI 2356 SetupSetSourceListW( 2357 _In_ DWORD Flags, 2358 _In_reads_(SourceCount) PCWSTR *SourceList, 2359 _In_ UINT SourceCount); 2360 2361 WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(_In_ PVOID); 2362 WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(_In_ HSPFILELOG); 2363 2364 WINSETUPAPI 2365 BOOL 2366 WINAPI 2367 SetupUninstallOEMInfA( 2368 _In_ PCSTR InfFileName, 2369 _In_ DWORD Flags, 2370 _In_ PVOID Reserved); 2371 2372 WINSETUPAPI 2373 BOOL 2374 WINAPI 2375 SetupUninstallOEMInfW( 2376 _In_ PCWSTR InfFileName, 2377 _In_ DWORD Flags, 2378 _In_ PVOID Reserved); 2379 2380 WINSETUPAPI DWORD WINAPI StampFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR); 2381 2382 2383 WINSETUPAPI DWORD WINAPI pSetupCaptureAndConvertAnsiArg(PCSTR, PWSTR*); 2384 WINSETUPAPI VOID WINAPI pSetupCenterWindowRelativeToParent(HWND); 2385 WINSETUPAPI BOOL WINAPI pSetupConcatenatePaths(LPWSTR, LPCWSTR, DWORD, LPDWORD); 2386 WINSETUPAPI PWSTR WINAPI pSetupDuplicateString(PCWSTR); 2387 WINSETUPAPI BOOL WINAPI pSetupEnablePrivilege(PCWSTR, BOOL); 2388 WINSETUPAPI PWSTR WINAPI pSetupGetFileTitle(PCWSTR); 2389 WINSETUPAPI BOOL WINAPI pSetupGetVersionInfoFromImage(LPWSTR, PULARGE_INTEGER, LPWORD); 2390 WINSETUPAPI DWORD WINAPI pSetupGuidFromString(PCWSTR, LPGUID); 2391 WINSETUPAPI BOOL WINAPI pSetupIsGuidNull(LPGUID); 2392 WINSETUPAPI BOOL WINAPI pSetupIsUserAdmin(VOID); 2393 WINSETUPAPI PWSTR WINAPI pSetupMultiByteToUnicode(PCSTR, UINT); 2394 WINSETUPAPI DWORD WINAPI pSetupOpenAndMapForRead(PCWSTR, PDWORD, PHANDLE, PHANDLE, PVOID*); 2395 WINSETUPAPI DWORD WINAPI pSetupStringFromGuid(LPGUID, PWSTR, DWORD); 2396 2397 2398 WINSETUPAPI DWORD WINAPI pSetupStringTableAddString(HSTRING_TABLE, LPWSTR, DWORD); 2399 WINSETUPAPI DWORD WINAPI pSetupStringTableAddStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2400 WINSETUPAPI VOID WINAPI pSetupStringTableDestroy(HSTRING_TABLE); 2401 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableDuplicate(HSTRING_TABLE); 2402 WINSETUPAPI BOOL WINAPI pSetupStringTableGetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2403 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitialize(VOID); 2404 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitializeEx(DWORD, DWORD); 2405 WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpString(HSTRING_TABLE, LPWSTR, DWORD); 2406 WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2407 WINSETUPAPI BOOL WINAPI pSetupStringTableSetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2408 WINSETUPAPI LPWSTR WINAPI pSetupStringTableStringFromId(HSTRING_TABLE, DWORD); 2409 WINSETUPAPI BOOL WINAPI pSetupStringTableStringFromIdEx(HSTRING_TABLE, DWORD, LPWSTR, LPDWORD); 2410 2411 WINSETUPAPI PSTR WINAPI pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage); 2412 WINSETUPAPI BOOL WINAPI pSetupUnmapAndCloseFile(HANDLE, HANDLE, PVOID); 2413 2414 2415 WINSETUPAPI DWORD WINAPI TakeOwnershipOfFile(PCWSTR); 2416 WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage); 2417 2418 2419 /* for backward compatability */ 2420 #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW 2421 #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW 2422 #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW 2423 #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW 2424 #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA 2425 #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA 2426 #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA 2427 #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA 2428 2429 #ifdef UNICODE 2430 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W 2431 #define InstallHinfSection InstallHinfSectionW 2432 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW 2433 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW 2434 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW 2435 #define SetupAddToSourceList SetupAddToSourceListW 2436 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW 2437 #define SetupBackupError SetupBackupErrorW 2438 #define SetupCommitFileQueue SetupCommitFileQueueW 2439 #define SetupCopyError SetupCopyErrorW 2440 #define SetupCopyOEMInf SetupCopyOEMInfW 2441 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW 2442 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW 2443 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW 2444 #define SetupDeleteError SetupDeleteErrorW 2445 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW 2446 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW 2447 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW 2448 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW 2449 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW 2450 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW 2451 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW 2452 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW 2453 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW 2454 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW 2455 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW 2456 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW 2457 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW 2458 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW 2459 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW 2460 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW 2461 #define SetupDiGetClassDescription SetupDiGetClassDescriptionW 2462 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW 2463 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW 2464 #define SetupDiGetClassDevs SetupDiGetClassDevsW 2465 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW 2466 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW 2467 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW 2468 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW 2469 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW 2470 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW 2471 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW 2472 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW 2473 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW 2474 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW 2475 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW 2476 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW 2477 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW 2478 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW 2479 #define SetupDiGetINFClass SetupDiGetINFClassW 2480 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW 2481 #define SetupDiInstallClassEx SetupDiInstallClassExW 2482 #define SetupDiInstallClass SetupDiInstallClassW 2483 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW 2484 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW 2485 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW 2486 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW 2487 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW 2488 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW 2489 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW 2490 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW 2491 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW 2492 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW 2493 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW 2494 #define SetupFindFirstLine SetupFindFirstLineW 2495 #define SetupFindNextMatchLine SetupFindNextMatchLineW 2496 #define SetupFreeSourceList SetupFreeSourceListW 2497 #define SetupGetBackupInformation SetupGetBackupInformationW 2498 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW 2499 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW 2500 #define SetupGetInfFileList SetupGetInfFileListW 2501 #define SetupGetInfInformation SetupGetInfInformationW 2502 #define SetupGetLineByIndex SetupGetLineByIndexW 2503 #define SetupGetLineCount SetupGetLineCountW 2504 #define SetupGetLineText SetupGetLineTextW 2505 #define SetupGetMultiSzField SetupGetMultiSzFieldW 2506 #define SetupGetSourceFileLocation SetupGetSourceFileLocationW 2507 #define SetupGetSourceFileSize SetupGetSourceFileSizeW 2508 #define SetupGetSourceInfo SetupGetSourceInfoW 2509 #define SetupGetStringField SetupGetStringFieldW 2510 #define SetupGetTargetPath SetupGetTargetPathW 2511 #define SetupInitializeFileLog SetupInitializeFileLogW 2512 #define SetupInstallFileEx SetupInstallFileExW 2513 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW 2514 #define SetupInstallFile SetupInstallFileW 2515 #define SetupInstallFromInfSection SetupInstallFromInfSectionW 2516 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW 2517 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW 2518 #define SetupIterateCabinet SetupIterateCabinetW 2519 #define SetupLogError SetupLogErrorW 2520 #define SetupLogFile SetupLogFileW 2521 #define SetupOpenAppendInfFile SetupOpenAppendInfFileW 2522 #define SetupOpenInfFile SetupOpenInfFileW 2523 #define SetupPromptForDisk SetupPromptForDiskW 2524 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW 2525 #define SetupQueryFileLog SetupQueryFileLogW 2526 #define SetupQueryInfFileInformation SetupQueryInfFileInformationW 2527 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW 2528 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW 2529 #define SetupQuerySourceList SetupQuerySourceListW 2530 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW 2531 #define SetupQueueCopyIndirect SetupQueueCopyIndirectW 2532 #define SetupQueueCopySection SetupQueueCopySectionW 2533 #define SetupQueueCopy SetupQueueCopyW 2534 #define SetupQueueDefaultCopy SetupQueueDefaultCopyW 2535 #define SetupQueueDeleteSection SetupQueueDeleteSectionW 2536 #define SetupQueueDelete SetupQueueDeleteW 2537 #define SetupQueueRenameSection SetupQueueRenameSectionW 2538 #define SetupQueueRename SetupQueueRenameW 2539 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW 2540 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW 2541 #define SetupRemoveFromSourceList SetupRemoveFromSourceListW 2542 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW 2543 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW 2544 #define SetupRenameError SetupRenameErrorW 2545 #define SetupScanFileQueue SetupScanFileQueueW 2546 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW 2547 #define SetupSetDirectoryId SetupSetDirectoryIdW 2548 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW 2549 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW 2550 #define SetupSetSourceList SetupSetSourceListW 2551 #define SetupUninstallOEMInf SetupUninstallOEMInfW 2552 #else 2553 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A 2554 #define InstallHinfSection InstallHinfSectionA 2555 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA 2556 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA 2557 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA 2558 #define SetupAddToSourceList SetupAddToSourceListA 2559 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA 2560 #define SetupBackupError SetupBackupErrorA 2561 #define SetupCommitFileQueue SetupCommitFileQueueA 2562 #define SetupCopyError SetupCopyErrorA 2563 #define SetupCopyOEMInf SetupCopyOEMInfA 2564 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA 2565 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA 2566 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA 2567 #define SetupDeleteError SetupDeleteErrorA 2568 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA 2569 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA 2570 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA 2571 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA 2572 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA 2573 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA 2574 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA 2575 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA 2576 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA 2577 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA 2578 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA 2579 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA 2580 #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData 2581 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA 2582 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA 2583 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA 2584 #define SetupDiGetClassDescription SetupDiGetClassDescriptionA 2585 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA 2586 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA 2587 #define SetupDiGetClassDevs SetupDiGetClassDevsA 2588 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA 2589 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA 2590 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA 2591 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA 2592 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA 2593 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA 2594 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA 2595 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA 2596 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA 2597 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA 2598 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA 2599 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA 2600 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA 2601 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA 2602 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA 2603 #define SetupDiGetINFClass SetupDiGetINFClassA 2604 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA 2605 #define SetupDiInstallClass SetupDiInstallClassA 2606 #define SetupDiInstallClassEx SetupDiInstallClassExA 2607 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA 2608 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA 2609 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA 2610 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA 2611 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA 2612 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA 2613 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA 2614 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA 2615 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA 2616 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA 2617 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA 2618 #define SetupFindFirstLine SetupFindFirstLineA 2619 #define SetupFindNextMatchLine SetupFindNextMatchLineA 2620 #define SetupFreeSourceList SetupFreeSourceListA 2621 #define SetupGetBackupInformation SetupGetBackupInformationA 2622 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA 2623 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA 2624 #define SetupGetInfFileList SetupGetInfFileListA 2625 #define SetupGetInfInformation SetupGetInfInformationA 2626 #define SetupGetLineByIndex SetupGetLineByIndexA 2627 #define SetupGetLineCount SetupGetLineCountA 2628 #define SetupGetLineText SetupGetLineTextA 2629 #define SetupGetMultiSzField SetupGetMultiSzFieldA 2630 #define SetupGetSourceFileLocation SetupGetSourceFileLocationA 2631 #define SetupGetSourceFileSize SetupGetSourceFileSizeA 2632 #define SetupGetSourceInfo SetupGetSourceInfoA 2633 #define SetupGetStringField SetupGetStringFieldA 2634 #define SetupGetTargetPath SetupGetTargetPathA 2635 #define SetupInitializeFileLog SetupInitializeFileLogA 2636 #define SetupInstallFile SetupInstallFileA 2637 #define SetupInstallFileEx SetupInstallFileExA 2638 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA 2639 #define SetupInstallFromInfSection SetupInstallFromInfSectionA 2640 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA 2641 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA 2642 #define SetupIterateCabinet SetupIterateCabinetA 2643 #define SetupLogError SetupLogErrorA 2644 #define SetupLogFile SetupLogFileA 2645 #define SetupOpenAppendInfFile SetupOpenAppendInfFileA 2646 #define SetupOpenInfFile SetupOpenInfFileA 2647 #define SetupPromptForDisk SetupPromptForDiskA 2648 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA 2649 #define SetupQueryFileLog SetupQueryFileLogA 2650 #define SetupQueryInfFileInformation SetupQueryInfFileInformationA 2651 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA 2652 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA 2653 #define SetupQuerySourceList SetupQuerySourceListA 2654 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA 2655 #define SetupQueueCopy SetupQueueCopyA 2656 #define SetupQueueCopyIndirect SetupQueueCopyIndirectA 2657 #define SetupQueueCopySection SetupQueueCopySectionA 2658 #define SetupQueueDefaultCopy SetupQueueDefaultCopyA 2659 #define SetupQueueDelete SetupQueueDeleteA 2660 #define SetupQueueDeleteSection SetupQueueDeleteSectionA 2661 #define SetupQueueRename SetupQueueRenameA 2662 #define SetupQueueRenameSection SetupQueueRenameSectionA 2663 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA 2664 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA 2665 #define SetupRemoveFromSourceList SetupRemoveFromSourceListA 2666 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA 2667 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA 2668 #define SetupRenameError SetupRenameErrorA 2669 #define SetupScanFileQueue SetupScanFileQueueA 2670 #define SetupSetDirectoryId SetupSetDirectoryIdA 2671 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA 2672 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA 2673 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA 2674 #define SetupSetSourceList SetupSetSourceListA 2675 #define SetupUninstallOEMInf SetupUninstallOEMInfA 2676 #endif /* UNICODE */ 2677 2678 #endif /* RC_INVOKED */ 2679 2680 #ifdef __cplusplus 2681 } 2682 #endif 2683 2684 #include <poppack.h> 2685 #endif /* _SETUPAPI_H_ */ 2686 2687