Commit graph

119 commits

Author SHA1 Message Date
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