Commit graph

146 commits

Author SHA1 Message Date
winesync 29da75098f
**** NOTE: A lstrlenW -> strlenW change done in SetupDiGetDeviceInstanceIdW
[WINESYNC] setupapi: Sign-compare warnings fix.

wine commit id 1c64c934db07bf9e6431ee43c6e9a53e58c78120 by Andrew Talbot <andrew.talbot@talbotville.com>
2024-02-20 16:45:00 +01:00
winesync 14c7d90b7a
[WINESYNC] setupapi: Add a matching CoUninitialize call.
Spotted by Rob Shearman.

wine commit id 23f54c939b7ab2a9f405b12b920a76ab9c542a86 by Vincent Povirk <vincent@codeweavers.com>
2024-02-20 16:44:59 +01:00
winesync cb89e94f13
****** This commit is superseded by ReactOS-specific "Implement ProfileItems support in .inf files" commit 50660226e (r29639)
CORE-2505

[WINESYNC] setupapi: Implement ProfileItems directive.

wine commit id 6c380468d955d74dd24e9d35e9b38fdf29d685db by Vincent Povirk <vincent@codeweavers.com>
2024-02-20 16:44:58 +01:00
winesync f659a4edb8
[WINESYNC] setupapi: Implement installing catalog files.
wine commit id c19b967cd8561357ee7a519a937454e703a10bd8 by Maarten Lankhorst <maarten@codeweavers.com>
2024-02-20 16:44:57 +01:00
winesync f3ca28edff
[WINESYNC] setupapi: Constify a variable.
wine commit id 581a0e091cc87e027e48b835011b024a34506854 by Andrew Talbot <andrew.talbot@talbotville.com>
2024-02-20 16:44:56 +01:00
winesync ca813bee08
*** Empty winesyncs ***
[WINESYNC] setupapi: SetupDiGetDeviceRegistryProperty should return ERROR_INSUFFICIENT_BUFFER when buffer size is insufficient.

wine commit id 85861a4999e724bdb24ffa8a7262d329fb8fe035 by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] setupapi: SetupDiGetDeviceRegistryProperty should return ERROR_INVALID_DATA when buffer size is not 0 but buffer is NULL.

wine commit id af5e168f169a6024c5d618a5696f47faf27a4505 by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] Spelling fixes.

wine commit id aab8fae59a208efb23db5affcae6778713dcc8be by Austin English <austinenglish@gmail.com>
2024-02-20 16:44:55 +01:00
winesync a3a815aca7
****** ROS-specific code sync too
[WINESYNC] setupapi: Install services in InstallHinfSection.

wine commit id c7e661b8e5a0c339ef09e89cc759dc6620e14541 by Alexandre Julliard <julliard@winehq.org>

SYNC NOTE: Adapted to ReactOS-specific code.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-02-20 16:44:54 +01:00
winesync ca354ef614
****** FIXME: INSPECT: The ROS-equivalent of SetupInstallServicesFromInfSection(Ex)W is missing the DelService case! Not implemented
[WINESYNC] setupapi: Implemented SetupInstallServicesFromInfSectionW.

wine commit id cf78e6c38c6815cc9ef805b791414bd67acbb992 by Alexandre Julliard <julliard@winehq.org>
2024-02-20 16:44:53 +01:00
winesync db02c6d4fc
*** Empty winesyncs ***
[WINESYNC] setupapi: Forward SetupInstallServicesFromInfSectionA to W-function.

wine commit id f14eecded81cb576d2242e7405d338bcf88e8701 by Paul Vriens <paul.vriens.wine@gmail.com>

[WINESYNC] setupapi: Fix buffer size in SetupDiGetDeviceInterfaceDetailW.

wine commit id 6bc8e9a11693f52d1f75dab0ac8df53a0d212adc by Christopher Berner <raccoonone@procyongames.com>

[WINESYNC] setupapi: Add a check of "#" for interface subkey names.

wine commit id bae4ebb7d72aeeeea4dd69a24cb4551814bbc6be by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] setupapi: Creating SymbolicLink value in registry as in Windows XP.

wine commit id b622101ef252071f6797368f0b4c0911ade2bd5a by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] setupapi: Create device interface keys in registry as in Windows XP.

wine commit id 6a5c1ca25bd77fde9e825e31dca4d4cc0d1fea8a by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] setupapi: Create DeviceInstance value in registry, delete todo_wine from test.

