HGScannerLib增加获取设备序列号和固件版本号的接口
This commit is contained in:
parent
d37a2dc0a9
commit
c439c2a091
|
@ -11,6 +11,8 @@ HGLib_GetDeviceNameList
|
||||||
HGLib_ReleaseDeviceNameList
|
HGLib_ReleaseDeviceNameList
|
||||||
HGLib_OpenDevice
|
HGLib_OpenDevice
|
||||||
HGLib_CloseDevice
|
HGLib_CloseDevice
|
||||||
|
HGLib_GetDeviceSN
|
||||||
|
HGLib_GetDeviceFWVersion
|
||||||
HGLib_SetDeviceParam
|
HGLib_SetDeviceParam
|
||||||
HGLib_GetDeviceParamGroupList
|
HGLib_GetDeviceParamGroupList
|
||||||
HGLib_GetDeviceParam
|
HGLib_GetDeviceParam
|
||||||
|
|
Binary file not shown.
|
@ -359,6 +359,60 @@ HGBool HGLibDeviceImpl::Close()
|
||||||
return HGTRUE;
|
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)
|
HGBool HGLibDeviceImpl::SetParam(HGUInt option, const HGVoid* data)
|
||||||
{
|
{
|
||||||
assert(NULL != m_devHandle);
|
assert(NULL != m_devHandle);
|
||||||
|
|
|
@ -23,6 +23,8 @@ public:
|
||||||
|
|
||||||
static HGLibDeviceImpl* Open(const HGChar* deviceName);
|
static HGLibDeviceImpl* Open(const HGChar* deviceName);
|
||||||
HGBool Close();
|
HGBool Close();
|
||||||
|
HGBool GetSN(HGChar* sn, HGUInt maxLen);
|
||||||
|
HGBool GetFWVersion(HGChar* fwVersion, HGUInt maxLen);
|
||||||
HGBool SetParam(HGUInt option, const HGVoid* data);
|
HGBool SetParam(HGUInt option, const HGVoid* data);
|
||||||
HGLibDeviceParamGroup* GetParamGroupList(HGUInt* count);
|
HGLibDeviceParamGroup* GetParamGroupList(HGUInt* count);
|
||||||
HGLibDeviceParam* GetParam(HGUInt option);
|
HGLibDeviceParam* GetParam(HGUInt option);
|
||||||
|
|
|
@ -129,6 +129,28 @@ HGBool HGAPI HGLib_CloseDevice(HGLibDevice device)
|
||||||
return deviceImpl->Close();
|
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)
|
HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid* data)
|
||||||
{
|
{
|
||||||
if (NULL == device)
|
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_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);
|
HGEXPORT HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid *data);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue