At the COM level, Microsoft® Repository interface members return an HRESULT return value that indicates whether or not the method completed successfully. If a Repository interface member fails to complete successfully, an error object that contains details about the failure is created.
Each instance of the Repository class maintains one Repository error queue. When an error is generated by a Repository interface member, it is added to the error queue. If multiple errors occur as a result of a single member invocation, all of the errors are added to the error queue.
The Repository error queue is a transient object; that is, the contents of the queue are valid only immediately after an error has occurred. Subsequent interactions with any Repository objects will automatically clear the error queue.