144 Commits
Author SHA1 Message Date
Oleg Dubinskiy 02d7bbc54d [SETUPAPI] Create device interface related keys in case they don't exist yet (#9283)
In SetupDiCreateDeviceInterfaceRegKeyW(), force creating device and reference subkeys of device interface in Registry if they are not created yet.
- Change RegOpenKeyExW() to RegCreateKeyExW() for device and reference subkeys.
This properly fixes audio device name string improperly set in registry and displaying audio device name system-wide. Now it's properly written not only after re-installing audio driver from Device Manager, but also during 2nd setup stage, so it's correct just right after 1st boot.
Addendum to 1ef584c446 and b205c04173.
CORE-20603
2026-07-13 11:25:15 +02:00
Oleg Dubinskiy 1ef584c446 [SETUPAPI] Fix the creation of symbolic link passed to SetupDiCreateDeviceInterfaceRegKeyW() (#8967)
- Create the actual symbolic link, instead of just instance key name (don't replace all \ by # and don't cut reference string from it) inside CreateSymbolicLink() internal helper of SetupDiInstallDeviceInterfaces(), to pass it in SetupDiCreateDeviceInterfaceRegKeyW() inside InstallOneInterface() internal helper later.
- Fix handling the received symbolic link inside SetupDiCreateDeviceInterfaceRegKeyW() itself. Except it to be the fully unmodified one, instead of transformed to an instance key name.
- Additionally, change the SetupInstallFromInfSection() call to SetupInstallFromInfSectionW(), since it's actually called with Unicode parameters from Unicode version of SetupDiCreateDeviceInterfaceRegKeyW(). Otherwise, if to not precisely specify Unicode version call, it might call ANSI function instead and hence will obviously not work correctly because of that.
This fixes regression with improper writing "CLSID" and "FriendlyName" values in "Device Parameters" subkey of device interfaces in Registry, because of reference key open failure, and therefore it also fixes detection of the audio device name in Sound Proeprties from Control Panel in particular.
Follow-up of b205c04173.
CORE-20603
2026-07-10 19:04:29 +02:00
Mohammad Amin Mollazadeh b4b8774bee [SETUPAPI] Fix SetupGetBinaryField not reading HEX values properly from INF files (#9182)
CORE-20657, CORE-13525

Fix an issue in `SetupGetBinaryField()` that made the GUI installer unable to read INF files properly.
For this reason, all the binary values in the registry on a fresh ReactOS installation were all set to `0x00`.

The reason was that the custom HEX parser in Wine's `SetupGetBinaryField()` is broken.
As a solution, we can replace it with a call to C's standard `wcstoul()` function.

(Note that Wine fixed this problem in wine-11, still with a hand-made hex-value parser...)
2026-06-19 17:16:19 +02:00
Timo Kreuzer eb23595829 [SETUPAPI] Add stubs for Vista exports 2026-05-08 19:30:33 +00:00
Oleg Dubinskiy b205c04173 [SETUPAPI] Fix wrong registry key opened by SetupDiCreateDeviceInterfaceRegKeyW()
The funstion should create/open "Device Parameters" subkey of a device reference key (and return a handle to it), instead of device instance subkey.
- Fix SetupDiCreateDeviceInterfaceRegKeyW() to open (and return a handle to) the correct registry key.
- Fix its usage in internal InstallOneInterface() helper, which is called by SetupDiInstallDeviceInterfaces().
This fixes audio devices enumeration failure of winmm.dll from Windows 2000 SP4 (and unneeded creation of wrong registry keys) when using ReactOS with audio stack replacement from Windows XP/2003.
CORE-19986
2026-04-02 12:03:31 +02:00
Carl J. Bialorucki 391875028d [INCLUDE/WINE][PSDK][XDK] Header changes needed for advapi32 winetest sync to wine-10.0
- [INCLUDE/WINE] Import ntlsa.h, ntsecapi.h, winsvc.h from wine-10.0
- [PSDK] Fix some header definitions to make them more accurate to Microsoft's headers and add some missing definitions
- [XDK] Add a fix for PROCESS_ALL_ACCESS on Vista+ (matches Microsoft's headers)
- [COMDLG32] Remove unneeded _WIN32_WINNT bump after fixing headers
- [SETUPAPI] Remove duplicate definitions that are no longer needed after fixing headers
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki c9842e5aad Move /sdk/include/reactos/wine to /sdk/include/wine, reorder global includes, remove unneeded includes (#8258)
- Move sdk\include\reactos\wine to sdk\include\wine
- Reorder the directories in include_directories() to be closer to alphabetical. This should make it easier to determine what global include directories can be removed in the future.
2025-07-29 13:57:12 -06:00
Eric Kohl 9853869a79 [SETUPAPI] Implement CM_Get_Device_Interface_Alias_ExA 2025-06-19 12:48:55 +02:00
Eric Kohl 7c8a8400e0 [SDK][LSASRV][SETUPAPI] Move undocumented service manager functions into a new header file 2025-05-04 20:15:48 +02:00
Johannes Anderwald ecf4001e6f [SETUPAPI] Do not fail enumeration on invalid device interface keys (#7741)
Necessary for drivers, which install multiple device interfaces and all interfaces might not be available for this device.
CORE-17285
2025-04-06 17:10:08 +02:00
Hermès Bélusca-MaïtoandKatayama Hirofumi MZ 48beb0433e [SETUPAPI] Add missing NULL parameter checks in SetupOpenInfFileW and SetupDiGetINFClassW (#7573)
Based on PR #5673, ROSTESTS-388

Co-authored-by: Katayama Hirofumi MZ <[email protected]>
2025-03-25 17:41:23 +01:00
Ratin Gao 49a55a099e [SETUPAPI] Refactor SetupInstallServicesFromInfSectionExW (#7770)
Fix `SetupInstallServicesFromInfSectionEx`.

- Call SetupDiSetDeviceRegistryPropertyW only if DeviceInfoSet is valid
- DeviceInfoSet can be INVALID_HANDLE_VALUE, treat this as NULL
- Improve function declaration
2025-03-23 00:39:12 +01:00
Ratin Gao 7a9c744b70 [SETUPAPI] Stub implement SetupQueryInfVersionInformation (#7769)
Sync SetupQueryInfVersionInformation stubs to Wine.

The new synced stubs set ERROR_CALL_NOT_IMPLEMENTED as last error and return, rather than raise exception EXCEPTION_WINE_STUB (0x80000100), then the Virtual Box Guest Addition 7.1.6 setup progress can move on.
2025-03-23 00:17:50 +01:00
Katayama Hirofumi MZ fe11f7a2e5 [REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Eric Kohl 85e90601e0 [SETUPAPI] Implement SetupDiGetCustomDevicePropertyA 2024-12-21 10:35:53 +01:00
Eric Kohl d44ed03b6c [SETUPAPI][PSDK] Implement SetupDiGetCustomDevicePropertyW 2024-12-18 23:18:36 +01:00
Eric Kohl c10c5224ff [SETUPAPI] Implement SetupDiGetClassRegistryPropertyA and SetupDiSetClassRegistryPropertyA 2024-12-16 23:19:56 +01:00
Eric Kohl 44564cb682 [SETUPAPI] Implement SetupDiGetClassRegistryPropertyW and SetupDiSetClassRegistryPropertyW 2024-12-15 15:54:35 +01:00
Eric Kohl 4d376dfd64 [SETUPAPI] CM_Set_Class_Registry_PropertyW: Do not convert SD if ulLength is 0 2024-12-14 20:09:27 +01:00
Eric Kohl b96e648019 [SETUPAPI] CM_Set_Class_Registry_PropertyW: Implement SD conversion
Convert text SD to binary SD for the CM_CRP_SECURITY_SDS property.
2024-12-14 13:52:55 +01:00
Eric Kohl b667d82f0b [SETUPAPI] Implement CM_Set_Class_Registry_PropertyA() 2024-12-09 21:53:35 +01:00
Eric Kohl 18c3f39c18 [SETUPAPI] Implement CM_Set_Class_Registry_PropertyW()
The conversion of text SDs to binary SDs is not implemented yet.
2024-12-08 23:03:30 +01:00
Eric Kohl d55ca68f7d [SETUPAPI] SETUP_CreateDevicesList must return ERROR_INVALID_DATA when the Enumerator is invalid
This fixes the devclass apitest.
2024-11-01 22:17:02 +01:00
Timo Kreuzer 1de09c477c [3RDPARTY] Link to oldnames for stricmp/wcsicmp 2024-10-20 14:12:25 +03:00
Whindmar Saksit a8b33400a2 [INF][BOOTDATA][SETUPAPI] Use Inf instead of Cmd.exe to register IExplore (#7171)
This moves the IExplore registration from cmd.exe (established in 4a4060ce3c (r52196) for CORE-1370) to syssetup.inf to avoid console popups on first boot.
2024-07-24 22:55:29 +02:00
Eric Kohl f24fbb655e [SETUPAPI] Implement CM_Dup_Range_List() and CM_Test_Range_Available() 2024-07-21 16:32:28 +02:00
Eric Kohl 894ad4f17d [SETUPAPI] Implement CM_Free_Res_Des_Handle() and improve CM_Get_Next_Re_Des_Ex() 2024-07-20 22:20:36 +02:00
Andrei Miloiu f200a34964 [SETUPAPI] Update Romanian (ro-RO) translation (#6843) 2024-07-16 21:41:46 +02:00
Whindmar Saksit 4321c975c7 [SETUPAPI] Fix absolute dirid ProfileItems bug (#7016) 2024-06-12 19:34:48 +02:00
Andrei Miloiu 34d63501ba [SETUPAPI] Update Romanian (ro-RO) translation (#6396) 2024-01-21 21:07:06 +01:00
Serge Gautherie ffc99d08e8 [SETUPAPI] CMP_RegisterNotification(): Remove useless/broken check (#6210)
Revert new broken check from commit  b0a73746c,
and even remove initial a6eabc004 (r73394) useless check.
2023-12-23 21:49:47 +01:00
Serge Gautherie 8943354d17 [SETUPAPI] cfgmgr.c: Remove 5 useless '= NULL' initializations (#6209) 2023-12-23 21:38:36 +01:00
Serge Gautherie 74a82c831b [SETUPAPI] CMP_RegisterNotification(): Remove duplicated code (#6207)
Addendum to commit 9277f5352
2023-12-23 21:38:09 +01:00
Eric Kohl 9277f5352a [SETUPAPI] CMP_RegisterNotification: Do not fail if we cannot retrieve a window title 2023-12-20 15:20:01 +01:00
Eric Kohl 71df39b027 [IDL][SETUPAPI][UMPNPMGR] Improve PNP_RegisterNotification
- The 2nd parameter is the handle to the recipient.
- The 8th parameter is the callers process id.
2023-12-20 14:49:30 +01:00
Thamatip Chitpong a79bd4d0cc [SETUPAPI] Add dll version info (#6050) 2023-11-28 19:30:34 +07:00
Thamatip Chitpong ab0119c61f [SETUPAPI] cfgmgr.c: Minor debug strings fix 2023-11-25 07:50:23 +07:00
Thamatip Chitpong 40bc5bf489 [SETUPAPI] CM_Request_Device_Eject_ExW: Allow ulNameLength to be zero when pszVetoName is not NULL (#6031)
Addendum to 7f346b1aa (#5943)
2023-11-24 07:47:01 +07:00
Serge Gautherie 5b5aaf6687 [SETUPAPI] cfgmgr.c: Do not debugstr_*(pszVetoName) (#6027)
which is an _Out_ parameter. Fixes "uninitialized" data read.
2023-11-22 22:35:00 +01:00
Thamatip Chitpong 7f346b1aa3 [SETUPAPI] CM_Request_Device_Eject_ExA/W: Fix pszVetoName buffer size validation (#5943)
- Return CR_INVALID_POINTER if pszVetoName is NULL and ulNameLength is not zero
- CM_Request_Device_Eject_ExA: Allow ulNameLength to be zero when pszVetoName is not NULL

Verified with Windows 2003 SP2.
2023-11-22 08:58:27 +07:00
Doug Lyons 5c8ec78b71 [SETUPAPI] Sync setupapi/queue.c to Wine 4.8 (#5233)
Sync setupapi/queue.c to Wine 4.8 to improve cab extraction.
This fixes 'fixme:(dll/win32/setupapi/queue.c:418) awful hack: extracting cabinet'
2023-04-30 15:34:26 +02:00
Luke Luo de972e2bc2 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513)
- Changed some wording according to the translation requirements.
- Fixed some mistakes.
- Changed my name.

Reviewed-by: He Yang <[email protected]>
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-05-20 15:38:24 +03:00
Stanislav Motylkov dea51f7830 [SETUPAPI] Clarify what functions are exported starting with NT 5.2
CORE-18168
2022-04-30 13:36:25 +03:00
Eric Kohl 851c5e0c3a [SETUPAPI] SetupDiCreateDeviceInfoW: Fix flags conversion for CM_Create_DevInst_ExW 2022-04-17 23:32:01 +02:00
Eric Kohl dde7e6e254 [SETUPAPI] CM_Locate_DevNode_ExW: The root device does not need to be validated 2022-04-17 22:50:26 +02:00
Eric Kohl a355e8ad27 [SETUPAPI] SetupDiCreateDeviceInfoW creates phantom devices 2022-04-17 14:29:14 +02:00
Wu HaotianandLiu Wenyuan 0c42866e64 [TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
Reviewed all Chinese Simplified translation files and updated those
inappropriate or outdated ones.

Co-authored-by: Liu Wenyuan <[email protected]>
Reviewed-by: Chan Chilung <[email protected]>
Reviewed-by: He Yang <[email protected]>
Reviewed-by: Zheng Jianping <[email protected]>
Reviewed-by: Luo Yufan <[email protected]>
Reviewed-by: Hermès Bélusca-Maïto <[email protected]>
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-03-31 20:30:52 +03:00
Eric Kohl b0a73746cd [UMPNPMGR][SETUPAPI] Fix notification handles in PNP_RegisterNotification and PNP_UnregisterNotification
- Notification handles must be context handles
- Register and unregister notification targets
2022-03-20 14:59:30 +01:00
Chan Chilung 171a920680 [TRANSLATION] Update Chinese Traditional (zh-TW) translation (#4154)
- Added translation for:
  - [W32TIME]
  - [MODE]
  - [TIMEOUT]
  - [MODEMUI]
  - [ARPING]
  - [FRAGINATOR]
  - and more
- Updated existing translation
- [WINNLS] Update cht (zh-TW) and zhh (zh-HK)
- [DOC] Update rules in Chinese translation notes.txt
- Wine translation sync

Some of the punctuation use in WIne has been converted to half-width,
so the punctuation will no longer synced.
2022-01-14 20:22:46 +03:00
Hermès Bélusca-Maïto 9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00