Set the readed size within the irp.

svn path=/trunk/; revision=14883
This commit is contained in:
Hartmut Birr 2005-04-30 17:37:11 +00:00
parent f04a0c4e50
commit d7ea77e414

View file

@ -457,7 +457,6 @@ KbdDpcRoutine(PKDPC Dpc,
DPRINT("KbdDpcRoutine(DeviceObject %x, Irp %x)\n", DPRINT("KbdDpcRoutine(DeviceObject %x, Irp %x)\n",
DeviceObject,Irp); DeviceObject,Irp);
Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp,IO_NO_INCREMENT); IoCompleteRequest(Irp,IO_NO_INCREMENT);
IoStartNextPacket(DeviceObject,FALSE); IoStartNextPacket(DeviceObject,FALSE);
} }
@ -594,6 +593,7 @@ KeyboardHandler(PKINTERRUPT Interrupt,
{ {
PDEVICE_OBJECT DeviceObject = (PDEVICE_OBJECT) Context; PDEVICE_OBJECT DeviceObject = (PDEVICE_OBJECT) Context;
KeInsertQueueDpc(&KbdDpc,DeviceObject,CurrentIrp); KeInsertQueueDpc(&KbdDpc,DeviceObject,CurrentIrp);
CurrentIrp->IoStatus.Information = KeysRead * sizeof(KEY_EVENT_RECORD);
CurrentIrp=NULL; CurrentIrp=NULL;
} }
CHECKPOINT; CHECKPOINT;
@ -721,6 +721,7 @@ KbdSynchronizeRoutine(PVOID Context)
} }
if ((stk->Parameters.Read.Length/sizeof(KEY_EVENT_RECORD))==NrToRead) if ((stk->Parameters.Read.Length/sizeof(KEY_EVENT_RECORD))==NrToRead)
{ {
Irp->IoStatus.Information = stk->Parameters.Read.Length;
return(TRUE); return(TRUE);
} }
@ -743,7 +744,6 @@ VOID STDCALL KbdStartIo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
KIRQL oldIrql; KIRQL oldIrql;
Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp, IO_NO_INCREMENT); IoCompleteRequest(Irp, IO_NO_INCREMENT);
oldIrql = KeGetCurrentIrql(); oldIrql = KeGetCurrentIrql();
if (oldIrql < DISPATCH_LEVEL) if (oldIrql < DISPATCH_LEVEL)