/mingw-w64-headers/include/setupapi.h
C Header | 1169 lines | 1014 code | 150 blank | 5 comment | 0 complexity | 5919ae2c91bc0dc20a3ce8d3fe15a7c8 MD5 | raw file
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_SETUPAPI
- #define _INC_SETUPAPI
- #include <_mingw_unicode.h>
- #ifndef _SETUPAPI_
- #define WINSETUPAPI DECLSPEC_IMPORT
- #else
- #define WINSETUPAPI
- #endif
- #ifndef _SETUPAPI_VER
- #define _SETUPAPI_VER 0x0502
- #endif
- #ifndef __LPGUID_DEFINED__
- #define __LPGUID_DEFINED__
- typedef GUID *LPGUID;
- #endif
- #include <commctrl.h>
- #ifdef _WIN64
- #include <pshpack8.h>
- #else
- #include <pshpack1.h>
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define LINE_LEN 256
- #define MAX_INF_STRING_LENGTH 4096
- #define MAX_INF_SECTION_NAME_LENGTH 255
- #define MAX_TITLE_LEN 60
- #define MAX_INSTRUCTION_LEN 256
- #define MAX_LABEL_LEN 30
- #define MAX_SERVICE_NAME_LEN 256
- #define MAX_SUBTITLE_LEN 256
- #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
- typedef PVOID HINF;
- typedef struct _INFCONTEXT {
- PVOID Inf;
- PVOID CurrentInf;
- UINT Section;
- UINT Line;
- } INFCONTEXT,*PINFCONTEXT;
- typedef struct _SP_INF_INFORMATION {
- DWORD InfStyle;
- DWORD InfCount;
- BYTE VersionData[ANYSIZE_ARRAY];
- } SP_INF_INFORMATION,*PSP_INF_INFORMATION;
- typedef struct _SP_ALTPLATFORM_INFO_V2 {
- DWORD cbSize;
- DWORD Platform;
- DWORD MajorVersion;
- DWORD MinorVersion;
- WORD ProcessorArchitecture;
- __C89_NAMELESS union {
- WORD Reserved;
- WORD Flags;
- };
- DWORD FirstValidatedMajorVersion;
- DWORD FirstValidatedMinorVersion;
- } SP_ALTPLATFORM_INFO_V2,*PSP_ALTPLATFORM_INFO_V2;
- typedef struct _SP_ALTPLATFORM_INFO_V1 {
- DWORD cbSize;
- DWORD Platform;
- DWORD MajorVersion;
- DWORD MinorVersion;
- WORD ProcessorArchitecture;
- WORD Reserved;
- } SP_ALTPLATFORM_INFO_V1,*PSP_ALTPLATFORM_INFO_V1;
- #if USE_SP_ALTPLATFORM_INFO_V1
- typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO;
- typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO;
- #else
- typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO;
- typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO;
- #define SP_ALTPLATFORM_FLAGS_VERSION_RANGE (0x0001)
- #endif
- typedef struct _SP_ORIGINAL_FILE_INFO_A {
- DWORD cbSize;
- CHAR OriginalInfName[MAX_PATH];
- CHAR OriginalCatalogName[MAX_PATH];
- } SP_ORIGINAL_FILE_INFO_A,*PSP_ORIGINAL_FILE_INFO_A;
- typedef struct _SP_ORIGINAL_FILE_INFO_W {
- DWORD cbSize;
- WCHAR OriginalInfName[MAX_PATH];
- WCHAR OriginalCatalogName[MAX_PATH];
- } SP_ORIGINAL_FILE_INFO_W,*PSP_ORIGINAL_FILE_INFO_W;
- __MINGW_TYPEDEF_UAW(SP_ORIGINAL_FILE_INFO)
- __MINGW_TYPEDEF_UAW(PSP_ORIGINAL_FILE_INFO)
- #define INF_STYLE_NONE 0x00000000
- #define INF_STYLE_OLDNT 0x00000001
- #define INF_STYLE_WIN4 0x00000002
- #define INF_STYLE_CACHE_ENABLE 0x00000010
- #define INF_STYLE_CACHE_DISABLE 0x00000020
- #define INF_STYLE_CACHE_IGNORE 0x00000040
- #define DIRID_ABSOLUTE -1
- #define DIRID_ABSOLUTE_16BIT 0xffff
- #define DIRID_NULL 0
- #define DIRID_SRCPATH 1
- #define DIRID_WINDOWS 10
- #define DIRID_SYSTEM 11
- #define DIRID_DRIVERS 12
- #define DIRID_IOSUBSYS DIRID_DRIVERS
- #define DIRID_INF 17
- #define DIRID_HELP 18
- #define DIRID_FONTS 20
- #define DIRID_VIEWERS 21
- #define DIRID_COLOR 23
- #define DIRID_APPS 24
- #define DIRID_SHARED 25
- #define DIRID_BOOT 30
- #define DIRID_SYSTEM16 50
- #define DIRID_SPOOL 51
- #define DIRID_SPOOLDRIVERS 52
- #define DIRID_USERPROFILE 53
- #define DIRID_LOADER 54
- #define DIRID_PRINTPROCESSOR 55
- #define DIRID_DEFAULT DIRID_SYSTEM
- #define DIRID_COMMON_STARTMENU 16406
- #define DIRID_COMMON_PROGRAMS 16407
- #define DIRID_COMMON_STARTUP 16408
- #define DIRID_COMMON_DESKTOPDIRECTORY 16409
- #define DIRID_COMMON_FAVORITES 16415
- #define DIRID_COMMON_APPDATA 16419
- #define DIRID_PROGRAM_FILES 16422
- #define DIRID_SYSTEM_X86 16425
- #define DIRID_PROGRAM_FILES_X86 16426
- #define DIRID_PROGRAM_FILES_COMMON 16427
- #define DIRID_PROGRAM_FILES_COMMONX86 16428
- #define DIRID_COMMON_TEMPLATES 16429
- #define DIRID_COMMON_DOCUMENTS 16430
- #define DIRID_USER 0x8000
- typedef UINT (CALLBACK *PSP_FILE_CALLBACK_A)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2);
- typedef UINT (CALLBACK *PSP_FILE_CALLBACK_W)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2);
- #define PSP_FILE_CALLBACK __MINGW_NAME_UAW(PSP_FILE_CALLBACK)
- #define SPFILENOTIFY_STARTQUEUE 0x00000001
- #define SPFILENOTIFY_ENDQUEUE 0x00000002
- #define SPFILENOTIFY_STARTSUBQUEUE 0x00000003
- #define SPFILENOTIFY_ENDSUBQUEUE 0x00000004
- #define SPFILENOTIFY_STARTDELETE 0x00000005
- #define SPFILENOTIFY_ENDDELETE 0x00000006
- #define SPFILENOTIFY_DELETEERROR 0x00000007
- #define SPFILENOTIFY_STARTRENAME 0x00000008
- #define SPFILENOTIFY_ENDRENAME 0x00000009
- #define SPFILENOTIFY_RENAMEERROR 0x0000000a
- #define SPFILENOTIFY_STARTCOPY 0x0000000b
- #define SPFILENOTIFY_ENDCOPY 0x0000000c
- #define SPFILENOTIFY_COPYERROR 0x0000000d
- #define SPFILENOTIFY_NEEDMEDIA 0x0000000e
- #define SPFILENOTIFY_QUEUESCAN 0x0000000f
- #define SPFILENOTIFY_CABINETINFO 0x00000010
- #define SPFILENOTIFY_FILEINCABINET 0x00000011
- #define SPFILENOTIFY_NEEDNEWCABINET 0x00000012
- #define SPFILENOTIFY_FILEEXTRACTED 0x00000013
- #define SPFILENOTIFY_FILEOPDELAYED 0x00000014
- #define SPFILENOTIFY_STARTBACKUP 0x00000015
- #define SPFILENOTIFY_BACKUPERROR 0x00000016
- #define SPFILENOTIFY_ENDBACKUP 0x00000017
- #define SPFILENOTIFY_QUEUESCAN_EX 0x00000018
- #define SPFILENOTIFY_STARTREGISTRATION 0x00000019
- #define SPFILENOTIFY_ENDREGISTRATION 0x00000020
- #define SPFILENOTIFY_QUEUESCAN_SIGNERINFO 0x00000040
- #define SPFILENOTIFY_LANGMISMATCH 0x00010000
- #define SPFILENOTIFY_TARGETEXISTS 0x00020000
- #define SPFILENOTIFY_TARGETNEWER 0x00040000
- #define FILEOP_COPY 0
- #define FILEOP_RENAME 1
- #define FILEOP_DELETE 2
- #define FILEOP_BACKUP 3
- #define FILEOP_ABORT 0
- #define FILEOP_DOIT 1
- #define FILEOP_SKIP 2
- #define FILEOP_RETRY FILEOP_DOIT
- #define FILEOP_NEWPATH 4
- #define COPYFLG_WARN_IF_SKIP 0x00000001
- #define COPYFLG_NOSKIP 0x00000002
- #define COPYFLG_NOVERSIONCHECK 0x00000004
- #define COPYFLG_FORCE_FILE_IN_USE 0x00000008
- #define COPYFLG_NO_OVERWRITE 0x00000010
- #define COPYFLG_NO_VERSION_DIALOG 0x00000020
- #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040
- #define COPYFLG_REPLACEONLY 0x00000400
- #define COPYFLG_NODECOMP 0x00000800
- #define COPYFLG_REPLACE_BOOT_FILE 0x00001000
- #define COPYFLG_NOPRUNE 0x00002000
- #define DELFLG_IN_USE 0x00000001
- #define DELFLG_IN_USE1 0x00010000
- typedef struct _FILEPATHS_A {
- PCSTR Target;
- PCSTR Source;
- UINT Win32Error;
- DWORD Flags;
- } FILEPATHS_A,*PFILEPATHS_A;
- typedef struct _FILEPATHS_W {
- PCWSTR Target;
- PCWSTR Source;
- UINT Win32Error;
- DWORD Flags;
- } FILEPATHS_W,*PFILEPATHS_W;
- __MINGW_TYPEDEF_UAW(FILEPATHS)
- __MINGW_TYPEDEF_UAW(PFILEPATHS)
- typedef struct _FILEPATHS_SIGNERINFO_A {
- PCSTR Target;
- PCSTR Source;
- UINT Win32Error;
- DWORD Flags;
- PCSTR DigitalSigner;
- PCSTR Version;
- PCSTR CatalogFile;
- } FILEPATHS_SIGNERINFO_A,*PFILEPATHS_SIGNERINFO_A;
- typedef struct _FILEPATHS_SIGNERINFO_W {
- PCWSTR Target;
- PCWSTR Source;
- UINT Win32Error;
- DWORD Flags;
- PCWSTR DigitalSigner;
- PCWSTR Version;
- PCWSTR CatalogFile;
- } FILEPATHS_SIGNERINFO_W,*PFILEPATHS_SIGNERINFO_W;
- __MINGW_TYPEDEF_UAW(FILEPATHS_SIGNERINFO)
- __MINGW_TYPEDEF_UAW(PFILEPATHS_SIGNERINFO)
- typedef struct _SOURCE_MEDIA_A {
- PCSTR Reserved;
- PCSTR Tagfile;
- PCSTR Description;
- PCSTR SourcePath;
- PCSTR SourceFile;
- DWORD Flags;
- } SOURCE_MEDIA_A,*PSOURCE_MEDIA_A;
- typedef struct _SOURCE_MEDIA_W {
- PCWSTR Reserved;
- PCWSTR Tagfile;
- PCWSTR Description;
- PCWSTR SourcePath;
- PCWSTR SourceFile;
- DWORD Flags;
- } SOURCE_MEDIA_W,*PSOURCE_MEDIA_W;
- __MINGW_TYPEDEF_UAW(SOURCE_MEDIA)
- __MINGW_TYPEDEF_UAW(PSOURCE_MEDIA)
- typedef struct _CABINET_INFO_A {
- PCSTR CabinetPath;
- PCSTR CabinetFile;
- PCSTR DiskName;
- USHORT SetId;
- USHORT CabinetNumber;
- } CABINET_INFO_A,*PCABINET_INFO_A;
- typedef struct _CABINET_INFO_W {
- PCWSTR CabinetPath;
- PCWSTR CabinetFile;
- PCWSTR DiskName;
- USHORT SetId;
- USHORT CabinetNumber;
- } CABINET_INFO_W,*PCABINET_INFO_W;
- __MINGW_TYPEDEF_UAW(CABINET_INFO)
- __MINGW_TYPEDEF_UAW(PCABINET_INFO)
- typedef struct _FILE_IN_CABINET_INFO_A {
- PCSTR NameInCabinet;
- DWORD FileSize;
- DWORD Win32Error;
- WORD DosDate;
- WORD DosTime;
- WORD DosAttribs;
- CHAR FullTargetName[MAX_PATH];
- } FILE_IN_CABINET_INFO_A,*PFILE_IN_CABINET_INFO_A;
- typedef struct _FILE_IN_CABINET_INFO_W {
- PCWSTR NameInCabinet;
- DWORD FileSize;
- DWORD Win32Error;
- WORD DosDate;
- WORD DosTime;
- WORD DosAttribs;
- WCHAR FullTargetName[MAX_PATH];
- } FILE_IN_CABINET_INFO_W,*PFILE_IN_CABINET_INFO_W;
- __MINGW_TYPEDEF_UAW(FILE_IN_CABINET_INFO)
- __MINGW_TYPEDEF_UAW(PFILE_IN_CABINET_INFO)
- typedef struct _SP_REGISTER_CONTROL_STATUSA {
- DWORD cbSize;
- PCSTR FileName;
- DWORD Win32Error;
- DWORD FailureCode;
- } SP_REGISTER_CONTROL_STATUSA,*PSP_REGISTER_CONTROL_STATUSA;
- typedef struct _SP_REGISTER_CONTROL_STATUSW {
- DWORD cbSize;
- PCWSTR FileName;
- DWORD Win32Error;
- DWORD FailureCode;
- } SP_REGISTER_CONTROL_STATUSW,*PSP_REGISTER_CONTROL_STATUSW;
- __MINGW_TYPEDEF_AW(SP_REGISTER_CONTROL_STATUS)
- __MINGW_TYPEDEF_AW(PSP_REGISTER_CONTROL_STATUS)
- #define SPREG_SUCCESS 0x00000000
- #define SPREG_LOADLIBRARY 0x00000001
- #define SPREG_GETPROCADDR 0x00000002
- #define SPREG_REGSVR 0x00000003
- #define SPREG_DLLINSTALL 0x00000004
- #define SPREG_TIMEOUT 0x00000005
- #define SPREG_UNKNOWN 0xFFFFFFFF
- typedef PVOID HSPFILEQ;
- typedef struct _SP_FILE_COPY_PARAMS_A {
- DWORD cbSize;
- HSPFILEQ QueueHandle;
- PCSTR SourceRootPath;
- PCSTR SourcePath;
- PCSTR SourceFilename;
- PCSTR SourceDescription;
- PCSTR SourceTagfile;
- PCSTR TargetDirectory;
- PCSTR TargetFilename;
- DWORD CopyStyle;
- HINF LayoutInf;
- PCSTR SecurityDescriptor;
- } SP_FILE_COPY_PARAMS_A,*PSP_FILE_COPY_PARAMS_A;
- typedef struct _SP_FILE_COPY_PARAMS_W {
- DWORD cbSize;
- HSPFILEQ QueueHandle;
- PCWSTR SourceRootPath;
- PCWSTR SourcePath;
- PCWSTR SourceFilename;
- PCWSTR SourceDescription;
- PCWSTR SourceTagfile;
- PCWSTR TargetDirectory;
- PCWSTR TargetFilename;
- DWORD CopyStyle;
- HINF LayoutInf;
- PCWSTR SecurityDescriptor;
- } SP_FILE_COPY_PARAMS_W,*PSP_FILE_COPY_PARAMS_W;
- __MINGW_TYPEDEF_UAW(SP_FILE_COPY_PARAMS)
- __MINGW_TYPEDEF_UAW(PSP_FILE_COPY_PARAMS)
- typedef PVOID HDSKSPC;
- typedef PVOID HDEVINFO;
- typedef struct _SP_DEVINFO_DATA {
- DWORD cbSize;
- GUID ClassGuid;
- DWORD DevInst;
- ULONG_PTR Reserved;
- } SP_DEVINFO_DATA,*PSP_DEVINFO_DATA;
- typedef struct _SP_DEVICE_INTERFACE_DATA {
- DWORD cbSize;
- GUID InterfaceClassGuid;
- DWORD Flags;
- ULONG_PTR Reserved;
- } SP_DEVICE_INTERFACE_DATA,*PSP_DEVICE_INTERFACE_DATA;
- #define SPINT_ACTIVE 0x00000001
- #define SPINT_DEFAULT 0x00000002
- #define SPINT_REMOVED 0x00000004
- typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA;
- typedef PSP_DEVICE_INTERFACE_DATA PSP_INTERFACE_DEVICE_DATA;
- #define SPID_ACTIVE SPINT_ACTIVE
- #define SPID_DEFAULT SPINT_DEFAULT
- #define SPID_REMOVED SPINT_REMOVED
- typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A {
- DWORD cbSize;
- CHAR DevicePath[ANYSIZE_ARRAY];
- } SP_DEVICE_INTERFACE_DETAIL_DATA_A,*PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
- typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W {
- DWORD cbSize;
- WCHAR DevicePath[ANYSIZE_ARRAY];
- } SP_DEVICE_INTERFACE_DETAIL_DATA_W,*PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
- __MINGW_TYPEDEF_UAW(SP_DEVICE_INTERFACE_DETAIL_DATA)
- __MINGW_TYPEDEF_UAW(PSP_DEVICE_INTERFACE_DETAIL_DATA)
- typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W;
- typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_W PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
- typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A;
- typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_A PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
- __MINGW_TYPEDEF_UAW(SP_INTERFACE_DEVICE_DETAIL_DATA)
- __MINGW_TYPEDEF_UAW(PSP_INTERFACE_DEVICE_DETAIL_DATA)
- typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A {
- DWORD cbSize;
- GUID ClassGuid;
- HANDLE RemoteMachineHandle;
- CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
- } SP_DEVINFO_LIST_DETAIL_DATA_A,*PSP_DEVINFO_LIST_DETAIL_DATA_A;
- typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W {
- DWORD cbSize;
- GUID ClassGuid;
- HANDLE RemoteMachineHandle;
- WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
- } SP_DEVINFO_LIST_DETAIL_DATA_W,*PSP_DEVINFO_LIST_DETAIL_DATA_W;
- __MINGW_TYPEDEF_UAW(SP_DEVINFO_LIST_DETAIL_DATA)
- __MINGW_TYPEDEF_UAW(PSP_DEVINFO_LIST_DETAIL_DATA)
- #define DIF_SELECTDEVICE 0x00000001
- #define DIF_INSTALLDEVICE 0x00000002
- #define DIF_ASSIGNRESOURCES 0x00000003
- #define DIF_PROPERTIES 0x00000004
- #define DIF_REMOVE 0x00000005
- #define DIF_FIRSTTIMESETUP 0x00000006
- #define DIF_FOUNDDEVICE 0x00000007
- #define DIF_SELECTCLASSDRIVERS 0x00000008
- #define DIF_VALIDATECLASSDRIVERS 0x00000009
- #define DIF_INSTALLCLASSDRIVERS 0x0000000A
- #define DIF_CALCDISKSPACE 0x0000000B
- #define DIF_DESTROYPRIVATEDATA 0x0000000C
- #define DIF_VALIDATEDRIVER 0x0000000D
- #define DIF_DETECT 0x0000000F
- #define DIF_INSTALLWIZARD 0x00000010
- #define DIF_DESTROYWIZARDDATA 0x00000011
- #define DIF_PROPERTYCHANGE 0x00000012
- #define DIF_ENABLECLASS 0x00000013
- #define DIF_DETECTVERIFY 0x00000014
- #define DIF_INSTALLDEVICEFILES 0x00000015
- #define DIF_UNREMOVE 0x00000016
- #define DIF_SELECTBESTCOMPATDRV 0x00000017
- #define DIF_ALLOW_INSTALL 0x00000018
- #define DIF_REGISTERDEVICE 0x00000019
- #define DIF_NEWDEVICEWIZARD_PRESELECT 0x0000001A
- #define DIF_NEWDEVICEWIZARD_SELECT 0x0000001B
- #define DIF_NEWDEVICEWIZARD_PREANALYZE 0x0000001C
- #define DIF_NEWDEVICEWIZARD_POSTANALYZE 0x0000001D
- #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 0x0000001E
- #define DIF_UNUSED1 0x0000001F
- #define DIF_INSTALLINTERFACES 0x00000020
- #define DIF_DETECTCANCEL 0x00000021
- #define DIF_REGISTER_COINSTALLERS 0x00000022
- #define DIF_ADDPROPERTYPAGE_ADVANCED 0x00000023
- #define DIF_ADDPROPERTYPAGE_BASIC 0x00000024
- #define DIF_RESERVED1 0x00000025
- #define DIF_TROUBLESHOOTER 0x00000026
- #define DIF_POWERMESSAGEWAKE 0x00000027
- #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 0x00000028
- #define DIF_UPDATEDRIVER_UI 0x00000029
- #define DIF_RESERVED2 0x00000030
- #define DIF_MOVEDEVICE 0x0000000E
- typedef UINT DI_FUNCTION;
- typedef struct _SP_DEVINSTALL_PARAMS_A {
- DWORD cbSize;
- DWORD Flags;
- DWORD FlagsEx;
- HWND hwndParent;
- PSP_FILE_CALLBACK InstallMsgHandler;
- PVOID InstallMsgHandlerContext;
- HSPFILEQ FileQueue;
- ULONG_PTR ClassInstallReserved;
- DWORD Reserved;
- CHAR DriverPath[MAX_PATH];
- } SP_DEVINSTALL_PARAMS_A,*PSP_DEVINSTALL_PARAMS_A;
- typedef struct _SP_DEVINSTALL_PARAMS_W {
- DWORD cbSize;
- DWORD Flags;
- DWORD FlagsEx;
- HWND hwndParent;
- PSP_FILE_CALLBACK InstallMsgHandler;
- PVOID InstallMsgHandlerContext;
- HSPFILEQ FileQueue;
- ULONG_PTR ClassInstallReserved;
- DWORD Reserved;
- WCHAR DriverPath[MAX_PATH];
- } SP_DEVINSTALL_PARAMS_W,*PSP_DEVINSTALL_PARAMS_W;
- __MINGW_TYPEDEF_UAW(SP_DEVINSTALL_PARAMS)
- __MINGW_TYPEDEF_UAW(PSP_DEVINSTALL_PARAMS)
- #define DI_SHOWOEM __MSABI_LONG(0x00000001)
- #define DI_SHOWCOMPAT __MSABI_LONG(0x00000002)
- #define DI_SHOWCLASS __MSABI_LONG(0x00000004)
- #define DI_SHOWALL __MSABI_LONG(0x00000007)
- #define DI_NOVCP __MSABI_LONG(0x00000008)
- #define DI_DIDCOMPAT __MSABI_LONG(0x00000010)
- #define DI_DIDCLASS __MSABI_LONG(0x00000020)
- #define DI_AUTOASSIGNRES __MSABI_LONG(0x00000040)
- #define DI_NEEDRESTART __MSABI_LONG(0x00000080)
- #define DI_NEEDREBOOT __MSABI_LONG(0x00000100)
- #define DI_NOBROWSE __MSABI_LONG(0x00000200)
- #define DI_MULTMFGS __MSABI_LONG(0x00000400)
- #define DI_DISABLED __MSABI_LONG(0x00000800)
- #define DI_GENERALPAGE_ADDED __MSABI_LONG(0x00001000)
- #define DI_RESOURCEPAGE_ADDED __MSABI_LONG(0x00002000)
- #define DI_PROPERTIES_CHANGE __MSABI_LONG(0x00004000)
- #define DI_INF_IS_SORTED __MSABI_LONG(0x00008000)
- #define DI_ENUMSINGLEINF __MSABI_LONG(0x00010000)
- #define DI_DONOTCALLCONFIGMG __MSABI_LONG(0x00020000)
- #define DI_INSTALLDISABLED __MSABI_LONG(0x00040000)
- #define DI_COMPAT_FROM_CLASS __MSABI_LONG(0x00080000)
- #define DI_CLASSINSTALLPARAMS __MSABI_LONG(0x00100000)
- #define DI_NODI_DEFAULTACTION __MSABI_LONG(0x00200000)
- #define DI_QUIETINSTALL __MSABI_LONG(0x00800000)
- #define DI_NOFILECOPY __MSABI_LONG(0x01000000)
- #define DI_FORCECOPY __MSABI_LONG(0x02000000)
- #define DI_DRIVERPAGE_ADDED __MSABI_LONG(0x04000000)
- #define DI_USECI_SELECTSTRINGS __MSABI_LONG(0x08000000)
- #define DI_OVERRIDE_INFFLAGS __MSABI_LONG(0x10000000)
- #define DI_PROPS_NOCHANGEUSAGE __MSABI_LONG(0x20000000)
- #define DI_NOSELECTICONS __MSABI_LONG(0x40000000)
- #define DI_NOWRITE_IDS __MSABI_LONG(0x80000000)
- #define DI_FLAGSEX_USEOLDINFSEARCH __MSABI_LONG(0x00000001)
- #define DI_FLAGSEX_RESERVED2 __MSABI_LONG(0x00000002)
- #define DI_FLAGSEX_CI_FAILED __MSABI_LONG(0x00000004)
- #define DI_FLAGSEX_DIDINFOLIST __MSABI_LONG(0x00000010)
- #define DI_FLAGSEX_DIDCOMPATINFO __MSABI_LONG(0x00000020)
- #define DI_FLAGSEX_FILTERCLASSES __MSABI_LONG(0x00000040)
- #define DI_FLAGSEX_SETFAILEDINSTALL __MSABI_LONG(0x00000080)
- #define DI_FLAGSEX_DEVICECHANGE __MSABI_LONG(0x00000100)
- #define DI_FLAGSEX_ALWAYSWRITEIDS __MSABI_LONG(0x00000200)
- #define DI_FLAGSEX_PROPCHANGE_PENDING __MSABI_LONG(0x00000400)
- #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS __MSABI_LONG(0x00000800)
- #define DI_FLAGSEX_NOUIONQUERYREMOVE __MSABI_LONG(0x00001000)
- #define DI_FLAGSEX_USECLASSFORCOMPAT __MSABI_LONG(0x00002000)
- #define DI_FLAGSEX_RESERVED3 __MSABI_LONG(0x00004000)
- #define DI_FLAGSEX_NO_DRVREG_MODIFY __MSABI_LONG(0x00008000)
- #define DI_FLAGSEX_IN_SYSTEM_SETUP __MSABI_LONG(0x00010000)
- #define DI_FLAGSEX_INET_DRIVER __MSABI_LONG(0x00020000)
- #define DI_FLAGSEX_APPENDDRIVERLIST __MSABI_LONG(0x00040000)
- #define DI_FLAGSEX_PREINSTALLBACKUP __MSABI_LONG(0x00080000)
- #define DI_FLAGSEX_BACKUPONREPLACE __MSABI_LONG(0x00100000)
- #define DI_FLAGSEX_DRIVERLIST_FROM_URL __MSABI_LONG(0x00200000)
- #define DI_FLAGSEX_RESERVED1 __MSABI_LONG(0x00400000)
- #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS __MSABI_LONG(0x00800000)
- #define DI_FLAGSEX_POWERPAGE_ADDED __MSABI_LONG(0x01000000)
- #define DI_FLAGSEX_FILTERSIMILARDRIVERS __MSABI_LONG(0x02000000)
- #define DI_FLAGSEX_INSTALLEDDRIVER __MSABI_LONG(0x04000000)
- #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE __MSABI_LONG(0x08000000)
- #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH __MSABI_LONG(0x10000000)
- #define DI_FLAGSEX_RESTART_DEVICE_ONLY __MSABI_LONG(0x20000000)
- typedef struct _SP_CLASSINSTALL_HEADER {
- DWORD cbSize;
- DI_FUNCTION InstallFunction;
- } SP_CLASSINSTALL_HEADER,*PSP_CLASSINSTALL_HEADER;
- typedef struct _SP_ENABLECLASS_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- GUID ClassGuid;
- DWORD EnableMessage;
- } SP_ENABLECLASS_PARAMS,*PSP_ENABLECLASS_PARAMS;
- #define ENABLECLASS_QUERY 0
- #define ENABLECLASS_SUCCESS 1
- #define ENABLECLASS_FAILURE 2
- #define DICS_ENABLE 0x00000001
- #define DICS_DISABLE 0x00000002
- #define DICS_PROPCHANGE 0x00000003
- #define DICS_START 0x00000004
- #define DICS_STOP 0x00000005
- #define DICS_FLAG_GLOBAL 0x00000001
- #define DICS_FLAG_CONFIGSPECIFIC 0x00000002
- #define DICS_FLAG_CONFIGGENERAL 0x00000004
- typedef struct _SP_PROPCHANGE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD StateChange;
- DWORD Scope;
- DWORD HwProfile;
- } SP_PROPCHANGE_PARAMS,*PSP_PROPCHANGE_PARAMS;
- typedef struct _SP_REMOVEDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Scope;
- DWORD HwProfile;
- } SP_REMOVEDEVICE_PARAMS,*PSP_REMOVEDEVICE_PARAMS;
- #define DI_REMOVEDEVICE_GLOBAL 0x00000001
- #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002
- typedef struct _SP_UNREMOVEDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Scope;
- DWORD HwProfile;
- } SP_UNREMOVEDEVICE_PARAMS,*PSP_UNREMOVEDEVICE_PARAMS;
- #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002
- typedef struct _SP_SELECTDEVICE_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR Title[MAX_TITLE_LEN];
- CHAR Instructions[MAX_INSTRUCTION_LEN];
- CHAR ListLabel[MAX_LABEL_LEN];
- CHAR SubTitle[MAX_SUBTITLE_LEN];
- BYTE Reserved[2];
- } SP_SELECTDEVICE_PARAMS_A,*PSP_SELECTDEVICE_PARAMS_A;
- typedef struct _SP_SELECTDEVICE_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR Title[MAX_TITLE_LEN];
- WCHAR Instructions[MAX_INSTRUCTION_LEN];
- WCHAR ListLabel[MAX_LABEL_LEN];
- WCHAR SubTitle[MAX_SUBTITLE_LEN];
- } SP_SELECTDEVICE_PARAMS_W,*PSP_SELECTDEVICE_PARAMS_W;
- __MINGW_TYPEDEF_UAW(SP_SELECTDEVICE_PARAMS)
- __MINGW_TYPEDEF_UAW(PSP_SELECTDEVICE_PARAMS)
- typedef WINBOOL (CALLBACK *PDETECT_PROGRESS_NOTIFY)(PVOID ProgressNotifyParam,DWORD DetectComplete);
- typedef struct _SP_DETECTDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- PDETECT_PROGRESS_NOTIFY DetectProgressNotify;
- PVOID ProgressNotifyParam;
- } SP_DETECTDEVICE_PARAMS,*PSP_DETECTDEVICE_PARAMS;
- #define MAX_INSTALLWIZARD_DYNAPAGES 20
- typedef struct _SP_INSTALLWIZARD_DATA {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Flags;
- HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
- DWORD NumDynamicPages;
- DWORD DynamicPageFlags;
- DWORD PrivateFlags;
- LPARAM PrivateData;
- HWND hwndWizardDlg;
- } SP_INSTALLWIZARD_DATA,*PSP_INSTALLWIZARD_DATA;
- #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
- #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
- #define NDW_INSTALLFLAG_NEEDRESTART DI_NEEDRESTART
- #define NDW_INSTALLFLAG_NEEDREBOOT DI_NEEDREBOOT
- #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
- #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
- #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
- #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
- #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
- #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
- #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
- #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
- #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
- #define NDW_INSTALLFLAG_USERCANCEL 0x00040000
- #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
- #define DYNAWIZ_FLAG_PAGESADDED 0x00000001
- #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
- #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
- #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
- #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
- #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
- #define IDD_DYNAWIZ_FIRSTPAGE 10000
- #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
- #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
- #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
- #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
- #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
- #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
- #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
- #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
- #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
- #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
- #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
- typedef struct _SP_NEWDEVICEWIZARD_DATA {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Flags;
- HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
- DWORD NumDynamicPages;
- HWND hwndWizardDlg;
- } SP_NEWDEVICEWIZARD_DATA,*PSP_NEWDEVICEWIZARD_DATA;
- typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA;
- typedef PSP_NEWDEVICEWIZARD_DATA PSP_ADDPROPERTYPAGE_DATA;
- typedef struct _SP_TROUBLESHOOTER_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR ChmFile[MAX_PATH];
- CHAR HtmlTroubleShooter[MAX_PATH];
- } SP_TROUBLESHOOTER_PARAMS_A,*PSP_TROUBLESHOOTER_PARAMS_A;
- typedef struct _SP_TROUBLESHOOTER_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR ChmFile[MAX_PATH];
- WCHAR HtmlTroubleShooter[MAX_PATH];
- } SP_TROUBLESHOOTER_PARAMS_W,*PSP_TROUBLESHOOTER_PARAMS_W;
- __MINGW_TYPEDEF_UAW(SP_TROUBLESHOOTER_PARAMS)
- __MINGW_TYPEDEF_UAW(PSP_TROUBLESHOOTER_PARAMS)
- typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR PowerMessageWake[LINE_LEN*2];
- } SP_POWERMESSAGEWAKE_PARAMS_A,*PSP_POWERMESSAGEWAKE_PARAMS_A;
- typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR PowerMessageWake[LINE_LEN*2];
- } SP_POWERMESSAGEWAKE_PARAMS_W,*PSP_POWERMESSAGEWAKE_PARAMS_W;
- __MINGW_TYPEDEF_UAW(SP_POWERMESSAGEWAKE_PARAMS)
- __MINGW_TYPEDEF_UAW(PSP_POWERMESSAGEWAKE_PARAMS)
- typedef struct _SP_DRVINFO_DATA_V2_A {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- CHAR Description[LINE_LEN];
- CHAR MfgName[LINE_LEN];
- CHAR ProviderName[LINE_LEN];
- FILETIME DriverDate;
- DWORDLONG DriverVersion;
- } SP_DRVINFO_DATA_V2_A,*PSP_DRVINFO_DATA_V2_A;
- typedef struct _SP_DRVINFO_DATA_V2_W {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- WCHAR Description[LINE_LEN];
- WCHAR MfgName[LINE_LEN];
- WCHAR ProviderName[LINE_LEN];
- FILETIME DriverDate;
- DWORDLONG DriverVersion;
- } SP_DRVINFO_DATA_V2_W,*PSP_DRVINFO_DATA_V2_W;
- typedef struct _SP_DRVINFO_DATA_V1_A {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- CHAR Description[LINE_LEN];
- CHAR MfgName[LINE_LEN];
- CHAR ProviderName[LINE_LEN];
- } SP_DRVINFO_DATA_V1_A,*PSP_DRVINFO_DATA_V1_A;
- typedef struct _SP_DRVINFO_DATA_V1_W {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- WCHAR Description[LINE_LEN];
- WCHAR MfgName[LINE_LEN];
- WCHAR ProviderName[LINE_LEN];
- } SP_DRVINFO_DATA_V1_W,*PSP_DRVINFO_DATA_V1_W;
- __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V1)
- __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V1)
- __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V2)
- __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V2)
- #if USE_SP_DRVINFO_DATA_V1
- typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A;
- typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_A;
- typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W;
- typedef PSP_DRVINFO_DATA_V1_W PSP_DRVINFO_DATA_W;
- typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA;
- typedef PSP_DRVINFO_DATA_V1 PSP_DRVINFO_DATA;
- #else
- typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A;
- typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_A;
- typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W;
- typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_W;
- typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA;
- typedef PSP_DRVINFO_DATA_V2 PSP_DRVINFO_DATA;
- #endif
- typedef struct _SP_DRVINFO_DETAIL_DATA_A {
- DWORD cbSize;
- FILETIME InfDate;
- DWORD CompatIDsOffset;
- DWORD CompatIDsLength;
- ULONG_PTR Reserved;
- CHAR SectionName[LINE_LEN];
- CHAR InfFileName[MAX_PATH];
- CHAR DrvDescription[LINE_LEN];
- CHAR HardwareID[ANYSIZE_ARRAY];
- } SP_DRVINFO_DETAIL_DATA_A,*PSP_DRVINFO_DETAIL_DATA_A;
- typedef struct _SP_DRVINFO_DETAIL_DATA_W {
- DWORD cbSize;
- FILETIME InfDate;
- DWORD CompatIDsOffset;
- DWORD CompatIDsLength;
- ULONG_PTR Reserved;
- WCHAR SectionName[LINE_LEN];
- WCHAR InfFileName[MAX_PATH];
- WCHAR DrvDescription[LINE_LEN];
- WCHAR HardwareID[ANYSIZE_ARRAY];
- } SP_DRVINFO_DETAIL_DATA_W,*PSP_DRVINFO_DETAIL_DATA_W;
- __MINGW_TYPEDEF_UAW(SP_DRVINFO_DETAIL_DATA)
- __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DETAIL_DATA)
- typedef struct _SP_DRVINSTALL_PARAMS {
- DWORD cbSize;
- DWORD Rank;
- DWORD Flags;
- DWORD_PTR PrivateData;
- DWORD Reserved;
- } SP_DRVINSTALL_PARAMS,*PSP_DRVINSTALL_PARAMS;
- #define DNF_DUPDESC 0x00000001
- #define DNF_OLDDRIVER 0x00000002
- #define DNF_EXCLUDEFROMLIST 0x00000004
- #define DNF_NODRIVER 0x00000008
- #define DNF_LEGACYINF 0x00000010
- #define DNF_CLASS_DRIVER 0x00000020
- #define DNF_COMPATIBLE_DRIVER 0x00000040
- #define DNF_INET_DRIVER 0x00000080
- #define DNF_UNUSED1 0x00000100
- #define DNF_INDEXED_DRIVER 0x00000200
- #define DNF_OLD_INET_DRIVER 0x00000400
- #define DNF_BAD_DRIVER 0x00000800
- #define DNF_DUPPROVIDER 0x00001000
- #define DNF_INF_IS_SIGNED 0x00002000
- #define DNF_OEM_F6_INF 0x00004000
- #define DNF_DUPDRIVERVER 0x00008000
- #define DNF_BASIC_DRIVER 0x00010000
- #define DNF_AUTHENTICODE_SIGNED 0x00020000
- #define DRIVER_HARDWAREID_RANK 0x00000FFF
- #define DRIVER_COMPATID_RANK 0x00003FFF
- #define DRIVER_UNTRUSTED_RANK 0x00008000
- #define DRIVER_UNTRUSTED_HARDWAREID_RANK 0x00008FFF
- #define DRIVER_UNTRUSTED_COMPATID_RANK 0x0000BFFF
- #define DRIVER_W9X_SUSPECT_RANK 0x0000C000
- #define DRIVER_W9X_SUSPECT_HARDWAREID_RANK 0x0000CFFF
- #define DRIVER_W9X_SUSPECT_COMPATID_RANK 0x0000FFFF
- typedef DWORD (CALLBACK *PSP_DETSIG_CMPPROC)(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA NewDeviceData,PSP_DEVINFO_DATA ExistingDeviceData,PVOID CompareContext);
- typedef struct _COINSTALLER_CONTEXT_DATA {
- WINBOOL PostProcessing;
- DWORD InstallResult;
- PVOID PrivateData;
- } COINSTALLER_CONTEXT_DATA,*PCOINSTALLER_CONTEXT_DATA;
- typedef struct _SP_CLASSIMAGELIST_DATA {
- DWORD cbSize;
- HIMAGELIST ImageList;
- ULONG_PTR Reserved;
- } SP_CLASSIMAGELIST_DATA,*PSP_CLASSIMAGELIST_DATA;
- typedef struct _SP_PROPSHEETPAGE_REQUEST {
- DWORD cbSize;
- DWORD PageRequested;
- HDEVINFO DeviceInfoSet;
- PSP_DEVINFO_DATA DeviceInfoData;
- } SP_PROPSHEETPAGE_REQUEST,*PSP_PROPSHEETPAGE_REQUEST;
- #define SPPSR_SELECT_DEVICE_RESOURCES 1
- #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2
- #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3
- typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_A {
- DWORD cbSize;
- CHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
- CHAR ReinstallInstance[MAX_PATH];
- } SP_BACKUP_QUEUE_PARAMS_V2_A,*PSP_BACKUP_QUEUE_PARAMS_V2_A;
- typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_W {
- DWORD cbSize;
- WCHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
- WCHAR ReinstallInstance[MAX_PATH];
- } SP_BACKUP_QUEUE_PARAMS_V2_W,*PSP_BACKUP_QUEUE_PARAMS_V2_W;
- typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_A {
- DWORD cbSize;
- CHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
- } SP_BACKUP_QUEUE_PARAMS_V1_A,*PSP_BACKUP_QUEUE_PARAMS_V1_A;
- typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_W {
- DWORD cbSize;
- WCHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
- } SP_BACKUP_QUEUE_PARAMS_V1_W,*PSP_BACKUP_QUEUE_PARAMS_V1_W;
- __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V1)
- __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V1)
- __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V2)
- __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V2)
- #if USE_SP_BACKUP_QUEUE_PARAMS_V1
- typedef SP_BACKUP_QUEUE_PARAMS_V1_A SP_BACKUP_QUEUE_PARAMS_A;
- typedef PSP_BACKUP_QUEUE_PARAMS_V1_A PSP_BACKUP_QUEUE_PARAMS_A;
- typedef SP_BACKUP_QUEUE_PARAMS_V1_W SP_BACKUP_QUEUE_PARAMS_W;
- typedef PSP_BACKUP_QUEUE_PARAMS_V1_W PSP_BACKUP_QUEUE_PARAMS_W;
- typedef SP_BACKUP_QUEUE_PARAMS_V1 SP_BACKUP_QUEUE_PARAMS;
- typedef PSP_BACKUP_QUEUE_PARAMS_V1 PSP_BACKUP_QUEUE_PARAMS;
- #else
- typedef SP_BACKUP_QUEUE_PARAMS_V2_A SP_BACKUP_QUEUE_PARAMS_A;
- typedef PSP_BACKUP_QUEUE_PARAMS_V2_A PSP_BACKUP_QUEUE_PARAMS_A;
- typedef SP_BACKUP_QUEUE_PARAMS_V2_W SP_BACKUP_QUEUE_PARAMS_W;
- typedef PSP_BACKUP_QUEUE_PARAMS_V2_W PSP_BACKUP_QUEUE_PARAMS_W;
- typedef SP_BACKUP_QUEUE_PARAMS_V2 SP_BACKUP_QUEUE_PARAMS;
- typedef PSP_BACKUP_QUEUE_PARAMS_V2 PSP_BACKUP_QUEUE_PARAMS;
- #endif
- #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
- #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
- #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
- #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
- #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
- #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
- #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
- #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
- #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
- #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
- #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
- #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
- #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
- #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
- #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
- #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
- #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
- #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
- #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
- #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
- #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
- #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
- #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
- #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
- #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
- #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
- #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
- #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
- #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
- #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
- #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
- #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
- #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
- #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
- #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
- #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
- #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
- #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
- #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
- #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
- #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
- #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
- #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
- #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
- #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
- #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
- #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
- #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
- #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
- #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
- #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
- #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
- #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
- #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
- #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
- #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
- #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
- #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
- #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
- #define ERROR_INVALID_TARGET (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x233)
- #define ERROR_DRIVER_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x234)
- #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
- #define ERROR_SET_SYSTEM_RESTORE_POINT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x236)
- #define ERROR_INCORRECTLY_COPIED_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x237)
- #define ERROR_SCE_DISABLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x238)
- #define ERROR_UNKNOWN_EXCEPTION (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x239)
- #define ERROR_PNP_REGISTRY_ERROR (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23A)
- #define ERROR_REMOTE_REQUEST_UNSUPPORTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23B)
- #define ERROR_NOT_AN_INSTALLED_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23C)
- #define ERROR_INF_IN_USE_BY_DEVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23D)
- #define ERROR_DI_FUNCTION_OBSOLETE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23E)
- #define ERROR_NO_AUTHENTICODE_CATALOG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23F)
- #define ERROR_AUTHENTICODE_DISALLOWED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x240)
- #define ERROR_AUTHENTICODE_TRUSTED_PUBLISHER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x241)
- #define ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x242)
- #define ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x243)
- #define ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x244)
- #define ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x245)
- #define ERROR_UNRECOVERABLE_STACK_OVERFLOW (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x300)
- #define EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW ERROR_UNRECOVERABLE_STACK_OVERFLOW
- #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
- #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
- #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
- #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
- #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
- WINSETUPAPI WINBOOL WINAPI SetupGetInfInformationA(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetInfInformationW(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- #define INFINFO_INF_SPEC_IS_HINF 1
- #define INFINFO_INF_NAME_IS_ABSOLUTE 2
- #define INFINFO_DEFAULT_SEARCH 3
- #define INFINFO_REVERSE_DEFAULT_SEARCH 4
- #define INFINFO_INF_PATH_LIST_SEARCH 5
- #define SetupGetInfInformation __MINGW_NAME_AW(SetupGetInfInformation)
- #define SetupQueryInfFileInformation __MINGW_NAME_AW(SetupQueryInfFileInformation)
- #define SetupQueryInfOriginalFileInformation __MINGW_NAME_AW(SetupQueryInfOriginalFileInformation)
- #define SetupQueryInfVersionInformation __MINGW_NAME_AW(SetupQueryInfVersionInformation)
- #define SetupGetInfFileList __MINGW_NAME_AW(SetupGetInfFileList)
- #define SetupOpenInfFile __MINGW_NAME_AW(SetupOpenInfFile)
- #define SetupOpenAppendInfFile __MINGW_NAME_AW(SetupOpenAppendInfFile)
- #define SetupFindFirstLine __MINGW_NAME_AW(SetupFindFirstLine)
- #define SetupFindNextMatchLine __MINGW_NAME_AW(SetupFindNextMatchLine)
- #define SetupGetLineByIndex __MINGW_NAME_AW(SetupGetLineByIndex)
- #define SetupGetLineCount __MINGW_NAME_AW(SetupGetLineCount)
- #define SetupGetLineText __MINGW_NAME_AW(SetupGetLineText)
- #define SetupGetStringField __MINGW_NAME_AW(SetupGetStringField)
- #define SetupGetMultiSzField __MINGW_NAME_AW(SetupGetMultiSzField)
- #define SetupGetFileCompressionInfo __MINGW_NAME_AW(SetupGetFileCompressionInfo)
- #define SetupGetFileCompressionInfoEx __MINGW_NAME_AW(SetupGetFileCompressionInfoEx)
- #define SetupDecompressOrCopyFile __MINGW_NAME_AW(SetupDecompressOrCopyFile)
- #define SetupGetSourceFileLocation __MINGW_NAME_AW(SetupGetSourceFileLocation)
- #define SetupGetSourceFileSize __MINGW_NAME_AW(SetupGetSourceFileSize)
- #define SetupGetTargetPath __MINGW_NAME_AW(SetupGetTargetPath)
- #define SetupSetSourceList __MINGW_NAME_AW(SetupSetSourceList)
- #define SetupAddToSourceList __MINGW_NAME_AW(SetupAddToSourceList)
- #define SetupRemoveFromSourceList __MINGW_NAME_AW(SetupRemoveFromSourceList)
- #define SetupQuerySourceList __MINGW_NAME_AW(SetupQuerySourceList)
- #define SetupFreeSourceList __MINGW_NAME_AW(SetupFreeSourceList)
- #define SetupPromptForDisk __MINGW_NAME_AW(SetupPromptForDisk)
- #define SetupCopyError __MINGW_NAME_AW(SetupCopyError)
- #define SetupRenameError __MINGW_NAME_AW(SetupRenameError)
- #define SetupDeleteError __MINGW_NAME_AW(SetupDeleteError)
- #define SetupBackupError __MINGW_NAME_AW(SetupBackupError)
- #define SRCLIST_TEMPORARY 0x00000001
- #define SRCLIST_NOBROWSE 0x00000002
- #define SRCLIST_SYSTEM 0x00000010
- #define SRCLIST_USER 0x00000020
- #define SRCLIST_SYSIFADMIN 0x00000040
- #define SRCLIST_SUBDIRS 0x00000100
- #define SRCLIST_APPEND 0x00000200
- #define SRCLIST_NOSTRIPPLATFORM 0x00000400
- #define FILE_COMPRESSION_NONE 0
- #define FILE_COMPRESSION_WINLZA 1
- #define FILE_COMPRESSION_MSZIP 2
- #define FILE_COMPRESSION_NTCAB 3
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo);
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PSP_ALTPLATFORM_INFO AlternatePlatformInfo,PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo);
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PCSTR Key,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION InfInformation,UINT InfIndex,PCWSTR Key,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetInfFileListA(PCSTR DirectoryPath,DWORD InfStyle,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetInfFileListW(PCWSTR DirectoryPath,DWORD InfStyle,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR FileName,PCWSTR InfClass,DWORD InfStyle,PUINT ErrorLine);
- WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR FileName,PCSTR InfClass,DWORD InfStyle,PUINT ErrorLine);
- WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID);
- WINSETUPAPI WINBOOL WINAPI SetupOpenAppendInfFileW(PCWSTR FileName,HINF InfHandle,PUINT ErrorLine);
- WINSETUPAPI WINBOOL WINAPI SetupOpenAppendInfFileA(PCSTR FileName,HINF InfHandle,PUINT ErrorLine);
- WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF InfHandle);
- WINSETUPAPI WINBOOL WINAPI SetupFindFirstLineA(HINF InfHandle,PCSTR Section,PCSTR Key,PINFCONTEXT Context);
- WINSETUPAPI WINBOOL WINAPI SetupFindFirstLineW(HINF InfHandle,PCWSTR Section,PCWSTR Key,PINFCONTEXT Context);
- WINSETUPAPI WINBOOL WINAPI SetupFindNextLine(PINFCONTEXT ContextIn,PINFCONTEXT ContextOut);
- WINSETUPAPI WINBOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT ContextIn,PCSTR Key,PINFCONTEXT ContextOut);
- WINSETUPAPI WINBOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT ContextIn,PCWSTR Key,PINFCONTEXT ContextOut);
- WINSETUPAPI WINBOOL WINAPI SetupGetLineByIndexA(HINF InfHandle,PCSTR Section,DWORD Index,PINFCONTEXT Context);
- WINSETUPAPI WINBOOL WINAPI SetupGetLineByIndexW(HINF InfHandle,PCWSTR Section,DWORD Index,PINFCONTEXT Context);
- WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF InfHandle,PCSTR Section);
- WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF InfHandle,PCWSTR Section);
- WINSETUPAPI WINBOOL WINAPI SetupGetLineTextA(PINFCONTEXT Context,HINF InfHandle,PCSTR Section,PCSTR Key,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetLineTextW(PINFCONTEXT Context,HINF InfHandle,PCWSTR Section,PCWSTR Key,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT Context);
- WINSETUPAPI WINBOOL WINAPI SetupGetStringFieldA(PINFCONTEXT Context,DWORD FieldIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetStringFieldW(PINFCONTEXT Context,DWORD FieldIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetIntField(PINFCONTEXT Context,DWORD FieldIndex,PINT IntegerValue);
- WINSETUPAPI WINBOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT Context,DWORD FieldIndex,PSTR ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT Context,DWORD FieldIndex,PWSTR ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetBinaryField(PINFCONTEXT Context,DWORD FieldIndex,PBYTE ReturnBuffer,DWORD ReturnBufferSize,LPDWORD RequiredSize);
- WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR SourceFileName,PSTR *ActualSourceFileName,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType);
- WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR SourceFileName,PWSTR *ActualSourceFileName,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType);
- WINSETUPAPI WINBOOL WINAPI SetupGetFileCompressionInfoExA(PCSTR SourceFileName,PSTR ActualSourceFileNameBuffer,DWORD ActualSourceFileNameBufferLen,PDWORD RequiredBufferLen,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType);
- WINSETUPAPI WINBOOL WINAPI SetupGetFileCompressionInfoExW(PCWSTR SourceFileName,PWSTR ActualSourceFileNameBuffer,DWORD ActualSourceFileNameBufferLen,PDWORD RequiredBufferLen,PDWORD SourceFileSize,PDWORD TargetFileSize,PUINT CompressionType);
- WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR SourceFileName,PCSTR TargetFileName,PUINT CompressionType);
- WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR SourceFileName,PCWSTR TargetFileName,PUINT CompressionType);
- WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileLocationA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR FileName,PUINT SourceId,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileLocationW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR FileName,PUINT SourceId,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileSizeA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR FileName,PCSTR Section,PDWORD FileSize,UINT RoundingFactor);
- WINSETUPAPI WINBOOL WINAPI SetupGetSourceFileSizeW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR FileName,PCWSTR Section,PDWORD FileSize,UINT RoundingFactor);
- WINSETUPAPI WINBOOL WINAPI SetupGetTargetPathA(HINF InfHandle,PINFCONTEXT InfContext,PCSTR Section,PSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupGetTargetPathW(HINF InfHandle,PINFCONTEXT InfContext,PCWSTR Section,PWSTR ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
- WINSETUPAPI WINBOOL WINAPI SetupSetSourceListA(DWORD Flags,PCSTR *SourceList,UINT SourceCount);
- WINSETUPAPI WINBOOL WINAPI SetupSetSourceListW(DWORD Flags,PCWSTR *SourceList,UINT SourceCount);
- WINSETUPAPI WINBOOL WINAPI SetupCancelTemporarySourceList(VOID);
- WINSETUPAPI WINBOOL WINAPI SetupAddToSourceListA(DWORD Flags,PCSTR Source);
- WINSETUPAPI WINBOOL WINAPI SetupAddToSourceListW(DWORD Flags,PCWSTR Source);
- WINSETUPAPI WINBOOL WINAPI SetupRemoveFromSourceListA(DWORD Flags,PCSTR Source);
- WINSETUPAPI WINBOOL WINAPI SetupRemoveFromSourceListW(DWORD Flags,PCWSTR Source);
- WINSETUPAPI WINBOOL WINAPI SetupQuerySourceListA(DWORD Flags,PCSTR **List,PUINT Count);
- WINSETUPAPI WINBOOL WINAPI SetupQuerySourceListW(DWORD Flags,PCWSTR **List,PUINT Count);
- WINSETUPAPI WINBOOL WINAPI SetupFreeSourceListA(PCSTR **List,UINT Count);
- WINSETUPAPI WINBOOL WINAPI SetupFreeSourceListW(PCWSTR **List,UINT Count);
- WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND hwndParent,PCSTR DialogTitle,PCSTR DiskName,PCSTR PathToSource,PCSTR FileSought,PCSTR TagFile,DWORD DiskPromptStyle,PSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize);
- WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR DiskName,PCWSTR PathToSource,PCWSTR FileSought,PCWSTR TagFile,DWORD DiskPromptStyle,PWSTR PathBuffer,DWORD PathBufferSize,PDWORD PathRequiredSize);
- 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);
- 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);
- WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR SourceFile,PCSTR TargetFile,UINT Win32ErrorCode,DWORD Style);
- WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR SourceFile,PCWSTR TargetFile,UINT Win32ErrorCode,DWORD Style);
- WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND hwndParent,PCSTR DialogTitle,PCSTR File,UINT Win32ErrorCode,DWORD Style);
- WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND hwndParent,PCWSTR DialogTitle,PCWSTR File,UINT Win32ErrorCode,DWORD Style);
- WINSETUPAPI UIN