ThermalPrintGWI.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include <stdio.h>
  2. #include "ThermalPrintDriverGWI.h"
  3. #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2
  4. DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pOutDevAptObj)
  5. #else
  6. DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj)
  7. #endif
  8. {
  9. pOutDevAptObj = new CThermalPrint();
  10. if(pOutDevAptObj == NULL)
  11. {
  12. return Error_Resource;
  13. }
  14. return Error_Succeed;
  15. }
  16. #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2
  17. DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pInDevAptObj)
  18. #else
  19. DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj)
  20. #endif
  21. {
  22. if(pInDevAptObj == NULL)
  23. {
  24. return Error_Param;
  25. }
  26. if(CThermalPrint* pTmp = dynamic_cast<CThermalPrint*>(pInDevAptObj))
  27. {
  28. delete pTmp;
  29. pTmp = NULL;
  30. return Error_Succeed;
  31. }
  32. return Error_Param;
  33. }
  34. #ifdef _WINDOWS
  35. char g_myDllPath[MAX_PATH]={0};
  36. char g_myDllName[MAX_PATH]={0}; //我的名字
  37. BOOL APIENTRY DllMain( HMODULE hModule,
  38. DWORD ul_reason_for_call,
  39. LPVOID lpReserved
  40. )
  41. {
  42. switch (ul_reason_for_call)
  43. {
  44. case DLL_PROCESS_ATTACH:
  45. {
  46. GetModuleFileName(hModule,g_myDllPath,MAX_PATH); //取当前模块全路径(动态库,并非执行文件)
  47. strcpy(g_myDllName,strrchr(g_myDllPath,'\\')+1);
  48. strcpy(strrchr(g_myDllPath,'\\'),"\\");
  49. char *p=strchr(g_myDllName,'.');
  50. if(p!=NULL)
  51. *p=0;
  52. }break;
  53. case DLL_THREAD_ATTACH:
  54. case DLL_THREAD_DETACH:
  55. case DLL_PROCESS_DETACH:
  56. break;
  57. }
  58. return TRUE;
  59. }
  60. #endif