首页 新闻 会员 周边 捐助

【求助】 VB.NET 传递 包含数组的结构体指针 参数

0
悬赏园豆:50 [已关闭问题] 关闭于 2012-07-04 17:44

外部的DLL文件,用到一个结构体,如下:

typedef struct _EXT_PACKET2
{
    BYTE ucHeader;
    BYTE ucLen;
    BYTE ucData[18];
    BYTE ucCrc;
}EB_IO_EXT_PACKET2, *PEB_IO_EXT_PACKET2;

有个函数原型如下:

HRESULT USBAdapterExtendSendAndReceive
(EXT_PACKET2* pSendPacket, EXT_PACKET2* pReceivePacket)

在VB.NET中,想使用上面的函数USBAdapterExtendSendAndReceive,

首先调用该DLL文件,并声明使用该函数

Declare Function myExtendSendAndReceiveRetryContinuous Lib "Adapter.dll" Alias _
    "USBAdapterExtendSendAndReceive" (ByVal pSendPacket As Object, ByVal pReceivePacket As Object) As Integer

上面声明DLL中函数的方式已证实可行,那DLL文件中有其他不带参数的函数,用此方式已调用成功

但是,碰到调用结构体指针作为参数,就迷糊了,按照直接使用的方式出错了,如图所示

本人新手实在不知道该怎么办了,所以向大家求救来了,

需要解决的问题如下:

1.在Declared中该函数的2个参数定义的是否正确?如果不对,该如何定义?

2. 将VB.NET中已定义好的结构体传递给函数USBAdapterExtendSendAndReceive,具体该如何实现??

3. 该结构体中有个数组变量,该如何处理??

skynothing118的主页 skynothing118 | 菜鸟二级 | 园豆:204
提问于:2012-07-04 17:42
< >
分享
所有回答(1)
0

.NET中的托管与非托管的问题,DLL为非托管形式,在使用时也应该为非托管

具体可以参考http://blog.csdn.net/Donjuan/article/details/3865026

skynothing118 | 园豆:204 (菜鸟二级) | 2012-07-04 17:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册