303 lines
9.8 KiB
C
303 lines
9.8 KiB
C
//*******************************************************************
|
|
//
|
|
// Copyright (c) 1996-1998 Microsoft Corporation
|
|
//
|
|
// FILE: CFGAPI.H
|
|
//
|
|
// PURPOSE: Contains API's exported from icfg32.dll and structures
|
|
// required by those functions.
|
|
//
|
|
//*******************************************************************
|
|
|
|
#ifndef _CFGAPI_H_
|
|
#define _CFGAPI_H_
|
|
|
|
// Maximum buffer size for error messages.
|
|
#define MAX_ERROR_TEXT 512
|
|
|
|
// Flags for dwfOptions
|
|
|
|
// install TCP (if needed)
|
|
#define ICFG_INSTALLTCP 0x00000001
|
|
|
|
// install RAS (if needed)
|
|
#define ICFG_INSTALLRAS 0x00000002
|
|
|
|
// install exchange and internet mail
|
|
#define ICFG_INSTALLMAIL 0x00000004
|
|
|
|
//
|
|
// ChrisK 5/8/97
|
|
// Note: the next three switches are only valid for IcfgNeedInetComponet
|
|
// check to see if a LAN adapter with TCP bound is installed
|
|
//
|
|
#define ICFG_INSTALLLAN 0x00000008
|
|
|
|
//
|
|
// Check to see if a DIALUP adapter with TCP bound is installed
|
|
//
|
|
#define ICFG_INSTALLDIALUP 0x00000010
|
|
|
|
//
|
|
// Check to see if TCP is installed
|
|
//
|
|
#define ICFG_INSTALLTCPONLY 0x00000020
|
|
|
|
// DRIVERTYPE_ defines for TCP/IP configuration apis
|
|
#define DRIVERTYPE_NET 0x0001
|
|
#define DRIVERTYPE_PPP 0x0002
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif // __cplusplus
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgNeedInetComponents
|
|
//
|
|
// PURPOSE: Detects whether the specified system components are
|
|
// installed or not.
|
|
//
|
|
// PARAMETERS: dwfOptions - a combination of ICFG_ flags that specify
|
|
// which components to detect as follows:
|
|
//
|
|
// ICFG_INSTALLTCP - is TCP/IP needed?
|
|
// ICFG_INSTALLRAS - is RAS needed?
|
|
// ICFG_INSTALLMAIL - is exchange or internet mail needed?
|
|
//
|
|
// lpfNeedComponents - TRUE if any specified component needs
|
|
// to be installed.
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgNeedInetComponents(DWORD dwfOptions, LPBOOL lpfNeedComponents);
|
|
HRESULT IcfgNeedInetComponentsNT4(DWORD dwfOptions, LPBOOL lpfNeedComponents);
|
|
HRESULT IcfgNeedInetComponentsNT5(DWORD dwfOptions, LPBOOL lpfNeedComponents);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgInstallInetComponents
|
|
//
|
|
// PURPOSE: Install the specified system components.
|
|
//
|
|
// PARAMETERS: hwndParent - Parent window handle.
|
|
// dwfOptions - a combination of ICFG_ flags that controls
|
|
// the installation and configuration as follows:
|
|
//
|
|
// ICFG_INSTALLTCP - install TCP/IP (if needed)
|
|
// ICFG_INSTALLRAS - install RAS (if needed)
|
|
// ICFG_INSTALLMAIL - install exchange and internet mail
|
|
//
|
|
// lpfNeedsRestart - if non-NULL, then on return, this will be
|
|
// TRUE if windows must be restarted to complete the installation.
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgInstallInetComponents(HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsRestart);
|
|
HRESULT IcfgInstallInetComponentsNT4(HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsRestart);
|
|
HRESULT IcfgInstallInetComponentsNT5(HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsRestart);
|
|
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// Function: IcfgNeedModem
|
|
//
|
|
// Synopsis: Check system configuration to determine if there is at least
|
|
// one physical modem installed
|
|
//
|
|
// Arguments: dwfOptions - currently not used
|
|
//
|
|
// Returns: HRESULT - S_OK if successfull
|
|
// lpfNeedModem - TRUE if no modems are available
|
|
//
|
|
// History: 6/5/97 ChrisK Inherited
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
HRESULT IcfgNeedModem(DWORD dwfOptions, LPBOOL lpfNeedModem);
|
|
HRESULT IcfgNeedModemNT4(DWORD dwfOptions, LPBOOL lpfNeedModem) ;
|
|
HRESULT IcfgNeedModemNT5(DWORD dwfOptions, LPBOOL lpfNeedModem) ;
|
|
|
|
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// Function: IcfgNeedModem
|
|
//
|
|
// Synopsis: Check system configuration to determine if there is at least
|
|
// one physical modem installed
|
|
//
|
|
// Arguments: dwfOptions - currently not used
|
|
//
|
|
// Returns: HRESULT - S_OK if successfull
|
|
// lpfNeedModem - TRUE if no modems are available
|
|
//
|
|
// History: 6/5/97 ChrisK Inherited
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
HRESULT IcfgInstallModem (HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsStart);
|
|
HRESULT IcfgInstallModemNT4 (HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsStart);
|
|
HRESULT IcfgInstallModemNT5 (HWND hwndParent, DWORD dwfOptions,
|
|
LPBOOL lpfNeedsStart);
|
|
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgGetLastInstallErrorText
|
|
//
|
|
// PURPOSE: Get a text string that describes the last installation
|
|
// error that occurred. The string should be suitable
|
|
// for display in a message box with no further formatting.
|
|
//
|
|
// PARAMETERS: lpszErrorDesc - points to buffer to receive the string.
|
|
// cbErrorDesc - size of buffer.
|
|
//
|
|
// RETURNS: The length of the string returned.
|
|
//
|
|
//*******************************************************************
|
|
|
|
DWORD IcfgGetLastInstallErrorText(LPSTR lpszErrorDesc, DWORD cbErrorDesc);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgSetInstallSourcePath
|
|
//
|
|
// PURPOSE: Sets the path where windows looks when installing files.
|
|
//
|
|
// PARAMETERS: lpszSourcePath - full path of location of files to install.
|
|
// If this is NULL, default path is used.
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgSetInstallSourcePath(LPCSTR lpszSourcePath);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgIsGlobalDNS
|
|
//
|
|
// PURPOSE: Determines whether there is Global DNS set.
|
|
//
|
|
// PARAMETERS: lpfGlobalDNS - TRUE if global DNS is set, FALSE otherwise.
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
// NOTE: This function is for Windows 95 only, and
|
|
// should always return ERROR_SUCCESS and set lpfGlobalDNS
|
|
// to FALSE in Windows NT.
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgIsGlobalDNS(LPBOOL lpfGlobalDNS);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgRemoveGlobalDNS
|
|
//
|
|
// PURPOSE: Removes global DNS info from registry.
|
|
//
|
|
// PARAMETERS: None.
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
// NOTE: This function is for Windows 95 only, and
|
|
// should always return ERROR_SUCCESS in Windows NT.
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgRemoveGlobalDNS(void);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgIsFileSharingTurnedOn
|
|
//
|
|
// PURPOSE: Determines if file server (VSERVER) is bound to TCP/IP
|
|
// for specified driver type (net card or PPP).
|
|
//
|
|
// PARAMETERS: dwfDriverType - a combination of DRIVERTYPE_ flags
|
|
// that specify what driver type to check server-TCP/IP
|
|
// bindings for as follows:
|
|
//
|
|
// DRIVERTYPE_NET - net card
|
|
// DRIVERTYPE_PPP - PPPMAC
|
|
//
|
|
// lpfSharingOn - TRUE if bound once or more, FALSE if not bound
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgIsFileSharingTurnedOn(DWORD dwfDriverType, LPBOOL lpfSharingOn);
|
|
|
|
|
|
//*******************************************************************
|
|
//
|
|
// FUNCTION: IcfgTurnOffFileSharing
|
|
//
|
|
// PURPOSE: Unbinds file server (VSERVER) from TCP/IP for
|
|
// specified driver type (net card or PPP).
|
|
//
|
|
// PARAMETERS: dwfDriverType - a combination of DRIVERTYPE_ flags
|
|
// that specify what driver type to remove server-TCP/IP
|
|
// bindings for as follows:
|
|
//
|
|
// DRIVERTYPE_NET - net card
|
|
// DRIVERTYPE_PPP - PPPMAC
|
|
//
|
|
// RETURNS: HRESULT code, ERROR_SUCCESS if no errors occurred
|
|
//
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgTurnOffFileSharing(DWORD dwfDriverType, HWND hwndParent);
|
|
VOID GetSETUPXErrorText(DWORD dwErr,LPSTR pszErrorDesc,DWORD cbErrorDesc);
|
|
UINT DoGenInstall(HWND hwndParent,LPCSTR lpszInfFile,LPCSTR lpszInfSect);
|
|
|
|
//*******************************************************************
|
|
//*******************************************************************
|
|
|
|
HRESULT InetSetAutodial(BOOL fEnable, LPCSTR lpszEntryName);
|
|
|
|
//*******************************************************************
|
|
//*******************************************************************
|
|
|
|
HRESULT InetGetAutodial(LPBOOL lpfEnable, LPSTR lpszEntryName,
|
|
DWORD cbEntryName);
|
|
|
|
//*******************************************************************
|
|
//*******************************************************************
|
|
|
|
HRESULT InetSetAutodialAddress();
|
|
|
|
//*******************************************************************
|
|
//*******************************************************************
|
|
|
|
HRESULT InetGetSupportedPlatform(LPDWORD pdwPlatform);
|
|
|
|
//*******************************************************************
|
|
//*******************************************************************
|
|
|
|
HRESULT IcfgStartServices();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
#endif //_CFGAPI_H_
|