CInternetSession::OnStatusCallback
此成员函数由框架调用更新其状态,在状态回调处于启用状态,并执行挂起。
virtual void OnStatusCallback(
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength
);
参数
dwContext
应用程序提供值的上下文。dwInternetStatus
指示状态的代码回调原因进行。为可能的值表参见 Remarks。lpvStatusInformation
对包含信息的缓冲区的指针和此回调相关。dwStatusInformationLength
lpvStatusInformation的大小。
备注
您必须首先调用 EnableStatusCallback 利用状态回调。
dwInternetStatus 参数指示执行的操作并确定 lpvStatusInformation 内容将为。dwStatusInformationLength 指示在 lpvStatusInformation包含的数据的长度。dwInternetStatus 的以下状态值定义为:
值 |
含义 |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
查找在 lpvStatusInformation包含名称的IP地址。 |
INTERNET_STATUS_NAME_RESOLVED |
成功找到了 lpvStatusInformation包含的名称的IP地址。 |
INTERNET_STATUS_CONNECTING_TO_SERVER |
连接到套接字地址(SOCKADDR)指向由 lpvStatusInformation。 |
INTERNET_STATUS_CONNECTED_TO_SERVER |
成功连接到套接字地址(SOCKADDR)指向由 lpvStatusInformation。 |
INTERNET_STATUS_SENDING_REQUEST |
将信息发送请求到服务器。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_ REQUEST_SENT |
成功发送的信息服务器请求。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_RECEIVING_RESPONSE |
等待服务器响应请求。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_RESPONSE_RECEIVED |
成功接收来自服务器的响应。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_CLOSING_CONNECTION |
关闭与服务器的连接。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_CONNECTION_CLOSED |
成功关闭与服务器的连接。lpvStatusInformation 参数是 NULL。 |
INTERNET_STATUS_HANDLE_CREATED |
用于由Win32 API函数 InternetConnect 指示它创建了新的句柄。如果连接时间过长,这样应用程序调用另一个线程的Win32函数 InternetCloseHandle。请参见 Windows SDK有关这些功能的更多信息。 |
INTERNET_STATUS_HANDLE_CLOSING |
成功停止此句柄值。 |
在状态回调实例执行之前,请重写该成员函数需要一些操作。
说明 |
---|
状态回调需要线程状态保护。如果在共享库中使用MFC,将下面一行添加到您的重写开头: |
AFX_MANAGE_STATE(AfxGetAppModuleState());
有关异步操作的更多信息,请参见文章 Internet第一步:WinInet。
要求
Header: afxinet.h