INTERNET_STATUS_CALLBACK回调函数 (wininet.h)
应用程序定义的状态回调函数的原型。
INTERNET_STATUS_CALLBACK类型定义指向此回调函数的指针。InternetStatusCallback 是应用程序定义的函数名称的占位符。
语法
INTERNET_STATUS_CALLBACK InternetStatusCallback;
void InternetStatusCallback(
[in] HINTERNET hInternet,
[in] DWORD_PTR dwContext,
[in] DWORD dwInternetStatus,
[in] LPVOID lpvStatusInformation,
[in] DWORD dwStatusInformationLength
)
{...}
参数
[in] hInternet
调用回调函数的句柄。
[in] dwContext
指向变量的指针,该变量指定与 hInternet 关联的应用程序定义的上下文值。
[in] dwInternetStatus
指示调用回调函数的原因的状态代码。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
关闭与服务器的连接。 lpvStatusInformation 参数为 NULL。 |
|
已成功连接到 lpvStatusInformation 指向 (SOCKADDR) 的套接字地址。 |
|
连接到 lpvStatusInformation (SOCKADDR) 指向的套接字地址。 |
|
已成功关闭与服务器的连接。 lpvStatusInformation 参数为 NULL。 |
|
从缓存中检索内容。 包含有关 URL 的过去 Cookie 事件的数据,例如 Cookie 是否被接受、拒绝、降级或被限制。
lpvStatusInformation 参数是指向 InternetCookieHistory 结构的指针。 |
|
指示已接受、拒绝、降级 (从永久性 cookie 更改为会话 cookie) 或 (仅在第一方上下文) 发送。 lpvStatusInformation 参数是包含接收的 Cookie 数的 DWORD。 |
|
指示发送请求时已发送或取消的 Cookie 数。 lpvStatusInformation 参数是一个 DWORD,其中包含发送或抑制的 Cookie 数。 |
|
未实现。 |
|
通知客户端应用程序已检测到代理。 |
|
此句柄值已终止。 pvStatusInformation 包含要关闭的句柄的地址。 lpvStatusInformation 参数包含要关闭的句柄的地址。 |
|
由 InternetConnect 用来指示它已创建新句柄。 这样,如果连接时间过长,则应用程序可以从另一个线程调用 InternetCloseHandle 。 lpvStatusInformation 参数包含 HINTERNET 句柄的地址。 |
|
从服务器收到中间 (100 级别) 状态代码消息。 |
|
已成功找到 lpvStatusInformation 中包含的名称的 IP 地址。 lpvStatusInformation 参数指向包含主机名的 PCTSTR。 |
|
响应中包含 P3P 标头。 |
|
未实现。 |
|
未实现。 |
|
未实现。 |
|
等待服务器响应请求。 lpvStatusInformation 参数为 NULL。 |
|
HTTP 请求将自动重定向请求。 lpvStatusInformation 参数指向新 URL。 此时,应用程序可以使用重定向响应读取服务器返回的任何数据,并且可以查询响应标头。 它还可以通过关闭句柄来取消操作。 如果原始请求指定 INTERNET_FLAG_NO_AUTO_REDIRECT,则不会进行此回调。 |
|
异步操作已完成。 lpvStatusInformation 参数包含INTERNET_ASYNC_RESULT结构的地址。 |
|
已成功将信息请求发送到服务器。 lpvStatusInformation 参数指向包含发送的字节数的 DWORD 值。 |
|
查找 lpvStatusInformation 中包含的名称的 IP 地址。 lpvStatusInformation 参数指向包含主机名的 PCTSTR。 |
|
已成功从服务器收到响应。 |
|
将信息请求发送到服务器。 lpvStatusInformation 参数为 NULL。 |
|
在安全 (HTTPS) 和不安全 (HTTP) 站点之间移动。 必须通知用户此更改;否则,用户将面临非自愿泄露敏感信息的风险。 设置此标志后, lpvStatusInformation 参数将指向包含其他标志的状态 DWORD。 |
[in] lpvStatusInformation
指向其他状态信息的指针。 设置 INTERNET_STATUS_STATE_CHANGE 标志后, lpvStatusInformation 指向包含以下一个或多个标志的 DWORD :
[in] dwStatusInformationLength
lpvStatusInformation 指向的数据的大小(以字节为单位)。
返回值
无
备注
由于回调是在处理请求期间进行的,因此应用程序应在回调函数中花费很少的时间,以避免降低网络上的数据吞吐量。 例如,在回调函数中显示对话框可能是一个冗长的操作,服务器会终止请求。
可以在与启动请求的线程不同的线程上下文中调用回调函数。
谨慎 当状态从安全 (HTTPS) 站点更改为不安全 (HTTP) 站点时,始终通知用户,以防止非自愿信息泄露。
注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wininet.h |