void CTest_ControlApiDlg::OnGetSn()
{
UpdateData(true);
// UINT Times1;
// Times1=0;
unsigned char pucBuf[8];
memset(pucBuf,0,8);
epsRet=epas_GetProperty(m_hToken,EPAS_PROP_SERNUM,0,pucBuf,sizeof(pucBuf));
if(FT_SUCCESS != epsRet)
{
sprintf(Buf,"GetSn,Error Num=%d",epsRet);
AfxMessageBox(Buf, MB_OK | MB_ICONERROR);
// epsRet = epas_CloseDevice(m_hToken);
// epsRet = epas_DeleteContext(m_hToken);
m_hToken = NULL;
return ;
}
m_1=pucBuf[0];
m_2=pucBuf[1];
m_3=pucBuf[2];
m_4=pucBuf[3];
m_5=pucBuf[4];
m_6=pucBuf[5];
m_7=pucBuf[6];
m_8=pucBuf[7];
UpdateData(false);
}epas_GetProperty
EPAS_HANDLE hContextHandle, // [in]
unsigned long ulFlags, // [in]
void* pRefData, // [in]
void* pPropData, // [in][out]
unsigned long ulPropSize // [in]
hContextHandle
[in] 指向一个设备句柄的上下文的指针
ulFlags 0x07
pRefData
[in] 为将来扩展保留的。设为零。
pPropData
[in] sn:
ulPropSize
[in] sn长度
我是这样在vb中申明的
Private Declare Function epas_GetProperty Lib "ePassNDapi.dll" (hContextHandle As Long, ulFlags As Long, pRefData As Long, pPropData() As Any, ByVal ulPropSize As Long) As Long
这样申明对吗?该如何调用
{
UpdateData(true);
// UINT Times1;
// Times1=0;
unsigned char pucBuf[8];
memset(pucBuf,0,8);
epsRet=epas_GetProperty(m_hToken,EPAS_PROP_SERNUM,0,pucBuf,sizeof(pucBuf));
if(FT_SUCCESS != epsRet)
{
sprintf(Buf,"GetSn,Error Num=%d",epsRet);
AfxMessageBox(Buf, MB_OK | MB_ICONERROR);
// epsRet = epas_CloseDevice(m_hToken);
// epsRet = epas_DeleteContext(m_hToken);
m_hToken = NULL;
return ;
}
m_1=pucBuf[0];
m_2=pucBuf[1];
m_3=pucBuf[2];
m_4=pucBuf[3];
m_5=pucBuf[4];
m_6=pucBuf[5];
m_7=pucBuf[6];
m_8=pucBuf[7];
UpdateData(false);
}epas_GetProperty
EPAS_HANDLE hContextHandle, // [in]
unsigned long ulFlags, // [in]
void* pRefData, // [in]
void* pPropData, // [in][out]
unsigned long ulPropSize // [in]
hContextHandle
[in] 指向一个设备句柄的上下文的指针
ulFlags 0x07
pRefData
[in] 为将来扩展保留的。设为零。
pPropData
[in] sn:
ulPropSize
[in] sn长度
我是这样在vb中申明的
Private Declare Function epas_GetProperty Lib "ePassNDapi.dll" (hContextHandle As Long, ulFlags As Long, pRefData As Long, pPropData() As Any, ByVal ulPropSize As Long) As Long
这样申明对吗?该如何调用
解决方案 »
- 调试运行VB程序在关闭的时候,怎样才能一次性关闭所有窗体
- 读取了程序图标后如何保存成图片文件或者保存成ICO文件?
- VB客户端如何从存贮过程中取返回信息,最好方式有哪几种,哪种方式最好?
- 怎么求小于20 的第一个素数(请帮忙)
- 如何在vb中实现脚本解析
- 我是菜鸟,一个基础的文本文件的问题请教!
- 与MSVBVM60.DLL有关的错误
- 高分求答,我在VB中用EXCEL做报表,不想打开EXCEL窗口,只希望有打印预览窗口就可以了,我用xlSheet.PrintPreview,xlApp.Visible = fals
- 为什么我的 VB 里面的 str函数又不能用了 (一定给分)
- VB6中DataGrid与ADO控件绑定,可否根据字段值不同设置不同显示颜色??只有20分好给
- list 控件的水平滚动条怎么显示?
- 两台机器连接以后传输文本数据的DLL
void CTest_ControlApiDlg::OnGetSn()
{
UpdateData(true);
// UINT Times1;
// Times1=0;
unsigned char pucBuf[8];
memset(pucBuf,0,8);
epsRet=epas_GetProperty(m_hToken,EPAS_PROP_SERNUM,0,pucBuf,sizeof(pucBuf));
if(FT_SUCCESS != epsRet)
{
sprintf(Buf,"GetSn,Error Num=%d",epsRet);
AfxMessageBox(Buf, MB_OK | MB_ICONERROR);
// epsRet = epas_CloseDevice(m_hToken);
// epsRet = epas_DeleteContext(m_hToken);
m_hToken = NULL;
return ;
}
m_1=pucBuf[0];
m_2=pucBuf[1];
m_3=pucBuf[2];
m_4=pucBuf[3];
m_5=pucBuf[4];
m_6=pucBuf[5];
m_7=pucBuf[6];
m_8=pucBuf[7];
UpdateData(false);
}
sizeof可以用len代替。sprintf不知道用什么替换。
数组的指针pucBuf用pucBuf(0)可以传递。
总的来说,这段代码没有转换的意义,因为不是用标准的API函数来做的。
sizeof可以用len代替。sprintf不知道用什么替换。
数组的指针pucBuf用pucBuf(0)可以传递。
总的来说,这段代码没有转换的意义,因为不是用标准的API函数来做的
同意
Dim pucBuf(7) As Byte
Const EPAS_PROP_SERNUM = &H7
memset pucBuf, 0, 8
UpdateData (True)
epsRet = epas_GetProperty(m_hToken, EPAS_PROP_SERNUM, 0, pucBuf, Len(pucBuf))
If FT_SUCCESS <> epsRet Then
'sprintf(Buf,"GetSn,Error Num=%d",epsRet); 这两句不懂怎么转换
'AfxMessageBox(Buf, MB_OK | MB_ICONERROR);
Set m_hToken = Nothing '这个不知是否正确
Exit Sub
End If
m_1 = pucBuf(0)
m_2 = pucBuf(1)
m_3 = pucBuf(2)
m_4 = pucBuf(3)
m_5 = pucBuf(4)
m_6 = pucBuf(5)
m_7 = pucBuf(6)
m_8 = pucBuf(7)
UpdateData(false)
End Sub水平有限,见谅!