mirror of
https://github.com/reactos/reactos.git
synced 2024-09-27 21:16:34 +00:00
[PARPORT]
- Add support for IRP_MJ_READ. - IRP_MJ_READ and IRP_MJ_WRITE return STATUS_NOT_SUPPORTED for FDO devices. svn path=/trunk/; revision=68588
This commit is contained in:
parent
5c15cde76e
commit
9d780c6b0b
|
@ -471,6 +471,20 @@ FdoCleanup(IN PDEVICE_OBJECT DeviceObject,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FdoRead(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp)
|
||||
{
|
||||
DPRINT("FdoRead()\n");
|
||||
|
||||
Irp->IoStatus.Information = 0;
|
||||
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FdoWrite(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
@ -479,9 +493,9 @@ FdoWrite(IN PDEVICE_OBJECT DeviceObject,
|
|||
DPRINT("FdoWrite()\n");
|
||||
|
||||
Irp->IoStatus.Information = 0;
|
||||
Irp->IoStatus.Status = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
return STATUS_SUCCESS;
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -65,6 +65,19 @@ DispatchCleanup(IN PDEVICE_OBJECT DeviceObject,
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DispatchRead(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp)
|
||||
{
|
||||
if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
|
||||
return FdoRead(DeviceObject, Irp);
|
||||
else
|
||||
return PdoRead(DeviceObject, Irp);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -122,7 +135,7 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
|
|||
DriverObject->MajorFunction[IRP_MJ_CREATE] = DispatchCreate;
|
||||
DriverObject->MajorFunction[IRP_MJ_CLOSE] = DispatchClose;
|
||||
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = DispatchCleanup;
|
||||
// DriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;
|
||||
DriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;
|
||||
DriverObject->MajorFunction[IRP_MJ_WRITE] = DispatchWrite;
|
||||
// DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchDeviceControl;
|
||||
// DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = DispatchQueryInformation;
|
||||
|
|
|
@ -86,6 +86,11 @@ NTAPI
|
|||
FdoCleanup(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FdoRead(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FdoWrite(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
@ -133,6 +138,11 @@ NTAPI
|
|||
PdoCleanup(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PdoRead(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PdoWrite(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
|
|
@ -76,6 +76,20 @@ PdoCleanup(IN PDEVICE_OBJECT DeviceObject,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PdoRead(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp)
|
||||
{
|
||||
DPRINT("PdoRead()\n");
|
||||
|
||||
Irp->IoStatus.Information = 0;
|
||||
Irp->IoStatus.Status = STATUS_SUCCESS;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PdoWrite(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
|
Loading…
Reference in a new issue