[PORTCLS]

- Return status code of operation
- Cancel all irps when pin state is set to stop. Fixes ReactOS portcls regression under WindowsXP
- Handle IRP_MN_READ_CONFIG

svn path=/trunk/; revision=44758
This commit is contained in:
Johannes Anderwald 2009-12-25 12:24:42 +00:00
parent 122dbfc23f
commit 1015293df7
2 changed files with 9 additions and 1 deletions

View file

@ -141,6 +141,10 @@ PortClsPnp(
DPRINT("IRP_MN_QUERY_RESOURCE_REQUIREMENTS\n");
Status = PcForwardIrpSynchronous(DeviceObject, Irp);
return PcCompleteIrp(DeviceObject, Irp, Status);
case IRP_MN_READ_CONFIG:
DPRINT("IRP_MN_READ_CONFIG\n");
Status = PcForwardIrpSynchronous(DeviceObject, Irp);
return PcCompleteIrp(DeviceObject, Irp, Status);
}
DPRINT("unhandled function %u\n", IoStack->MinorFunction);

View file

@ -451,9 +451,14 @@ PinWaveCyclicState(
// complete with successful state
Pin->m_IrpQueue->CancelBuffers();
}
else if (Pin->m_State == KSSTATE_STOP)
{
Pin->m_IrpQueue->CancelBuffers();
}
// store result
Irp->IoStatus.Information = sizeof(KSSTATE);
}
return Status;
}
else if (Request->Flags & KSPROPERTY_TYPE_GET)
{
@ -848,7 +853,6 @@ CPortPinWaveCyclic::DeviceIoControl(
}
else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_RESET_STATE)
{
/// FIXME
Status = KsAcquireResetValue(Irp, &ResetValue);
DPRINT("Status %x Value %u\n", Status, ResetValue);
/* check for success */