Hello,
As setupapi merge from ReactOS has been a recurrent demand [1], I'm doing this set of patches. Note that I'm not especially interested by this merge, but I do it only to please people. I've already spent one day to do them, I don't want to loose more of my time [2].
Note also that I'm not the only one who can provide better patches if those ones don't fullfill requirements. You're welcome (yes, you! the reader of Wine-patches/Wine-devel ML) to improve them if needed.
The goal of this set of patches is to set a solid ground to implement lots of missing functions in setupapi. I've tried to cut them in smallest possible parts. Additionnaly, this patchset implements SetupDiEnumDeviceInfo and (mostly) SetupDiGetClassDevsExW
Patch 1/6 Move Class related fonctions to their own file devclass.c No code change.
Patch 2/6 Forward SetupDiGetClassDevsA/W and SetupDiGetClassDevsExA to SetupDiGetClassDevsExW This patch depends of patch 1
Patch 3/6 Add in-memory structures needed to implement SetupDiGetClassDevsExW in a following patch. Basically, we have one list container (structure DeviceInfoSet) which will contain multiple devices (structure DeviceInfoElement) in a chained list
Patch 4/6 Update SetupDiCreateDeviceInfoList and SetupDiCreateDeviceInfoListA/W to initialize all fields of in-memory structure This patch depends of patch 3
Patch 5/6 Check parameters in SetupDiGetClassDevsExW stub, and create device set if needed. Now, only the real work needs to be done. This patch depends of patches 1, 3 and 4
Patch 6/6 Implement SetupDiEnumDeviceInfo This patch depends of patches 3 and 4
Regards,
Hervé, ReactOS developper
[1] http://marc.theaimsgroup.com/?l=wine-devel&m=115721353431733&w=2 http://marc.theaimsgroup.com/?l=wine-devel&m=113584611128655&w=2 [2] Because I'm not a Wine user, nor have Linux on my computer