Aric Stewart : hidclass.sys: Stub to handle IRP_MJ_WRITE on HID devices.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Oct 14 11:12:51 CDT 2015
Module: wine
Branch: master
Commit: a89aa77653dbc0b680029fca51fc120c90f291d7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a89aa77653dbc0b680029fca51fc120c90f291d7
Author: Aric Stewart <aric at codeweavers.com>
Date: Thu Oct 8 14:34:49 2015 -0500
hidclass.sys: Stub to handle IRP_MJ_WRITE on HID devices.
Signed-off-by: Aric Stewart <aric at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 358e950..f2f5f06 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 1c1eaf3..1fccc5b 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 4be4409..b124218 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;
More information about the wine-cvs
mailing list