Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Operating System: ReactOS
Platform: x86 Hardware
Description
When you boot up ReactOS in VirtualBox after r40513, you'll find the following line in the debug log:
(ntoskrnl\io\pnpmgr\plugplay.c:785) NtGetPlugPlayEvent: Caller does not hold the SeTcbPrivilege privilege!
This happens, because newdev.dll correctly runs in the context of the current user now. As newdev.dll makes use of a setupapi.dll function calling setupapi's internal ResetDevice function, which itself incorrectly calls NtPlugPlayControl, the latter function fails.
I guess setupapi.dll should rather use an umpnpmgr RPC call for resetting the device. Looking at MSDN, the most suitable one seems to be PNP_DeviceInstanceAction with PNP_DEVINST_SETUP and CM_SETUP_DEVINST_RESET.
On the other hand, MSDN also says that CM_SETUP_DEVINST_RESET doesn't start the device while the current ResetDevice function does that (see also ntoskrnl/io/pnpmgr/plugplay.c:572).
Assigning this bug to Hervé as he originally implemented setupapi's ResetDevice and can hopefully do something about this bug.