IFTPService接口说明
该接口提供基本的FTP访问服务。详细说明
#import “FTPService.tlb” no_namespace
#include “Public.h”
接口函数
HRESULT Connect([in]BSTR bstrServer, [in]BSTR bstrUser, [in]BSTR bstrPassword, [in]int nPort)
连接FTP服务器。详细说明
HRESULT Disconnect()
断开与FTP服务器的连接。详细说明
HRESULT IsConnected([out, retval]int *pbConnected)
判断是否与FTP服务器建立连接。详细说明
HRESULT GetErrorCode([out, retval]HRESULT *phr)
获取上次操作的错误代码。详细说明
HRESULT GetErrorString([out, retval]BSTR *pbstrErrorString)
获取上次操作的错误描述。详细说明
HRESULT GetCurrentDirectory([out, retval]BSTR *pbstrDirectory)
获取FTP服务器上的当前路径。详细说明
HRESULT SetCurrentDirectory([in]BSTR bstrDirectory)
设置FTP服务器上的当前路径。详细说明
HRESULT CreateDirectory([in]BSTR bstrDirectory)
在FTP服务器上创建路径。详细说明
HRESULT RemoveDirectory([in]BSTR bstrDirectory)
从FTP服务器上删除路径。详细说明
HRESULT DeleteRemoteFile([in]BSTR bstrFileName)
从FTP服务器上删除文件。详细说明
HRESULT DeleteLocalFile([in]BSTR bstrFileName)
删除本地文件。详细说明
HRESULT GetLocalFileSize([in]BSTR bstrFileName, [out, retval]__int64 *plFileSize)
获取本地文件大小。详细说明
HRESULT GetRemoteFileSize([in]BSTR bstrFileName, [out, retval]__int64 *plFileSize)
从FTP服务器上获取文件大小。详细说明
HRESULT SetOption([in]INT nOptionType, [in]INT nFirstValue, [in]INT nSecondValue)
设置FTP服务的属性。详细说明
HRESULT UploadFile([in]BSTR bstrLocalFile, [in]BSTR bstrRemoteFile, [out]DWORD *pdwServiceID)
向FTP服务器上传文件。详细说明
HRESULT DownloadFile([in]BSTR bstrRemoteFile, [in]BSTR bstrLocalFile, [out]DWORD *pdwServiceID)
从FTP服务器下载文件。详细说明
HRESULT StopAllServices()
停止所有的上传/下载服务。详细说明
HRESULT StopService([in]DWORD dwServiceID)
停止指定的上传/下载服务。详细说明
HRESULT CancelService([in]DWORD dwServiceID)
取消指定的上传/下载服务。详细说明
HRESULT GetServiceErrorCode([in]DWORD dwServiceID, [out, retval]HRESULT *phr)
获取指定的上传/下载服务的错误代码。详细说明
HRESULT GetServiceErrorString([in]DWORD dwServiceID, [out, retval]BSTR *pbstrErrDesc)
获取指定的上传/下载服务的错误描述。详细说明
HRESULT IsServiceStopped([in]DWORD dwServiceID, [out, retval]long *pbStopped) 判断指定的上传/下载服务是否结束。详细说明
HRESULT GetServiceTotalSize([in]DWORD dwServiceID, [out, retval]__int64 *plTotalSize)
获取指定的上传/下载服务的总文件长度。详细说明
HRESULT GetServiceCurrentSize([in]DWORD dwServiceID, [out, retval]__int64 *plCurSize)
获取指定的上传/下载服务当前完成的文件长度。详细说明
HRESULT GetServiceProgress([in]DWORD dwServiceID, [out, retval]INT *pnPercent)
获取上传/下载服务的进度。详细说明
HRESULT SendFile([in]BSTR bstrServer, [in]BSTR bstrUser, [in]BSTR bstrPassword, [in]INT nPort, [in]BSTR bstrLocalFile, [in]BSTR bstrRemoteFile, [out]DWORD *pdwServiceID)
直接向FTP服务器上传文件。详细说明
HRESULT ReceiveFile([in]BSTR bstrServer, [in]BSTR bstrUser, [in]BSTR bstrPassword, [in]INT nPort, [in]BSTR bstrRemoteFile, [in]BSTR bstrLocalFile, [out]DWORD *pdwServiceID)
直接从FTP服务器下载文件。详细说明
详细说明
本接口用于提供基本的FTP操作,包括连接服务器、上传文件、下载文件、获取路径、设置路径、创建路径、获取文件大小等。该接口是基于微软提供的Win32 Internet Extensions(即WinInet )开发的。由于WinInet本身有局限性,它不提供断点续传功能,也就不提供多点同时上传一个文件的功能,所以这些功能在本接口中也不支持。但是,本接口采用线程进行上传/下载操作,支持同时进行多个文件的上传/下载操作,并且支持同时对多个服务器传送不同的文件。
本接口对上传/下载文件提供了两种操作方法,一种是连接服务器然后进行文件操作,另一种就是直接向指定的服务器进行文件操作。其工作方式如下图所示:
图1 操作模式一
图2 操作模式二
在第一种操作模式中,由于明显地建立了与服务器的连接,因此可以进行创建目录、设置目录、获取文
件大小等其他操作;而第二种操作模式是为了方便快速的上传/下载文件,因此不支持其他的操作。
上传/下载文件采用异步的工作方式,一旦成功开始传送文件,接口就将控制返回给调用接口的应用程序,并不进行阻塞操作。应用程序负责等待操作结束,并可以显示传送进度等。工作方式如下图所示:
图3 文件传送
接口函数详细说明
HRESULT Connect ( [in]BSTR bstrServer,
[in]BSTR bstrUser,
[in]BSTR bstrPassword,
[in]int nPort )
该函数用于与FTP服务器建立连接。
参数:
bstrServer ——服务器名称
bstrUser ——登录用户
bstrPassword ——登录密码
nPort ——服务端口
返回:
成功返回NOERROR,否则返回错误代码
说明:
调用该函数与FTP服务器建立一个连接,它并不在服务器上执行任何其它的操作,但是在执行其它操作之前必须建立连接。
HRESULT Disconnect ()
该函数断开与FTP服务器的连接。
参数:
返回:
成功返回NOERROR,否则返回错误代码
说明:
调用该函数断开与FTP服务器的连接。它必须和Connect()函数成对使用,否则会发生错误。
HRESULT IsConnected ( [out, retval]int *pbConnected )
该函数判断是否与FTP服务器建立连接。
参数:
pbConnected ——连接标志(返回值)
返回:
成功返回NOERROR,否则返回错误代码
说明:
HRESULT GetErrorCode( [out, retval]HRESULT *phr )
该函数获取错误代码。
参数:
delete inphr ——错误代码(返回值)
返回:
成功返回NOERROR,否则返回错误代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。