wine commit id 997bea9b896fa748d6ec185c5462f11e0326904d by Alexander Morozov <amorozov@etersoft.ru>

[WINESYNC] setupapi: Prevent of reallocating memory for _SP_DEVINFO_DATA structures.

wine commit id 62520da8d398c9b822428189dc0811ce9b1c7716 by Alexander Morozov <amorozov@etersoft.ru>
2024-02-20 16:44:52 +01:00
winesync 924a321a1c
****** ROS-specific code sync too
[WINESYNC] setupapi: Assign to structs instead of using memcpy.

wine commit id bd0fec2511cc33fe1bbbc311d5c48f83a909a7fc by Andrew Talbot <andrew.talbot@talbotville.com>

SYNC NOTE: Applied to ReactOS-specific code.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-02-20 16:44:51 +01:00
winesync 4bbdf798b9
[WINESYNC] setupapi: Implement CM_Get_Device_ID and add a stub for CM_Get_Parent.
wine commit id ba8642639aa8f682c0b6441b6636d2322c204206 by Maarten Lankhorst <m.b.lankhorst@gmail.com>
2024-02-20 16:44:50 +01:00
winesync d7ff5fb8a7
[WINESYNC] setupapi/devinst: Struct size passed needs to be exact.
wine commit id 433ca7d8bd65c484107d2cd66cdc936275286b1e by Paul Vriens <paul.vriens.wine@gmail.com>
2024-02-20 16:44:50 +01:00
winesync 52a86e2daf
****** ROS-specific code sync too
[WINESYNC] setupapi: Remove unneeded casts.

wine commit id e48bbc23e40ddb05d1b4205b7793abe38297058d by Andrew Talbot <andrew.talbot@talbotville.com>

SYNC NOTE: Applied to ReactOS-specific code.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-02-20 16:44:49 +01:00
winesync bb910113f0
*** Empty winesyncs ***
[WINESYNC] setupapi: Don't abort key enumeration early.

wine commit id 162911baef8f5488a4bc1fbfdec70f621c51a381 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Correct device enumeration.

wine commit id a10a8eb134d275a97b403a40c03dc850c7b73c51 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Avoid spamming console.

wine commit id 1392883b8ea51a49b7aa69e5da2155645915f3fa by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stub for SetupInstallServicesFromInfSectionA.

wine commit id 1c7891f86e419b64b8a55605d37e5f29d14bd078 by Louis Lenders <xerox_xerox2000@yahoo.co.uk>

[WINESYNC] setupapi: Return FALSE if a NULL buffer is passed in.

wine commit id 4d3853ce9f6e55a2a8431bc1610e3aa382ff2e3e by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Include enumerator string as part of device instance ID.

wine commit id e2f1f39b52715f61b574f11d5e4de584d8b440b6 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stub for SetupInstallServicesFromInfSectionW.

wine commit id 4d721de4d2e413787c5a11a50ca2478617ef4154 by Chris Robinson <chris.kcat@gmail.com>

[WINESYNC] setupapi: Fix a leak.

wine commit id 0a5e09d794acacbdaf7dcf12f772963c40ca3ff4 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stubs for CM_Get_Device_IDA and CM_Get_Device_ID_Size.

wine commit id 4115598d5c13dfcc1421317d9d9b34e21990aa13 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] cfgmgr32: Flesh out cfgmgr32.h a bit more and fix the corresponding functions.

wine commit id b1c99668284b11dd9b8fbd8ae2ed84434acfb55f by Francois Gouget <fgouget@free.fr>

[WINESYNC] setupapi: Fix dead code (Coverity).

wine commit id ac352615b1ddd51dc4db1a20bf4c817d523be375 by Andrew Talbot <andrew.talbot@talbotville.com>
2024-02-20 16:44:48 +01:00
winesync c2c7987de5
****** FIXME: INSPECT: The ROS-equivalent of helpers SETUPDI_DeleteDevKey and SETUPDI_DeleteDrvKey are still a TO-DO unimplemented!
[WINESYNC] setupapi: Implement SetupDiDeleteDevRegKey.

