TNB Library
公開メンバ関数 | 全メンバ一覧
CFtpSession クラス

FTPセッション管理クラス [詳解]

#include <TnbFtpFile.h>

公開メンバ関数

 CFtpSession (const CFtpSession &other)
 コピーコンストラクタ [詳解]
 
 CFtpSession (void)
 コンストラクタ [詳解]
 
void Close (void)
 [設定] クローズ. [詳解]
 
bool CreateRemoteDir (LPCTSTR lpszRemoteDir)
 [作成] リモートディレクトリ作成. [詳解]
 
bool DeleteRemoteFile (LPCTSTR lpszRemoteFile)
 [削除] リモートファイル削除. [詳解]
 
bool GetCurrentRemoteDir (LPTSTR _lpszCurrentRemoteDir, DWORD &_length)
 [取得] カレントリモートディレクトリ取得. [詳解]
 
bool GetRemoteFile (LPCTSTR lpszNewLocalFile, LPCTSTR lpszRemoteFile, BOOL fFailIfExists, DWORD dwFlagsAndAttributes, DWORD dwFlags, DWORD_PTR dwContext=0)
 [取得] リモートファイル取得. [詳解]
 
bool IsValid (void) const
 [確認] ハンドル有効確認 [詳解]
 
bool Open (LPCTSTR lpszAgent, LPCTSTR lpszServerName, LPCTSTR lpszUserName=NULL, LPCTSTR lpszPassword=NULL)
 [設定] オープン. [詳解]
 
 operator CInternetHandle & (void)
 [取得] セッションハンドル取得 [詳解]
 
CFtpSessionoperator= (const CFtpSession &other)
 [代入] コピーオペレータ [詳解]
 
bool PutLocalFile (LPCTSTR lpszNewRemoteFile, LPCTSTR lpszLocalFile, DWORD dwFlags, DWORD_PTR dwContext=0)
 [送信] ローカルファイル送信. [詳解]
 
bool RemoveRemoteDir (LPCTSTR lpszRemoteDir)
 [削除] リモートディレクトリ削除. [詳解]
 
bool RenameRemoteFile (LPCTSTR lpszOldName, LPCTSTR lpszNewName)
 [変更] 名前変更. [詳解]
 
bool SetCurrentRemoteDir (LPCTSTR lpszRemoteDir)
 [設定] カレントリモートディレクトリ設定. [詳解]
 

詳解

FTPセッション管理クラス

サーバ接続とカレントディレクトリを管理します。カレントディレクトリ上の
操作(デリート、リネームなど)をサポートします。
必要ファイル
TnbFtpFile.h
日付
06/10/03 新規
12/02/09 CSftpSession とメソッド名をあわせた

TnbFtpFile.h35 行目に定義があります。

構築子と解体子

◆ CFtpSession() [1/2]

CFtpSession ( void  )

コンストラクタ

TnbFtpFile.h40 行目に定義があります。

◆ CFtpSession() [2/2]

CFtpSession ( const CFtpSession other)

コピーコンストラクタ

引数
otherコピー元

TnbFtpFile.h48 行目に定義があります。

関数詳解

◆ Close()

void Close ( void  )

[設定] クローズ.

WININET呼び出し用のハンドルと、指定サーバのセッションハンドルを閉じます。

TnbFtpFile.h101 行目に定義があります。

◆ CreateRemoteDir()

bool CreateRemoteDir ( LPCTSTR  lpszRemoteDir)

[作成] リモートディレクトリ作成.

引数
lpszRemoteDir作成するディレクトリ。
戻り値
true成功。
false失敗。

TnbFtpFile.h122 行目に定義があります。

◆ DeleteRemoteFile()

bool DeleteRemoteFile ( LPCTSTR  lpszRemoteFile)

[削除] リモートファイル削除.

引数
lpszRemoteFile削除するファイルのファイル名。
戻り値
true成功。
false失敗。

TnbFtpFile.h226 行目に定義があります。

◆ GetCurrentRemoteDir()

bool GetCurrentRemoteDir ( LPTSTR  _lpszCurrentRemoteDir,
DWORD &  _length 
)

[取得] カレントリモートディレクトリ取得.

FTPセッション中でのカレントディレクトリを取得する。

覚え書き
FTPセッションのハンドルを使用。
引数
[out]_lpszCurrentRemoteDirカレントディレクトリ。
[in,out]_length_lpszCurrentRemoteDir のサイズ。関数の実行後、設定されたデータのサイズまたは必要なサイズが返される。
戻り値
true成功。
false失敗。

TnbFtpFile.h147 行目に定義があります。

◆ GetRemoteFile()

