Windows2003-3790/inetcore/connectionwizard/inc/inetapi.h
2020-09-30 16:53:55 +02:00

220 lines
8.5 KiB
C

//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1995 **
//*********************************************************************
//
// INETAPI.H - APIs for system configuration for Internet and phone number
// setting
//
// HISTORY:
//
// 3/3/95 jeremys Created.
// 96/03/21 markdu Use private string sizes (MSN_) for PHONENUM since the
// RAS ones (RAS_) change depending on platform, but MSN does not
// expect this so the structure sizes won't match on existing code.
//
#ifndef _INETAPI_H_
#define _INETAPI_H_
#ifndef _RNAP_H_
// (copied from RNA header file)
#define MSN_MaxAreaCode 10
#define MSN_MaxLocal 36
#define MSN_MaxExtension 5
typedef struct tagPHONENUMA {
DWORD dwCountryID;
DWORD dwCountryCode;
CHAR szAreaCode[MSN_MaxAreaCode+1];
CHAR szLocal[MSN_MaxLocal+1];
CHAR szExtension[MSN_MaxExtension+1];
} PHONENUMA, FAR * LPPHONENUMA;
typedef struct tagPHONENUMW {
DWORD dwCountryID;
DWORD dwCountryCode;
WCHAR szAreaCode[MSN_MaxAreaCode+1];
WCHAR szLocal[MSN_MaxLocal+1];
WCHAR szExtension[MSN_MaxExtension+1];
} PHONENUMW, FAR * LPPHONENUMW;
#ifdef UNICODE
#define PHONENUM PHONENUMW
#define LPPHONENUM LPPHONENUMW
#else
#define PHONENUM PHONENUMA
#define LPPHONENUM LPPHONENUMA
#endif
#endif // ifndef _RNAP_H_
// input flags for APIs
#define ICIF_NOCONFIGURE 0x0001 // for SetInternetPhoneNumber, see comments below
#define ICIF_DONTSETASINTERNETENTRY 0x0002 // if set, phone number will be updated
// but this connectoid will not be set as the internet connectoid
#define ICIF_NODNSCHECK 0x0004 // if set, won't check and warn if static DNS is set
// output flags for APIs
#define ICOF_NEEDREBOOT 0x0001 // indicates that caller must restart system
// structures used to contain API parameters
typedef struct tagINTERNET_CONFIGA
{
DWORD cbSize; // size of this structure in bytes
HWND hwndParent; // parent window handle
LPCSTR pszModemName; // name of modem to use
LPCSTR pszUserName; // user name for RNA connectoid (ignored if NULL)
LPCSTR pszPassword; // password for RNA connectoid (ignored if NULL)
PHONENUMA PhoneNum; // phone number to use
LPCSTR pszEntryName; // title to use for RNA connectoid (default name
// used if NULL)
PHONENUMA PhoneNum2; // backup phone number to use
LPCSTR pszEntryName2; // title to use for RNA connectoid (default name
// used if NULL)
LPCSTR pszDNSServer; // points to string w/IP address (e.g. "108.9.107.4");
// (ignored if NULL)
LPCSTR pszDNSServer2; // points to string w/IP address(e.g. "108.9.107.4");
// (ignored if NULL)
LPCSTR pszAutodialDllName; // optional: name of autodial dll to use (ignored if NULL)
LPCSTR pszAutodialFcnName; // optional: name of function in autodiall dll to use (ignored if NULL)
DWORD dwInputFlags; // at entry, some combination of ICIF_ flags
DWORD dwOutputFlags; // at return, set to some combination of ICOF_ flags
} INTERNET_CONFIGA, FAR * LPINTERNET_CONFIGA;
typedef struct tagINTERNET_CONFIGW
{
DWORD cbSize; // size of this structure in bytes
HWND hwndParent; // parent window handle
LPCWSTR pszModemName; // name of modem to use
LPCWSTR pszUserName; // user name for RNA connectoid (ignored if NULL)
LPCWSTR pszPassword; // password for RNA connectoid (ignored if NULL)
PHONENUMW PhoneNum; // phone number to use
LPCWSTR pszEntryName; // title to use for RNA connectoid (default name
// used if NULL)
PHONENUMW PhoneNum2; // backup phone number to use
LPCWSTR pszEntryName2; // title to use for RNA connectoid (default name
// used if NULL)
LPCWSTR pszDNSServer; // points to string w/IP address (e.g. "108.9.107.4");
// (ignored if NULL)
LPCWSTR pszDNSServer2; // points to string w/IP address(e.g. "108.9.107.4");
// (ignored if NULL)
LPCWSTR pszAutodialDllName; // optional: name of autodial dll to use (ignored if NULL)
LPCWSTR pszAutodialFcnName; // optional: name of function in autodiall dll to use (ignored if NULL)
DWORD dwInputFlags; // at entry, some combination of ICIF_ flags
DWORD dwOutputFlags; // at return, set to some combination of ICOF_ flags
} INTERNET_CONFIGW, FAR * LPINTERNET_CONFIGW;
#ifdef UNICODE
typedef INTERNET_CONFIGW INTERNET_CONFIG;
typedef LPINTERNET_CONFIGW LPINTERNET_CONFIG;
#else
typedef INTERNET_CONFIGA INTERNET_CONFIG;
typedef LPINTERNET_CONFIGA LPINTERNET_CONFIG;
#endif
// function prototypes
/*******************************************************************
NAME: ConfigureSystemForInternet
SYNOPSIS: Performs all necessary configuration to set system up
to use Internet.
ENTRY: lpInternetConfig - pointer to structure with configuration
information.
EXIT: TRUE if successful, or FALSE if fails. Displays its
own error message upon failure.
If the output flag ICOF_NEEDREBOOT is set, the caller
must restart the system before continuing.
NOTES: Will install TCP/IP, RNA, PPPMAC as necessary; will
create or modify an Internet RNA connectoid.
This API displays error messages itself rather than
passing back an error code because there is a wide range of
possible error codes from different families, it is difficult
for the caller to obtain text for all of them.
********************************************************************/
extern "C" BOOL WINAPI ConfigureSystemForInternetA(LPINTERNET_CONFIGA lpInternetConfig);
extern "C" BOOL WINAPI ConfigureSystemForInternetW(LPINTERNET_CONFIGW lpInternetConfig);
#ifdef UNICODE
#define ConfigureSystemForInternet ConfigureSystemForInternetW
#else
#define ConfigureSystemForInternet ConfigureSystemForInternetA
#endif
/*******************************************************************
NAME: SetInternetPhoneNumber
SYNOPSIS: Sets the phone number used to auto-dial to the Internet.
If the system is not fully configured when this API is called,
this API will do the configuration after checking with the user.
(This step is included for extra robustness, in case the user has
removed something since the system was configured.)
ENTRY: lpPhonenumConfig - pointer to structure with configuration
information.
If the input flag ICIF_NOCONFIGURE is set, then if the system
is not already configured properly, this API will display an
error message and return FALSE. (Otherwise this API will
ask the user if it's OK to configure the system, and do it.)
EXIT: TRUE if successful, or FALSE if fails. Displays its
own error message upon failure.
If the output flag ICOF_NEEDREBOOT is set, the caller
must restart the system before continuing. (
NOTES: Will create a new connectoid if a connectoid for the internet
does not exist yet, otherwise modifies existing internet
connectoid.
This API displays error messages itself rather than
passing back an error code because there is a wide range of
possible error codes from different families, it is difficult
for the caller to obtain text for all of them.
********************************************************************/
extern "C" BOOL WINAPI SetInternetPhoneNumberA(LPINTERNET_CONFIGA lpInternetConfig);
extern "C" BOOL WINAPI SetInternetPhoneNumberW(LPINTERNET_CONFIGW lpInternetConfig);
#ifdef UNICODE
#define SetInternetPhoneNumber SetInternetPhoneNumberW
#else
#define SetInternetPhoneNumber SetInternetPhoneNumberA
#endif
#endif // _INETAPI_H_