急求!c++调用c#生成的COM库,传递自定义结构体的有关问题

急求!!c++调用c#生成的COM库,传递自定义结构体的问题
由于工作需要,需要通过C++程序去调用C#的COM库

在研究如何获取C#返回的结构体给c++程序使用的时候碰到这个问题

在c#COM库中我定义了一个void Test(IntPtr ptr);的函数

然后在C++中我调用这个接口:

struct ParamKsInfo_Struct{...};
//.h文件
void GetStruct(ParamKsInfo_Struct *pKsbaseInfo);
//.cpp文件
void CXX::GetStruct(ParamKsInfo_Struct *pKsbaseInfo)
{
      m_DbPtr->Test(pKsbaseInfo);//这里出错
}


但我编译的时候提示这个错误:
cannot convert parameter 1 from 'ParamKsInfo_Struct *' to 'long'

请问这个问题应该怎么解决????急求
------解决思路----------------------
HandleToLong

但是建议处理好非托管内存和托管内存的关系。
其实你可以直接定义 C++版本的 Test 为 ParamKsInfo_Struct * 参数。