「Win32/64ネットワーク開発 003 wininetを使ったftp通信」の版間の差分

提供:yonewiki
編集の要約なし
13行目: 13行目:


<syntaxhighlight lang="cpp" line start=1>
<syntaxhighlight lang="cpp" line start=1>
INETHANDLE g_INETHANDLEinet.hInternet = InternetOpen(L"yo-net.jp ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
HINTERNET HINTERNETinet = InternetOpen(L"yo-net.jp ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
INETHANDLE* pINETHANDLEinet->hHost = InternetConnect(
HINTERNET HINTERNEThost = InternetConnect(
     g_INETHANDLEinet.hInternet,
     HINTERNETinet,
L"ftp.xxxx.com", INTERNET_DEFAULT_FTP_PORT,
L"ftp.xxxx.com", INTERNET_DEFAULT_FTP_PORT,
L"ftp_user_name", L"ftp_user_password",
L"ftp_user_name", L"ftp_user_password",
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);  
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);  
FtpSetCurrentDirectory(g_INETHANDLEinet.hHost, L"/");
FtpSetCurrentDirectory(HINTERNEThost, L"/");
DWORD DWORDsize = 0;
DWORD DWORDsize = 0;
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, NULL, &DWORDsize);
FtpGetCurrentDirectory(HINTERNEThost, NULL, &DWORDsize);
wchar_t* pwchCurrentDir = new wchar_t[DWORDsize/sizeof(wchar_t)];
wchar_t* pwchCurrentDir = new wchar_t[DWORDsize/sizeof(wchar_t)];
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, pwchCurrentDir, &DWORDsize);
FtpGetCurrentDirectory(HINTERNEThost, pwchCurrentDir, &DWORDsize);
</syntaxhighlight>
</syntaxhighlight>



2023年11月9日 (木) 00:40時点における版

Win32/64 ネットワーク処理開発へ戻る。

前の記事:Win32/64ネットワーク開発 002 wininetを使ったhttp通信

次の記事:[[Win32/64ネットワーク開発 004]]

概要

 wininet.Libやwininet.hのインクルードについては前の記事の通り、同じように設定する必要があります。


 まずは、ホスト名やユーザID、パスワード、接続時に最初に表示するディレクトリ名を聞いてくるようなインタフェースを持たない固定値での接続を試してみましょう。接続して、FTPでカレントディレクトリを設定してカレントディレクトリが今何かを返してくれるとこまでのプログラムを書いてみます。以下のとおりです。


HINTERNET HINTERNETinet = InternetOpen(L"yo-net.jp ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
HINTERNET HINTERNEThost = InternetConnect(
    HINTERNETinet,
	L"ftp.xxxx.com",	INTERNET_DEFAULT_FTP_PORT,
	L"ftp_user_name", L"ftp_user_password",
	INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0); 
FtpSetCurrentDirectory(HINTERNEThost, L"/");
DWORD DWORDsize = 0;
FtpGetCurrentDirectory(HINTERNEThost, NULL, &DWORDsize);
wchar_t* pwchCurrentDir = new wchar_t[DWORDsize/sizeof(wchar_t)];
FtpGetCurrentDirectory(HINTERNEThost, pwchCurrentDir, &DWORDsize);


 上記のプログラムにより、pwchCurrentDirにFTP接続したときの現在のディレクトリを取得できます。

 

前の記事:Win32/64ネットワーク開発 002 wininetを使ったhttp通信

次の記事:[[Win32/64ネットワーク開発 004]]

Win32/64 ネットワーク処理開発へ戻る。