用C#调用C++封装好dll,这个动态库的方法如下:long GetImageData( LPCTSTR i_strImageID, long i_nPhysicalX, float i_fMag,
long o_nPhysicalWidth, long o_nPhysicalHeight, void i_pBuffer, long io_nBufferSize) ,请问对应的C#方法参数如何写?
C++
extern "C"__declspec(dllexport)
void GetImageData(char*strImageID,int i_nPhysicalX, float i_fMag, int o_nPhysicalWidth,
int o_nPhysicalHeight, ushort* i_pBuffer, int* io_nBufferSize)
c#
[DllImport("xxxxx.dll",EntryPoint="GetImageData")]
public static unsafe extern void GetImageData(char*strImageID,int i_nPhysicalX, float i_fMag, int o_nPhysicalWidth,
int o_nPhysicalHeight, ushort* i_pBuffer, int* io_nBufferSize)
c#中
string strImageID_ptr="A0001"
char*strImageID = (char*)Marshal.StringToCoTaskMemAnsi(strImageID_ptr)
ushort[,] i_pBuffer_t=new double[10,10]
ushort* i_pBuffer =&i_pBuffer_t[0,0]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。