Re: IoCancelIrp and TDI
- From: "Maxim S. Shatskih" <maxim@xxxxxxxxxxxxxxxx>
- Date: Thu, 26 Jan 2006 06:09:49 +0300
I don't think that really supporting serial timeouts over the (potentially
slow) Internet link is a good idea. Maybe it is a better idea to fake them.
--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@xxxxxxxxxxxxxxxx
http://www.storagecraft.com
"David G" <DavidG@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:87234349-97C3-4584-B749-B36E03670C1C@xxxxxxxxxxxxxxxx
> I asked for help on 1/18/06 but no one responded. Did I post incorrectly?
> Has anyone used TDI and IoCancelIrp? How would I go about gettin a hold of a
> Microsoft engineer to look at this issue? Here is the post from 1/18/06:
>
> I'm developing on a Windows XP machine using the latest DDK.
>
> Hi, I've written a com port redirector that redirects com port data over the
> internet to a com port device server. I'm testing with Tera Term, a terminal
> application, and when it opens the com port it sends a timeout of 500
> milliseconds. Then I send a large file to the com port via Tera Term. As
> I'm streaming the data over the network, eventually the com port device
> server at the other end of the network cannot process the data as quickly and
> sends a small TCP window size in the the ACK packet. This stalls the writes
> for a while. Since Tera Term requested a timeout of 500 milliseconds, my
> timer expires and I cancel the Write IRP sent from Tera Term. I then call,
> from the timer expiration thread, IoCancelIrp on the Write IRP that was sent
> down to TDI. This causes my completion routine to fire with a Status of
> STATUS_CANCELLED.
>
> Now every IoCallDriver call to TDI gives me an error status of
> STATUS_INVALID_DEVICE_STATE (which is 0xC0000184). A network trace reveals
> that the PC sends an ACK with the RESET flag set in the TCP packet to the Com
> Port Device Server.
>
> Is there anyway to resurrect the TCP session without closing the current
> session down and opening another one?
>
> Thanks!
>
.
- Prev by Date: Re: Accessing C++ application from c - kernel driver mode
- Next by Date: Re: Accessing C++ application from c - kernel driver mode
- Previous by thread: Accessing C++ application from c - kernel driver mode
- Next by thread: Re: IoCancelIrp and TDI
- Index(es):
Relevant Pages
|