WM下进行http下载、断点下载和上传(C++)(二)

2014-11-24 12:07:20 · 作者: · 浏览: 8
vent(hConnectedEvent);
}
break;
case 2: // Request handle
switch(dwInternetStatus)
{
case INTERNET_STATUS_HANDLE_CREATED:
{
INTERNET_ASYNC_RESULT *pRes = (INTERNET_ASYNC_RESULT *)lpStatusInfo;
m_hRequest = (HINTERNET)pRes->dwResult;
printf( "Request handle created/n");
SetEvent(hRequestOpenedEvent);
}
break;
case INTERNET_STATUS_REQUEST_SENT:
{
DWORD *lpBytesSent = (DWORD*)lpStatusInfo;
printf("Bytes Sent: %d/n", *lpBytesSent);
//dwNumBytesComplete += *lpBytesSent;
}
break;
case INTERNET_STATUS_REQUEST_COMPLETE:
{
INTERNET_ASYNC_RESULT *pAsyncRes = (INTERNET_ASYNC_RESULT *)lpStatusInfo;
printf("Function call finished" );
printf("dwResult: %d/n" ,pAsyncRes->dwResult);
printf( "dwError: %s/n ",pAsyncRes->dwError);


SetEvent(hRequestCompleteEvent);
}
break;
case INTERNET_STATUS_RECEIVING_RESPONSE:
printf("Receiving Response/n" );

break;
case INTERNET_STATUS_RESPONSE_RECEIVED:
{
DWORD *dwBytesReceived = (DWORD*)lpStatusInfo;
printf( "Received %d/n " , *dwBytesReceived);

}


}


}
}


代码中用一个回调函数来控制每一步是否完成,功能是下载一幅图片。