Commit Graph

232 Commits

Author SHA1 Message Date
Zebediah Figura e2194b93b5 setupapi: Avoid adding duplicate devices in SetupDiGetClassDevs().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 12:06:45 +02:00
Zebediah Figura bd12a0ace8 setupapi: Set the list device class to GUID_NULL when enumerating interfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 12:06:45 +02:00
Zebediah Figura 5ff5c7036e setupapi: Treat DIGCF_ALLCLASSES as if a NULL device class was given.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 12:06:45 +02:00
Zebediah Figura b2adecd5e4 setupapi: Process the .Services subsection in SetupDiInstallDevice().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:36:31 +02:00
Zebediah Figura cd6ee00cfd setupapi: Process the .HW subsection in SetupDiInstallDevice().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:36:27 +02:00
Zebediah Figura d4c18c89d5 setupapi: Copy the INF file to C:/windows/inf/ and record it in the driver key.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:36:23 +02:00
Zebediah Figura dc9c4221bd setupapi: Add a basic implementation of SetupDiInstallDevice().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:36:19 +02:00
Zebediah Figura a37c4262e9 setupapi: Implement SetupDiInstallDeviceInterfaces().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 08:57:34 +02:00
Zebediah Figura 94256fccae setupapi: Process interface sections in SetupDiInstallDriverFiles().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 08:57:31 +02:00
Zebediah Figura 1c25cc09b5 setupapi: Implement SetupDiInstallDriverFiles().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 08:57:28 +02:00
Zebediah Figura a3a4751a76 setupapi: Implement device-specific co-installers in SetupDiCallClassInstaller().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:18 +02:00
Zebediah Figura 8b1050c7f4 setupapi: Implement class co-installers in SetupDiCallClassInstaller().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:16 +02:00
Zebediah Figura afba7d9d93 setupapi: Call DIF_DESTROYPRIVATEDATA when deleting a device.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:13 +02:00
Zebediah Figura fce26e60cc setupapi: Implement custom class installers in SetupDiCallClassInstaller().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:11 +02:00
Zebediah Figura 43ee138d47 setupapi: Add a basic implementation of SetupDiCallClassInstaller().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:07 +02:00
Zebediah Figura a35a2ec2af setupapi: Implement SetupDiRegisterCoDeviceInstallers().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:17:04 +02:00
Zebediah Figura 9fa4a2af1c setupapi: Add a semi-stub implementation of SetupDiSelectBestCompatDrv().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura 23be8593e9 setupapi: Implement SetupDiEnumDriverInfo().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura ec02dde9d2 setupapi: Implement directory search in SetupDiBuildDriverInfoList().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura d22e7d6a4e setupapi: Check for compatible platforms in SetupDiBuildDriverInfoList().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura 8369f60c5b setupapi: Add an initial implementation of SetupDiBuildDriverInfoList().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Marcus Meissner 92919001f3 setupapi: Fix size to MultiByteToWideChar().
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 18:20:41 +02:00
Zebediah Figura 23320d05b6 setupapi: Return the section name in SetupDiGetActualSectionToInstall() even if it doesn't exist.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:20:48 +02:00
Zebediah Figura c9e3307f9f setupapi: Define the correct platform extensions for each architecture.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:20:31 +02:00
Zebediah Figura 9c714c3b83 setupapi: Implement SetupDiGetActualSectionToInstallA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:20:22 +02:00
Zebediah Figura 14a354e575 setupapi: Implement SetupDiSetDeviceInstallParams().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:01 +02:00
Zebediah Figura 4170125471 setupapi: Implement SetupDiGetDeviceInstallParams().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:06:48 +02:00
Andrey Gusev 5466df6957 setupapi: Add DECLSPEC_HOTPATCH to SetupDiEnumDeviceInfo().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46971
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:45 +02:00
Zebediah Figura 5480031653 setupapi: Also check devices not in the set when using DICD_GENERATE_ID.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 11:33:05 +02:00
Zhiyi Zhang 1fa7782c08 setupapi: Check registered device duplicate in SetupDiCreateDeviceInfo().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 11:50:15 +01:00
Zhiyi Zhang 17d58c93f3 setupapi: Implement SetupDiOpenDeviceInfoA().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 11:50:01 +01:00
Zhiyi Zhang cb5d191064 setupapi: Implement SetupDiOpenDeviceInfoW().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 11:49:54 +01:00
Zhiyi Zhang 64c09819cf setupapi: Set phantom value after device creation.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 11:49:04 +01:00
Alistair Leslie-Hughes 96ab88e139 setupapi: Add SetupDiRegisterCoDeviceInstallers stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 19:19:50 +01:00
Alistair Leslie-Hughes 4d81d41899 setupapi: Add SetupDiInstallDeviceInterfaces.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45963
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 19:19:42 +01:00
Zebediah Figura 8c12672b06 setupapi: Handle error translation in SetupDiCreateDevRegKey().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:51:21 +01:00
Zebediah Figura 922bc932c8 setupapi: Handle error translation in SetupDiDeleteDevRegKey().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:51:21 +01:00
Zebediah Figura f703c7f22d setupapi: Handle error translation in SetupDiOpenDevRegKey().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:51:21 +01:00
Zebediah Figura 486fffa45c setupapi: Return the "Device Parameters" subkey for DIREG_DEV.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21023
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:51:21 +01:00
Sven Baars afe83a7bbe setupapi: Add a missing return statement (Coverity).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 15:53:18 +01:00
Zhiyi Zhang 307812c30d setupapi: Implement SetupDiGetDevicePropertyW.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 10:30:51 +01:00
Zhiyi Zhang afac1c405d setupapi: Implement SetupDiSetDevicePropertyW.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 10:30:49 +01:00
Zebediah Figura 7e4c1a2074 setupapi: Also remove the driver key in remove_device().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:40:26 +01:00
Zebediah Figura dca175b256 setupapi: Don't use the devnode to allocate driver keys.
The devnode is a local handle, but driver keys should be unique to the
device. (Note that MSDN, confusingly, refers to this number as a "device
instance ID".)

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:40:21 +01:00
Zebediah Figura e26f8464e9 setupapi: Store the path to the driver key in the device key.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:40:18 +01:00
Michael Müller 2d6704ba99 setupapi: Always return device info from SetupDiGetDeviceInterfaceDetail() if requested.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-06 08:57:42 +01:00
Zebediah Figura 26dd015fdd setupapi: Use strtoulW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-06 08:57:38 +01:00
Zebediah Figura 03e9ef38a7 setupapi: Implement SetupDiDeleteDeviceInfo().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43211
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 10:02:23 +01:00
Zebediah Figura ac1d89fa13 setupapi: Get rid of the redundant cDevices parameter to struct device.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 10:02:19 +01:00
Zebediah Figura d6a504eaf0 setupapi: Implement SetupDiDeleteDeviceInterfaceData().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 10:02:17 +01:00