TNB Library
|
SSH FTPセッション管理クラス [詳解]
#include <TnbSftpFile.h>
公開型 | |
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 行目に定義があります。