Hello all,
I was very interested in comparing the implementation status of reactos and wine. So I coded a little python script to list all the api that are implemented in reactos AND are only stub in wine. Attached to this mail is the list of identified functions.
One may note that most of these functions are in the setupapi dll. This is particularly interesting as the setupapi code is LGPL-licenced in Reactos (and was already part of the audit).
I tried to port some of these to Wine, but this requires more knowledge than I have. So, is someone interested to port these functions?
Best, Julien
AssertFail CMP_Init_Detection CMP_Report_LogOn CM_Add_IDA CM_Add_IDA CM_Add_IDW CM_Add_IDW CM_Add_ID_ExA CM_Add_ID_ExA CM_Add_ID_ExW CM_Add_ID_ExW CM_Connect_MachineA CM_Connect_MachineA CM_Create_DevNodeA CM_Create_DevNodeA CM_Create_DevNodeW CM_Create_DevNodeW CM_Create_DevNode_ExA CM_Create_DevNode_ExA CM_Create_DevNode_ExW CM_Create_DevNode_ExW CM_Delete_Class_Key CM_Delete_Class_Key CM_Delete_Class_Key_Ex CM_Delete_Class_Key_Ex CM_Disable_DevNode CM_Disable_DevNode CM_Disable_DevNode_Ex CM_Disable_DevNode_Ex CM_Enable_DevNode CM_Enable_DevNode CM_Enable_DevNode_Ex CM_Enable_DevNode_Ex CM_Enumerate_Classes CM_Enumerate_Classes CM_Enumerate_Classes_Ex CM_Enumerate_Classes_Ex CM_Enumerate_EnumeratorsA CM_Enumerate_EnumeratorsA CM_Enumerate_EnumeratorsW CM_Enumerate_EnumeratorsW CM_Enumerate_Enumerators_ExA CM_Enumerate_Enumerators_ExA CM_Enumerate_Enumerators_ExW CM_Enumerate_Enumerators_ExW CM_Get_Child CM_Get_Child CM_Get_Child_Ex CM_Get_Child_Ex CM_Get_Class_Key_NameA CM_Get_Class_Key_NameA CM_Get_Class_Key_NameW CM_Get_Class_Key_NameW CM_Get_Class_Key_Name_ExA CM_Get_Class_Key_Name_ExA CM_Get_Class_Key_Name_ExW CM_Get_Class_Key_Name_ExW CM_Get_Class_NameA CM_Get_Class_NameA CM_Get_Class_NameW CM_Get_Class_NameW CM_Get_Class_Name_ExA CM_Get_Class_Name_ExA CM_Get_Class_Name_ExW CM_Get_Class_Name_ExW CM_Get_Depth CM_Get_Depth CM_Get_Depth_Ex CM_Get_Depth_Ex CM_Get_DevNode_Registry_PropertyA CM_Get_DevNode_Registry_PropertyA CM_Get_DevNode_Registry_PropertyW CM_Get_DevNode_Registry_PropertyW CM_Get_DevNode_Registry_Property_ExA CM_Get_DevNode_Registry_Property_ExA CM_Get_DevNode_Registry_Property_ExW CM_Get_DevNode_Registry_Property_ExW CM_Get_DevNode_Status CM_Get_DevNode_Status CM_Get_DevNode_Status_Ex CM_Get_DevNode_Status_Ex CM_Get_Device_IDW CM_Get_Device_IDW CM_Get_Device_ID_ExA CM_Get_Device_ID_ExA CM_Get_Device_ID_ExW CM_Get_Device_ID_ExW CM_Get_Device_ID_ListW CM_Get_Device_ID_ListW CM_Get_Device_ID_List_ExA CM_Get_Device_ID_List_ExA CM_Get_Device_ID_List_ExW CM_Get_Device_ID_List_ExW CM_Get_Device_ID_List_SizeA CM_Get_Device_ID_List_SizeA CM_Get_Device_ID_List_SizeW CM_Get_Device_ID_List_SizeW CM_Get_Device_ID_List_Size_ExA CM_Get_Device_ID_List_Size_ExA CM_Get_Device_ID_List_Size_ExW CM_Get_Device_ID_List_Size_ExW CM_Get_Device_ID_Size_Ex CM_Get_Device_ID_Size_Ex CM_Get_Global_State CM_Get_Global_State CM_Get_Global_State_Ex CM_Get_Global_State_Ex CM_Get_Parent CM_Get_Parent CM_Get_Parent_Ex CM_Get_Parent_Ex CM_Get_Sibling CM_Get_Sibling CM_Get_Sibling_Ex CM_Get_Sibling_Ex CM_Get_Version CM_Get_Version CM_Get_Version_Ex CM_Get_Version_Ex CM_Is_Dock_Station_Present CM_Is_Dock_Station_Present CM_Locate_DevNodeA CM_Locate_DevNodeA CM_Locate_DevNodeW CM_Locate_DevNodeW CM_Locate_DevNode_ExA CM_Locate_DevNode_ExA CM_Locate_DevNode_ExW CM_Locate_DevNode_ExW CM_Move_DevNode CM_Move_DevNode CM_Move_DevNode_Ex CM_Move_DevNode_Ex CM_Open_Class_KeyA CM_Open_Class_KeyA CM_Open_Class_KeyW CM_Open_Class_KeyW CM_Open_Class_Key_ExA CM_Open_Class_Key_ExA CM_Open_Class_Key_ExW CM_Open_Class_Key_ExW CM_Reenumerate_DevNode CM_Reenumerate_DevNode CM_Reenumerate_DevNode_Ex CM_Reenumerate_DevNode_Ex CM_Request_Eject_PC CM_Request_Eject_PC CM_Run_Detection CM_Run_Detection CM_Run_Detection_Ex CM_Run_Detection_Ex CM_Set_DevNode_Problem CM_Set_DevNode_Problem CM_Set_DevNode_Problem_Ex CM_Set_DevNode_Problem_Ex CM_Set_DevNode_Registry_PropertyA CM_Set_DevNode_Registry_PropertyA CM_Set_DevNode_Registry_PropertyW CM_Set_DevNode_Registry_PropertyW CM_Set_DevNode_Registry_Property_ExA CM_Set_DevNode_Registry_Property_ExA CM_Set_DevNode_Registry_Property_ExW CM_Set_DevNode_Registry_Property_ExW CM_Setup_DevNode CM_Setup_DevNode CM_Setup_DevNode_Ex CM_Setup_DevNode_Ex CM_Uninstall_DevNode CM_Uninstall_DevNode CM_Uninstall_DevNode_Ex CM_Uninstall_DevNode_Ex CenterWindowRelativeToParent ConcatenatePaths GetSetFileTimestamp GetVersionInfoFromImage MyGetFileTitle RpcBindingCopy RpcSmDestroyClientContext RpcSsDestroyClientContext SetupDiBuildDriverInfoList SetupDiChangeState SetupDiCreateDevRegKeyA SetupDiCreateDevRegKeyW SetupDiDeleteDeviceInfo SetupDiDestroyDriverInfoList SetupDiEnumDriverInfoA SetupDiEnumDriverInfoW SetupDiGetClassDevPropertySheetsA SetupDiGetClassDevPropertySheetsW SetupDiGetDeviceInfoListClass SetupDiGetDeviceInstallParamsW SetupDiGetDeviceInstanceIdA SetupDiGetDeviceInstanceIdW SetupDiGetDeviceRegistryPropertyW SetupDiGetDriverInfoDetailA SetupDiGetDriverInfoDetailW SetupDiGetINFClassA SetupDiGetINFClassW SetupDiGetSelectedDevice SetupDiGetSelectedDriverA SetupDiGetSelectedDriverW SetupDiInstallClassExA SetupDiInstallClassExW SetupDiInstallDevice SetupDiInstallDriverFiles SetupDiLoadClassIcon SetupDiOpenDeviceInfoA SetupDiOpenDeviceInfoW SetupDiRegisterDeviceInfo SetupDiRemoveDevice SetupDiSelectDevice SetupDiSetClassInstallParamsW SetupDiSetDeviceInstallParamsW SetupDiSetDeviceRegistryPropertyA SetupDiSetDeviceRegistryPropertyW SetupDiSetSelectedDevice SetupDiSetSelectedDriverA SetupDiSetSelectedDriverW SetupDiUnremoveDevice SetupGetInfFileListA SetupGetInfFileListW SetupInstallServicesFromInfSectionA SetupInstallServicesFromInfSectionExA SetupInstallServicesFromInfSectionExW SetupInstallServicesFromInfSectionW SetupPromptReboot