C#Com Interop DLL异常捕获-抛出

时间:2019-05-14 09:54:37

标签: com

我正在用c#编写COM接口dll,我希望它可用于以c ++和java编写的其他应用程序中。

这是我第一次尝试用C#编写COM接口dll。

例如,我的问题是有人试图用错误的参数调用我的函数。我应该只抛出一个简单的.net异常吗?

我正试图从另一个像这样的简单c ++应用程序使用com接口,但我没有任何问题。

#import "xxx.tlb"
#include <objbase.h>
#include "pch.h"
#include <iostream>

using namespace ...;

int main()
{
 CoInitialize(0);  //Initialize all COM Components
 MyComApi::MyComApiInterfacePtr myPtr;

 HRESULT hRes =
   myPtr.CreateInstance(__uidof(MyComApi::MyClass));

if (hRes == S_OK)
{
     bool test = myPtr->myTestFunction(0,5,6);
}
CoUninitialize();
}

如果myTestFunction中引发了.net异常,我该如何捕获异常和异常消息?

0 个答案:

没有答案