wine commit id 8b5faacfb400279641b3c88801fed9775aafc700 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:47 +01:00
winesync a262906965
[WINESYNC] setupapi: Make error checking in SetupDiCreateDevRegKeyW more like that in SetupDiOpenDevRegKey.
wine commit id 36229a74d1c1fcab58c56ff9bf23326707d5832c by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:46 +01:00
winesync 984c28965a
[WINESYNC] setupapi: Implement SetupDiOpenDevRegKey.
wine commit id 629123bae4ef4a8eb7e0dd390936b34ed0613ac6 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:45 +01:00
winesync bd89f4e2dc
[WINESYNC] setupapi: Improve parameter checking in SetupDiInstallClass.
wine commit id 8cacf12fe5dff8a35ed6555e3ca29fb9489a33d2 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:44 +01:00
winesync a024f8ad52
****** FIXME: INSPECT: The ROS-equivalent of SetupDiCreateDevRegKeyW has the install-INF-section unimplemented!
[WINESYNC] setupapi: Implement SetupDiCreateDevRegKeyW.

wine commit id cb1d6517c77455a1d0b36ff9983a8de052b779cb by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:43 +01:00
winesync a127f2c9aa
*** Empty winesyncs ***
[WINESYNC] setupapi: Implement SetupDiGetDeviceInfoListDetailA/W.

wine commit id 9ac11e38647c9844adfaa575f968881b2c8169c4 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Partially implement SetupDiGetClassDevsExW.

wine commit id 4e06874117497e28006d6d91861054d9e952b9a3 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetClassDevsW on top of SetupDiGetClassDevsExW.

wine commit id e45f8409444ff5a719ee28833d134aa8d72750e2 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetClassDevsA on top of SetupDiGetClassDevsExW.

wine commit id 1b023ff69d35d1008f83cef79a3f37802c7ff0d8 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetClassDevsExA.

wine commit id 06547f129f44fcebc99801c8c5ea90d80d6a16a2 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Use correct parameter in pointer init.

wine commit id 263cb44d7640dead60b9c989cded7b134f2f38d5 by Marcus Meissner <marcus@jet.franken.de>

[WINESYNC] setupapi: Remove a misleading fixme.

wine commit id 216ab7d4cb268f2d5f73c09e47a205255822ed76 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: SetupOpenAppendInfFile is implemented, so remove #if 0 around it.

wine commit id 6851e109ed5a0091006864ee2c84f216123db86f by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Correct creating the class key.

wine commit id 01bf19dc0bfd3614d7e05072a09ceb75239e633b by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Install more items when installing a class.

wine commit id 33c2d032fec7ab53b8035f164a50a5268f399519 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stubs for SetupDiCreateDevRegKeyA/W.

wine commit id 0138ea49ed24c972733b6523112c251c2e95dbf7 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.

wine commit id e6a9eb6b85aaf5eaec9ab14832212db877f5d55f by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add helper function to open a device's hardware key.

wine commit id 22724c2c8b6859f450778c9b5705cb14f0aa3c48 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Don't require caller to pass a SP_DEVINFO_DATA pointer to SETUPDI_AddDeviceToSet.

wine commit id 0d39a07ecaa35f06689cd658b852562621f708ee by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add a device ID member to DeviceInfo.

wine commit id 732b968b227b6bb490547d5e4424020ed3710ff5 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:42 +01:00
winesync 5b01860389
[WINESYNC] setupapi: When freeing an interface, delete it from the registry if its device is a phantom.
wine commit id 7de0f1d583ec4a910db198becbb82f11639129d5 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:41 +01:00
winesync 0a94c55022
****** FIXME: INSPECT: The ROS-equivalent of SetupDiDeleteDeviceInterfaceRegKey is still a TO-DO not implemented!
[WINESYNC] setupapi: Implement SetupDiDeleteDeviceInterfaceRegKey.

wine commit id dadcb201d9bd35fdceccd6d9d6c968cb41617f3b by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:40 +01:00
Hermès Bélusca-Maïto d81261e93b
Skip some devinst interface commits... 2024-02-20 16:44:39 +01:00
winesync dc341fb001
****** FIXME: INSPECT: Is it necessary for the interface thing?
[WINESYNC] setupapi: Create symbolic link value when interface is created.

wine commit id df3cb0630df098cab0aa7f422c40ff813e91bd93 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:38 +01:00
winesync 941373bc6b
[WINESYNC] setupapi: Implement SetupDiGetDeviceInterfaceDetailA/W.
wine commit id a63c9356a4fcaeea42eb31752c6ac0323b75daf2 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:37 +01:00
winesync 307e94d7bd
****** FIXME: INSPECT: Is it necessary for the interface thing?
[WINESYNC] setupapi: When enumerating an interface, add the interface to its device.

