#include #include "ThermalPrintDriverGWI.h" #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2 DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pOutDevAptObj) #else DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj) #endif { pOutDevAptObj = new CThermalPrint(); if(pOutDevAptObj == NULL) { return Error_Resource; } return Error_Succeed; } #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2 DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pInDevAptObj) #else DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj) #endif { if(pInDevAptObj == NULL) { return Error_Param; } if(CThermalPrint* pTmp = dynamic_cast(pInDevAptObj)) { delete pTmp; pTmp = NULL; return Error_Succeed; } return Error_Param; } #ifdef _WINDOWS char g_myDllPath[MAX_PATH]={0}; char g_myDllName[MAX_PATH]={0}; //我的名字 BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { GetModuleFileName(hModule,g_myDllPath,MAX_PATH); //取当前模块全路径(动态库,并非执行文件) strcpy(g_myDllName,strrchr(g_myDllPath,'\\')+1); strcpy(strrchr(g_myDllPath,'\\'),"\\"); char *p=strchr(g_myDllName,'.'); if(p!=NULL) *p=0; }break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } #endif