InternetReadFileExW 中的第四个参数是做什么用的?

问题描述 投票:0回答:1

InternetReadFileExW
中的最后一个参数是做什么用的?

根据文档:

调用者提供用于异步操作的上下文值。

但我更像是同步调用它:

if( !InternetReadFileExW(hRequest,(LPINTERNET_BUFFERSW)&net_buffer, IRF_SYNC, NULL))

那么,我应该使用什么作为最后一个参数?

wininet
1个回答
0
投票

要异步使用

Wininet
,需要调用
InternetSetStatusCallback
函数。

https://learn.microsoft.com/en-us/windows/win32/api/wininet/nf-wininet-internetsetstatuscallback

每次更新要上传/下载的项目的进度时都会调用该函数,因此会检查

INTERNET_STATUS_REQUEST_COMPLETE

https://learn.microsoft.com/en-us/windows/win32/api/wininet/nc-wininet-internet_status_callback

当请求准备好时。

InternetSetStatusCallback页面的

备注
部分是:

lpfnInternetCallback
dwContext
 参数设置为零
(HttpOpenRequest) 或连接句柄时,将不会在请求句柄的异步操作中调用
INTERNET_NO_CALLBACK
参数中指定的回调函数当
dwContext
InternetConnect
手柄设置为零 (
INTERNET_NO_CALLBACK
) 时。

即如果您想使用异步,请将

dwContext
设置为 1。

© www.soinside.com 2019 - 2024. All rights reserved.