Add options for reconnection on transfer errors.
Fix bugs of shared command sockets.
Fix spelling mistakes.
Modify documents.
LTEXT "(0\81`300\95b; 0=\96³\8cø)",-1,122,44,76,8\r
LTEXT "\93]\91\97\83G\83\89\81[\8e\9e\82Ì\8f\88\97\9d",-1,7,61,81,8\r
COMBOBOX HSET_ERROR_MODE,7,71,71,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "\93]\91\97\83G\83\89\81[\8cã\82É\8dÄ\90Ú\91±",HSET_ERROR_RECONNECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,84,71,102,10\r
END\r
\r
savecrypt_dlg DIALOG 0, 0, 146, 62\r
#define TRMODE4_EUC_CNV 1217\r
#define TRMODE4_UTF8N_CNV 1218\r
#define TRMODE4_UTF8BOM_CNV 1219\r
+#define HSET_ERROR_RECONNECT 1220\r
#define MENU_END 40001\r
#define MENU_EXIT 40001\r
#define MENU_CONNECT 40003\r
#ifndef APSTUDIO_READONLY_SYMBOLS\r
#define _APS_NEXT_RESOURCE_VALUE 197\r
#define _APS_NEXT_COMMAND_VALUE 40177\r
-#define _APS_NEXT_CONTROL_VALUE 1220\r
+#define _APS_NEXT_CONTROL_VALUE 1221\r
#define _APS_NEXT_SYMED_VALUE 101\r
#endif\r
#endif\r
LTEXT "(0 to 300sec; 0=Never)",-1,122,44,76,8\r
LTEXT "When transfer errors",-1,7,61,81,8\r
COMBOBOX HSET_ERROR_MODE,7,71,71,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "Reconnect after errors",HSET_ERROR_RECONNECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,84,71,102,10\r
END\r
\r
savecrypt_dlg DIALOG 0, 0, 146, 62\r
#define TRMODE4_EUC_CNV 1217\r
#define TRMODE4_UTF8N_CNV 1218\r
#define TRMODE4_UTF8BOM_CNV 1219\r
+#define HSET_ERROR_RECONNECT 1220\r
#define MENU_END 40001\r
#define MENU_EXIT 40001\r
#define MENU_CONNECT 40003\r
#ifndef APSTUDIO_READONLY_SYMBOLS\r
#define _APS_NEXT_RESOURCE_VALUE 197\r
#define _APS_NEXT_COMMAND_VALUE 40177\r
-#define _APS_NEXT_CONTROL_VALUE 1220\r
+#define _APS_NEXT_CONTROL_VALUE 1221\r
#define _APS_NEXT_SYMED_VALUE 101\r
#endif\r
#endif\r
// 再転送対応\r
int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */\r
int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
+ // セッションあたりの転送量制限対策\r
+ int TransferErrorReconnect; /* 転送エラー時に再接続する (YES/NO) */\r
} HOSTDATA;\r
\r
\r
// 再転送対応\r
int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */\r
int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
+ // セッションあたりの転送量制限対策\r
+ int TransferErrorReconnect; /* 転送エラー時に再接続する (YES/NO) */\r
struct historydata *Next;\r
} HISTORYDATA;\r
\r
int SearchHostName(char *Name);\r
void ImportFromWSFTP(void);\r
// 暗号化通信対応\r
-int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
+int SetHostEncryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
\r
/*===== connect.c =====*/\r
\r
// 再転送対応\r
int AskTransferErrorMode(void);\r
int AskTransferErrorNotify(void);\r
+// セッションあたりの転送量制限対策\r
+int AskErrorReconnect(void);\r
\r
/*===== cache.c =====*/\r
\r
if(CurHost.UseFTPIS != NO || CurHost.UseSFTP != NO)\r
{\r
if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
- SetHostExcryption(AskCurrentHost(), CurHost.UseNoEncryption, CurHost.UseFTPES, NO, NO);\r
+ SetHostEncryption(AskCurrentHost(), CurHost.UseNoEncryption, CurHost.UseFTPES, NO, NO);\r
}\r
break;\r
case CRYPT_FTPES:\r
if(CurHost.UseNoEncryption != NO || CurHost.UseFTPIS != NO || CurHost.UseSFTP != NO)\r
{\r
if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
- SetHostExcryption(AskCurrentHost(), NO, CurHost.UseFTPES, NO, NO);\r
+ SetHostEncryption(AskCurrentHost(), NO, CurHost.UseFTPES, NO, NO);\r
}\r
break;\r
case CRYPT_FTPIS:\r
if(CurHost.UseNoEncryption != NO || CurHost.UseFTPES != NO || CurHost.UseSFTP != NO)\r
{\r
if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
- SetHostExcryption(AskCurrentHost(), NO, NO, CurHost.UseFTPIS, NO);\r
+ SetHostEncryption(AskCurrentHost(), NO, NO, CurHost.UseFTPIS, NO);\r
}\r
break;\r
case CRYPT_SFTP:\r
if(CurHost.UseNoEncryption != NO || CurHost.UseFTPES != NO || CurHost.UseFTPIS != NO)\r
{\r
if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
- SetHostExcryption(AskCurrentHost(), NO, NO, NO, CurHost.UseSFTP);\r
+ SetHostEncryption(AskCurrentHost(), NO, NO, NO, CurHost.UseSFTP);\r
}\r
break;\r
}\r
\r
int AskHostNameKana(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.NameKanaCnv);\r
+ // 同時接続対応\r
+// return(CurHost.NameKanaCnv);\r
+ return(TmpHost.NameKanaCnv);\r
}\r
\r
\r
\r
int AskListCmdMode(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(CurHost.HostType == HTYPE_VMS)\r
return(YES);\r
else\r
{\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
- return(CurHost.ListCmdOnly);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
+ // 同時接続対応\r
+// return(CurHost.ListCmdOnly);\r
+ return(TmpHost.ListCmdOnly);\r
}\r
}\r
\r
\r
int AskUseNLST_R(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.UseNLST_R);\r
+ // 同時接続対応\r
+// return(CurHost.UseNLST_R);\r
+ return(TmpHost.UseNLST_R);\r
}\r
\r
\r
\r
char *AskHostChmodCmd(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.ChmodCmd);\r
+ // 同時接続対応\r
+// return(CurHost.ChmodCmd);\r
+ return(TmpHost.ChmodCmd);\r
}\r
\r
\r
\r
int AskHostTimeZone(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.TimeZone);\r
+ // 同時接続対応\r
+// return(CurHost.TimeZone);\r
+ return(TmpHost.TimeZone);\r
}\r
\r
\r
\r
char *AskHostLsName(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.LsName);\r
+ // 同時接続対応\r
+// return(CurHost.LsName);\r
+ return(TmpHost.LsName);\r
}\r
\r
\r
\r
int AskHostType(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
#if defined(HAVE_TANDEM)\r
/* OSS ファイルシステムは UNIX ファイルシステムと同じでいいので AUTO を返す\r
return(HTYPE_AUTO);\r
#endif\r
\r
- return(CurHost.HostType);\r
+ // 同時接続対応\r
+// return(CurHost.HostType);\r
+ return(TmpHost.HostType);\r
}\r
\r
\r
int Host;\r
char LocDir[FMAX_PATH+1];\r
char HostDir[FMAX_PATH+1];\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
\r
if(TrnCtrlSocket != INVALID_SOCKET)\r
{\r
if((Host = AskCurrentHost()) != HOSTNUM_NOENTRY)\r
{\r
- CopyHostFromListInConnect(Host, &CurHost);\r
- if(CurHost.LastDir == YES)\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(Host, &CurHost);\r
+// if(CurHost.LastDir == YES)\r
+ CopyHostFromListInConnect(Host, &TmpHost);\r
+ if(TmpHost.LastDir == YES)\r
{\r
AskLocalCurDir(LocDir, FMAX_PATH);\r
AskRemoteCurDir(HostDir, FMAX_PATH);\r
int Sts;\r
\r
\r
- if(CmdCtrlSocket != TrnCtrlSocket)\r
- do_closesocket(TrnCtrlSocket);\r
- TrnCtrlSocket = INVALID_SOCKET;\r
+ // 同時接続対応\r
+// if(CmdCtrlSocket != TrnCtrlSocket)\r
+// do_closesocket(TrnCtrlSocket);\r
+// TrnCtrlSocket = INVALID_SOCKET;\r
+ if(CmdCtrlSocket == TrnCtrlSocket)\r
+ TrnCtrlSocket = INVALID_SOCKET;\r
\r
Sts = ReConnectSkt(&CmdCtrlSocket);\r
\r
- TrnCtrlSocket = CmdCtrlSocket;\r
+ // 同時接続対応\r
+// TrnCtrlSocket = CmdCtrlSocket;\r
+ if(TrnCtrlSocket == INVALID_SOCKET)\r
+ TrnCtrlSocket = CmdCtrlSocket;\r
\r
return(Sts);\r
}\r
// ReConnectSkt(&CmdCtrlSocket);\r
if(CurHost.ReuseCmdSkt == YES)\r
{\r
+ CurHost.ReuseCmdSkt = NO;\r
CmdCtrlSocket = INVALID_SOCKET;\r
ReConnectSkt(&CmdCtrlSocket);\r
}\r
\r
int AskRealHostType(void)\r
{\r
+ // 同時接続対応\r
+ HOSTDATA TmpHost;\r
+ TmpHost = CurHost;\r
+\r
if(AskCurrentHost() != HOSTNUM_NOENTRY)\r
- CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ // 同時接続対応\r
+// CopyHostFromListInConnect(AskCurrentHost(), &CurHost);\r
+ CopyHostFromListInConnect(AskCurrentHost(), &TmpHost);\r
\r
- return(CurHost.HostType);\r
+ // 同時接続対応\r
+// return(CurHost.HostType);\r
+ return(TmpHost.HostType);\r
}\r
\r
/*----- OSS ファイルシステムにアクセスしているかどうかのフラグを変更する ------\r
return(CurHost.TransferErrorNotify);\r
}\r
\r
+// セッションあたりの転送量制限対策\r
+int AskErrorReconnect(void)\r
+{\r
+ return(CurHost.TransferErrorReconnect);\r
+}\r
+\r
\r
-- Added an option to display file permissions in numbers.\r
\r
+-- Added an option to reconnect after transfer errors.\r
+ This may work around the limitations on the transfer amount or time per\r
+ session.\r
+\r
+-- Fixed bugs that the file transfer might be aborted on operating the main\r
+ window if reusing sockets of the main window was enabled and you operated\r
+ the main window while files were transferring.\r
+\r
\r
Outline\r
-------\r
\r
-- Added an option to display file permissions in numbers.\r
\r
+-- Added an option to reconnect after transfer errors.\r
+ This may work around the limitations on the transfer amount or time per\r
+ session.\r
+\r
+-- Fixed bugs that the file transfer might be aborted on operating the main\r
+ window if reusing sockets of the main window was enabled and you operated\r
+ the main window while files were transferring.\r
+\r
Changes in Ver.1.98f\r
--------------------\r
\r
\r
\81E\83t\83@\83C\83\8b\82Ì\91®\90«\82ð\90\94\8e\9a\82Å\95\\8e¦\82·\82é\90Ý\92è\82ð\92Ç\89Á\82µ\82Ü\82µ\82½\81B\r
\r
+\81E\83t\83@\83C\83\8b\82Ì\93]\91\97\82É\8e¸\94s\82µ\82½\8fê\8d\87\82É\8dÄ\90Ú\91±\82·\82é\90Ý\92è\82ð\92Ç\89Á\82µ\82Ü\82µ\82½\81B\r
+\81@\82±\82ê\82É\82æ\82è\83Z\83b\83V\83\87\83\93\82 \82½\82è\82Ì\93]\91\97\97Ê\82Ü\82½\82Í\8e\9e\8aÔ\82ª\90§\8cÀ\82³\82ê\82Ä\82¢\82é\8fê\8d\87\82É\r
+\81@\82»\82Ì\90§\8cÀ\82ð\89ñ\94ð\82Å\82«\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B\r
+\r
+\81E\83\81\83C\83\93\83E\83B\83\93\83h\83E\82Ì\83\\83P\83b\83g\82ð\8dÄ\97\98\97p\82·\82é\90Ý\92è\82Å\83t\83@\83C\83\8b\82Ì\93]\91\97\92\86\82É\83\81\83C\83\93\r
+\81@\83E\83B\83\93\83h\83E\82ð\91\80\8dì\82·\82é\82Æ\93]\91\97\82É\8e¸\94s\82·\82é\82±\82Æ\82ª\82 \82é\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½\81B\r
+\r
\r
Ver 1.96d\88È\91O\82Ö\96ß\82·\8fê\8d\87\r
-----------------------\r
\r
\81E\83t\83@\83C\83\8b\82Ì\91®\90«\82ð\90\94\8e\9a\82Å\95\\8e¦\82·\82é\90Ý\92è\82ð\92Ç\89Á\82µ\82Ü\82µ\82½\81B\r
\r
+\81E\83t\83@\83C\83\8b\82Ì\93]\91\97\82É\8e¸\94s\82µ\82½\8fê\8d\87\82É\8dÄ\90Ú\91±\82·\82é\90Ý\92è\82ð\92Ç\89Á\82µ\82Ü\82µ\82½\81B\r
+\81@\82±\82ê\82É\82æ\82è\83Z\83b\83V\83\87\83\93\82 \82½\82è\82Ì\93]\91\97\97Ê\82Ü\82½\82Í\8e\9e\8aÔ\82ª\90§\8cÀ\82³\82ê\82Ä\82¢\82é\8fê\8d\87\82É\r
+\81@\82»\82Ì\90§\8cÀ\82ð\89ñ\94ð\82Å\82«\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B\r
+\r
+\81E\83\81\83C\83\93\83E\83B\83\93\83h\83E\82Ì\83\\83P\83b\83g\82ð\8dÄ\97\98\97p\82·\82é\90Ý\92è\82Å\83t\83@\83C\83\8b\82Ì\93]\91\97\92\86\82É\83\81\83C\83\93\r
+\81@\83E\83B\83\93\83h\83E\82ð\91\80\8dì\82·\82é\82Æ\93]\91\97\82É\8e¸\94s\82·\82é\82±\82Æ\82ª\82 \82é\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½\81B\r
+\r
\81¡Ver 1.98f\r
\r
\81E\91I\91ð\83_\83C\83A\83\8d\83O\82ª\90³\8fí\82É\8b@\94\\82µ\82È\82¢\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½\81B\r
RECT WndRect;\r
int i;\r
DWORD LastUsed;\r
+ int LastError;\r
+ int Sts;\r
\r
hWndTrans = NULL;\r
Down = NO;\r
CmdSkt = INVALID_SOCKET;\r
NewCmdSkt = INVALID_SOCKET;\r
TrnSkt = INVALID_SOCKET;\r
+ LastError = NO;\r
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_LOWEST);\r
\r
while((TransPacketBase != NULL) ||\r
}\r
else\r
{\r
+ // セッションあたりの転送量制限対策\r
+ if(AskErrorReconnect() == YES && LastError == YES)\r
+ {\r
+ ReleaseMutex(hListAccMutex);\r
+ DoQUIT(TrnSkt, &Canceled[ThreadCount]);\r
+ DoClose(TrnSkt);\r
+ TrnSkt = INVALID_SOCKET;\r
+// WaitForSingleObject(hListAccMutex, INFINITE);\r
+ while(WaitForSingleObject(hListAccMutex, 0) == WAIT_TIMEOUT)\r
+ {\r
+ BackgrndMessageProc();\r
+ Sleep(1);\r
+ }\r
+ }\r
if(TransPacketBase && NewCmdSkt != INVALID_SOCKET && ThreadCount < AskMaxThreadCount())\r
{\r
ReleaseMutex(hListAccMutex);\r
}\r
}\r
CmdSkt = NewCmdSkt;\r
+ LastError = NO;\r
// if(TransPacketBase != NULL)\r
if(TrnSkt != INVALID_SOCKET && NextTransPacketBase != NULL)\r
{\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoDownload(AskTrnCtrlSkt(), TransPacketBase, NO, &Canceled);\r
- DoDownload(TrnSkt, Pos, NO, &Canceled[Pos->ThreadCount]);\r
+ Sts = DoDownload(TrnSkt, Pos, NO, &Canceled[Pos->ThreadCount]) / 100;\r
+ if(Sts != FTP_COMPLETE)\r
+ LastError = YES;\r
// }\r
}\r
}\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoUpload(AskTrnCtrlSkt(), TransPacketBase);\r
- DoUpload(TrnSkt, Pos);\r
+ Sts = DoUpload(TrnSkt, Pos) / 100;\r
+ if(Sts != FTP_COMPLETE)\r
+ LastError = YES;\r
// }\r
\r
// ホスト側の日時設定\r
// 再転送対応\r
New->TransferErrorMode = Host->TransferErrorMode;\r
New->TransferErrorNotify = Host->TransferErrorNotify;\r
+ // セッションあたりの転送量制限対策\r
+ New->TransferErrorReconnect = Host->TransferErrorReconnect;\r
return;\r
}\r
\r
// 再転送対応\r
Host->TransferErrorMode = Hist->TransferErrorMode;\r
Host->TransferErrorNotify = Hist->TransferErrorNotify;\r
+ // セッションあたりの転送量制限対策\r
+ Host->TransferErrorReconnect = Hist->TransferErrorReconnect;\r
return;\r
}\r
\r
// 再転送対応\r
Set->TransferErrorMode = Pos->Set.TransferErrorMode;\r
Set->TransferErrorNotify = Pos->Set.TransferErrorNotify;\r
+ // セッションあたりの転送量制限対策\r
+ Set->TransferErrorReconnect = Pos->Set.TransferErrorReconnect;\r
Sts = FFFTP_SUCCESS;\r
}\r
return(Sts);\r
// 再転送対応\r
Set->TransferErrorMode = EXIST_OVW;\r
Set->TransferErrorNotify = YES;\r
+ // セッションあたりの転送量制限対策\r
+ Set->TransferErrorReconnect = NO;\r
return;\r
}\r
\r
SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 3, 0);\r
else\r
SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 0, 0);\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_RECONNECT, BM_SETCHECK, TmpHost.TransferErrorReconnect, 0);\r
return(TRUE);\r
\r
case WM_NOTIFY:\r
TmpHost.TransferErrorNotify = NO;\r
break;\r
}\r
+ TmpHost.TransferErrorReconnect = SendDlgItemMessage(hDlg, HSET_ERROR_RECONNECT, BM_GETCHECK, 0, 0);\r
Apply = YES;\r
break;\r
\r
\r
// 暗号化通信対応\r
// ホストの暗号化設定を更新\r
-int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP)\r
+int SetHostEncryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP)\r
{\r
int Sts;\r
HOSTLISTDATA *Pos;\r
// 再転送対応\r
SaveIntNum(hKey5, "ErrMode", Hist.TransferErrorMode, DefaultHist.TransferErrorMode);\r
SaveIntNum(hKey5, "ErrNotify", Hist.TransferErrorNotify, DefaultHist.TransferErrorNotify);\r
+ // セッションあたりの転送量制限対策\r
+ SaveIntNum(hKey5, "ErrReconnect", Hist.TransferErrorReconnect, DefaultHist.TransferErrorReconnect);\r
\r
CloseSubKey(hKey5);\r
n++;\r
// 再転送対応\r
SaveIntNum(hKey5, "ErrMode", Host.TransferErrorMode, DefaultHost.TransferErrorMode);\r
SaveIntNum(hKey5, "ErrNotify", Host.TransferErrorNotify, DefaultHost.TransferErrorNotify);\r
+ // セッションあたりの転送量制限対策\r
+ SaveIntNum(hKey5, "ErrReconnect", Host.TransferErrorReconnect, DefaultHost.TransferErrorReconnect);\r
}\r
CloseSubKey(hKey5);\r
}\r
// 再転送対応\r
ReadIntValueFromReg(hKey5, "ErrMode", &Host.TransferErrorMode);\r
ReadIntValueFromReg(hKey5, "ErrNotify", &Host.TransferErrorNotify);\r
+ // セッションあたりの転送量制限対策\r
+ ReadIntValueFromReg(hKey5, "ErrReconnect", &Host.TransferErrorReconnect);\r
\r
CloseSubKey(hKey5);\r
\r