Commit Graph

1080 Commits

Author SHA1 Message Date
Francois Gouget ba7ca2d8a8 setupapi: Fix a couple of ASCII / ANSI mixups in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 18:29:01 +02:00
Rémi Bernon cfddd2c1e2 setupapi: Rank drivers according to their id match.
And as described on MSDN "Driver Rank Example".

In order to safely remove the hardcoded XBox gamepad ID list from
winebus.sys, and list their hardware IDs in the (future) xinput.sys
driver INF.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:08 +02:00
Rémi Bernon eb94d7aea8 setupapi: Create only one driver per driver id match.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:06 +02:00
Rémi Bernon fcb6da3af4 setupapi: Use a struct driver instead of individual local variables.
In enum_compat_drivers_from_file.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:04 +02:00
Rémi Bernon 9b2a252323 setupapi/tests: Add more driver / device id match tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 20:02:33 +02:00
Alexandre Julliard 893febda14 makefiles: Install PE fake dlls in the architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard 717e394af3 setupapi: Support loading builtins from the architecture-specific PE directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard 95118c4829 setupapi: Support installing both types of builtins from the same directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Zebediah Figura d9c5b213d6 setupapi: Quiet a noisy warning.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-19 20:08:48 +02:00
Arkadiusz Hiler 268fb3d1d6 setupapi: Demote ERR on opening driver key to a TRACE.
open_driver_key() is called by create_driver_key() and SetupDiOpenDevRegKey()
which depend on the failure path to detect the presence of the key.

This causes a lot of unnecessary errors being printed out.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 17:39:20 +02:00
Nikolay Sivov babdaffff7 setupapi: Fix use after free in trace message (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-12 19:35:17 +02:00
Alexandre Julliard 61f9bbd324 setupapi: Replace SystemRoot when registering dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-09 20:37:14 +02:00
Zebediah Figura 0b8c1d69e6 setupapi: Remove all device interfaces in SetupDiRemoveDevice().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Zebediah Figura f023028640 setupapi: Reënumerate root PnP devices in SetupDiRemoveDevice().
Allow them to be unloaded.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 21:15:38 +02:00
Zebediah Figura 304b094d16 setupapi: Reënumerate root PnP devices in SetupDiInstallDevice().
If the service is already running, starting it has no effect.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 21:15:30 +02:00
Alexandre Julliard 1244b50145 setupapi: Create fakedlls before copying files.
Some files may come from dll resources.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 12:53:47 +01:00
Alexandre Julliard 5d3d73f803 setupapi: Support arbitrary wildcards in fake dlls creation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 12:53:47 +01:00
Alexandre Julliard 00b9c975d4 setupapi: Add a few printer directory ids.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 11:24:28 +01:00
Rémi Bernon ef8fc24acf setupapi: Support installing DLLs with dots in their name.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 17:28:27 +01:00
Zebediah Figura 8cb6e9585e setupapi: Pass the full cabinet path as the second parameter to SPFILENOTIFY_FILEINCABINET.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:00:29 +01:00
Zebediah Figura b67deb0d2f setupapi: Set the Source field to the full cabinet path for SPFILENOTIFY_FILEEXTRACTED.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:00:26 +01:00
Zebediah Figura 811da7bf1a setupapi: Set the CabinetFile field to the name of the next cabinet.
Verified through manual testing.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:00:17 +01:00
Zebediah Figura 978cc1d856 setupapi/tests: Expand tests for SetupIterateCabinet().
Partially based on a patch by Sebastian Lackner.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:00:12 +01:00
Zebediah Figura b70b153c59 setupapi: Make the FDI handle a local variable.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 10:16:55 +01:00
Zebediah Figura 6b248f788c setupapi: Remove unnecessary error handling from cabinet callbacks.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 10:16:47 +01:00
Zebediah Figura 0b4d3dc2e8 setupapi: Remove some superfluous traces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 10:15:47 +01:00
Zebediah Figura ad59a006ac setupapi: Link directly to cabinet.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 10:15:37 +01:00
Zebediah Figura 85afec5f2d setupapi: Implement SetupIterateCabinetW() on top of SetupIterateCabinetA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 10:15:31 +01:00
Hans Leidekker fac1e40aaf setupapi: Handle NULL source filename in build_filepathsW.
Source filename is NULL for files to be deleted.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-07 22:35:29 +01:00
Alexandre Julliard 5696c3c23d setupapi: Add an extension to support file copies from module resources.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 11:03:38 +01:00
Alexandre Julliard 354aabd77e setupapi: Add a few more dirids.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 11:02:34 +01:00
Piotr Caban d851b2f84f setupapi: Copy all files specified in manifest on wine dll install.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:26:05 +02:00
Piotr Caban 9fb0d9fe39 setupapi: Remove unused end parameter from next_xml_attr internal function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:23:30 +02:00
Dmitry Timoshkov 5b7fac05d9 setupapi: Treat trailing \0 in field values same way as trailing spaces.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-17 20:54:16 +02:00
Dmitry Timoshkov 43115a74f9 setupapi/tests: Add explicit field for inf contents size.
To make testing embedded NULs possible.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-17 20:54:16 +02:00
Jeff Smith babb1019d1 setupapi: Clear error on SetupDiDestroyDeviceInfoList success.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49332
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
Jeff Smith f9028142d1 setupapi/tests: Add error tests for SetupDiDestroyDeviceInfoList.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
Jeff Smith cfde18c490 setupapi/tests: Change return values from coinst functions.
As co_error and class_error both return 0xdeadbeef, use of 0xdeadbeef as
a canary value as well can lead to ambiguous tests results.

Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
André Hentschel e9f030876b setupapi: Remove support for PPC32.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:46:14 +02:00
Alexandre Julliard 2487a35372 setupapi: Avoid storing uninitialized data in the registry.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-15 11:21:34 +02:00
Zebediah Figura f779f36da3 setupapi: Use the original INF source path if possible when copying files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35903
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 21:04:42 +02:00
Zebediah Figura 547d62da22 setupapi: Store the original INF file path in a .pnf file.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 21:04:40 +02:00
Zebediah Figura 007a9c9726 setupapi: Reset the source file pointer when comparing files.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 21:03:38 +02:00
Louis Lenders f48b9700b8 setupapi: Add stub for CM_Get_Device_Interface_Alias{A,W}.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49147
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Gijs Vermeulen 288515c51f setupapi: Correct SetupDiGetActualSectionToInstall[Ex]A/W .spec file entries.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 20:59:36 +02:00
Gijs Vermeulen 9a044007cc setupapi: Add SetupDiGetActualSectionToInstallExA/W.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49130
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 10:58:08 +02:00
Andrew Eikum 20a283e7e2 setupapi: Quiet down missing driver debug message.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 21:51:31 +02:00
Sven Baars dcc6a143e9 setupapi: Make sure the class name is always set on success in SetupDiGetINFClassW (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 21:06:11 +02:00
Sven Baars b08974900f setupapi: Only copy driver info if SetupDiEnumDriverInfoW succeeded (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 21:06:03 +02:00
Sven Baars c85b140531 setupapi: Fix a leak on early return in SetupDiGetDriverInfoDetailA (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 21:05:58 +02:00