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); 
 
}