delorie.com/djgpp/faq/lowlevel/int24.html   search  
How do I deal with disk errors and int 0x24?

[Charles Sandmann answers...]

Under DPMI, Int 24h is always hooked by the DPMI provider, since it is not valid to terminate a DPMI program from real mode. The default behavior under all DPMI providers is to set AL=3 and iret, failing the DOS call.

The user may hook PM Int 24h to receive notification of these events, but must always IRET from the call. You may not transfer control from the interrupt procedure. AL value of 2 on return is not legal and is converted to AL=3. AH, BP:SI, DI are set by DPMI to valid values (BP is a PM selector).

The current beta of CWSDPMI does not support PM int 24h - if you set the interrupt it will not be called. This will get fixed someday if someone complains (it is quite a bit of custom code which I have not felt like writing and bloating the footprint).


  prev next   webmaster     delorie software   privacy  
  Copyright © 1995     Updated May 1995