From de8e9cfb39ad89d2edf2fae9b948369477a96aef Mon Sep 17 00:00:00 2001 From: Earnie Boyd Date: Tue, 21 Aug 2001 13:58:52 +0000 Subject: * include/setupapi.h : New file. * lib/setupapi.def:New file. * lib/test.c: Include setupapi.h. * include/winioctl.h (_DISK_PERFORMANCE): Correct typo. * include/richedit.h (ENLINK): Add structure definition. (EM_AUTOURLDETECT, EN_LINK, ENM_LINK): Add defines. * include/shlobj.h (CMIC_*): Remove duplicate defines. (CMDSTR_*): Remove duplicates; UNICODE string constants. (GCS_*): Make UNICODE. (CSIDL_*): Add more defines. * include/winioctl.h (_MEDIA_TYPE): Add pointer typedef. (_DISK_GEOMETRY): Ditto. (_DISK_PERFORMANCE): Ditto. * include/winbase.h (HasOverlappedIoCompleted): Add macro. * include/winnt.h: Move CHAR, SHORT and LONG typedefs outside of block protected by #ifndef VOID. (This reverts 1998-12-01 Anders Norlander change.) * include/odbcinst.h: End file with newline. * include/raserror.h: Ditto. * include/winsock2.h (#include +2001-08-21 Earnie Boyd + + * include/setupapi.h: Formatting. + +2001-08-21 Earnie Boyd + + * include/shlobj.h: Remove \r from the line endings. + +2001-08-21 Danny Smith + + * include/setupapi.h : New file. + * lib/setupapi.def:New file. + * lib/test.c: Include setupapi.h. + +2001-08-21 Danny Smith + * include/winioctl.h (_DISK_PERFORMANCE): Correct typo. + +2001-08-21 Mattia Barbon + + * include/richedit.h (ENLINK): Add structure definition. + (EM_AUTOURLDETECT, EN_LINK, ENM_LINK): Add defines. + +2001-08-21 Danny Smith + + * include/shlobj.h (CMIC_*): Remove duplicate defines. + (CMDSTR_*): Remove duplicates; UNICODE string constants. + (GCS_*): Make UNICODE. + (CSIDL_*): Add more defines. + * include/winioctl.h (_MEDIA_TYPE): Add pointer typedef. + (_DISK_GEOMETRY): Ditto. + (_DISK_PERFORMANCE): Ditto. + * include/winbase.h (HasOverlappedIoCompleted): Add macro. + +2001-08-15 Danny Smith + + * include/winnt.h: Move CHAR, SHORT and LONG typedefs outside + of block protected by #ifndef VOID. + (This reverts 1998-12-01 Anders Norlander change.) + * include/odbcinst.h: End file with newline. + * include/raserror.h: Ditto. + +2001-08-15 Danny Smith + + * include/winsock2.h (#include + + * include/oaidl.h (tagVARIANT): Mark anonymous structs and unions + as __extension__. + (tagTYPEDESC): Ditto. + (_wireBRECORD): Add structure definition. + (_wireSAFEARR_BRECORD): Ditto. + (_wireSAFEARR_HAVEIID): Ditto. + (_wireSAFEARRAY_UNION.u): Add fields SAFEARR_BRECORD RecordStr, + SAFEARR_HAVEIID HaveIidStr. + (tagVariant): Add fields _VARIANT_BOOL bool,*pbool. + (_wireVARIANT): Change field parray to type wirePSAFEARRAY, + pparray to wirePSAFEARRAY*. + (_wireVARIANT): Add field wireBRECORD brecVal. + (wireVARIANT): Change typedef to struct _wireVariant*. + (IRecordInfo): Add interface definition. + (LPRECORDINFO): Add typedef for IRecordInfo*. + (IID_IRecordInfo): Add forward decalaration. + +2001-08-15 Danny Smith + + * include/lmcons.h: Guard CNLEN and UNCLEN against prior definition. + * include/nddeapi.h: Likewise. + +2001-08-10 Danny Smith * lib/test.c (Win32_Winsock): Replace with __USE_W32_SOCKETS. Add more includes of w32api headers. @@ -8,26 +80,26 @@ * include/winnt.h (GetCurrentFiber): Change __inline to __inline__. Swap asm code with that of GetFiberData. (GetFiberData): Ditto. - * lib/kernels.c: New file, containing library versions of + * lib/kernel32.c: New file, containing library versions of GetCurrentFiber and GetFiberData. * lib/makefile.in: Add kernel32.o as static object to libkernal32.a. -2001-08-08 Danny Smith +2001-08-08 Danny Smith * include/winuser.h (GET_WHEEL_DELTA_WPARAM): Add macro. Thanks to: Harold Hunt . -2001-08-08 Danny Smith +2001-08-08 Danny Smith * lib/oleaut32.def: Regenerate. -2001-08-04 Danny Smith +2001-08-04 Danny Smith * include/wtypes.h (DECIMAL_SETZERO): Correct typo. -2001-08-02 Danny Smith +2001-08-02 Danny Smith - Apply Dmitry Bely patch 437834 (with additions). + Apply Dmitry Bely patch 437834 (with additions). * include/oleidl.h (ISupportErrorInfo, ICreateInfo): Move from here * include/oaidl.h: ... to here. * include/oaidl.h ICreateErrorInfo): Add interface definition. @@ -35,16 +107,16 @@ (LPSUPPORTERRORINFO): Add typedef. (IID_ISupportErrorInfo): Change forward decl. of type to IID. -2001-08-02 Danny Smith +2001-08-02 Danny Smith * include/winsock2.h (WSAGET* and WSAMAKE*): Remove duplicate defines. -2001-07-30 Danny Smith +2001-07-30 Danny Smith * include/commctrl.h (TreeView_SetIndent): Correct typo. -2001-07-30 Danny Smith +2001-07-30 Danny Smith * include/commctrl.h (TBSTYPE_FLAT): Remove define. Thanks to: Jason Craig @@ -60,37 +132,37 @@ (tagNMTVCUSTOMDRAW): Likewise. (tagNMLVCACHEHINT): Likewise. -2001-07-06 Danny Smith +2001-07-06 Danny Smith * include/basetsd.h (#include <_mingw.h>): Remove. (__int64): Define. -2001-06-28 Danny Smith +2001-06-28 Danny Smith * include/wingdi.h (AC_SRC_OVER): Add define. (struct _BLENDFUNCTION): Add. -2001-06-28 Danny Smith +2001-06-28 Danny Smith * include/shlobj.h: Add BIF_* defines. -2001-06-27 Danny Smith +2001-06-27 Danny Smith * include/winerror.h (E_PENDING): Add error code define. -2001-06-27 Danny Smith +2001-06-27 Danny Smith * include/basetsd.h (#include <_mingw.h>): Add directive. -2001-06-25 Danny Smith +2001-06-25 Danny Smith - * include/winbase.h(InterlockedCompareExchange): Change args + * include/winbase.h (InterlockedCompareExchange): Change args and return value from PVOID to LONG. (InterlockedExchange): Change first arg to LPLONG. (InterlockedCompareExchangePointer): New macro. (InterlockedExchangePointer): New macro. -2001-06-19 Danny Smith +2001-06-19 Danny Smith * lib/kernel32.def: Add LanguageGroup and UILanguage symbols. Thanks to Kevin Chase . @@ -100,7 +172,7 @@ * objidl.h (IMalloc::ReAlloc()): Correct declaration. (IMalloc::Free()): Ditto. -2001-06-11 Danny Smith +2001-06-11 Danny Smith * include/shlobj.h (REGSTR_PATH_EXPLORER): Unicode it. (REGSTR_PATH_SPECIAL_FOLDERS): Ditto. @@ -185,7 +257,7 @@ Mon Apr 23 13:17:32 2001 Christopher Faylor * include/winnt.h: Ditto. * include/wtypes.h: Ditto. -2001-04-11 Danny Smith +2001-04-11 Danny Smith * include/windows.h (#include ): Include instead if (_WIN32_WINNT >= 0x0400)&&(__W32API_MAJOR_VERSION > 0). diff --git a/winsup/w32api/include/lmcons.h b/winsup/w32api/include/lmcons.h index 1adde204b..c82837f25 100644 --- a/winsup/w32api/include/lmcons.h +++ b/winsup/w32api/include/lmcons.h @@ -8,7 +8,10 @@ #define API_RET_TYPE NET_API_STATUS #define MIN_LANMAN_MESSAGE_ID NERR_BASE #define MAX_LANMAN_MESSAGE_ID 5799 +#ifndef CNLEN /* also in nddeapi.h */ #define CNLEN 15 +#define UNCLEN (CNLEN + 2) +#endif #define DNLEN 15 #define LM20_CNLEN 15 #define LM20_DNLEN 15 @@ -17,7 +20,6 @@ #define LM20_UNCLEN (LM20_CNLEN+2) #define LM20_NNLEN 12 #define LM20_RMLEN (LM20_UNCLEN+1+LM20_NNLEN) -#define UNCLEN (CNLEN+2) #define NNLEN 80 #define RMLEN (UNCLEN+1+NNLEN) #define SNLEN 80 diff --git a/winsup/w32api/include/nddeapi.h b/winsup/w32api/include/nddeapi.h index a4dc03bcf..1648b62e4 100644 --- a/winsup/w32api/include/nddeapi.h +++ b/winsup/w32api/include/nddeapi.h @@ -3,8 +3,10 @@ #ifdef __cplusplus extern "C" { #endif +#ifndef CNLEN /* also in lmcons.h */ #define CNLEN 15 -#define UNCLEN 17 +#define UNCLEN (CNLEN + 2) +#endif #define SEP_CHAR ',' #define BAR_CHAR "|" #define SEP_WCHAR L',' diff --git a/winsup/w32api/include/oaidl.h b/winsup/w32api/include/oaidl.h index 2c7148012..b42c3cdd5 100644 --- a/winsup/w32api/include/oaidl.h +++ b/winsup/w32api/include/oaidl.h @@ -61,6 +61,7 @@ typedef interface IDispatch *LPDISPATCH; typedef interface IEnumVARIANT *LPENUMVARIANT; typedef interface ICreateErrorInfo *LPCREATEERRORINFO; typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO; +typedef interface IRecordInfo *LPRECORDINFO; extern const IID IID_ITypeLib; extern const IID IID_ICreateTypeInfo; @@ -73,6 +74,7 @@ extern const IID IID_IDispatch; extern const IID IID_IEnumVARIANT; extern const IID IID_ICreateErrorInfo; extern const IID IID_ISupportErrorInfo; +extern const IID IID_IRecordInfo; typedef enum tagSYSKIND { SYS_WIN16,SYS_WIN32,SYS_MAC @@ -122,6 +124,21 @@ typedef enum tagSF_TYPE { SF_DISPATCH=VT_DISPATCH, SF_VARIANT=VT_VARIANT }SF_TYPE; +typedef struct _wireBRECORD { + ULONG fFlags; + ULONG clSize; + LPRECORDINFO* pRecInfo; + byte* pRecord; +} *wireBRECORD; +typedef struct _wireSAFEARR_BRECORD { + ULONG Size; + wireBRECORD* aRecord; + } SAFEARR_BRECORD; +typedef struct _wireSAFEARR_HAVEIID { + ULONG Size; + IUnknown** apUnknown; + IID iid; + } SAFEARR_HAVEIID; typedef struct _wireSAFEARRAY_UNION { ULONG sfType; union { @@ -129,6 +146,8 @@ typedef struct _wireSAFEARRAY_UNION { SAFEARR_UNKNOWN UnknownStr; SAFEARR_DISPATCH DispatchStr; SAFEARR_VARIANT VariantStr; + SAFEARR_BRECORD RecordStr; + SAFEARR_HAVEIID HaveIidStr; BYTE_SIZEDARR ByteStr; WORD_SIZEDARR WordStr; DWORD_SIZEDARR LongStr; @@ -153,13 +172,13 @@ typedef struct tagSAFEARRAY { SAFEARRAYBOUND rgsabound[1]; }SAFEARRAY,*LPSAFEARRAY; typedef struct tagVARIANT { - union { - struct __tagVARIANT { + _ANONYMOUS_UNION union { + struct __tagVARIANT { VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; - union { + _ANONYMOUS_UNION union { long lVal; unsigned char bVal; short iVal; @@ -179,6 +198,7 @@ typedef struct tagVARIANT { float *pfltVal; double *pdblVal; VARIANT_BOOL *pboolVal; + _VARIANT_BOOL *pbool; SCODE *pscode; CY *pcyVal; DATE *pdate; @@ -199,7 +219,7 @@ typedef struct tagVARIANT { ULONG *pulVal; INT *pintVal; UINT *puintVal; - struct { + _ANONYMOUS_STRUCT struct { PVOID pvRecord; struct IRecordInfo *pRecInfo; } __VARIANT_NAME_4; @@ -230,7 +250,8 @@ typedef struct _wireVARIANT { wireBSTR bstrVal; IUnknown *punkVal; LPDISPATCH pdispVal; - wireSAFEARRAY parray; + wirePSAFEARRAY parray; + wireBRECORD brecVal; BYTE *pbVal; SHORT *piVal; LONG *plVal; @@ -243,7 +264,7 @@ typedef struct _wireVARIANT { wireBSTR *pbstrVal; IUnknown **ppunkVal; LPDISPATCH *ppdispVal; - wireSAFEARRAY *pparray; + wirePSAFEARRAY *pparray; struct _wireVARIANT *pvarVal; CHAR cVal; USHORT uiVal; @@ -258,7 +279,7 @@ typedef struct _wireVARIANT { INT *pintVal; UINT *puintVal; } DUMMYUNIONNAME; -} wireVARIANT; +} *wireVARIANT; typedef LONG DISPID; typedef DISPID MEMBERID; typedef DWORD HREFTYPE; @@ -267,7 +288,7 @@ typedef enum tagTYPEKIND { TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX }TYPEKIND; typedef struct tagTYPEDESC { - union { + _ANONYMOUS_UNION union { struct tagTYPEDESC *lptdesc; struct tagARRAYDESC *lpadesc; HREFTYPE hreftype; @@ -549,6 +570,32 @@ DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown) STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE; }; +EXTERN_C const IID IID_IRecordInfo; +#undef INTERFACE +#define INTERFACE IRecordInfo +DECLARE_INTERFACE_(IRecordInfo, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(RecordInit)(THIS_ PVOID) PURE; + STDMETHOD(RecordClear)(THIS_ PVOID) PURE; + STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE; + STDMETHOD(GetGuid)(THIS_ GUID*) PURE; + STDMETHOD(GetName)(THIS_ BSTR*) PURE; + STDMETHOD(GetSize)(THIS_ ULONG*) PURE; + STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE; + STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE; + STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE; + STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE; + STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE; + STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE; + STDMETHOD_(BOOL,IsMatchingType)(THIS_ THIS) PURE; + STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; + STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE; + STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE; +}; + #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/odbcinst.h b/winsup/w32api/include/odbcinst.h index a62e8dd54..449e781f0 100644 --- a/winsup/w32api/include/odbcinst.h +++ b/winsup/w32api/include/odbcinst.h @@ -141,5 +141,5 @@ BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); #endif /* RC_INVOKED */ #ifdef __cplusplus } -#endif -#endif /* _ODBCINST_H */ \ No newline at end of file +#endif +#endif /* _ODBCINST_H */ diff --git a/winsup/w32api/include/raserror.h b/winsup/w32api/include/raserror.h index a5f7fe8b4..54d11f7a5 100644 --- a/winsup/w32api/include/raserror.h +++ b/winsup/w32api/include/raserror.h @@ -203,4 +203,4 @@ #define ERROR_CONNECTING_DEVICE_NOT_FOUND (RASBASE+197) #define ERROR_NO_EAPTLS_CERTIFICATE (RASBASE+198) #define RASBASEEND (RASBASE+198) -#endif /* _RASERROR_H */ \ No newline at end of file +#endif /* _RASERROR_H */ diff --git a/winsup/w32api/include/richedit.h b/winsup/w32api/include/richedit.h index 1bbac22e7..67c159bc8 100644 --- a/winsup/w32api/include/richedit.h +++ b/winsup/w32api/include/richedit.h @@ -132,6 +132,7 @@ extern "C" { #define EM_GETREDONAME (WM_USER+87) #define EM_STOPGROUPTYPING (WM_USER+88) #define EM_GETTEXTLENGTHEX (WM_USER+95) +#define EM_AUTOURLDETECT (WM_USER+91) #define EM_SETLANGOPTIONS (WM_USER+120) #define EM_GETLANGOPTIONS (WM_USER+121) #define EM_GETIMECOMPMODE (WM_USER+122) @@ -144,6 +145,7 @@ extern "C" { #define EN_CORRECTTEXT 1797 #define EN_DROPFILES 1795 #define EN_IMECHANGE 1799 +#define EN_LINK 1803 #define EN_MSGFILTER 1792 #define EN_OLEOPFAILED 1801 #define EN_PROTECTED 1796 @@ -162,6 +164,7 @@ extern "C" { #define ENM_SCROLL 4 #define ENM_SELCHANGE 524288 #define ENM_UPDATE 2 +#define ENM_LINK 67108864 #define ECO_AUTOWORDSELECTION 1 #define ECO_AUTOVSCROLL 64 #define ECO_AUTOHSCROLL 128 @@ -273,6 +276,13 @@ typedef struct _endropfiles { LONG cp; BOOL fProtected; } ENDROPFILES; +typedef struct _enlink { + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; + CHARRANGE chrg; +} ENLINK; typedef struct { NMHDR nmhdr; LONG iob; diff --git a/winsup/w32api/include/setupapi.h b/winsup/w32api/include/setupapi.h new file mode 100644 index 000000000..a40c75c13 --- /dev/null +++ b/winsup/w32api/include/setupapi.h @@ -0,0 +1,1550 @@ +#ifndef _SETUPAPI_H_ +#define _SETUPAPI_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define WINSETUPAPI DECLSPEC_IMPORT + +#define LINE_LEN 256 +#define MAX_INF_STRING_LENGTH 4096 +#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) + +#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 +#define DI_REMOVEDEVICE_GLOBAL 0x00000001 +#define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002 +#define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002 +#define DI_SHOWOEM 0x00000001 +#define DI_SHOWCOMPAT 0x00000002 +#define DI_SHOWCLASS 0x00000004 +#define DI_SHOWALL 0x00000007 +#define DI_NOVCP 0x00000008 +#define DI_DIDCOMPAT 0x00000010 +#define DI_DIDCLASS 0x00000020 +#define DI_AUTOASSIGNRES 0x00000040 +#define DI_NEEDRESTART 0x00000080 +#define DI_NEEDREBOOT 0x00000100 +#define DI_NOBROWSE 0x00000200 +#define DI_MULTMFGS 0x00000400 +#define DI_DISABLED 0x00000800 +#define DI_GENERALPAGE_ADDED 0x00001000 +#define DI_RESOURCEPAGE_ADDED 0x00002000 +#define DI_PROPERTIES_CHANGE 0x00004000 +#define DI_INF_IS_SORTED 0x00008000 +#define DI_ENUMSINGLEINF 0x00010000 +#define DI_DONOTCALLCONFIGMG 0x00020000 +#define DI_INSTALLDISABLED 0x00040000 +#define DI_COMPAT_FROM_CLASS 0x00080000 +#define DI_CLASSINSTALLPARAMS 0x00100000 +#define DI_NODI_DEFAULTACTION 0x00200000 +#define DI_QUIETINSTALL 0x00800000 +#define DI_NOFILECOPY 0x01000000 +#define DI_FORCECOPY 0x02000000 +#define DI_DRIVERPAGE_ADDED 0x04000000 +#define DI_USECI_SELECTSTRINGS 0x08000000 +#define DI_OVERRIDE_INFFLAGS 0x10000000 +#define DI_PROPS_NOCHANGEUSAGE 0x20000000 +#define DI_NOSELECTICONS 0x40000000 +#define DI_NOWRITE_IDS 0x80000000 +#define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001 +#define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002 +#define DI_FLAGSEX_CI_FAILED 0x00000004 +#define DI_FLAGSEX_DIDINFOLIST 0x00000010 +#define DI_FLAGSEX_DIDCOMPATINFO 0x00000020 +#define DI_FLAGSEX_FILTERCLASSES 0x00000040 +#define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080 +#define DI_FLAGSEX_DEVICECHANGE 0x00000100 +#define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200 +#define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400 +#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800 +#define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000 +#define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000 +#define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000 +#define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000 +#define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000 +#define DI_FLAGSEX_INET_DRIVER 0x00020000 +#define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000 +#define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000 +#define DI_FLAGSEX_BACKUPONREPLACE 0x00100000 +#define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000 +#define DI_FLAGSEX_RESERVED1 0x00400000 +#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000 +#define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000 +#define DIBCI_NOINSTALLCLASS 0x00000001 +#define DIBCI_NODISPLAYCLASS 0x00000002 +#define DICD_GENERATE_ID 0x00000001 +#define DICD_INHERIT_CLASSDRVS 0x00000002 +#define DICS_ENABLE 1 +#define DICS_FLAG_GLOBAL 1 +#define DICS_DISABLE 2 +#define DICS_FLAG_CONFIGSPECIFIC 2 +#define DICS_PROPCHANGE 3 +#define DICS_START 4 +#define DICS_FLAG_CONFIGGENERAL 4 +#define DICS_STOP 5 +#define DIF_SELECTDEVICE 1 +#define DIF_INSTALLDEVICE 2 +#define DIF_ASSIGNRESOURCES 3 +#define DIF_PROPERTIES 4 +#define DIF_REMOVE 5 +#define DIF_FIRSTTIMESETUP 6 +#define DIF_FOUNDDEVICE 7 +#define DIF_SELECTCLASSDRIVERS 8 +#define DIF_VALIDATECLASSDRIVERS 9 +#define DIF_INSTALLCLASSDRIVERS 10 +#define DIF_CALCDISKSPACE 11 +#define DIF_DESTROYPRIVATEDATA 12 +#define DIF_VALIDATEDRIVER 13 +#define DIF_MOVEDEVICE 14 +#define DIF_DETECT 15 +#define DIF_INSTALLWIZARD 16 +#define DIF_DESTROYWIZARDDATA 17 +#define DIF_PROPERTYCHANGE 18 +#define DIF_ENABLECLASS 19 +#define DIF_DETECTVERIFY 20 +#define DIF_INSTALLDEVICEFILES 21 +#define DIF_UNREMOVE 22 +#define DIF_SELECTBESTCOMPATDRV 23 +#define DIF_ALLOW_INSTALL 24 +#define DIF_REGISTERDEVICE 25 +#define DIF_NEWDEVICEWIZARD_PRESELECT 26 +#define DIF_NEWDEVICEWIZARD_SELECT 27 +#define DIF_NEWDEVICEWIZARD_PREANALYZE 28 +#define DIF_NEWDEVICEWIZARD_POSTANALYZE 29 +#define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30 +#define DIF_UNUSED1 31 +#define DIF_INSTALLINTERFACES 32 +#define DIF_DETECTCANCEL 33 +#define DIF_REGISTER_COINSTALLERS 34 +#define DIF_ADDPROPERTYPAGE_ADVANCED 35 +#define DIF_ADDPROPERTYPAGE_BASIC 36 +#define DIF_RESERVED1 37 +#define DIF_TROUBLESHOOTER 38 +#define DIF_POWERMESSAGEWAKE 39 +#define DIGCF_DEFAULT 0x00000001 +#define DIGCDP_FLAG_BASIC 0x00000001 +#define DIGCF_PRESENT 0x00000002 +#define DIGCDP_FLAG_ADVANCED 0x00000002 +#define DIGCF_ALLCLASSES 0x00000004 +#define DIGCF_PROFILE 0x00000008 +#define DIGCF_DEVICEINTERFACE 0x00000010 +#define DIGCF_INTERFACEDEVICE 0x00000010 +#define DIOCR_INSTALLER 0x00000001 +#define DIOCR_INTERFACE 0x00000002 +#define DIODI_NO_ADD 0x00000001 +#define DIOD_INHERIT_CLASSDRVS 0x00000002 +#define DIOD_CANCEL_REMOVE 0x00000004 +#define DIREG_DEV 0x00000001 +#define DIREG_DRV 0x00000002 +#define DIREG_BOTH 0x00000004 +#define DIRID_ABSOLUTE -1 +#define DIRID_NULL 0 +#define DIRID_SRCPATH 1 +#define DIRID_WINDOWS 10 +#define DIRID_SYSTEM 11 +#define DIRID_DRIVERS 12 +#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_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 +#define DIRID_ABSOLUTE_16BIT 0xffff +#define DIRID_IOSUBSYS DIRID_DRIVERS +#define DIRID_DEFAULT DIRID_SYSTEM +#define DMI_MASK 0x00000001 +#define DMI_BKCOLOR 0x00000002 +#define DMI_USERECT 0x00000004 +#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 DPROMPT_SUCCESS 0 +#define DPROMPT_CANCEL 1 +#define DPROMPT_SKIPFILE 2 +#define DPROMPT_BUFFERTOOSMALL 3 +#define DPROMPT_OUTOFMEMORY 4 +#define DRIVER_HARDWAREID_RANK 0x00000FFF +#define DYNAWIZ_FLAG_PAGESADDED 0x00000001 +#define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002 +#define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004 +#define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008 +#define ENABLECLASS_QUERY 0 +#define ENABLECLASS_SUCCESS 1 +#define ENABLECLASS_FAILURE 2 +#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_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000) +#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_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE +#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED +#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE +#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE + +#define FILEOP_COPY 0 +#define FILEOP_ABORT 0 +#define FILE_COMPRESSION_NONE 0 +#define FILEOP_RENAME 1 +#define FILEOP_DOIT 1 +#define FILE_COMPRESSION_WINLZA 1 +#define FILEOP_DELETE 2 +#define FILEOP_SKIP 2 +#define FILE_COMPRESSION_MSZIP 2 +#define FILEOP_BACKUP 3 +#define FILE_COMPRESSION_NTCAB 3 +#define FILEOP_NEWPATH 4 +#define FILEOP_RETRY FILEOP_DOIT +#define FLG_ADDREG_TYPE_SZ 0x00000000 +#define FLG_ADDREG_BINVALUETYPE 0x00000001 +#define FLG_ADDREG_NOCLOBBER 0x00000002 +#define FLG_ADDREG_DELVAL 0x00000004 +#define FLG_ADDREG_APPEND 0x00000008 +#define FLG_ADDREG_KEYONLY 0x00000010 +#define FLG_ADDREG_OVERWRITEONLY 0x00000020 +#define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 +#define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000 +#define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE) +#define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE) +#define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE) +#define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE) +#define FLG_BITREG_CLEARBITS 0x00000000 +#define FLG_BITREG_SETBITS 0x00000001 +#define FLG_PROFITEM_CURRENTUSER 0x00000001 +#define FLG_PROFITEM_DELETE 0x00000002 +#define FLG_PROFITEM_GROUP 0x00000004 +#define FLG_PROFITEM_CSIDL 0x00000008 +#define FLG_REGSVR_DLLREGISTER 0x00000001 +#define FLG_REGSVR_DLLINSTALL 0x00000002 +#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_INSTALLDETECTED_PREVPAGE 10006 +#define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007 +#define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008 +#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 IDF_NOBROWSE 0x00000001 +#define IDF_NOSKIP 0x00000002 +#define IDF_NODETAILS 0x00000004 +#define IDF_NOCOMPRESSED 0x00000008 +#define IDF_CHECKFIRST 0x00000100 +#define IDF_NOBEEP 0x00000200 +#define IDF_NOFOREGROUND 0x00000400 +#define IDF_WARNIFSKIP 0x00000800 +#define IDF_OEMDISK 0x80000000 +#define IDI_RESOURCEFIRST 159 +#define IDI_RESOURCE 159 +#define IDI_RESOURCELAST 161 +#define IDI_RESOURCEOVERLAYFIRST 161 +#define IDI_RESOURCEOVERLAYLAST 161 +#define IDI_CONFLICT 161 +#define IDI_PROBLEM_OVL 500 +#define IDI_DISABLED_OVL 501 +#define IDI_FORCED_OVL 502 +#define IDI_CLASSICON_OVERLAYFIRST 500 +#define IDI_CLASSICON_OVERLAYLAST 502 +#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 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 LogSevInformation 0 +#define LogSevWarning 1 +#define LogSevError 2 +#define LogSevFatalError 3 +#define LogSevMaximum 4 +#define LogSeverity DWORD +#define MAX_INSTALLWIZARD_DYNAPAGES 20 +#define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001 +#define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002 +#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 NDW_INSTALLFLAG_NEEDRESTART 0x00000080 +#define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100 +#define SETDIRID_NOT_FULL_PATH 0x00000001 +#define SP_COPY_DELETESOURCE 0x0000001 +#define SP_COPY_REPLACEONLY 0x0000002 +#define SP_COPY_NEWER 0x0000004 +#define SP_COPY_NEWER_OR_SAME 0x0000004 +#define SP_COPY_NOOVERWRITE 0x0000008 +#define SP_COPY_NODECOMP 0x0000010 +#define SP_COPY_LANGUAGEAWARE 0x0000020 +#define SP_COPY_SOURCE_ABSOLUTE 0x0000040 +#define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080 +#define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100 +#define SP_COPY_FORCE_IN_USE 0x0000200 +#define SP_COPY_NOSKIP 0x0000400 +#define SP_COPY_FORCE_NOOVERWRITE 0x0001000 +#define SP_COPY_FORCE_NEWER 0x0002000 +#define SP_COPY_WARNIFSKIP 0x0004000 +#define SP_COPY_NOBROWSE 0x0008000 +#define SP_COPY_NEWER_ONLY 0x0010000 +#define SP_COPY_SOURCE_SIS_MASTER 0x0020000 +#define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000 +#define SP_COPY_REPLACE_BOOT_FILE 0x0080000 +#define SP_COPY_NOPRUNE 0x0100000 +#define SP_FLAG_CABINETCONTINUATION 0x0000800 +#define SPCRP_SECURITY 23 +#define SPCRP_SECURITY_SDS 24 +#define SPCRP_DEVTYPE 25 +#define SPCRP_EXCLUSIVE 26 +#define SPCRP_CHARACTERISTICS 27 +#define SPCRP_MAXIMUM_PROPERTY 28 +#define SPDIT_NODRIVER 0 +#define SPDIT_CLASSDRIVER 1 +#define SPDIT_COMPATDRIVER 2 +#define SPDRP_DEVICEDESC 0 +#define SPDRP_HARDWAREID 1 +#define SPDRP_COMPATIBLEIDS 2 +#define SPDRP_UNUSED0 3 +#define SPDRP_SERVICE 4 +#define SPDRP_UNUSED1 5 +#define SPDRP_UNUSED2 6 +#define SPDRP_CLASS 7 +#define SPDRP_CLASSGUID 8 +#define SPDRP_DRIVER 9 +#define SPDRP_CONFIGFLAGS 10 +#define SPDRP_MFG 11 +#define SPDRP_FRIENDLYNAME 12 +#define SPDRP_LOCATION_INFORMATION 13 +#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14 +#define SPDRP_CAPABILITIES 15 +#define SPDRP_UI_NUMBER 16 +#define SPDRP_UPPERFILTERS 17 +#define SPDRP_LOWERFILTERS 18 +#define SPDRP_BUSTYPEGUID 19 +#define SPDRP_LEGACYBUSTYPE 20 +#define SPDRP_BUSNUMBER 21 +#define SPDRP_ENUMERATOR_NAME 22 +#define SPDRP_SECURITY 23 +#define SPDRP_SECURITY_SDS 24 +#define SPDRP_DEVTYPE 25 +#define SPDRP_EXCLUSIVE 26 +#define SPDRP_CHARACTERISTICS 27 +#define SPDRP_ADDRESS 28 +#define SPDRP_UI_NUMBER_DESC_FORMAT 30 +#define SPDRP_MAXIMUM_PROPERTY 31 +#define SPDSL_IGNORE_DISK 1 +#define SPDSL_DISALLOW_NEGATIVE_ADJUST 2 + +#define SPFILENOTIFY_STARTQUEUE 1 +#define SPFILENOTIFY_ENDQUEUE 2 +#define SPFILENOTIFY_STARTSUBQUEUE 3 +#define SPFILENOTIFY_ENDSUBQUEUE 4 +#define SPFILENOTIFY_STARTDELETE 5 +#define SPFILENOTIFY_ENDDELETE 6 +#define SPFILENOTIFY_DELETEERROR 7 +#define SPFILENOTIFY_STARTRENAME 8 +#define SPFILENOTIFY_ENDRENAME 9 +#define SPFILENOTIFY_RENAMEERROR 10 +#define SPFILENOTIFY_STARTCOPY 11 +#define SPFILENOTIFY_ENDCOPY 12 +#define SPFILENOTIFY_COPYERROR 13 +#define SPFILENOTIFY_NEEDMEDIA 14 +#define SPFILENOTIFY_QUEUESCAN 15 +#define SPFILENOTIFY_CABINETINFO 16 +#define SPFILENOTIFY_FILEINCABINET 17 +#define SPFILENOTIFY_NEEDNEWCABINET 18 +#define SPFILENOTIFY_FILEEXTRACTED 19 +#define SPFILENOTIFY_FILEOPDELAYED 20 +#define SPFILENOTIFY_STARTBACKUP 21 +#define SPFILENOTIFY_BACKUPERROR 22 +#define SPFILENOTIFY_ENDBACKUP 23 +#define SPFILENOTIFY_QUEUESCAN_EX 24 +#define SPFILENOTIFY_LANGMISMATCH 0x00010000 +#define SPFILENOTIFY_TARGETEXISTS 0x00020000 +#define SPFILENOTIFY_TARGETNEWER 0x00040000 +#define SPFILELOG_SYSTEMLOG 0x00000001 +#define SPFILELOG_OEMFILE 0x00000001 +#define SPFILELOG_FORCENEW 0x00000002 +#define SPFILELOG_QUERYONLY 0x00000004 +#define SPFILEQ_FILE_IN_USE 0x00000001 +#define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 +#define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 +#define SPINT_ACTIVE 0x00000001 +#define SPINT_DEFAULT 0x00000002 +#define SPINT_REMOVED 0x00000004 +#define SPID_ACTIVE 0x00000001 +#define SPID_DEFAULT 0x00000002 +#define SPID_REMOVED 0x00000004 +#define SPINST_LOGCONFIG 0x00000001 +#define SPINST_INIFILES 0x00000002 +#define SPINST_REGISTRY 0x00000004 +#define SPINST_INI2REG 0x00000008 +#define SPINST_FILES 0x00000010 +#define SPINST_BITREG 0x00000020 +#define SPINST_REGSVR 0x00000040 +#define SPINST_UNREGSVR 0x00000080 +#define SPINST_PROFILEITEMS 0x00000100 +#define SPINST_ALL 0x000001ff +#define SPINST_SINGLESECTION 0x00010000 +#define SPINST_LOGCONFIG_IS_FORCED 0x00020000 +#define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000 +#define SPOST_NONE 0 +#define SPOST_PATH 1 +#define SPOST_URL 2 +#define SPOST_MAX 3 +#define SPPSR_SELECT_DEVICE_RESOURCES 1 +#define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2 +#define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3 +#define SPQ_SCAN_FILE_PRESENCE 0x00000001 +#define SPQ_DELAYED_COPY 0x00000001 +#define SPQ_SCAN_FILE_VALIDITY 0x00000002 +#define SPQ_SCAN_USE_CALLBACK 0x00000004 +#define SPQ_SCAN_USE_CALLBACKEX 0x00000008 +#define SPQ_SCAN_INFORM_USER 0x00000010 +#define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020 +#define SPRDI_FIND_DUPS 0x00000001 +#define SPSVCINST_TAGTOFRONT 0x00000001 +#define SPSVCINST_ASSOCSERVICE 0x00000002 +#define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004 +#define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008 +#define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010 +#define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020 +#define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040 +#define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080 +#define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100 +#define SPSVCINST_STOPSERVICE 0x00000200 +#define SPWPT_SELECTDEVICE 0x00000001 +#define SPWP_USE_DEVINFO_DATA 0x00000001 +#define SRCINFO_PATH 1 +#define SRCINFO_TAGFILE 2 +#define SRCINFO_DESCRIPTION 3 +#define SRCINFO_FLAGS 4 +#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 + +#ifndef RC_INVOKED +typedef PVOID HINF; +typedef PVOID HDSKSPC; +typedef PVOID HDEVINFO; +typedef PVOID HSPFILEQ; +typedef PVOID HSPFILELOG; +typedef UINT DI_FUNCTION; + +typedef enum { + SetupFileLogSourceFilename, + SetupFileLogChecksum, + SetupFileLogDiskTagfile, + SetupFileLogDiskDescription, + SetupFileLogOtherInfo, + SetupFileLogMax +} SetupFileLogInfo; +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 { + DWORD cbSize; + DWORD Platform; + DWORD MajorVersion; + DWORD MinorVersion; + WORD ProcessorArchitecture; + WORD Reserved; +} SP_ALTPLATFORM_INFO, *PSP_ALTPLATFORM_INFO; +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; +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; +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; +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; +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; +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; +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; +/* For backward compatability */ +typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA; + +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; +/* For backward compatability */ +typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A, + *PSP_INTERFACE_DEVICE_DETAIL_DATA_A; +typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W, + *PSP_INTERFACE_DEVICE_DETAIL_DATA_W; + +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; + +typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR); +typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR); +typedef struct _SP_DEVINSTALL_PARAMS_A { + DWORD cbSize; + DWORD Flags; + DWORD FlagsEx; + HWND hwndParent; + PSP_FILE_CALLBACK_A 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_W InstallMsgHandler; + PVOID InstallMsgHandlerContext; + HSPFILEQ FileQueue; + ULONG_PTR ClassInstallReserved; + DWORD Reserved; + WCHAR DriverPath[MAX_PATH]; +} SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W; +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; +typedef struct _SP_MOVEDEV_PARAMS { + SP_CLASSINSTALL_HEADER ClassInstallHeader; + SP_DEVINFO_DATA SourceDeviceInfoData; +} SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS; +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; +typedef struct _SP_UNREMOVEDEVICE_PARAMS { + SP_CLASSINSTALL_HEADER ClassInstallHeader; + DWORD Scope; + DWORD HwProfile; +} SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS; +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; + +typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD); +typedef struct _SP_DETECTDEVICE_PARAMS { + SP_CLASSINSTALL_HEADER ClassInstallHeader; + PDETECT_PROGRESS_NOTIFY DetectProgressNotify; + PVOID ProgressNotifyParam; +} SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS; +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; +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, + *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; +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; +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; + +#ifdef UNICODE +typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; +typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; +#else +typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; +typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; +#endif + +#if USE_SP_DRVINFO_DATA_V1 +typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; +typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; +typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; +#else +typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; +typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; +typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; +#endif + +typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID); + +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; +typedef struct _SP_DRVINSTALL_PARAMS { + DWORD cbSize; + DWORD Rank; + DWORD Flags; + DWORD_PTR PrivateData; + DWORD Reserved; +} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS; + + +typedef struct _COINSTALLER_CONTEXT_DATA { + BOOL 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; +typedef struct _SP_BACKUP_QUEUE_PARAMS_A { + DWORD cbSize; + CHAR FullInfPath[MAX_PATH]; + INT FilenameOffset; +} SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A; +typedef struct _SP_BACKUP_QUEUE_PARAMS_W { + DWORD cbSize; + WCHAR FullInfPath[MAX_PATH]; + INT FilenameOffset; +} SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W; + + +#ifdef UNICODE +typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; +typedef FILEPATHS_W FILEPATHS, *PFILEPATHS; +typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA; +typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO; +typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; +typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS; +typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA, + *PSP_DEVICE_INTERFACE_DETAIL_DATA; +typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA, + *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ +typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA, + *PSP_DEVINFO_LIST_DETAIL_DATA; +typedef SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS; +typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS; +typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS, + *PSP_TROUBLESHOOTER_PARAMS; +typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS, + *PSP_POWERMESSAGEWAKE_PARAMS; +typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA, + *PSP_DRVINFO_DETAIL_DATA; +typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS, + *PSP_BACKUP_QUEUE_PARAMS; +#else +typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; +typedef FILEPATHS_A FILEPATHS, *PFILEPATHS; +typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA; +typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO; +typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; +typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS; +typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA, + *PSP_DEVICE_INTERFACE_DETAIL_DATA; +typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA, + *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ +typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA, + *PSP_DEVINFO_LIST_DETAIL_DATA; +typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; +typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS, + *PSP_SELECTDEVICE_PARAMS; +typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS, + *PSP_TROUBLESHOOTER_PARAMS; +typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS, + *PSP_POWERMESSAGEWAKE_PARAMS; +typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA, + *PSP_DRVINFO_DETAIL_DATA; +typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS, + *PSP_BACKUP_QUEUE_PARAMS; +#endif /* UNICODE */ + +WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(DWORD,PCSTR); +WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(DWORD,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT); +WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); +WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); +WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID); +WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(HSPFILEQ); +WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF); +WINSETUPAPI VOID WINAPI SetupCloseLog(VOID); +WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID); +WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID); +WINSETUPAPI UINT WINAPI SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR,DWORD,PDWORD); +WINSETUPAPI UINT WINAPI SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*); +WINSETUPAPI BOOL WINAPI SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR*); +WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID,DWORD,UINT); +WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(PVOID,DWORD,UINT); +WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT); +WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT); +WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR); +WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR); +WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD); +WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD); +WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(HDSKSPC); +WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(HDEVINFO); +WINSETUPAPI BOOL WINAPI SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidA(CONST GUID*,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidW(CONST GUID*,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CONST GUID*,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CONST GUID*,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA); +WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(CONST GUID*,HWND); +WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(CONST GUID*,HWND,PCSTR,PVOID); +WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(CONST GUID*,HWND,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCSTR); +WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCWSTR); +WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCSTR); +WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiDeleteDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); +WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO); +WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); +WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,DWORD,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_A); +WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_W); +WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR*); +WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PWSTR*); +WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(CONST GUID*,PINT); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionA(CONST GUID*,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionW(CONST GUID*,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD,PDWORD,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERW,DWORD,PDWORD,DWORD); +WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID*,PCSTR,HWND,DWORD); +WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID*,PCWSTR,HWND,DWORD); +WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(CONST GUID*,PCSTR,HWND,DWORD,HDEVINFO,PCSTR,PVOID); +WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID*,PCWSTR,HWND,DWORD,HDEVINFO,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CONST GUID*,PINT); +WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); +WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_W); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,CONST GUID*,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD,PDWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_W,DWORD,PDWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINFO_DETAIL_DATA_W,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS); +WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A); +WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W); +WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ); +WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ); +WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(CONST GUID*,HICON*,PINT); +WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI HKEY WINAPI SetupDiOpenClassReg(CONST GUID*,REGSAM); +WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegExA(CONST GUID*,REGSAM,DWORD,PCSTR,PVOID); +WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegExW(CONST GUID*,REGSAM,DWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM); +WINSETUPAPI HKEY WINAPI SetupDiOpenDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,REGSAM); +WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA); +WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CONST BYTE*,DWORD,PCSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CONST BYTE*,DWORD,PCWSTR,PVOID); +WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A); +WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W); +WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD); +WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS); +WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS); +WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A); +WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W); +WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT); +WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT); +WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupFindNextLine(PINFCONTEXT,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT); +WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT); +WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A); +WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W); +WINSETUPAPI BOOL WINAPI SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD); +WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT); +WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT); +WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT); +WINSETUPAPI BOOL WINAPI SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetIntField(PINFCONTEXT,DWORD,PINT); +WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT); +WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT); +WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF,PCSTR); +WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD); +WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD); +WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT); +WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT); +WINSETUPAPI BOOL WINAPI SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD); +WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(HWND); +WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID); +WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(PCSTR,DWORD); +WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID); +WINSETUPAPI BOOL WINAPI SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID); +WINSETUPAPI BOOL WINAPI SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID,PBOOL); +WINSETUPAPI BOOL WINAPI SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID,PBOOL); +WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UINT); +WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,UINT); +WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA); +WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID); +WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID); +WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID); +WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID); +WINSETUPAPI BOOL WINAPI SetupLogErrorA(LPCSTR,LogSeverity); +WINSETUPAPI BOOL WINAPI SetupLogErrorW(LPCWSTR,LogSeverity); +WINSETUPAPI BOOL WINAPI SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileA(PCSTR,HINF,PUINT); +WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT); +WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID); +WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT); +WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT); +WINSETUPAPI BOOL WINAPI SetupOpenLog(BOOL); +WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID); +WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD); +WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD); +WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ,HWND,BOOL); +WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT); +WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT); +WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A); +WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_W); +WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PWSTR,DWORD,PDWORD); +WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); +WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); +WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD); +WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR); +WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR); +WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR); +WINSETUPAPI BOOL WINAPI SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR); +WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR); +WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(DWORD,PCSTR); +WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(DWORD,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT); +WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT); +WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); +WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); +WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD); +WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,PDWORD); +WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(HINF,DWORD,PCSTR); +WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(HINF,DWORD,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID); +WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID); +WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR); +WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCWSTR); +WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(PCSTR); +WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(PCWSTR); +WINSETUPAPI BOOL WINAPI SetupSetSourceListA(DWORD,PCSTR*,UINT); +WINSETUPAPI BOOL WINAPI SetupSetSourceListW(DWORD,PCWSTR*,UINT); +WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(PVOID); +WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(HSPFILELOG); + +/* for backward compatability */ +#define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW +#define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW +#define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW +#define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW +#define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA +#define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA +#define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA +#define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA + +#ifdef UNICODE +#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W +#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW +#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW +#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW +#define SetupAddToSourceList SetupAddToSourceListW +#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW +#define SetupBackupError SetupBackupErrorW +#define SetupCommitFileQueue SetupCommitFileQueueW +#define SetupCopyError SetupCopyErrorW +#define SetupCopyOEMInf SetupCopyOEMInfW +#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW +#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW +#define SetupDefaultQueueCallback SetupDefaultQueueCallbackW +#define SetupDeleteError SetupDeleteErrorW +#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW +#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW +#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW +#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW +#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW +#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW +#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW +#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW +#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW +#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW +#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW +#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW +#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW +#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW +#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW +#define SetupDiGetClassDescription SetupDiGetClassDescriptionW +#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW +#define SetupDiGetClassDevsEx SetupDiGetClassDevsExW +#define SetupDiGetClassDevs SetupDiGetClassDevsW +#define SetupDiGetClassImageListEx SetupDiGetClassImageListExW +#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW +#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW +#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW +#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW +#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW +#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW +#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW +#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW +#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW +#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW +#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW +#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW +#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW +#define SetupDiGetINFClass SetupDiGetINFClassW +#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW +#define SetupDiInstallClassEx SetupDiInstallClassExW +#define SetupDiInstallClass SetupDiInstallClassW +#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW +#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW +#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW +#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW +#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW +#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW +#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW +#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW +#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW +#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW +#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW +#define SetupFindFirstLine SetupFindFirstLineW +#define SetupFindNextMatchLine SetupFindNextMatchLineW +#define SetupFreeSourceList SetupFreeSourceListW +#define SetupGetBackupInformation SetupGetBackupInformationW +#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW +#define SetupGetInfFileList SetupGetInfFileListW +#define SetupGetInfInformation SetupGetInfInformationW +#define SetupGetLineByIndex SetupGetLineByIndexW +#define SetupGetLineCount SetupGetLineCountW +#define SetupGetLineText SetupGetLineTextW +#define SetupGetMultiSzField SetupGetMultiSzFieldW +#define SetupGetSourceFileLocation SetupGetSourceFileLocationW +#define SetupGetSourceFileSize SetupGetSourceFileSizeW +#define SetupGetSourceInfo SetupGetSourceInfoW +#define SetupGetStringField SetupGetStringFieldW +#define SetupGetTargetPath SetupGetTargetPathW +#define SetupInitializeFileLog SetupInitializeFileLogW +#define SetupInstallFileEx SetupInstallFileExW +#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW +#define SetupInstallFile SetupInstallFileW +#define SetupInstallFromInfSection SetupInstallFromInfSectionW +#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW +#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW +#define SetupIterateCabinet SetupIterateCabinetW +#define SetupLogError SetupLogErrorW +#define SetupLogFile SetupLogFileW +#define SetupOpenAppendInfFile SetupOpenAppendInfFileW +#define SetupOpenInfFile SetupOpenInfFileW +#define SetupPromptForDisk SetupPromptForDiskW +#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW +#define SetupQueryFileLog SetupQueryFileLogW +#define SetupQueryInfFileInformation SetupQueryInfFileInformationW +#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW +#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW +#define SetupQuerySourceList SetupQuerySourceListW +#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW +#define SetupQueueCopyIndirect SetupQueueCopyIndirectW +#define SetupQueueCopySection SetupQueueCopySectionW +#define SetupQueueCopy SetupQueueCopyW +#define SetupQueueDefaultCopy SetupQueueDefaultCopyW +#define SetupQueueDeleteSection SetupQueueDeleteSectionW +#define SetupQueueDelete SetupQueueDeleteW +#define SetupQueueRenameSection SetupQueueRenameSectionW +#define SetupQueueRename SetupQueueRenameW +#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW +#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW +#define SetupRemoveFromSourceList SetupRemoveFromSourceListW +#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW +#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW +#define SetupRenameError SetupRenameErrorW +#define SetupScanFileQueue SetupScanFileQueueW +#define SetupSetDirectoryIdEx SetupSetDirectoryIdExW +#define SetupSetDirectoryId SetupSetDirectoryIdW +#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW +#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW +#define SetupSetSourceList SetupSetSourceListW +#else +#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A +#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA +#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA +#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA +#define SetupAddToSourceList SetupAddToSourceListA +#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA +#define SetupBackupError SetupBackupErrorA +#define SetupCommitFileQueue SetupCommitFileQueueA +#define SetupCopyError SetupCopyErrorA +#define SetupCopyOEMInf SetupCopyOEMInfA +#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA +#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA +#define SetupDefaultQueueCallback SetupDefaultQueueCallbackA +#define SetupDeleteError SetupDeleteErrorA +#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA +#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA +#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA +#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA +#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA +#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA +#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA +#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA +#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA +#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA +#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA +#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA +#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData +#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA +#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA +#define SetupDiGetClassDescription SetupDiGetClassDescriptionA +#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA +#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA +#define SetupDiGetClassDevs SetupDiGetClassDevsA +#define SetupDiGetClassDevsEx SetupDiGetClassDevsExA +#define SetupDiGetClassImageListEx SetupDiGetClassImageListExA +#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA +#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA +#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA +#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA +#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA +#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA +#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA +#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA +#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA +#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA +#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA +#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA +#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA +#define SetupDiGetINFClass SetupDiGetINFClassA +#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA +#define SetupDiInstallClass SetupDiInstallClassA +#define SetupDiInstallClassEx SetupDiInstallClassExA +#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA +#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA +#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA +#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA +#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA +#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA +#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA +#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA +#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA +#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA +#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA +#define SetupFindFirstLine SetupFindFirstLineA +#define SetupFindNextMatchLine SetupFindNextMatchLineA +#define SetupFreeSourceList SetupFreeSourceListA +#define SetupGetBackupInformation SetupGetBackupInformationA +#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA +#define SetupGetInfFileList SetupGetInfFileListA +#define SetupGetInfInformation SetupGetInfInformationA +#define SetupGetLineByIndex SetupGetLineByIndexA +#define SetupGetLineCount SetupGetLineCountA +#define SetupGetLineText SetupGetLineTextA +#define SetupGetMultiSzField SetupGetMultiSzFieldA +#define SetupGetSourceFileLocation SetupGetSourceFileLocationA +#define SetupGetSourceFileSize SetupGetSourceFileSizeA +#define SetupGetSourceInfo SetupGetSourceInfoA +#define SetupGetStringField SetupGetStringFieldA +#define SetupGetTargetPath SetupGetTargetPathA +#define SetupInitializeFileLog SetupInitializeFileLogA +#define SetupInstallFile SetupInstallFileA +#define SetupInstallFileEx SetupInstallFileExA +#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA +#define SetupInstallFromInfSection SetupInstallFromInfSectionA +#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA +#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA +#define SetupIterateCabinet SetupIterateCabinetA +#define SetupLogError SetupLogErrorA +#define SetupLogFile SetupLogFileA +#define SetupOpenAppendInfFile SetupOpenAppendInfFileA +#define SetupOpenInfFile SetupOpenInfFileA +#define SetupPromptForDisk SetupPromptForDiskA +#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA +#define SetupQueryFileLog SetupQueryFileLogA +#define SetupQueryInfFileInformation SetupQueryInfFileInformationA +#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA +#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA +#define SetupQuerySourceList SetupQuerySourceListA +#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA +#define SetupQueueCopy SetupQueueCopyA +#define SetupQueueCopyIndirect SetupQueueCopyIndirectA +#define SetupQueueCopySection SetupQueueCopySectionA +#define SetupQueueDefaultCopy SetupQueueDefaultCopyA +#define SetupQueueDelete SetupQueueDeleteA +#define SetupQueueDeleteSection SetupQueueDeleteSectionA +#define SetupQueueRename SetupQueueRenameA +#define SetupQueueRenameSection SetupQueueRenameSectionA +#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA +#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA +#define SetupRemoveFromSourceList SetupRemoveFromSourceListA +#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA +#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA +#define SetupRenameError SetupRenameErrorA +#define SetupScanFileQueue SetupScanFileQueueA +#define SetupSetDirectoryId SetupSetDirectoryIdA +#define SetupSetDirectoryIdEx SetupSetDirectoryIdExA +#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA +#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA +#define SetupSetSourceList SetupSetSourceListA +#endif /* UNICODE */ + +#endif /* RC_INVOKED */ + +#ifdef __cplusplus +} +#endif + +#include +#endif /* _SETUPAPI_H_ */ + diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 44e0d4c0b..c22ef79d1 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -29,12 +29,6 @@ extern "C" { #define BFFM_SETSTATUSTEXT (WM_USER + 100) #define BFFM_ENABLEOK (WM_USER + 101) #define BFFM_SETSELECTION (WM_USER + 102) -#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY -#define CMIC_MASK_ICON SEE_MASK_ICON -#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI -#define CMDSTR_NEWFOLDER "NewFolder" -#define CMDSTR_VIEWLIST "ViewList" -#define CMDSTR_VIEWDETAILS "ViewDetails" #define DVASPECT_SHORTNAME 2 #define SHARD_PIDL 1 #define SHARD_PATH 2 @@ -117,6 +111,7 @@ extern "C" { #endif #define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders") #define CSIDL_DESKTOP 0 +#define CSIDL_INTERNET 1 #define CSIDL_PROGRAMS 2 #define CSIDL_CONTROLS 3 #define CSIDL_PRINTERS 4 @@ -137,8 +132,14 @@ extern "C" { #define CSIDL_COMMON_PROGRAMS 23 #define CSIDL_COMMON_STARTUP 24 #define CSIDL_COMMON_DESKTOPDIRECTORY 25 +#define CSIDL_APPDATA 26 +#define CSIDL_PRINTHOOD 27 +#define CSIDL_ALTSTARTUP 29 #define CSIDL_COMMON_ALTSTARTUP 30 #define CSIDL_COMMON_FAVORITES 31 +#define CSIDL_INTERNET_CACHE 32 +#define CSIDL_COOKIES 33 +#define CSIDL_HISTORY 34 #define CFSTR_SHELLIDLIST "Shell IDList Array" #define CFSTR_SHELLIDLISTOFFSET "Shell Object Offsets" #define CFSTR_NETRESOURCES "Net Resource" @@ -152,12 +153,25 @@ extern "C" { #define CMF_VERBSONLY 2 #define CMF_EXPLORE 4 #define CMF_RESERVED 0xffff0000 -#define GCS_VERB 0 -#define GCS_HELPTEXT 1 -#define GCS_VALIDATE 2 -#define CMDSTR_NEWFOLDER "NewFolder" -#define CMDSTR_VIEWLIST "ViewList" -#define CMDSTR_VIEWDETAILS "ViewDetails" +#define GCS_VERBA 0 +#define GCS_HELPTEXTA 1 +#define GCS_VALIDATEA 2 +#define GCS_VERBW 4 +#define GCS_HELPTEXTW 5 +#define GCS_VALIDATEW 6 +#define GCS_UNICODE 4 +#ifdef UNICODE +#define GCS_VERB GCS_VERBW +#define GCS_HELPTEXT GCS_HELPTEXTW +#define GCS_VALIDATE GCS_VALIDATEW +#else +#define GCS_VERB GCS_VERBA +#define GCS_HELPTEXT GCS_HELPTEXTA +#define GCS_VALIDATE GCS_VALIDATEA +#endif +#define CMDSTR_NEWFOLDER TEXT("NewFolder") +#define CMDSTR_VIEWLIST TEXT("ViewList") +#define CMDSTR_VIEWDETAILS TEXT("ViewDetails") #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY #define CMIC_MASK_ICON SEE_MASK_ICON #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h index 0309788f8..86917e5f0 100644 --- a/winsup/w32api/include/winbase.h +++ b/winsup/w32api/include/winbase.h @@ -1291,6 +1291,7 @@ VOID WINAPI GlobalUnfix(HGLOBAL); BOOL WINAPI GlobalUnlock(HGLOBAL); BOOL WINAPI GlobalUnWire(HGLOBAL); PVOID WINAPI GlobalWire(HGLOBAL); +#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING) PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD); UINT WINAPI HeapCompact(HANDLE,DWORD); HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD); diff --git a/winsup/w32api/include/winioctl.h b/winsup/w32api/include/winioctl.h index 7cc1be628..b01719923 100644 --- a/winsup/w32api/include/winioctl.h +++ b/winsup/w32api/include/winioctl.h @@ -177,14 +177,14 @@ typedef enum _MEDIA_TYPE { F5_160_512, RemovableMedia, FixedMedia -} MEDIA_TYPE; +} MEDIA_TYPE, *PMEDIA_TYPE ; typedef struct _DISK_GEOMETRY { LARGE_INTEGER Cylinders; MEDIA_TYPE MediaType; DWORD TracksPerCylinder; DWORD SectorsPerTrack; DWORD BytesPerSector; -} DISK_GEOMETRY; +} DISK_GEOMETRY, *PDISK_GEOMETRY; typedef struct _DISK_PERFORMANCE { LARGE_INTEGER BytesRead; LARGE_INTEGER BytesWritten; @@ -193,7 +193,7 @@ typedef struct _DISK_PERFORMANCE { DWORD ReadCount; DWORD WriteCount; DWORD QueueDepth; -} DISK_PERFORMANCE; +} DISK_PERFORMANCE, *PDISK_PERFORMANCE; typedef struct _DISK_RECORD { LARGE_INTEGER ByteOffset; LARGE_INTEGER StartTime; diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index 0fed6db4d..fd01ef57f 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -41,10 +41,10 @@ extern "C" { #ifndef VOID #define VOID void +#endif typedef char CHAR; typedef short SHORT; typedef long LONG; -#endif typedef CHAR CCHAR; typedef unsigned char UCHAR,*PUCHAR; typedef unsigned short USHORT,*PUSHORT; diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h index ca13028d4..83c48faec 100644 --- a/winsup/w32api/include/winsock2.h +++ b/winsup/w32api/include/winsock2.h @@ -17,10 +17,6 @@ #include -#ifndef _WTYPES_H -#include /* for BLOB */ -#endif - #ifdef __cplusplus extern "C" { #endif @@ -709,6 +705,13 @@ typedef struct _WSAVersion * but itself needs LPSOCKADDR which is defined earlier in this file */ #include +#ifndef __BLOB_T_DEFINED /* also in wtypes.h */ +#define __BLOB_T_DEFINED +typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; +} BLOB,*PBLOB,*LPBLOB; +#endif typedef struct _WSAQuerySetA { diff --git a/winsup/w32api/include/wtypes.h b/winsup/w32api/include/wtypes.h index 7bd929d6c..34aa7cdaf 100644 --- a/winsup/w32api/include/wtypes.h +++ b/winsup/w32api/include/wtypes.h @@ -11,10 +11,13 @@ extern "C" { #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt)) #define DECIMAL_NEG ((BYTE)0x80) #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;} +#ifndef __BLOB_T_DEFINED /* also in winsock2.h */ +#define __BLOB_T_DEFINED typedef struct _BLOB { ULONG cbSize; BYTE *pBlobData; } BLOB,*PBLOB,*LPBLOB; +#endif typedef enum tagDVASPECT { DVASPECT_CONTENT=1, DVASPECT_THUMBNAIL=2, diff --git a/winsup/w32api/lib/setupapi.def b/winsup/w32api/lib/setupapi.def new file mode 100644 index 000000000..50eb3c962 --- /dev/null +++ b/winsup/w32api/lib/setupapi.def @@ -0,0 +1,375 @@ +LIBRARY setupapi.dll +EXPORTS +AcquireSCMLock@8 +AddMiniIconToList@8 +AddTagToGroupOrderListEntry@12 +AppendStringToMultiSz@24 +AssertFail@12 +CaptureAndConvertAnsiArg@8 +CaptureStringArg@8 +CenterWindowRelativeToParent@4 +ConcatenatePaths@16 +DelayedMove@8 +DelimStringToMultiSz@12 +DestroyTextFileReadBuffer@4 +DoInstallActionWithParams@24 +DoesUserHavePrivilege@4 +DuplicateString@4 +EnablePrivilege@8 +ExtensionPropSheetPageProc@12 +FileExists@8 +FreeStringArray@8 +GetCurrentDriverSigningPolicy@4 +GetSetFileTimestamp@20 +GetVersionInfoFromImage@12 +HandleFailedVerification@40 +InfIsFromOemLocation@8 +InstallCatalog@12 +InstallHinfSection@16 +InstallHinfSectionA@16 +InstallHinfSectionW@16 +InstallStop@4 +InstallStopEx@12 +IsUserAdmin@0 +LookUpStringInTable@12 +MemoryInitialize@4 +MultiByteToUnicode@8 +MultiSzFromSearchControl@16 +MyFree@4 +MyGetFileTitle@4 +MyMalloc@4 +MyRealloc@8 +OpenAndMapFileForRead@20 +OutOfMemory@4 +QueryMultiSzValueToArray@24 +QueryRegistryValue@20 +ReadAsciiOrUnicodeTextFile@8 +RegistryDelnode@8 +RetreiveFileSecurity@8 +RetrieveServiceConfig@8 +SearchForInfFile@24 +SetArrayToMultiSzValue@20 +SetupAddInstallSectionToDiskSpaceListA@24 +SetupAddInstallSectionToDiskSpaceListW@24 +SetupAddSectionToDiskSpaceListA@28 +SetupAddSectionToDiskSpaceListW@28 +SetupAddToDiskSpaceListA@28 +SetupAddToDiskSpaceListW@28 +SetupAddToSourceListA@8 +SetupAddToSourceListW@8 +SetupAdjustDiskSpaceListA@24 +SetupAdjustDiskSpaceListW@24 +SetupBackupErrorA@24 +SetupBackupErrorW@24 +SetupCancelTemporarySourceList@0 +SetupCloseFileQueue@4 +SetupCloseInfFile@4 +SetupCloseLog@0 +SetupCommitFileQueue@16 +SetupCommitFileQueueA@16 +SetupCommitFileQueueW@16 +SetupCopyErrorA@44 +SetupCopyErrorW@44 +SetupCopyOEMInfA@32 +SetupCopyOEMInfW@32 +SetupCreateDiskSpaceListA@12 +SetupCreateDiskSpaceListW@12 +SetupDecompressOrCopyFileA@12 +SetupDecompressOrCopyFileW@12 +SetupDefaultQueueCallback@16 +SetupDefaultQueueCallbackA@16 +SetupDefaultQueueCallbackW@16 +SetupDeleteErrorA@20 +SetupDeleteErrorW@20 +SetupDestroyDiskSpaceList@4 +SetupDiAskForOEMDisk@8 +SetupDiBuildClassInfoList@16 +SetupDiBuildClassInfoListExA@24 +SetupDiBuildClassInfoListExW@24 +SetupDiBuildDriverInfoList@12 +SetupDiCallClassInstaller@12 +SetupDiCancelDriverInfoSearch@4 +SetupDiChangeState@8 +SetupDiClassGuidsFromNameA@16 +SetupDiClassGuidsFromNameExA@24 +SetupDiClassGuidsFromNameExW@24 +SetupDiClassGuidsFromNameW@16 +SetupDiClassNameFromGuidA@16 +SetupDiClassNameFromGuidExA@24 +SetupDiClassNameFromGuidExW@24 +SetupDiClassNameFromGuidW@16 +SetupDiCreateDevRegKeyA@28 +SetupDiCreateDevRegKeyW@28 +SetupDiCreateDeviceInfoA@28 +SetupDiCreateDeviceInfoList@8 +SetupDiCreateDeviceInfoListExA@16 +SetupDiCreateDeviceInfoListExW@16 +SetupDiCreateDeviceInfoW@28 +SetupDiCreateDeviceInterfaceA@24 +SetupDiCreateDeviceInterfaceRegKeyA@24 +SetupDiCreateDeviceInterfaceRegKeyW@24 +SetupDiCreateDeviceInterfaceW@24 +SetupDiDeleteDevRegKey@20 +SetupDiDeleteDeviceInfo@8 +SetupDiDeleteDeviceInterfaceData@8 +SetupDiDeleteDeviceInterfaceRegKey@12 +SetupDiDestroyClassImageList@4 +SetupDiDestroyDeviceInfoList@4 +SetupDiDestroyDriverInfoList@12 +SetupDiDrawMiniIcon@28 +SetupDiEnumDeviceInfo@12 +SetupDiEnumDeviceInterfaces@20 +SetupDiEnumDriverInfoA@20 +SetupDiEnumDriverInfoW@20 +SetupDiGetActualSectionToInstallA@24 +SetupDiGetActualSectionToInstallW@24 +SetupDiGetClassBitmapIndex@8 +SetupDiGetClassDescriptionA@16 +SetupDiGetClassDescriptionExA@24 +SetupDiGetClassDescriptionExW@24 +SetupDiGetClassDescriptionW@16 +SetupDiGetClassDevPropertySheetsA@24 +SetupDiGetClassDevPropertySheetsW@24 +SetupDiGetClassDevsA@16 +SetupDiGetClassDevsExA@28 +SetupDiGetClassDevsExW@28 +SetupDiGetClassDevsW@16 +SetupDiGetClassImageIndex@12 +SetupDiGetClassImageList@4 +SetupDiGetClassImageListExA@12 +SetupDiGetClassImageListExW@12 +SetupDiGetClassInstallParamsA@20 +SetupDiGetClassInstallParamsW@20 +SetupDiGetDeviceInfoListClass@8 +SetupDiGetDeviceInfoListDetailA@8 +SetupDiGetDeviceInfoListDetailW@8 +SetupDiGetDeviceInstallParamsA@12 +SetupDiGetDeviceInstallParamsW@12 +SetupDiGetDeviceInstanceIdA@20 +SetupDiGetDeviceInstanceIdW@20 +SetupDiGetDeviceInterfaceAlias@16 +SetupDiGetDeviceInterfaceDetailA@24 +SetupDiGetDeviceInterfaceDetailW@24 +SetupDiGetDeviceRegistryPropertyA@28 +SetupDiGetDeviceRegistryPropertyW@28 +SetupDiGetDriverInfoDetailA@24 +SetupDiGetDriverInfoDetailW@24 +SetupDiGetDriverInstallParamsA@16 +SetupDiGetDriverInstallParamsW@16 +SetupDiGetHwProfileFriendlyNameA@16 +SetupDiGetHwProfileFriendlyNameExA@24 +SetupDiGetHwProfileFriendlyNameExW@24 +SetupDiGetHwProfileFriendlyNameW@16 +SetupDiGetHwProfileList@16 +SetupDiGetHwProfileListExA@24 +SetupDiGetHwProfileListExW@24 +SetupDiGetINFClassA@20 +SetupDiGetINFClassW@20 +SetupDiGetSelectedDevice@8 +SetupDiGetSelectedDriverA@12 +SetupDiGetSelectedDriverW@12 +SetupDiGetWizardPage@20 +SetupDiInstallClassA@16 +SetupDiInstallClassExA@28 +SetupDiInstallClassExW@28 +SetupDiInstallClassW@16 +SetupDiInstallDevice@8 +SetupDiInstallDeviceInterfaces@8 +SetupDiInstallDriverFiles@8 +SetupDiLoadClassIcon@12 +SetupDiMoveDuplicateDevice@8 +SetupDiOpenClassRegKey@8 +SetupDiOpenClassRegKeyExA@20 +SetupDiOpenClassRegKeyExW@20 +SetupDiOpenDevRegKey@24 +SetupDiOpenDeviceInfoA@20 +SetupDiOpenDeviceInfoW@20 +SetupDiOpenDeviceInterfaceA@16 +SetupDiOpenDeviceInterfaceRegKey@16 +SetupDiOpenDeviceInterfaceW@16 +SetupDiRegisterCoDeviceInstallers@8 +SetupDiRegisterDeviceInfo@24 +SetupDiRemoveDevice@8 +SetupDiRemoveDeviceInterface@8 +SetupDiSelectBestCompatDrv@8 +SetupDiSelectDevice@8 +SetupDiSelectOEMDrv@12 +SetupDiSetClassInstallParamsA@16 +SetupDiSetClassInstallParamsW@16 +SetupDiSetDeviceInstallParamsA@12 +SetupDiSetDeviceInstallParamsW@12 +SetupDiSetDeviceRegistryPropertyA@20 +SetupDiSetDeviceRegistryPropertyW@20 +SetupDiSetDriverInstallParamsA@16 +SetupDiSetDriverInstallParamsW@16 +SetupDiSetSelectedDevice@8 +SetupDiSetSelectedDriverA@12 +SetupDiSetSelectedDriverW@12 +SetupDiUnremoveDevice@8 +SetupDuplicateDiskSpaceListA@16 +SetupDuplicateDiskSpaceListW@16 +SetupFindFirstLineA@16 +SetupFindFirstLineW@16 +SetupFindNextLine@8 +SetupFindNextMatchLineA@12 +SetupFindNextMatchLineW@12 +SetupFreeSourceListA@8 +SetupFreeSourceListW@8 +SetupGetBackupInformationA@8 +SetupGetBackupInformationW@8 +SetupGetBinaryField@20 +SetupGetFieldCount@4 +SetupGetFileCompressionInfoA@20 +SetupGetFileCompressionInfoW@20 +SetupGetInfFileListA@20 +SetupGetInfFileListW@20 +SetupGetInfInformationA@20 +SetupGetInfInformationW@20 +SetupGetInfSections@16 +SetupGetIntField@12 +SetupGetLineByIndexA@16 +SetupGetLineByIndexW@16 +SetupGetLineCountA@8 +SetupGetLineCountW@8 +SetupGetLineTextA@28 +SetupGetLineTextW@28 +SetupGetMultiSzFieldA@20 +SetupGetMultiSzFieldW@20 +SetupGetSourceFileLocationA@28 +SetupGetSourceFileLocationW@28 +SetupGetSourceFileSizeA@24 +SetupGetSourceFileSizeW@24 +SetupGetSourceInfoA@24 +SetupGetSourceInfoW@24 +SetupGetStringFieldA@20 +SetupGetStringFieldW@20 +SetupGetTargetPathA@24 +SetupGetTargetPathW@24 +SetupInitDefaultQueueCallback@4 +SetupInitDefaultQueueCallbackEx@20 +SetupInitializeFileLogA@8 +SetupInitializeFileLogW@8 +SetupInstallFileA@32 +SetupInstallFileExA@36 +SetupInstallFileExW@36 +SetupInstallFileW@32 +SetupInstallFilesFromInfSectionA@24 +SetupInstallFilesFromInfSectionW@24 +SetupInstallFromInfSectionA@44 +SetupInstallFromInfSectionW@44 +SetupInstallServicesFromInfSectionA@12 +SetupInstallServicesFromInfSectionExA@28 +SetupInstallServicesFromInfSectionExW@28 +SetupInstallServicesFromInfSectionW@12 +SetupIterateCabinetA@16 +SetupIterateCabinetW@16 +SetupLogErrorA@8 +SetupLogErrorW@8 +SetupLogFileA@36 +SetupLogFileW@36 +SetupOpenAppendInfFileA@12 +SetupOpenAppendInfFileW@12 +SetupOpenFileQueue@0 +SetupOpenInfFileA@16 +SetupOpenInfFileW@16 +SetupOpenLog@4 +SetupOpenMasterInf@0 +SetupPromptForDiskA@40 +SetupPromptForDiskW@40 +SetupPromptReboot@12 +SetupQueryDrivesInDiskSpaceListA@16 +SetupQueryDrivesInDiskSpaceListW@16 +SetupQueryFileLogA@28 +SetupQueryFileLogW@28 +SetupQueryInfFileInformationA@20 +SetupQueryInfFileInformationW@20 +SetupQueryInfOriginalFileInformationA@16 +SetupQueryInfOriginalFileInformationW@16 +SetupQueryInfVersionInformationA@24 +SetupQueryInfVersionInformationW@24 +SetupQuerySourceListA@12 +SetupQuerySourceListW@12 +SetupQuerySpaceRequiredOnDriveA@20 +SetupQuerySpaceRequiredOnDriveW@20 +SetupQueueCopyA@36 +SetupQueueCopyIndirectA@4 +SetupQueueCopyIndirectW@4 +SetupQueueCopySectionA@24 +SetupQueueCopySectionW@24 +SetupQueueCopyW@36 +SetupQueueDefaultCopyA@24 +SetupQueueDefaultCopyW@24 +SetupQueueDeleteA@12 +SetupQueueDeleteSectionA@16 +SetupQueueDeleteSectionW@16 +SetupQueueDeleteW@12 +SetupQueueRenameA@20 +SetupQueueRenameSectionA@16 +SetupQueueRenameSectionW@16 +SetupQueueRenameW@20 +SetupRemoveFileLogEntryA@12 +SetupRemoveFileLogEntryW@12 +SetupRemoveFromDiskSpaceListA@20 +SetupRemoveFromDiskSpaceListW@20 +SetupRemoveFromSourceListA@8 +SetupRemoveFromSourceListW@8 +SetupRemoveInstallSectionFromDiskSpaceListA@24 +SetupRemoveInstallSectionFromDiskSpaceListW@24 +SetupRemoveSectionFromDiskSpaceListA@28 +SetupRemoveSectionFromDiskSpaceListW@28 +SetupRenameErrorA@24 +SetupRenameErrorW@24 +SetupScanFileQueue@24 +SetupScanFileQueueA@24 +SetupScanFileQueueW@24 +SetupSetDirectoryIdA@12 +SetupSetDirectoryIdExA@24 +SetupSetDirectoryIdExW@24 +SetupSetDirectoryIdW@12 +SetupSetFileQueueAlternatePlatformA@12 +SetupSetFileQueueAlternatePlatformW@12 +SetupSetPlatformPathOverrideA@4 +SetupSetPlatformPathOverrideW@4 +SetupSetSourceListA@12 +SetupSetSourceListW@12 +SetupTermDefaultQueueCallback@4 +SetupTerminateFileLog@4 +ShouldDeviceBeExcluded@12 +StampFileSecurity@8 +StringTableAddString@12 +StringTableAddStringEx@20 +StringTableDestroy@4 +StringTableDuplicate@4 +StringTableEnum@20 +StringTableGetExtraData@16 +StringTableInitialize@0 +StringTableInitializeEx@8 +StringTableLookUpString@12 +StringTableLookUpStringEx@20 +StringTableSetExtraData@16 +StringTableStringFromId@8 +StringTableStringFromIdEx@16 +StringTableTrim@4 +TakeOwnershipOfFile@4 +UnicodeToMultiByte@8 +UnmapAndCloseFile@12 +VerifyCatalogFile@4 +VerifyFile@48 +pSetupAccessRunOnceNodeList@0 +pSetupDestroyRunOnceNodeList@0 +pSetupDiGetDeviceInfoContext@12 +pSetupDiSetDeviceInfoContext@12 +pSetupDirectoryIdToPath@20 +pSetupGetField@8 +pSetupGetGlobalFlags@0 +pSetupGetOsLoaderDriveAndPath@16 +pSetupGetQueueFlags@4 +pSetupGetVersionDatum@8 +pSetupGuidFromString@8 +pSetupIsGuidNull@4 +pSetupMakeSurePathExists@4 +pSetupSetGlobalFlags@4 +pSetupSetQueueFlags@8 +pSetupSetSystemSourcePath@8 +pSetupStringFromGuid@12 +pSetupVerifyQueuedCatalogs@4 diff --git a/winsup/w32api/lib/test.c b/winsup/w32api/lib/test.c index 8295aa037..b109629c4 100644 --- a/winsup/w32api/lib/test.c +++ b/winsup/w32api/lib/test.c @@ -55,7 +55,7 @@ #include #include #include - +#include #ifndef __OBJC__ /* problems with BOOL */ #include -- cgit v1.2.3