[comp.os.msdos.programmer] Device driver INIT function

ingea@IFI.UIO.NO (Inge Arnesen) (11/05/90)

According to the MS DOS documentation I have, only the lower MS DOS functions
(up to call 0ch) can be called from a device driver function (to prevent
DOS reentrancy).

I have heard roumors that other functions might be called from the INIT
function of a device driver. An author of a QEMM386-like program uses
the Exec function call from the INIT function without problems.

Does anybody know what function I can call from the INIT function in a
device driver?


Inge (BoB)  { ingea@ifi.uio.no }
=========================================================================
==   Inge Arnesen, University of Oslo, Norway.                         ==
==                                                                     ==

david@csource.oz.au (david nugent) (11/07/90)

In <CMM.0.88.657803304.ingea@svarte.ifi.uio.no> ingea@IFI.UIO.NO (Inge Arnesen) writes:

> According to the MS DOS documentation I have, only the lower MS DOS functions
> (up to call 0ch) can be called from a device driver function (to prevent
> DOS reentrancy).

Yes, MS documentation is always "correct" and "complete" (heavy sarcasm!).


> I have heard roumors that other functions might be called from the INIT
> function of a device driver. An author of a QEMM386-like program uses
> the Exec function call from the INIT function without problems.

> Does anybody know what function I can call from the INIT function in a
> device driver?


I've used write handle (40H), get vector (35H), set vector (25H) with no
apparent problems under DOS versions 3.10 and above (I don't support earlier
DOS versions in my software anyway, so that's all I care about).

I guess it's most often a case of "try it and see".  :-)

    - david

-- 

        Fidonet: 3:632/348   SIGnet: 28:4100/1  Imex: 90:833/387
              Data:  +61-3-885-7864   Voice: +61-3-826-6711
 Internet/ACSnet: david@csource.oz.au    Uucp: ..!uunet!munnari!csource!david