272 lines
7.5 KiB
C++
272 lines
7.5 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 IClusCfgWbemServices
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgWbemServices is the private interface
|
|
// used by the cluster configuration server to set the WBEM provider
|
|
// in its children.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgWbemServices : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetWbemServices )( IWbemServices * pIWbemServicesIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgWbemServices
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgDeviceEnums
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgDeviceEnums is the private interface
|
|
// used by the cluster configuration server to set the devices and
|
|
// network enums in its children.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgDeviceEnums : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetDevices )( IUnknown * punkEnumStorage, IUnknown * punkEnumNetworks ) PURE;
|
|
|
|
}; //*** Class IClusCfgDeviceEnums
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgSetWbemObject
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgSetWbemObject is the private interface used by the
|
|
// cluster configuration server to set the WBem object.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgSetWbemObject : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetWbemObject )(
|
|
IWbemClassObject * pObjectIn
|
|
, bool * pfRetainObjectOut
|
|
) PURE;
|
|
|
|
}; //*** Class IClusCfgSetWbemObject
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgSetClusterNodeInfo
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgSetClusterNodeInfo is the private
|
|
// interface used by the cluster configuration server to tell the
|
|
// IClusCfgClusterInfo object if this node is part of a cluster.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgSetClusterNodeInfo : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetClusterNodeInfo )( IClusCfgNodeInfo * pNodeInfoIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgSetClusterNodeInfo
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgSetClusterHandles
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgSetClusterHandles is the private
|
|
// interface used by the cluster configuration server to tell the
|
|
// IClusCfgClusterServices object what handles to use.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgSetClusterHandles : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetClusterGroupHandle )( HGROUP hGroupIn ) PURE;
|
|
|
|
STDMETHOD( SetClusterHandle )( HCLUSTER hClusterIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgSetClusterHandles
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgPhysicalDiskProperties
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgPhysicalDiskProperties is the private
|
|
// interface used by the cluster configuration server to get the
|
|
// SCSI bus number and whether the disk was booted or not.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgPhysicalDiskProperties : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( IsThisLogicalDisk )( WCHAR cLogicalDiskIn ) PURE;
|
|
|
|
STDMETHOD( HrGetSCSIBus )( ULONG * pulSCSIBusOut ) PURE;
|
|
|
|
STDMETHOD( HrGetSCSIPort )( ULONG * pulSCSIPortOut ) PURE;
|
|
|
|
STDMETHOD( CanBeManaged )( void ) PURE;
|
|
|
|
STDMETHOD( HrGetDeviceID )( BSTR * pbstrDeviceIDOut ) PURE;
|
|
|
|
STDMETHOD( HrGetSignature )( DWORD * pdwSignatureOut ) PURE;
|
|
|
|
STDMETHOD( HrSetFriendlyName )( LPCWSTR pcszFriendlyNameIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgPhysicalDiskProperties
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgPartitionProperties
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgPartitionProperties is the private
|
|
// interface used by the cluster configuration server to get the
|
|
// properties of a disk partition.
|
|
//
|
|
// Interfaces:
|
|
// None.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgPartitionProperties : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( IsThisLogicalDisk )( WCHAR cLogicalDiskIn ) PURE;
|
|
|
|
STDMETHOD( IsNTFS )( void ) PURE;
|
|
|
|
STDMETHOD( GetFriendlyName )( BSTR * pbstrNameOut ) PURE;
|
|
|
|
}; //*** Class IClusCfgPartitionProperties
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgLoadResource
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgLoadResource is the private interface used
|
|
// by the cluster configuration server to get a resource loaded from
|
|
// a cluster.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgLoadResource : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( LoadResource )( HCLUSTER hClusterIn, HRESOURCE hResourceIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgLoadResource
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgSetPollingCallback
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgSetPollingCallback is the private interface used
|
|
// by the cluster configuration server to tell the callback object that
|
|
// it should do polling.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgSetPollingCallback : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( SetPollingMode )( BOOL fUsePollingModeIn ) PURE;
|
|
|
|
}; //*** Class IClusCfgSetPollingCallback
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class IClusCfgClusterNetworkInfo
|
|
//
|
|
// Description:
|
|
// The interface IClusCfgClusterNetworkInfo is the private interface used
|
|
// by the cluster configuration server to tell whether or not a network
|
|
// is already a cluster network.
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class IClusCfgClusterNetworkInfo : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD( HrIsClusterNetwork )( void ) PURE;
|
|
|
|
}; //*** Class IClusCfgClusterNetworkInfo
|