【千律】API档案:URLDownloadToFile 函数说明

这篇博客介绍了如何使用URLDownloadToFile API函数从指定URL下载内容并保存到本地文件。该函数涉及到ActiveX组件、URL、文件名、回调接口和错误处理。通过示例代码展示了如何调用此函数,返回值S_OK表示成功,E_OUTOFMEMORY表示内存不足,INET_E_DOWNLOAD_FAILURE表示下载失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:
指从指定URL地址读取内容并将读取到的内容保存到特定的文件里。

语法格式:

HRESULT URLDownloadToFile( 
    LPUNKNOWN pCaller,
    LPCTSTR szURL,
    LPCTSTR szFileName,
    DWORD dwReserved,
    LPBINDSTATUSCALLBACK lpfnCB
);

参数:
pCaller:Pointer to the controlling IUnknown interface of the calling Microsoft ActiveX component (if the caller is an ActiveX component).
//该参数为 ActiveX 控件的接口指针,如果当前程序不是 ActiveX 控件则写 NULL 就可以了。

szURL
Pointer to a string value containing the URL to be downloaded. Cannot be set to NULL.
//该参数为要下载的 url 地址,不能为空。

szFileName
Pointer to a string value containing the name of the file to create for bits that come from the download.
//下载文件后,保存的文件名字,包含文件的具体路径信息。

dwReserved
Reserved. Must be set to 0.
//保留字段,必需为0。

lpfnCB
Pointer to the caller's IBindStatusCallback interface. URLDownloadToFile calls this interface's IBindStatusCallback::OnProgress method on a connection activity, including the arrival of data. IBindStatusCallback::OnDataAvailable is never called.
//下载进度状态回调接口的指针。如果要实时监视下载文件的状态那么就要用到这个参数了。

返回值:
S_OK : 成功下载;
E_OUTOFMEMORY:缓冲区长度不够,或者没有足够的内存来完成下载的操作;
INET_E_DOWNLOAD_FAILURE:指定的资源或者回调接口有问题。

实例:

HRESULT hRet = URLDownloadToFile(NULL, "https://s.cctry.com/images/eagle2.png", "D:\\cctry.png", 0, NULL);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值