Subj : Serial port query
To : Vitus Jensen
From : Darin McBride
Date : Fri Aug 11 2000 01:29 pm
Hello Vitus!
Replying to a message of Vitus Jensen to Darin McBride:
VJ>>> Get OS2UNDOC from hobbes and have a look at the DosQuerySysState
VJ>>> API. It will return infos about all open files of a single or all
VJ>>> processes. There are problems when using it at certain fixpak
VJ>>> levels (older Warp 3 fixpaks).
DM>> Of course! I forgot all about that. I already use that call for a
DM>> number of things, so one more is no biggie. :-) Unfortunately, I
DM>> can't figure out how to trace back from the file to the process(es).
VJ> Use the brute force method? See below.
[...]
VJ> There is this lees-than-optimal solution but why not use it:
VJ> get a list of all running processes via DosQuerySysState
VJ> for every process ID
VJ> get a list of all open files via DosQuerySysState
VJ> for every open file
VJ> check whether filename = COMx
VJ> if identical
VJ> dump process info (DosQuerySysState)
VJ> I don't think it would be too slow to be usable.
Of course - didn't think of that. However, I've found what may work a bit
better, if I can decipher everything. The Warp4.5 toolkit *has*
DosQuerySysState somewhat documented, and some of its structures are a bit
bigger than what OS2UNDOC has. Unfortunately, I don't have that toolkit at
home... :-/