wine commit id 50a4039037b0b3c7a01da3462c5791e9e0a129d1 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:36 +01:00
winesync 2847f74699
[WINESYNC] setupapi: Implement SetupDiEnumDeviceInterfaces.
wine commit id be863b07ff157556beed1d3a66a60942d86a9cba by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:35 +01:00
winesync 7b9be5c607
****** FIXME: INSPECT: The ROS-equivalent of SetupDiCreateDeviceInterfaceW is still a TO-DO not implemented!
[WINESYNC] setupapi: Implement SetupDiCreateDeviceInterfaceW.

wine commit id 69b0b424550c35d5f74508975f47907ed56b1686 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:34 +01:00
winesync 39a51e5c84
*** Empty winesyncs ***
[WINESYNC] setupapi: Simplify the SetupDiGetClassDescriptionExA/W implementation.

wine commit id 5d0dc4819336dd99537206a151e3f79285136b71 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] setupapi: Respect samDesired in SetupDiOpenClassRegKeyExW.

wine commit id a9d74cf994d0a3853373799e9a1456a0b7a47bb8 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Set last error on failure in SetupDiOpenClassRegKeyExW.

wine commit id 9b1e1b2aadcdebf09ef306677844701d6177cf82 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stubs for SetupDiCreateDeviceInterfaceA/W.

wine commit id d1878ab8fd9aab52d0d1763cc99e61b5ec4134fb by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiCreateDeviceInterfaceA on top of SetupDiCreateInterfaceW.

wine commit id aa2b23cab5aeabc893d9d635848f7357064614e0 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add error checking to SetupDiCreateDeviceInterfaceW stub.

wine commit id 66820122091fa678804fabd75daec4deb10316ef by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Remove a redundant parameter check.

wine commit id 15eba01660040d7bd4effd5f6eab5cf285fac3c9 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Set last error on invalid input.

wine commit id 707fca6cbce5d9e387112738339e54a4f2697712 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:33 +01:00
winesync db4dab577e
*********** SYNC ALTERNATIVE FOR WINE SYNC
[WINESYNC] setupapi: Implement SetupDiGetClassDevsW.

wine commit id f841667cac1558d2131543c5dc9baba1c6418b01 by Juan Lang <juan.lang@gmail.com>

