home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / mswindo / programm / misc / 1059 < prev    next >
Encoding:
Internet Message Format  |  1992-07-28  |  2.5 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!mips!swrinde!cs.utexas.edu!sun-barr!olivea!veritas!amdcad!dvorak.amd.com!proton!richard
  2. From: richard@proton.amd.com (Richard Relph)
  3. Newsgroups: comp.os.ms-windows.programmer.misc
  4. Subject: Start TSR from Windows
  5. Message-ID: <1992Jul28.200502.15818@dvorak.amd.com>
  6. Date: 28 Jul 92 20:05:02 GMT
  7. Sender: usenet@dvorak.amd.com (Usenet News)
  8. Organization: Advanced Micro Devices, Austin TX.
  9. Lines: 33
  10.  
  11. We have a system of programs running under DOS that exist in basically a
  12. master/slave relationship. When the master starts, if no slave is already
  13. present, it will start one. Slaves, then, are TSRs. Masters locate slaves
  14. via a search of some interrupt vectors and the memory they point at. We
  15. now want to use the existing slaves with Windows applications as masters.
  16. Masters simply call through real-mode far pointers that are in a table
  17. pointed to by an interrupt vector. No software interrupts are necessary.
  18. In the DOS world, of course, both slaves and masters appear to be real-
  19. mode programs. I say appear, because we do have some slaves that are 386
  20. protected mode executables - but even those use the real-mode interfaces.
  21. In the case where a slave is started by a master, the slave is killed
  22. before the master exits in order to reduce memory fragmentation.
  23. Here are our questions:
  24. 1) How can the Windows program get a real-mode pointer to some memory
  25.    so that it can pass it to the slave?
  26. 2) How can the Windows program start the slave if the slave was not
  27.    started before Windows? I think this is easier in 286 mode than in
  28.    386 mode, since 286 mode transistions to non-windows apps actually
  29.    return to true real-mode. But 386 mode creates virtual machines for
  30.    the non-windows app. How does the manipulation of the interrupt
  31.    vector table by the VM affect the vector table windows uses? How can
  32.    the master specify to the "call a real-mode function" which VM the
  33.    function lives in? My guess is that these things don't work and that
  34.    I have to figure out how to make the slave's VM be the "real" machine
  35.    underlying the invocation of Windows. Is that right?
  36. 3) For those slaves that are 386 protected mode executables, we assume
  37.    that if the package we use supports DPMI environments that we will
  38.    have no real problems. If the slave starts before windows, however,
  39.    how will it know to use DPMI instead of VCPI, for example? Even if
  40.    we do get the slave to use DPMI, will it work when Windows takes
  41.    over DPMI servicing?
  42. Thanks in advance for the help.
  43. Richard Relph
  44.