Hi all...
at the momemt i am reading into functions to get some informations about e.g. cdrom drives. At the moment i am loking into SetupDiGetClassDevsW to support GUID_DEVINTERFACE_CDROM and later USB devices. My overall goal is it to get Line 6 software for my guitart effect board (USB) working with wine.
Now i thought about a way to get all informations about a singe cdrom device. And i thought that I could use HAL perfectly for this. I thought about this way of doing it: Add hal.c file to setupapi dll, which contains function to get infromations about all needed hardware. This should work very nicly for this case. But as I want to programm RegisterDeviceNotification also we need a central way to handle hal stuff.
So how should I go on? Use some own hal.c in setupapi or add an global wine way to interact with hal?
Thanks, Christian
--- Christian Gmeiner christian.gmeiner@students.fh-vorarlberg.ac.at wrote:
Hi all...
at the momemt i am reading into functions to get some informations about e.g. cdrom drives. At the moment i am loking into SetupDiGetClassDevsW to support GUID_DEVINTERFACE_CDROM and later USB devices. My overall goal is it to get Line 6 software for my guitart effect board (USB) working with wine.
I would be very interested in getting USB working on wine, and I've already had a deep long look at both setupapi's device installation API and HAL. Can we work together on this?
Now i thought about a way to get all informations about a singe cdrom device. And i thought that I could use HAL perfectly for this. I thought about this way of doing it: Add hal.c file to setupapi dll, which contains function to get infromations about all needed hardware. This should work very nicly for this case. But as I want to programm RegisterDeviceNotification also we need a central way to handle hal stuff.
RegisterDeviceNofications() is only necessary for services (which wine poorly supports anyway) - you can always cheat by creating an invisible top-level window to receive WM_DEVICECHANGE messages.
So how should I go on? Use some own hal.c in setupapi or add an global wine way to interact with hal?
That's not anything close to how SETUPAPI works on Windows. Download devinst.c from ReactOS's SETUPAPI and have a look. Some SETUPAPI device installer functions delegate to CFGMGR32.DLL and those either to the Windows registry or to even worse things (undocumented RPCs to the UMPNPMGR service, some of which are implemented by system calls...).
In the case of CDROM enumeration, rather use wine's internal drive list and pull CDROMs from there. In the case of USB, to say it needs a lot of work is an understatement...
Thanks, Christian
Let me know what your plans are with USB so maybe we can work together on it.
Damjan
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Damjan Jovanovic wrote:
That's not anything close to how SETUPAPI works on Windows. Download devinst.c from ReactOS's SETUPAPI and have a look.
No, please don't do that, you'll risk having your patches rejected.
Implement it in the way that is right for Wine. The only interfaces you need to know about are the ones that applications know about.
Mike