C++写的结构在C#中怎么声明

问题描述

C++:有这样一个结构:typedefstruct_Event{BYTECode;//eventcodeBYTEDotID;//controllercomponentIDWORDreserved;//reservedSYSTEMTIMETime;//eventtime_Event*pNext;//pointernextevent;}TEvent,*PEvent;函数:intNT_GetEvent(unsignedlongLineID,BYTECtrlID,BYTE*Bagid,BYTE*EventCount,TEvent*lpEvent);

我现在想在C#中调用这样的结构,我该怎么写啊,麻烦大家指教指教#¥,下面是我自己写的,但有问题,只能读到且只能读一条记录(如设备有1个事件,可以正常使用,但如果有2个或2个以上事件就读不出来)[StructLayout(LayoutKind.Sequential)]//[SerializableAttribute]//[ComVisibleAttribute(true)]unsafepublicstructPEvent{publicbyteCode;publicbyteDotID;publicushortreserved;publicTimeTime;publicIntPtrpNext;}函数:[DllImport("TC3XY.dll")]publicstaticexternintNT_GetEvent(ushortLineID,shortCtrlID,refshortBagid,refshortEventCount,refPEventlpEvent);//获取设备事件

解决方案

解决方案二:

该回复于2008-06-12 16:22:45被版主删除
解决方案三:

由谁来分配内存,是调用者,还是被调用者。
解决方案四:

由被调用者来分配分配好以后当成一个参数给函数调用不知道我这样说对不对我认为是这样
解决方案五:

我觉得关键是结构里面的_Event*pNext;//pointernextevent;成员在C#定义有问题但不知道怎么弄
解决方案六:

关注+学习!!帮你顶!!
解决方案七:

用C++不是很好呀,C#的互操作是一种忽攸
解决方案八:

现在项目需要用C#做

时间: 2024-08-30 16:33:18

C++写的结构在C#中怎么声明的相关文章

C++写的动态库中的结构在C#中怎么声明(2)

问题描述 C++:有这样一个结构:typedefstruct_Event{BYTECode;//eventcodeBYTEDotID;//controllercomponentIDWORDreserved;//reservedSYSTEMTIMETime;//eventtime_Event*pNext;//pointernextevent;}TEvent,*PEvent;函数:intNT_GetEvent(unsignedlongLineID,BYTECtrlID,BYTE*Bagid,BYTE

C++写的动态库中的结构在C#中怎么声明

问题描述 小弟现在有一个相同的问题想请教大家c++结构:typedefstruct_Model{charModel[10];//modelcharVersion[6];//version}TModel,*PModel;C++调用:intNT_GetModel(unsignedlongLineID,BYTECtrlID,TModel*rModel); 我现在想在C#中调用,不知道该怎么解决啊,能不能指教小弟一二,呵呵--我这里的问题是:能够正常执行,但返回不了正确的值:我定义的C#结构:[Stru

c语言-冒泡排序可以这样写吗,我只对结构体数组中某一个元素进行排序,然后交换

问题描述 冒泡排序可以这样写吗,我只对结构体数组中某一个元素进行排序,然后交换 struct troop { char name[1]; int a[3]; }tro[4]; void bubblesort(int a, int b, int c) { struct troop temp; int i, j; for (i=a; i { for (j=a+1; j { if (tro[j].a[c] > tro[i].a[c]) { temp = tro[j]; tro[j] = tro[i];

struct-结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化

问题描述 结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化//定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; 解决方案 写一个循环,从txt中读取数据,然后赋值

struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

问题描述 结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗 //定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; //读出文件函数//void read() {FILE *fp;int in;if((fp=fopen(""C:UsersAdminist

delphi 7-delphi7 如何把一个表数据读出来再写到另一个表中

问题描述 delphi7 如何把一个表数据读出来再写到另一个表中 现有一个SQL数据库文件 请问怎么用DELPHI7把里面数据读取出来再写入另外一个表中. 数据库结构为: 学校名 学号 姓名 考号 ...... 一中 1 啊啊 1 二中 2 问问 2........以此类推 请问该怎么把数据读取再导入另一个表里面. 解决方案 ???SQL: Create table NAME_TABLE (id number a1 number a2 number a3 number) DElphi: Quer

c++-C++ 6.0按照结构体数组中多个字段的排序

问题描述 C++ 6.0按照结构体数组中多个字段的排序 用系统库函数怎么实现?传函数指针么?但是多个条件没办法传函数指针的,用冒泡排序行么 解决方案 自己写一个比较器,作为参数传给qsort 大概的写法 if (a.字段1 == b.字段1) return a.字段2 - b.字段2; return a.字段1 - b.字段1; 解决方案二: 楼主还不如自己写一个来的好 解决方案三: 在丁一结构体里面定义bool operator <

visualc#+access-数据写不进去access表中,怎么改呢?

问题描述 数据写不进去access表中,怎么改呢? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace 专科医院门

stm32中写关于usart的程序中,如果要使用printf,现在我看到2种方式,

问题描述 stm32中写关于usart的程序中,如果要使用printf,现在我看到2种方式, 一种是用微库,就是在MDK里面打开microlib,程序中添加一个重定义的程序就可以了,另一种是用半主机,这种方式不用打开microlib,半主机不懂事什么意思,他们的区别是什么,