#define DI_FLAGSEX_RESERVED1 0x00400000
#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000
#define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000
+#if (_SETUPAPI_VER >= 0x0501)
+#define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000
+#define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000
+#define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000
+#define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000
+#define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000
+#endif
#define DIBCI_NOINSTALLCLASS 0x00000001
#define DIBCI_NODISPLAYCLASS 0x00000002
#define DICD_GENERATE_ID 0x00000001
#define DMI_MASK 0x00000001
#define DMI_BKCOLOR 0x00000002
#define DMI_USERECT 0x00000004
+#define DN_ROOT_ENUMERATED 0x00000001
+#define DN_DRIVER_LOADED 0x00000002
+#define DN_ENUM_LOADED 0x00000004
+#define DN_STARTED 0x00000008
+#define DN_MANUAL 0x00000010
+#define DN_NEED_TO_ENUM 0x00000020
+#define DN_NOT_FIRST_TIME 0x00000040
+#define DN_HARDWARE_ENUM 0x00000080
+#define DN_LIAR 0x00000100
+#define DN_HAS_MARK 0x00000200
+#define DN_HAS_PROBLEM 0x00000400
+#define DN_FILTERED 0x00000800
+#define DN_MOVED 0x00001000
+#define DN_DISABLEABLE 0x00002000
+#define DN_REMOVABLE 0x00004000
+#define DN_PRIVATE_PROBLEM 0x00008000
+#define DN_MF_PARENT 0x00010000
+#define DN_MF_CHILD 0x00020000
+#define DN_WILL_BE_REMOVED 0x00040000
+#define DN_NOT_FIRST_TIMEE 0x00080000
+#define DN_STOP_FREE_RES 0x00100000
+#define DN_REBAL_CANDIDATE 0x00200000
+#define DN_BAD_PARTIAL 0x00400000
+#define DN_NT_ENUMERATOR 0x00800000
+#define DN_NT_DRIVER 0x01000000
#define DN_NEEDS_LOCKING 0x02000000
#define DN_ARM_WAKEUP 0x04000000
#define DN_APM_ENUMERATOR 0x08000000
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 SetupDiGetActualSectionToInstallExA(HINF,PCSTR,PSP_ALTPLATFORM_INFO,PSTR,DWORD,PDWORD,PSTR*,PVOID);
+WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallExW(HINF,PCWSTR,PSP_ALTPLATFORM_INFO,PWSTR,DWORD,PDWORD,PWSTR*,PVOID);
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);
#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
+#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
#define SetupDiGetClassDescription SetupDiGetClassDescriptionW
#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
+#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
#define SetupDiGetClassDescription SetupDiGetClassDescriptionA
#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA