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.
|
|
#ifndef _MNLBNETCFG_H
#define _MNLBNETCFG_H
//
// Copyright (c) Microsoft. All Rights Reserved
//
// THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF Microsoft.
// The copyright notice above does not evidence any
// actual or intended publication of such source code.
//
// OneLiner : MNLBNetCfg interface.
// DevUnit : wlbstest
// Author : Murtaza Hakim
//
// Description:
// -----------
#include "MIPAddressAdmin.h"
#include "Common.h"
#include "MNLBUIData.h"
#include <comdef.h>
#include <iostream>
using namespace std;
// Include Files
class MNLBNetCfg { public:
enum MNLBNetCfg_Error { MNLBNetCfg_SUCCESS = 0, BOUND = 4, UNBOUND = 5, NO_SUCH_NIC = 6, NO_NLB = 7, };
// constructor
// for remote machine.
MNLBNetCfg( const _bstr_t& iP, const _bstr_t& fullNicName ); // for local
MNLBNetCfg( const _bstr_t& fullNicName ); // bindAndConfigure
MNLBNetCfg_Error bindAndConfigure( const ClusterData* p_clusterData, const _bstr_t& machineName );
// modifyClusterProperties
MNLBNetCfg_Error modifyClusterProperties(const ClusterProperties* p_clusterProperties);
// bind
MNLBNetCfg_Error bind();
// unbind nlb
MNLBNetCfg_Error unbind();
// is nlb bound?
MNLBNetCfg_Error isBound();
// add cluster ip
MNLBNetCfg_Error addClusterIP( const _bstr_t& clusterIP, const _bstr_t& subnet );
// remove cluster ip
MNLBNetCfg_Error removeClusterIP( const _bstr_t& clusterIP );
private:
_bstr_t m_ip; _bstr_t m_fullNicName;
void getPortRules( const ClusterData* p_clusterData, const _bstr_t& myMachine, vector<_bstr_t>& myPortRules );
};
// ensure type safety
typedef class MNLBNetCfg MNLBNetCfg;
#endif
|