Commit Graph

1070 Commits

Author SHA1 Message Date
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
Sven Baars 75e878346a setupapi: Fix a memory leak (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 21:05:54 +02:00
Zhiyi Zhang e570c2fe59 setupapi: Fix a registry key handle leak.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
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
Michael Müller 87b2af73ba setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36059
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-13 20:30:35 +01:00
Rémi Bernon 1bd9612191 setupapi/tests: Fix some format-overflow warnings.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Alexandre Julliard aa76bec241 setupapi: Support a WineSourceDirs section to copy files from the Wine build or data dir.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 09:00:43 +01:00
Alexandre Julliard 32a2cde6c1 setupapi: Use wide character string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 09:00:21 +01:00
Zebediah Figura e75d5b8dc7 setupapi: Initialize COM if necessary when registering DLLs.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:44:04 +01:00