检索错误信息
使用 COM 错误处理接口和函数,可以检索错误信息,如下所示:
- 检查返回的值是否表示对象准备处理的错误。
- 调用 QueryInterface 以获取指向 ISupportErrorInfo 接口的指针。 然后调用 ISupportErrorInfo::InterfaceSupportsErrorInfo,以验证返回该错误的对象是否引发错误,以及错误对象是否与当前错误有关,而不是以前的调用。
- 若要获取指向错误对象的指针,请调用 GetErrorInfo 函数。
- 若要从错误对象中检索信息,请使用 IErrorInfo 方法。
如果对象未准备好处理错误,但需要将错误信息进一步传播到调用链中,则它应将返回值传递给调用方。 由于 GetErrorInfo 函数清除错误信息并将错误对象的所有权传递给调用方,因此该函数应仅由处理错误的对象调用。