971 Commits

Author SHA1 Message Date
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
57c3ebec7c setupapi/tests: Add tests for building and enumerating driver lists.
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
Zebediah Figura
8bc25b24af setupapi: Don't fail a queued copy if no copy was necessary.
This fixes a regression introduced by 3e5c9798a80641e0e39e95e4467c60405b22b062.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47219
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 12:18:05 +02:00
Zebediah Figura
a748f685a5 setupapi: Clear the Win32 error if no copy was necessary.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 12:17:52 +02:00
Zebediah Figura
d5f6d6419b setupapi: Retrieve the default destination path in SetupInstallFile().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 12:17:45 +02:00
Zebediah Figura
2ddc60c8f0 setupapi/tests: Add some tests for SetupInstallFile().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 12:17:38 +02:00
Alexandre Julliard
16851b1c12 setupapi: Extract the 16-bit fake dll from the 32-bit PE one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 10:15:17 +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
6244f05941 setupapi/tests: Add tests for SetupDiGetActualSectionToInstall().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:20:43 +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
45d199023f setupapi/tests: Add some basic tests for SetupDi{Get, Set}DeviceInstallParams().
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:13 +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
Zebediah Figura
86724af012 setupapi: Handle an empty string for the source file in SetupQueueCopySection().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47185
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 18:49:46 +02:00
Józef Kucia
88e28d971b setupapi: Avoid debugstr buffer overflow.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 12:48:51 +02:00
Zebediah Figura
9ccf1dd88b setupapi: Avoid passing a NULL source filename to SetupQueueDefaultCopy().
Fixes a regression introduced by 705d3eed86f3ff96ee1190dbc694148c21c4939c.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47138
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-08 08:31:20 -05:00
Zebediah Figura
c65d98065c setupapi: Add magic bytes to struct file_queue and validate them in SetupCloseFileQueue().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=12332
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:34:42 +02:00
Zebediah Figura
d5a6a2675c setupapi/tests: Add tests for source media path resolution.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Zebediah Figura
3e5c9798a8 setupapi: Implement source media path resolution.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47107
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Zebediah Figura
cfe4ce28eb setupapi: Use the source file name if the destination file name is NULL.
Do not do the reverse. Windows crashes if SourceFilename is NULL.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Zebediah Figura
db8e2388d9 setupapi: Properly null-terminate the path in concat_W().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Zebediah Figura
e8c4dbcec2 setupapi: Implement W -> A mapping of SPFILENOTIFY_NEEDMEDIA.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Zebediah Figura
46dc6dddf3 setupapi: Implement SetupDefaultQueueCallback(SPFILENOTIFY_NEEDMEDIA).
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
31bb0097ad setupapi: Keep track of source media in a separate list.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
3cb621e6ca setupapi: Separate the entire copy operation into a helper function.
So as to centralize SPFILENOTIFY_COPYERROR callbacks into one place.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
ee36f923c5 setupapi: Remove implementation for LayoutInf parameter of SP_FILE_COPY_PARAMS.
Tests demonstrate that the existing implementation is not correct, and I was
unable to find an arrangement of parameters such that it was respected on
Windows. Most likely it has to do with the undocumented parameters used in
the "master" C:\windows\inf\layout.inf.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
466b80786f setupapi: Implement SetupQueueCopyIndirectA() on top of the W variant.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
705d3eed86 setupapi: Fill out all source file parameters in SetupQueueDefaultCopy().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
f9f25ee227 setupapi: Fill out all source file parameters in SetupQueueCopySection().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
cedbdf4387 setupapi: Avoid passing a NULL source root path to SetupQueueDefaultCopy() and SetupQueueCopySection().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:36 +02:00
Zebediah Figura
02df7eeb5b setupapi/tests: Add some tests for SetupInstallFilesFromInfSection().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +02:00
Zebediah Figura
2d13b6b74c setupapi/tests: Avoid assert().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +02:00
Zebediah Figura
fccb7552eb setupapi: Extract individual files from cabinets.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +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
Alexandre Julliard
7204f0f67f setupapi/tests: Avoid using snprintf().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:45 +02:00
Alexandre Julliard
510e746718 setupapi: Add support for installing PE builtins as fake dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 14:08:18 +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