windows-nt/Source/XPSP1/NT/base/ntsetup/oobe/idl/obcomm.idl
2020-09-26 16:20:57 +08:00

296 lines
14 KiB
Plaintext

//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1999 **
//*********************************************************************
//
// OBCOMM_C.IDL -
// Component description and Type Library for
// ObCommunicationManager (MSOBCOMM)
//
// HISTORY:
//
// 1/27/99 a-jaswed Created.
import "unknwn.idl";
import "oaidl.idl";
// Definitions of IConnectionPoint
import "ocidl.idl" ;
#include "dispids.h"
///////////////////////////////////////////////////////////
//
//
// Component descriptions
//
///////////////////////////////////////////////////////////
// Interface IObCommunicationManager
//
[
object,
uuid(B9B3DB10-BD64-11D2-9D65-00C04F7F8935),
helpstring("IObCommunicationManager Interface"),
pointer_default(unique)
]
interface IObCommunicationManager : IUnknown
{
HRESULT CheckDialReady ([out] DWORD* pdwRetVal);
HRESULT ListenToCommunicationEvents ([in] IUnknown* pUnk);
HRESULT SetupForDialing ([in] UINT nType,
[in] BSTR bstrISPFile,
[in] DWORD dwCountry,
[in] BSTR bstrAreaCode,
[in] DWORD dwFlag,
[in] DWORD dwAppMode,
[in] DWORD dwMigISPIdx);
HRESULT DoConnect ([out] BOOL* pbRetVal);
HRESULT DoHangup ();
HRESULT GetDialPhoneNumber ([out] BSTR* pVal);
HRESULT PutDialPhoneNumber ([in] BSTR newVal);
HRESULT GetDialErrorMsg ([out] BSTR* pVal);
HRESULT GetSupportNumber ([out] BSTR* pVal);
HRESULT RemoveConnectoid ([out] BOOL* pbRetVal);
HRESULT FetchPage ([in] BSTR szURL,
[out] BSTR* szLocalFile);
HRESULT DownloadFileBuffer ([out] BSTR* pVal);
HRESULT ProcessINS ([in] BSTR bstrINSFilePath,
[out] BOOL *pbRetVal);
HRESULT SetRASCallbackHwnd ([in] HWND hwndCallback);
HRESULT GetSignupURL ([out] BSTR *pVal);
HRESULT GetReconnectURL ([out] BSTR *pVal);
HRESULT GetFile ([in] BSTR szUTL, [in] BSTR );
HRESULT CheckPhoneBook ([in] BSTR bstrISPFile,
[in] DWORD dwCountry,
[in] BSTR bstrAreaCode,
[in] DWORD dwFlag,
[out] BOOL *pbRetVal);
HRESULT RestoreConnectoidInfo ();
HRESULT SetPreloginMode ([in] BOOL bVal);
HRESULT GetConnectionType ([out] DWORD *pdwVal);
HRESULT CheckKbdMouse ([out] DWORD* pdwRetVal);
HRESULT OnDownloadEvent ([in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[in] BOOL* bHandled);
HRESULT GetISPList ([out] BSTR* pVal);
HRESULT Set_SelectISP ([in] UINT nVal);
HRESULT Set_ConnectionMode ([in] UINT nVal);
HRESULT Get_ConnectionMode ([out] UINT *pnVal);
HRESULT DownloadReferralOffer ([out] BOOL *pbVal);
HRESULT DownloadISPOffer ([out] BOOL *pbVal, [out] BSTR *pVal);
HRESULT Get_ISPName ([out] BSTR* pVal);
HRESULT RemoveDownloadDir ();
HRESULT PostRegData ([in] DWORD dwSrvType,
[in] BSTR bstrRegUrl);
HRESULT CheckOnlineStatus ([out] BOOL *pbVal);
HRESULT Connect ([in] UINT nType,
[in] BSTR bstrISPFile,
[in] DWORD dwCountry,
[in] BSTR bstrAreaCode,
[in] DWORD dwFlag,
[in] DWORD dwAppMode);
HRESULT CheckStayConnected ([in] BSTR bstrISPFile,
[out] BOOL *pbVal);
HRESULT CreateIcsBot ([out] DWORD *pdwRetVal);
HRESULT IsIcsAvailable ([out] BOOL *bRetVal);
HRESULT IsCallbackUsed ([out] BOOL *bRetVal);
HRESULT NotifyIcsMgr ([in] UINT msg,
[in] WPARAM wParam,
[in] LPARAM lParam);
HRESULT NotifyIcsUsage ([in] BOOL bParam);
HRESULT GetPhoneBookNumber ([out] BSTR* pVal);
HRESULT TriggerIcsCallback ([in] BOOL bParam);
HRESULT IsIcsHostReachable ([out] BOOL *bRetVal);
};
cpp_quote("// Connection type bitmasks")
cpp_quote("//")
cpp_quote("// No attempt has been made at detecting connections or an")
cpp_quote("// attempt was made but failed. This is different from")
cpp_quote("// CONNECTIONTYPE_NONE in that it indicates that another attempt")
cpp_quote("// should be made to determine if connections exist.")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_INVALID 0x00000000")
cpp_quote("")
cpp_quote("// No connection devices exist")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_NONE 0x00000001")
cpp_quote("")
cpp_quote("// A modem is installed")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_MODEM 0x00000002")
cpp_quote("")
cpp_quote("// A network card is present and the ICS beacon was detected")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_LAN_ICS 0x00000004")
cpp_quote("")
cpp_quote("// A network card is present but ICS was not detected")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_LAN_BROADBAND 0x00000008")
cpp_quote("")
cpp_quote("// Multiple network cards were present and ICS was not detected. It is not")
cpp_quote("// possible to determine which card to use.")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_LAN_INDETERMINATE 0x00000010")
cpp_quote("")
cpp_quote("// An ISDN, PPPoE connection is present")
cpp_quote("//")
cpp_quote("#define CONNECTIONTYPE_OTHER 0x00000020")
cpp_quote("")
///////////////////////////////////////////////////////////
// Interface IObCommunicationManager2
//
[
object,
uuid(B9B3DB14-BD64-11D2-9D65-00C04F7F8935),
helpstring("IObCommunicationManager2 Interface"),
pointer_default(unique)
]
interface IObCommunicationManager2 : IObCommunicationManager
{
HRESULT CreateModemConnectoid ([in] BSTR bstrPhoneBook,
[in] BSTR bstrConnectionName,
[in] DWORD dwCountryID,
[in] DWORD dwCountryCode,
[in] BSTR bstrAreaCode,
[in] BSTR bstrPhoneNumber,
[in] BOOL fAutoIPAddress,
[in] DWORD ipaddr_A,
[in] DWORD ipaddr_B,
[in] DWORD ipaddr_C,
[in] DWORD ipaddr_D,
[in] BOOL fAutoDNS,
[in] DWORD ipaddrDns_A,
[in] DWORD ipaddrDns_B,
[in] DWORD ipaddrDns_C,
[in] DWORD ipaddrDns_D,
[in] DWORD ipaddrDnsAlt_A,
[in] DWORD ipaddrDnsAlt_B,
[in] DWORD ipaddrDnsAlt_C,
[in] DWORD ipaddrDnsAlt_D,
[in] BSTR bstrUserName,
[in] BSTR bstrPassword);
HRESULT CreatePppoeConnectoid ([in] BSTR bstrPhoneBook,
[in] BSTR bstrConnectionName,
[in] BSTR bstrBroadbandService,
[in] BOOL fAutoIPAddress,
[in] DWORD ipaddr_A,
[in] DWORD ipaddr_B,
[in] DWORD ipaddr_C,
[in] DWORD ipaddr_D,
[in] BOOL fAutoDNS,
[in] DWORD ipaddrDns_A,
[in] DWORD ipaddrDns_B,
[in] DWORD ipaddrDns_C,
[in] DWORD ipaddrDns_D,
[in] DWORD ipaddrDnsAlt_A,
[in] DWORD ipaddrDnsAlt_B,
[in] DWORD ipaddrDnsAlt_C,
[in] DWORD ipaddrDnsAlt_D,
[in] BSTR bstrUserName,
[in] BSTR bstrPassword);
HRESULT SetPreferredConnectionTcpipProperties
([in] BOOL fAutoIPAddress,
[in] DWORD StaticIp_A,
[in] DWORD StaticIp_B,
[in] DWORD StaticIp_C,
[in] DWORD StaticIp_D,
[in] DWORD SubnetMask_A,
[in] DWORD SubnetMask_B,
[in] DWORD SubnetMask_C,
[in] DWORD SubnetMask_D,
[in] DWORD DefGateway_A,
[in] DWORD DefGateway_B,
[in] DWORD DefGateway_C,
[in] DWORD DefGateway_D,
[in] BOOL fAutoDNS,
[in] DWORD DnsPref_A,
[in] DWORD DnsPref_B,
[in] DWORD DnsPref_C,
[in] DWORD DnsPref_D,
[in] DWORD DnsAlt_A,
[in] DWORD DnsAlt_B,
[in] DWORD DnsAlt_C,
[in] DWORD DnsAlt_D,
[in] BOOL fFirewallRequired
);
HRESULT DoFinalTasks ([out] BOOL* pfRebootRequired);
HRESULT GetConnectionCapabilities ([out] DWORD* pdwConnectionCapabilities);
HRESULT GetPreferredConnection ([out] DWORD* pdwPreferredConnection
);
HRESULT SetPreferredConnection ([in] const DWORD dwPreferredConnection,
[out, retval] BOOL* pfSupportedType);
HRESULT SetDialAlternative ([in] BOOL fDialAlternative);
HRESULT ConnectedToInternet ([out, retval] BOOL* pfConnected);
HRESULT ConnectedToInternetEx ([out, retval] BOOL* pfConnected);
HRESULT AsyncConnectedToInternetEx ([in] const HWND hwnd);
HRESULT OobeAutodial ();
HRESULT OobeAutodialHangup ();
HRESULT FirewallPreferredConnection ([in] BOOL fFirewall);
HRESULT UseWinntProxySettings ();
HRESULT DisableWinntProxySettings ();
HRESULT GetProxySettings ([out] BOOL* pbUseAuto,
[out] BOOL* pbUseScript,
[out] BSTR* pszScriptUrl,
[out] BOOL* pbUseProxy,
[out] BSTR* pszProxy
);
HRESULT SetProxySettings ([in] BOOL bUseAuto,
[in] BOOL bUseScript,
[in] BSTR szScriptUrl,
[in] BOOL bUseProxy,
[in] BSTR szProxy
);
HRESULT SetICWCompleted ([in] BOOL bMultiUser);
HRESULT GetPublicLanCount ([out, retval] int* pcPublicLan);
HRESULT SetExclude1394 ([in] BOOL bExclude);
HRESULT GnsAutodial ([in] BOOL bEnabled,
[in] BSTR bstrUserSection
);
};
///////////////////////////////////////////////////////////
// ObCommunicationManager Type Library
//
[
uuid(B9B3DB11-BD64-11D2-9D65-00C04F7F8935),
version(1.0),
helpstring("ObCommunicationManager 1.0 Type Library")
]
library ObCommunicationManagerLib
{
importlib("stdole32.tlb");
[
uuid(B9B3DB13-BD64-11D2-9D65-00C04F7F8935),
helpstring("Event interface for ObCommunicationManager")
]
dispinterface DObCommunicationEvents
{
properties:
methods:
[id(DISPID_DIALING)] HRESULT Fire_Dialing ();
[id(DISPID_CONNECTING)] HRESULT Fire_Connecting ();
[id(DISPID_DIALINGERROR)] HRESULT Fire_DialError ([in] DWORD dwErrorCode);
[id(DISPIP_CONNECTIONCOMPLETE)] HRESULT Fire_ConnectionComplete ();
[id(DISPIP_DOWNLOADCOMPLETE)] HRESULT Fire_DownloadComplete ();
};
//
// ObCommunicationManager
//
[
uuid(B9B3DB12-BD64-11D2-9D65-00C04F7F8935),
helpstring("ObCommunicationManager Class")
]
coclass ObCommunicationManager
{
[default] interface IObCommunicationManager2;
interface IConnectionPointContainer ;
[default, source] dispinterface DObCommunicationEvents;
};
};