找回密码
 加入
搜索
查看: 2375|回复: 5

vc中的typedef结构在autoit的表达

[复制链接]
发表于 2009-4-6 00:03:10 | 显示全部楼层 |阅读模式
示例:
typedef struct _MIB_IFROW {
  WCHAR wszName[MAX_INTERFACE_NAME_LEN];
  DWORD dwIndex;
  DWORD dwType;
  DWORD dwMtu;
  DWORD dwSpeed;
  DWORD dwPhysAddrLen;
  BYTE  bPhysAddr[MAXLEN_PHYSADDR];
  DWORD dwAdminStatus;
  DWORD dwOperStatus;
  DWORD dwLastChange;
  DWORD dwInOctets;
  DWORD dwInUcastPkts;
  DWORD dwInNUcastPkts;
  DWORD dwInDiscards;
  DWORD dwInErrors;
  DWORD dwInUnknownProtos;
  DWORD dwOutOctets;
  DWORD dwOutUcastPkts;
  DWORD dwOutNUcastPkts;
  DWORD dwOutDiscards;
  DWORD dwOutErrors;
  DWORD dwOutQLen;
  DWORD dwDescrLen;
  BYTE  bDescr[MAXLEN_IFDESCR];
} MIB_IFROW, *PMIB_IFROW;
在autoit中表达为:
DllStructCreate("short[256];dword;dword;dword;dword;dword;char[8];dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;char[256]")

分界线====================================
问题:
typedef struct _MIB_IFTABLE {
  DWORD     dwNumEntries;
  MIB_IFROW table[ANY_SIZE];
} MIB_IFTABLE, *PMIB_IFTABLE;
在autoit中又该怎么表达?
 楼主| 发表于 2009-4-6 03:01:00 | 显示全部楼层
顶上,相关UDF已发至UDF版块
http://www.autoitx.com/forum.php ... &extra=page%3D1
发表于 2009-4-6 09:23:33 | 显示全部楼层
dword;wchar[256];dword[5];byte[8];dword[16];char[256]

第一个dword对应结构中的dwNumEntries,余下的代表结构MIB_IFROW,可以是任意大小,这取决于你电脑中网卡的数量,但成员的类型不能变。

[ 本帖最后由 pusofalse 于 2009-4-6 09:39 编辑 ]
 楼主| 发表于 2009-4-6 18:15:55 | 显示全部楼层
问题是我正是要通过此函数来获取网卡的数量,又怎么可能会知道呢?
发表于 2009-4-7 03:03:45 | 显示全部楼层

回复 1# ceoguang 的帖子

MIB_IFROW 是一个数据结构,数据结构包含一个数据结构的话,类型请用ptr (指针)
参考:
http://msdn.microsoft.com/en-us/library/aa366836(VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa366842(VS.85).aspx

table
An array of MIB_IFROW structures containing interface entries
 楼主| 发表于 2009-4-7 04:49:21 | 显示全部楼层
回楼上,上面两个链接早已看过,只是不知在autoit中怎么表达.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 09:17 , Processed in 0.074368 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表