HGScannerLib增加获取设备序列号和固件版本号的接口
This commit is contained in:
parent
d37a2dc0a9
commit
c439c2a091
|
@ -11,6 +11,8 @@ HGLib_GetDeviceNameList
|
|||
HGLib_ReleaseDeviceNameList
|
||||
HGLib_OpenDevice
|
||||
HGLib_CloseDevice
|
||||
HGLib_GetDeviceSN
|
||||
HGLib_GetDeviceFWVersion
|
||||
HGLib_SetDeviceParam
|
||||
HGLib_GetDeviceParamGroupList
|
||||
HGLib_GetDeviceParam
|
||||
|
|
Binary file not shown.
|
@ -359,6 +359,60 @@ HGBool HGLibDeviceImpl::Close()
|
|||
return HGTRUE;
|
||||
}
|
||||
|
||||
HGBool HGLibDeviceImpl::GetSN(HGChar* sn, HGUInt maxLen)
|
||||
{
|
||||
if (NULL == sn || 0 == maxLen)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
assert(NULL != m_devHandle);
|
||||
|
||||
std::string serialNum;
|
||||
unsigned int serialNumLen = 0;
|
||||
if (SANE_STATUS_NO_MEM == sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, nullptr, &serialNumLen)
|
||||
&& serialNumLen)
|
||||
{
|
||||
serialNum.resize(serialNumLen);
|
||||
sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, &serialNum[0], &serialNumLen);
|
||||
}
|
||||
|
||||
if (serialNum.empty() || maxLen < serialNum.size() + 1)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
strcpy(sn, serialNum.c_str());
|
||||
return HGTRUE;
|
||||
}
|
||||
|
||||
HGBool HGLibDeviceImpl::GetFWVersion(HGChar* fwVersion, HGUInt maxLen)
|
||||
{
|
||||
if (NULL == fwVersion || 0 == maxLen)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
assert(NULL != m_devHandle);
|
||||
|
||||
std::string versionNum;
|
||||
unsigned int versionNumLen = 0;
|
||||
if (SANE_STATUS_NO_MEM == sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, nullptr, &versionNumLen)
|
||||
&& versionNumLen)
|
||||
{
|
||||
versionNum.resize(versionNumLen);
|
||||
sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &versionNum[0], &versionNumLen);
|
||||
}
|
||||
|
||||
if (versionNum.empty() || maxLen < versionNum.size() + 1)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
strcpy(fwVersion, versionNum.c_str());
|
||||
return HGTRUE;
|
||||
}
|
||||
|
||||
HGBool HGLibDeviceImpl::SetParam(HGUInt option, const HGVoid* data)
|
||||
{
|
||||
assert(NULL != m_devHandle);
|
||||
|
|
|
@ -23,6 +23,8 @@ public:
|
|||
|
||||
static HGLibDeviceImpl* Open(const HGChar* deviceName);
|
||||
HGBool Close();
|
||||
HGBool GetSN(HGChar* sn, HGUInt maxLen);
|
||||
HGBool GetFWVersion(HGChar* fwVersion, HGUInt maxLen);
|
||||
HGBool SetParam(HGUInt option, const HGVoid* data);
|
||||
HGLibDeviceParamGroup* GetParamGroupList(HGUInt* count);
|
||||
HGLibDeviceParam* GetParam(HGUInt option);
|
||||
|
|
|
@ -129,6 +129,28 @@ HGBool HGAPI HGLib_CloseDevice(HGLibDevice device)
|
|||
return deviceImpl->Close();
|
||||
}
|
||||
|
||||
HGBool HGAPI HGLib_GetDeviceSN(HGLibDevice device, HGChar* sn, HGUInt maxLen)
|
||||
{
|
||||
if (NULL == device)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
HGLibDeviceImpl* deviceImpl = (HGLibDeviceImpl*)device;
|
||||
return deviceImpl->GetSN(sn, maxLen);
|
||||
}
|
||||
|
||||
HGBool HGAPI HGLib_GetDeviceFWVersion(HGLibDevice device, HGChar* fwVersion, HGUInt maxLen)
|
||||
{
|
||||
if (NULL == device)
|
||||
{
|
||||
return HGFALSE;
|
||||
}
|
||||
|
||||
HGLibDeviceImpl* deviceImpl = (HGLibDeviceImpl*)device;
|
||||
return deviceImpl->GetFWVersion(fwVersion, maxLen);
|
||||
}
|
||||
|
||||
HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid* data)
|
||||
{
|
||||
if (NULL == device)
|
||||
|
|
|
@ -446,6 +446,12 @@ HGEXPORT HGLibDevice HGAPI HGLib_OpenDevice(const HGChar *deviceName);
|
|||
/* 关闭设备 */
|
||||
HGEXPORT HGBool HGAPI HGLib_CloseDevice(HGLibDevice device);
|
||||
|
||||
/* 获取设备序列号 */
|
||||
HGEXPORT HGBool HGAPI HGLib_GetDeviceSN(HGLibDevice device, HGChar *sn, HGUInt maxLen);
|
||||
|
||||
/* 获取设备固件版本号*/
|
||||
HGEXPORT HGBool HGAPI HGLib_GetDeviceFWVersion(HGLibDevice device, HGChar* fwVersion, HGUInt maxLen);
|
||||
|
||||
/* 设置设备参数 */
|
||||
HGEXPORT HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid *data);
|
||||
|
||||
|
|
Loading…
Reference in New Issue