123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- #include "VirtualDeviceClass.h"
- #include "libHSPSCannerLoader.h"
- static VirtualDeviceClassImpl* object = NULL;
- DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj)
- {
- ErrorCodeEnum result(Error_Unexpect);
- if (object == NULL) {
- char* buf;
- DWORD size;
- const char* var = "INVOKE_VENDOR_ADAPTER_NAME";
- size = GetEnvironmentVariableA(var, NULL, 0);
- //ERROR_ENVVAR_NOT_FOUND
- if (size <= 0) {
- return Error_InvalidState;
- }
- buf = new char[size + 3];
- if (buf == NULL) {
- return Error_Resource;
- }
- memset(buf, 0, sizeof(char) * (size + 3));
- size = GetEnvironmentVariableA(var, buf, size);
- result = Bridge_LoadDevObject(buf);
- if (result == Error_Succeed) {
- object = new VirtualDeviceClassImpl();
- }
- delete[] buf;
- }
- pOutDevAptObj = object;
- return result;
- }
- DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj)
- {
- ErrorCodeEnum result = Bridge_ReleaseDevObject();
- if (result == Error_Succeed && pInDevAptObj != NULL) {
- delete pInDevAptObj;
- pInDevAptObj = NULL;
- }
- return result;
- }
- extern "C" DEVICEBASE_API void GetMoreErrorDetail(char *szErrMsg, DWORD* pMsgLen)
- {
- if (szErrMsg != NULL && pMsgLen != NULL && *pMsgLen > 0) {
- DevErrorInfo inner;
- ErrorCodeEnum result = Bridge_GetLastErr(&inner);
- if (result == Error_Succeed) {
- strcpy_s(szErrMsg, *pMsgLen, inner.szErrMsg);
- *pMsgLen = inner.dwErrMsgLen;
- }
- }
- }
- VirtualDeviceClassImpl::VirtualDeviceClassImpl()
- {
- }
- VirtualDeviceClassImpl::~VirtualDeviceClassImpl()
- {
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetDevCategory(DevCategoryInfo& devCategory)
- {
- ErrorCodeEnum result;
- DevCategoryInfo inner;
- result = Bridge_GetDevCategory(&inner);
- if (result == Error_Succeed) {
- strcpy_s(devCategory.szType, MAX_DEV_TYPE_LEN, inner.szType);
- strcpy_s(devCategory.szModel, MAX_DEV_MODEL_LEN, inner.szModel);
- strcpy_s(devCategory.szVendor, MAX_DEV_VENDOR_LEN, inner.szVendor);
- devCategory.eState = inner.eState;
- devCategory.version.wMajor = inner.version.wMajor;
- devCategory.version.wMinor = inner.version.wMinor;
- devCategory.version.wRevision = inner.version.wRevision;
- devCategory.version.wBuild = inner.version.wBuild;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::Reset()
- {
- return Bridge_Reset();
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DevClose()
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_DevClose());
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetLastErr(DevErrorInfo& devErrInfo)
- {
- ErrorCodeEnum result = Error_Succeed;
- DevErrorInfo inner;
- result = Bridge_GetLastErr(&inner);
- if (result == Error_Succeed) {
- devErrInfo.dwErrMsgLen = inner.dwErrMsgLen;
- strcpy_s(devErrInfo.szErrMsg, MAX_DEV_ERROR_MSG_LEN, inner.szErrMsg);
- }
- return (result);
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DevOpen()
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_DevOpen());
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetParam(ParamType type, ParamTypeValue value)
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_SetParam(type, value));
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetPreview(short nValue)
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_SetPreview(nValue));
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ScanImage(const char* pszFileName)
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_ScanImage(pszFileName));
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ScanImageEx(BYTE* pBtImg, int& nBtLen, const char* pszFileName /*= ""*/)
- {
- ErrorCodeEnum result = Error_Succeed;
- int inner = nBtLen;
- result = Bridge_ScanImageEx(pBtImg, &inner, pszFileName);
- nBtLen = inner;
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetViewPos(int nX, int nY, int nWidth)
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_SetViewPos(nX, nY, nWidth));
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetProperty()
- {
- return Bridge_SetProperty();
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetDevStatus(HspsDevStatus& status)
- {
- Bridge_HspsDevStatus inner;
- ErrorCodeEnum result = Error_Succeed;
- result = Bridge_GetDevStatus(&inner);
- if (result == Error_Succeed) {
- status.isConnected = inner.isConnected;
- status.inPreview = inner.inPreview;
- status.inShow = inner.inShow;
- }
- return result;
- }
- //SubClassStart
|