VB6 FTPファイルのパーミッション変更
VB6からFTPを使用してファイルを送信したのですが、
パーミッション変更の仕方が分からず困っています。
いろんなところの過去ログやらを見て、FtpCommandを使用して
quote site chmod 777 ファイル名
をやれば良さそうだというところまで解ったのですが、
何せVB6なもんでFtpCommandの使用方法まで解りませんでした。
まず下記のように定義しました。
Public Declare Function FtpCommand Lib "wininet.dll" Alias "FtpCommandA" _
(ByVal hFtpSession As Long, _
ByVal fExpectResponse As Boolean, _
ByVal dwFlags As Long, _
ByVal lpszCommand As String, _
ByVal lContext As Long, _
phFtpCommand As Long) As Boolean
その後、FtpCommandの実行はこのようにしています。
lngRtn = FtpCommand(hConnection, 1, FTP_TRANSFER_TYPE_ASCII, strCmd, 0, hResponse)
パラメータで渡すコマンド文字列を下記のようにしました。
strCmd = "quote site chmod 777 temp.txt"
この場合は戻り値が0で、パーミッションも変更されませんでした。
(あっという間にlngRtnに0が入ってきました)
そこで、QUOTEを省略してみました。
strCmd = "site chmod 777 temp.txt"
すると戻り値が0でしたが、パーミッションは変更されました。
(やたら時間が掛かりました)
しかし、戻り値が0だと正常終了なのか、エラー終了なのか判断できない気がします。
判定の仕方が間違っているとか、定義が違う、パラメータが違う等、
どなたか何かご存知であればご教授願いたいと思います。
長文ですいませんでした。
環境:WinXP, Win2008Svr R2
お礼
返事が、大変遅くなりました。 ありがとうございました。