1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_SETUPAPI 7 #define _INC_SETUPAPI 8 9 #include <_mingw_unicode.h> 10 11 #ifndef _SETUPAPI_ 12 #define WINSETUPAPI DECLSPEC_IMPORT 13 #else 14 #define WINSETUPAPI 15 #endif 16 17 #ifndef _SETUPAPI_VER 18 #define _SETUPAPI_VER 0x0502 19 #endif 20 21 #ifndef __LPGUID_DEFINED__ 22 #define __LPGUID_DEFINED__ 23 typedef GUID *LPGUID; 24 #endif 25 26 #include <commctrl.h> 27 #include <oledlg.h> 28 29 #ifdef _WIN64 30 #include <pshpack8.h> 31 #else 32 #include <pshpack1.h> 33 #endif 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 #define LINE_LEN 256 40 41 #define MAX_INF_STRING_LENGTH 4096 42 #define MAX_INF_SECTION_NAME_LENGTH 255 43 #define MAX_TITLE_LEN 60 44 #define MAX_INSTRUCTION_LEN 256 45 #define MAX_LABEL_LEN 30 46 #define MAX_SERVICE_NAME_LEN 256 47 #define MAX_SUBTITLE_LEN 256 48 49 #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3) 50 51 typedef PVOID HINF; 52 53 typedef struct _INFCONTEXT { 54 PVOID Inf; 55 PVOID CurrentInf; 56 UINT Section; 57 UINT Line; 58 } INFCONTEXT,*PINFCONTEXT; 59 60 typedef struct _SP_INF_INFORMATION { 61 DWORD InfStyle; 62 DWORD InfCount; 63 BYTE VersionData[ANYSIZE_ARRAY]; 64 } SP_INF_INFORMATION,*PSP_INF_INFORMATION; 65 66 typedef struct _SP_ALTPLATFORM_INFO_V2 { 67 DWORD cbSize; 68 DWORD Platform; 69 DWORD MajorVersion; 70 DWORD MinorVersion; 71 WORD ProcessorArchitecture; 72 __C89_NAMELESS union { 73 WORD Reserved; 74 WORD Flags; 75 }; 76 DWORD FirstValidatedMajorVersion; 77 DWORD FirstValidatedMinorVersion; 78 } SP_ALTPLATFORM_INFO_V2,*PSP_ALTPLATFORM_INFO_V2; 79 80 typedef struct _SP_ALTPLATFORM_INFO_V1 { 81 DWORD cbSize; 82 DWORD Platform; 83 DWORD MajorVersion; 84 DWORD MinorVersion; 85 WORD ProcessorArchitecture; 86 WORD Reserved; 87 } SP_ALTPLATFORM_INFO_V1,*PSP_ALTPLATFORM_INFO_V1; 88 89 #if USE_SP_ALTPLATFORM_INFO_V1 90 91 typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; 92 typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; 93 #else 94 95 typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO; 96 typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO; 97 98 #define SP_ALTPLATFORM_FLAGS_VERSION_RANGE (0x0001) 99 #endif 100 101 typedef struct _SP_ORIGINAL_FILE_INFO_A { 102 DWORD cbSize; 103 CHAR OriginalInfName[MAX_PATH]; 104 CHAR OriginalCatalogName[MAX_PATH]; 105 } SP_ORIGINAL_FILE_INFO_A,*PSP_ORIGINAL_FILE_INFO_A; 106 107 typedef struct _SP_ORIGINAL_FILE_INFO_W { 108 DWORD cbSize; 109 WCHAR OriginalInfName[MAX_PATH]; 110 WCHAR OriginalCatalogName[MAX_PATH]; 111 } SP_ORIGINAL_FILE_INFO_W,*PSP_ORIGINAL_FILE_INFO_W; 112 113 __MINGW_TYPEDEF_UAW(SP_ORIGINAL_FILE_INFO) 114 __MINGW_TYPEDEF_UAW(PSP_ORIGINAL_FILE_INFO) 115 116 #define INF_STYLE_NONE 0x00000000 117 #define INF_STYLE_OLDNT 0x00000001 118 #define INF_STYLE_WIN4 0x00000002 119 120 #define INF_STYLE_CACHE_ENABLE 0x00000010 121 #define INF_STYLE_CACHE_DISABLE 0x00000020 122 #define INF_STYLE_CACHE_IGNORE 0x00000040 123 124 #define DIRID_ABSOLUTE -1 125 #define DIRID_ABSOLUTE_16BIT 0xffff 126 #define DIRID_NULL 0 127 #define DIRID_SRCPATH 1 128 #define DIRID_WINDOWS 10 129 #define DIRID_SYSTEM 11 130 #define DIRID_DRIVERS 12 131 #define DIRID_IOSUBSYS DIRID_DRIVERS 132 #define DIRID_INF 17 133 #define DIRID_HELP 18 134 #define DIRID_FONTS 20 135 #define DIRID_VIEWERS 21 136 #define DIRID_COLOR 23 137 #define DIRID_APPS 24 138 #define DIRID_SHARED 25 139 #define DIRID_BOOT 30 140 141 #define DIRID_SYSTEM16 50 142 #define DIRID_SPOOL 51 143 #define DIRID_SPOOLDRIVERS 52 144 #define DIRID_USERPROFILE 53 145 #define DIRID_LOADER 54 146 #define DIRID_PRINTPROCESSOR 55 147 148 #define DIRID_DEFAULT DIRID_SYSTEM 149 150 #define DIRID_COMMON_STARTMENU 16406 151 #define DIRID_COMMON_PROGRAMS 16407 152 #define DIRID_COMMON_STARTUP 16408 153 #define DIRID_COMMON_DESKTOPDIRECTORY 16409 154 #define DIRID_COMMON_FAVORITES 16415 155 #define DIRID_COMMON_APPDATA 16419 156 157 #define DIRID_PROGRAM_FILES 16422 158 #define DIRID_SYSTEM_X86 16425 159 #define DIRID_PROGRAM_FILES_X86 16426 160 #define DIRID_PROGRAM_FILES_COMMON 16427 161 #define DIRID_PROGRAM_FILES_COMMONX86 16428 162 163 #define DIRID_COMMON_TEMPLATES 16429 164 #define DIRID_COMMON_DOCUMENTS 16430 165 166 #define DIRID_USER 0x8000 167 168 typedef UINT (CALLBACK *PSP_FILE_CALLBACK_A)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2); 169 typedef UINT (CALLBACK *PSP_FILE_CALLBACK_W)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2); 170 171 #define PSP_FILE_CALLBACK __MINGW_NAME_UAW(PSP_FILE_CALLBACK) 172 173 #define SPFILENOTIFY_STARTQUEUE 0x00000001 174 #define SPFILENOTIFY_ENDQUEUE 0x00000002 175 #define SPFILENOTIFY_STARTSUBQUEUE 0x00000003 176 #define SPFILENOTIFY_ENDSUBQUEUE 0x00000004 177 #define SPFILENOTIFY_STARTDELETE 0x00000005 178 #define SPFILENOTIFY_ENDDELETE 0x00000006 179 #define SPFILENOTIFY_DELETEERROR 0x00000007 180 #define SPFILENOTIFY_STARTRENAME 0x00000008 181 #define SPFILENOTIFY_ENDRENAME 0x00000009 182 #define SPFILENOTIFY_RENAMEERROR 0x0000000a 183 #define SPFILENOTIFY_STARTCOPY 0x0000000b 184 #define SPFILENOTIFY_ENDCOPY 0x0000000c 185 #define SPFILENOTIFY_COPYERROR 0x0000000d 186 #define SPFILENOTIFY_NEEDMEDIA 0x0000000e 187 #define SPFILENOTIFY_QUEUESCAN 0x0000000f 188 189 #define SPFILENOTIFY_CABINETINFO 0x00000010 190 #define SPFILENOTIFY_FILEINCABINET 0x00000011 191 #define SPFILENOTIFY_NEEDNEWCABINET 0x00000012 192 #define SPFILENOTIFY_FILEEXTRACTED 0x00000013 193 #define SPFILENOTIFY_FILEOPDELAYED 0x00000014 194 195 #define SPFILENOTIFY_STARTBACKUP 0x00000015 196 #define SPFILENOTIFY_BACKUPERROR 0x00000016 197 #define SPFILENOTIFY_ENDBACKUP 0x00000017 198 199 #define SPFILENOTIFY_QUEUESCAN_EX 0x00000018 200 201 #define SPFILENOTIFY_STARTREGISTRATION 0x00000019 202 #define SPFILENOTIFY_ENDREGISTRATION 0x00000020 203 #define SPFILENOTIFY_QUEUESCAN_SIGNERINFO 0x00000040 204 205 #define SPFILENOTIFY_LANGMISMATCH 0x00010000 206 #define SPFILENOTIFY_TARGETEXISTS 0x00020000 207 #define SPFILENOTIFY_TARGETNEWER 0x00040000 208 209 #define FILEOP_COPY 0 210 #define FILEOP_RENAME 1 211 #define FILEOP_DELETE 2 212 #define FILEOP_BACKUP 3 213 214 #define FILEOP_ABORT 0 215 #define FILEOP_DOIT 1 216 #define FILEOP_SKIP 2 217 #define FILEOP_RETRY FILEOP_DOIT 218 #define FILEOP_NEWPATH 4 219 220 #define COPYFLG_WARN_IF_SKIP 0x00000001 221 #define COPYFLG_NOSKIP 0x00000002 222 #define COPYFLG_NOVERSIONCHECK 0x00000004 223 #define COPYFLG_FORCE_FILE_IN_USE 0x00000008 224 #define COPYFLG_NO_OVERWRITE 0x00000010 225 #define COPYFLG_NO_VERSION_DIALOG 0x00000020 226 #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040 227 #define COPYFLG_REPLACEONLY 0x00000400 228 #define COPYFLG_NODECOMP 0x00000800 229 #define COPYFLG_REPLACE_BOOT_FILE 0x00001000 230 231 #define COPYFLG_NOPRUNE 0x00002000 232 233 #define DELFLG_IN_USE 0x00000001 234 #define DELFLG_IN_USE1 0x00010000 235 236 typedef struct _FILEPATHS_A { 237 PCSTR Target; 238 PCSTR Source; 239 UINT Win32Error; 240 DWORD Flags; 241 } FILEPATHS_A,*PFILEPATHS_A; 242 243 typedef struct _FILEPATHS_W { 244 PCWSTR Target; 245 PCWSTR Source; 246 UINT Win32Error; 247 DWORD Flags; 248 } FILEPATHS_W,*PFILEPATHS_W; 249 250 __MINGW_TYPEDEF_UAW(FILEPATHS) 251 __MINGW_TYPEDEF_UAW(PFILEPATHS) 252 253 typedef struct _FILEPATHS_SIGNERINFO_A { 254 PCSTR Target; 255 PCSTR Source; 256 UINT Win32Error; 257 DWORD Flags; 258 PCSTR DigitalSigner; 259 PCSTR Version; 260 PCSTR CatalogFile; 261 } FILEPATHS_SIGNERINFO_A,*PFILEPATHS_SIGNERINFO_A; 262 263 typedef struct _FILEPATHS_SIGNERINFO_W { 264 PCWSTR Target; 265 PCWSTR Source; 266 UINT Win32Error; 267 DWORD Flags; 268 PCWSTR DigitalSigner; 269 PCWSTR Version; 270 PCWSTR CatalogFile; 271 } FILEPATHS_SIGNERINFO_W,*PFILEPATHS_SIGNERINFO_W; 272 273 __MINGW_TYPEDEF_UAW(FILEPATHS_SIGNERINFO) 274 __MINGW_TYPEDEF_UAW(PFILEPATHS_SIGNERINFO) 275 276 typedef struct _SOURCE_MEDIA_A { 277 PCSTR Reserved; 278 PCSTR Tagfile; 279 PCSTR Description; 280 PCSTR SourcePath; 281 PCSTR SourceFile; 282 DWORD Flags; 283 } SOURCE_MEDIA_A,*PSOURCE_MEDIA_A; 284 285 typedef struct _SOURCE_MEDIA_W { 286 PCWSTR Reserved; 287 PCWSTR Tagfile; 288 PCWSTR Description; 289 PCWSTR SourcePath; 290 PCWSTR SourceFile; 291 DWORD Flags; 292 } SOURCE_MEDIA_W,*PSOURCE_MEDIA_W; 293 294 __MINGW_TYPEDEF_UAW(SOURCE_MEDIA) 295 __MINGW_TYPEDEF_UAW(PSOURCE_MEDIA) 296 297 typedef struct _CABINET_INFO_A { 298 PCSTR CabinetPath; 299 PCSTR CabinetFile; 300 PCSTR DiskName; 301 USHORT SetId; 302 USHORT CabinetNumber; 303 } CABINET_INFO_A,*PCABINET_INFO_A; 304 305 typedef struct _CABINET_INFO_W { 306 PCWSTR CabinetPath; 307 PCWSTR CabinetFile; 308 PCWSTR DiskName; 309 USHORT SetId; 310 USHORT CabinetNumber; 311 } CABINET_INFO_W,*PCABINET_INFO_W; 312 313 __MINGW_TYPEDEF_UAW(CABINET_INFO) 314 __MINGW_TYPEDEF_UAW(PCABINET_INFO) 315 316 typedef struct _FILE_IN_CABINET_INFO_A { 317 PCSTR NameInCabinet; 318 DWORD FileSize; 319 DWORD Win32Error; 320 WORD DosDate; 321 WORD DosTime; 322 WORD DosAttribs; 323 CHAR FullTargetName[MAX_PATH]; 324 } FILE_IN_CABINET_INFO_A,*PFILE_IN_CABINET_INFO_A; 325 326 typedef struct _FILE_IN_CABINET_INFO_W { 327 PCWSTR NameInCabinet; 328 DWORD FileSize; 329 DWORD Win32Error; 330 WORD DosDate; 331 WORD DosTime; 332 WORD DosAttribs; 333 WCHAR FullTargetName[MAX_PATH]; 334 } FILE_IN_CABINET_INFO_W,*PFILE_IN_CABINET_INFO_W; 335 336 __MINGW_TYPEDEF_UAW(FILE_IN_CABINET_INFO) 337 __MINGW_TYPEDEF_UAW(PFILE_IN_CABINET_INFO) 338 339 typedef struct _SP_REGISTER_CONTROL_STATUSA { 340 DWORD cbSize; 341 PCSTR FileName; 342 DWORD Win32Error; 343 DWORD FailureCode; 344 } SP_REGISTER_CONTROL_STATUSA,*PSP_REGISTER_CONTROL_STATUSA; 345 346 typedef struct _SP_REGISTER_CONTROL_STATUSW { 347 DWORD cbSize; 348 PCWSTR FileName; 349 DWORD Win32Error; 350 DWORD FailureCode; 351 } SP_REGISTER_CONTROL_STATUSW,*PSP_REGISTER_CONTROL_STATUSW; 352 353 __MINGW_TYPEDEF_AW(SP_REGISTER_CONTROL_STATUS) 354 __MINGW_TYPEDEF_AW(PSP_REGISTER_CONTROL_STATUS) 355 356 #define SPREG_SUCCESS 0x00000000 357 #define SPREG_LOADLIBRARY 0x00000001 358 #define SPREG_GETPROCADDR 0x00000002 359 #define SPREG_REGSVR 0x00000003 360 #define SPREG_DLLINSTALL 0x00000004 361 #define SPREG_TIMEOUT 0x00000005 362 #define SPREG_UNKNOWN 0xFFFFFFFF 363 364 typedef PVOID HSPFILEQ; 365 366 typedef struct _SP_FILE_COPY_PARAMS_A { 367 DWORD cbSize; 368 HSPFILEQ QueueHandle; 369 PCSTR SourceRootPath; 370 PCSTR SourcePath; 371 PCSTR SourceFilename; 372 PCSTR SourceDescription; 373 PCSTR SourceTagfile; 374 PCSTR TargetDirectory; 375 PCSTR TargetFilename; 376 DWORD CopyStyle; 377 HINF LayoutInf; 378 PCSTR SecurityDescriptor; 379 } SP_FILE_COPY_PARAMS_A,*PSP_FILE_COPY_PARAMS_A; 380 381 typedef struct _SP_FILE_COPY_PARAMS_W { 382 DWORD cbSize; 383 HSPFILEQ QueueHandle; 384 PCWSTR SourceRootPath; 385 PCWSTR SourcePath; 386 PCWSTR SourceFilename; 387 PCWSTR SourceDescription; 388 PCWSTR SourceTagfile; 389 PCWSTR TargetDirectory; 390 PCWSTR TargetFilename; 391 DWORD CopyStyle; 392 HINF LayoutInf; 393 PCWSTR SecurityDescriptor; 394 } SP_FILE_COPY_PARAMS_W,*PSP_FILE_COPY_PARAMS_W; 395 396 __MINGW_TYPEDEF_UAW(SP_FILE_COPY_PARAMS) 397 __MINGW_TYPEDEF_UAW(PSP_FILE_COPY_PARAMS) 398 399 typedef PVOID HDSKSPC; 400 typedef PVOID HDEVINFO; 401 402 typedef struct _SP_DEVINFO_DATA { 403 DWORD cbSize; 404 GUID ClassGuid; 405 DWORD DevInst; 406 ULONG_PTR Reserved; 407 } SP_DEVINFO_DATA,*PSP_DEVINFO_DATA; 408 409 typedef struct _SP_DEVICE_INTERFACE_DATA { 410 DWORD cbSize; 411 GUID InterfaceClassGuid; 412 DWORD Flags; 413 ULONG_PTR Reserved; 414 } SP_DEVICE_INTERFACE_DATA,*PSP_DEVICE_INTERFACE_DATA; 415 416 #define SPINT_ACTIVE 0x00000001 417 #define SPINT_DEFAULT 0x00000002 418 #define SPINT_REMOVED 0x00000004 419 420 typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; 421 typedef PSP_DEVICE_INTERFACE_DATA PSP_INTERFACE_DEVICE_DATA; 422 #define SPID_ACTIVE SPINT_ACTIVE 423 #define SPID_DEFAULT SPINT_DEFAULT 424 #define SPID_REMOVED SPINT_REMOVED 425 426 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A { 427 DWORD cbSize; 428 CHAR DevicePath[ANYSIZE_ARRAY]; 429 } SP_DEVICE_INTERFACE_DETAIL_DATA_A,*PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 430 431 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W { 432 DWORD cbSize; 433 WCHAR DevicePath[ANYSIZE_ARRAY]; 434 } SP_DEVICE_INTERFACE_DETAIL_DATA_W,*PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 435 436 __MINGW_TYPEDEF_UAW(SP_DEVICE_INTERFACE_DETAIL_DATA) 437 __MINGW_TYPEDEF_UAW(PSP_DEVICE_INTERFACE_DETAIL_DATA) 438 439 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W; 440 typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_W PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 441 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A; 442 typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_A PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 443 444 __MINGW_TYPEDEF_UAW(SP_INTERFACE_DEVICE_DETAIL_DATA) 445 __MINGW_TYPEDEF_UAW(PSP_INTERFACE_DEVICE_DETAIL_DATA) 446 447 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A { 448 DWORD cbSize; 449 GUID ClassGuid; 450 HANDLE RemoteMachineHandle; 451 CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 452 } SP_DEVINFO_LIST_DETAIL_DATA_A,*PSP_DEVINFO_LIST_DETAIL_DATA_A; 453 454 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W { 455 DWORD cbSize; 456 GUID ClassGuid; 457 HANDLE RemoteMachineHandle; 458 WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 459 } SP_DEVINFO_LIST_DETAIL_DATA_W,*PSP_DEVINFO_LIST_DETAIL_DATA_W; 460 461 __MINGW_TYPEDEF_UAW(SP_DEVINFO_LIST_DETAIL_DATA) 462 __MINGW_TYPEDEF_UAW(PSP_DEVINFO_LIST_DETAIL_DATA) 463 464 #define DIF_SELECTDEVICE 0x00000001 465 #define DIF_INSTALLDEVICE 0x00000002 466 #define DIF_ASSIGNRESOURCES 0x00000003 467 #define DIF_PROPERTIES 0x00000004 468 #define DIF_REMOVE 0x00000005 469 #define DIF_FIRSTTIMESETUP 0x00000006 470 #define DIF_FOUNDDEVICE 0x00000007 471 #define DIF_SELECTCLASSDRIVERS 0x00000008 472 #define DIF_VALIDATECLASSDRIVERS 0x00000009 473 #define DIF_INSTALLCLASSDRIVERS 0x0000000A 474 #define DIF_CALCDISKSPACE 0x0000000B 475 #define DIF_DESTROYPRIVATEDATA 0x0000000C 476 #define DIF_VALIDATEDRIVER 0x0000000D 477 #define DIF_DETECT 0x0000000F 478 #define DIF_INSTALLWIZARD 0x00000010 479 #define DIF_DESTROYWIZARDDATA 0x00000011 480 #define DIF_PROPERTYCHANGE 0x00000012 481 #define DIF_ENABLECLASS 0x00000013 482 #define DIF_DETECTVERIFY 0x00000014 483 #define DIF_INSTALLDEVICEFILES 0x00000015 484 #define DIF_UNREMOVE 0x00000016 485 #define DIF_SELECTBESTCOMPATDRV 0x00000017 486 #define DIF_ALLOW_INSTALL 0x00000018 487 #define DIF_REGISTERDEVICE 0x00000019 488 #define DIF_NEWDEVICEWIZARD_PRESELECT 0x0000001A 489 #define DIF_NEWDEVICEWIZARD_SELECT 0x0000001B 490 #define DIF_NEWDEVICEWIZARD_PREANALYZE 0x0000001C 491 #define DIF_NEWDEVICEWIZARD_POSTANALYZE 0x0000001D 492 #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 0x0000001E 493 #define DIF_UNUSED1 0x0000001F 494 #define DIF_INSTALLINTERFACES 0x00000020 495 #define DIF_DETECTCANCEL 0x00000021 496 #define DIF_REGISTER_COINSTALLERS 0x00000022 497 #define DIF_ADDPROPERTYPAGE_ADVANCED 0x00000023 498 #define DIF_ADDPROPERTYPAGE_BASIC 0x00000024 499 #define DIF_RESERVED1 0x00000025 500 #define DIF_TROUBLESHOOTER 0x00000026 501 #define DIF_POWERMESSAGEWAKE 0x00000027 502 #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 0x00000028 503 #define DIF_UPDATEDRIVER_UI 0x00000029 504 #define DIF_RESERVED2 0x00000030 505 506 #define DIF_MOVEDEVICE 0x0000000E 507 508 typedef UINT DI_FUNCTION; 509 510 typedef struct _SP_DEVINSTALL_PARAMS_A { 511 DWORD cbSize; 512 DWORD Flags; 513 DWORD FlagsEx; 514 HWND hwndParent; 515 PSP_FILE_CALLBACK InstallMsgHandler; 516 PVOID InstallMsgHandlerContext; 517 HSPFILEQ FileQueue; 518 ULONG_PTR ClassInstallReserved; 519 DWORD Reserved; 520 CHAR DriverPath[MAX_PATH]; 521 } SP_DEVINSTALL_PARAMS_A,*PSP_DEVINSTALL_PARAMS_A; 522 523 typedef struct _SP_DEVINSTALL_PARAMS_W { 524 DWORD cbSize; 525 DWORD Flags; 526 DWORD FlagsEx; 527 HWND hwndParent; 528 PSP_FILE_CALLBACK InstallMsgHandler; 529 PVOID InstallMsgHandlerContext; 530 HSPFILEQ FileQueue; 531 ULONG_PTR ClassInstallReserved; 532 DWORD Reserved; 533 WCHAR DriverPath[MAX_PATH]; 534 } SP_DEVINSTALL_PARAMS_W,*PSP_DEVINSTALL_PARAMS_W; 535 536 __MINGW_TYPEDEF_UAW(SP_DEVINSTALL_PARAMS) 537 __MINGW_TYPEDEF_UAW(PSP_DEVINSTALL_PARAMS) 538 539 #define DI_SHOWOEM __MSABI_LONG(0x00000001) 540 #define DI_SHOWCOMPAT __MSABI_LONG(0x00000002) 541 #define DI_SHOWCLASS __MSABI_LONG(0x00000004) 542 #define DI_SHOWALL __MSABI_LONG(0x00000007) 543 #define DI_NOVCP __MSABI_LONG(0x00000008) 544 #define DI_DIDCOMPAT __MSABI_LONG(0x00000010) 545 #define DI_DIDCLASS __MSABI_LONG(0x00000020) 546 #define DI_AUTOASSIGNRES __MSABI_LONG(0x00000040) 547 #define DI_NEEDRESTART __MSABI_LONG(0x00000080) 548 #define DI_NEEDREBOOT __MSABI_LONG(0x00000100) 549 #define DI_NOBROWSE __MSABI_LONG(0x00000200) 550 #define DI_MULTMFGS __MSABI_LONG(0x00000400) 551 #define DI_DISABLED __MSABI_LONG(0x00000800) 552 #define DI_GENERALPAGE_ADDED __MSABI_LONG(0x00001000) 553 #define DI_RESOURCEPAGE_ADDED __MSABI_LONG(0x00002000) 554 #define DI_PROPERTIES_CHANGE __MSABI_LONG(0x00004000) 555 #define DI_INF_IS_SORTED __MSABI_LONG(0x00008000) 556 #define DI_ENUMSINGLEINF __MSABI_LONG(0x00010000) 557 #define DI_DONOTCALLCONFIGMG __MSABI_LONG(0x00020000) 558 #define DI_INSTALLDISABLED __MSABI_LONG(0x00040000) 559 #define DI_COMPAT_FROM_CLASS __MSABI_LONG(0x00080000) 560 #define DI_CLASSINSTALLPARAMS __MSABI_LONG(0x00100000) 561 #define DI_NODI_DEFAULTACTION __MSABI_LONG(0x00200000) 562 #define DI_QUIETINSTALL __MSABI_LONG(0x00800000) 563 #define DI_NOFILECOPY __MSABI_LONG(0x01000000) 564 #define DI_FORCECOPY __MSABI_LONG(0x02000000) 565 #define DI_DRIVERPAGE_ADDED __MSABI_LONG(0x04000000) 566 #define DI_USECI_SELECTSTRINGS __MSABI_LONG(0x08000000) 567 #define DI_OVERRIDE_INFFLAGS __MSABI_LONG(0x10000000) 568 #define DI_PROPS_NOCHANGEUSAGE __MSABI_LONG(0x20000000) 569 #define DI_NOSELECTICONS __MSABI_LONG(0x40000000) 570 #define DI_NOWRITE_IDS __MSABI_LONG(0x80000000) 571 #define DI_FLAGSEX_USEOLDINFSEARCH __MSABI_LONG(0x00000001) 572 #define DI_FLAGSEX_RESERVED2 __MSABI_LONG(0x00000002) 573 #define DI_FLAGSEX_CI_FAILED __MSABI_LONG(0x00000004) 574 #define DI_FLAGSEX_DIDINFOLIST __MSABI_LONG(0x00000010) 575 #define DI_FLAGSEX_DIDCOMPATINFO __MSABI_LONG(0x00000020) 576 #define DI_FLAGSEX_FILTERCLASSES __MSABI_LONG(0x00000040) 577 #define DI_FLAGSEX_SETFAILEDINSTALL __MSABI_LONG(0x00000080) 578 #define DI_FLAGSEX_DEVICECHANGE __MSABI_LONG(0x00000100) 579 #define DI_FLAGSEX_ALWAYSWRITEIDS __MSABI_LONG(0x00000200) 580 #define DI_FLAGSEX_PROPCHANGE_PENDING __MSABI_LONG(0x00000400) 581 #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS __MSABI_LONG(0x00000800) 582 #define DI_FLAGSEX_NOUIONQUERYREMOVE __MSABI_LONG(0x00001000) 583 #define DI_FLAGSEX_USECLASSFORCOMPAT __MSABI_LONG(0x00002000) 584 #define DI_FLAGSEX_RESERVED3 __MSABI_LONG(0x00004000) 585 #define DI_FLAGSEX_NO_DRVREG_MODIFY __MSABI_LONG(0x00008000) 586 #define DI_FLAGSEX_IN_SYSTEM_SETUP __MSABI_LONG(0x00010000) 587 #define DI_FLAGSEX_INET_DRIVER __MSABI_LONG(0x00020000) 588 #define DI_FLAGSEX_APPENDDRIVERLIST __MSABI_LONG(0x00040000) 589 #define DI_FLAGSEX_PREINSTALLBACKUP __MSABI_LONG(0x00080000) 590 #define DI_FLAGSEX_BACKUPONREPLACE __MSABI_LONG(0x00100000) 591 #define DI_FLAGSEX_DRIVERLIST_FROM_URL __MSABI_LONG(0x00200000) 592 #define DI_FLAGSEX_RESERVED1 __MSABI_LONG(0x00400000) 593 #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS __MSABI_LONG(0x00800000) 594 #define DI_FLAGSEX_POWERPAGE_ADDED __MSABI_LONG(0x01000000) 595 #define DI_FLAGSEX_FILTERSIMILARDRIVERS __MSABI_LONG(0x02000000) 596 #define DI_FLAGSEX_INSTALLEDDRIVER __MSABI_LONG(0x04000000) 597 #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE __MSABI_LONG(0x08000000) 598 #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH __MSABI_LONG(0x10000000) 599 #define DI_FLAGSEX_RESTART_DEVICE_ONLY __MSABI_LONG(0x20000000) 600 601 typedef struct _SP_CLASSINSTALL_HEADER { 602 DWORD cbSize; 603 DI_FUNCTION InstallFunction; 604 } SP_CLASSINSTALL_HEADER,*PSP_CLASSINSTALL_HEADER; 605 606 typedef struct _SP_ENABLECLASS_PARAMS { 607 SP_CLASSINSTALL_HEADER ClassInstallHeader; 608 GUID ClassGuid; 609 DWORD EnableMessage; 610 } SP_ENABLECLASS_PARAMS,*PSP_ENABLECLASS_PARAMS; 611 612 #define ENABLECLASS_QUERY 0 613 #define ENABLECLASS_SUCCESS 1 614 #define ENABLECLASS_FAILURE 2 615 616 #define DICS_ENABLE 0x00000001 617 #define DICS_DISABLE 0x00000002 618 #define DICS_PROPCHANGE 0x00000003 619 #define DICS_START 0x00000004 620 #define DICS_STOP 0x00000005 621 622 #define DICS_FLAG_GLOBAL 0x00000001 623 #define DICS_FLAG_CONFIGSPECIFIC 0x00000002 624 #define DICS_FLAG_CONFIGGENERAL 0x00000004 625 626 typedef struct _SP_PROPCHANGE_PARAMS { 627 SP_CLASSINSTALL_HEADER ClassInstallHeader; 628 DWORD StateChange; 629 DWORD Scope; 630 DWORD HwProfile; 631 } SP_PROPCHANGE_PARAMS,*PSP_PROPCHANGE_PARAMS; 632 633 typedef struct _SP_REMOVEDEVICE_PARAMS { 634 SP_CLASSINSTALL_HEADER ClassInstallHeader; 635 DWORD Scope; 636 DWORD HwProfile; 637 } SP_REMOVEDEVICE_PARAMS,*PSP_REMOVEDEVICE_PARAMS; 638 639 #define DI_REMOVEDEVICE_GLOBAL 0x00000001 640 #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002 641 642 typedef struct _SP_UNREMOVEDEVICE_PARAMS { 643 SP_CLASSINSTALL_HEADER ClassInstallHeader; 644 DWORD Scope; 645 DWORD HwProfile; 646 } SP_UNREMOVEDEVICE_PARAMS,*PSP_UNREMOVEDEVICE_PARAMS; 647 648 #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002 649 650 typedef struct _SP_SELECTDEVICE_PARAMS_A { 651 SP_CLASSINSTALL_HEADER ClassInstallHeader; 652 CHAR Title[MAX_TITLE_LEN]; 653 CHAR Instructions[MAX_INSTRUCTION_LEN]; 654 CHAR ListLabel[MAX_LABEL_LEN]; 655 CHAR SubTitle[MAX_SUBTITLE_LEN]; 656 BYTE Reserved[2]; 657 } SP_SELECTDEVICE_PARAMS_A,*PSP_SELECTDEVICE_PARAMS_A; 658 659 typedef struct _SP_SELECTDEVICE_PARAMS_W { 660 SP_CLASSINSTALL_HEADER ClassInstallHeader; 661 WCHAR Title[MAX_TITLE_LEN]; 662 WCHAR Instructions[MAX_INSTRUCTION_LEN]; 663 WCHAR ListLabel[MAX_LABEL_LEN]; 664 WCHAR SubTitle[MAX_SUBTITLE_LEN]; 665 } SP_SELECTDEVICE_PARAMS_W,*PSP_SELECTDEVICE_PARAMS_W; 666 667 __MINGW_TYPEDEF_UAW(SP_SELECTDEVICE_PARAMS) 668 __MINGW_TYPEDEF_UAW(PSP_SELECTDEVICE_PARAMS) 669 670 typedef WINBOOL (CALLBACK *PDETECT_PROGRESS_NOTIFY)(PVOID ProgressNotifyParam,DWORD DetectComplete); 671 672 typedef struct _SP_DETECTDEVICE_PARAMS { 673 SP_CLASSINSTALL_HEADER ClassInstallHeader; 674 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 675 PVOID ProgressNotifyParam; 676 } SP_DETECTDEVICE_PARAMS,*PSP_DETECTDEVICE_PARAMS; 677 678 #define MAX_INSTALLWIZARD_DYNAPAGES 20 679 680 typedef struct _SP_INSTALLWIZARD_DATA { 681 SP_CLASSINSTALL_HEADER ClassInstallHeader; 682 DWORD Flags; 683 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 684 DWORD NumDynamicPages; 685 DWORD DynamicPageFlags; 686 DWORD PrivateFlags; 687 LPARAM PrivateData; 688 HWND hwndWizardDlg; 689 } SP_INSTALLWIZARD_DATA,*PSP_INSTALLWIZARD_DATA; 690 691 #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001 692 #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002 693 #define NDW_INSTALLFLAG_NEEDRESTART DI_NEEDRESTART 694 #define NDW_INSTALLFLAG_NEEDREBOOT DI_NEEDREBOOT 695 #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200 696 #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400 697 #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800 698 #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000 699 #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000 700 #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000 701 #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000 702 #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000 703 #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000 704 #define NDW_INSTALLFLAG_USERCANCEL 0x00040000 705 #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000 706 707 #define DYNAWIZ_FLAG_PAGESADDED 0x00000001 708 #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008 709 #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002 710 #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004 711 712 #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000 713 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000 714 715 #define IDD_DYNAWIZ_FIRSTPAGE 10000 716 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001 717 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002 718 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003 719 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004 720 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009 721 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010 722 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011 723 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012 724 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006 725 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007 726 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008 727 728 typedef struct _SP_NEWDEVICEWIZARD_DATA { 729 SP_CLASSINSTALL_HEADER ClassInstallHeader; 730 DWORD Flags; 731 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 732 DWORD NumDynamicPages; 733 HWND hwndWizardDlg; 734 } SP_NEWDEVICEWIZARD_DATA,*PSP_NEWDEVICEWIZARD_DATA; 735 736 typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; 737 typedef PSP_NEWDEVICEWIZARD_DATA PSP_ADDPROPERTYPAGE_DATA; 738 739 typedef struct _SP_TROUBLESHOOTER_PARAMS_A { 740 SP_CLASSINSTALL_HEADER ClassInstallHeader; 741 CHAR ChmFile[MAX_PATH]; 742 CHAR HtmlTroubleShooter[MAX_PATH]; 743 } SP_TROUBLESHOOTER_PARAMS_A,*PSP_TROUBLESHOOTER_PARAMS_A; 744 745 typedef struct _SP_TROUBLESHOOTER_PARAMS_W { 746 SP_CLASSINSTALL_HEADER ClassInstallHeader; 747 WCHAR ChmFile[MAX_PATH]; 748 WCHAR HtmlTroubleShooter[MAX_PATH]; 749 } SP_TROUBLESHOOTER_PARAMS_W,*PSP_TROUBLESHOOTER_PARAMS_W; 750 751 __MINGW_TYPEDEF_UAW(SP_TROUBLESHOOTER_PARAMS) 752 __MINGW_TYPEDEF_UAW(PSP_TROUBLESHOOTER_PARAMS) 753 754 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A { 755 SP_CLASSINSTALL_HEADER ClassInstallHeader; 756 CHAR PowerMessageWake[LINE_LEN*2]; 757 } SP_POWERMESSAGEWAKE_PARAMS_A,*PSP_POWERMESSAGEWAKE_PARAMS_A; 758 759 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W { 760 SP_CLASSINSTALL_HEADER ClassInstallHeader; 761 WCHAR PowerMessageWake[LINE_LEN*2]; 762 } SP_POWERMESSAGEWAKE_PARAMS_W,*PSP_POWERMESSAGEWAKE_PARAMS_W; 763 764 __MINGW_TYPEDEF_UAW(SP_POWERMESSAGEWAKE_PARAMS) 765 __MINGW_TYPEDEF_UAW(PSP_POWERMESSAGEWAKE_PARAMS) 766 767 typedef struct _SP_DRVINFO_DATA_V2_A { 768 DWORD cbSize; 769 DWORD DriverType; 770 ULONG_PTR Reserved; 771 CHAR Description[LINE_LEN]; 772 CHAR MfgName[LINE_LEN]; 773 CHAR ProviderName[LINE_LEN]; 774 FILETIME DriverDate; 775 DWORDLONG DriverVersion; 776 } SP_DRVINFO_DATA_V2_A,*PSP_DRVINFO_DATA_V2_A; 777 778 typedef struct _SP_DRVINFO_DATA_V2_W { 779 DWORD cbSize; 780 DWORD DriverType; 781 ULONG_PTR Reserved; 782 WCHAR Description[LINE_LEN]; 783 WCHAR MfgName[LINE_LEN]; 784 WCHAR ProviderName[LINE_LEN]; 785 FILETIME DriverDate; 786 DWORDLONG DriverVersion; 787 } SP_DRVINFO_DATA_V2_W,*PSP_DRVINFO_DATA_V2_W; 788 789 typedef struct _SP_DRVINFO_DATA_V1_A { 790 DWORD cbSize; 791 DWORD DriverType; 792 ULONG_PTR Reserved; 793 CHAR Description[LINE_LEN]; 794 CHAR MfgName[LINE_LEN]; 795 CHAR ProviderName[LINE_LEN]; 796 } SP_DRVINFO_DATA_V1_A,*PSP_DRVINFO_DATA_V1_A; 797 798 typedef struct _SP_DRVINFO_DATA_V1_W { 799 DWORD cbSize; 800 DWORD DriverType; 801 ULONG_PTR Reserved; 802 WCHAR Description[LINE_LEN]; 803 WCHAR MfgName[LINE_LEN]; 804 WCHAR ProviderName[LINE_LEN]; 805 } SP_DRVINFO_DATA_V1_W,*PSP_DRVINFO_DATA_V1_W; 806 807 __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V1) 808 __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V1) 809 __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V2) 810 __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V2) 811 812 #if USE_SP_DRVINFO_DATA_V1 813 814 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A; 815 typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_A; 816 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W; 817 typedef PSP_DRVINFO_DATA_V1_W PSP_DRVINFO_DATA_W; 818 typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA; 819 typedef PSP_DRVINFO_DATA_V1 PSP_DRVINFO_DATA; 820 #else 821 822 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A; 823 typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_A; 824 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; 825 typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_W; 826 typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; 827 typedef PSP_DRVINFO_DATA_V2 PSP_DRVINFO_DATA; 828 #endif 829 830 typedef struct _SP_DRVINFO_DETAIL_DATA_A { 831 DWORD cbSize; 832 FILETIME InfDate; 833 DWORD CompatIDsOffset; 834 DWORD CompatIDsLength; 835 ULONG_PTR Reserved; 836 CHAR SectionName[LINE_LEN]; 837 CHAR InfFileName[MAX_PATH]; 838 CHAR DrvDescription[LINE_LEN]; 839 CHAR HardwareID[ANYSIZE_ARRAY]; 840 } SP_DRVINFO_DETAIL_DATA_A,*PSP_DRVINFO_DETAIL_DATA_A; 841 842 typedef struct _SP_DRVINFO_DETAIL_DATA_W { 843 DWORD cbSize; 844 FILETIME InfDate; 845 DWORD CompatIDsOffset; 846 DWORD CompatIDsLength; 847 ULONG_PTR Reserved; 848 WCHAR SectionName[LINE_LEN]; 849 WCHAR InfFileName[MAX_PATH]; 850 WCHAR DrvDescription[LINE_LEN]; 851 WCHAR HardwareID[ANYSIZE_ARRAY]; 852 } SP_DRVINFO_DETAIL_DATA_W,*PSP_DRVINFO_DETAIL_DATA_W; 853 854 __MINGW_TYPEDEF_UAW(SP_DRVINFO_DETAIL_DATA) 855 __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DETAIL_DATA) 856 857 typedef struct _SP_DRVINSTALL_PARAMS { 858 DWORD cbSize; 859 DWORD Rank; 860 DWORD Flags; 861 DWORD_PTR PrivateData; 862 DWORD Reserved; 863 } SP_DRVINSTALL_PARAMS,*PSP_DRVINSTALL_PARAMS; 864 865 #define DNF_DUPDESC 0x00000001 866 #define DNF_OLDDRIVER 0x00000002 867 #define DNF_EXCLUDEFROMLIST 0x00000004 868 #define DNF_NODRIVER 0x00000008 869 #define DNF_LEGACYINF 0x00000010 870 #define DNF_CLASS_DRIVER 0x00000020 871 #define DNF_COMPATIBLE_DRIVER 0x00000040 872 #define DNF_INET_DRIVER 0x00000080 873 #define DNF_UNUSED1 0x00000100 874 #define DNF_INDEXED_DRIVER 0x00000200 875 #define DNF_OLD_INET_DRIVER 0x00000400 876 #define DNF_BAD_DRIVER 0x00000800 877 #define DNF_DUPPROVIDER 0x00001000 878 #define DNF_INF_IS_SIGNED 0x00002000 879 #define DNF_OEM_F6_INF 0x00004000 880 #define DNF_DUPDRIVERVER 0x00008000 881 #define DNF_BASIC_DRIVER 0x00010000 882 #define DNF_AUTHENTICODE_SIGNED 0x00020000 883 884 #define DRIVER_HARDWAREID_RANK 0x00000FFF 885 #define DRIVER_COMPATID_RANK 0x00003FFF 886 #define DRIVER_UNTRUSTED_RANK 0x00008000 887 #define DRIVER_UNTRUSTED_HARDWAREID_RANK 0x00008FFF 888 #define DRIVER_UNTRUSTED_COMPATID_RANK 0x0000BFFF 889 #define DRIVER_W9X_SUSPECT_RANK 0x0000C000 890 #define DRIVER_W9X_SUSPECT_HARDWAREID_RANK 0x0000CFFF 891 #define DRIVER_W9X_SUSPECT_COMPATID_RANK 0x0000FFFF 892 893 typedef DWORD (CALLBACK *PSP_DETSIG_CMPPROC)(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA NewDeviceData,PSP_DEVINFO_DATA ExistingDeviceData,PVOID CompareContext); 894 895 typedef struct _COINSTALLER_CONTEXT_DATA { 896 WINBOOL PostProcessing; 897 DWORD InstallResult; 898 PVOID PrivateData; 899 } COINSTALLER_CONTEXT_DATA,*PCOINSTALLER_CONTEXT_DATA; 900 901 typedef struct _SP_CLASSIMAGELIST_DATA { 902 DWORD cbSize; 903 HIMAGELIST ImageList; 904 ULONG_PTR Reserved; 905 } SP_CLASSIMAGELIST_DATA,*PSP_CLASSIMAGELIST_DATA; 906 907 typedef struct _SP_PROPSHEETPAGE_REQUEST { 908 DWORD cbSize; 909 DWORD PageRequested; 910 HDEVINFO DeviceInfoSet; 911 PSP_DEVINFO_DATA DeviceInfoData; 912 } SP_PROPSHEETPAGE_REQUEST,*PSP_PROPSHEETPAGE_REQUEST; 913 914 #define SPPSR_SELECT_DEVICE_RESOURCES 1 915 #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2 916 #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3 917 918 typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_A { 919 DWORD cbSize; 920 CHAR FullInfPath[MAX_PATH]; 921 INT FilenameOffset; 922 CHAR ReinstallInstance[MAX_PATH]; 923 } SP_BACKUP_QUEUE_PARAMS_V2_A,*PSP_BACKUP_QUEUE_PARAMS_V2_A; 924 925 typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_W { 926 DWORD cbSize; 927 WCHAR FullInfPath[MAX_PATH]; 928 INT FilenameOffset; 929 WCHAR ReinstallInstance[MAX_PATH]; 930 } SP_BACKUP_QUEUE_PARAMS_V2_W,*PSP_BACKUP_QUEUE_PARAMS_V2_W; 931 932 typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_A { 933 DWORD cbSize; 934 CHAR FullInfPath[MAX_PATH]; 935 INT FilenameOffset; 936 } SP_BACKUP_QUEUE_PARAMS_V1_A,*PSP_BACKUP_QUEUE_PARAMS_V1_A; 937 938 typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_W { 939 DWORD cbSize; 940 WCHAR FullInfPath[MAX_PATH]; 941 INT FilenameOffset; 942 } SP_BACKUP_QUEUE_PARAMS_V1_W,*PSP_BACKUP_QUEUE_PARAMS_V1_W; 943 944 __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V1) 945 __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V1) 946 __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V2) 947 __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V2) 948 949 #if USE_SP_BACKUP_QUEUE_PARAMS_V1 950 951 typedef SP_BACKUP_QUEUE_PARAMS_V1_A SP_BACKUP_QUEUE_PARAMS_A; 952 typedef PSP_BACKUP_QUEUE_PARAMS_V1_A PSP_BACKUP_QUEUE_PARAMS_A; 953 typedef SP_BACKUP_QUEUE_PARAMS_V1_W SP_BACKUP_QUEUE_PARAMS_W; 954 typedef PSP_BACKUP_QUEUE_PARAMS_V1_W PSP_BACKUP_QUEUE_PARAMS_W; 955 typedef SP_BACKUP_QUEUE_PARAMS_V1 SP_BACKUP_QUEUE_PARAMS; 956 typedef PSP_BACKUP_QUEUE_PARAMS_V1 PSP_BACKUP_QUEUE_PARAMS; 957 #else 958 959 typedef SP_BACKUP_QUEUE_PARAMS_V2_A SP_BACKUP_QUEUE_PARAMS_A; 960 typedef PSP_BACKUP_QUEUE_PARAMS_V2_A PSP_BACKUP_QUEUE_PARAMS_A; 961 typedef SP_BACKUP_QUEUE_PARAMS_V2_W SP_BACKUP_QUEUE_PARAMS_W; 962 typedef PSP_BACKUP_QUEUE_PARAMS_V2_W PSP_BACKUP_QUEUE_PARAMS_W; 963 typedef SP_BACKUP_QUEUE_PARAMS_V2 SP_BACKUP_QUEUE_PARAMS; 964 typedef PSP_BACKUP_QUEUE_PARAMS_V2 PSP_BACKUP_QUEUE_PARAMS; 965 #endif 966 967 #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0) 968 #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1) 969 #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2) 970 #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3) 971 #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100) 972 #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101) 973 #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102) 974 #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103) 975 #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200) 976 #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201) 977 #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202) 978 #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203) 979 #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204) 980 #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205) 981 #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206) 982 #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207) 983 #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208) 984 #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209) 985 #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A) 986 #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B) 987 #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C) 988 #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D) 989 #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E) 990 #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F) 991 #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210) 992 #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211) 993 #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212) 994 #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213) 995 #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214) 996 #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215) 997 #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216) 998 #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217) 999 #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218) 1000 #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219) 1001 #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A) 1002 #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B) 1003 #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C) 1004 #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D) 1005 #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E) 1006 #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F) 1007 #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220) 1008 #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221) 1009 #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222) 1010 #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223) 1011 #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224) 1012 #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225) 1013 #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226) 1014 #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227) 1015 #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228) 1016 #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229) 1017 #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A) 1018 #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B) 1019 #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C) 1020 #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D) 1021 #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E) 1022 #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F) 1023 #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230) 1024 #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231) 1025 #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232) 1026 #define ERROR_INVALID_TARGET (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x233) 1027 #define ERROR_DRIVER_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x234) 1028 #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235) 1029 #define ERROR_SET_SYSTEM_RESTORE_POINT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x236) 1030 #define ERROR_INCORRECTLY_COPIED_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x237) 1031 #define ERROR_SCE_DISABLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x238) 1032 #define ERROR_UNKNOWN_EXCEPTION (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x239) 1033 #define ERROR_PNP_REGISTRY_ERROR (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23A) 1034 #define ERROR_REMOTE_REQUEST_UNSUPPORTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23B) 1035 #define ERROR_NOT_AN_INSTALLED_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23C) 1036 #define ERROR_INF_IN_USE_BY_DEVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23D) 1037 #define ERROR_DI_FUNCTION_OBSOLETE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23E) 1038 #define ERROR_NO_AUTHENTICODE_CATALOG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23F) 1039 #define ERROR_AUTHENTICODE_DISALLOWED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x240) 1040 #define ERROR_AUTHENTICODE_TRUSTED_PUBLISHER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x241) 1041 #define ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x242) 1042 #define ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x243) 1043 #define ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x244) 1044 #define ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x245) 1045 #define ERROR_UNRECOVERABLE_STACK_OVERFLOW (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x300) 1046 #define EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW ERROR_UNRECOVERABLE_STACK_OVERFLOW 1047 #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE 1048 #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE 1049 #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED 1050 #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE 1051 #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000) 1052 1053 WINSETUPAPI WINBOOL WINAPI SetupGetInfInformationA(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1054 WINSETUPAPI WINBOOL WINAPI SetupGetInfInformationW(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1055 1056 #define INFINFO_INF_SPEC_IS_HINF 1 1057 #define INFINFO_INF_NAME_IS_ABSOLUTE 2 1058 #define INFINFO_DEFAULT_SEARCH 3 1059 #define INFINFO_REVERSE_DEFAULT_SEARCH 4 1060 #define INFINFO_INF_PATH_LIST_SEARCH 5 1061 1062 #define SetupGetInfInformation __MINGW_NAME_AW(SetupGetInfInformation) 1063 #define SetupQueryInfFileInformation __MINGW_NAME_AW(SetupQueryInfFileInformation) 1064 #define SetupQueryInfOriginalFileInformation __MINGW_NAME_AW(SetupQueryInfOriginalFileInformation) 1065 #define SetupQueryInfVersionInformation __MINGW_NAME_AW(SetupQueryInfVersionInformation) 1066 #define SetupGetInfFileList __MINGW_NAME_AW(SetupGetInfFileList) 1067 #define SetupOpenInfFile __MINGW_NAME_AW(SetupOpenInfFile) 1068 #define SetupOpenAppendInfFile __MINGW_NAME_AW(SetupOpenAppendInfFile) 1069 #define SetupFindFirstLine __MINGW_NAME_AW(SetupFindFirstLine) 1070 #define SetupFindNextMatchLine __MINGW_NAME_AW(SetupFindNextMatchLine) 1071 #define SetupGetLineByIndex __MINGW_NAME_AW(SetupGetLineByIndex) 1072 #define SetupGetLineCount __MINGW_NAME_AW(SetupGetLineCount) 1073 #define SetupGetLineText __MINGW_NAME_AW(SetupGetLineText) 1074 #define SetupGetStringField __MINGW_NAME_AW(SetupGetStringField) 1075 #define SetupGetMultiSzField __MINGW_NAME_AW(SetupGetMultiSzField) 1076 #define SetupGetFileCompressionInfo __MINGW_NAME_AW(SetupGetFileCompressionInfo) 1077 #define SetupGetFileCompressionInfoEx __MINGW_NAME_AW(SetupGetFileCompressionInfoEx) 1078 #define SetupDecompressOrCopyFile __MINGW_NAME_AW(SetupDecompressOrCopyFile) 1079 #define SetupGetSourceFileLocation __MINGW_NAME_AW(SetupGetSourceFileLocation) 1080 #define SetupGetSourceFileSize __MINGW_NAME_AW(SetupGetSourceFileSize) 1081 #define SetupGetTargetPath __MINGW_NAME_AW(SetupGetTargetPath) 1082 #define SetupSetSourceList __MINGW_NAME_AW(SetupSetSourceList) 1083 #define SetupAddToSourceList __MINGW_NAME_AW(SetupAddToSourceList) 1084 #define SetupRemoveFromSourceList __MINGW_NAME_AW(SetupRemoveFromSourceList) 1085 #define SetupQuerySourceList __MINGW_NAME_AW(SetupQuerySourceList) 1086 #define SetupFreeSourceList __MINGW_NAME_AW(SetupFreeSourceList) 1087 #define SetupPromptForDisk __MINGW_NAME_AW(SetupPromptForDisk) 1088 #define SetupCopyError __MINGW_NAME_AW(SetupCopyError) 1089 #define SetupRenameError __MINGW_NAME_AW(SetupRenameError) 1090 #define SetupDeleteError __MINGW_NAME_AW(SetupDeleteError) 1091 #define SetupBackupError __MINGW_NAME_AW(SetupBackupError) 1092 1093 #define SRCLIST_TEMPORARY 0x00000001 1094 #define SRCLIST_NOBROWSE 0x00000002 1095 #define SRCLIST_SYSTEM 0x00000010 1096 #define SRCLIST_USER 0x00000020 1097 #define SRCLIST_SYSIFADMIN 0x00000040 1098 #define SRCLIST_SUBDIRS 0x00000100 1099 #define SRCLIST_APPEND 0x00000200 1100 #define SRCLIST_NOSTRIPPLATFORM 0x00000400 1101 1102 #define FILE_COMPRESSION_NONE 0 1103 #define FILE_COMPRESSION_WINLZA 1 1104 #define FILE_COMPRESSION_MSZIP 2 1105 #define FILE_COMPRESSION_NTCAB 3 1106 1107 WINSETUPAPI WINBOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1108 WINSETUPAPI WINBOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1109 WINSETUPAPI WINBOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo); 1110 WINSETUPAPI WINBOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo); 1111 WINSETUPAPI WINBOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PCSTR Key,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1112 WINSETUPAPI WINBOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PCWSTR Key,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1113 WINSETUPAPI WINBOOL WINAPI SetupGetInfFileListA(PCSTR DirectoryPath,DWORD InfStyle,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1114 WINSETUPAPI WINBOOL WINAPI SetupGetInfFileListW(PCWSTR DirectoryPath,DWORD InfStyle,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1115 WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR FileName,PCWSTR InfClass,DWORD InfStyle,PUINT ErrorLine); 1116 WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR FileName,PCSTR InfClass,DWORD InfStyle,PUINT ErrorLine); 1117 WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID); 1118 WINSETUPAPI WINBOOL WINAPI SetupOpenAppendInfFileW(PCWSTR FileName,HINF InfHandle,PUINT ErrorLine); 1119 WINSETUPAPI WINBOOL WINAPI SetupOpenAppendInfFileA(PCSTR FileName,HINF InfHandle,PUINT ErrorLine); 1120 WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF InfHandle); 1121 WINSETUPAPI WINBOOL WINAPI SetupFindFirstLineA(HINF InfHandle,PCSTR Section,PCSTR Key,PINFCONTEXT Context); 1122 WINSETUPAPI WINBOOL WINAPI SetupFindFirstLineW(HINF InfHandle,PCWSTR Section,PCWSTR Key,PINFCONTEXT Context); 1123 WINSETUPAPI WINBOOL WINAPI SetupFindNextLine(PINFCONTEXT ContextIn,PINFCONTEXT ContextOut); 1124 WINSETUPAPI WINBOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT ContextIn,PCSTR Key,PINFCONTEXT ContextOut); 1125 WINSETUPAPI WINBOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT ContextIn,PCWSTR Key,PINFCONTEXT ContextOut); 1126 WINSETUPAPI WINBOOL WINAPI SetupGetLineByIndexA(HINF InfHandle,PCSTR Section,DWORD Index,PINFCONTEXT Context); 1127 WINSETUPAPI WINBOOL WINAPI SetupGetLineByIndexW(HINF InfHandle,PCWSTR Section,DWORD Index,PINFCONTEXT Context); 1128 WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF InfHandle,PCSTR Section); 1129 WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF InfHandle,PCWSTR Section); 1130 WINSETUPAPI WINBOOL WINAPI SetupGetLineTextA(PINFCONTEXT Context,HINF InfHandle,PCSTR Section,PCSTR Key,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1131 WINSETUPAPI WINBOOL WINAPI SetupGetLineTextW(PINFCONTEXT Context,HINF InfHandle,PCWSTR Section,PCWSTR Key,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1132 WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT Context); 1133 WINSETUPAPI WINBOOL WINAPI SetupGetStringFieldA(PINFCONTEXT Context,DWORD FieldIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1134 WINSETUPAPI WINBOOL WINAPI SetupGetStringFieldW(PINFCONTEXT Context,DWORD FieldIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1135 WINSETUPAPI WINBOOL WINAPI SetupGetIntField(PINFCONTEXT Context,DWORD FieldIndex,PINT IntegerValue); 1136 WINSETUPAPI WINBOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT Context,DWORD FieldIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize); 1137 WINSETUPAPI WINBOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT Context,DWORD FieldIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize); 1138 WINSETUPAPI WINBOOL WINAPI SetupGetBinaryField(PINFCONTEXT Context,DWORD FieldIndex,PBYTE ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize); 1139 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR SourceFileName,PSTR *ActualSourceFileName,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType); 1140 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR SourceFileName,PWSTR *ActualSourceFileName,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType); 1141 WINSETUPAPI WINBOOL WINAPI SetupGetFileCompressionInfoExA(PCSTR SourceFileName,PSTR ActualSourceFileNameBuffer,DWORD ActualSourceFileNameBufferLen,PDWORD RequiredBufferLen,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType); 1142 WINSETUPAPI WINBOOL WINAPI SetupGetFileCompressionInfoExW(PCWSTR SourceFileName,PWSTR ActualSourceFileNameBuffer,DWORD ActualSourceFileNameBufferLen,PDWORD RequiredBufferLen,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType); 1143 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR SourceFileName,PCSTR TargetFileName,PUINT CompressionType); 1144 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR SourceFileName,PCWSTR TargetFileName,PUINT CompressionType); 1145 WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileLocationA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR FileName,PUINT SourceId,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1146 WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileLocationW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR FileName,PUINT SourceId,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1147 WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileSizeA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR FileName,PCSTR Section,PDWORD FileSize,UINT RoundingFactor); 1148 WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileSizeW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR FileName,PCWSTR Section,PDWORD FileSize,UINT RoundingFactor); 1149 WINSETUPAPI WINBOOL WINAPI SetupGetTargetPathA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR Section,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1150 WINSETUPAPI WINBOOL WINAPI SetupGetTargetPathW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR Section,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1151 WINSETUPAPI WINBOOL WINAPI SetupSetSourceListA(DWORD Flags,PCSTR *SourceList,UINT SourceCount); 1152 WINSETUPAPI WINBOOL WINAPI SetupSetSourceListW(DWORD Flags,PCWSTR *SourceList,UINT SourceCount); 1153 WINSETUPAPI WINBOOL WINAPI SetupCancelTemporarySourceList(VOID); 1154 WINSETUPAPI WINBOOL WINAPI SetupAddToSourceListA(DWORD Flags,PCSTR Source); 1155 WINSETUPAPI WINBOOL WINAPI SetupAddToSourceListW(DWORD Flags,PCWSTR Source); 1156 WINSETUPAPI WINBOOL WINAPI SetupRemoveFromSourceListA(DWORD Flags,PCSTR Source); 1157 WINSETUPAPI WINBOOL WINAPI SetupRemoveFromSourceListW(DWORD Flags,PCWSTR Source); 1158 WINSETUPAPI WINBOOL WINAPI SetupQuerySourceListA(DWORD Flags,PCSTR **List,PUINT Count); 1159 WINSETUPAPI WINBOOL WINAPI SetupQuerySourceListW(DWORD Flags,PCWSTR **List,PUINT Count); 1160 WINSETUPAPI WINBOOL WINAPI SetupFreeSourceListA(PCSTR **List,UINT Count); 1161 WINSETUPAPI WINBOOL WINAPI SetupFreeSourceListW(PCWSTR **List,UINT Count); 1162 WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND hwndParent,PCSTR DialogTitle,PCSTR DiskName,PCSTR PathToSource,PCSTR FileSought,PCSTR TagFile,DWORD DiskPromptStyle,PSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize); 1163 WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR DiskName,PCWSTR PathToSource,PCWSTR FileSought,PCWSTR TagFile,DWORD DiskPromptStyle,PWSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize); 1164 WINSETUPAPI UINT WINAPI SetupCopyErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR DiskName,PCSTR PathToSource,PCSTR SourceFile,PCSTR TargetPathFile,UINT Win32ErrorCode,DWORD Style,PSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize); 1165 WINSETUPAPI UINT WINAPI SetupCopyErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR DiskName,PCWSTR PathToSource,PCWSTR SourceFile,PCWSTR TargetPathFile,UINT Win32ErrorCode,DWORD Style,PWSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize); 1166 WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR SourceFile,PCSTR TargetFile,UINT Win32ErrorCode,DWORD Style); 1167 WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR SourceFile,PCWSTR TargetFile,UINT Win32ErrorCode,DWORD Style); 1168 WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR File,UINT Win32ErrorCode,DWORD Style); 1169 WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR File,UINT Win32ErrorCode,DWORD Style); 1170 WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR SourceFile,PCSTR TargetFile,UINT Win32ErrorCode,DWORD Style); 1171 WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR SourceFile,PCWSTR TargetFile,UINT Win32ErrorCode,DWORD Style); 1172 1173 #define IDF_NOBROWSE 0x00000001 1174 #define IDF_NOSKIP 0x00000002 1175 #define IDF_NODETAILS 0x00000004 1176 #define IDF_NOCOMPRESSED 0x00000008 1177 #define IDF_CHECKFIRST 0x00000100 1178 #define IDF_NOBEEP 0x00000200 1179 #define IDF_NOFOREGROUND 0x00000400 1180 #define IDF_WARNIFSKIP 0x00000800 1181 1182 #define IDF_NOREMOVABLEMEDIAPROMPT 0x00001000 1183 #define IDF_USEDISKNAMEASPROMPT 0x00002000 1184 #define IDF_OEMDISK 0x80000000 1185 1186 #define DPROMPT_SUCCESS 0 1187 #define DPROMPT_CANCEL 1 1188 #define DPROMPT_SKIPFILE 2 1189 #define DPROMPT_BUFFERTOOSMALL 3 1190 #define DPROMPT_OUTOFMEMORY 4 1191 1192 #define SETDIRID_NOT_FULL_PATH 0x00000001 1193 1194 #define SRCINFO_PATH 1 1195 #define SRCINFO_TAGFILE 2 1196 #define SRCINFO_DESCRIPTION 3 1197 #define SRCINFO_FLAGS 4 1198 #define SRCINFO_TAGFILE2 5 1199 1200 #define SRC_FLAGS_CABFILE (0x0010) 1201 1202 #define SetupSetDirectoryId __MINGW_NAME_AW(SetupSetDirectoryId) 1203 #define SetupSetDirectoryIdEx __MINGW_NAME_AW(SetupSetDirectoryIdEx) 1204 #define SetupGetSourceInfo __MINGW_NAME_AW(SetupGetSourceInfo) 1205 #define SetupInstallFile __MINGW_NAME_AW(SetupInstallFile) 1206 #define SetupInstallFileEx __MINGW_NAME_AW(SetupInstallFileEx) 1207 1208 WINSETUPAPI WINBOOL WINAPI SetupSetDirectoryIdA(HINF InfHandle,DWORD Id,PCSTR Directory); 1209 WINSETUPAPI WINBOOL WINAPI SetupSetDirectoryIdW(HINF InfHandle,DWORD Id,PCWSTR Directory); 1210 WINSETUPAPI WINBOOL WINAPI SetupSetDirectoryIdExA(HINF InfHandle,DWORD Id,PCSTR Directory,DWORD Flags,DWORD Reserved1,PVOID Reserved2); 1211 WINSETUPAPI WINBOOL WINAPI SetupSetDirectoryIdExW(HINF InfHandle,DWORD Id,PCWSTR Directory,DWORD Flags,DWORD Reserved1,PVOID Reserved2); 1212 WINSETUPAPI WINBOOL WINAPI SetupGetSourceInfoA(HINF InfHandle,UINT SourceId,UINT InfoDesired,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1213 WINSETUPAPI WINBOOL WINAPI SetupGetSourceInfoW(HINF InfHandle,UINT SourceId,UINT InfoDesired,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1214 WINSETUPAPI WINBOOL WINAPI SetupInstallFileA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR SourceFile,PCSTR SourcePathRoot,PCSTR DestinationName,DWORD CopyStyle,PSP_FILE_CALLBACK_A CopyMsgHandler,PVOID Context); 1215 WINSETUPAPI WINBOOL WINAPI SetupInstallFileW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR SourceFile,PCWSTR SourcePathRoot,PCWSTR DestinationName,DWORD CopyStyle,PSP_FILE_CALLBACK_W CopyMsgHandler,PVOID Context); 1216 WINSETUPAPI WINBOOL WINAPI SetupInstallFileExA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR SourceFile,PCSTR SourcePathRoot,PCSTR DestinationName,DWORD CopyStyle,PSP_FILE_CALLBACK_A CopyMsgHandler,PVOID Context,PBOOL FileWasInUse); 1217 WINSETUPAPI WINBOOL WINAPI SetupInstallFileExW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR SourceFile,PCWSTR SourcePathRoot,PCWSTR DestinationName,DWORD CopyStyle,PSP_FILE_CALLBACK_W CopyMsgHandler,PVOID Context,PBOOL FileWasInUse); 1218 1219 #define SP_COPY_DELETESOURCE 0x0000001 1220 #define SP_COPY_REPLACEONLY 0x0000002 1221 #define SP_COPY_NEWER 0x0000004 1222 #define SP_COPY_NEWER_OR_SAME SP_COPY_NEWER 1223 #define SP_COPY_NOOVERWRITE 0x0000008 1224 #define SP_COPY_NODECOMP 0x0000010 1225 #define SP_COPY_LANGUAGEAWARE 0x0000020 1226 #define SP_COPY_SOURCE_ABSOLUTE 0x0000040 1227 #define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080 1228 #define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100 1229 #define SP_COPY_FORCE_IN_USE 0x0000200 1230 #define SP_COPY_NOSKIP 0x0000400 1231 #define SP_FLAG_CABINETCONTINUATION 0x0000800 1232 #define SP_COPY_FORCE_NOOVERWRITE 0x0001000 1233 #define SP_COPY_FORCE_NEWER 0x0002000 1234 #define SP_COPY_WARNIFSKIP 0x0004000 1235 #define SP_COPY_NOBROWSE 0x0008000 1236 #define SP_COPY_NEWER_ONLY 0x0010000 1237 #define SP_COPY_SOURCE_SIS_MASTER 0x0020000 1238 #define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000 1239 #define SP_COPY_REPLACE_BOOT_FILE 0x0080000 1240 #define SP_COPY_NOPRUNE 0x0100000 1241 #define SP_COPY_OEM_F6_INF 0x0200000 1242 1243 #define SP_BACKUP_BACKUPPASS 0x00000001 1244 #define SP_BACKUP_DEMANDPASS 0x00000002 1245 #define SP_BACKUP_SPECIAL 0x00000004 1246 #define SP_BACKUP_BOOTFILE 0x00000008 1247 1248 #define SetupSetFileQueueAlternatePlatform __MINGW_NAME_AW(SetupSetFileQueueAlternatePlatform) 1249 #define SetupQueueDeleteSection __MINGW_NAME_AW(SetupQueueDeleteSection) 1250 #define SetupQueueRename __MINGW_NAME_AW(SetupQueueRename) 1251 #define SetupQueueRenameSection __MINGW_NAME_AW(SetupQueueRenameSection) 1252 #define SetupCommitFileQueue __MINGW_NAME_AW(SetupCommitFileQueue) 1253 #define SetupScanFileQueue __MINGW_NAME_AW(SetupScanFileQueue) 1254 #define SetupSetPlatformPathOverride __MINGW_NAME_AW(SetupSetPlatformPathOverride) 1255 #define SetupQueueCopy __MINGW_NAME_AW(SetupQueueCopy) 1256 #define SetupQueueCopyIndirect __MINGW_NAME_AW(SetupQueueCopyIndirect) 1257 #define SetupQueueDefaultCopy __MINGW_NAME_AW(SetupQueueDefaultCopy) 1258 #define SetupQueueCopySection __MINGW_NAME_AW(SetupQueueCopySection) 1259 #define SetupQueueDelete __MINGW_NAME_AW(SetupQueueDelete) 1260 1261 WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID); 1262 WINSETUPAPI WINBOOL WINAPI SetupCloseFileQueue(HSPFILEQ QueueHandle); 1263 WINSETUPAPI WINBOOL WINAPI SetupSetFileQueueAlternatePlatformA(HSPFILEQ QueueHandle,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PCSTR AlternateDefaultCatalogFile); 1264 WINSETUPAPI WINBOOL WINAPI SetupSetFileQueueAlternatePlatformW(HSPFILEQ QueueHandle,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PCWSTR AlternateDefaultCatalogFile); 1265 WINSETUPAPI WINBOOL WINAPI SetupSetPlatformPathOverrideA(PCSTR Override); 1266 WINSETUPAPI WINBOOL WINAPI SetupSetPlatformPathOverrideW(PCWSTR Override); 1267 WINSETUPAPI WINBOOL WINAPI SetupQueueCopyA(HSPFILEQ QueueHandle,PCSTR SourceRootPath,PCSTR SourcePath,PCSTR SourceFilename,PCSTR SourceDescription,PCSTR SourceTagfile,PCSTR TargetDirectory,PCSTR TargetFilename,DWORD CopyStyle); 1268 WINSETUPAPI WINBOOL WINAPI SetupQueueCopyW(HSPFILEQ QueueHandle,PCWSTR SourceRootPath,PCWSTR SourcePath,PCWSTR SourceFilename,PCWSTR SourceDescription,PCWSTR SourceTagfile,PCWSTR TargetDirectory,PCWSTR TargetFilename,DWORD CopyStyle); 1269 WINSETUPAPI WINBOOL WINAPI SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A CopyParams); 1270 WINSETUPAPI WINBOOL WINAPI SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W CopyParams); 1271 WINSETUPAPI WINBOOL WINAPI SetupQueueDefaultCopyA(HSPFILEQ QueueHandle,HINF InfHandle,PCSTR SourceRootPath,PCSTR SourceFilename,PCSTR TargetFilename,DWORD CopyStyle); 1272 WINSETUPAPI WINBOOL WINAPI SetupQueueDefaultCopyW(HSPFILEQ QueueHandle,HINF InfHandle,PCWSTR SourceRootPath,PCWSTR SourceFilename,PCWSTR TargetFilename,DWORD CopyStyle); 1273 WINSETUPAPI WINBOOL WINAPI SetupQueueCopySectionA(HSPFILEQ QueueHandle,PCSTR SourceRootPath,HINF InfHandle,HINF ListInfHandle,PCSTR Section,DWORD CopyStyle); 1274 WINSETUPAPI WINBOOL WINAPI SetupQueueCopySectionW(HSPFILEQ QueueHandle,PCWSTR SourceRootPath,HINF InfHandle,HINF ListInfHandle,PCWSTR Section,DWORD CopyStyle); 1275 WINSETUPAPI WINBOOL WINAPI SetupQueueDeleteA(HSPFILEQ QueueHandle,PCSTR PathPart1,PCSTR PathPart2); 1276 WINSETUPAPI WINBOOL WINAPI SetupQueueDeleteW(HSPFILEQ QueueHandle,PCWSTR PathPart1,PCWSTR PathPart2); 1277 WINSETUPAPI WINBOOL WINAPI SetupQueueDeleteSectionA(HSPFILEQ QueueHandle,HINF InfHandle,HINF ListInfHandle,PCSTR Section); 1278 WINSETUPAPI WINBOOL WINAPI SetupQueueDeleteSectionW(HSPFILEQ QueueHandle,HINF InfHandle,HINF ListInfHandle,PCWSTR Section); 1279 WINSETUPAPI WINBOOL WINAPI SetupQueueRenameA(HSPFILEQ QueueHandle,PCSTR SourcePath,PCSTR SourceFilename,PCSTR TargetPath,PCSTR TargetFilename); 1280 WINSETUPAPI WINBOOL WINAPI SetupQueueRenameW(HSPFILEQ QueueHandle,PCWSTR SourcePath,PCWSTR SourceFilename,PCWSTR TargetPath,PCWSTR TargetFilename); 1281 WINSETUPAPI WINBOOL WINAPI SetupQueueRenameSectionA(HSPFILEQ QueueHandle,HINF InfHandle,HINF ListInfHandle,PCSTR Section); 1282 WINSETUPAPI WINBOOL WINAPI SetupQueueRenameSectionW(HSPFILEQ QueueHandle,HINF InfHandle,HINF ListInfHandle,PCWSTR Section); 1283 WINSETUPAPI WINBOOL WINAPI SetupCommitFileQueueA(HWND Owner,HSPFILEQ QueueHandle,PSP_FILE_CALLBACK_A MsgHandler,PVOID Context); 1284 WINSETUPAPI WINBOOL WINAPI SetupCommitFileQueueW(HWND Owner,HSPFILEQ QueueHandle,PSP_FILE_CALLBACK_W MsgHandler,PVOID Context); 1285 WINSETUPAPI WINBOOL WINAPI SetupScanFileQueueA(HSPFILEQ FileQueue,DWORD Flags,HWND Window,PSP_FILE_CALLBACK_A CallbackRoutine,PVOID CallbackContext,PDWORD Result); 1286 WINSETUPAPI WINBOOL WINAPI SetupScanFileQueueW(HSPFILEQ FileQueue,DWORD Flags,HWND Window,PSP_FILE_CALLBACK_W CallbackRoutine,PVOID CallbackContext,PDWORD Result); 1287 1288 #define SPQ_SCAN_FILE_PRESENCE 0x00000001 1289 #define SPQ_SCAN_FILE_VALIDITY 0x00000002 1290 #define SPQ_SCAN_USE_CALLBACK 0x00000004 1291 #define SPQ_SCAN_USE_CALLBACKEX 0x00000008 1292 #define SPQ_SCAN_INFORM_USER 0x00000010 1293 #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020 1294 1295 #define SPQ_SCAN_USE_CALLBACK_SIGNERINFO 0x00000040 1296 #define SPQ_SCAN_PRUNE_DELREN 0x00000080 1297 1298 #define SPQ_DELAYED_COPY 0x00000001 1299 1300 WINSETUPAPI WINBOOL WINAPI SetupGetFileQueueCount(HSPFILEQ FileQueue,UINT SubQueueFileOp,PUINT NumOperations); 1301 WINSETUPAPI WINBOOL WINAPI SetupGetFileQueueFlags(HSPFILEQ FileQueue,PDWORD Flags); 1302 WINSETUPAPI WINBOOL WINAPI SetupSetFileQueueFlags(HSPFILEQ FileQueue,DWORD FlagMask,DWORD Flags); 1303 1304 #define SPQ_FLAG_BACKUP_AWARE 0x00000001 1305 #define SPQ_FLAG_ABORT_IF_UNSIGNED 0x00000002 1306 #define SPQ_FLAG_FILES_MODIFIED 0x00000004 1307 #define SPQ_FLAG_VALID 0x00000007 1308 1309 #define SPOST_NONE 0 1310 #define SPOST_PATH 1 1311 #define SPOST_URL 2 1312 #define SPOST_MAX 3 1313 1314 #define SetupCopyOEMInf __MINGW_NAME_AW(SetupCopyOEMInf) 1315 1316 WINSETUPAPI WINBOOL WINAPI SetupCopyOEMInfA(PCSTR SourceInfFileName,PCSTR OEMSourceMediaLocation,DWORD OEMSourceMediaType,DWORD CopyStyle,PSTR DestinationInfFileName,DWORD DestinationInfFileNameSize,PDWORD RequiredSize,PSTR *DestinationInfFileNameComponent); 1317 WINSETUPAPI WINBOOL WINAPI SetupCopyOEMInfW(PCWSTR SourceInfFileName,PCWSTR OEMSourceMediaLocation,DWORD OEMSourceMediaType,DWORD CopyStyle,PWSTR DestinationInfFileName,DWORD DestinationInfFileNameSize,PDWORD RequiredSize,PWSTR *DestinationInfFileNameComponent); 1318 1319 #define SUOI_FORCEDELETE 0x00000001 1320 1321 #define SetupUninstallOEMInf __MINGW_NAME_AW(SetupUninstallOEMInf) 1322 #define SetupCreateDiskSpaceList __MINGW_NAME_AW(SetupCreateDiskSpaceList) 1323 1324 WINSETUPAPI WINBOOL WINAPI SetupUninstallOEMInfA(PCSTR InfFileName,DWORD Flags,PVOID Reserved); 1325 WINSETUPAPI WINBOOL WINAPI SetupUninstallOEMInfW(PCWSTR InfFileName,DWORD Flags,PVOID Reserved); 1326 WINSETUPAPI WINBOOL WINAPI SetupUninstallNewlyCopiedInfs(HSPFILEQ FileQueue,DWORD Flags,PVOID Reserved); 1327 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID Reserved1,DWORD Reserved2,UINT Flags); 1328 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(PVOID Reserved1,DWORD Reserved2,UINT Flags); 1329 1330 #define SPDSL_IGNORE_DISK 0x00000001 1331 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002 1332 1333 #define SetupDuplicateDiskSpaceList __MINGW_NAME_AW(SetupDuplicateDiskSpaceList) 1334 #define SetupQueryDrivesInDiskSpaceList __MINGW_NAME_AW(SetupQueryDrivesInDiskSpaceList) 1335 #define SetupQuerySpaceRequiredOnDrive __MINGW_NAME_AW(SetupQuerySpaceRequiredOnDrive) 1336 #define SetupAdjustDiskSpaceList __MINGW_NAME_AW(SetupAdjustDiskSpaceList) 1337 #define SetupAddToDiskSpaceList __MINGW_NAME_AW(SetupAddToDiskSpaceList) 1338 #define SetupAddSectionToDiskSpaceList __MINGW_NAME_AW(SetupAddSectionToDiskSpaceList) 1339 #define SetupAddInstallSectionToDiskSpaceList __MINGW_NAME_AW(SetupAddInstallSectionToDiskSpaceList) 1340 #define SetupRemoveFromDiskSpaceList __MINGW_NAME_AW(SetupRemoveFromDiskSpaceList) 1341 #define SetupRemoveSectionFromDiskSpaceList __MINGW_NAME_AW(SetupRemoveSectionFromDiskSpaceList) 1342 #define SetupRemoveInstallSectionFromDiskSpaceList __MINGW_NAME_AW(SetupRemoveInstallSectionFromDiskSpaceList) 1343 #define SetupIterateCabinet __MINGW_NAME_AW(SetupIterateCabinet) 1344 1345 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(HDSKSPC DiskSpace,PVOID Reserved1,DWORD Reserved2,UINT Flags); 1346 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(HDSKSPC DiskSpace,PVOID Reserved1,DWORD Reserved2,UINT Flags); 1347 WINSETUPAPI WINBOOL WINAPI SetupDestroyDiskSpaceList(HDSKSPC DiskSpace); 1348 WINSETUPAPI WINBOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC DiskSpace,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1349 WINSETUPAPI WINBOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC DiskSpace,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize); 1350 WINSETUPAPI WINBOOL WINAPI SetupQuerySpaceRequiredOnDriveA(HDSKSPC DiskSpace,PCSTR DriveSpec,LONGLONG *SpaceRequired,PVOID Reserved1,UINT Reserved2); 1351 WINSETUPAPI WINBOOL WINAPI SetupQuerySpaceRequiredOnDriveW(HDSKSPC DiskSpace,PCWSTR DriveSpec,LONGLONG *SpaceRequired,PVOID Reserved1,UINT Reserved2); 1352 WINSETUPAPI WINBOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC DiskSpace,LPCSTR DriveRoot,LONGLONG Amount,PVOID Reserved1,UINT Reserved2); 1353 WINSETUPAPI WINBOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC DiskSpace,LPCWSTR DriveRoot,LONGLONG Amount,PVOID Reserved1,UINT Reserved2); 1354 WINSETUPAPI WINBOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC DiskSpace,PCSTR TargetFilespec,LONGLONG FileSize,UINT Operation,PVOID Reserved1,UINT Reserved2); 1355 WINSETUPAPI WINBOOL WINAPI SetupAddToDiskSpaceListW(HDSKSPC DiskSpace,PCWSTR TargetFilespec,LONGLONG FileSize,UINT Operation,PVOID Reserved1,UINT Reserved2); 1356 WINSETUPAPI WINBOOL WINAPI SetupAddSectionToDiskSpaceListA(HDSKSPC DiskSpace,HINF InfHandle,HINF ListInfHandle,PCSTR SectionName,UINT Operation,PVOID Reserved1,UINT Reserved2); 1357 WINSETUPAPI WINBOOL WINAPI SetupAddSectionToDiskSpaceListW(HDSKSPC DiskSpace,HINF InfHandle,HINF ListInfHandle,PCWSTR SectionName,UINT Operation,PVOID Reserved1,UINT Reserved2); 1358 WINSETUPAPI WINBOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(HDSKSPC DiskSpace,HINF InfHandle,HINF LayoutInfHandle,PCSTR SectionName,PVOID Reserved1,UINT Reserved2); 1359 WINSETUPAPI WINBOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(HDSKSPC DiskSpace,HINF InfHandle,HINF LayoutInfHandle,PCWSTR SectionName,PVOID Reserved1,UINT Reserved2); 1360 WINSETUPAPI WINBOOL WINAPI SetupRemoveFromDiskSpaceListA(HDSKSPC DiskSpace,PCSTR TargetFilespec,UINT Operation,PVOID Reserved1,UINT Reserved2); 1361 WINSETUPAPI WINBOOL WINAPI SetupRemoveFromDiskSpaceListW(HDSKSPC DiskSpace,PCWSTR TargetFilespec,UINT Operation,PVOID Reserved1,UINT Reserved2); 1362 WINSETUPAPI WINBOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(HDSKSPC DiskSpace,HINF InfHandle,HINF ListInfHandle,PCSTR SectionName,UINT Operation,PVOID Reserved1,UINT Reserved2); 1363 WINSETUPAPI WINBOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(HDSKSPC DiskSpace,HINF InfHandle,HINF ListInfHandle,PCWSTR SectionName,UINT Operation,PVOID Reserved1,UINT Reserved2); 1364 WINSETUPAPI WINBOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC DiskSpace,HINF InfHandle,HINF LayoutInfHandle,PCSTR SectionName,PVOID Reserved1,UINT Reserved2); 1365 WINSETUPAPI WINBOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC DiskSpace,HINF InfHandle,HINF LayoutInfHandle,PCWSTR SectionName,PVOID Reserved1,UINT Reserved2); 1366 WINSETUPAPI WINBOOL WINAPI SetupIterateCabinetA(PCSTR CabinetFile,DWORD Reserved,PSP_FILE_CALLBACK_A MsgHandler,PVOID Context); 1367 WINSETUPAPI WINBOOL WINAPI SetupIterateCabinetW(PCWSTR CabinetFile,DWORD Reserved,PSP_FILE_CALLBACK_W MsgHandler,PVOID Context); 1368 WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ FileQueue,HWND Owner,WINBOOL ScanOnly); 1369 1370 #define SPFILEQ_FILE_IN_USE 0x00000001 1371 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 1372 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 1373 1374 #define SetupDefaultQueueCallback __MINGW_NAME_AW(SetupDefaultQueueCallback) 1375 1376 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(HWND OwnerWindow); 1377 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND OwnerWindow,HWND AlternateProgressWindow,UINT ProgressMessage,DWORD Reserved1,PVOID Reserved2); 1378 WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(PVOID Context); 1379 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2); 1380 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2); 1381 1382 #define FLG_ADDREG_DELREG_BIT (0x00008000) 1383 #define FLG_ADDREG_BINVALUETYPE (0x00000001) 1384 #define FLG_ADDREG_NOCLOBBER (0x00000002) 1385 #define FLG_ADDREG_DELVAL (0x00000004) 1386 #define FLG_ADDREG_APPEND (0x00000008) 1387 #define FLG_ADDREG_KEYONLY (0x00000010) 1388 #define FLG_ADDREG_OVERWRITEONLY (0x00000020) 1389 #define FLG_ADDREG_64BITKEY (0x00001000) 1390 #define FLG_ADDREG_KEYONLY_COMMON (0x00002000) 1391 #define FLG_ADDREG_32BITKEY (0x00004000) 1392 #define FLG_ADDREG_TYPE_MASK (0xFFFF0000 | FLG_ADDREG_BINVALUETYPE) 1393 #define FLG_ADDREG_TYPE_SZ (0x00000000) 1394 #define FLG_ADDREG_TYPE_MULTI_SZ (0x00010000) 1395 #define FLG_ADDREG_TYPE_EXPAND_SZ (0x00020000) 1396 #define FLG_ADDREG_TYPE_BINARY (0x00000000 | FLG_ADDREG_BINVALUETYPE) 1397 #define FLG_ADDREG_TYPE_DWORD (0x00010000 | FLG_ADDREG_BINVALUETYPE) 1398 #define FLG_ADDREG_TYPE_NONE (0x00020000 | FLG_ADDREG_BINVALUETYPE) 1399 1400 #define FLG_DELREG_VALUE (0x00000000) 1401 1402 #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK 1403 #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ 1404 #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ 1405 #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ 1406 #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY 1407 #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD 1408 #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE 1409 #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY 1410 #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON 1411 #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY 1412 1413 #define FLG_DELREG_OPERATION_MASK (0x000000FE) 1414 #define FLG_DELREG_MULTI_SZ_DELSTRING (FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT | 0x00000002) 1415 1416 #define FLG_BITREG_CLEARBITS (0x00000000) 1417 #define FLG_BITREG_SETBITS (0x00000001) 1418 1419 #define FLG_BITREG_64BITKEY (0x00001000) 1420 #define FLG_BITREG_32BITKEY (0x00004000) 1421 #define FLG_INI2REG_64BITKEY (0x00001000) 1422 #define FLG_INI2REG_32BITKEY (0x00004000) 1423 #define FLG_REGSVR_DLLREGISTER (0x00000001) 1424 #define FLG_REGSVR_DLLINSTALL (0x00000002) 1425 1426 #define FLG_PROFITEM_CURRENTUSER (0x00000001) 1427 #define FLG_PROFITEM_DELETE (0x00000002) 1428 #define FLG_PROFITEM_GROUP (0x00000004) 1429 #define FLG_PROFITEM_CSIDL (0x00000008) 1430 1431 #define SetupInstallFromInfSection __MINGW_NAME_AW(SetupInstallFromInfSection) 1432 1433 WINSETUPAPI WINBOOL WINAPI SetupInstallFromInfSectionA(HWND Owner,HINF InfHandle,PCSTR SectionName,UINT Flags,HKEY RelativeKeyRoot,PCSTR SourceRootPath,UINT CopyFlags,PSP_FILE_CALLBACK_A MsgHandler,PVOID Context,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1434 WINSETUPAPI WINBOOL WINAPI SetupInstallFromInfSectionW(HWND Owner,HINF InfHandle,PCWSTR SectionName,UINT Flags,HKEY RelativeKeyRoot,PCWSTR SourceRootPath,UINT CopyFlags,PSP_FILE_CALLBACK_W MsgHandler,PVOID Context,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1435 1436 #define SPINST_LOGCONFIG 0x00000001 1437 #define SPINST_INIFILES 0x00000002 1438 #define SPINST_REGISTRY 0x00000004 1439 #define SPINST_INI2REG 0x00000008 1440 #define SPINST_FILES 0x00000010 1441 #define SPINST_BITREG 0x00000020 1442 #define SPINST_REGSVR 0x00000040 1443 #define SPINST_UNREGSVR 0x00000080 1444 #define SPINST_PROFILEITEMS 0x00000100 1445 #define SPINST_COPYINF 0x00000200 1446 #define SPINST_ALL 0x000003ff 1447 #define SPINST_SINGLESECTION 0x00010000 1448 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000 1449 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000 1450 #define SPINST_REGISTERCALLBACKAWARE 0x00080000 1451 1452 #define SetupInstallFilesFromInfSection __MINGW_NAME_AW(SetupInstallFilesFromInfSection) 1453 1454 WINSETUPAPI WINBOOL WINAPI SetupInstallFilesFromInfSectionA(HINF InfHandle,HINF LayoutInfHandle,HSPFILEQ FileQueue,PCSTR SectionName,PCSTR SourceRootPath,UINT CopyFlags); 1455 WINSETUPAPI WINBOOL WINAPI SetupInstallFilesFromInfSectionW(HINF InfHandle,HINF LayoutInfHandle,HSPFILEQ FileQueue,PCWSTR SectionName,PCWSTR SourceRootPath,UINT CopyFlags); 1456 1457 #define SPSVCINST_TAGTOFRONT (0x00000001) 1458 #define SPSVCINST_ASSOCSERVICE (0x00000002) 1459 #define SPSVCINST_DELETEEVENTLOGENTRY (0x00000004) 1460 #define SPSVCINST_NOCLOBBER_DISPLAYNAME (0x00000008) 1461 #define SPSVCINST_NOCLOBBER_STARTTYPE (0x00000010) 1462 #define SPSVCINST_NOCLOBBER_ERRORCONTROL (0x00000020) 1463 #define SPSVCINST_NOCLOBBER_LOADORDERGROUP (0x00000040) 1464 #define SPSVCINST_NOCLOBBER_DEPENDENCIES (0x00000080) 1465 #define SPSVCINST_NOCLOBBER_DESCRIPTION (0x00000100) 1466 #define SPSVCINST_STOPSERVICE (0x00000200) 1467 #define SPSVCINST_CLOBBER_SECURITY (0x00000400) 1468 1469 #define SPFILELOG_SYSTEMLOG 0x00000001 1470 #define SPFILELOG_FORCENEW 0x00000002 1471 #define SPFILELOG_QUERYONLY 0x00000004 1472 1473 #define SPFILELOG_OEMFILE 0x00000001 1474 1475 typedef PVOID HSPFILELOG; 1476 1477 #define SetupInstallServicesFromInfSection __MINGW_NAME_AW(SetupInstallServicesFromInfSection) 1478 #define SetupInstallServicesFromInfSectionEx __MINGW_NAME_AW(SetupInstallServicesFromInfSectionEx) 1479 #define InstallHinfSection __MINGW_NAME_AW(InstallHinfSection) 1480 #define SetupInitializeFileLog __MINGW_NAME_AW(SetupInitializeFileLog) 1481 #define SetupLogFile __MINGW_NAME_AW(SetupLogFile) 1482 #define SetupRemoveFileLogEntry __MINGW_NAME_AW(SetupRemoveFileLogEntry) 1483 1484 WINSETUPAPI WINBOOL WINAPI SetupInstallServicesFromInfSectionA(HINF InfHandle,PCSTR SectionName,DWORD Flags); 1485 WINSETUPAPI WINBOOL WINAPI SetupInstallServicesFromInfSectionW(HINF InfHandle,PCWSTR SectionName,DWORD Flags); 1486 WINSETUPAPI WINBOOL WINAPI SetupInstallServicesFromInfSectionExA(HINF InfHandle,PCSTR SectionName,DWORD Flags,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PVOID Reserved1,PVOID Reserved2); 1487 WINSETUPAPI WINBOOL WINAPI SetupInstallServicesFromInfSectionExW(HINF InfHandle,PCWSTR SectionName,DWORD Flags,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PVOID Reserved1,PVOID Reserved2); 1488 VOID WINAPI InstallHinfSectionA(HWND Window,HINSTANCE ModuleHandle,PCSTR CommandLine,INT ShowCommand); 1489 VOID WINAPI InstallHinfSectionW(HWND Window,HINSTANCE ModuleHandle,PCWSTR CommandLine,INT ShowCommand); 1490 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(PCSTR LogFileName,DWORD Flags); 1491 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(PCWSTR LogFileName,DWORD Flags); 1492 WINSETUPAPI WINBOOL WINAPI SetupTerminateFileLog(HSPFILELOG FileLogHandle); 1493 WINSETUPAPI WINBOOL WINAPI SetupLogFileA(HSPFILELOG FileLogHandle,PCSTR LogSectionName,PCSTR SourceFilename,PCSTR TargetFilename,DWORD Checksum,PCSTR DiskTagfile,PCSTR DiskDescription,PCSTR OtherInfo,DWORD Flags); 1494 WINSETUPAPI WINBOOL WINAPI SetupLogFileW(HSPFILELOG FileLogHandle,PCWSTR LogSectionName,PCWSTR SourceFilename,PCWSTR TargetFilename,DWORD Checksum,PCWSTR DiskTagfile,PCWSTR DiskDescription,PCWSTR OtherInfo,DWORD Flags); 1495 WINSETUPAPI WINBOOL WINAPI SetupRemoveFileLogEntryA(HSPFILELOG FileLogHandle,PCSTR LogSectionName,PCSTR TargetFilename); 1496 WINSETUPAPI WINBOOL WINAPI SetupRemoveFileLogEntryW(HSPFILELOG FileLogHandle,PCWSTR LogSectionName,PCWSTR TargetFilename); 1497 1498 typedef enum { 1499 SetupFileLogSourceFilename,SetupFileLogChecksum,SetupFileLogDiskTagfile,SetupFileLogDiskDescription,SetupFileLogOtherInfo,SetupFileLogMax 1500 } SetupFileLogInfo; 1501 1502 #define SetupQueryFileLog __MINGW_NAME_AW(SetupQueryFileLog) 1503 1504 WINSETUPAPI WINBOOL WINAPI SetupQueryFileLogA(HSPFILELOG FileLogHandle,PCSTR LogSectionName,PCSTR TargetFilename,SetupFileLogInfo DesiredInfo,PSTR DataOut,DWORD ReturnBufferSize,PDWORD RequiredSize); 1505 WINSETUPAPI WINBOOL WINAPI SetupQueryFileLogW(HSPFILELOG FileLogHandle,PCWSTR LogSectionName,PCWSTR TargetFilename,SetupFileLogInfo DesiredInfo,PWSTR DataOut,DWORD ReturnBufferSize,PDWORD RequiredSize); 1506 1507 #define LogSeverity DWORD 1508 #define LogSevInformation 0x00000000 1509 #define LogSevWarning 0x00000001 1510 #define LogSevError 0x00000002 1511 #define LogSevFatalError 0x00000003 1512 #define LogSevMaximum 0x00000004 1513 1514 #define DICD_GENERATE_ID 0x00000001 1515 #define DICD_INHERIT_CLASSDRVS 0x00000002 1516 1517 #define DIOD_INHERIT_CLASSDRVS 0x00000002 1518 #define DIOD_CANCEL_REMOVE 0x00000004 1519 1520 #define DIODI_NO_ADD 0x00000001 1521 1522 #define SPRDI_FIND_DUPS 0x00000001 1523 1524 #define SPDIT_NODRIVER 0x00000000 1525 #define SPDIT_CLASSDRIVER 0x00000001 1526 #define SPDIT_COMPATDRIVER 0x00000002 1527 1528 #define SetupLogError __MINGW_NAME_AW(SetupLogError) 1529 #define SetupGetBackupInformation __MINGW_NAME_AW(SetupGetBackupInformation) 1530 #define SetupPrepareQueueForRestore __MINGW_NAME_AW(SetupPrepareQueueForRestore) 1531 #define SetupDiCreateDeviceInfoListEx __MINGW_NAME_AW(SetupDiCreateDeviceInfoListEx) 1532 #define SetupDiGetDeviceInfoListDetail __MINGW_NAME_AW(SetupDiGetDeviceInfoListDetail) 1533 #define SetupDiCreateDeviceInfo __MINGW_NAME_AW(SetupDiCreateDeviceInfo) 1534 #define SetupDiOpenDeviceInfo __MINGW_NAME_AW(SetupDiOpenDeviceInfo) 1535 #define SetupDiGetDeviceInstanceId __MINGW_NAME_AW(SetupDiGetDeviceInstanceId) 1536 #define SetupDiCreateDeviceInterface __MINGW_NAME_AW(SetupDiCreateDeviceInterface) 1537 #define SetupDiCreateInterfaceDevice __MINGW_NAME_AW(SetupDiCreateDeviceInterface) 1538 #define SetupDiOpenDeviceInterface __MINGW_NAME_AW(SetupDiOpenDeviceInterface) 1539 1540 WINSETUPAPI WINBOOL WINAPI SetupOpenLog(WINBOOL Erase); 1541 WINSETUPAPI WINBOOL WINAPI SetupLogErrorA(LPCSTR MessageString,LogSeverity Severity); 1542 WINSETUPAPI WINBOOL WINAPI SetupLogErrorW(LPCWSTR MessageString,LogSeverity Severity); 1543 WINSETUPAPI VOID WINAPI SetupCloseLog(VOID); 1544 WINSETUPAPI WINBOOL WINAPI SetupGetBackupInformationA(HSPFILEQ QueueHandle,PSP_BACKUP_QUEUE_PARAMS_A BackupParams); 1545 WINSETUPAPI WINBOOL WINAPI SetupGetBackupInformationW(HSPFILEQ QueueHandle,PSP_BACKUP_QUEUE_PARAMS_W BackupParams); 1546 WINSETUPAPI WINBOOL WINAPI SetupPrepareQueueForRestoreA(HSPFILEQ QueueHandle,PCSTR BackupPath,DWORD RestoreFlags); 1547 WINSETUPAPI WINBOOL WINAPI SetupPrepareQueueForRestoreW(HSPFILEQ QueueHandle,PCWSTR BackupPath,DWORD RestoreFlags); 1548 WINSETUPAPI WINBOOL WINAPI SetupSetNonInteractiveMode(WINBOOL NonInteractiveFlag); 1549 WINSETUPAPI WINBOOL WINAPI SetupGetNonInteractiveMode(VOID); 1550 WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(CONST GUID *ClassGuid,HWND hwndParent); 1551 WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(CONST GUID *ClassGuid,HWND hwndParent,PCSTR MachineName,PVOID Reserved); 1552 WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(CONST GUID *ClassGuid,HWND hwndParent,PCWSTR MachineName,PVOID Reserved); 1553 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInfoListClass(HDEVINFO DeviceInfoSet,LPGUID ClassGuid); 1554 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_LIST_DETAIL_DATA_A DeviceInfoSetDetailData); 1555 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_LIST_DETAIL_DATA_W DeviceInfoSetDetailData); 1556 WINSETUPAPI WINBOOL WINAPI SetupDiCreateDeviceInfoA(HDEVINFO DeviceInfoSet,PCSTR DeviceName,CONST GUID *ClassGuid,PCSTR DeviceDescription,HWND hwndParent,DWORD CreationFlags,PSP_DEVINFO_DATA DeviceInfoData); 1557 WINSETUPAPI WINBOOL WINAPI SetupDiCreateDeviceInfoW(HDEVINFO DeviceInfoSet,PCWSTR DeviceName,CONST GUID *ClassGuid,PCWSTR DeviceDescription,HWND hwndParent,DWORD CreationFlags,PSP_DEVINFO_DATA DeviceInfoData); 1558 WINSETUPAPI WINBOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO DeviceInfoSet,PCSTR DeviceInstanceId,HWND hwndParent,DWORD OpenFlags,PSP_DEVINFO_DATA DeviceInfoData); 1559 WINSETUPAPI WINBOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO DeviceInfoSet,PCWSTR DeviceInstanceId,HWND hwndParent,DWORD OpenFlags,PSP_DEVINFO_DATA DeviceInfoData); 1560 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInstanceIdA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSTR DeviceInstanceId,DWORD DeviceInstanceIdSize,PDWORD RequiredSize); 1561 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInstanceIdW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PWSTR DeviceInstanceId,DWORD DeviceInstanceIdSize,PDWORD RequiredSize); 1562 WINSETUPAPI WINBOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1563 WINSETUPAPI WINBOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO DeviceInfoSet,DWORD MemberIndex,PSP_DEVINFO_DATA DeviceInfoData); 1564 WINSETUPAPI WINBOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO DeviceInfoSet); 1565 WINSETUPAPI WINBOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,CONST GUID *InterfaceClassGuid,DWORD MemberIndex,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1566 #define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces 1567 WINSETUPAPI WINBOOL WINAPI SetupDiCreateDeviceInterfaceA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,CONST GUID *InterfaceClassGuid,PCSTR ReferenceString,DWORD CreationFlags,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1568 WINSETUPAPI WINBOOL WINAPI SetupDiCreateDeviceInterfaceW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,CONST GUID *InterfaceClassGuid,PCWSTR ReferenceString,DWORD CreationFlags,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1569 #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW 1570 #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA 1571 WINSETUPAPI WINBOOL WINAPI SetupDiOpenDeviceInterfaceA(HDEVINFO DeviceInfoSet,PCSTR DevicePath,DWORD OpenFlags,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1572 WINSETUPAPI WINBOOL WINAPI SetupDiOpenDeviceInterfaceW(HDEVINFO DeviceInfoSet,PCWSTR DevicePath,DWORD OpenFlags,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1573 #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW 1574 #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA 1575 1576 #define SetupDiOpenInterfaceDevice __MINGW_NAME_AW(SetupDiOpenDeviceInterface) 1577 #define SetupDiGetDeviceInterfaceDetail __MINGW_NAME_AW(SetupDiGetDeviceInterfaceDetail) 1578 #define SetupDiGetInterfaceDeviceDetail __MINGW_NAME_AW(SetupDiGetDeviceInterfaceDetail) 1579 #define SetupDiEnumDriverInfo __MINGW_NAME_AW(SetupDiEnumDriverInfo) 1580 #define SetupDiGetSelectedDriver __MINGW_NAME_AW(SetupDiGetSelectedDriver) 1581 #define SetupDiSetSelectedDriver __MINGW_NAME_AW(SetupDiSetSelectedDriver) 1582 #define SetupDiGetDriverInfoDetail __MINGW_NAME_AW(SetupDiGetDriverInfoDetail) 1583 1584 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInterfaceAlias(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,CONST GUID *AliasInterfaceClassGuid,PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData); 1585 #define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias 1586 WINSETUPAPI WINBOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1587 #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData 1588 WINSETUPAPI WINBOOL WINAPI SetupDiRemoveDeviceInterface(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData); 1589 #define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface 1590 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,DWORD DeviceInterfaceDetailDataSize,PDWORD RequiredSize,PSP_DEVINFO_DATA DeviceInfoData); 1591 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData,DWORD DeviceInterfaceDetailDataSize,PDWORD RequiredSize,PSP_DEVINFO_DATA DeviceInfoData); 1592 #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW 1593 #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA 1594 WINSETUPAPI WINBOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1595 #define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces 1596 WINSETUPAPI WINBOOL WINAPI SetupDiSetDeviceInterfaceDefault(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,DWORD Flags,PVOID Reserved); 1597 WINSETUPAPI WINBOOL WINAPI SetupDiRegisterDeviceInfo(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Flags,PSP_DETSIG_CMPPROC CompareProc,PVOID CompareContext,PSP_DEVINFO_DATA DupDeviceInfoData); 1598 WINSETUPAPI WINBOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD DriverType); 1599 WINSETUPAPI WINBOOL WINAPI SetupDiCancelDriverInfoSearch(HDEVINFO DeviceInfoSet); 1600 WINSETUPAPI WINBOOL WINAPI SetupDiEnumDriverInfoA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD DriverType,DWORD MemberIndex,PSP_DRVINFO_DATA_A DriverInfoData); 1601 WINSETUPAPI WINBOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD DriverType,DWORD MemberIndex,PSP_DRVINFO_DATA_W DriverInfoData); 1602 WINSETUPAPI WINBOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_A DriverInfoData); 1603 WINSETUPAPI WINBOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_W DriverInfoData); 1604 WINSETUPAPI WINBOOL WINAPI SetupDiSetSelectedDriverA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_A DriverInfoData); 1605 WINSETUPAPI WINBOOL WINAPI SetupDiSetSelectedDriverW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_W DriverInfoData); 1606 WINSETUPAPI WINBOOL WINAPI SetupDiGetDriverInfoDetailA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_A DriverInfoData,PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,DWORD DriverInfoDetailDataSize,PDWORD RequiredSize); 1607 WINSETUPAPI WINBOOL WINAPI SetupDiGetDriverInfoDetailW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_W DriverInfoData,PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData,DWORD DriverInfoDetailDataSize,PDWORD RequiredSize); 1608 WINSETUPAPI WINBOOL WINAPI SetupDiDestroyDriverInfoList(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD DriverType); 1609 1610 #define DIGCF_DEFAULT 0x00000001 1611 #define DIGCF_PRESENT 0x00000002 1612 #define DIGCF_ALLCLASSES 0x00000004 1613 #define DIGCF_PROFILE 0x00000008 1614 #define DIGCF_DEVICEINTERFACE 0x00000010 1615 1616 #define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE 1617 1618 #define DIBCI_NOINSTALLCLASS 0x00000001 1619 #define DIBCI_NODISPLAYCLASS 0x00000002 1620 1621 #define SetupDiGetClassDevs __MINGW_NAME_AW(SetupDiGetClassDevs) 1622 #define SetupDiGetClassDevsEx __MINGW_NAME_AW(SetupDiGetClassDevsEx) 1623 #define SetupDiGetINFClass __MINGW_NAME_AW(SetupDiGetINFClass) 1624 #define SetupDiBuildClassInfoListEx __MINGW_NAME_AW(SetupDiBuildClassInfoListEx) 1625 #define SetupDiGetClassDescription __MINGW_NAME_AW(SetupDiGetClassDescription) 1626 #define SetupDiGetClassDescriptionEx __MINGW_NAME_AW(SetupDiGetClassDescriptionEx) 1627 #define SetupDiInstallClass __MINGW_NAME_AW(SetupDiInstallClass) 1628 #define SetupDiInstallClassEx __MINGW_NAME_AW(SetupDiInstallClassEx) 1629 #define SetupDiOpenClassRegKeyEx __MINGW_NAME_AW(SetupDiOpenClassRegKeyEx) 1630 #define SetupDiCreateDeviceInterfaceRegKey __MINGW_NAME_AW(SetupDiCreateDeviceInterfaceRegKey) 1631 #define SetupDiCreateInterfaceDeviceRegKey __MINGW_NAME_AW(SetupDiCreateDeviceInterfaceRegKey) 1632 #define SetupDiCreateDevRegKey __MINGW_NAME_AW(SetupDiCreateDevRegKey) 1633 #define SetupDiGetHwProfileListEx __MINGW_NAME_AW(SetupDiGetHwProfileListEx) 1634 1635 WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID *ClassGuid,PCSTR Enumerator,HWND hwndParent,DWORD Flags); 1636 WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID *ClassGuid,PCWSTR Enumerator,HWND hwndParent,DWORD Flags); 1637 WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(CONST GUID *ClassGuid,PCSTR Enumerator,HWND hwndParent,DWORD Flags,HDEVINFO DeviceInfoSet,PCSTR MachineName,PVOID Reserved); 1638 WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID *ClassGuid,PCWSTR Enumerator,HWND hwndParent,DWORD Flags,HDEVINFO DeviceInfoSet,PCWSTR MachineName,PVOID Reserved); 1639 WINSETUPAPI WINBOOL WINAPI SetupDiGetINFClassA(PCSTR InfName,LPGUID ClassGuid,PSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize); 1640 WINSETUPAPI WINBOOL WINAPI SetupDiGetINFClassW(PCWSTR InfName,LPGUID ClassGuid,PWSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize); 1641 WINSETUPAPI WINBOOL WINAPI SetupDiBuildClassInfoList(DWORD Flags,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize); 1642 WINSETUPAPI WINBOOL WINAPI SetupDiBuildClassInfoListExA(DWORD Flags,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1643 WINSETUPAPI WINBOOL WINAPI SetupDiBuildClassInfoListExW(DWORD Flags,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1644 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDescriptionA(CONST GUID *ClassGuid,PSTR ClassDescription,DWORD ClassDescriptionSize,PDWORD RequiredSize); 1645 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDescriptionW(CONST GUID *ClassGuid,PWSTR ClassDescription,DWORD ClassDescriptionSize,PDWORD RequiredSize); 1646 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDescriptionExA(CONST GUID *ClassGuid,PSTR ClassDescription,DWORD ClassDescriptionSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1647 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDescriptionExW(CONST GUID *ClassGuid,PWSTR ClassDescription,DWORD ClassDescriptionSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1648 WINSETUPAPI WINBOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION InstallFunction,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1649 WINSETUPAPI WINBOOL WINAPI SetupDiSelectDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1650 WINSETUPAPI WINBOOL WINAPI SetupDiSelectBestCompatDrv(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1651 WINSETUPAPI WINBOOL WINAPI SetupDiInstallDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1652 WINSETUPAPI WINBOOL WINAPI SetupDiInstallDriverFiles(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1653 WINSETUPAPI WINBOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1654 WINSETUPAPI WINBOOL WINAPI SetupDiRemoveDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1655 WINSETUPAPI WINBOOL WINAPI SetupDiUnremoveDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1656 WINSETUPAPI WINBOOL WINAPI SetupDiRestartDevices(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1657 WINSETUPAPI WINBOOL WINAPI SetupDiChangeState(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1658 WINSETUPAPI WINBOOL WINAPI SetupDiInstallClassA(HWND hwndParent,PCSTR InfFileName,DWORD Flags,HSPFILEQ FileQueue); 1659 WINSETUPAPI WINBOOL WINAPI SetupDiInstallClassW(HWND hwndParent,PCWSTR InfFileName,DWORD Flags,HSPFILEQ FileQueue); 1660 WINSETUPAPI WINBOOL WINAPI SetupDiInstallClassExA(HWND hwndParent,PCSTR InfFileName,DWORD Flags,HSPFILEQ FileQueue,CONST GUID *InterfaceClassGuid,PVOID Reserved1,PVOID Reserved2); 1661 WINSETUPAPI WINBOOL WINAPI SetupDiInstallClassExW(HWND hwndParent,PCWSTR InfFileName,DWORD Flags,HSPFILEQ FileQueue,CONST GUID *InterfaceClassGuid,PVOID Reserved1,PVOID Reserved2); 1662 WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey(CONST GUID *ClassGuid,REGSAM samDesired); 1663 1664 #define DIOCR_INSTALLER 0x00000001 1665 #define DIOCR_INTERFACE 0x00000002 1666 1667 WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA(CONST GUID *ClassGuid,REGSAM samDesired,DWORD Flags,PCSTR MachineName,PVOID Reserved); 1668 WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW(CONST GUID *ClassGuid,REGSAM samDesired,DWORD Flags,PCWSTR MachineName,PVOID Reserved); 1669 WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,DWORD Reserved,REGSAM samDesired,HINF InfHandle,PCSTR InfSectionName); 1670 WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,DWORD Reserved,REGSAM samDesired,HINF InfHandle,PCWSTR InfSectionName); 1671 1672 #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW 1673 #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA 1674 1675 WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,DWORD Reserved,REGSAM samDesired); 1676 #define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey 1677 WINSETUPAPI WINBOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO DeviceInfoSet,PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,DWORD Reserved); 1678 #define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey 1679 1680 #define DIREG_DEV 0x00000001 1681 #define DIREG_DRV 0x00000002 1682 #define DIREG_BOTH 0x00000004 1683 1684 WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Scope,DWORD HwProfile,DWORD KeyType,HINF InfHandle,PCSTR InfSectionName); 1685 WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Scope,DWORD HwProfile,DWORD KeyType,HINF InfHandle,PCWSTR InfSectionName); 1686 WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Scope,DWORD HwProfile,DWORD KeyType,REGSAM samDesired); 1687 WINSETUPAPI WINBOOL WINAPI SetupDiDeleteDevRegKey(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Scope,DWORD HwProfile,DWORD KeyType); 1688 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileList(PDWORD HwProfileList,DWORD HwProfileListSize,PDWORD RequiredSize,PDWORD CurrentlyActiveIndex); 1689 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileListExA(PDWORD HwProfileList,DWORD HwProfileListSize,PDWORD RequiredSize,PDWORD CurrentlyActiveIndex,PCSTR MachineName,PVOID Reserved); 1690 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileListExW(PDWORD HwProfileList,DWORD HwProfileListSize,PDWORD RequiredSize,PDWORD CurrentlyActiveIndex,PCWSTR MachineName,PVOID Reserved); 1691 1692 #define SPDRP_DEVICEDESC (0x00000000) 1693 #define SPDRP_HARDWAREID (0x00000001) 1694 #define SPDRP_COMPATIBLEIDS (0x00000002) 1695 #define SPDRP_UNUSED0 (0x00000003) 1696 #define SPDRP_SERVICE (0x00000004) 1697 #define SPDRP_UNUSED1 (0x00000005) 1698 #define SPDRP_UNUSED2 (0x00000006) 1699 #define SPDRP_CLASS (0x00000007) 1700 #define SPDRP_CLASSGUID (0x00000008) 1701 #define SPDRP_DRIVER (0x00000009) 1702 #define SPDRP_CONFIGFLAGS (0x0000000A) 1703 #define SPDRP_MFG (0x0000000B) 1704 #define SPDRP_FRIENDLYNAME (0x0000000C) 1705 #define SPDRP_LOCATION_INFORMATION (0x0000000D) 1706 #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000E) 1707 #define SPDRP_CAPABILITIES (0x0000000F) 1708 #define SPDRP_UI_NUMBER (0x00000010) 1709 #define SPDRP_UPPERFILTERS (0x00000011) 1710 #define SPDRP_LOWERFILTERS (0x00000012) 1711 #define SPDRP_BUSTYPEGUID (0x00000013) 1712 #define SPDRP_LEGACYBUSTYPE (0x00000014) 1713 #define SPDRP_BUSNUMBER (0x00000015) 1714 #define SPDRP_ENUMERATOR_NAME (0x00000016) 1715 #define SPDRP_SECURITY (0x00000017) 1716 #define SPDRP_SECURITY_SDS (0x00000018) 1717 #define SPDRP_DEVTYPE (0x00000019) 1718 #define SPDRP_EXCLUSIVE (0x0000001A) 1719 #define SPDRP_CHARACTERISTICS (0x0000001B) 1720 #define SPDRP_ADDRESS (0x0000001C) 1721 #define SPDRP_UI_NUMBER_DESC_FORMAT (0X0000001D) 1722 #define SPDRP_DEVICE_POWER_DATA (0x0000001E) 1723 #define SPDRP_REMOVAL_POLICY (0x0000001F) 1724 #define SPDRP_REMOVAL_POLICY_HW_DEFAULT (0x00000020) 1725 #define SPDRP_REMOVAL_POLICY_OVERRIDE (0x00000021) 1726 #define SPDRP_INSTALL_STATE (0x00000022) 1727 #define SPDRP_LOCATION_PATHS (0x00000023) 1728 #define SPDRP_MAXIMUM_PROPERTY (0x00000024) 1729 #define SPCRP_SECURITY (0x00000017) 1730 #define SPCRP_SECURITY_SDS (0x00000018) 1731 #define SPCRP_DEVTYPE (0x00000019) 1732 #define SPCRP_EXCLUSIVE (0x0000001A) 1733 #define SPCRP_CHARACTERISTICS (0x0000001B) 1734 #define SPCRP_MAXIMUM_PROPERTY (0x0000001C) 1735 1736 #define SetupDiGetDeviceRegistryProperty __MINGW_NAME_AW(SetupDiGetDeviceRegistryProperty) 1737 #define SetupDiGetClassRegistryProperty __MINGW_NAME_AW(SetupDiGetClassRegistryProperty) 1738 #define SetupDiSetDeviceRegistryProperty __MINGW_NAME_AW(SetupDiSetDeviceRegistryProperty) 1739 #define SetupDiSetClassRegistryProperty __MINGW_NAME_AW(SetupDiSetClassRegistryProperty) 1740 #define SetupDiGetDeviceInstallParams __MINGW_NAME_AW(SetupDiGetDeviceInstallParams) 1741 #define SetupDiGetClassInstallParams __MINGW_NAME_AW(SetupDiGetClassInstallParams) 1742 #define SetupDiSetDeviceInstallParams __MINGW_NAME_AW(SetupDiSetDeviceInstallParams) 1743 #define SetupDiSetClassInstallParams __MINGW_NAME_AW(SetupDiSetClassInstallParams) 1744 #define SetupDiGetDriverInstallParams __MINGW_NAME_AW(SetupDiGetDriverInstallParams) 1745 #define SetupDiSetDriverInstallParams __MINGW_NAME_AW(SetupDiSetDriverInstallParams) 1746 #define SetupDiGetClassImageListEx __MINGW_NAME_AW(SetupDiGetClassImageListEx) 1747 #define SetupDiGetClassDevPropertySheets __MINGW_NAME_AW(SetupDiGetClassDevPropertySheets) 1748 #define SetupDiClassNameFromGuid __MINGW_NAME_AW(SetupDiClassNameFromGuid) 1749 #define SetupDiClassNameFromGuidEx __MINGW_NAME_AW(SetupDiClassNameFromGuidEx) 1750 #define SetupDiClassGuidsFromName __MINGW_NAME_AW(SetupDiClassGuidsFromName) 1751 #define SetupDiClassGuidsFromNameEx __MINGW_NAME_AW(SetupDiClassGuidsFromNameEx) 1752 #define SetupDiGetHwProfileFriendlyName __MINGW_NAME_AW(SetupDiGetHwProfileFriendlyName) 1753 #define SetupDiGetHwProfileFriendlyNameEx __MINGW_NAME_AW(SetupDiGetHwProfileFriendlyNameEx) 1754 #define SetupDiGetActualModelsSection __MINGW_NAME_AW(SetupDiGetActualModelsSection) 1755 #define SetupDiGetActualSectionToInstall __MINGW_NAME_AW(SetupDiGetActualSectionToInstall) 1756 #define SetupDiGetActualSectionToInstallEx __MINGW_NAME_AW(SetupDiGetActualSectionToInstallEx) 1757 #define SetupEnumInfSections __MINGW_NAME_AW(SetupEnumInfSections) 1758 1759 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Property,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize); 1760 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceRegistryPropertyW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Property,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize); 1761 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassRegistryPropertyA(CONST GUID *ClassGuid,DWORD Property,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1762 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassRegistryPropertyW(CONST GUID *ClassGuid,DWORD Property,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1763 WINSETUPAPI WINBOOL WINAPI SetupDiSetDeviceRegistryPropertyA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Property,CONST BYTE *PropertyBuffer,DWORD PropertyBufferSize); 1764 WINSETUPAPI WINBOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,DWORD Property,CONST BYTE *PropertyBuffer,DWORD PropertyBufferSize); 1765 WINSETUPAPI WINBOOL WINAPI SetupDiSetClassRegistryPropertyA(CONST GUID *ClassGuid,DWORD Property,CONST BYTE *PropertyBuffer,DWORD PropertyBufferSize,PCSTR MachineName,PVOID Reserved); 1766 WINSETUPAPI WINBOOL WINAPI SetupDiSetClassRegistryPropertyW(CONST GUID *ClassGuid,DWORD Property,CONST BYTE *PropertyBuffer,DWORD PropertyBufferSize,PCWSTR MachineName,PVOID Reserved); 1767 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DEVINSTALL_PARAMS_A DeviceInstallParams); 1768 WINSETUPAPI WINBOOL WINAPI SetupDiGetDeviceInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DEVINSTALL_PARAMS_W DeviceInstallParams); 1769 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_CLASSINSTALL_HEADER ClassInstallParams,DWORD ClassInstallParamsSize,PDWORD RequiredSize); 1770 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_CLASSINSTALL_HEADER ClassInstallParams,DWORD ClassInstallParamsSize,PDWORD RequiredSize); 1771 WINSETUPAPI WINBOOL WINAPI SetupDiSetDeviceInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DEVINSTALL_PARAMS_A DeviceInstallParams); 1772 WINSETUPAPI WINBOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DEVINSTALL_PARAMS_W DeviceInstallParams); 1773 WINSETUPAPI WINBOOL WINAPI SetupDiSetClassInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_CLASSINSTALL_HEADER ClassInstallParams,DWORD ClassInstallParamsSize); 1774 WINSETUPAPI WINBOOL WINAPI SetupDiSetClassInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_CLASSINSTALL_HEADER ClassInstallParams,DWORD ClassInstallParamsSize); 1775 WINSETUPAPI WINBOOL WINAPI SetupDiGetDriverInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_A DriverInfoData,PSP_DRVINSTALL_PARAMS DriverInstallParams); 1776 WINSETUPAPI WINBOOL WINAPI SetupDiGetDriverInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_W DriverInfoData,PSP_DRVINSTALL_PARAMS DriverInstallParams); 1777 WINSETUPAPI WINBOOL WINAPI SetupDiSetDriverInstallParamsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_A DriverInfoData,PSP_DRVINSTALL_PARAMS DriverInstallParams); 1778 WINSETUPAPI WINBOOL WINAPI SetupDiSetDriverInstallParamsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_DRVINFO_DATA_W DriverInfoData,PSP_DRVINSTALL_PARAMS DriverInstallParams); 1779 WINSETUPAPI WINBOOL WINAPI SetupDiLoadClassIcon(CONST GUID *ClassGuid,HICON *LargeIcon,PINT MiniIconIndex); 1780 1781 #define DMI_MASK 0x00000001 1782 #define DMI_BKCOLOR 0x00000002 1783 #define DMI_USERECT 0x00000004 1784 1785 WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(HDC hdc,RECT rc,INT MiniIconIndex,DWORD Flags); 1786 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassBitmapIndex(CONST GUID *ClassGuid,PINT MiniIconIndex); 1787 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData); 1788 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA ClassImageListData,PCSTR MachineName,PVOID Reserved); 1789 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA ClassImageListData,PCWSTR MachineName,PVOID Reserved); 1790 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData,CONST GUID *ClassGuid,PINT ImageIndex); 1791 WINSETUPAPI WINBOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData); 1792 1793 #define DIGCDP_FLAG_BASIC 0x00000001 1794 #define DIGCDP_FLAG_ADVANCED 0x00000002 1795 #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003 1796 #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004 1797 1798 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,LPPROPSHEETHEADERA PropertySheetHeader,DWORD PropertySheetHeaderPageListSize,PDWORD RequiredSize,DWORD PropertySheetType); 1799 WINSETUPAPI WINBOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,LPPROPSHEETHEADERW PropertySheetHeader,DWORD PropertySheetHeaderPageListSize,PDWORD RequiredSize,DWORD PropertySheetType); 1800 1801 #define IDI_RESOURCEFIRST 159 1802 #define IDI_RESOURCE 159 1803 #define IDI_RESOURCELAST 161 1804 #define IDI_RESOURCEOVERLAYFIRST 161 1805 #define IDI_RESOURCEOVERLAYLAST 161 1806 #define IDI_CONFLICT 161 1807 1808 #define IDI_CLASSICON_OVERLAYFIRST 500 1809 #define IDI_CLASSICON_OVERLAYLAST 502 1810 #define IDI_PROBLEM_OVL 500 1811 #define IDI_DISABLED_OVL 501 1812 #define IDI_FORCED_OVL 502 1813 1814 WINSETUPAPI WINBOOL WINAPI SetupDiAskForOEMDisk(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1815 WINSETUPAPI WINBOOL WINAPI SetupDiSelectOEMDrv(HWND hwndParent,HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1816 WINSETUPAPI WINBOOL WINAPI SetupDiClassNameFromGuidA(CONST GUID *ClassGuid,PSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize); 1817 WINSETUPAPI WINBOOL WINAPI SetupDiClassNameFromGuidW(CONST GUID *ClassGuid,PWSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize); 1818 WINSETUPAPI WINBOOL WINAPI SetupDiClassNameFromGuidExA(CONST GUID *ClassGuid,PSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1819 WINSETUPAPI WINBOOL WINAPI SetupDiClassNameFromGuidExW(CONST GUID *ClassGuid,PWSTR ClassName,DWORD ClassNameSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1820 WINSETUPAPI WINBOOL WINAPI SetupDiClassGuidsFromNameA(PCSTR ClassName,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize); 1821 WINSETUPAPI WINBOOL WINAPI SetupDiClassGuidsFromNameW(PCWSTR ClassName,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize); 1822 WINSETUPAPI WINBOOL WINAPI SetupDiClassGuidsFromNameExA(PCSTR ClassName,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1823 WINSETUPAPI WINBOOL WINAPI SetupDiClassGuidsFromNameExW(PCWSTR ClassName,LPGUID ClassGuidList,DWORD ClassGuidListSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1824 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileFriendlyNameA(DWORD HwProfile,PSTR FriendlyName,DWORD FriendlyNameSize,PDWORD RequiredSize); 1825 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD HwProfile,PWSTR FriendlyName,DWORD FriendlyNameSize,PDWORD RequiredSize); 1826 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileFriendlyNameExA(DWORD HwProfile,PSTR FriendlyName,DWORD FriendlyNameSize,PDWORD RequiredSize,PCSTR MachineName,PVOID Reserved); 1827 WINSETUPAPI WINBOOL WINAPI SetupDiGetHwProfileFriendlyNameExW(DWORD HwProfile,PWSTR FriendlyName,DWORD FriendlyNameSize,PDWORD RequiredSize,PCWSTR MachineName,PVOID Reserved); 1828 1829 #define SPWPT_SELECTDEVICE 0x00000001 1830 #define SPWP_USE_DEVINFO_DATA 0x00000001 1831 1832 WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PSP_INSTALLWIZARD_DATA InstallWizardData,DWORD PageType,DWORD Flags); 1833 WINSETUPAPI WINBOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1834 WINSETUPAPI WINBOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData); 1835 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualModelsSectionA(PINFCONTEXT Context,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PVOID Reserved); 1836 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualModelsSectionW(PINFCONTEXT Context,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PWSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PVOID Reserved); 1837 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualSectionToInstallA(HINF InfHandle,PCSTR InfSectionName,PSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PSTR *Extension); 1838 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualSectionToInstallW(HINF InfHandle,PCWSTR InfSectionName,PWSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PWSTR *Extension); 1839 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualSectionToInstallExA(HINF InfHandle,PCSTR InfSectionName,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PSTR *Extension,PVOID Reserved); 1840 WINSETUPAPI WINBOOL WINAPI SetupDiGetActualSectionToInstallExW(HINF InfHandle,PCWSTR InfSectionName,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PWSTR InfSectionWithExt,DWORD InfSectionWithExtSize,PDWORD RequiredSize,PWSTR *Extension,PVOID Reserved); 1841 WINSETUPAPI WINBOOL WINAPI SetupEnumInfSectionsA (HINF InfHandle,UINT Index,PSTR Buffer,UINT Size,UINT *SizeNeeded); 1842 WINSETUPAPI WINBOOL WINAPI SetupEnumInfSectionsW (HINF InfHandle,UINT Index,PWSTR Buffer,UINT Size,UINT *SizeNeeded); 1843 1844 typedef struct _SP_INF_SIGNER_INFO_A { 1845 DWORD cbSize; 1846 CHAR CatalogFile[MAX_PATH]; 1847 CHAR DigitalSigner[MAX_PATH]; 1848 CHAR DigitalSignerVersion[MAX_PATH]; 1849 } SP_INF_SIGNER_INFO_A,*PSP_INF_SIGNER_INFO_A; 1850 1851 typedef struct _SP_INF_SIGNER_INFO_W { 1852 DWORD cbSize; 1853 WCHAR CatalogFile[MAX_PATH]; 1854 WCHAR DigitalSigner[MAX_PATH]; 1855 WCHAR DigitalSignerVersion[MAX_PATH]; 1856 } SP_INF_SIGNER_INFO_W,*PSP_INF_SIGNER_INFO_W; 1857 1858 __MINGW_TYPEDEF_UAW(SP_INF_SIGNER_INFO) 1859 __MINGW_TYPEDEF_UAW(PSP_INF_SIGNER_INFO) 1860 1861 #define SetupVerifyInfFile __MINGW_NAME_AW(SetupVerifyInfFile) 1862 #define SetupDiGetCustomDeviceProperty __MINGW_NAME_AW(SetupDiGetCustomDeviceProperty) 1863 #define SetupConfigureWmiFromInfSection __MINGW_NAME_AW(SetupConfigureWmiFromInfSection) 1864 1865 WINSETUPAPI WINBOOL WINAPI SetupVerifyInfFileA(PCSTR InfName,PSP_ALTPLATFORM_INFO AltPlatformInfo,PSP_INF_SIGNER_INFO_A InfSignerInfo); 1866 WINSETUPAPI WINBOOL WINAPI SetupVerifyInfFileW(PCWSTR InfName,PSP_ALTPLATFORM_INFO AltPlatformInfo,PSP_INF_SIGNER_INFO_W InfSignerInfo); 1867 1868 #define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001 1869 1870 WINSETUPAPI WINBOOL WINAPI SetupDiGetCustomDevicePropertyA(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PCSTR CustomPropertyName,DWORD Flags,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize); 1871 WINSETUPAPI WINBOOL WINAPI SetupDiGetCustomDevicePropertyW(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA DeviceInfoData,PCWSTR CustomPropertyName,DWORD Flags,PDWORD PropertyRegDataType,PBYTE PropertyBuffer,DWORD PropertyBufferSize,PDWORD RequiredSize); 1872 1873 #define SCWMI_CLOBBER_SECURITY 0x00000001 1874 1875 WINSETUPAPI WINBOOL WINAPI SetupConfigureWmiFromInfSectionA(HINF InfHandle,PCSTR SectionName,DWORD Flags); 1876 WINSETUPAPI WINBOOL WINAPI SetupConfigureWmiFromInfSectionW(HINF InfHandle,PCWSTR SectionName,DWORD Flags); 1877 1878 #ifdef __cplusplus 1879 } 1880 #endif 1881 1882 #include <poppack.h> 1883 #endif 1884