Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自COM组件的自定义HRESULT_C#_C++_Com_Hresult - Fatal编程技术网

C# 来自COM组件的自定义HRESULT

C# 来自COM组件的自定义HRESULT,c#,c++,com,hresult,C#,C++,Com,Hresult,这里介绍了如何创建自定义HRESULT 上述问题的解决方案对于C++本地客户端是很好的,他们可以使用返回的 HESRESU/ 格式消息()/并获取错误字符串,C C和JavaScript客户端怎么办?为了便于讨论,让我们忘记通过PInvoke发送的FormatMessage() e、 g.如果COM函数返回e_ACCESSDENIED,C#客户端将通过精心打包的异常接收它,并带有错误字符串和符号名(e_ACCESSDENIED) System.UnauthorizedAccessExcepti

这里介绍了如何创建自定义
HRESULT

<>上述问题的解决方案对于C++本地客户端是很好的,他们可以使用返回的<代码> HESRESU/<代码> <代码>格式消息()/<代码>并获取错误字符串,C C和JavaScript客户端怎么办?为了便于讨论,让我们忘记通过PInvoke发送的
FormatMessage()

e、 g.如果COM函数返回
e_ACCESSDENIED
,C#客户端将通过精心打包的异常接收它,并带有错误字符串和符号名(
e_ACCESSDENIED

System.UnauthorizedAccessException:访问被拒绝。(HRESULT的异常:0x80070005(E_ACCESSDENIED))

据了解,系统错误代码已映射到.Net异常。 问题是如何返回由编译器生成的、打包在
HRESULT
中的自定义错误代码


MAKE\HRESULT
是答案吗?

检查并实施。另外,您的自定义HRESULT值应该在适当的自定义HRESULT工具中。这就像JavaScript的魅力一样,但C#仍然不能生成漂亮的消息。对不起,我从15年前就没有直接使用过这种东西。否则,您的描述可能会触发一些“啊哈,这就是它所说的”识别电路:(说它应该可以工作……在C#中也可以工作,CLR总是查询ISupportErrorInfo。你可以看到它正在运行。你一定是做错了,我们看不到你做错了。检查并实现。此外,你的自定义HRESULT值应该在适当的自定义HRESULT设施中。这对JavaScript来说很有吸引力,但是C#仍然不能产生漂亮的信息。对不起,我从15年前就没有直接接触过这种东西。否则你的描述可能会触发一些“啊哈,这就是它的意义”的识别电路(说它应该可以工作……在C#中也可以工作,CLR总是查询ISupportErrorInfo。你可以看到它正在运行。你一定是做错了,我们看不到你做错了。检查并实现。此外,你的自定义HRESULT值应该在适当的自定义HRESULT设施中。这对JavaScript来说很有吸引力,但是C#仍然不能产生漂亮的信息。对不起,我从15年前就没有直接接触过这种东西。否则你的描述可能会触发一些“啊哈,这就是它的意义”的识别电路(说它应该可以工作……在C#中也可以工作,CLR总是查询ISupportErrorInfo。你可以看到它正在运行。你一定是做错了,我们看不到你做错了。