From: Aric Stewart Subject: [PATCH v3 02/20] winehid.sys: Add HID minidriver Message-Id: <27fe54f7-6d0d-165e-0272-773e96e4388a@codeweavers.com> Date: Fri, 2 Sep 2016 07:15:47 -0500 Signed-off-by: Aric Stewart --- MAINTAINERS | 1 + configure | 2 ++ configure.ac | 1 + dlls/winehid.sys/Makefile.in | 6 ++++++ dlls/winehid.sys/main.c | 36 ++++++++++++++++++++++++++++++++++++ dlls/winehid.sys/winehid.sys.spec | 1 + loader/wine.inf.in | 14 ++++++++++++++ 7 files changed, 61 insertions(+) create mode 100644 dlls/winehid.sys/Makefile.in create mode 100644 dlls/winehid.sys/main.c create mode 100644 dlls/winehid.sys/winehid.sys.spec diff --git a/MAINTAINERS b/MAINTAINERS index 4a7191c..55a7834 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -122,6 +122,7 @@ HID support M: Aric Stewart F: dlls/hid/ F: dlls/hidclass.sys/ +F: dlls/winehid.sys/ HTML rendering (Gecko) M: Jacek Caban diff --git a/configure b/configure index dc2773c..9808e11 100755 --- a/configure +++ b/configure @@ -1386,6 +1386,7 @@ enable_winebus_sys enable_winecoreaudio_drv enable_wined3d enable_winegstreamer +enable_winehid_sys enable_winejoystick_drv enable_winemac_drv enable_winemapi @@ -18152,6 +18153,7 @@ wine_fn_config_dll winecoreaudio.drv enable_winecoreaudio_drv wine_fn_config_lib winecrt0 wine_fn_config_dll wined3d enable_wined3d implib wine_fn_config_dll winegstreamer enable_winegstreamer +wine_fn_config_dll winehid.sys enable_winehid_sys wine_fn_config_dll winejoystick.drv enable_winejoystick_drv wine_fn_config_dll winemac.drv enable_winemac_drv clean wine_fn_config_dll winemapi enable_winemapi diff --git a/configure.ac b/configure.ac index 7b1b0e5..f02ab98 100644 --- a/configure.ac +++ b/configure.ac @@ -3372,6 +3372,7 @@ WINE_CONFIG_DLL(winecoreaudio.drv) WINE_CONFIG_LIB(winecrt0) WINE_CONFIG_DLL(wined3d,,[implib]) WINE_CONFIG_DLL(winegstreamer) +WINE_CONFIG_DLL(winehid.sys,,[implib]) WINE_CONFIG_DLL(winejoystick.drv) WINE_CONFIG_DLL(winemac.drv,,[clean]) WINE_CONFIG_DLL(winemapi) diff --git a/dlls/winehid.sys/Makefile.in b/dlls/winehid.sys/Makefile.in new file mode 100644 index 0000000..d9414d3 --- /dev/null +++ b/dlls/winehid.sys/Makefile.in @@ -0,0 +1,6 @@ +MODULE = winehid.sys +IMPORTS = ntoskrnl hidclass +EXTRADLLFLAGS = -Wb,--subsystem,native + +C_SRCS = \ + main.c diff --git a/dlls/winehid.sys/main.c b/dlls/winehid.sys/main.c new file mode 100644 index 0000000..58d1827 --- /dev/null +++ b/dlls/winehid.sys/main.c @@ -0,0 +1,36 @@ +/* + * WINE Hid minidriver + * + * Copyright 2016 Aric Stewart + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define NONAMELESSUNION +#include +#include +#include "ntstatus.h" +#define WIN32_NO_STATUS +#include "windef.h" +#include "winbase.h" +#include "winternl.h" +#include "ddk/wdm.h" +#include "wine/unicode.h" + +/* main entry point for the driver */ +NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path ) +{ + return STATUS_SUCCESS; +} diff --git a/dlls/winehid.sys/winehid.sys.spec b/dlls/winehid.sys/winehid.sys.spec new file mode 100644 index 0000000..76421d7 --- /dev/null +++ b/dlls/winehid.sys/winehid.sys.spec @@ -0,0 +1 @@ +# nothing to export diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 4e29026..85dbef1 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -131,6 +131,7 @@ AddService=LanmanServer,0,LanmanServerService AddService=FontCache,0,FontCacheService AddService=Schedule,0,TaskSchedulerService AddService=WineBus,0,WineBusService +AddService=WineHIDMinidriver,0,WineHIDService [DefaultInstall.NT.Services] AddService=BITS,0,BITSService @@ -146,6 +147,7 @@ AddService=LanmanServer,0,LanmanServerService AddService=FontCache,0,FontCacheService AddService=Schedule,0,TaskSchedulerService AddService=WineBus,0,WineBusService +AddService=WineHIDMinidriver,0,WineHIDService [DefaultInstall.ntamd64.Services] AddService=BITS,0,BITSService @@ -161,6 +163,7 @@ AddService=LanmanServer,0,LanmanServerService AddService=FontCache,0,FontCacheService AddService=Schedule,0,TaskSchedulerService AddService=WineBus,0,WineBusService +AddService=WineHIDMinidriver,0,WineHIDService [Strings] MciExtStr="Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions" @@ -2522,6 +2525,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 12,,ndis.sys,- 12,,tdi.sys,- 12,,winebus.sys,- +12,,winehid.sys,- ; skip .NET fake dlls in Wine Mono package 11,,aspnet_regiis.exe,- 11,,ngen.exe,- @@ -2565,6 +2569,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 12,,ndis.sys 12,,tdi.sys 12,,winebus.sys +12,,winehid.sys ; skip .NET fake dlls in Wine Mono package 11,,aspnet_regiis.exe,- 11,,ngen.exe,- @@ -3190,6 +3195,15 @@ ServiceType=1 StartType=3 ErrorControl=1 +[WineHIDService] +Description="Wine HID Minidriver" +DisplayName="Wine HID" +ServiceBinary="%12%\winehid.sys" +LoadOrderGroup="WinePlugPlay" +ServiceType=1 +StartType=3 +ErrorControl=1 + [SpoolerService] Description="Loads files to memory for later printing" DisplayName="Print Spooler"