34#define INSTALLFLAG_FORCE 0x00000001
35#define INSTALLFLAG_READONLY 0x00000002
36#define INSTALLFLAG_NONINTERACTIVE 0x00000004
37#define INSTALLFLAG_BITS 0x00000007
39#if (WINVER >= _WIN32_WINNT_WIN2K)
60#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesW
62#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesA
67#if (WINVER >= _WIN32_WINNT_VISTA)
69#define DIIDFLAG_SHOWSEARCHUI 0x00000001
70#define DIIDFLAG_NOFINISHINSTALLUI 0x00000002
71#define DIIDFLAG_INSTALLNULLDRIVER 0x00000004
72#define DIIDFLAG_BITS 0x00000007
74#define DIIRFLAG_INF_ALREADY_COPIED 0x00000001
75#define DIIRFLAG_FORCE_INF 0x00000002
76#define DIIRFLAG_HW_USING_THE_INF 0x00000004
77#define DIIRFLAG_HOTPATCH 0x00000008
78#define DIIRFLAG_NOBACKUP 0x00000010
79#define DIIRFLAG_BITS ( DIIRFLAG_FORCE_INF | DIIRFLAG_HOTPATCH)
80#define DIIRFLAG_SYSTEM_BITS ( DIIRFLAG_INF_ALREADY_COPIED |\
82 DIIRFLAG_HW_USING_THE_INF |\
86#define ROLLBACK_FLAG_NO_UI 0x00000001
87#define ROLLBACK_BITS 0x00000001
135#define DiInstallDriver DiInstallDriverW
137#define DiInstallDriver DiInstallDriverA
142#if (WINVER >= _WIN32_WINNT_WIN7)
BOOL WINAPI NeedReboot(DWORD dwRebootCheck)
BOOL WINAPI UpdateDriverForPlugAndPlayDevicesA(HWND hwndParent, LPCSTR HardwareId, LPCSTR FullInfPath, DWORD InstallFlags, PBOOL bRebootRequired OPTIONAL)
BOOL WINAPI DiRollbackDriver(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, HWND hwndParent OPTIONAL, DWORD Flags, PBOOL NeedReboot OPTIONAL)
BOOL WINAPI DiInstallDevice(HWND hwndParent OPTIONAL, HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, PSP_DRVINFO_DATA DriverInfoData OPTIONAL, DWORD Flags, PBOOL NeedReboot OPTIONAL)
BOOL WINAPI DiShowUpdateDevice(HWND hwndParent OPTIONAL, HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD Flags, PBOOL NeedReboot OPTIONAL)
BOOL WINAPI DiInstallDriverW(HWND hwndParent OPTIONAL, LPCWSTR InfPath, DWORD Flags, PBOOL NeedReboot OPTIONAL)
BOOL WINAPI UpdateDriverForPlugAndPlayDevicesW(HWND hwndParent, LPCWSTR HardwareId, LPCWSTR FullInfPath, DWORD InstallFlags, PBOOL bRebootRequired OPTIONAL)
BOOL WINAPI DiInstallDriverA(HWND hwndParent OPTIONAL, LPCSTR InfPath, DWORD Flags, PBOOL NeedReboot OPTIONAL)
BOOL WINAPI DiUninstallDevice(HWND hwndParent, HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD Flags, PBOOL NeedReboot OPTIONAL)
_In_opt_ PSP_DEVINFO_DATA DeviceInfoData
PULONG MinorVersion OPTIONAL
_Must_inspect_result_ _In_ ULONG Flags