Query the DosError() state

From NikiWiki
Revision as of 12:39, 18 October 2004 by 80.131.42.116 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Found in comp.os.os2.programmer.misc:


SEG:

>>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.