121 lines
3.2 KiB
C
121 lines
3.2 KiB
C
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1997 - 1998
|
||
|
//
|
||
|
// File: B I N D O B J . H
|
||
|
//
|
||
|
// Contents: Declaration of base class for RAS binding objects.
|
||
|
//
|
||
|
// Notes:
|
||
|
//
|
||
|
// Author: shaunco 11 Jun 1997
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
#pragma once
|
||
|
//nclude <notifval.h>
|
||
|
#include "netcfgx.h"
|
||
|
#include "resource.h"
|
||
|
//#include "rasaf.h"
|
||
|
//nclude "rasdata.h"
|
||
|
#include "ncutil.h"
|
||
|
|
||
|
class CRasBindObject
|
||
|
{
|
||
|
public:
|
||
|
// Make these members public for now. Since this object
|
||
|
// is instantiated from the modem class installer. We
|
||
|
// need to set the INetCfg member.
|
||
|
//
|
||
|
INetCfg* m_pnc;
|
||
|
CRasBindObject ();
|
||
|
|
||
|
~CRasBindObject ()
|
||
|
{
|
||
|
ReleaseObj (m_pnc);
|
||
|
m_pnc = NULL;
|
||
|
}
|
||
|
|
||
|
// You must call ReleaseOtherComponents after calling this.
|
||
|
HRESULT HrFindOtherComponents ();
|
||
|
|
||
|
// You can only call this once per call to HrFindOtherComponents.
|
||
|
VOID ReleaseOtherComponents () NOTHROW;
|
||
|
|
||
|
protected:
|
||
|
// We keep an array of INetCfgComponent pointers. This enum
|
||
|
// defines the indicies of the array. The static arrays of
|
||
|
// class guids and component ids identify the respecitive components.
|
||
|
// HrFindOtherComonents initializes the array of component pointers
|
||
|
// and ReleaseOtherComponents releases them. Note, however, that this
|
||
|
// action is refcounted. This is because we are re-entrant.
|
||
|
// HrFindOtherComponents only finds the components if the refcount is
|
||
|
// zero. After every call, it increments the refcount.
|
||
|
// ReleaseOtherComponents always decrements the refcount and only
|
||
|
// releases the components if the refcount is zero.
|
||
|
//
|
||
|
enum OTHER_COMPONENTS
|
||
|
{
|
||
|
c_ipnccRasCli = 0,
|
||
|
c_ipnccRasSrv,
|
||
|
c_ipnccRasRtr,
|
||
|
c_ipnccIp,
|
||
|
c_ipnccIpx,
|
||
|
c_ipnccNbf,
|
||
|
c_ipnccAtalk,
|
||
|
c_ipnccNetMon,
|
||
|
c_ipnccNdisWan,
|
||
|
c_cOtherComponents,
|
||
|
};
|
||
|
static const GUID* c_apguidComponentClasses [c_cOtherComponents];
|
||
|
static const LPCTSTR c_apszComponentIds [c_cOtherComponents];
|
||
|
INetCfgComponent* m_apnccOther [c_cOtherComponents];
|
||
|
ULONG m_ulOtherComponents;
|
||
|
|
||
|
protected:
|
||
|
INetCfgComponent* PnccRasCli () NOTHROW;
|
||
|
INetCfgComponent* PnccRasSrv () NOTHROW;
|
||
|
INetCfgComponent* PnccIp () NOTHROW;
|
||
|
INetCfgComponent* PnccIpx () NOTHROW;
|
||
|
};
|
||
|
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanAtalk[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanIpIn[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanIpOut[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanIpx[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanNbfIn[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanNbfOut[];
|
||
|
extern const TCHAR c_szInfId_MS_NdisWanBh[];
|
||
|
|
||
|
|
||
|
inline
|
||
|
INetCfgComponent*
|
||
|
CRasBindObject::PnccRasCli () NOTHROW
|
||
|
{
|
||
|
return m_apnccOther [c_ipnccRasCli];
|
||
|
}
|
||
|
|
||
|
inline
|
||
|
INetCfgComponent*
|
||
|
CRasBindObject::PnccRasSrv () NOTHROW
|
||
|
{
|
||
|
return m_apnccOther [c_ipnccRasSrv];
|
||
|
}
|
||
|
|
||
|
inline
|
||
|
INetCfgComponent*
|
||
|
CRasBindObject::PnccIp () NOTHROW
|
||
|
{
|
||
|
return m_apnccOther [c_ipnccIp];
|
||
|
}
|
||
|
|
||
|
inline
|
||
|
INetCfgComponent*
|
||
|
CRasBindObject::PnccIpx () NOTHROW
|
||
|
{
|
||
|
return m_apnccOther [c_ipnccIpx];
|
||
|
}
|
||
|
|
||
|
|