Add a stub for ClientSideInstallW. umpnpmgr is supposed to run rundll32
in the context of the currently logged on user like this:
"rundll32.exe newdev.dll,ClientSideInstall
\\.\pipe\PNP_Device_Install_Pipe_0.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
}"
Modified: trunk/reactos/lib/newdev/newdev.c
Modified: trunk/reactos/lib/newdev/newdev.def
_____
Modified: trunk/reactos/lib/newdev/newdev.c
--- trunk/reactos/lib/newdev/newdev.c 2005-11-19 09:29:20 UTC (rev
19341)
+++ trunk/reactos/lib/newdev/newdev.c 2005-11-19 13:27:27 UTC (rev
19342)
@@ -873,6 +873,12 @@
DWORD config_flags;
/*TCHAR buf[128];*/
+ if (!IsUserAdmin())
+ {
+ /* XP kills the process... */
+ ExitProcess(ERROR_ACCESS_DENIED);
+ }
+
/* Clear devinst data */
ZeroMemory(&DevInstData, sizeof(DEVINSTDATA));
DevInstData.devInfoData.cbSize = 0; /* Tell if the devInfoData is
valid */
@@ -1027,6 +1033,17 @@
}
BOOL WINAPI
+ClientSideInstallW(IN HWND hWndOwner,
+ IN DWORD dwUnknownFlags,
+ IN LPWSTR lpNamedPipeName)
+{
+ /* NOTE: pNamedPipeName is in the format:
+ *
"\\.\pipe\PNP_Device_Install_Pipe_0.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
x}"
+ */
+ return FALSE;
+}
+
+BOOL WINAPI
DllMain(
IN HINSTANCE hInstance,
IN DWORD dwReason,
@@ -1036,6 +1053,8 @@
{
INITCOMMONCONTROLSEX InitControls;
+ DisableThreadLibraryCalls(hInstance);
+
InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
InitControls.dwICC = ICC_PROGRESS_CLASS;
InitCommonControlsEx(&InitControls);
_____
Modified: trunk/reactos/lib/newdev/newdev.def
--- trunk/reactos/lib/newdev/newdev.def 2005-11-19 09:29:20 UTC (rev
19341)
+++ trunk/reactos/lib/newdev/newdev.def 2005-11-19 13:27:27 UTC (rev
19342)
@@ -1,6 +1,7 @@
LIBRARY newdev.dll
EXPORTS
+ClientSideInstallW@12
DevInstallW@16
;InstallDevInst
;InstallDevInstEx
Show replies by date