目前我正在编写一个 C# COM 服务器,它将被 C++ 客户端使用。当 C# 代码中引发特定异常时,我想向 C++ 代码返回某个 HRESULT,如下所示
// 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();
我希望我从 C++ 代码中得到的“hr”是我在 C# 代码中分配的 int,但是我没有得到 HRRESULT,而是在 C++ 代码中得到了异常。
我做错什么了吗?请帮忙..谢谢