mirror of
https://github.com/reactos/reactos.git
synced 2024-08-12 06:06:27 +00:00
Relicence newdev.dll to LGPL. Christoph von Wittich and I both agree on this licence change.
Do according changes in source to follow Wine way of code svn path=/trunk/; revision=20447
This commit is contained in:
parent
a73d1b05b1
commit
8ac1adfd7d
|
@ -1,18 +1,29 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* New device installer (newdev.dll)
|
||||||
* PROJECT: ReactOS New devices installation
|
*
|
||||||
* FILE: lib/newdev/newdev.c
|
* Copyright 2005 Hervé Poussineau (hpoussin@reactos.org)
|
||||||
* PURPOSE: New devices installation
|
* 2005 Christoph von Wittich (Christoph@ActiveVB.de)
|
||||||
*
|
*
|
||||||
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
|
* This library is free software; you can redistribute it and/or
|
||||||
* PROGRAMMERS: Christoph von Wittich (Christoph@ActiveVB.de)
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
*/
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
//#define NDEBUG
|
*
|
||||||
#include <debug.h>
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define YDEBUG
|
||||||
#include "newdev.h"
|
#include "newdev.h"
|
||||||
|
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(newdev);
|
||||||
|
|
||||||
static BOOL SearchDriver ( PDEVINSTDATA DevInstData, LPCTSTR Path );
|
static BOOL SearchDriver ( PDEVINSTDATA DevInstData, LPCTSTR Path );
|
||||||
static BOOL InstallDriver ( PDEVINSTDATA DevInstData );
|
static BOOL InstallDriver ( PDEVINSTDATA DevInstData );
|
||||||
static DWORD WINAPI FindDriverProc( LPVOID lpParam );
|
static DWORD WINAPI FindDriverProc( LPVOID lpParam );
|
||||||
|
@ -22,7 +33,7 @@ static DEVINSTDATA DevInstData;
|
||||||
HINSTANCE hDllInstance;
|
HINSTANCE hDllInstance;
|
||||||
HANDLE hThread;
|
HANDLE hThread;
|
||||||
|
|
||||||
BOOL
|
static BOOL
|
||||||
CanDisableDevice(IN DEVINST DevInst,
|
CanDisableDevice(IN DEVINST DevInst,
|
||||||
IN HMACHINE hMachine,
|
IN HMACHINE hMachine,
|
||||||
OUT BOOL *CanDisable)
|
OUT BOOL *CanDisable)
|
||||||
|
@ -54,7 +65,7 @@ CanDisableDevice(IN DEVINST DevInst,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
static BOOL
|
||||||
IsDeviceStarted(IN DEVINST DevInst,
|
IsDeviceStarted(IN DEVINST DevInst,
|
||||||
IN HMACHINE hMachine,
|
IN HMACHINE hMachine,
|
||||||
OUT BOOL *IsEnabled)
|
OUT BOOL *IsEnabled)
|
||||||
|
@ -78,7 +89,7 @@ IsDeviceStarted(IN DEVINST DevInst,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
static BOOL
|
||||||
StartDevice(IN HDEVINFO DeviceInfoSet,
|
StartDevice(IN HDEVINFO DeviceInfoSet,
|
||||||
IN PSP_DEVINFO_DATA DevInfoData OPTIONAL,
|
IN PSP_DEVINFO_DATA DevInfoData OPTIONAL,
|
||||||
IN BOOL bEnable,
|
IN BOOL bEnable,
|
||||||
|
@ -745,20 +756,20 @@ FindDriver(
|
||||||
DevInstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS);
|
DevInstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS);
|
||||||
if (!SetupDiGetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
|
if (!SetupDiGetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiGetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiGetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
DevInstallParams.FlagsEx |= DI_FLAGSEX_ALLOWEXCLUDEDDRVS;
|
DevInstallParams.FlagsEx |= DI_FLAGSEX_ALLOWEXCLUDEDDRVS;
|
||||||
if (!SetupDiSetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
|
if (!SetupDiSetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiSetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiSetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = SetupDiBuildDriverInfoList(DevInstData->hDevInfo, &DevInstData->devInfoData, SPDIT_COMPATDRIVER);
|
ret = SetupDiBuildDriverInfoList(DevInstData->hDevInfo, &DevInstData->devInfoData, SPDIT_COMPATDRIVER);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiBuildDriverInfoList() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiBuildDriverInfoList() failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -773,10 +784,10 @@ FindDriver(
|
||||||
{
|
{
|
||||||
if (GetLastError() == ERROR_NO_MORE_ITEMS)
|
if (GetLastError() == ERROR_NO_MORE_ITEMS)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
DPRINT("SetupDiEnumDriverInfo() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiEnumDriverInfo() failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
DPRINT("Installing driver %S: %S\n", DevInstData->drvInfoData.MfgName, DevInstData->drvInfoData.Description);
|
TRACE("Installing driver %S: %S\n", DevInstData->drvInfoData.MfgName, DevInstData->drvInfoData.Description);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -899,7 +910,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_SELECTBESTCOMPATDRV) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_SELECTBESTCOMPATDRV) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -909,7 +920,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_ALLOW_INSTALL) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_ALLOW_INSTALL) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -919,7 +930,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_PREANALYZE) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_PREANALYZE) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -929,7 +940,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_POSTANALYZE) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_POSTANALYZE) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -939,7 +950,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_INSTALLDEVICEFILES) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_INSTALLDEVICEFILES) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -949,7 +960,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_REGISTER_COINSTALLERS) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_REGISTER_COINSTALLERS) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -959,7 +970,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_INSTALLINTERFACES) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_INSTALLINTERFACES) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -969,7 +980,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_INSTALLDEVICE) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_INSTALLDEVICE) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -979,7 +990,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_FINISHINSTALL) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_NEWDEVICEWIZARD_FINISHINSTALL) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -989,7 +1000,7 @@ InstallDriver(
|
||||||
&DevInstData->devInfoData);
|
&DevInstData->devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCallClassInstaller(DIF_DESTROYPRIVATEDATA) failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCallClassInstaller(DIF_DESTROYPRIVATEDATA) failed with error 0x%lx\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1004,13 +1015,13 @@ CleanUp(VOID)
|
||||||
if (DevInstData.devInfoData.cbSize != 0)
|
if (DevInstData.devInfoData.cbSize != 0)
|
||||||
{
|
{
|
||||||
if (!SetupDiDestroyDriverInfoList(DevInstData.hDevInfo, &DevInstData.devInfoData, SPDIT_COMPATDRIVER))
|
if (!SetupDiDestroyDriverInfoList(DevInstData.hDevInfo, &DevInstData.devInfoData, SPDIT_COMPATDRIVER))
|
||||||
DPRINT("SetupDiDestroyDriverInfoList() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiDestroyDriverInfoList() failed with error 0x%lx\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DevInstData.hDevInfo != INVALID_HANDLE_VALUE)
|
if (DevInstData.hDevInfo != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
if (!SetupDiDestroyDeviceInfoList(DevInstData.hDevInfo))
|
if (!SetupDiDestroyDeviceInfoList(DevInstData.hDevInfo))
|
||||||
DPRINT("SetupDiDestroyDeviceInfoList() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiDestroyDeviceInfoList() failed with error 0x%lx\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DevInstData.buffer)
|
if (DevInstData.buffer)
|
||||||
|
@ -1018,6 +1029,9 @@ CleanUp(VOID)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DevInstallW(
|
DevInstallW(
|
||||||
IN HWND hWndParent,
|
IN HWND hWndParent,
|
||||||
|
@ -1046,7 +1060,7 @@ DevInstallW(
|
||||||
DevInstData.hDevInfo = SetupDiCreateDeviceInfoListExW(NULL, NULL, NULL, NULL);
|
DevInstData.hDevInfo = SetupDiCreateDeviceInfoListExW(NULL, NULL, NULL, NULL);
|
||||||
if (DevInstData.hDevInfo == INVALID_HANDLE_VALUE)
|
if (DevInstData.hDevInfo == INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiCreateDeviceInfoListExW() failed with error 0x%lx\n", GetLastError());
|
TRACE("SetupDiCreateDeviceInfoListExW() failed with error 0x%lx\n", GetLastError());
|
||||||
CleanUp();
|
CleanUp();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1060,7 +1074,7 @@ DevInstallW(
|
||||||
&DevInstData.devInfoData);
|
&DevInstData.devInfoData);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiOpenDeviceInfoW() failed with error 0x%lx (InstanceId %S)\n", GetLastError(), InstanceId);
|
TRACE("SetupDiOpenDeviceInfoW() failed with error 0x%lx (InstanceId %S)\n", GetLastError(), InstanceId);
|
||||||
DevInstData.devInfoData.cbSize = 0;
|
DevInstData.devInfoData.cbSize = 0;
|
||||||
CleanUp();
|
CleanUp();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1080,7 +1094,7 @@ DevInstallW(
|
||||||
DevInstData.buffer = HeapAlloc(GetProcessHeap(), 0, DevInstData.requiredSize);
|
DevInstData.buffer = HeapAlloc(GetProcessHeap(), 0, DevInstData.requiredSize);
|
||||||
if (!DevInstData.buffer)
|
if (!DevInstData.buffer)
|
||||||
{
|
{
|
||||||
DPRINT("HeapAlloc() failed\n");
|
TRACE("HeapAlloc() failed\n");
|
||||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1096,7 +1110,7 @@ DevInstallW(
|
||||||
}
|
}
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
DPRINT("SetupDiGetDeviceRegistryProperty() failed with error 0x%lx (InstanceId %S)\n", GetLastError(), InstanceId);
|
TRACE("SetupDiGetDeviceRegistryProperty() failed with error 0x%lx (InstanceId %S)\n", GetLastError(), InstanceId);
|
||||||
CleanUp();
|
CleanUp();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1123,7 +1137,7 @@ DevInstallW(
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DPRINT("Installing %S (%S)\n", DevInstData.buffer, InstanceId);
|
TRACE("Installing %S (%S)\n", DevInstData.buffer, InstanceId);
|
||||||
|
|
||||||
if ((!FindDriver(&DevInstData)) && (Show != SW_HIDE))
|
if ((!FindDriver(&DevInstData)) && (Show != SW_HIDE))
|
||||||
{
|
{
|
||||||
|
@ -1191,6 +1205,9 @@ DevInstallW(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
ClientSideInstallW(IN HWND hWndOwner,
|
ClientSideInstallW(IN HWND hWndOwner,
|
||||||
IN DWORD dwUnknownFlags,
|
IN DWORD dwUnknownFlags,
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
LIBRARY newdev.dll
|
|
||||||
|
|
||||||
EXPORTS
|
|
||||||
ClientSideInstallW@12
|
|
||||||
DevInstallW@16
|
|
||||||
;InstallDevInst
|
|
||||||
;InstallDevInstEx
|
|
||||||
InstallNewDevice@12
|
|
||||||
;InstallSelectedDevice
|
|
||||||
InstallSelectedDriverW@20
|
|
||||||
;InstallWindowsUpdateDriver
|
|
||||||
;RollbackDriver
|
|
||||||
UpdateDriverForPlugAndPlayDevicesA@20
|
|
||||||
UpdateDriverForPlugAndPlayDevicesW@20
|
|
||||||
|
|
||||||
;EOF
|
|
|
@ -4,13 +4,12 @@
|
||||||
#include <setupapi.h>
|
#include <setupapi.h>
|
||||||
#include <cfgmgr32.h>
|
#include <cfgmgr32.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
|
#include <wine/debug.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
ULONG DbgPrint(PCH Format,...);
|
|
||||||
|
|
||||||
typedef struct _DEVINSTDATA
|
typedef struct _DEVINSTDATA
|
||||||
{
|
{
|
||||||
HFONT hTitleFont;
|
HFONT hTitleFont;
|
||||||
|
|
11
reactos/lib/newdev/newdev.spec
Normal file
11
reactos/lib/newdev/newdev.spec
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
@ stdcall ClientSideInstallW(ptr long wstr)
|
||||||
|
@ stdcall DevInstallW(ptr ptr wstr long)
|
||||||
|
@ stub InstallDevInst
|
||||||
|
@ stub InstallDevInstEx
|
||||||
|
@ stdcall InstallNewDevice(ptr ptr ptr)
|
||||||
|
@ stub InstallSelectedDevice
|
||||||
|
@ stdcall InstallSelectedDriverW(ptr ptr wstr long ptr)
|
||||||
|
@ stub InstallWindowsUpdateDriver
|
||||||
|
@ stub RollbackDriver
|
||||||
|
@ stdcall UpdateDriverForPlugAndPlayDevicesA(ptr str str long ptr)
|
||||||
|
@ stdcall UpdateDriverForPlugAndPlayDevicesW(ptr wstr wstr long ptr)
|
|
@ -2,12 +2,14 @@
|
||||||
<include base="newdev">.</include>
|
<include base="newdev">.</include>
|
||||||
<define name="UNICODE" />
|
<define name="UNICODE" />
|
||||||
<define name="_UNICODE" />
|
<define name="_UNICODE" />
|
||||||
<importlibrary definition="newdev.def" />
|
<importlibrary definition="newdev.spec.def" />
|
||||||
<define name="_WIN32_IE">0x0600</define>
|
<define name="_WIN32_IE">0x0600</define>
|
||||||
<define name="_WIN32_WINNT">0x0501</define>
|
<define name="_WIN32_WINNT">0x0501</define>
|
||||||
<file>newdev.c</file>
|
<file>newdev.c</file>
|
||||||
<file>stubs.c</file>
|
<file>stubs.c</file>
|
||||||
<file>newdev.rc</file>
|
<file>newdev.rc</file>
|
||||||
|
<file>newdev.spec</file>
|
||||||
|
<library>wine</library>
|
||||||
<library>gdi32</library>
|
<library>gdi32</library>
|
||||||
<library>comctl32</library>
|
<library>comctl32</library>
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
|
|
|
@ -1,17 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* New device installer (newdev.dll)
|
||||||
* PROJECT: ReactOS New devices installation
|
|
||||||
* FILE: lib/newdev/stubs.c
|
|
||||||
* PURPOSE: Stubs
|
|
||||||
*
|
*
|
||||||
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
|
* Copyright 2005 Hervé Poussineau (hpoussin@reactos.org)
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define NDEBUG
|
|
||||||
#include <debug.h>
|
|
||||||
|
|
||||||
#include "newdev.h"
|
#include "newdev.h"
|
||||||
|
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(newdev);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
InstallNewDevice(
|
InstallNewDevice(
|
||||||
IN HWND hwndParent,
|
IN HWND hwndParent,
|
||||||
|
@ -23,6 +36,9 @@ InstallNewDevice(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
InstallSelectedDriverW(
|
InstallSelectedDriverW(
|
||||||
IN HWND hwndParent,
|
IN HWND hwndParent,
|
||||||
|
@ -35,7 +51,3 @@ InstallSelectedDriverW(
|
||||||
SetLastError(ERROR_GEN_FAILURE);
|
SetLastError(ERROR_GEN_FAILURE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue