Commit graph

38 commits

Author SHA1 Message Date
Eric Kohl 2a2dd8f726 [UMPNPMGR] Add checks for the root device instance ID 2019-11-09 21:14:52 +01:00
Eric Kohl 8bf3f3feb9 [UMPNPMGR] Validate device instance IDs before use 2019-11-09 18:48:10 +01:00
Eric Kohl a743e33bd8 [UMPNPMGR] Implement PNP_RequestEjectPC() 2019-11-09 12:32:34 +01:00
Eric Kohl 13bb5e2317 [umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA 2019-10-15 22:40:06 +02:00
Eric Kohl 3d9a702d2b [UMPNPMGR] Implement PNP_QueryRemove() 2019-10-13 15:49:13 +02:00
Bișoc George eede1b9b7a
[UMPNPMGR] Implement registry functions for SuppressUI and SuppressNewHWUI handling. (#1683)
CORE-15897

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2019-07-21 19:02:53 +02:00
Hermès Bélusca-Maïto e095695a64
[UMPNPMGR] Fix build. 2019-07-14 22:17:50 +02:00
Eric Kohl 47e90b5ea4 [UMPNPMGR] PNP_GetDeviceStatus: Move the code that retrieves the status of a device into a separate function so that we can use in other functions. 2019-07-14 21:50:06 +02:00
Eric Kohl ece54dcd2f [SETUPAPI][UMPNPMGR] The 3rd parameter of PNP_RegisterNotification() seems to be the service name 2019-07-07 13:41:00 +02:00
Eric Kohl 8f5fe0fa4f [UMPNPMGR] PNP_RegisterNotification: Add notification filter parameter checks 2019-06-29 18:16:13 +02:00
Eric Kohl 7eb6e42626 [UMPNPMGR][SETUPAPI] PNP_RegisterNotification() has got 9 parameters. 2019-06-29 13:38:42 +02:00
Eric Kohl a9c4c07955 [SETUPAPI][UMPNPMGR] PNP_UnregisterNotification: Add 2 unknown parameters 2019-06-23 21:45:54 +02:00
Eric Kohl ca0406131c [SETUPAPI][UMPNPMGR] Improve CMP_RegisterNotification/PNP_RegisterNotification
Pass the notification filter to PNP_RegisterNotification as a byte-pointer to the filter and the size of the filter.
2019-06-23 19:31:34 +02:00
Eric Kohl 6866c0aede [NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse).
- Windows requires 16 bytes of response data.
- Add the PLUGPLAY_CONTROL_USER_RESPONSE_DATA type.
- Usetup and Umpnpmgr must fail if NtPlugPlayControl(PlugPlayControlUserResponse) does not return STATUS_SUCCESS.
2019-06-12 13:48:27 +02:00
Eric Kohl acc821e1ea [UMPNPMGR] PNP_SetHwProf is not implemented in Windows XP and returns CR_CALL_NOT_IMPLEMENTED. 2019-06-11 16:32:44 +02:00
Eric Kohl 5e3c8ce0c6 [UMPNPMGR] Implement PNP_GetClassInstance(). 2019-06-06 18:16:31 +02:00
Eric Kohl fe3ae24369 [UMPNPMGR] Split the monolithic monster: service, rpc and installer. 2019-05-30 11:48:29 +02:00
Eric Kohl e71a94da20 [UMPNPMGR] PNP_QueryArbitratorFreeData and PNP_QueryArbitratorFreeSize don't do anything useful today. 2019-05-30 01:02:09 +02:00
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Eric Kohl 66e4dbc7ed [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of service device instances. 2018-12-31 21:38:26 +01:00
Eric Kohl 5da008c338 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for the enumeration of services instances. 2018-12-31 16:15:16 +01:00
Eric Kohl ccb8c906b0 [UMPNPMGR] PNP_GetDeviceList/PNP_GetDeviceListSize: Move device relations code into separate functions. 2018-12-31 11:21:17 +01:00
Eric Kohl 6183774efa [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of all device instances. 2018-12-30 17:15:40 +01:00
Eric Kohl 969de9062c [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for a list of all device instances. 2018-12-30 14:43:10 +01:00
Eric Kohl 4f37d96857 [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of device instances for a given enumerator. 2018-12-30 12:58:30 +01:00
Eric Kohl 7c66247343 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for given enumerators and take care of the terminating double Unicode null character. 2018-12-30 09:06:59 +01:00
Eric Kohl a9b88efa7c [UMPNPMGR] PNP_GetDeviceList / PNP_GetDeviceListSize: Implement the buffer size calculation and device instance enumeration for a given enumerator and device name. 2018-12-29 22:13:32 +01:00
Hermès Bélusca-Maïto 2955ed91ab
[UMPNPMGR] Use HeapReAlloc() to reallocate the PnP events buffer. Fix a memory leak in DeviceInstallThread(). 2018-12-23 14:09:17 +01:00
Hermès Bélusca-Maïto 9e18da43fe
[UMPNPMGR] Minor formatting, and enable a DPRINT1 in case NtGetPlugPlayEvent() fails and the PnpEventThread() thread unexpectedly terminates due to that. 2018-12-23 14:09:16 +01:00
Hermès Bélusca-Maïto 043a98ddd9
[UMPNPMGR] Re-enable the usage of Interlocked Singly-Linked lists.
Using locked operations (insertion & removal) on the list of queued
devices installations is necessary, because these operations are done
concurrently by two different threads: PnpEventThread() and
DeviceInstallThread().

Addendum to commit b2aeafca (r24365).
2018-12-15 20:19:32 +01:00
Hermès Bélusca-Maïto 745fa54506
[UMPNPMGR] Fix a typo. 2018-12-15 20:19:31 +01:00
Eric Kohl ce15c84309 [UMPNPMGR] Implement PNP_DetectResourceConflict(). 2018-11-01 14:50:08 +01:00
Eric Kohl 934104d73f [UMPNPMGR] Simplify PNP_GetDeviceRegProp 2018-08-20 00:55:03 +02:00
Eric Kohl 9d26058a8e [UMPNPMGR] Partially implement ReenumerateDeviceInstance which is needed by the Lenovo T400 network driver installer 2018-08-12 22:26:22 +02:00
Eric Kohl 4ffa0a2e55 [NTOSKRNL][NDK][UMPNPMGR] Define and use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values
NDK: Define PLUGPLAY_CONTROL_PROPERTY_DATA.Properties and PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA.Relations values.

NTOSKRNL: Map PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values to IoGetDeviceProperty properties and add (dummy) code for unsupported cases.

UMPNPMGR: Use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values in PNP_GetDeviceRegProp.
2018-07-15 15:57:57 +02:00
Serge Gautherie 5ca037d5f6 [UMPNPMGR] Fix a Clang-Cl warning about "CSConfigFlags"
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"

CORE-14306
2018-05-04 22:02:24 +02:00
Eric Kohl 2b5c4bd2c7 [UMPNPMGR] Add missing status mappings to NtStatusToCrError.
CORE-13944
2017-11-12 12:51:19 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00