AnsweredAssumed Answered

vrf Crash at Direct I/O

Question asked by VRFuser on Feb 20, 2006
Latest reply on Feb 20, 2006 by VRFuser
> Do you have any ideas for dealing
> with driver failure?

Seeing as how you're using MS's serial driver, nope. There *is* some kind of goofy interaction between VEE & the serial driver. Otherwise we wouldn't see the kinds of problems we do with RS-232 (IOW, it's not hard to cause the driver to get messed up - constant redefinition of buffer size will do it). These are probably localized in IO Libs. I think I do remember that some of these issues have been cleaned up lately. Specifically, the phony 811 error - I think.

There are at least two other options (besides rebooting): You can use the MS Comm control to do IO instead of Direct IO transactions. I use the IO control fairly regularly and I've never experienced any problems with it. There are also a variety of other serial controls you can use as well though I've never had the need for anything more than that provided by MS.

Another option, though not very desirable in VEE, is to use the serial API directly. It's not pretty, but it's doable. I've never experienced any problems with this method either, though it is much more difficult than using the control (no matter what language you're using).

There may be other options (like using a replacement serial driver for instance), but anything along that line may require abandoning Direct IO transactions too.

When you use Direct IO, you're going: VEE->IO Libs->API->driver->API->IO Libs->VEE. There are even some layers within this general structure. I usually say the best bet to fix problems in this case is to start peeling away some layers.