ThermalPrintSP.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef FINGERPRINT_SP_H
  2. #define FINGERPRINT_SP_H
  3. #include "OcxBase.h"
  4. #include "GwiLogFile.h"
  5. #define RET_SUCCESS 0
  6. #define LAYER ("ThermalPrint")
  7. #define LogARG(A,B,format, ...) if(A!=NULL) A->B(LAYER,__FILE__,__LINE__,(format),##__VA_ARGS__)
  8. struct WFSAsyncExecuteInfo
  9. {
  10. long lhResult;
  11. unsigned long ulReqID;
  12. unsigned char Info[2048];
  13. int m_infolen;
  14. };
  15. #ifndef _WINDOWS
  16. #define WINAPI
  17. #endif
  18. typedef LPVOID (WINAPI *CreateInstance)(LPVOID attatchparam,LPVOID reServed,LPVOID tools,LPVOID spInter);
  19. typedef void (WINAPI* FreeInstance)(LPVOID p);
  20. class CLogFile;
  21. class CThermalPrintSP : public CEventCallBack
  22. {
  23. public:
  24. CThermalPrintSP(CLogFile *plogFile);
  25. ~CThermalPrintSP(void);
  26. virtual long EventCallBack(long EventType,void* lpResult);
  27. WFSAsyncExecuteInfo m_Image2Feature;
  28. long ThermalPrint_OpenDevice(void);
  29. long ThermalPrint_CloseDevice(void);
  30. long ThermalPrint_Reset(void);
  31. long ThermalPrint_GetStatus(int &status,char * DRVVersion);
  32. long ThermalPrint_GetPaperStatus(int &status);
  33. long ThermalPrint_ControlMedia(int dwControl);
  34. long ThermalPrint_Printform(DWORD dwMediaControl, LPSTR lpszFormName, LPSTR lpszMediaName,LPSTR lpszFields);
  35. long ThermalPrint_CancelWait();
  36. long ThermalPrint_PrintRawData(LPBYTE lpbData,ULONG ulSize);
  37. long ThermalPrint_PrintRawFile(LPSTR lpszFileName);
  38. private:
  39. void ReadConf(void);
  40. bool LoadDll(void);
  41. bool InitSP(void);
  42. int GetExtendedStatusField(LPSTR lpszExtra,LPSTR ExtraFileName,std::string& pszParam);
  43. OcxBase *m_pThermalPrintOcxBase; /// 设备对象指针
  44. char m_ThermalPrintLogicName[260];
  45. bool m_bThermalPrintOpen;
  46. char m_OCXDllPath[260];
  47. CLogFile *m_plogFile;
  48. unsigned long m_ulReqID;
  49. CreateInstance m_pCallCreateInstance;
  50. FreeInstance m_pCallFreeInstance;
  51. #if (defined _WIN32) || (defined __WINDOWS__) || (defined __WXMSW__)
  52. HMODULE m_hOCXHandle;
  53. #else
  54. void* m_hOCXHandle;
  55. #endif
  56. };
  57. #endif