Handle more DIF codes in SetupDiCallClassInstaller. The list should now
be complete
Modified: trunk/reactos/lib/setupapi/devinst.c
Modified: trunk/reactos/lib/setupapi/setupapi.spec
Modified: trunk/reactos/lib/setupapi/stubs.c
_____
Modified: trunk/reactos/lib/setupapi/devinst.c
--- trunk/reactos/lib/setupapi/devinst.c 2005-12-27 11:39:43 UTC
(rev 20369)
+++ trunk/reactos/lib/setupapi/devinst.c 2005-12-27 15:19:45 UTC
(rev 20370)
@@ -3631,6 +3631,14 @@
return GetLastError();
}
+static BOOL WINAPI
+IntSetupDiRegisterDeviceInfo(
+ IN HDEVINFO DeviceInfoSet,
+ IN OUT PSP_DEVINFO_DATA DeviceInfoData)
+{
+ return SetupDiRegisterDeviceInfo(DeviceInfoSet, DeviceInfoData, 0,
NULL, NULL, NULL);
+}
+
/***********************************************************************
* SetupDiCallClassInstaller (SETUPAPI.@)
*/
@@ -3667,9 +3675,15 @@
case DIF_ADDPROPERTYPAGE_ADVANCED:
CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
break;
+ case DIF_ADDREMOTEPROPERTYPAGE_ADVANCED:
+ CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
+ break;
case DIF_ALLOW_INSTALL:
CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
break;
+ case DIF_DETECT:
+ CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
+ break;
case DIF_DESTROYPRIVATEDATA:
CanHandle = CLASS_INSTALLER;
break;
@@ -3694,6 +3708,15 @@
case DIF_NEWDEVICEWIZARD_PREANALYZE:
CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
break;
+ case DIF_NEWDEVICEWIZARD_PRESELECT:
+ CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
+ break;
+ case DIF_NEWDEVICEWIZARD_SELECT:
+ CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
+ break;
+ case DIF_POWERMESSAGEWAKE:
+ CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
+ break;
case DIF_PROPERTYCHANGE:
CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
DefaultHandler = SetupDiChangeState;
@@ -3702,10 +3725,29 @@
CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
DefaultHandler = SetupDiRegisterCoDeviceInstallers;
break;
+ case DIF_REGISTERDEVICE:
+ CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
+ DefaultHandler = IntSetupDiRegisterDeviceInfo;
+ break;
+ case DIF_REMOVE:
+ CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
+ DefaultHandler = SetupDiRemoveDevice;
+ break;
case DIF_SELECTBESTCOMPATDRV:
CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
DefaultHandler = SetupDiSelectBestCompatDrv;
break;
+ case DIF_SELECTDEVICE:
+ CanHandle = CLASS_COINSTALLER | CLASS_INSTALLER;
+ DefaultHandler = SetupDiSelectBestCompatDrv;
+ break;
+ case DIF_TROUBLESHOOTER:
+ CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
+ break;
+ case DIF_UNREMOVE:
+ CanHandle = CLASS_COINSTALLER | DEVICE_COINSTALLER |
CLASS_INSTALLER;
+ DefaultHandler = SetupDiUnremoveDevice;
+ break;
default:
ERR("Install function %u not supported\n",
InstallFunction);
SetLastError(ERROR_NOT_SUPPORTED);
_____
Modified: trunk/reactos/lib/setupapi/setupapi.spec
--- trunk/reactos/lib/setupapi/setupapi.spec 2005-12-27 11:39:43 UTC
(rev 20369)
+++ trunk/reactos/lib/setupapi/setupapi.spec 2005-12-27 15:19:45 UTC
(rev 20370)
@@ -368,8 +368,8 @@
@ stub SetupDiOpenDeviceInterfaceRegKey
@ stdcall SetupDiOpenDeviceInterfaceW(ptr wstr long ptr)
@ stdcall SetupDiRegisterCoDeviceInstallers(ptr ptr)
-@ stub SetupDiRegisterDeviceInfo
-@ stub SetupDiRemoveDevice
+@ stdcall SetupDiRegisterDeviceInfo(ptr ptr long ptr ptr ptr)
+@ stdcall SetupDiRemoveDevice(ptr ptr)
@ stub SetupDiRemoveDeviceInterface
@ stdcall SetupDiSelectBestCompatDrv(ptr ptr)
@ stub SetupDiSelectDevice
@@ -385,7 +385,7 @@
@ stdcall SetupDiSetSelectedDevice(ptr ptr)
@ stdcall SetupDiSetSelectedDriverA(ptr ptr ptr)
@ stdcall SetupDiSetSelectedDriverW(ptr ptr ptr)
-@ stub SetupDiUnremoveDevice
+@ stdcall SetupDiUnremoveDevice(ptr ptr)
@ stub SetupDuplicateDiskSpaceListA
@ stub SetupDuplicateDiskSpaceListW
@ stdcall SetupFindFirstLineA(long str str ptr)
_____
Modified: trunk/reactos/lib/setupapi/stubs.c
--- trunk/reactos/lib/setupapi/stubs.c 2005-12-27 11:39:43 UTC (rev
20369)
+++ trunk/reactos/lib/setupapi/stubs.c 2005-12-27 15:19:45 UTC (rev
20370)
@@ -178,3 +178,49 @@
return TRUE;
}
+
+/**********************************************************************
*
+ * SetupDiRegisterDeviceInfo(SETUPAPI.@)
+ */
+BOOL WINAPI
+SetupDiRegisterDeviceInfo(
+ IN HDEVINFO DeviceInfoSet,
+ IN PSP_DEVINFO_DATA DeviceInfoData,
+ IN DWORD Flags,
+ IN PSP_DETSIG_CMPPROC CompareProc OPTIONAL,
+ IN PVOID CompareContext OPTIONAL,
+ OUT PSP_DEVINFO_DATA DupDeviceInfoData OPTIONAL)
+{
+ FIXME ("Stub %p %p 0x%lx %p %p %p\n", DeviceInfoSet,
DeviceInfoData,
+ Flags, CompareProc, CompareContext, DupDeviceInfoData);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+
+/**********************************************************************
*
+ * SetupDiRemoveDevice(SETUPAPI.@)
+ */
+BOOL WINAPI
+SetupDiRemoveDevice(
+ IN HDEVINFO DeviceInfoSet,
+ IN PSP_DEVINFO_DATA DeviceInfoData)
+{
+ FIXME ("Stub %p %p\n", DeviceInfoSet, DeviceInfoData);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+
+/**********************************************************************
*
+ * SetupDiUnremoveDevice(SETUPAPI.@)
+ */
+BOOL WINAPI
+SetupDiUnremoveDevice(
+ IN HDEVINFO DeviceInfoSet,
+ IN PSP_DEVINFO_DATA DeviceInfoData)
+{
+ FIXME ("Stub %p %p\n", DeviceInfoSet, DeviceInfoData);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
Show replies by date