Commit Graph

244 Commits

Author SHA1 Message Date
Zebediah Figura dd74b9c8e6 setupapi: Use the "section" and "description" fields directly in more places.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zebediah Figura 5cff8c9e2e setupapi: Implement SetupDiGetDriverInfoDetail().
Needed by the Windows Device Framework co-installer.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zebediah Figura 6971dfcfc2 setupapi: Implement SetupDiGetSelectedDriver().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48639
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zhiyi Zhang 4a3cd01bd1 setupapi: Implement SetupDiOpenDeviceInterfaceRegKey().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:27 +01:00
Jacek Caban c041605b00 guiddef.h: Remove GUID_NULL declaration.
It's declared in cguid.h with proper extern "C".

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:27 +01:00
Chip Davis 4588f10f8d setupapi: Implement CM_Get_DevNode_Property[_Ex]W().
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:44:12 +01:00
Zhiyi Zhang 288a6625ad setupapi: Set device SPDRP_CLASS registry property in create_device().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 23:18:00 +01:00
Zebediah Figura 404cee2aa6 setupapi: Set the DeviceDesc value in SetupDiInstallDevice().
At least one PnP enumeration utility expects this.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 10:29:28 +01:00
Zebediah Figura 7d152715ef setupapi: Set the device class in SetupDiBuildDriverInfoList().
This matches Windows XP behaviour. In Vista and later this appears to be done
by UpdateDriverForPlugAndPlayDevices().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 10:29:23 +01:00
Zhiyi Zhang d5e24897e2 setupapi: Support full path enumerator in SetupDiGetClassDevs.
Based on a patch by Michael Müller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35345
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:34:32 +02:00
Alexandre Julliard 72d6759f3a setupapi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 11:38:15 +02:00
Zebediah Figura 72f298e3f7 setupapi: Also start newly installed root PnP services in SetupDiInstallDevice().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-27 09:29:13 +02:00
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