diff --git a/reactos/lib/newdev/newdev.c b/reactos/lib/newdev/newdev.c index bd6ece00c5a..675faeacae2 100644 --- a/reactos/lib/newdev/newdev.c +++ b/reactos/lib/newdev/newdev.c @@ -873,6 +873,12 @@ DevInstallW( 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 */ @@ -1026,6 +1032,17 @@ DevInstallW( return TRUE; } +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-xxxxxxxxxxxx}" + */ + return FALSE; +} + BOOL WINAPI DllMain( IN HINSTANCE hInstance, @@ -1036,6 +1053,8 @@ DllMain( { INITCOMMONCONTROLSEX InitControls; + DisableThreadLibraryCalls(hInstance); + InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX); InitControls.dwICC = ICC_PROGRESS_CLASS; InitCommonControlsEx(&InitControls); diff --git a/reactos/lib/newdev/newdev.def b/reactos/lib/newdev/newdev.def index 61110e4db06..004c9cd7e57 100644 --- a/reactos/lib/newdev/newdev.def +++ b/reactos/lib/newdev/newdev.def @@ -1,6 +1,7 @@ LIBRARY newdev.dll EXPORTS +ClientSideInstallW@12 DevInstallW@16 ;InstallDevInst ;InstallDevInstEx