windows-nt/Source/XPSP1/NT/com/mobile/syncmgr/h/netapi.h
2020-09-26 16:20:57 +08:00

96 lines
3.4 KiB
C

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: netapi.h
//
// Contents: Network/SENS API wrappers
//
// Classes:
//
// Notes:
//
// History: 08-Dec-97 rogerg Created.
//
//--------------------------------------------------------------------------
#ifndef _SYNCMGRNETAPI_
#define _SYNCMGRNETAPI_
#include <ras.h>
#include <raserror.h>
#include <wininet.h>
#ifdef _SENS
#include <eventsys.h> // EventSystem Headers
#include <sens.h>
#endif // _SENS
#ifndef NETWORK_ALIVE_LAN
#define NETWORK_ALIVE_LAN 0x00000001
#endif // NETWORK_ALIVE_LAN
#ifndef NETWORK_ALIVE_WAN
#define NETWORK_ALIVE_WAN 0x00000002
#endif // NETWORK_ALIVE_WAN
#define CNETAPI_CONNECTIONTYPEUNKNOWN 0x00
#define CNETAPI_CONNECTIONTYPELAN 0x01
#define CNETAPI_CONNECTIONTYPEWAN 0x02
//
// When INTERNET_OPTION_AUTODIAL is available, remove this definition
//
#ifndef INTERNET_OPTION_DISABLE_AUTODIAL
#define INTERNET_OPTION_DISABLE_AUTODIAL 70
#endif // INTERNET_OPTION_DISABLE_AUTODIAL
#define RASERROR_MAXSTRING 256
// interface delcaration so can get at
// NetApi through MobsyncGetClassObject
interface INetApi : public IUnknown
{
// SENS Methods
virtual STDMETHODIMP_(BOOL) IsSensInstalled(void) = 0;
virtual STDMETHODIMP_(BOOL) IsNetworkAlive(LPDWORD lpdwFlags) = 0;
virtual STDMETHODIMP GetWanConnections(DWORD *cbNumEntries,RASCONN **pWanConnections) = 0;
virtual STDMETHODIMP FreeWanConnections(RASCONN *pWanConnections) = 0;
virtual STDMETHODIMP GetConnectionStatus(LPCTSTR pszConnectionName,DWORD ConnectionType,BOOL *fConnected,BOOL *fCanEstablishConnection) = 0;
virtual STDMETHODIMP_(DWORD) RasEnumConnections(LPRASCONNW lprasconn,LPDWORD lpcb,LPDWORD lpcConnections) = 0;
virtual STDMETHODIMP RasGetAutodial( BOOL& fEnabled ) = 0;
virtual STDMETHODIMP RasSetAutodial( BOOL fEnabled ) = 0;
virtual STDMETHODIMP_(DWORD) RasGetErrorStringProc( UINT uErrorValue, LPTSTR lpszErrorString,DWORD cBufSize) = 0;
virtual STDMETHODIMP_(DWORD) RasEnumEntries(LPWSTR reserved,LPWSTR lpszPhoneBook,
LPRASENTRYNAME lprasEntryName,LPDWORD lpcb,LPDWORD lpcEntries) = 0;
// ConvertGid, GetEntryProps only support on NT 5.0
virtual STDMETHODIMP RasConvertGuidToEntry(GUID *pGuid,LPWSTR lpszEntry,RASENTRY *pRasEntry) = 0;
// methods for calling wininet
virtual STDMETHODIMP_(DWORD) InternetDialA(HWND hwndParent,char* lpszConnectoid,DWORD dwFlags,
LPDWORD lpdwConnection, DWORD dwReserved) = 0;
virtual STDMETHODIMP_(DWORD)InternetDialW(HWND hwndParent,WCHAR* lpszConnectoid,DWORD dwFlags,
LPDWORD lpdwConnection, DWORD dwReserved) = 0;
virtual STDMETHODIMP_(DWORD)InternetHangUp(DWORD dwConnection,DWORD dwReserved) = 0;
virtual STDMETHODIMP_(BOOL) InternetAutodial(DWORD dwFlags,DWORD dwReserved) = 0;
virtual STDMETHODIMP_(BOOL) InternetAutodialHangup(DWORD dwReserved) = 0;
virtual STDMETHODIMP InternetGetAutodial( BOOL& fEnabled ) = 0;
virtual STDMETHODIMP InternetSetAutodial( BOOL fEnabled ) = 0;
virtual STDMETHODIMP_(BOOL) IsGlobalOffline(void) = 0;
virtual STDMETHODIMP_(BOOL) SetOffline(BOOL fOffline) = 0;
};
typedef INetApi *LPNETAPI;
STDAPI ResetNetworkIdle();
#endif // _SYNCMGRNETAPI_