INT 21,5D - Critical Error Information (Undocumented, DOS 3.x+)
See second reference below for more information about this interrupt
information presented here is incomplete
AH = 5D
AL = 00 server function call (DOS 3.1+)
= 01 commit all files (DOS 3.1+)
= 02 SHARE: close file by name (DOS 3.1+)
= 03 SHARE: close all files for given computer (DOS 3.1+)
= 04 SHARE: close all files for given process (DOS 3.1+)
= 05 SHARE: get open file list entry (DOS 3.1+)
= 06 get address of DOS swappable area into DS:SI (DOS 3.0+)
= 07 get network redirected printer mode (DOS 3.1+)
= 08 set network redirected printer mode (DOS 3.1+)
= 09 flush network redirected printer output (DOS 3.1+)
= 0A set extended error information (DOS 3.1+)
= 0B get DOS swappable data areas (DOS 4.x+)
DS:DX = pointer to 18 byte DOS Parameter List (DPL, if AL=00)
= pointer to 9 byte data block of the form (AL=0A):
Offset Size Description
00 word extended error code to set
02 dword pointer to driver address to set
06 byte action code to set
07 byte class code to set
08 byte locus code to set
on return:
DS:SI = (if AL was 6) address of critical flag of the form:
Offset Size Description
00 word extended error code
02 byte action code
03 byte class code
04 byte pointer to driver address
- function 0 copies 18 bytes from DS:SI to the DOS internal
register-save area; this data will be placed in the registers
when DOS returns to the caller thereby circumventing the DOS
register save logic
- may be used by a TSR to prevent accidental changing of an error
code and causing problems in the foreground process
- see bibliography references for "Undocumented DOS" and "DOS
Programmers Reference"
- see INT 21,59