掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WinInetを用いたFtpPutFileについて (ID:121629)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VBを始めて1ヶ月の者です。 WinInetを用いたFtpPutを実行したいのですが、 connectまでは成功している、putが成功しません。 FtpPutFile直後にErr.LastDllErrorでエラーを参照したところ 「12003」というエラー値が返ってきました。 現在、このエラー値の原因をWebで調べているのですが なかなか結論にはいたりません。 VBに詳しい方、是非アドバイスをください。 またソースの一部を下記に記述しますので、APIの宣言等で 誤りがあったら教えて頂けると助かります。 宜しくお願い致します。 ※開発環境はクライアント:Win2000、FTPサーバ:Win2003サーバ、VB6.0です。 Private Declare Function FtpPutFile Lib "WinInet.DLL" _ Alias "FtpPutFileA" _ (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, _ ByVal dwContext As Long) As Long Public Function FtpDataput() On Error GoTo FTPDATAGETINI_ERR Dim lngInethnd As Long 'InterNet Open Handle Dim lngFtphnd As Long 'InterNet Connect Handle Dim lngRet As Long '戻り値 Dim strFtpSvrIP As String 'IP Dim msFtpUid As String 'ID Dim msFtpPwd As String 'PASS Dim msLocDir As String 'ローカルパス Dim msFtpDir As String 'リモートパス On Error GoTo FTPDATAGETINI_ERR strFtpSvrIP = "×.×.×.×" msFtpUid = "Administrator" msFtpPwd = "admin" msLocDir = "E:\TEST\trancefile.txt" msFtpDir = "F:\FTPTEST" 'InternetOpen (Handle を取得) インターネットへの接続します lngInethnd = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _ vbNullString, vbNullString, 0) 'InternetConnect (上記で取得した Handle で FTP Server に Connect) 'サーバーに接続、ハンドルを返す lngFtphnd = InternetConnect(lngInethnd, strFtpSvrIP, INTERNET_DEFAULT_FTP_PORT, _ msFtpUid, msFtpPwd, INTERNET_SERVICE_FTP, 0&, 0&) 'FTP ServerにファイルをPUTする lngRet = FtpPutFile(lngFtphnd, msLocDir & vbNullChar, msFtpDir & vbNullChar, _ FTP_TRANSFER_TYPE_ASCII, 0) ret = MsgBox(Err.LastDllError, vbInformation, "情報") lngRet = InternetCloseHandle(lngFtphnd) lngRet = InternetCloseHandle(lngInethnd) Exit Function FTPDATAGETINI_ERR: 'InternetConnect がされた後なのか判断 If lngFtphnd <> 0 Then 'Internet Handle Close 処理 lngRet = InternetCloseHandle(lngFtphnd) End If End End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.