|
TNB Library
|
SSH FTPセッション管理クラス [詳解]
#include <TnbSftpFile.h>
CSftpSession の継承関係図公開型 | |
| enum | ESyncCriteria { SyncCriteria_Time , SyncCriteria_Size , SyncCriteria_Both , SyncCriteria_Non } |
| 同期基準 [詳解] | |
| enum | ESyncMode { SyncMode_Local , SyncMode_Remote , SyncMode_Both } |
| 同期モード [詳解] | |
公開メンバ関数 | |
| void | Close (void) |
| [設定] クローズ. [詳解] | |
| bool | CreateRemoteDir (LPCTSTR lpszRemoteDir) |
| [作成] リモートディレクトリ作成. [詳解] | |
| CSftpSession (LPCTSTR lpszWinScpPath=NULL) | |
| コンストラクタ. [詳解] | |
| bool | DeleteRemoteFile (LPCTSTR lpszFileName) |
| [削除] 指定リモートファイル削除. [詳解] | |
| bool | EnumRemoteFiles (CWorkMemT< WIN32_FIND_DATA > &_ls, LPCTSTR lpszRemoteDir=NULL) |
| [取得] ファイル一覧. [詳解] | |
| bool | ExistRemoteFile (LPCTSTR lpszRemoteFile) |
| [確認] ファイル有無. [詳解] | |
| bool | ExistRemoteFile (WIN32_FIND_DATA &_fd, LPCTSTR lpszRemoteFile) |
| [確認] ファイル有無. [詳解] | |
| bool | GetCurrentRemoteDir (CStr &_currentRemoteDir) |
| [取得] カレントリモートディレクトリ取得. [詳解] | |
| const CStrVector & | GetLastString (void) const |
| [取得] 取得文字列取得. [詳解] | |
| bool | GetRemoteFile (LPCTSTR lpszNewLocalFile, LPCTSTR lpszRemoteFile, DWORD to=10000) |
| [取得] リモートファイル取得. [詳解] | |
| const CStrVector & | GetSynchronizedFiles (void) const |
| [取得] 同期結果ファイル名取得. [詳解] | |
| bool | IsValid (void) const |
| [確認] ハンドル有効確認 [詳解] | |
| bool | Open (LPCTSTR lpszServerName, LPCTSTR lpszUserName, LPCTSTR lpszPassword, DWORD to=10000) |
| [設定] オープン. [詳解] | |
| bool | PutLocalFile (LPCTSTR lpszNewRemoteFile, LPCTSTR lpszLocalFile, DWORD to=10000) |
| [送信] ローカルファイル送信. [詳解] | |
| bool | RemoveRemoteDir (LPCTSTR lpszRemoteDir) |
| [削除] リモートディレクトリ削除. [詳解] | |
| bool | RenameRemoteFile (LPCTSTR lpszOldName, LPCTSTR lpszNewName) |
| [変更] 名前変更. [詳解] | |
| bool | SetCurrentRemoteDir (LPCTSTR lpszRemoveDir) |
| [設定] カレントリモートディレクトリ設定. [詳解] | |
| void | SetLastString (const CStrVector &vs) |
| [設定] 取得文字列設定. [詳解] | |
| bool | Synchronize (LPCTSTR lpszRemoteDir, LPCTSTR lpszLocalDir, ESyncMode mode, ESyncCriteria criteria=SyncCriteria_Both, DWORD to=10000, LPCTSTR lpszOption=NULL) |
| [同期] ローカルとリモートの同期. [詳解] | |
| ~CSftpSession (void) | |
| デストラクタ [詳解] | |
静的公開メンバ関数 | |
| static void | TerminateWinscp (void) |
| [設定] 強制終了 WinSCP. [詳解] | |
限定公開メンバ関数 | |
| bool | AdjustCurrentLocalDir (void) |
| [実行] カレントローカルディレクトリ調整. [詳解] | |
| bool | SftpCommand (LPCTSTR lpszCommandLine, DWORD to=1000) |
| [実行] SFTP コマンドライン実行. [詳解] | |
SSH FTPセッション管理クラス
サーバ接続とファイルの転送を管理します。また、デリート、リネームをサポートします。
TnbSftpFile.h の 46 行目に定義があります。
| enum ESyncCriteria |
同期基準
| 列挙値 | |
|---|---|
| SyncCriteria_Time | 時間 |
| SyncCriteria_Size | ファイルサイズ |
| SyncCriteria_Both | 両方 |
| SyncCriteria_Non | なし |
TnbSftpFile.h の 295 行目に定義があります。
| enum ESyncMode |
同期モード
| 列挙値 | |
|---|---|
| SyncMode_Local | リモートからローカルへの同期 |
| SyncMode_Remote | ローカルからリモートへの同期 |
| SyncMode_Both | 両方 |
TnbSftpFile.h の 287 行目に定義があります。
| CSftpSession | ( | LPCTSTR | lpszWinScpPath = NULL | ) |
コンストラクタ.
| lpszWinScpPath | WinSCP のパス。省略すると ≪Program Files≫¥WinSCP になります。 |
TnbSftpFile.h の 54 行目に定義があります。
| ~CSftpSession | ( | void | ) |
デストラクタ
TnbSftpFile.h の 74 行目に定義があります。
|
protected |
[実行] カレントローカルディレクトリ調整.
WinSCP と本プロセスのカレントディレクトリを同期します。
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 642 行目に定義があります。
| void Close | ( | void | ) |
| bool CreateRemoteDir | ( | LPCTSTR | lpszRemoteDir | ) |
[作成] リモートディレクトリ作成.
| lpszRemoteDir | 作成するリモートディレクトリ名。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 190 行目に定義があります。
| bool DeleteRemoteFile | ( | LPCTSTR | lpszFileName | ) |
[削除] 指定リモートファイル削除.
| lpszFileName | 削除するリモートファイル名。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 384 行目に定義があります。
| bool EnumRemoteFiles | ( | CWorkMemT< WIN32_FIND_DATA > & | _ls, |
| LPCTSTR | lpszRemoteDir = NULL |
||
| ) |
[取得] ファイル一覧.
| [out] | _ls | ファイル一覧結果格納。 |
| [in] | lpszRemoteDir | リモートディレクトリ。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 413 行目に定義があります。
| bool ExistRemoteFile | ( | LPCTSTR | lpszRemoteFile | ) |
[確認] ファイル有無.
| lpszRemoteFile | リモートファイル/ディレクトリ。ワイルドカードは使用禁止。 |
| true | あり。 |
| false | 無し or 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 548 行目に定義があります。
| bool ExistRemoteFile | ( | WIN32_FIND_DATA & | _fd, |
| LPCTSTR | lpszRemoteFile | ||
| ) |
[確認] ファイル有無.
| [out] | _fd | ファイル情報格納。 |
| [in] | lpszRemoteFile | リモートファイル/ディレクトリ。ワイルドカードは使用禁止。 |
| true | あり。 |
| false | 無し or 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 523 行目に定義があります。
| bool GetCurrentRemoteDir | ( | CStr & | _currentRemoteDir | ) |
[取得] カレントリモートディレクトリ取得.
FTPセッション中でのカレントディレクトリを取得する。
| [out] | _currentRemoteDir | カレントディレクトリ。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 217 行目に定義があります。
| const CStrVector & GetLastString | ( | void | ) | const |
| bool GetRemoteFile | ( | LPCTSTR | lpszNewLocalFile, |
| LPCTSTR | lpszRemoteFile, | ||
| DWORD | to = 10000 |
||
| ) |
[取得] リモートファイル取得.
| lpszNewLocalFile | 取得先のローカルファイル名。 |
| lpszRemoteFile | 取得元のリモートファイル名。 |
| to | タイムアウト時間(ms)。省略すると 10秒 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 256 行目に定義があります。
| const CStrVector & GetSynchronizedFiles | ( | void | ) | const |
[取得] 同期結果ファイル名取得.
Synchronize() の結果、同期されたファイル名、ディレクトリ名が格納されます。
TnbSftpFile.h の 373 行目に定義があります。
| bool IsValid | ( | void | ) | const |
| bool Open | ( | LPCTSTR | lpszServerName, |
| LPCTSTR | lpszUserName, | ||
| LPCTSTR | lpszPassword, | ||
| DWORD | to = 10000 |
||
| ) |
[設定] オープン.
本クラスのメソッドを使用するには、まずオープンする必要があります。
| lpszServerName | 接続先のホスト名またはドット表記のIPアドレス。 |
| lpszUserName | 接続の際に使用されるユーザ名。 |
| lpszPassword | 接続の際に使用されるパスワード。 |
| to | タイムアウト時間(ms)。省略すると 10秒 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 89 行目に定義があります。
| bool PutLocalFile | ( | LPCTSTR | lpszNewRemoteFile, |
| LPCTSTR | lpszLocalFile, | ||
| DWORD | to = 10000 |
||
| ) |
[送信] ローカルファイル送信.
| lpszNewRemoteFile | 転送先のリモートファイル名。 |
| lpszLocalFile | 転送元のローカルファイル名。 |
| to | タイムアウト時間(ms)。省略すると 10秒 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 275 行目に定義があります。
| bool RemoveRemoteDir | ( | LPCTSTR | lpszRemoteDir | ) |
[削除] リモートディレクトリ削除.
| lpszRemoteDir | 削除するリモートディレクトリ。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 203 行目に定義があります。
| bool RenameRemoteFile | ( | LPCTSTR | lpszOldName, |
| LPCTSTR | lpszNewName | ||
| ) |
[変更] 名前変更.
リモートファイル名、リモートディレクトリ名の変更が出来ます。
| lpszOldName | 元のリモートファイル名。 |
| lpszNewName | 変更後のリモートファイル名。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 399 行目に定義があります。
| bool SetCurrentRemoteDir | ( | LPCTSTR | lpszRemoveDir | ) |
[設定] カレントリモートディレクトリ設定.
| lpszRemoveDir | 変更先のディレクトリ名。 |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 241 行目に定義があります。
| void SetLastString | ( | const CStrVector & | vs | ) |
|
protected |
[実行] SFTP コマンドライン実行.
| lpszCommandLine | コマンドライン |
| to | タイムアウト |
| true | 成功。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 610 行目に定義があります。
| bool Synchronize | ( | LPCTSTR | lpszRemoteDir, |
| LPCTSTR | lpszLocalDir, | ||
| ESyncMode | mode, | ||
| ESyncCriteria | criteria = SyncCriteria_Both, |
||
| DWORD | to = 10000, |
||
| LPCTSTR | lpszOption = NULL |
||
| ) |
[同期] ローカルとリモートの同期.
| lpszRemoteDir | リモートディレクトリ名。 |
| lpszLocalDir | ローカルディレクトリ名。 |
| mode | 同期モード。 |
| criteria | 同期基準。 |
| to | タイムアウト時間(ms)。省略すると 10秒 |
| lpszOption | オプション。たとえば、”-delete”など。省略可能。 |
| true | 成功。成功したファイル名、数は、 GetSynchronizedFiles() で得られます。 |
| false | 失敗。理由は GetLastString() で得られます。 |
TnbSftpFile.h の 314 行目に定義があります。
|
static |
[設定] 強制終了 WinSCP.
プログラムが異常終了した際、 WinScp が残ってしまうケースがあります。 これは winscp を強制終了するメソッドです。
TnbSftpFile.h の 579 行目に定義があります。