タイトル : Re^6: wininet.dllを使用したftpについて 投稿日 : 2010/08/29(Sun) 19:25 投稿者 : 魔界の仮面弁士
>> InternetOpenの戻り値は13369348、InternetConnectの戻り値は13369352、 >> FtpPutFileの戻り値はゼロになっています。 FtpPutFile だけが失敗しているようですね。 第2〜第4引数(LocalFile, NewRemoteFile, Flags)に渡している値は それぞれどのような内容ですか? IIS6 だと、"opt utf-8 on" には 対応していないはずなので、利用可能なファイル名には制限があります。 また、FtpPutFileEx API で代用した場合はどうでしょうか? >> 接続時と切断時に、[正規表現変換でエラーが発生しました]という 正直、FTP で正規表現変換という点が良く分かりませんでした。 このエラーは、サーバー側/クライアント側いずれで出力されていますか? また、(T-01A ではなく) XP 上の .NET Compact Framework 3.5 から 実行した場合は、どのような結果になりますか? >> メッセージがたくさん表示され、Server側のファイルが全てフォルダになり、名前も >> Dateも空白になっています。 まずはパケットをキャプチャして、通信内容をトレースしてみては如何でしょうか。 あと、FTP サーバーの設定も確認してみて下さい。たとえばサーバー側が IIS6 の場合は、ディレクトリスタイルが UNIX / MS-DOS のいずれなのかとか。 > そういう意味ではないでしょう。IntPtr型にすべきもの、Integer型にすべきもの、 > XXX型にすべきもの、いろいろです。 ですね。フォローありがとうございます。 > WinINet Functions > http://msdn.microsoft.com/ja-jp/library/aa385473(VS.85).aspx それはデスクトップ版の API ですね。 Windows Mobile 6.5 版はこちらです。まぁ、基本的には同じですが。 http://msdn.microsoft.com/en-us/library/aa914184.aspx > #IntPtr型でなくてもInteger型でもうまく行くのは、 > #実行環境が32bitの場合だけです。 実際のところ、.NET Compact Framework 3.5 は 32 bit 専用であり、 現時点では 16bit や 64bit 版の環境が存在するわけではないので、 事実上、Integer や UInteger でも代用することは可能です。とはいえ、 中身がハンドルなのであれば、やはり IntPtr を使った方が自然ですね。 |