FormatMessage() works for error codes returned with GetLastError(). In this case we are attempting to have FormatMessage() process an exception code returned via GetExitCodeProcess().
In the majority of cases running the exit code through FormatMessage() is harmless, but it potentially provided application developers looking through the ops portal more information about the error condition if they were just 'returning' whatever error code was returned by whatever API that failed on that machine. Currently we special case STATUS_DLL_INIT_FAILED, we could just special case STATUS_DLL_NOT_FOUND (0xc0000135) to include a more useful error message even though it is an exceptional case. ----- Rom -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Jon Sonntag Sent: Friday, August 10, 2012 4:29 PM To: [email protected] Subject: Re: [boinc_dev] Error Messages FormatMessage is the method you are looking for and is documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v=vs.85).aspx Jon Sonntag > -----Original Message----- > From: [email protected] [mailto:boinc_dev- > [email protected]] On Behalf Of Rom Walton > Sent: Friday, August 10, 2012 2:02 PM > To: David Anderson (BOINC) > Cc: [email protected] > Subject: Re: [boinc_dev] Error Messages > > I'm looking, but so far I haven't found anything. > > The majority case is that an app defines its own exit code meanings though. > > ----- Rom > > -----Original Message----- > From: David Anderson [mailto:[email protected]] > Sent: Friday, August 10, 2012 2:55 PM > To: Rom Walton > Cc: [email protected] > Subject: Re: [boinc_dev] Error Messages > > OK, then we're using it incorrectly. > > Is there a function that maps exit codes to explanation strings? > > On 10-Aug-2012 11:54 AM, Rom Walton wrote: > > We are using FormatMessage correctly. However, the code we are > > passing it is not a value we get from GetLastError(), we are passing > > it a value being returned from GetExitCodeProcess(). > > > > ----- Rom > > > > -----Original Message----- From: David Anderson > > [mailto:[email protected]] Sent: Friday, August 10, 2012 2:30 PM To: > > [email protected]; Rom Walton Subject: Re: [boinc_dev] > > Error Messages > > > > Windows supplies a function for converting numeric error codes to > > human-readable strings: FormatMessage(): > > http://msdn.microsoft.com/en- > us/library/windows/desktop/ms679351%28v=v > > s.85%29.aspx > > > > BOINC calls this when appropriate and shows the result. In this > > case it seems to be return an empty string for 0xc0000135. Rom, can > > you verify that we're calling FormatMessage() correctly? > > > > -- David > > > > On 09-Aug-2012 8:22 AM, Nicolás Alvarez wrote: > > > >> 0xc0000135 is a Windows error code, not a BOINC error code. That > >> number is the only information BOINC receives from Windows, so it'd > >> be hard for it to tell the user "what exactly is wrong and how to fix it". > >> > > > _______________________________________________ > boinc_dev mailing list > [email protected] > http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev > To unsubscribe, visit the above URL and (near bottom of page) enter > your email address. _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address. _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
