mirror of https://github.com/tongzx/nt5src
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.
133 lines
2.5 KiB
133 lines
2.5 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1997.
|
|
//
|
|
// File: L 2 T P . C P P
|
|
//
|
|
// Contents: Implementation of L2TP configuration object.
|
|
//
|
|
// Notes:
|
|
//
|
|
// Author: shaunco 15 Jul 1997
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include "pch.h"
|
|
#pragma hdrstop
|
|
#include "ncui.h"
|
|
#include "ndiswan.h"
|
|
#include "rasobj.h"
|
|
|
|
extern const WCHAR c_szInfId_MS_L2tpMiniport[];
|
|
|
|
CL2tp::CL2tp () : CRasBindObject ()
|
|
{
|
|
m_pnccMe = NULL;
|
|
m_fSaveAfData = FALSE;
|
|
}
|
|
|
|
CL2tp::~CL2tp ()
|
|
{
|
|
ReleaseObj (m_pnccMe);
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgComponentControl
|
|
//
|
|
STDMETHODIMP
|
|
CL2tp::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
|
|
CL2tp::Validate ()
|
|
{
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHODIMP
|
|
CL2tp::CancelChanges ()
|
|
{
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHODIMP
|
|
CL2tp::ApplyRegistryChanges ()
|
|
{
|
|
if (m_fSaveAfData)
|
|
{
|
|
m_AfData.SaveToRegistry (m_pnc);
|
|
m_fSaveAfData = FALSE;
|
|
}
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgComponentSetup
|
|
//
|
|
STDMETHODIMP
|
|
CL2tp::ReadAnswerFile (
|
|
PCWSTR pszAnswerFile,
|
|
PCWSTR 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
|
|
CL2tp::Install (DWORD dwSetupFlags)
|
|
{
|
|
HRESULT hr;
|
|
|
|
Validate_INetCfgNotify_Install (dwSetupFlags);
|
|
|
|
// Install the L2TP miniport driver.
|
|
//
|
|
hr = HrEnsureZeroOrOneAdapter (m_pnc, c_szInfId_MS_L2tpMiniport, ARA_ADD);
|
|
|
|
TraceError ("CL2tp::Install", hr);
|
|
return hr;
|
|
}
|
|
|
|
STDMETHODIMP
|
|
CL2tp::Removing ()
|
|
{
|
|
HRESULT hr;
|
|
|
|
// Install the L2TP miniport driver.
|
|
//
|
|
hr = HrEnsureZeroOrOneAdapter (m_pnc, c_szInfId_MS_L2tpMiniport, ARA_REMOVE);
|
|
|
|
TraceError ("CL2tp::Removing", hr);
|
|
return hr;
|
|
}
|
|
|
|
STDMETHODIMP
|
|
CL2tp::Upgrade (
|
|
DWORD dwSetupFlags,
|
|
DWORD dwUpgradeFromBuildNo)
|
|
{
|
|
return S_FALSE;
|
|
}
|