VC写的DLL里参数为结构体数组,在VB中如何引用

VC写的DLL里参数为结构体数组,在VB中怎么引用啊
VC写的DLL里参数为结构体数组,在VB中怎么引用啊

VC函数short __stdcall MC_DownloadRoomData(short roomCnt, ROOM_INFO *roomList);
roomList -- ROOM_INFO型数组,依次存放多个数据。

我在VB中声明时
Public Declare Function MC_DownloadRoomData Lib "YXMakeCard.dll" (ByVal roomCnt As Integer, ByRef roomList As ROOM_INFO) As Integer


在窗口调用时
 Dim RoomInfo() As ROOM_INFO
   
  Dim iCnt As Integer
  iCnt = 1
  Erase RoomInfo
  ReDim RoomInfo(100)
  RoomInfo(0).RoomName = "firstRoom"
  RoomInfo(0).RoomNo = "001.001.001"
  RoomInfo(0).Flags = 1
  RoomInfo(0).RFU = "REMARK"
  Dim Inis As Long
  For index = 1 To 99
  appName = "ROOM"
  strTemp = GetStr(3, index)
  keyName = "room" + strTemp
  Inis = GetPrivateProfileString(appName, keyName, 22, dstString, 256, App.Path + "\RoomData.ini")
  If Mid(dstString, 1, 2) <> "22" Then
  RoomInfo(index).RoomNo = dstString
  RoomInfo(index).Flags = 1
  RoomInfo(index).RFU = "REMARK"
  RoomInfo(index).RoomName = keyName
  iCnt = iCnt + 1
  End If
  Next
  st = MC_DownloadRoomData(iCnt, RoomInfo(0))

这时实际得到的却只有第一个数据,不知道该如何处理

------解决方案--------------------
ByRef roomList() As ROOM_INFO'这个才是数组。
------解决方案--------------------
st = MC_DownloadRoomData(iCnt, addressof RoomInfo(0))
这个用过没有?

vb的数组和c的数组不同.c的数组地址是第一个元素的地址,vb的不是这样,vb的数组是一个结构,结构里面的一个元素指向第一个元素.