DLL文件里的struct
typedef struct _record
{
DWORD nNum; //记录号
DWORD nUserID; //用户ID
BYTE nBakNo; //备份号
//位3:密码
//位2:0 (保留)
//位1;指纹1
//位0:指纹2
//记录产生时间
BYTE nYear;//年份最后两位
BYTE nMon; //月份,1-12
BYTE nDay; //天,1-31
BYTE nHour;//小时,0-23
BYTE nMin; //分钟,0-59
BYTE nType; //记录类型
//0x00:正常开门
//0x01:入记录
//0x02:出记录
}RECORD, *PRECORD;
函数FPTIMER_LIB_API int GetRecord(DWORD nBeginNo, RECORD* pRecords, DWORD* pInOutCnt);
函数说明:功能:读取出入记录数据
参数:nBeginNo: 最小记录号,
RECORD: 接收出入记录的缓冲区
pInOutCnt: 输入为要读取的出入记录条数,输出为实际读取的出入记录条数
返回值:
ACK_SUCCESS:读取成功
ACK_FAILL: 读取失败
我在VB.NET里定义的:
Declare Function GetRecord Lib "ClientFpTimer.dll" (ByVal nBeginNo As Long, ByRef pRecords As RECORD, ByRef pInOutCnt As Long) As Long '读取出入记录数据
Public Structure RECORD
Dim nNum As Long '//记录号
Dim nUserID As Long ' //用户ID
Dim nBakNo As Byte ' //备份号
'//位3:密码
'//位2:0 (保留)
'//位1;指纹1
'//位0:指纹2
'//记录产生时间
Dim nYear As Byte '//年份最后两位
Dim nMon As Byte 'BYTE nMon; //月份,1-12
Dim nDay As Byte 'BYTE nDay; //天,1-31
Dim nHour As Byte ' BYTE nHour;//小时,0-23
Dim nMin As Byte 'BYTE nMin; //分钟,0-59
Dim nType As Byte 'BYTE nType; //记录类型
' //0x00:正常开门
'//0x01:入记录
'//0x02:出记录
End Structure
定义类型变量:pRecords As RECORD(1)
使用:GetRecord(nBeginNo, pRecords, pInOutCnt)
nBeginNo = 1
pInOutCnt = 1
For x = pMinValidNo To pRecordCnt
_flex.Rows.Count = _flex.Rows.Count + 1
rg = _flex.GetCellRange(x + 1, 0)
rg.Style = _flex.Styles("bool")
_flex(x + 1, 1) = pRecords(x).nNum.ToString
_flex(x + 1, 2) = pRecords(x).nUserID
If pRecords(x).nBakNo = 2 Then
_flex(x + 1, 3) = "指纹1"
ElseIf pRecords(x).nBakNo = 1 Then
_flex(x + 1, 3) = "指纹2"
ElseIf pRecords(x).nBakNo = 8 Then
_flex(x + 1, 3) = "密码"
End If
_flex(x + 1, 4) = pRecords(x).nYear & "-" & pRecords(x).nMon & "-" & pRecords(x).nDay & " " & pRecords(x).nHour & ":" & pRecords(x).nMin
If pRecords(x).nType = 0 Then
_flex(x + 1, 5) = "正常开门"
ElseIf pRecords(x).nType = 1 Then
_flex(x + 1, 5) = "入"
ElseIf pRecords(x).nType = 2 Then
_flex(x + 1, 5) = "出"
End If
Else
MsgBox("读取失败")
End If
Next
运行程序,返回值表示读取成功,可是数组里并没有数据,用其它软件能读出来数据,大家帮看看,到底是哪儿错了
vb.net到底该如何用c++写的DLL文件里的struct类型?
要疯了,问题在哪里
最新推荐文章于 2023-03-10 16:41:12 发布