Leaked source code of windows server 2003
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.
 
 
 
 
 
 

159 lines
3.1 KiB

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2002 Microsoft Corporation
//
// Module Name:
// ClusterUtils.h
//
// Description:
// This file contains the declaration of the ClusterUtils
// functions.
//
// Implementation Files:
// ClusterUtils.cpp
//
// Maintained By:
// Galen Barbee (GalenB) 01-JAN-2000
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
//
// Cluster API Functions.
//
HRESULT
HrIsCoreResource(
HRESOURCE hResIn
);
HRESULT
HrIsResourceOfType(
HRESOURCE hResIn
, const WCHAR * pszResourceTypeIn
);
HRESULT
HrGetIPAddressInfo(
HRESOURCE hResIn
, ULONG * pulIPAddress
, ULONG * pulSubnetMask
, BSTR * pbstrNetworkName
);
HRESULT
HrLoadCredentials(
BSTR bstrMachine
, IClusCfgSetCredentials * piCCSC
);
HRESULT
HrGetNodeNameHostingResource(
HCLUSTER hClusterIn
, HRESOURCE hResIn
, BSTR * pbstrNameOut
);
HRESULT
HrGetNodeNameHostingCluster(
HCLUSTER hClusterIn
, BSTR * pbstrNodeName
);
HRESULT
HrGetNetworkOfCluster(
HCLUSTER hClusterIn
, BSTR * pbstrNetworkName
);
HRESULT
HrGetSCSIInfo(
HRESOURCE hResIn
, CLUS_SCSI_ADDRESS * pCSAOut
, DWORD * pdwSignatureOut
, DWORD * pdwDiskNumberOut
);
HRESULT
HrGetClusterInformation(
HCLUSTER hClusterIn
, BSTR * pbstrClusterNameOut
, CLUSTERVERSIONINFO * pcviOut
);
HRESULT
HrGetClusterResourceState(
HRESOURCE hResourceIn
, BSTR * pbstrNodeNameOut
, BSTR * pbstrGroupNameOut
, CLUSTER_RESOURCE_STATE * pcrsStateOut
);
HRESULT
HrGetClusterQuorumResource(
HCLUSTER hClusterIn
, BSTR * pbstrResourceNameOut
, BSTR * pbstrDeviceNameOut
, DWORD * pdwMaxQuorumLogSizeOut
);
//
// String manipulation functions.
//
HRESULT
HrSeparateDomainAndName(
BSTR bstrNameIn
, BSTR * pbstrDomainOut
, BSTR * pbstrNameOut );
HRESULT
HrAppendDomainToName(
BSTR bstrNameIn
, BSTR bstrDomainIn
, BSTR * pbstrDomainNameOut
);
//
// Cluster helper functions.
//
HRESULT
HrReplaceTokens(
LPWSTR pwszStringInout
, LPCWSTR pwszSearchTokensIn
, WCHAR chReplaceTokenIn
, DWORD * pcReplacementsOut
);
HRESULT
HrGetMaxNodeCount(
DWORD * pcMaxNodesOut
);
HRESULT
HrGetReferenceStringFromHResult(
HRESULT hrIn
, BSTR * pbstrReferenceStringOut
);
HRESULT
HrIsClusterServiceRunning( void );
HRESULT
HrCheckJoiningNodeVersion(
PCWSTR pcwszClusterNameIn
, DWORD dwNodeHighestVersionIn
, DWORD dwNodeLowestVersionIn
, IClusCfgCallback * pcccbIn
);
HRESULT
HrGetNodeNames(
HCLUSTER hClusterIn
, long * pnCountOut
, BSTR ** prgbstrNodeNamesOut
);