The only thing that is a bit puzzling for us, is the meaning of errorcodes in UPDATE_STATUS_REPORT. The Article has:
If the return error code is larger than UPDATE_ERROR_CODE::eUNKNOWN it is the HRESULT of a failed function call. To extract the HRESULT subtract UPDATE_ERROR_CODE::eUNKNOWN from the value returned in the error field of the UPDATE_STATUS_REPORT.
The complete list of status and error values can be viewed by inspecting the IUpdateNotify type library embedded in OfficeC2RCom.dll.
This leaves us with an error in the ranges starting somewhere at 30000 and going up. Those can't be resolved by FormatMessage
It does not seem there is a C2R dll that can be used as a messageresource for it, either, as none seems to contain a message table. Inspecting OfficeC2R.dll with Oleviewer didn't yield more information than what we already know.
Unless there is an automated way of getting a readable text, we're in need of a list of errorcodes and their meaning so our application can resolve it in a more meaningful way when a customer runs into an issue.
The logfiles for C2R are very extensive and do hold all of this information in one way or another but that's usually nothing we want to redirect the customers to, given how large these files can be. Additionally we'd like to avoid building such a list ourselfs from tons of logs, if there's a better alternative.