Commit graph

85162 commits

Author SHA1 Message Date
winesync 4bb7173db1
**** TODO: ReactOS Investigate *****
Was added in commit f4c48b73b (r66964) as part of Wine Staging 1.7.37
but then was reverted in commit a3e6e54cb (r66970).

```
[WINESYNC] setupapi: Implement SetupGetInfFileListW.

wine commit id 9db754fe10469ee558e32598a43c01589f1199c2 by Stefan Leichter <Stefan.Leichter@camline.com>
```
2024-02-20 16:45:14 +01:00
winesync bbb4808e01
[WINESYNC] setupapi: Add stub and some tests for SetupGetInfFileListW.
wine commit id 381221de66bb013a87cf19451009469c5a0091ed by Stefan Leichter <Stefan.Leichter@camline.com>
2024-02-20 16:45:13 +01:00
winesync 41039c3daf
[WINESYNC] setupapi: Create fake dlls before performing dll registration.
wine commit id 4ae262df8efbcf4cd2e213a1899801c09d6b5047 by Alexandre Julliard <julliard@winehq.org>
2024-02-20 16:45:12 +01:00
winesync 076b4ec9ad
[WINESYNC] setupapi: Use a global buffer to read fake dll files and free it only once we are done with all the fake dlls.
wine commit id 11d66a87887d6155850c1f5f0c889bfefe6add87 by Alexandre Julliard <julliard@winehq.org>
2024-02-20 16:45:11 +01:00
winesync beb0c4a591
*** Empty winesyncs ***
[WINESYNC] setupapi: Don't use 'interface' as variable name, since it can be defined to a keyword.

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

[WINESYNC] setupapi: Implement SetupPromptForDiskW with only Cancel button active.

wine commit id ecc8e526bf1302cc80127c1f658f42af0850a66f by Ricardo Filipe <ricardo_barbano@hotmail.com>

[WINESYNC] setupapi: Implement SetupPromptForDiskA by wrapping around W version.

wine commit id 24a10fc9aca34984a6372e21fdbcb3b83c36a812 by Ricardo Filipe <ricardo_barbano@hotmail.com>

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

wine commit id 6ba3cc1c2eaf66a121dd8d03ee37314ba4bde382 by Ricardo Filipe <ricardo_barbano@hotmail.com>

[WINESYNC] setupapi: Add stub implementations of SetupUninstallOEMInfA/W.

wine commit id d5009479bb73e1662b1cdd46fc22ec1981f237ec by Hans Leidekker <hans@codeweavers.com>

[WINESYNC] setupapi: Add stub implementations of CM_Get_Device_Interface_List_Size_ExA/W.

wine commit id 9df5fc58b1df5a065278c2f055e10287582724ff by Hans Leidekker <hans@codeweavers.com>

[WINESYNC] setupapi: Fix passing a NULL parameter (Coverity).

wine commit id 77fa32a8327b09a33080f78e2ce69123bbd3083c by Paul Vriens <Paul.Vriens.Wine@gmail.com>

***** This commit is utterly wrong and must be removed from the sync list.

[WINESYNC] setupapi: Move IsUserAdmin to shell32.IsUserAnAdmin.

wine commit id ed1b527dd94d3fd26f2ad81e451c59df42d89a41 by Detlef Riekenberg <wine.dev@web.de>

[WINESYNC] setupapi: Add stub implementations of CM_Get_Device_ID_ListW and CM_Enumerate_Classes.

wine commit id ae45fa6864962bf186ecc80d69b22d1543458bf9 by Hans Leidekker <hans@codeweavers.com>

[WINESYNC] setupapi: Fix a structure size check for 64-bit.

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

[WINESYNC] setupapi: Add stub for SetupDiGetClassImageIndex.

wine commit id e94d30ed6edfe9e06546f278434d8d2bf49ac6ff by Vladimir Pankratov <scriptkid@mail.ru>

[WINESYNC] setupapi: Use FAILED instead of !SUCCEEDED.

wine commit id 8b3f3ef82192c14752c6169341be96d13ed0f7fe by Michael Stefaniuc <mstefani@redhat.de>

[WINESYNC] setupapi: Make setupx.dll into a stand-alone 16-bit module.