bool GetRemoteFile ( LPCTSTR  lpszNewLocalFile,
LPCTSTR  lpszRemoteFile,
BOOL  fFailIfExists,
DWORD  dwFlagsAndAttributes,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[取得] リモートファイル取得.

引数
lpszNewLocalFile取得先のローカルファイル名。
lpszRemoteFile取得元のリモートファイル名。
fFailIfExistslpszNewLocalFile で指定されたファイルが既にローカルに存在するときに、エラーにするか否かを表す真偽値。
dwFlagsAndAttributes転送結果のファイルに付与する属性。FILE_ATTRIBUTE_*が指定可能。詳細はCreateFileを参照。
dwFlagsファイルの取得の方法を指定するフラグ。後述の表を参照。
まず次のいずれかのフラグを指定する。
FTP_TRANSFER_TYPE_ASCII 表現形式をASCIIとして転送を行う。
FTP_TRANSFER_TYPE_BINARY 表現形式をIMAGEとして転送を行う。
FTP_TRANSFER_TYPE_UNKNOWN デフォルトの転送方法を使用する。(バイナリ転送)
INTERNET_FLAGS_TRANSFER_ASCII ASCIIファイルを転送する。
INTERNET_FLAGS_TRANSFER_BINARY バイナリファイルを転送する。

次に、以下のフラグの組み合わせを論理和で指定する。
INTERNET_FLAG_DONT_CACHE

INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_MAKE_PERSISTENT

INTERNET_FLAG_MUST_CACHE_REQUEST

INTERNET_FLAG_NEED_FILE
INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE
dwContextコールバック関数へ渡す32bit値。
戻り値
true成功。
false失敗。

TnbFtpFile.h190 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const

[確認] ハンドル有効確認

戻り値
ture有効。
false無効(開いていないか、失敗したか)。

TnbFtpFile.h69 行目に定義があります。

◆ Open()

bool Open ( LPCTSTR  lpszAgent,
LPCTSTR  lpszServerName,
LPCTSTR  lpszUserName = NULL,
LPCTSTR  lpszPassword = NULL 
)

[設定] オープン.

WININET呼び出し用のハンドルと、指定サーバのセッションハンドルを作成します。 本クラスのメソッドを使用するには、まずオープンする必要があります。

引数
lpszAgentHTTPによりインターネットにアクセスする際のエージェント名。
lpszServerName接続先のホスト名またはドット表記のIPアドレス。
lpszUserName接続の際に使用されるユーザ名。NULLを指定した場合デフォルト(FTPなら"anonymous")が使用される。
lpszPassword接続の際に使用されるパスワード。UserNameとPasswordが共にNULLの場合、Passwordはe-mailアドレスが使用される。
戻り値
true成功。本クラスのハンドルが有効になる。
false失敗。本クラスのハンドルは無効になる。

TnbFtpFile.h85 行目に定義があります。

◆ operator CInternetHandle &()

operator CInternetHandle & ( void  )

[取得] セッションハンドル取得

戻り値
ハンドル

TnbFtpFile.h111 行目に定義があります。

◆ operator=()

CFtpSession & operator= ( const CFtpSession other)

[代入] コピーオペレータ

引数
otherコピー元
戻り値
自分の参照

TnbFtpFile.h57 行目に定義があります。

◆ PutLocalFile()

bool PutLocalFile ( LPCTSTR  lpszNewRemoteFile,
LPCTSTR  lpszLocalFile,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[送信] ローカルファイル送信.

引数
lpszNewRemoteFile転送先のリモートファイル名。
lpszLocalFile転送元のローカルファイル名。
dwFlags転送方法を指定するフラグ。後述の表を参照。
以下のフラグの組み合わせである。
INTERNET_FLAG_DONT_CACHE

INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_MAKE_PERSISTENT

INTERNET_FLAG_MUST_CACHE_REQUEST

INTERNET_FLAG_NEED_FILE
INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE
INTERNET_FLAG_TRANSFER_ASCII

INTERNET_FLAG_TRANSFER_BINARY
dwContextアプリケーション定義のコールバック関数に渡す32bit値。
戻り値
true成功。
false失敗。

TnbFtpFile.h215 行目に定義があります。

◆ RemoveRemoteDir()

bool RemoveRemoteDir ( LPCTSTR  lpszRemoteDir)

[削除] リモートディレクトリ削除.

引数
lpszRemoteDir削除するディレクトリ。
戻り値
true成功。
false失敗。

TnbFtpFile.h133 行目に定義があります。

◆ RenameRemoteFile()

bool RenameRemoteFile ( LPCTSTR  lpszOldName,
LPCTSTR  lpszNewName 
)

[変更] 名前変更.

リモートファイル名、リモートディレクトリ名の変更が出来ます。

引数
lpszOldName元のリモートファイル名。
lpszNewName変更後のリモートファイル名。
戻り値
true成功。
false失敗。

TnbFtpFile.h239 行目に定義があります。

◆ SetCurrentRemoteDir()

bool SetCurrentRemoteDir ( LPCTSTR  lpszRemoteDir)

[設定] カレントリモートディレクトリ設定.

引数
lpszRemoteDir変更先のディレクトリ名。
戻り値
true成功。
false失敗。

TnbFtpFile.h158 行目に定義があります。