小编wsw*_*wsw的帖子

如何将HRESULT从C#返回到C++而不是抛出异常?

目前我正在编写一个C#COM服务器,它将由C++客户端使用.我想在C#代码中引发特定异常时将某个HRESULT返回给C++代码,如下所示

// C# COM Server Code
public void MyMethod()
{
    try
    {
        //Some Processing 
    }
    catch(CertainException e)
    {
        //I pass in my Own HResult int to the my Custom Exception 
        MyCustomException ex = new MyCustomException(unchecked((int)0xc00491fe)); 
        throw ex;
    }
}

//C++ Code
HRESULT hr = pMyComInstance->MyMethod();
Run Code Online (Sandbox Code Playgroud)

我希望从我的C++代码获得的"hr"是我在C#代码中分配的int,但是我没有获得HRRESULT,而是在C++代码中仍然有例外.

我做错了什么吗?请帮忙..谢谢

.net c# exception com-interop hresult

4
推荐指数
1
解决办法
1615
查看次数

标签 统计

.net ×1

c# ×1

com-interop ×1

exception ×1

hresult ×1