Как вернуть HRESULT из C# в C++ вместо создания исключений?
В настоящее время я пишу C# COM-сервер, который будет использоваться клиентом C++. Я хочу вернуть определенный HRESULT в код C++, когда в коде 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();
Я ожидаю, что "hr", который я получил из своего кода C++, - это int, присвоенный в моем коде C#, однако вместо получения HRRESULT я все же получил исключение в коде C++.
Я сделал что-то не так? пожалуйста помогите.. спасибо
1 ответ
Решение
Чтобы вернуть HRESULTS, вам нужно бросить COMException
не просто исключение.