Commit graph

55 commits

Author SHA1 Message Date
Serge Gautherie df81dadd9c
[UMPNPMGR] PNP_RegisterNotification(): Fix a string format (#6211)
Type was changed from DWORD to DWORD_PTR (as handle).
Addendum to commit 71df39b02
2023-12-23 21:50:47 +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
Eric Kohl e1eb9e3620 [UMPNPMGR] PNP_Get(First/Next)LogConf: return proper tags for the resource list case 2023-06-29 18:06:02 +02:00
Eric Kohl 44a312478d [UMPNPMGR] OpenConfigurationKey: Open subkeys depending on the configuration type
- Boot and Basic Configurations are located in the LogConf subkey.
- Alloc and filtered Configurations are located in the Control subkey.
2023-06-28 23:15:26 +02:00
Timo Kreuzer b29b2682bf
[UMPNPMGR] Fix uninitialized variable (#5310)
The unhiding and guilty revision that was identified by @stasm by bisecting the
bootability of LiveCD was 0.4.15-dev-6050-g13e6cbc
As that was the symptom: "We could not longer boot livecd". CORE-18986
2023-06-01 19:44:05 +09:00
Eric Kohl 2626c724e9 [UMPNPMGR] Replace some magic values 2023-05-29 11:58:09 +02:00
Eric Kohl 024daea0af [UMPNPMGR] Check ulFlags in PNP_GetGlobalState
Return CR_INVALID_FLAG if ulFlags is not zero.
2023-05-29 09:54:31 +02:00
Eric Kohl 13e6cbcafa [UMPNPMGR] Check for interactive caller in PNP_ReportLogOn
Do not run device install when a non-interactive user logs on.
2023-05-29 09:38:31 +02:00
Eric Kohl 74efe979a8 [UMPNPMGR] PNP_CreateDevInst: Create a device node for the device to be installed 2022-04-24 12:56:42 +02:00
Eric Kohl a7a222b52d [UMPNPMGR] PNP_CreateDevInst: Convert a phantom device to a normal device 2022-04-23 16:59:47 +02:00
Eric Kohl 33a0c66f30 [UMPNPMGR] PNP_CreateDevInst: Do not create a normal device if it is already present 2022-04-23 15:35:45 +02:00
Stanislav Motylkov 27453fb759
[UMPNPMGR] Fix hang when installing devices. Addendum to 0296fce00. 2022-04-20 02:38:41 +03:00
Eric Kohl 0296fce00e [UMPNPMGR] GenerateDeviceID must fail, if pszDeviceID contains backslashes 2022-04-19 23:14:23 +02:00
Eric Kohl f3ac86713d [UMPNPMGR] PNP_CreateDevInst: A phantom device can only be created if the device did not exist before 2022-04-19 00:09:54 +02:00
Eric Kohl 8897a890c9 [UMPNPMGR] PNP_CreateDevInst: Support the creation of phantom devices 2022-04-18 19:53:18 +02:00
Eric Kohl f63e8f8a03 [UMPNPMGR] Move device id generation into a separate function and limit device instance number 2022-04-18 14:14:11 +02:00
Eric Kohl 426687becf [UMPNPMGR] PNP_CreateDevInst: Do not create a new device while generating a device id 2022-04-18 12:59:41 +02:00
Eric Kohl 11886ebec2 [UMPNPMGR] PNP_GetRelatedDeviceInstance must return the root device as the parent of non-existing devices 2022-04-18 09:48:03 +02:00
Eric Kohl 7cc5163bfa [UMPNPMGR] Add checks to PNP_GetRelatedDeviceInstance
PNP_GetRelatedDeviceInstance must fail if we try to retrieve the parent or a sibling of the root device.
2022-04-17 13:52:59 +02: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
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
Eric Kohl 13073e1acb [UMPNPMGR] PNP_GetDeviceStatus: Add status checks as documented in MS-PNPR
CORE-17527
2021-06-22 00:02:56 +02:00
Eric Kohl 830e15b622 [UMPNPMGR] Add missing parameter checks to PNP_GetDeviceStatus 2021-06-21 21:33:24 +02:00
Eric Kohl 0f27609813 [UMPNPMGR] Fix DPRINT in PNP_GetDeviceStatus() 2021-04-24 17:06:08 +02:00
Eric Kohl b24f463a33 [UMPNPMGR] Start the device in SetupDeviceInstance 2021-04-24 17:04:11 +02:00
Eric Kohl d5b20cb118 [UMPNPMGR] Implement PNP_SetDeviceProblem
CORE-17527
2021-04-24 11:59:22 +02:00
Mark Jansen 5028c3adec
[UMPNPMGR] Fix remaining length calculation 2021-04-03 01:43:48 +02:00
Victor Perevertkin abbc5ba45a
[UMPNPMGR][USETUP] Use PlugPlayControlStartDevice in usetup and umpnpmgr
Instead of PlugPlayControlResetDevice, PlugPlayControlStartDevice should
be used for a newly installed device.
For usetup, add a device status check before starting attempt, so we're
not touching devices which are already started.

CORE-17463 CORE-17490
2021-03-16 03:17:58 +03:00
Victor Perevertkin 029accdcf7
[NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Victor Perevertkin ff13301eb2
[UMPNPMGR] Set the data type in all cases of PNP_GetDeviceRegProp
CORE-14187
2020-12-06 19:48:38 +03:00
Eric Kohl 80b139d726 [UMPNPMGR] Start work on PNP_GetNextResDes() 2020-05-21 21:51:06 +02:00
Eric Kohl 38494d0997 [UMPNPMGR] Improve some debug messages 2020-05-20 19:56:30 +02:00
Eric Kohl 4246b64dcb [UMPNPMGR] Implement PNP_GetFirstLogConf and PNP_GetNextLogConf (WIP)
- PNP_GetFirstLogConf only works for resources lists.
- PNP_GetNextLogConf does not return a valid tag yet.
2020-05-10 20:46:41 +02:00
Serge Gautherie 2712762538
[UMPNPMGR] rpcserver.c: Fix debug message copypastas (#2426)
Addendum to db02f87d.
2020-03-09 16:00:53 +01:00
Eric Kohl b39c55e5d2 [UMPNPMGR] Implement PNP_DisableDevInst() 2020-03-08 10:36:02 +01:00
Eric Kohl db02f87d7b [UMPNPMGR] Fix indentation and improve debug messages 2020-03-08 10:30:25 +01:00
Eric Kohl c11491b750 [UMPNPMGR] Improve PNP_DeviceInstanceAction
- Rename parameters according to [MS_PNPR] (no longer available for download).
- Remove unsupported PNP_DEVINST_MOVE and PNP_DEVINST_DISABLE actions.
- Implement most of the PNP_DEVINST_SETUP action.
2020-02-23 10:44:43 +01:00
Eric Kohl 774a4252b9 [UMPNPMGR] Improve some DPRINTS and PNP_CreateKey
PNP_CreateKey creates the 'Device Parameters' key for a given device in the enum key
2020-02-16 22:08:34 +01:00
Eric Kohl 00a47324f2 [UMPNPMGR] Replace magic values and improve DPRINTS in exported function 2020-02-16 16:29:44 +01:00
Eric Kohl f9160f7637 [UMPNPMGR] Implement PNP_RegisterDriver() 2020-02-16 11:13:10 +01:00
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
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