MS RPC运行时中有RpcRaiseException()
函数,用于指示在服务器端或客户端管道回调中的RPC调用期间发生的错误。传递到RpcRaiseError()
的RPC_STATUS将传播到RPC调用的站点。
问题是如何选择RPC_STATUS值?
在管道pull()
回调中说我从IStream*
读取数据并将该数据提供给管道。现在IStream::Read()
返回HRESULT
表示错误,我需要拨打RpcRaiseException()
来中断通话。
我通过什么价值?
答案 0 :(得分:0)
如果您的API可能会失败,为什么不让API返回失败代码作为API的返回值?
如果你想使用RpcRaiseException,异常将被传播为客户端的异常,因此异常代码将显示为客户端RpcExcept处理程序中的RpcExceptionCode。