How COM+ Modifies Return Values
COM+ never changes the return value of an HRESULT that indicates failure, such as E_UNEXPECTED or E_FAIL. However, when an object using COM+ functionality returns an HRESULT value indicating success (such as S_OK, S_FALSE, or NOERROR), COM+ sometimes converts the HRESULT into a COM+ error code before it returns to the caller.
For example, when an application returns S_OK after calling IObjectContext::SetComplete, if the object is the root of a transaction that fails to commit, the HRESULT is converted to CONTEXT_E_ABORTED.
When COM+ converts an HRESULT value, it clears all of the method's output parameters. Returned references are released, and the values of the returned object pointers are set to NULL.
Related topics
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for