From a89aa77653dbc0b680029fca51fc120c90f291d7 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Thu, 8 Oct 2015 14:34:49 -0500 Subject: [PATCH] hidclass.sys: Stub to handle IRP_MJ_WRITE on HID devices. Signed-off-by: Aric Stewart Signed-off-by: Alexandre Julliard --- dlls/hidclass.sys/device.c | 15 +++++++++++++++ dlls/hidclass.sys/hid.h | 1 + dlls/hidclass.sys/main.c | 1 + 3 files changed, 17 insertions(+) diff --git a/dlls/hidclass.sys/device.c b/dlls/hidclass.sys/device.c index 358e950605a..f2f5f065fcd 100644 --- a/dlls/hidclass.sys/device.c +++ b/dlls/hidclass.sys/device.c @@ -571,6 +571,21 @@ NTSTATUS WINAPI HID_Device_read(DEVICE_OBJECT *device, IRP *irp) return rc; } +NTSTATUS WINAPI HID_Device_write(DEVICE_OBJECT *device, IRP *irp) +{ + IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation( irp ); + + irp->IoStatus.Information = 0; + + TRACE("Buffer length %i\n", irpsp->Parameters.Write.Length); + + FIXME("device %p\n", device); + + irp->IoStatus.u.Status = STATUS_SUCCESS; + IoCompleteRequest( irp, IO_NO_INCREMENT ); + return STATUS_SUCCESS; +} + NTSTATUS WINAPI HID_Device_create(DEVICE_OBJECT *device, IRP *irp) { BASE_DEVICE_EXTENSION *ext = device->DeviceExtension; diff --git a/dlls/hidclass.sys/hid.h b/dlls/hidclass.sys/hid.h index 1c1eaf310d6..1fccc5b6043 100644 --- a/dlls/hidclass.sys/hid.h +++ b/dlls/hidclass.sys/hid.h @@ -86,6 +86,7 @@ void HID_StartDeviceThread(DEVICE_OBJECT *device) DECLSPEC_HIDDEN; NTSTATUS WINAPI HID_Device_ioctl(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN; NTSTATUS WINAPI HID_Device_read(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN; +NTSTATUS WINAPI HID_Device_write(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN; NTSTATUS WINAPI HID_Device_create(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN; NTSTATUS WINAPI HID_Device_close(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN; diff --git a/dlls/hidclass.sys/main.c b/dlls/hidclass.sys/main.c index 4be4409e558..b124218f82e 100644 --- a/dlls/hidclass.sys/main.c +++ b/dlls/hidclass.sys/main.c @@ -70,6 +70,7 @@ NTSTATUS WINAPI HidRegisterMinidriver(HID_MINIDRIVER_REGISTRATION *registration) registration->DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = HID_Device_ioctl; registration->DriverObject->MajorFunction[IRP_MJ_READ] = HID_Device_read; + registration->DriverObject->MajorFunction[IRP_MJ_WRITE] = HID_Device_write; registration->DriverObject->MajorFunction[IRP_MJ_CREATE] = HID_Device_create; registration->DriverObject->MajorFunction[IRP_MJ_CLOSE] = HID_Device_close; -- 2.11.4.GIT