virtual bool RenameBinaryFile(const char* pOldFilename, const char* pNewFilename) { char aOldBuffer[MAX_PATH_LENGTH]; char aNewBuffer[MAX_PATH_LENGTH]; GetBinaryPath(pOldFilename, aOldBuffer, sizeof(aOldBuffer)); GetBinaryPath(pNewFilename, aNewBuffer, sizeof(aNewBuffer)); if(fs_makedir_rec_for(aNewBuffer) < 0) dbg_msg("storage", "cannot create folder for: %s", aNewBuffer); return !fs_rename(aOldBuffer, aNewBuffer); }
virtual bool RemoveBinaryFile(const char *pFilename) { char aBuffer[MAX_PATH_LENGTH]; GetBinaryPath(pFilename, aBuffer, sizeof(aBuffer)); bool success = !fs_remove(aBuffer); if(!success) dbg_msg("storage", "failed to remove: %s", aBuffer); return success; }
virtual bool RemoveBinaryFile(const char *pFilename) { char aBuffer[MAX_PATH_LENGTH]; return !fs_remove(GetBinaryPath(pFilename, aBuffer, sizeof(aBuffer))); }
INT EncServiceInstall() { SC_HANDLE hSCManager = NULL; SC_HANDLE hService = NULL; SERVICE_DESCRIPTION ServiceDescription; SERVICE_PRESHUTDOWN_INFO ServicePreshutdownInfo; CHAR BinaryPath[MAX_PATH + 64]; INT Ret = -1; if(!GetBinaryPath(BinaryPath, sizeof(BinaryPath))) { PrintLastError("EncServiceInstall:"); goto err; } hSCManager = OpenSCManager( NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS ); if(NULL == hSCManager) { PrintLastError("EncServiceInstall:"); goto err; } hService = CreateService( hSCManager, ENC_MON_SERVICE_NAME, ENC_MON_SERVICE_DISPLAY_NAME, SC_MANAGER_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, BinaryPath, NULL, NULL, ENC_DISK_SERVICE_NAME, NULL, NULL ); if(NULL == hService) { PrintLastError("EncServiceInstall:"); goto err; } ServiceDescription.lpDescription = ENC_MON_SERVICE_DESCRIPTION; if(!ChangeServiceConfig2( hService, SERVICE_CONFIG_DESCRIPTION, &ServiceDescription )) { PrintLastError("EncServiceInstall:"); goto err; } ServicePreshutdownInfo.dwPreshutdownTimeout = ENC_MON_SERVICE_MAX_WAIT_MS; if(!ChangeServiceConfig2( hService, SERVICE_CONFIG_PRESHUTDOWN_INFO, &ServicePreshutdownInfo )) { PrintLastError("EncServiceInstall:"); goto err; } Ret = 0; err: if(NULL != hService) { CloseServiceHandle(hService); hService = NULL; } if(NULL != hSCManager) { CloseServiceHandle(hSCManager); hSCManager = NULL; } return Ret; }