报告来自管道组件的错误
管道组件用两种方式报告错误:
对于基于 .NET 的组件,通过引发异常。
对于基于 COM 的组件,通过设置 ErrorInfo 对象并返回失败的 HRESULT。
报告来自 .NET 管道组件的错误
若要报告某一错误,基于 .NET 的管道组件需要引发一个异常,以便报告错误说明。 若要报告引发错误的组件的名称,请设置 Exception 对象的 Source 属性。
消息引擎使用 Exception 对象的 Message 和 Source 属性来报告错误。 下面的消息将写入事件日志:
“执行 [receive|send] 管道失败: <管道名称> 源: <源> [接收位置|Send Port:] <location|port name> 原因: <Message>.”
报告来自 COM 管道组件的错误
若要报告某一错误,基于 COM 的管道组件快执行以下操作:
管道组件通过调用 SetErrorInfo 方法设置 IErrorInfo 对象。
管道组件将失败的 HRESULT 返回到消息引擎。
消息引擎使用 IErrorInfo 对象的 GetSource 和 GetDescription 属性来报告错误。 如果未设置源,则使用该组件的名称。 如果未设置说明或未设置整个 ErrorInfo 对象,则报告返回的 HRESULT 而不是说明。 下面的消息将写入事件日志:
“执行 [receive|send] 管道失败: <管道名称> Source: <GetSource> [接收位置|Send Port:] <location|port name> 原因: <GetDescription 或 HRESULT>。”