82 lines
1.9 KiB
C++
82 lines
1.9 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1999.
|
|
//
|
|
// File: I C L A S S . H
|
|
//
|
|
// Contents: Implements the INetCfgClass and INetCfgClassSetup COM
|
|
// interfaces on the NetCfgClass sub-level COM object.
|
|
//
|
|
// Notes:
|
|
//
|
|
// Author: shaunco 15 Jan 1999
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
#include "iatl.h"
|
|
#include "inetcfg.h"
|
|
#include "compdefs.h"
|
|
#include "netcfgx.h"
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetCfgClass -
|
|
//
|
|
class ATL_NO_VTABLE CImplINetCfgClass :
|
|
public CImplINetCfgHolder,
|
|
public INetCfgClass,
|
|
public INetCfgClassSetup
|
|
{
|
|
private:
|
|
NETCLASS m_Class;
|
|
|
|
public:
|
|
CImplINetCfgClass ()
|
|
{
|
|
m_Class = NC_INVALID;
|
|
}
|
|
|
|
BEGIN_COM_MAP(CImplINetCfgClass)
|
|
COM_INTERFACE_ENTRY(INetCfgClass)
|
|
COM_INTERFACE_ENTRY(INetCfgClassSetup)
|
|
END_COM_MAP()
|
|
|
|
// INetCfgClass
|
|
//
|
|
STDMETHOD (FindComponent) (
|
|
IN PCWSTR pszInfId,
|
|
OUT INetCfgComponent** ppComp);
|
|
|
|
STDMETHOD (EnumComponents) (
|
|
OUT IEnumNetCfgComponent** ppIEnum);
|
|
|
|
// INetCfgClassSetup
|
|
//
|
|
STDMETHOD (SelectAndInstall) (
|
|
IN HWND hwndParent,
|
|
IN OBO_TOKEN* pOboToken,
|
|
OUT INetCfgComponent** ppIComp);
|
|
|
|
STDMETHOD (Install) (
|
|
IN PCWSTR pszwInfId,
|
|
IN OBO_TOKEN* pOboToken,
|
|
IN DWORD dwSetupFlags,
|
|
IN DWORD dwUpgradeFromBuildNo,
|
|
IN PCWSTR pszAnswerFile,
|
|
IN PCWSTR pszAnswerSection,
|
|
OUT INetCfgComponent** ppIComp);
|
|
|
|
STDMETHOD (DeInstall) (
|
|
IN INetCfgComponent* pIComp,
|
|
IN OBO_TOKEN* pOboToken,
|
|
OUT PWSTR* ppmszwRefs);
|
|
|
|
public:
|
|
static HRESULT HrCreateInstance (
|
|
IN CImplINetCfg* pINetCfg,
|
|
IN NETCLASS Class,
|
|
OUT INetCfgClass** ppIClass);
|
|
};
|