Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!fauern!lan!rommel From: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Newsgroups: comp.windows.ms.programmer Subject: Re: Windows and Interrupts Message-ID: <5958@tuminfo1.lan.informatik.tu-muenchen.dbp.de> Date: 7 Dec 90 13:13:29 GMT References: <1459@msa3b.UUCP> Sender: news@lan.informatik.tu-muenchen.dbp.de Reply-To: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Organization: Inst. fuer Informatik, TU Muenchen, Germany Lines: 28 In article <1459@msa3b.UUCP> kevin@msa3b.UUCP (Kevin P. Kleinfelter) writes: >I have an XXXXX.SYS driver, which my application communicates >with via an interrupt vector. This works just fine under plain >DOS. Although I don't mind reworking the .SYS driver, I'd like >to come up with a driver that I could access from BOTH plain DOS >and Windows programs. >Any suggestions or pointers? Use INT 2F for communication between (Windows) programs and any TSR or device driver that handles that interrupt. I use it and it is safe to use. Be shure that you write your TSR/dev.driver in a way that it passes calls that it cannot handle to the previous INT 2F address. See DOS tech. ref. for details of AX register contents. You can only pass data in registers when calling INT 2F in protected mode from within a windows program, not addresses as they become invalid because the machine is switched to real mode before the INT 2F handler is called by Windows. You can use memory allocated with GlobalDosAlloc() to communicate with larger amounts of data to the TSR/driver. Kai Uwe Rommel -- /* Kai Uwe Rommel * Munich * rommel@lan.informatik.tu-muenchen.dbp.de */