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.
 
 
 
 
 
 

99 lines
2.7 KiB

/*++
Copyright(c) 1998,99 Microsoft Corporation
Module Name:
wlbs.h
Abstract:
Windows Load Balancing Service (WLBS)
Notifier object - main module implementing object
Author:
kyrilf
--*/
#pragma once
#include "clusterdlg.h"
#include "host.h"
#include "wlbsparm.h"
#include "ports.h"
#include "resource.h"
#include "netcfgn.h"
#include "ncxclsid.h"
#include "wlbscfg.h"
class CWLBS :
public CComObjectRoot,
public CComCoClass<CWLBS, &CLSID_CWLBS>,
public INetCfgComponentControl,
public INetCfgComponentSetup,
public INetCfgComponentPropertyUi,
public INetCfgComponentNotifyBinding
{
public:
CWLBS(VOID);
~CWLBS(VOID);
BEGIN_COM_MAP(CWLBS)
COM_INTERFACE_ENTRY(INetCfgComponentControl)
COM_INTERFACE_ENTRY(INetCfgComponentSetup)
COM_INTERFACE_ENTRY(INetCfgComponentPropertyUi)
COM_INTERFACE_ENTRY(INetCfgComponentNotifyBinding)
END_COM_MAP()
// DECLARE_NOT_AGGREGATABLE(CWLBS)
// Remove the comment from the line above if you don't want your object to
// support aggregation. The default is to support it
DECLARE_REGISTRY_RESOURCEID(IDR_REG_WLBS)
// INetCfgComponentControl
STDMETHOD (Initialize) (IN INetCfgComponent* pIComp, IN INetCfg* pINetCfg, IN BOOL fInstalling);
STDMETHOD (ApplyRegistryChanges) ();
STDMETHOD (ApplyPnpChanges) (IN INetCfgPnpReconfigCallback * pICallback);
STDMETHOD (CancelChanges) ();
STDMETHOD (Validate) ();
// INetCfgComponentSetup
STDMETHOD (ReadAnswerFile) (PCWSTR szAnswerFile, PCWSTR szAnswerSections);
STDMETHOD (Upgrade) (DWORD, DWORD);
STDMETHOD (Install) (DWORD);
STDMETHOD (Removing) ();
// INetCfgProperties
STDMETHOD (QueryPropertyUi) (IN IUnknown* pUnk) { return S_OK; }
STDMETHOD (SetContext) (IN IUnknown* pUnk);
STDMETHOD (MergePropPages) (IN OUT DWORD* pdwDefPages, OUT LPBYTE* pahpspPrivate,
OUT UINT* pcPrivate, IN HWND hwndParent, OUT PCWSTR* pszStartPage);
STDMETHOD (ValidateProperties) (HWND hwndSheet);
STDMETHOD (CancelProperties) ();
STDMETHOD (ApplyProperties) ();
// INetCfgNotifyBinding
STDMETHOD (QueryBindingPath) (DWORD dwChangeFlag, INetCfgBindingPath* pncbp);
STDMETHOD (NotifyBindingPath) (DWORD dwChangeFlag, INetCfgBindingPath* pncbp);
private:
class CDialogCluster * m_pClusterDlg;
class CDialogHost * m_pHostDlg;
class CDialogPorts * m_pPortsDlg;
CWlbsConfig m_WlbsConfig;
NETCFG_WLBS_CONFIG m_OriginalConfig;
NETCFG_WLBS_CONFIG m_AdapterConfig;
GUID m_AdapterGuid;
public:
LRESULT OnInitDialog(IN HWND hWnd);
LRESULT OnOk(IN HWND hWnd);
LRESULT OnCancel(IN HWND hWnd);
};