お客さんのシステムでFTP通信で切断の際にいつもエラーが出ると言う。 どうも調べてみると、WinINet APIでFTP通信をしているようなのだが、これが曲者。 WinINet APIでのFTP通信というと、例えば公式で解説されているように、 (1)InternetOpenでインターネットハンドルを取得 (2)InternetConnectでFTPサーバへ接続 (3)FtpGetFileでファイルGET (4)InternetCloseHandleでFTPサーバ切断 (5)InternetCloseHandleでインターネットハンドルを解放 というのが典型的な手順といわれている。 普通に考えたら、(4)のFTPサーバ切断のところで、FTPプロトコルに従って正しい手順でサーバ切断の処理(QUITリクエスト)をしてくれそうなものだが、残念ながらWinINetはそんなにお行儀がよくないようだ。(