|
|
/*++
Copyright(c) 2001 Microsoft Corporation
Module Name:
NLB Manager
File Name:
nlbclient.h
Abstract:
Header file for NLB client-side WMI utility functions to configure an NLB host.
Lib which implements the functionality is in nlbmgr\nlbclientlib.
History:
07/23/01 JosephJ Created (used to be nlbmgr\provider\tests\nlbhost.h)
--*/
typedef struct { LPCWSTR szMachine; // Must be non-NULL
LPCWSTR szUserName; // NULL == use current
LPCWSTR szPassword; // NULL == use current
} WMI_CONNECTION_INFO, *PWMI_CONNECTION_INFO;
//
// Specify this value for hashed remote control pwd
//
#define INVALID_HASHED_REMOTE_CONTROL_PASSWORD_VALUE 1783995a
typedef VOID (*PFN_LOGGER)( PVOID Context, const WCHAR * Text );
VOID NlbHostFake( VOID) ; /*
Makes the NlbHostXXX apis operate in "fake mode", where they don't actually connect to any real machines. */
WBEMSTATUS NlbHostGetConfiguration( IN PWMI_CONNECTION_INFO pConnInfo, // NULL implies local
IN LPCWSTR szNicGuid, OUT PNLB_EXTENDED_CLUSTER_CONFIGURATION pCurrentCfg );
WBEMSTATUS NlbHostGetCompatibleNics( IN PWMI_CONNECTION_INFO pConnInfo, // NULL implies local
OUT LPWSTR **ppszNics, // free using delete
OUT UINT *pNumNics, // free using delete
OUT UINT *pNumBoundToNlb );
WBEMSTATUS NlbHostGetMachineIdentification( IN PWMI_CONNECTION_INFO pConnInfo, // NULL implies local
OUT LPWSTR *pszMachineName, // free using delete
OUT LPWSTR *pszMachineGuid, OPTIONAL // free using delete -- may be null
OUT BOOL *pfNlbMgrProviderInstalled // If nlb manager provider is installed.
);
WBEMSTATUS NlbHostDoUpdate( IN PWMI_CONNECTION_INFO pConnInfo, // NULL implies local
IN LPCWSTR szNicGuid, IN LPCWSTR szClientDescription, IN PNLB_EXTENDED_CLUSTER_CONFIGURATION pNewState, OUT UINT *pGeneration, OUT WCHAR **ppLog // free using delete operator.
);
WBEMSTATUS NlbHostGetUpdateStatus( IN PWMI_CONNECTION_INFO pConnInfo, // NULL implies local
IN LPCWSTR szNicGuid, IN UINT Generation, OUT WBEMSTATUS *pCompletionStatus, OUT WCHAR **ppLog // free using delete operator.
);
WBEMSTATUS NlbHostControlCluster( IN PWMI_CONNECTION_INFO pConnInfo, IN LPCWSTR szNicGuid, IN LPCWSTR szVip, IN DWORD *pdwPortNum, IN WLBS_OPERATION_CODES Operation, OUT DWORD *pdwOperationStatus, OUT DWORD *pdwClusterOrPortStatus, OUT DWORD *pdwHostMap );
WBEMSTATUS NlbHostGetClusterMembers( IN PWMI_CONNECTION_INFO pConnInfo, IN LPCWSTR szNicGuid, OUT DWORD *pNumMembers, OUT NLB_CLUSTER_MEMBER_INFO **ppMembers // free using delete[]
);
//
// Attempts to resolve the ip address and ping the host.
//
WBEMSTATUS NlbHostPing( LPCWSTR szBindString, UINT Timeout, // In milliseconds.
OUT ULONG *pResolvedIpAddress // in network byte order.
);
|