www.pudn.com > WinInet.rar > InetSession.cpp
// InetSession.cpp: implementation of the CInetSession class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "InetDownload.h"
#include "InetSession.h"
#include "inetDownloaddlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CInetSession::CInetSession(DLPARAM* pDlParam):CInternetSession(NULL,1,INTERNET_OPEN_TYPE_DIRECT,
NULL,NULL,0)
{
m_pDlParam=pDlParam;
}
CInetSession::~CInetSession()
{
}
void CInetSession::OnStatusCallback(DWORD dwContext, DWORD dwInternetStatus,
LPVOID lpStatusInformation, DWORD dwStatusInformationLength)
{
CString strStatus="";
switch(dwInternetStatus)
{
case INTERNET_STATUS_STATE_CHANGE:
strStatus="正忙!";
break;
case INTERNET_STATUS_REQUEST_COMPLETE:
strStatus="请求完成!";
break;
case INTERNET_STATUS_CONNECTING_TO_SERVER:
strStatus="连接到服务器!";
break;
case INTERNET_STATUS_RESOLVING_NAME:
strStatus.Format("解析主机名称%s",lpStatusInformation);
break;
case INTERNET_STATUS_NAME_RESOLVED:
strStatus.Format("主机名称%s解析完毕!",lpStatusInformation);
break;
case INTERNET_STATUS_CONNECTED_TO_SERVER:
strStatus="已连接到服务器!";
break;
case INTERNET_STATUS_SENDING_REQUEST:
strStatus="正发送请求!";
break;
case INTERNET_STATUS_REQUEST_SENT:
strStatus="发送请求完毕!";
break;
case INTERNET_STATUS_RECEIVING_RESPONSE:
strStatus="正得到响应!";
break;
case INTERNET_STATUS_RESPONSE_RECEIVED:
strStatus="响应接收完毕!";
break;
case INTERNET_STATUS_CLOSING_CONNECTION:
strStatus="正关闭连接!";
break;
case INTERNET_STATUS_CONNECTION_CLOSED:
strStatus="已关闭连接";
break;
case INTERNET_STATUS_HANDLE_CLOSING:
strStatus="正在处理关闭连接!";
break;
case INTERNET_STATUS_HANDLE_CREATED:
strStatus="建立了连接!";
break;
case INTERNET_STATUS_REDIRECT:
strStatus="目标重定向!";
break;
case INTERNET_STATUS_CTL_RESPONSE_RECEIVED:
default:
strStatus.Format("状态未知:%d",dwInternetStatus);
break;
}
strStatus+="\r\n";
LPCSTR line=strStatus;
::SendMessage(m_pDlParam->hwnd,WM_USER_THREAD_STATUS,
0,(LPARAM)line);
}