windows-nt/Source/XPSP1/NT/base/cluster/mgmt/cluscfg/common/ihandleprovider.h
2020-09-26 16:20:57 +08:00

124 lines
3.3 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000 Microsoft Corporation
//
// Module Name:
// PrivateInterfaces.h
//
// Description:
// This file contains the declaration of the private interfaces used in
// the cluster configuration server.
//
// Documentation:
//
// Implementation Files:
// None.
//
// Maintained By:
// Galen Barbee (GalenB) 29-FEB-2000
//
//////////////////////////////////////////////////////////////////////////////
// Make sure that this file is included only once per compile path.
#pragma once
//////////////////////////////////////////////////////////////////////////////
// Include Files
//////////////////////////////////////////////////////////////////////////////
#include <ClusApi.h>
//////////////////////////////////////////////////////////////////////////////
// Constant Declarations
//////////////////////////////////////////////////////////////////////////////
//****************************************************************************
//++
//
// class IClusterHandleProvider
//
// Description:
// This interface is used to pass around a cluster handle.
//
//--
//****************************************************************************
class IClusterHandleProvider : public IUnknown
{
public:
//////////////////////////////////////////////////////////////////////////
//
// STDMETHOD
// OpenCluster(
// [ in ] BSTR bstrClusterName,
// )
//
// Description:
// Opens the cluster and creates the cluster handle.
//
// Parameters:
// bstrClusterName
// The cluster to open.
//
// Return Values:
// S_OK
// The initialization succeeded.
//
// other HRESULTs
// The call failed.
//
//////////////////////////////////////////////////////////////////////////
STDMETHOD( OpenCluster )( BSTR bstrClusterNameIn ) PURE;
//////////////////////////////////////////////////////////////////////////
//
// STDMETHOD
// GetClusterHandle(
// [ out ] void ** ppvHandle
// )
//
// Description:
// Returns a cluster handle.
//
// Parameters:
// ppvHandle
// The handle to the cluster
//
//
// Return Values:
// S_OK
// The initialization succeeded.
//
// other HRESULTs
// The call failed.
//
//////////////////////////////////////////////////////////////////////////
STDMETHOD( GetClusterHandle )( HCLUSTER * pphClusterHandleOut ) PURE;
}; //*** class IClusterHandleProvider
//////////////////////////////////////////////////////////////////////////////
//++
//
// class IClusCfgSetHandle
//
// Description:
// The interface IClusCfgSetHandle is the private interface
// used by the cluster configuration server to set the ClusterHandleProvider
// in its children.
//
// Interfaces:
// None.
//
//--
//////////////////////////////////////////////////////////////////////////////
class IClusCfgSetHandle : public IUnknown
{
public:
STDMETHOD( SetHandleProvider )( IClusterHandleProvider * pIHandleProvider ) PURE;
}; //*** Class IClusCfgSetHandle