首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB与指纹仪设备的API调用相关有关问题请问

2013-11-15 
VB与指纹仪设备的API调用相关问题请教这几天在搞个指纹仪设备的接口,对方提供了API函数的说明,但我用VB调

VB与指纹仪设备的API调用相关问题请教
这几天在搞个指纹仪设备的接口,对方提供了API函数的说明,但我用VB调用的时候,打开设备可行,但就是取不到指纹图像。 我觉得是不是函数声明或字段类型错误所导致的。 下面,我把相关的API函数说明以及VB调用的代码和声明发在下面,请各位高手帮我指明下问题所在或值得怀疑的地方,谢谢各位!


一、 API函数说明;

/*打开设备,可以作为检测设备用返回:true:成功      false:失败*/
BOOL OpenDevice();
   
/*从设备获取指纹图像
in:int nTimeOut 超时 建议取10000即10S
out:unsigned char* lpImageData 图像缓冲区,大小为200*152字节
返回:0:获取图像成功      -1:失败  -2:超时*/
int xtGetImageData( int nTimeOut, unsigned char* lpImageData);

二、VB中函数声明:

'/*    打开设备,可以作为检测设备用    返回:true:成功          false:失败    */
Public Declare Function OpenDevice Lib "xt22UfpDll.dll" () As Boolean

' 从设备获取指纹图像    in:int nTimeOut 超时 建议取10000即10S    out:unsigned char* lpImageData 图像缓冲区,大小为200*152字节
' 返回:0:获取图像成功          -1:失败          -2:超时
Public Declare Function xtGetImageData Lib "xt22UfpDll.dll" (ByVal nTimeOut As Long, ByRef lpImageData As Byte) As Long

三、VB中调用函数:
1、打开设备,可以作为检测设备用
Public Function openDevicemds() As Integer
   Dim rtn As Boolean
   rtn = True
   '返回:true:成功          false:失败
   rtn = OpenDevice()
   If (rtn) Then
      openDevicemds = 1
      iState = 1
   Else
      openDevicemds = 0
      iState = 0
   End If
End Function

2、从设备获取指纹图像
Public Function getFingermds(ByVal cs As Long) As String
    Dim ret As Long
    Dim bret As Boolean
    On Error GoTo onerror
    getFingermds = ""
        
    Dim FingerBuf(152, 200) As Byte
    Dim SrcFeatureBuf(512) As Byte
        
    '返回:0:获取图像成功          -1:失败          -2:超时
    ret = xtGetImageData(10000, FingerBuf(0, 0))
    getFingermds = ""
onerror:
    getFingermds = "error"
End Function

你这声明,根本不可能对吧。数据类型你都没弄明白。

热点排行