windows-nt/Source/XPSP1/NT/base/cluster/admin/cluadmin/barfclus.cpp
2020-09-26 16:20:57 +08:00

1650 lines
35 KiB
C++

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1997 Microsoft Corporation
//
// Module Name:
// BarfClus.cpp
//
// Abstract:
// Implementation of the Basic Artifical Resource Failure entry points
// for CLUSAPI functions.
//
// Author:
// David Potter (davidp) April 14, 1997
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#define _NO_BARF_DEFINITIONS_
#include "Barf.h"
#include "BarfClus.h"
#include "TraceTag.h"
#include "ExcOper.h"
#ifdef _USING_BARF_
#error BARF failures should be disabled!
#endif
#ifdef _DEBUG // The entire file!
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// Global Variables
/////////////////////////////////////////////////////////////////////////////
CBarf g_barfClusApi(_T("CLUSAPI Calls"));
/////////////////////////////////////////////////////////////////////////////
// Cluster Management Functions
/////////////////////////////////////////////////////////////////////////////
BOOL BARFCloseCluster(HCLUSTER hCluster)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseCluster()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseCluster(hCluster);
} //*** BARFCloseCluster()
BOOL BARFCloseClusterNotifyPort(HCHANGE hChange)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterNotifyPort()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterNotifyPort(hChange);
} //*** BARFCloseClusterNotifyPort()
DWORD BARFClusterCloseEnum(HCLUSENUM hClusEnum)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterCloseEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterCloseEnum(hClusEnum);
} //*** BARFClusterCloseEnum()
DWORD BARFClusterEnum(
HCLUSENUM hClusEnum,
DWORD dwIndex,
LPDWORD lpdwType,
LPWSTR lpszName,
LPDWORD lpcchName
)
{
// if (g_barfClusApi.BFail())
// {
// Trace(g_tagBarf, _T("ClusterEnum()"));
// return ERROR_INVALID_FUNCTION;
// } // if: BARF failure
// else
return ClusterEnum(hClusEnum, dwIndex, lpdwType, lpszName, lpcchName);
} //*** BARFClusterEnum()
HCLUSENUM BARFClusterOpenEnum(HCLUSTER hCluster, DWORD dwType)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterOpenEnum()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return ClusterOpenEnum(hCluster, dwType);
} //*** BARFClusterOpenEnum()
DWORD BARFClusterResourceTypeControl(
HCLUSTER hCluster,
LPCWSTR lpszResourceTypeName,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterResourceTypeControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterResourceTypeControl(
hCluster,
lpszResourceTypeName,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterResourceTypeControl()
HCHANGE BARFCreateClusterNotifyPort(
HCHANGE hChange,
HCLUSTER hCluster,
DWORD dwFilter,
DWORD_PTR dwNotifyKey
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CreateClusterNotifyPort()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return CreateClusterNotifyPort(
hChange,
hCluster,
dwFilter,
dwNotifyKey
);
} //*** BARFCreateClusterNotifyPort()
DWORD BARFCreateClusterResourceType(
HCLUSTER hCluster,
LPCWSTR lpszResourceTypeName,
LPCWSTR lpszDisplayName,
LPCWSTR lpszResourceTypeDll,
DWORD dwLooksAlivePollInterval,
DWORD dwIsAlivePollInterval
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CreateClusterResourceType()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return CreateClusterResourceType(
hCluster,
lpszResourceTypeName,
lpszDisplayName,
lpszDisplayName,
dwLooksAlivePollInterval,
dwIsAlivePollInterval
);
} //*** BARFCreateClusterResourceType()
DWORD BARFDeleteClusterResourceType(HCLUSTER hCluster, LPCWSTR lpszResourceTypeName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("DeleteClusterResourceType()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return DeleteClusterResourceType(
hCluster,
lpszResourceTypeName
);
} //*** BARFDeleteClusterResourceType()
DWORD BARFGetClusterInformation(
HCLUSTER hCluster,
LPWSTR lpszClusterName,
LPDWORD lpcchClusterName,
LPCLUSTERVERSIONINFO lpClusterInfo
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterInformation()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return GetClusterInformation(
hCluster,
lpszClusterName,
lpcchClusterName,
lpClusterInfo
);
} //*** BARFGetClusterInformation()
DWORD BARFGetClusterNotify(
HCHANGE hChange,
DWORD_PTR *lpdwNotifyKey,
LPDWORD lpdwFilterType,
LPWSTR lpszName,
LPDWORD lpcchName,
DWORD dwMilliseconds
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNotify()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return GetClusterNotify(
hChange,
lpdwNotifyKey,
lpdwFilterType,
lpszName,
lpcchName,
dwMilliseconds
);
} //*** BARFGetClusterNotify()
DWORD BARFGetClusterQuorumResource(
HCLUSTER hCluster,
LPWSTR lpszResourceName,
LPDWORD lpcbResourceName,
LPWSTR lpszDeviceName,
LPDWORD lpcbDeviceName,
LPDWORD lpdwMaxQuorumLogSize
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterQuorumResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return GetClusterQuorumResource(
hCluster,
lpszResourceName,
lpcbResourceName,
lpszDeviceName,
lpcbDeviceName,
lpdwMaxQuorumLogSize
);
} //*** BARFGetClusterQuorumResource()
HCLUSTER BARFOpenCluster(LPCWSTR lpszClusterName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenCluster()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenCluster(lpszClusterName);
} //*** BARFOpenCluster()
DWORD BARFRegisterClusterNotify(
HCHANGE hChange,
DWORD dwFilter,
HANDLE hObject,
DWORD_PTR dwNotifyKey
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("RegisterClusterNotify()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return RegisterClusterNotify(
hChange,
dwFilter,
hObject,
dwNotifyKey
);
} //*** BARFRegisterClusterNotify()
DWORD BARFSetClusterName(HCLUSTER hCluster, LPCWSTR lpszNewClusterName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterName()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterName(hCluster, lpszNewClusterName);
} //*** BARFSetClusterName()
DWORD BARFSetClusterQuorumResource(
HRESOURCE hResource,
LPCWSTR lpszDeviceName,
DWORD dwMaxQuoLogSize
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterQuorumResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterQuorumResource(
hResource,
lpszDeviceName,
dwMaxQuoLogSize
);
} //*** BARFSetClusterQuorumResource()
/////////////////////////////////////////////////////////////////////////////
// Node Management Functions
/////////////////////////////////////////////////////////////////////////////
BOOL BARFCloseClusterNode(HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterNode()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterNode(hNode);
} //*** BARFCloseClusterNode()
DWORD BARFClusterNodeControl(
HNODE hNode,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNodeControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterNodeControl(
hNode,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterNodeControl()
DWORD BARFEvictClusterNode(HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("EvictClusterNode()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return EvictClusterNode(hNode);
} //*** BARFEvictClusterNode()
DWORD BARFGetClusterNodeId(HNODE hNode, LPWSTR lpszNodeId, LPDWORD lpcchNodeId)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNodeId()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return GetClusterNodeId(hNode, lpszNodeId, lpcchNodeId);
} //*** BARFGetClusterNodeId()
CLUSTER_NODE_STATE BARFGetClusterNodeState(HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNodeState()"));
SetLastError(ERROR_INVALID_FUNCTION);
return ClusterNodeStateUnknown;
} // if: BARF failure
else
return GetClusterNodeState(hNode);
} //*** BARFGetClusterNodeState()
HNODE BARFOpenClusterNode(HCLUSTER hCluster, LPCWSTR lpszNodeName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenClusterNode()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenClusterNode(hCluster, lpszNodeName);
} //*** BARFOpenClusterNode()
DWORD BARFPauseClusterNode(HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("PauseClusterNode()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return PauseClusterNode(hNode);
} //*** BARFPauseClusterNode()
DWORD BARFResumeClusterNode(HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ResumeClusterNode()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ResumeClusterNode(hNode);
} //*** BARFResumeClusterNode()
/////////////////////////////////////////////////////////////////////////////
// Group Management Functions
/////////////////////////////////////////////////////////////////////////////
BOOL BARFCloseClusterGroup(HGROUP hGroup)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterGroup()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterGroup(hGroup);
} //*** BARFCloseClusterGroup()
DWORD BARFClusterGroupCloseEnum(HGROUPENUM hGroupEnum)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterGroupCloseEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterGroupCloseEnum(hGroupEnum);
} //*** BARFClusterGroupCloseEnum()
DWORD BARFClusterGroupControl(
HGROUP hGroup,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterGroupControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterGroupControl(
hGroup,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterGroupControl()
DWORD BARFClusterGroupEnum(
HGROUPENUM hGroupEnum,
DWORD dwIndex,
LPDWORD lpdwType,
LPWSTR lpszResourceName,
LPDWORD lpcchName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterGroupEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterGroupEnum(
hGroupEnum,
dwIndex,
lpdwType,
lpszResourceName,
lpcchName
);
} //*** BARFClusterGroupEnum()
HGROUPENUM BARFClusterGroupOpenEnum(HGROUP hGroup, DWORD dwType)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterGroupOpenEnum()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return ClusterGroupOpenEnum(hGroup, dwType);
} //*** BARFClusterGroupOpenEnum()
HGROUP BARFCreateClusterGroup(HCLUSTER hCluster, LPCWSTR lpszGroupName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CreateClusterGroup()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return CreateClusterGroup(hCluster, lpszGroupName);
} //*** BARFCreateClusterGroup()
DWORD BARFDeleteClusterGroup(HGROUP hGroup)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("DeleteClusterGroup()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return DeleteClusterGroup(hGroup);
} //*** BARFDeleteClusterGroup()
CLUSTER_GROUP_STATE BARFGetClusterGroupState(
HGROUP hGroup,
LPWSTR lpszNodeName,
LPDWORD lpcchNodeName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterGroupState()"));
SetLastError(ERROR_INVALID_FUNCTION);
return ClusterGroupStateUnknown;
} // if: BARF failure
else
return GetClusterGroupState(
hGroup,
lpszNodeName,
lpcchNodeName
);
} //*** BARFGetClusterGroupState()
DWORD BARFMoveClusterGroup(HGROUP hGroup, HNODE hDestinationNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("MoveClusterGroup()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return MoveClusterGroup(hGroup, hDestinationNode);
} //*** BARFMoveClusterGroup()
DWORD BARFOfflineClusterGroup(HGROUP hGroup)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OfflineClusterGroup()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return OfflineClusterGroup(hGroup);
} //*** BARFOfflineClusterGroup()
DWORD BARFOnlineClusterGroup(HGROUP hGroup, HNODE hDestinationNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OnlineClusterGroup()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return OnlineClusterGroup(hGroup, hDestinationNode);
} //*** BARFOnlineClusterGroup()
HGROUP BARFOpenClusterGroup(HCLUSTER hCluster, LPCWSTR lpszGroupName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenClusterGroup()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenClusterGroup(hCluster, lpszGroupName);
} //*** BARFOpenClusterGroup()
DWORD BARFSetClusterGroupName(HGROUP hGroup, LPCWSTR lpszGroupName)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterGroupName()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterGroupName(hGroup, lpszGroupName);
} //*** BARFSetClusterGroupName()
DWORD BARFSetClusterGroupNodeList(
HGROUP hGroup,
DWORD cNodeCount,
HNODE phNodeList[]
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterGroupNodeList()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterGroupNodeList(
hGroup,
cNodeCount,
phNodeList
);
} //*** BARFSetClusterGroupNodeList()
/////////////////////////////////////////////////////////////////////////////
// Resource Management Functions
/////////////////////////////////////////////////////////////////////////////
DWORD BARFAddClusterResourceDependency(HRESOURCE hResource, HRESOURCE hDependsOn)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("AddClusterResourceDependency()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return AddClusterResourceDependency(hResource, hDependsOn);
} //*** BARFAddClusterResourceDependency()
DWORD BARFAddClusterResourceNode(HRESOURCE hResource, HNODE hNode)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("AddClusterResourceNode()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return AddClusterResourceNode(hResource, hNode);
} //*** BARFAddClusterResourceNode()
BOOL BARFCanResourceBeDependent(HRESOURCE hResource, HRESOURCE hResourceDependent)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CanResourceBeDependent()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CanResourceBeDependent(hResource, hResourceDependent);
} //*** BARFCanResourceBeDependent()
DWORD BARFChangeClusterResourceGroup(HRESOURCE hResource, HGROUP hGroup)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ChangeClusterResourceGroup()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ChangeClusterResourceGroup(hResource, hGroup);
} //*** BARFChangeClusterResourceGroup()
BOOL BARFCloseClusterResource(HRESOURCE hResource)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterResource()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterResource(hResource);
} //*** BARFCloseClusterResource()
DWORD BARFClusterResourceCloseEnum(HRESENUM hResEnum)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterResourceCloseEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterResourceCloseEnum(hResEnum);
} //*** BARFClusterResourceCloseEnum()
DWORD BARFClusterResourceControl(
HRESOURCE hResource,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterResourceControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterResourceControl(
hResource,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterResourceControl()
DWORD BARFClusterResourceEnum(
HRESENUM hResEnum,
DWORD dwIndex,
LPDWORD lpdwType,
LPWSTR lpszName,
LPDWORD lpcchName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterResourceEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterResourceEnum(
hResEnum,
dwIndex,
lpdwType,
lpszName,
lpcchName
);
} //*** BARFClusterResourceEnum()
HRESENUM BARFClusterResourceOpenEnum(HRESOURCE hResource, DWORD dwType)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterResourceOpenEnum()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return ClusterResourceOpenEnum(hResource, dwType);
} //*** BARFClusterResourceOpenEnum()
HRESOURCE BARFCreateClusterResource(
HGROUP hGroup,
LPCWSTR lpszResourceName,
LPCWSTR lpszResourceType,
DWORD dwFlags
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CreateClusterResource()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return CreateClusterResource(
hGroup,
lpszResourceName,
lpszResourceType,
dwFlags
);
} //*** BARFCreateClusterResource()
DWORD BARFDeleteClusterResource(HRESOURCE hResource)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("DeleteClusterResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return DeleteClusterResource(hResource);
} //*** BARFDeleteClusterResource()
DWORD BARFFailClusterResource(HRESOURCE hResource)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("FailClusterResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return FailClusterResource(hResource);
} //*** BARFFailClusterResource()
BOOL BARFGetClusterResourceNetworkName(
HRESOURCE hResource,
LPWSTR lpBuffer,
LPDWORD nSize
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterResourceNetworkName()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterResourceNetworkName(
hResource,
lpBuffer,
nSize
);
} //*** BARFGetClusterResourceNetworkName()
CLUSTER_RESOURCE_STATE BARFGetClusterResourceState(
HRESOURCE hResource,
LPWSTR lpszNodeName,
LPDWORD lpcchNodeName,
LPWSTR lpszGroupName,
LPDWORD lpcchGroupName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterResourceNetworkName()"));
SetLastError(ERROR_INVALID_FUNCTION);
return ClusterResourceStateUnknown;
} // if: BARF failure
else
return GetClusterResourceState(
hResource,
lpszNodeName,
lpcchNodeName,
lpszGroupName,
lpcchGroupName
);
} //*** BARFGetClusterResourceState()
DWORD BARFOfflineClusterResource(HRESOURCE hResource)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OfflineClusterResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return OfflineClusterResource(hResource);
} //*** BARFOfflineClusterResource()
DWORD BARFOnlineClusterResource(HRESOURCE hResource)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OnlineClusterResource()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return OnlineClusterResource(hResource);
} //*** BARFOnlineClusterResource()
HRESOURCE BARFOpenClusterResource(
HCLUSTER hCluster,
LPCWSTR lpszResourceName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenClusterResource()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenClusterResource(hCluster, lpszResourceName);
} //*** BARFOpenClusterResource()
DWORD BARFRemoveClusterResourceNode(
HRESOURCE hResource,
HNODE hNode
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("RemoveClusterResourceNode()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return RemoveClusterResourceNode(hResource, hNode);
} //*** BARFRemoveClusterResourceNode()
DWORD BARFRemoveClusterResourceDependency(
HRESOURCE hResource,
HRESOURCE hDependsOn
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("RemoveClusterResourceDependency()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return RemoveClusterResourceDependency(hResource, hDependsOn);
} //*** BARFRemoveClusterResourceDependency()
DWORD BARFSetClusterResourceName(
HRESOURCE hResource,
LPCWSTR lpszResourceName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterResourceName()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterResourceName(hResource, lpszResourceName);
} //*** BARFSetClusterResourceName()
/////////////////////////////////////////////////////////////////////////////
// Network Management Functions
/////////////////////////////////////////////////////////////////////////////
HNETWORK BARFOpenClusterNetwork(
HCLUSTER hCluster,
LPCWSTR lpszNetworkName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenClusterNetwork()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenClusterNetwork(hCluster, lpszNetworkName);
} //*** BARFOpenClusterNetwork()
BOOL BARFCloseClusterNetwork(HNETWORK hNetwork)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterNetwork()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterNetwork(hNetwork);
} //*** BARFOpenClusterNetwork()
HNETWORKENUM BARFClusterNetworkOpenEnum(
HNETWORK hNetwork,
DWORD dwType
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNetworkOpenEnum()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return ClusterNetworkOpenEnum(hNetwork, dwType);
} //*** BARFClusterNetworkOpenEnum()
DWORD BARFClusterNetworkEnum(
HNETWORKENUM hNetworkEnum,
DWORD dwIndex,
DWORD * lpdwType,
LPWSTR lpszName,
LPDWORD lpcchName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNetworkEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterNetworkEnum(
hNetworkEnum,
dwIndex,
lpdwType,
lpszName,
lpcchName
);
} //*** BARFClusterNetworkEnum()
DWORD BARFClusterNetworkCloseEnum(HNETWORKENUM hNetworkEnum)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNetworkCloseEnum()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterNetworkCloseEnum(hNetworkEnum);
} //*** BARFClusterNetworkCloseEnum()
CLUSTER_NETWORK_STATE BARFGetClusterNetworkState(HNETWORK hNetwork)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNetworkState()"));
SetLastError(ERROR_INVALID_FUNCTION);
return ClusterNetworkStateUnknown;
} // if: BARF failure
else
return GetClusterNetworkState(hNetwork);
} //*** BARFGetClusterNetworkState()
DWORD BARFSetClusterNetworkName(
HNETWORK hNetwork,
LPCWSTR lpszName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("SetClusterNetworkName()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return SetClusterNetworkName(hNetwork, lpszName);
} //*** BARFSetClusterNetworkName()
DWORD BARFClusterNetworkControl(
HNETWORK hNetwork,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNetworkControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterNetworkControl(
hNetwork,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterNetworkControl()
/////////////////////////////////////////////////////////////////////////////
// Network Interface Management Functions
/////////////////////////////////////////////////////////////////////////////
HNETINTERFACE BARFOpenClusterNetInterface(
HCLUSTER hCluster,
LPCWSTR lpszInterfaceName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("OpenClusterNetInterface()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return OpenClusterNetInterface(hCluster, lpszInterfaceName);
} //*** BARFOpenClusterNetInterface()
DWORD BARFGetClusterNetInterface(
HCLUSTER hCluster,
LPCWSTR lpszNodeName,
LPCWSTR lpszNetworkName,
LPWSTR lpszNetInterfaceName,
DWORD * lpcchNetInterfaceName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNetInterface()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterNetInterface(
hCluster,
lpszNodeName,
lpszNetworkName,
lpszNetInterfaceName,
lpcchNetInterfaceName
);
} //*** BARFGetClusterNetInterface()
BOOL BARFCloseClusterNetInterface(HNETINTERFACE hNetInterface)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("CloseClusterNetInterface()"));
SetLastError(ERROR_INVALID_FUNCTION);
return FALSE;
} // if: BARF failure
else
return CloseClusterNetInterface(hNetInterface);
} //*** BARFCloseClusterNetInterface()
CLUSTER_NETINTERFACE_STATE BARFGetClusterNetInterfaceState(HNETINTERFACE hNetInterface)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNetInterfaceState()"));
SetLastError(ERROR_INVALID_FUNCTION);
return ClusterNetInterfaceStateUnknown;
} // if: BARF failure
else
return GetClusterNetInterfaceState(hNetInterface);
} //*** BARFGetClusterNetInterfaceState()
DWORD BARFClusterNetInterfaceControl(
HNETINTERFACE hNetInterface,
HNODE hHostNode,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterNetInterfaceControl()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterNetInterfaceControl(
hNetInterface,
hHostNode,
dwControlCode,
lpInBuffer,
nInBufferSize,
lpOutBuffer,
nOutBufferSize,
lpBytesReturned
);
} //*** BARFClusterNetInterfaceControl()
/////////////////////////////////////////////////////////////////////////////
// Cluster Database Management Functions
/////////////////////////////////////////////////////////////////////////////
LONG BARFClusterRegCloseKey(HKEY hKey)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegCloseKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegCloseKey(hKey);
} //*** BARFClusterRegCloseKey()
LONG BARFClusterRegCreateKey(
HKEY hKey,
LPCWSTR lpszSubKey,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegCreateKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegCreateKey(
hKey,
lpszSubKey,
dwOptions,
samDesired,
lpSecurityAttributes,
phkResult,
lpdwDisposition
);
} //*** BARFClusterRegCreateKey()
LONG BARFClusterRegDeleteKey(
HKEY hKey,
LPCWSTR lpszSubKey
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegDeleteKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegDeleteKey(hKey, lpszSubKey);
} //*** BARFClusterRegDeleteKey()
DWORD BARFClusterRegDeleteValue(
HKEY hKey,
LPCWSTR lpszValueName
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegDeleteValue()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegDeleteValue(hKey, lpszValueName);
} //*** BARFClusterRegDeleteValue()
LONG BARFClusterRegEnumKey(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpszName,
LPDWORD lpcchName,
PFILETIME lpftLastWriteTime
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegEnumKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegEnumKey(
hKey,
dwIndex,
lpszName,
lpcchName,
lpftLastWriteTime
);
} //*** BARFClusterRegEnumKey()
DWORD BARFClusterRegEnumValue(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpszValueName,
LPDWORD lpcchValueName,
LPDWORD lpdwType,
LPBYTE lpbData,
LPDWORD lpcbData
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegEnumValue()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegEnumValue(
hKey,
dwIndex,
lpszValueName,
lpcchValueName,
lpdwType,
lpbData,
lpcbData
);
} //*** BARFClusterRegEnumValue()
LONG BARFClusterRegGetKeySecurity(
HKEY hKey,
SECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR pSecurityDescriptor,
LPDWORD lpcbSecurityDescriptor
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegGetKeySecurity()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegGetKeySecurity(
hKey,
SecurityInformation,
pSecurityDescriptor,
lpcbSecurityDescriptor
);
} //*** BARFClusterRegGetKeySecurity()
LONG BARFClusterRegOpenKey(
HKEY hKey,
LPCWSTR lpszSubKey,
REGSAM samDesired,
PHKEY phkResult
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegOpenKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegOpenKey(
hKey,
lpszSubKey,
samDesired,
phkResult
);
} //*** BARFClusterRegOpenKey()
LONG BARFClusterRegQueryInfoKey(
HKEY hKey,
LPDWORD lpcSubKeys,
LPDWORD lpcbMaxSubKeyLen,
LPDWORD lpcValues,
LPDWORD lpcbMaxValueNameLen,
LPDWORD lpcbMaxValueLen,
LPDWORD lpcbSecurityDescriptor,
PFILETIME lpftLastWriteTime
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegQueryInfoKey()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegQueryInfoKey(
hKey,
lpcSubKeys,
lpcbMaxSubKeyLen,
lpcValues,
lpcbMaxValueNameLen,
lpcbMaxValueLen,
lpcbSecurityDescriptor,
lpftLastWriteTime
);
} //*** BARFClusterRegQueryInfoKey()
LONG BARFClusterRegQueryValue(
HKEY hKey,
LPCWSTR lpszValueName,
LPDWORD lpdwValueType,
LPBYTE lpbData,
LPDWORD lpcbData
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegQueryValue()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegQueryValue(
hKey,
lpszValueName,
lpdwValueType,
lpbData,
lpcbData
);
} //*** BARFClusterRegQueryValue()
LONG BARFClusterRegSetKeySecurity(
HKEY hKey,
SECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR pSecurityDescriptor
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegSetKeySecurity()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegSetKeySecurity(
hKey,
SecurityInformation,
pSecurityDescriptor
);
} //*** BARFClusterRegSetKeySecurity()
DWORD BARFClusterRegSetValue(
HKEY hKey,
LPCWSTR lpszValueName,
DWORD dwType,
CONST BYTE * lpbData,
DWORD cbData
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("ClusterRegSetValue()"));
return ERROR_INVALID_FUNCTION;
} // if: BARF failure
else
return ClusterRegSetValue(
hKey,
lpszValueName,
dwType,
lpbData,
cbData
);
} //*** BARFClusterRegSetValue()
HKEY BARFGetClusterGroupKey(
HGROUP hGroup,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterGroupKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterGroupKey(hGroup, samDesired);
} //*** BARFGetClusterGroupKey()
HKEY BARFGetClusterKey(
HCLUSTER hCluster,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterKey(hCluster, samDesired);
} //*** BARFGetClusterKey()
HKEY BARFGetClusterNodeKey(
HNODE hNode,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNodeKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterNodeKey(hNode, samDesired);
} //*** BARFGetClusterNodeKey()
HKEY BARFGetClusterResourceKey(
HRESOURCE hResource,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterResourceKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterResourceKey(hResource, samDesired);
} //*** BARFGetClusterResourceKey()
HKEY BARFGetClusterResourceTypeKey(
HCLUSTER hCluster,
LPCWSTR lpszTypeName,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterResourceTypeKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterResourceTypeKey(hCluster, lpszTypeName, samDesired);
} //*** BARFGetClusterResourceTypeKey()
HKEY BARFGetClusterNetworkKey(
HNETWORK hNetwork,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNetworkKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterNetworkKey(hNetwork, samDesired);
} //*** BARFGetClusterNetworkKey()
HKEY BARFGetClusterNetInterfaceKey(
HNETINTERFACE hNetInterface,
REGSAM samDesired
)
{
if (g_barfClusApi.BFail())
{
Trace(g_tagBarf, _T("GetClusterNetInterfaceKey()"));
SetLastError(ERROR_INVALID_FUNCTION);
return NULL;
} // if: BARF failure
else
return GetClusterNetInterfaceKey(hNetInterface, samDesired);
} //*** BARFGetClusterNetInterfaceKey()
#endif // _DEBUG