[ros-diffs] [janderwald] 44758: [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
janderwald at svn.reactos.org
janderwald at svn.reactos.org
Fri Dec 25 13:24:43 CET 2009
Author: janderwald
Date: Fri Dec 25 13:24:42 2009
New Revision: 44758
URL: http://svn.reactos.org/svn/reactos?rev=44758&view=rev
Log:
[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
Modified:
trunk/reactos/drivers/wdm/audio/backpln/portcls/irp.cpp
trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/irp.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/irp.cpp?rev=44758&r1=44757&r2=44758&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/irp.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/irp.cpp [iso-8859-1] Fri Dec 25 13:24:42 2009
@@ -139,6 +139,10 @@
return PcCompleteIrp(DeviceObject, Irp, Status);
case IRP_MN_QUERY_RESOURCE_REQUIREMENTS:
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);
}
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp?rev=44758&r1=44757&r2=44758&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp [iso-8859-1] Fri Dec 25 13:24:42 2009
@@ -451,9 +451,14 @@
// 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 @@
}
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 */
More information about the Ros-diffs
mailing list