Newsgroups: comp.os.msdos.djgpp Date: Sat, 20 Jul 1996 15:05:42 +0200 (MET DST) From: Mark Habersack cc: djgpp AT delorie DOT com Subject: XMS entry point Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I am writing a set of routines to detect and provide info on various memory-management services. Among all the others there's one to cope with XMS. One of the stages in getting XMS info is to collect the real-mode entry-point address for the XMS services. And here's where problems begin. I succesfuly retrieve this entry point using 0x4310 int 2F call but when I try to call the procedure it hangs the machine. Of course I'm not calling the proc directly but by means of __dpmi_simulate_proc_retf (I don't remember the name right know - they all too long ;-)))) - but it doesn't work. I was unable to check what's going on, even with GDB - it hangs also. As far as I could check, the es:bx pointer returned by 0x4310 2F call is OK. Where lies the problem? Is it allowed to call the XMS services from 32-bit proggy? I have checked that it is not a problem of DPMI server - all of them crash without a blink. The only sensible message I got from the system comes from EMM386 - it says about exception in the software (it doesn't say which one) and that the system has been halted. So it seems that the crash happens AFTER processing the call by DPMI server. Mark /*******************************/ /** So here I am once more... **************************************/ /** When you grown up and leave your playground, where you kissed **/ /** your Prince and found your Frog - remember the Jester that **/ /** showed you tears, a Script for Tears... ************************/ /*********************************************/