wine commit id 66f6b786591e0d187967a26e9c9a1a8543ca91f1 by Alexandre Julliard <julliard@winehq.org>
2024-02-20 16:45:10 +01:00
Hermès Bélusca-Maïto a5db8c36c8
[SETUPAPI] SetupCopyOEMInfW: Simplify by directly calling pSetupInstallCatalog. 2024-02-20 16:45:09 +01:00
Hermès Bélusca-Maïto 33a90b5a09
[SETUPAPI] pSetupInstallCatalog: Ensure the last error is reset, before relying on it as return value. 2024-02-20 16:45:08 +01:00
Hermès Bélusca-Maïto f6879cd3e1
[SETUPAPI] pSetupInstallCatalog: Call CryptCATAdminAcquireContext with DRIVER_ACTION_VERIFY GUID.
For compatibility with Windows' setupapi.
https://learn.microsoft.com/en-us/windows/win32/api/mscat/nf-mscat-cryptcatadminacquirecontext
> A pointer to the GUID that identifies the subsystem. DRIVER_ACTION_VERIFY
> represents the subsystem for operating system components and third party
> drivers. This is the subsystem used by most implementations.

This is also what SetupCopyOEMInfW uses too.
2024-02-20 16:45:07 +01:00
winesync 6edf5f1c29
[WINESYNC] setupapi: Implement pSetupInstallCatalog.
wine commit id 7392162ed1611e552fc6e40ab36cfd2d75c030c8 by Aric Stewart <aric@codeweavers.com>
2024-02-20 16:45:06 +01:00
winesync e58a7ca526
****** ROS-specific code sync too
[WINESYNC] setupapi: Remove superfluous pointer casts.

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

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:45:05 +01:00
winesync 7c3bfe4dad
*** Empty winesyncs ***
[WINESYNC] setupapi: Add stubs for CM_Locate_DevNodeA/W.

wine commit id ae8a07d93453abd2ff3ff0ea816a382100762d3c by Ricardo Filipe <ricardo_barbano@hotmail.com>

[WINESYNC] cfgmgr32: Forward and stub CM_Connect_MachineA.

wine commit id 3dcac86e5341849f85c3ba22b0786a994fb9f388 by Andrew Nguyen <arethusa26@gmail.com>

[WINESYNC] setupapi: Stub the SetupDiDestroyClassImageList function.

wine commit id 33197eaa8de50139b35c265c456352b156b7401e by Andrew Nguyen <arethusa26@gmail.com>

[WINESYNC] cfgmgr32: Forward and stub CM_Create_DevNodeA/W.

wine commit id d46ffb4b6fb2b16e2a2acd152c9d7eb5736f70b5 by Andrew Nguyen <arethusa26@gmail.com>

[WINESYNC] setupapi: Add stubs for pSetupInstallCatalog and pSetupVerifyCatalogFile.

wine commit id b5113654237df651f7c90d24973de5cfbd757a07 by Hans Leidekker <hans@codeweavers.com>

[WINESYNC] setupapi: Add stub for SetupDiGetClassImageList.

wine commit id 4efd105fb3d5c19a43d57abe7bde1b6b0b736b2d by Ricardo Filipe <ricardo_barbano@hotmail.com>
2024-02-20 16:45:04 +01:00
winesync 01211c2016
[WINESYNC] setupapi: Remove some superfluous casts.
wine commit id 02d1154bab37c1cc6915c0a657189bf4153acd22 by Michael Stefaniuc <mstefani@redhat.de>
2024-02-20 16:45:03 +01:00
winesync 749f5fb3c5
[WINESYNC] setupapi: Add stubs for SetupPromptForDiskA/W.
wine commit id 7e60ab10c1036f60e59bdf5b699d44ad8823a507 by Ricardo Filipe <ricardo_barbano@hotmail.com>
2024-02-20 16:45:02 +01:00
winesync 639c5badc2
****** TODO: This commit is partly (but not completely??) implemented in ReactOS-specific "Implement ProfileItems support in .inf files" commit 50660226e (r29639)
[WINESYNC] setupapi: Implement FLG_PROFITEM_GROUP.

wine commit id b7fe5e0aa587f450e6d70f2994be92ecf85fc809 by Vincent Povirk <vincent@codeweavers.com>
2024-02-20 16:45:01 +01:00
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
Hermès Bélusca-Maïto a6594545e0
************ [SETUPAPI] Re-estimate the section name buffer size in InstallHinfSectionW
This follows a similar change by Wine commit:
```
Added support for optional section.ntx86 and section.nt in
InstallHinfSection when current version is set to NT.

wine commit id 4f128fa874dc632ebc83da94afa9fd15ba9269ca by Alexandre Julliard <julliard@winehq.org>
```
2024-02-20 16:44:30 +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