SYNC NOTE: The functions added there (and still existing in Wine's code up to now)
have our own equivalent (see comments):

SETUPDI_EnumerateDevices    --> SETUP_CreateDevicesList
SETUPDI_EnumerateInterfaces --> SETUP_CreateInterfaceList

The other SETUPDI_* are internal helpers for the previous ones:
SETUPDI_EnumerateMatchingDevices
SETUPDI_EnumerateMatchingInterfaces

TODO: Sync the name and functionality?
2024-02-20 16:44:32 +01:00
winesync c54a81f29a
*** Empty winesyncs ***
[WINESYNC] setupapi: Use NtDeleteKey instead of an invalid RegDeleteKeyW.

wine commit id 28025d64ef4e2b367f4e7417d6bed93c5f425892 by Damjan Jovanovic <damjan.jov@gmail.com>

[WINESYNC] Assorted non-ANSI function declaration fixes (missing void).

wine commit id 2993785f3aa6f1b9f5ccc4a2ace21399d2ba42f1 by Francois Gouget <fgouget@free.fr>

[WINESYNC] setupapi: Add prototypes for the Setup*Log*() functions. Better stick to the PSDK types.

wine commit id c2d47ced74ef785c774835597325b4beacada1da by Francois Gouget <fgouget@free.fr>

[WINESYNC] setupapi: Fix return type.

wine commit id 2e2fe9b9f786479e5285504b6a98d6cdf96c00ed by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Fix typo.

wine commit id d62285d006389c2a17e1d1b33f2ffcb6bd0f3ba0 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add missing prototypes and definitions, and change function prototypes to match.

wine commit id 9fc7973727e9140f92188d5624e8e44600cb9065 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stubs for SetupDiGetDeviceInstanceIdA/W.

wine commit id 7c0a3117535d1a4b9a724ab2494c3de434fea248 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add a placeholder for devices.

wine commit id a7ad54ef9243a618a55dbaf8815363aa62da3e6c by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiEnumDeviceInfo.

wine commit id 634cba84d2fc548594276a26d672e4117a527956 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetDeviceInstanceIdA on top of SetupDiGetDeviceInstanceIdW.

wine commit id c1ccd65792cc003bcac08d5ceeaac17b80447919 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add error checking to SetupDiCreateDeviceInfoW stub.

wine commit id 1bbfd72afbda1e1b953ac6fef7a396ba5b518209 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiCreateDeviceInfoW.

wine commit id 83f05e79bb77785a101c458100dc227738abda6e by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetDeviceInstanceIdW.

wine commit id f94f6367f2f4ada5bfb1fe973c6836b2b2e71dbc by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetDeviceRegistryPropertyA/W.

wine commit id bc924f5b3a02316f71b70653da4c953ba00f557e by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiSetDeviceRegistryPropertyA/W.

wine commit id 60fefd72e8330e2942235309e3cd3ea2604c7a4c by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Make a helper to convert a GUID to a string.

wine commit id e1449796973d67a204e72f6b43124c9f5f2609f5 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Save device description to registry when creating a device.

wine commit id 8985a62a340a7f1fdd44c91c878d0c94a0af5474 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Save class GUID to registry when creating a device.

wine commit id 00ef2e3269a51e5817121ee47b3e18d9e58e77d5 by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Devices created by SetupDiCreateDeviceInfo are "phantoms", and are deleted from the registry when the set that contains them is closed.

wine commit id 80be1fe74007ff207480036ee8596809eb3dae5d by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiGetClassDescriptionExA.

wine commit id 6b50538f123d0b62e773f749dd32a18bd8e3157f by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Add stub for SetupDiRegisterDeviceInfo.

wine commit id 3a2a99474e23c40a0fb302382cec744ecaef7ccc by Juan Lang <juan.lang@gmail.com>

[WINESYNC] setupapi: Implement SetupDiRegisterDeviceInfo.

wine commit id f4b9bc2454b6c996ea601a2ae3d3ce80b8225273 by Juan Lang <juan.lang@gmail.com>
2024-02-20 16:44:31 +01:00
winesync aad4105afe
[WINESYNC] setupapi: Simplify code as native setupapi does not handle quoted paths.
wine commit id 0e369586df31a5e0f702d7333082ce67f70c99d5 by Misha Koshelev <mk144210@bcm.edu>
2024-02-20 16:44:30 +01:00
winesync d8724deeab
******** NOTE: This modifies SetupDiBuildClassInfoListExW and SetupDiClassGuidsFromNameExW
In ROS commit f9df7af28a
SetupDiBuildClassInfoListExW has been reimplemented with CM_* functions.
SetupDiClassGuidsFromNameExW needs the same treatment as well (but this
hasn't been done in that commit...)

[WINESYNC] setupapi: Do not use wide character constants.

wine commit id 67ed76e685ec89b243af11fdb892e38929de0110 by Michael Stefaniuc <mstefani@redhat.de>
2024-02-20 16:44:29 +01:00
winesync 11fc2e86db
[WINESYNC] setupapi: Handle unquoted paths in InstallHinfSection as native.
wine commit id 41fd380005ca3e6a0fa81b5969ac462a62646e32 by Misha Koshelev <mk144210@bcm.edu>
2024-02-20 16:44:28 +01:00
winesync 7b1daaeca6
[WINESYNC] setupapi: Add a FIXME in SetupCopyOEMInfW for when we should be copying a catalog file.
wine commit id 34556854eda0de9d098968e8d948090d44030d25 by Rob Shearman <rob@codeweavers.com>

SYNC NOTE: Adapted for ReactOS code.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-02-20 16:44:27 +01:00
winesync a4231fe307
[WINESYNC] setupapi: Exclude unused headers.
wine commit id 9f2a62ed0a41701fd8e0e767b4e20c2988a78f0d by Andrew Talbot <Andrew.Talbot@talbotville.com>
2024-02-20 16:44:26 +01:00
winesync 967b115170
[WINESYNC] setupapi: Don't copy an OEM inf file if the exact same OEM inf file already exists.
wine commit id 672a6113795f8c696d6c6d8395b6d94b272438f1 by Rob Shearman <rob@codeweavers.com>
2024-02-20 16:44:23 +01:00
winesync df2dd190d2
[WINESYNC] setupapi: The inf file containing the SourceDisksFiles and SourceDisksNames sections is the same as hinf if there is no layout file specified.
So pass the correct inf handle to SetupQueueDefaultCopyW and SetupQueueCopySectionW.

wine commit id 66d5cb2967b89fe98076948917070a0d3f4b925d by Rob Shearman <rob@codeweavers.com>
2024-02-20 16:44:22 +01:00
winesync ae2f959494
[WINESYNC] setupapi: SetupCopyOEMInfW should preserve the basename when copying the inf file to the inf directory if possible.
If the file already exists, then it should use a name with the form oem%u.inf instead.

wine commit id b1030f59e69e89091bf997e52e831362f9077e69 by Rob Shearman <rob@codeweavers.com>
2024-02-20 16:44:20 +01:00
winesync be76bcf6bc
[WINESYNC] setupapi: Implement SetupGetFileCompressionInfo on top of SetupGetFileCompressionInfoEx.
wine commit id aa4fe0673987f4b5d065c6446973514b2f7cad73 by Hans Leidekker <hans@it.vu.nl>
2024-02-20 16:44:19 +01:00
winesync 7c83e1230c
[WINESYNC] setupapi: Remove debug traces from allocation routines.
wine commit id c26a816f199a27dec5fa2b18c97c155933f5fe19 by Hans Leidekker <hans@it.vu.nl>
2024-02-20 16:44:18 +01:00
winesync 97b1fb2bad
*** Empty winesyncs ***
[WINESYNC] include: Move cfgmgr32.h to include/ to match the SDK.

wine commit id 3b6017ae1894648f478ab242207e1153c20c8b57 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Fix a typo.

wine commit id ab83183c03e0eccda67176f393ea0525b4d1ecf9 by Dmitry Timoshkov <dmitry@codeweavers.com>

[WINESYNC] setupapi: The inf section suffix that corresponds to __x86_64 is .ntamd64.

wine commit id 709735e294412a0cab15696faa9fcf6833e552bc by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Implement SetupGetSourceInfo{A,W}.

wine commit id ae64a62241ce8868c5cd0420792217549e2f2145 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Added AssertFail stub.

wine commit id 3d11b8650c4392043b0d84850011b1c19b75d589 by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Add a stub implementation for SetupPromptReboot.

wine commit id 7f31cc47561a9e903cdccd9b7de3a3faf645e154 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Fix handling of 'CopyFiles=@file'.

wine commit id 8cfd0251646862dd1415c9ac028958c044b38eb1 by Francois Gouget <fgouget@codeweavers.com>

[WINESYNC] setupapi: Add stub implementations for SetupDiGetINFClass and SetupSetSourceList.

wine commit id 275dbeb74e525c52ee0ae384d8e11068b6c949f7 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Implement SetupCopyOEMInf{A,W}.

wine commit id 939e8e4ce279a24b2bc2f716b5fcb66748677434 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Always return an empty list from SetupDiGetClassDevs.

wine commit id 7a039ebbf14b91c4db2b1868b4df6c5a873d4722 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Add a stub implementation for InstallCatalog.

wine commit id a9e4ced18b237f97d2be7473afca9076ff1ea9c4 by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Add several tests for SetupCopyOEMInf, with fixes so the tests don't crash.

wine commit id 9eaea34e041671fa63095a825c32978d1a9780d5 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Fix InstallCatalog()'s calling convention.

wine commit id 61db3be294dd65341dfdfcdc6ab21dce4402aebd by Francois Gouget <fgouget@free.fr>

[WINESYNC] setupapi: Handle the SP_COPY_NOOVERWRITE flag.

wine commit id 3e5f62b2d8d7353f890ca6e4fb27809c9f7dae8f by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Don't allow relative paths in SetupCopyOEMInf.

wine commit id efa6591fff772c7fc88f3dd26500610f55d6b551 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: The Inf file should be copied regardless of the destination buffer, with tests.

wine commit id ff326fd0ffd4ad017634d6d068781d8a0736d4a2 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Correct the Inf output position.

wine commit id 672952d2b6abf525d3ccd73b68ee418f51f8eae2 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: SetLastError to ERROR_SUCCESS on success.

wine commit id 405b96e979dcb751988e061cd1f78319232d3d84 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Implement SetupGetFileCompressionInfoEx{A, W}.

wine commit id 8ccc19c74c43d81965ecffdaf9bce9d965a25f1b by Hans Leidekker <hans@it.vu.nl>

[WINESYNC] setupapi: Implement SetupDecompressOrCopyFile{A, W}.

wine commit id c1950e2dccb0d16398997a228c3716a332d827d2 by Hans Leidekker <hans@it.vu.nl>
2024-02-20 16:44:17 +01:00
winesync ff6849353b
[WINESYNC] setupapi: Win64 printf format warning fixes.
wine commit id 79ecfaf52f1c552c9f43c636e0133fe0b4d5e6c5 by Michael Stefaniuc <mstefani@redhat.de>
2024-02-20 16:44:16 +01:00
winesync 6f0e9d9d08
*** Empty winesyncs ***
[WINESYNC] Remove more redundant NULL checks before HeapFree (found by Smatch).

wine commit id 56026299d0ce1bbc3b389cddcda08a1b9d9704c0 by Michael Stefaniuc <mstefani@redhat.de>

[WINESYNC] setupapi: Documentation update.

wine commit id f14f04dc8a895304ac90406a0d2c297a5e54f7d4 by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Implement SetupDiCreateDeviceInfoListExW.

wine commit id 8f5d90b44d8ca5b7e730a142952f45ac29b7ded5 by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Remove unneeded NULL checks before MyFree().

wine commit id bb80e2282e88c65a14cc0a1e82f4852baabcbcb0 by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Add stub for SetupDiCreateDeviceInfoW.

wine commit id 41aefd8c62bf4798fec567cb00afd0d98328e23a by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Implemented SetupDiCreateDeviceInfoA.

wine commit id 51cd07c37e56da960ab2c51b0391befeea0b6688 by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Move SetupDiGetClassDevsExW into devinst.c.

wine commit id c514700be28e33f5d237d5718a427fa07bc4e95d by Christian Gmeiner <christian.gmeiner@students.fhv.at>

[WINESYNC] setupapi: Add a stub implementation of SetupGetSourceInfo.

wine commit id b74f4d92d74953eabb594a17c91fb6a6aff60ee7 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Create an empty list when getting device interface classes.

wine commit id 93f5e0a7fd9c9f741de4a1faaa8a90ed88a36d60 by Kevin Koltzau <kevin@plop.org>

[WINESYNC] janitorial: Removed the rest of the redundant NULL checks before HeapFree.

wine commit id 757ee19ca119b3434a6249a00b1c39c0d36fb449 by Michael Stefaniuc <mstefani@redhat.de>

[WINESYNC] setupapi: Fix handling of inf paths that are quoted (due to spaces, typically).

wine commit id 3b7fb551ce211210abd5877b41207f6194fb3700 by Francois Gouget <fgouget@codeweavers.com>

[WINESYNC] setupapi: Fixed returns values and added a test for SetupDiOpenClassRegKeyExW.

wine commit id 9bbcb857f9aea3832e2def74fa4f517996061780 by Damjan Jovanovic <dj015@yahoo.com>

[WINESYNC] setupapi: Add stubs for SetupOpenLog, SetupCloseLog, and SetupLogError.

wine commit id 15b46847b0bc4d9bcc2b03d9377ce7342f4da536 by James Hawkins <truiken@gmail.com>

[WINESYNC] setupapi: Fixed wrong check (Coverity).

wine commit id 270dbc9d0733481dd8db34c93b215739a3e9fb30 by Paul Vriens <Paul.Vriens@xs4all.nl>

[WINESYNC] setupapi: Brace the guid in SetupDiOpenClassRegKeyExW.

wine commit id e6e96d3ea114790aabcdcbdcfa104fa393d07760 by Damjan Jovanovic <damjan.jov@gmail.com>

[WINESYNC] Add missing '\n's to Wine traces.

wine commit id 82babbee0bd375248bc68342e23e8d50548cfa1b by Francois Gouget <fgouget@free.fr>
2024-02-20 16:44:15 +01:00
winesync ccdad3d5b4
[WINESYNC] Update the address of the Free Software Foundation.
wine commit id 360a3f914235e04216a3691390662885c1867eb1 by Jonathan Ernst <jonathan@ernstfamily.ch>
2024-02-20 16:44:13 +01:00
Hermès Bélusca-Maïto 83c9e83b1b
[WINESYNC] Initial bootstrap for setupapi dll and winetest partial sync.
- Initial sync config file;
- Add reconstructed WineStaging v4.0 setupapi patches that were originally
  applied (and need to be reverted).
2024-02-20 16:44:10 +01:00