在.net 中调 一个VC的Com DLL
要指定一个回调函数,现在在Com中的实现是把回调函数的指针做成了Long类型。
但是在.net中函数指针是一个委托。
怎样才能把.net中的委托类型传给com 方法的long类型?
或者如果改Com方法中函数指针的类型能解决问题也可以。万分感谢注:在Com中用的是导出类而不是普通DLL中的导出函数的方式,方法也是类的成员函数
要指定一个回调函数,现在在Com中的实现是把回调函数的指针做成了Long类型。
但是在.net中函数指针是一个委托。
怎样才能把.net中的委托类型传给com 方法的long类型?
或者如果改Com方法中函数指针的类型能解决问题也可以。万分感谢注:在Com中用的是导出类而不是普通DLL中的导出函数的方式,方法也是类的成员函数
interface MarshalObject {
void SetVariant(Object o);
void SetVariantRef(ref Object o);
Object GetVariant();
void SetIDispatch ([MarshalAs(UnmanagedType.IDispatch)]Object o);
void SetIDispatchRef([MarshalAs(UnmanagedType.IDispatch)]ref Object o);
[MarshalAs(UnmanagedType.IDispatch)] Object GetIDispatch();
void SetIUnknown ([MarshalAs(UnmanagedType.IUnknown)]Object o);
void SetIUnknownRef([MarshalAs(UnmanagedType.IUnknown)]ref Object o);
[MarshalAs(UnmanagedType.IUnknown)] Object GetIUnknown();
}
我怎样去实现?谢谢了。
怎样把委托类型转化为byte[]?