FtpgetCurrentDirectory FTPでのリモートのカレントディレクトリを取得

Cの宣言:

BOOL FtpGetCurrentDirectory(
	IN HINTERNET hFtpSession,
	OUT LPCTSTR CurDir,
	IN OUT LPDWORD CurDirSize);

説明:

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

引数の意味は以下の通り。
hFtpSession FTPセッションのハンドル。
CurDir カレントディレクトリ。
CurDirSize CurDirのサイズ。関数の実行後、CurDirに設定されたデータのサイズまたは必要なサイズが返される。

戻り値は、関数の実行に成功したか否かを表す真偽値である。

Cのサンプル:

FTPセッションを確立し、FtpGetCurrentDirectoryを使用してカレントディレクトリの取得・表示を行う。
void DispFtpCurDir()
{
	HINTERNET hInternet;
	HINTERNET hFtpSession;
	char CurDir[1000];
	DWORD CurDirSize = 1000;

	/* WININETの初期化 */
	hInternet = InternetOpen(
		"WININET Sample Program",
		INTERNET_OPEN_TYPE_DIRECT,
		NULL,
		NULL,
		0);

	/* FTPセッションの確立 */
	hFtpSession = InternetConnect(
		hInternet,
		"ftp.cool.ne.jp",
		INTERNET_DEFAULT_FTP_PORT,
		"foo",
		"bar",
		INTERNET_SERVICE_FTP,
		0,
		0);

	/* カレントディレクトリの表示 */
	FtpGetCurrentDirectory(hFtpSession, CurDir, &CurDirSize);
	printf("%s\n", CurDir);

	/* 後処理 */
	InternetCloseHandle(hFtpSession);
	InternetCloseHandle(hInternet);
}
(original text:1999/05/13 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。