Jump to content

Query the DosError() state

From EDM2
Revision as of 17:24, 18 July 2017 by Martini (talk | contribs) (Created page with "By SEG. Source: comp.os.os2.programmer.misc: The reason is that there is no way to undo DosError(), since there is no way to query what is the state of error-reporting was w...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

By SEG.

Source: comp.os.os2.programmer.misc:

The reason is that there is no way to undo DosError(), since there is no way to query what is the state of error-reporting was when your function is called.


Umm, not well-documented, but a little poking revealed this (won't work in Warp 3 or Warp 4 prior to FP13):

APIRET APIENTRY DosSysCtl(ULONG func, ULONG p);

        ULONG SavedDosError = 1;
        DosSysCtl((ULONG)27, (ULONG)&SavedDosError);
        DosError(0L);    //FERR_DISABLEHARDERROR
...
        DosError(SavedDosError);

Hope this helps.