www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/12/01:55:51

Date: Tue, 12 Nov 1996 08:42:39 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: brien oberstein <brieno AT earthlink DOT net>
Cc: djgpp AT delorie DOT com
Subject: Re: hooking mscdex (int 2f/ah=15) under windows
In-Reply-To: <32866ede.3084452@news.earthlink.net>
Message-Id: <Pine.SUN.3.91.961112083320.1964G-100000@is>
Mime-Version: 1.0

On Mon, 11 Nov 1996, brien oberstein wrote:

> i was wondering if someone could elaborate a little on how windows
> deals with certain interrupts.

Which version of Windows is that?  If that's 3.11 or 95, please tell if 
you have 32-bit File Access enabled.

> i'm trying to hook some mscdex
> functions (int 2fh, ah=15h).  i wrote a 16 bit real mode asm program
> to do it, but the interrupts never reach the handler (specifically I
> tried looking for ax=1500h).

Int 2Fh/AX=1500h is the MSCDEX installation check.  How do you know that 
Windows calls this function?  Maybe it has some other ways of knowing 
that MSCDEX is installed?  Can you elaborate about what you are trying to 
accomplish?

Also, how do you install that ``16 bit real mode asm program'' as the 
handler for Int 2Fh?  Can you present a code fragment which does that?

> so then i read about how hardware
> interrupts are handled in the faq (protected mode handler first, then
> if necessary reflected to real mode) and wrote a djgpp protected mode
> hook, but it doesn't seem to be reached.

This is irrelevant.  Int 2Fh is a *software* interrupt, and so is not 
reflected to PM.  You should only use the real-mode interrupt hook.

> the conclusion that i've drawn is that windows services a fault on the
> (real mode) int 2f/ah=15 request, processes it, and NO interrupt
> handler ever gets called!

You are jumping to conclusions too fast, IMHO.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019