Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

134 lines
2.6 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: P P T P . C P P
//
// Contents: Implementation of PPPOE configuration object.
//
// Notes:
//
// Author: shaunco 10 Mar 1997
//
//----------------------------------------------------------------------------
#include "pch.h"
#pragma hdrstop
#include "ndiswan.h"
#include "rasobj.h"
extern const WCHAR c_szInfId_MS_PppoeMiniport[];
CPppoe::CPppoe () : CRasBindObject ()
{
m_pnccMe = NULL;
m_fSaveAfData = FALSE;
}
CPppoe::~CPppoe ()
{
ReleaseObj (m_pnccMe);
}
//+---------------------------------------------------------------------------
// INetCfgComponentControl
//
STDMETHODIMP
CPppoe::Initialize (
INetCfgComponent* pncc,
INetCfg* pnc,
BOOL fInstalling)
{
Validate_INetCfgNotify_Initialize (pncc, pnc, fInstalling);
// Hold on to our the component representing us and our host
// INetCfg object.
//
AddRefObj (m_pnccMe = pncc);
AddRefObj (m_pnc = pnc);
return S_OK;
}
STDMETHODIMP
CPppoe::Validate ()
{
return S_OK;
}
STDMETHODIMP
CPppoe::CancelChanges ()
{
return S_OK;
}
STDMETHODIMP
CPppoe::ApplyRegistryChanges ()
{
if (m_fSaveAfData)
{
m_AfData.SaveToRegistry (m_pnc);
m_fSaveAfData = FALSE;
}
return S_OK;
}
//+---------------------------------------------------------------------------
// INetCfgComponentSetup
//
STDMETHODIMP
CPppoe::ReadAnswerFile (
PCWSTR pszAnswerFile,
PCWSTR pszAnswerSection)
{
Validate_INetCfgNotify_ReadAnswerFile (pszAnswerFile, pszAnswerSection);
// Read data from the answer file.
// Don't let this affect the HRESULT we return.
//
if (SUCCEEDED(m_AfData.HrOpenAndRead (pszAnswerFile, pszAnswerSection)))
{
m_fSaveAfData = TRUE;
}
return S_OK;
}
STDMETHODIMP
CPppoe::Install (DWORD dwSetupFlags)
{
HRESULT hr;
Validate_INetCfgNotify_Install (dwSetupFlags);
// Install the PPPOE miniport driver.
//
hr = HrEnsureZeroOrOneAdapter (m_pnc, c_szInfId_MS_PppoeMiniport, ARA_ADD);
TraceError ("CPppoe::Install", hr);
return hr;
}
STDMETHODIMP
CPppoe::Removing ()
{
HRESULT hr;
// Remove the PPPOE miniport driver.
//
hr = HrEnsureZeroOrOneAdapter (m_pnc, c_szInfId_MS_PppoeMiniport, ARA_REMOVE);
TraceError ("CPppoe::Removing", hr);
return hr;
}
STDMETHODIMP
CPppoe::Upgrade (
DWORD dwSetupFlags,
DWORD dwUpgradeFromBuildNo)
{
return S_FALSE;
}