64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
/*****************************************************************************\
|
|
* MODULE: iecon.cxx
|
|
*
|
|
* The module contains class for connections using IE's default configuration
|
|
*
|
|
* Copyright (C) 1997-1998 Microsoft Corporation
|
|
*
|
|
* History:
|
|
* 07/31/98 Weihaic Created
|
|
*
|
|
\*****************************************************************************/
|
|
|
|
|
|
#include "precomp.h"
|
|
#include "priv.h"
|
|
|
|
CIEConnection::CIEConnection (
|
|
BOOL bSecure,
|
|
INTERNET_PORT nServerPort):
|
|
CAnyConnection (bSecure, nServerPort, FALSE, AUTH_IE)
|
|
{
|
|
}
|
|
|
|
BOOL
|
|
CIEConnection::SendRequest(
|
|
HINTERNET hReq,
|
|
LPCTSTR lpszHdr,
|
|
CStream *pStream)
|
|
{
|
|
static const DWORD dwMaxRetry = 3;
|
|
|
|
BOOL bRet = FALSE;
|
|
DWORD dwRet;
|
|
DWORD dwFlags;
|
|
DWORD i;
|
|
|
|
dwFlags = FLAGS_ERROR_UI_FILTER_FOR_ERRORS; //FLAGS_ERROR_UI_FLAGS_NO_UI;
|
|
|
|
for (i = 0; i < dwMaxRetry; i++ ) {
|
|
bRet = CAnyConnection::SendRequest (hReq,
|
|
lpszHdr,
|
|
pStream);
|
|
|
|
if (bRet || GetLastError () != ERROR_ACCESS_DENIED) {
|
|
break;
|
|
}
|
|
|
|
|
|
dwRet = InetInternetErrorDlg(GetDesktopWindow(),
|
|
hReq,
|
|
ERROR_INTERNET_INCORRECT_PASSWORD ,
|
|
dwFlags,
|
|
NULL);
|
|
if (dwRet != ERROR_INTERNET_FORCE_RETRY) {
|
|
|
|
SetLastError (ERROR_ACCESS_DENIED);
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
return bRet;
|
|
}
|