home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!stanford.edu!rutgers!cmcl2!panix!rjo
- From: rjo@panix.com (Robert Olivier)
- Newsgroups: comp.os.os2.programmer
- Subject: Virtual Device Driver Problem
- Keywords: Virtual Device Driver
- Message-ID: <1992Sep4.155827.21814@panix.com>
- Date: 4 Sep 92 15:58:27 GMT
- Organization: PANIX Public Access Unix, NYC
- Lines: 31
-
- I'm working on a VDD/PDD pair that will pass IRQ5 interrupts into
- an MS-DOS session for use with a Dialogic DTI board.
-
- Background:
-
- OS/2 provides a VDD with a few virtual dev help functions to simulate
- hardware interrupts to DOS sessions. Two key functions are VDHOpenVIRQ
- and VDHSetVIRR. The former returns a handle to your virtual interrupt
- which must be used in the call to VDHSetVIRR.
-
- The problem that I am having is this: If I include any reference to the
- symbol VDHOpenVIRQ in my code, even though it is never executed, OS/2
- halts the system with an internal processing error. The kernel debugger
- comes up with the cs:eip poining to the address following a call to some
- panic function. If I tell the debugger to continue (go) then the system
- continues initialization and unloads my VDD. However if I run the retail
- kernel, the system is stopped dead in it's tracks.
-
- I believe that the virtual dev help functions are linked in at runtime
- so is there some sort of lock on that function? I have never read about
- locking a function in a DLL and I really don't know what to make of this
- problem.
-
- Any device driver writers out there have an idea?
-
- rjo@panix.com
-
- --
- Robert J. Olivier
-
- rjo@panix.com
-