Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

234 lines
10 KiB

/*-----------------------------------------------------------------------------
globals.h
General declarations for ICWCONN2
Copyright (C) 1996 Microsoft Corporation
All rights reserved
Authors:
ChrisK Chris Kauffman
Histroy:
7/22/96 ChrisK Cleaned and formatted
9/11/98 a-jaswed really Cleaned and formatted
-----------------------------------------------------------------------------*/
#include "debug.h"
#include "resource.h"
#include "helpids.h"
#include "..\inc\icwdial.h"
#include "..\inc\icwerr.h"
#include "..\icwphbk\phbk.h" // need this to get the LPCNTRYNAMELOOKUPELEMENT struct definition
#include "ras2.h"
BOOL LclSetEntryScriptPatch(LPTSTR lpszScript,LPTSTR lpszEntry);
#include "rnaapi.h"
#define DOWNLOAD_LIBRARY TEXT("icwdl.dll")
#define DOWNLOADINIT "DownLoadInit"
#define DOWNLOADEXECUTE "DownLoadExecute"
#define DOWNLOADCLOSE "DownLoadClose"
#define DOWNLOADSETSTATUS "DownLoadSetStatusCallback"
#define DOWNLOADPROCESS "DownLoadProcess"
#define DOWNLOADCANCEL "DownLoadCancel"
#define SIGNUPKEY TEXT("SOFTWARE\\MICROSOFT\\ISIGNUP")
#define GATHERINFOVALUENAME TEXT("UserInfo")
#define RASENTRYVALUENAME TEXT("RasEntryName")
#define IEAPPPATHKEY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\IEXPLORE.EXE")
#define MAX_RASENTRYNAME 126
#define AUTODIAL_LIBRARY TEXT("icwdial.dll")
#define AUTODIAL_INIT "AutoDialInit"
#define RASAPI_LIBRARY TEXT("RASAPI32.DLL")
#define RASDELETEAPI "RasDeleteEntryA"
#define RASAPI_RASGETENTRY "RasGetEntryPropertiesA"
#define RASAPI_RASSETENTRY "RasSetEntryPropertiesA"
#define ERROR_USERCANCEL 32767 // quit message value
#define ERROR_USERBACK 32766 // back message value
#define ERROR_USERNEXT 32765 // back message value
#define ERROR_DOWNLOADDIDNT 32764 // download failed
#define MAX_PROMO 64
#define MAX_OEMNAME 64
#define MAX_AREACODE RAS_MaxAreaCode
#define MAX_EXCHANGE 8
#define MAX_VERSION_LEN 40
#define CMD_CONNECTOID TEXT("/CONNECTOID:")
#define CMD_INS TEXT("/INS:")
#define CMD_REBOOT TEXT("/REBOOT")
#define LEN_CONNECTOID sizeof(CMD_CONNECTOID)
#define LEN_INS sizeof(CMD_INS)
#define INSFILE_APPNAME TEXT("ClientSetup")
#define INFFILE_SETUP_CLIENT_URL TEXT("Client_Setup_Url")
#define INFFILE_SETUP_NEW_CALL TEXT("Client_Setup_New_Call")
#define INFFILE_DONE_MESSAGE TEXT("Done_Message")
#define INFFILE_EXPLORE_CMD TEXT("Explore_Command")
#define INFFILE_ENTRYSECTION TEXT("Entry")
#define INFFILE_ENTRY_NAME TEXT("Entry_Name")
#define INFFILE_USER_SECTION TEXT("User")
#define INFFILE_PASSWORD TEXT("Password")
#define INFFILE_ISPSUPP TEXT("ISP_Support_Message")
#define NULLSZ TEXT("")
#define TIMEOUT 15000 // 15 seconds
#define WM_DIENOW WM_USER+1
#define WM_DUMMY WM_USER+2
#define WM_DOWNLOAD_DONE WM_USER+2
#define irgMaxSzs 5
#define MB_MYERROR (MB_APPLMODAL | MB_ICONERROR | MB_SETFOREGROUND)
#define MAX_RETIES 3
#define CALLHOME_SIZE 500
typedef DWORD (WINAPI* PFNRASDELETEENTRY) (LPTSTR lpszPhonebook, LPTSTR lpszEntry);
typedef DWORD (WINAPI* PFNRASGETENTRYPROPERTIES) (LPTSTR lpszPhonebook, LPTSTR lpszEntry, LPBYTE lpbEntryInfo, LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize);
typedef DWORD (WINAPI* PFNRASSETENTRYPROPERTIES) (LPTSTR lpszPhonebook, LPTSTR lpszEntry, LPBYTE lpbEntryInfo, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo, DWORD dwDeviceInfoSize);
typedef DWORD (CALLBACK* PFNRASENUMDEVICES) (LPRASDEVINFO lpRasDevInfo, LPDWORD lpcb, LPDWORD lpcDevices);
typedef HRESULT (CALLBACK* PFNAUTODIALINIT) (LPTSTR lpszISPFile, BYTE fFlags, BYTE bMask, DWORD dwCountry, WORD wState);
typedef HRESULT (CALLBACK* PFNDOWNLOADINIT) (LPTSTR pszURL, DWORD_PTR FAR *pdwDownLoad, HWND hWndMain);
typedef HRESULT (CALLBACK* PFNDOWNLOADEXECUTE) (DWORD_PTR dwDownLoad);
typedef HRESULT (CALLBACK* PFNDOWNLOADCLOSE) (DWORD_PTR dwDownLoad);
typedef HRESULT (CALLBACK* PFNDOWNLOADSETSTATUS) (DWORD_PTR dwDownLoad, INTERNET_STATUS_CALLBACK lpfn);
typedef HRESULT (CALLBACK* PFNDOWNLOADPROCESS) (DWORD_PTR dwDownLoad);
typedef HRESULT (CALLBACK* PFNDOWNLOADCANCEL) (DWORD_PTR dwDownLoad);
typedef HRESULT (WINAPI* PFNINETGETAUTODIAL) (LPBOOL, LPTSTR, DWORD);
typedef BOOL (WINAPI* LCLSETENTRYSCRIPTPATCH) (LPTSTR, LPTSTR);
typedef struct tagGATHEREDINFO
{
LCID m_lcid;
HWND m_hwnd;
DWORD m_dwOS;
DWORD m_dwMajorVersion;
DWORD m_dwMinorVersion;
DWORD m_dwCountry;
WORD m_wState;
WORD m_wArchitecture;
TCHAR m_szAreaCode [MAX_AREACODE+1];
TCHAR m_szExchange [MAX_EXCHANGE+1];
TCHAR m_szPromo [MAX_PROMO];
TCHAR m_szSUVersion [MAX_VERSION_LEN];
TCHAR m_szISPFile [MAX_PATH+1];
TCHAR m_szAppDir [MAX_PATH+1];
BYTE m_fType;
BYTE m_bMask;
LPLINECOUNTRYLIST m_pLineCountryList;
LPCNTRYNAMELOOKUPELEMENT m_rgNameLookUp;
} GATHEREDINFO, *PGATHEREDINFO;
typedef struct _ShowProgressParams
{
HANDLE hProgressReadyEvent;
HWND hwnd;
HWND hwndParent;
HINSTANCE hinst;
DWORD dwThreadID;
} ShowProgressParams, *PShowProgressParams;
typedef struct tagDialDlg
{
HRASCONN m_hrasconn;
LPTSTR m_pszConnectoid;
HANDLE m_hThread;
DWORD m_dwThreadID;
DWORD_PTR m_dwDownLoad;
DWORD m_dwAPIVersion;
HWND m_hwnd;
PGATHEREDINFO m_pGI;
LPTSTR m_pszDisplayable;
LPTSTR m_szUrl;
HLINEAPP m_hLineApp;
HINSTANCE g_hInst;
TCHAR m_szPhoneNumber[256];
BOOL m_bDialAsIs;
UINT m_uiRetry;
} DIALDLG, *PDIALDLG;
typedef struct tagDialErr
{
LPTSTR m_pszConnectoid;
HRESULT m_hrError;
PGATHEREDINFO m_pGI;
HWND m_hwnd;
HLINEAPP m_hLineApp;
DWORD m_dwAPIVersion;
TCHAR m_szPhoneNumber[256];
LPTSTR m_pszDisplayable;
HINSTANCE m_hInst;
LPRASDEVINFO m_lprasdevinfo;
} DIALERR, *PDIALERR;
typedef struct tagDEVICE
{
DWORD dwTapiDev;
RASDEVINFO RasDevInfo;
} MYDEVICE, *PMYDEVICE;
extern "C" INT_PTR CALLBACK FAR PASCAL DialDlgProc (HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam);
extern "C" INT_PTR CALLBACK FAR PASCAL DialErrDlgProc (HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam);
extern "C" INT_PTR CALLBACK FAR PASCAL DialReallyCancelDlgProc (HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam);
extern HRESULT MyRasGetEntryProperties(LPTSTR lpszPhonebookFile,
LPTSTR lpszPhonebookEntry,
LPRASENTRY *lplpRasEntryBuff,
LPDWORD lpdwRasEntryBuffSize,
LPRASDEVINFO *lplpRasDevInfoBuff,
LPDWORD lpdwRasDevInfoBuffSize);
extern PMYDEVICE g_pdevice;
extern TCHAR pszINSFileName[MAX_PATH+2];
extern TCHAR pszFinalConnectoid[MAX_PATH+1];
extern HRASCONN hrasconn;
extern TCHAR pszSetupClientURL[1024];
extern UINT uiSetupClientNewPhoneCall;
extern ShowProgressParams SPParams;
extern RECT rect;
extern HBRUSH hbBackBrush;
extern BOOL fUserCanceled;
extern TCHAR szBuff256[256];
extern HANDLE hThread;
extern DWORD dwThreadID;
extern DWORD_PTR dwDownLoad;
extern DWORD g_fNeedReboot;
extern BOOL g_bProgressBarVisible;
HRESULT ReleaseBold (HWND hwnd);
HRESULT WINAPI StatusMessageCallback (DWORD dwStatus, LPTSTR pszBuffer, DWORD dwBufferSize);
HRESULT DeleteFileKindaLikeThisOne (LPTSTR lpszFileName);
HRESULT DialDlg ();
HRESULT MakeBold (HWND hwnd, BOOL fSize, LONG lfWeight);
HRESULT ShowDialReallyCancelDialog (HINSTANCE hInst, HWND hwnd, LPTSTR pszHomePhone);
HRESULT FillModems ();
HRESULT DialErrGetDisplayableNumber ();
HRESULT GetDisplayableNumberDialDlg ();
HRESULT ShowDialErrDialog (PGATHEREDINFO pGI, HRESULT hrErr, LPTSTR pszConnectoid, HINSTANCE hInst, HWND hwnd);
HRESULT ShowDialingDialog (LPTSTR pszConnectoid, PGATHEREDINFO pGI, LPTSTR szUrl, HINSTANCE hInst, HWND hwnd, LPTSTR szINSFile);
LPTSTR StrDup (LPTSTR *ppszDest,LPCTSTR pszSource);
LPTSTR GetSz (WORD wszID);
WORD RasErrorToIDS (DWORD dwErr);
BOOL FShouldRetry (HRESULT hrErr);
BOOL WaitForConnectionTermination (HRASCONN hConn);
BOOL FileExists (TCHAR *pszINSFileName);
void MinimizeRNAWindow (LPTSTR pszConnectoidName, HINSTANCE hInst);
void CALLBACK LineCallback (DWORD hDevice,
DWORD dwMessage,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3);
DWORD WINAPI ThreadInit();
inline BOOL IsNT(void)
{
OSVERSIONINFO OsVersionInfo;
ZeroMemory(&OsVersionInfo, sizeof(OSVERSIONINFO));
OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&OsVersionInfo);
return (VER_PLATFORM_WIN32_NT == OsVersionInfo.dwPlatformId);
}
#define ARRAYSIZE(a) (sizeof(a) / sizeof((a)[0]))