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.
616 lines
25 KiB
616 lines
25 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999-2002 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// ClusCfgWizard.idl
|
|
//
|
|
// Description:
|
|
// IDL source for Cluster Configuration Wizard.
|
|
// This file will be processed by the MIDL tool to produce the
|
|
// type library (ClusCfgWizard.tlb) and marshalling code.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Imported Files
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Forward Declarations
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Type Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Interface Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Library Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
[
|
|
uuid( 6D01FEDC-8D34-4728-AD0B-B3A21A103B42 ),
|
|
version( 1.0 ),
|
|
helpstring( "Microsoft Cluster Configuration Wizard 1.0" ),
|
|
lcid( 0 )
|
|
]
|
|
library ClusCfgWizard
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Imported Files
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
importlib( "stdole2.tlb" );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Interface Definitions
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// interface IClusCfgCreateClusterWizard
|
|
//
|
|
// Description:
|
|
// The IClusCfgCreateClusterWizard interface provides the functions
|
|
// required to launch the Create Server Cluster Wizard.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid( f65c6990-a144-4127-ab6e-3712b75f1843 ),
|
|
dual,
|
|
helpstring( "IClusCfgCreateClusterWizard interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IClusCfgCreateClusterWizard : IDispatch
|
|
{
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterName
|
|
//
|
|
// Description:
|
|
// Set a default value for the cluster name. There is no default
|
|
// value.
|
|
//
|
|
// Return the cluster name for a newly created cluster.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrClusterNameIn
|
|
// The name of the cluster. If this is not a Fully-Qualified
|
|
// Domain Name (DNS FQDN), the local machine account domain
|
|
// will be used.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrClusterNameOut
|
|
// Pointer to a BSTR in which to return the cluster name
|
|
// for the newly created cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ClusterName" ) ]
|
|
HRESULT ClusterName( [ in ] BSTR bstrClusterNameIn );
|
|
[ propget, helpstring( "property ClusterName" ) ]
|
|
HRESULT ClusterName( [ out, retval ] BSTR * pbstrClusterNameOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountName
|
|
//
|
|
// Description:
|
|
// Set a default value for the user name in the cluster service
|
|
// account. There is no default value.
|
|
//
|
|
// Return the value set by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrServiceAccountNameIn
|
|
// The user name of the cluster service account.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrServiceAccountNameOut
|
|
// Pointer to a BSTR in which to return the cluster service
|
|
// account name for the newly created cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ServiceAccountName" ) ]
|
|
HRESULT ServiceAccountName( [ in ] BSTR bstrServiceAccountNameIn );
|
|
[ propget, helpstring( "property ServiceAccountName" ) ]
|
|
HRESULT ServiceAccountName( [ out, retval ] BSTR * pbstrServiceAccountNameOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountDomain
|
|
//
|
|
// Description:
|
|
// Set a default value for the domain name in the cluster service
|
|
// account. The default value is the local machine account
|
|
// domain.
|
|
//
|
|
// Return the value set by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrServiceAccountDomainIn
|
|
// The name of the service account domain.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrServiceAccountDomainOut
|
|
// Pointer to a BSTR in which to return the cluster service
|
|
// account domain name for the newly created cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ServiceAccountDomain" ) ]
|
|
HRESULT ServiceAccountDomain( [ in ] BSTR bstrServiceAccountDomainIn );
|
|
[ propget, helpstring( "property ServiceAccountDomain" ) ]
|
|
HRESULT ServiceAccountDomain( [ out, retval ] BSTR * pbstrServiceAccountDomainOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountPassword
|
|
//
|
|
// Description:
|
|
// Set a default value for the password of the cluster service
|
|
// account. There is no default value.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrPasswordIn
|
|
// The password for the cluster service account.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ServiceAccountPassword" ) ]
|
|
HRESULT ServiceAccountPassword( [ in ] BSTR bstrPasswordIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPAddress
|
|
//
|
|
// Description:
|
|
// Set a default value for the cluster IP address. There is no
|
|
// default value.
|
|
//
|
|
// Return the value set by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrClusterIPAddressIn
|
|
// The cluster IP address in dotted-quad string format
|
|
// (e.g. 1.2.3.4).
|
|
//
|
|
// GET Parameters:
|
|
// pbstrClusterIPAddressOut
|
|
// Pointer to a BSTR in which to return the cluster IP
|
|
// address used by the newly created cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ClusterIPAddress" ) ]
|
|
HRESULT ClusterIPAddress( [ in ] BSTR bstrClusterIPAddressIn );
|
|
[ propget, helpstring( "property ClusterIPAddress" ) ]
|
|
HRESULT ClusterIPAddress( [ out, retval ] BSTR * pbstrClusterIPAddressOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPSubnet
|
|
//
|
|
// Description:
|
|
// Returns the cluster IP subnet mask set by the wizard.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrClusterIPSubnetOut
|
|
// Pointer to a BSTR in which to return the IP subnet mask
|
|
// for the cluster IP address used by the newly created
|
|
// cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propget, helpstring( "ClusterIPSubnet" ) ]
|
|
HRESULT ClusterIPSubnet( [ out, retval ] BSTR * pbstrClusterIPSubnetOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPAddressNetwork
|
|
//
|
|
// Description:
|
|
// Returns the network on which the cluster IP address is
|
|
// offered on as set by the wizard.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrClusterNetworkNameOut
|
|
// Pointer to a BSTR in which to return the network used by
|
|
// the cluster IP address used by the newly created cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propget, helpstring( "property ClusterIPAddressNetwork" ) ]
|
|
HRESULT ClusterIPAddressNetwork( [ out, retval ] BSTR * pbstrClusterNetworkNameOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// FirstNodeInCluster
|
|
//
|
|
// Description:
|
|
// Set a default value for the first node in the cluster. There
|
|
// is no default value.
|
|
//
|
|
// Return the value set by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrFirstNodeInClusterIn
|
|
// The name of the first node in the cluster. This name
|
|
// can be specified as a hostname, a Fully-Qualified Domain
|
|
// Name (DNS FQDN), or an IP address.
|
|
//
|
|
// If this is not an FQDN, the local machine account domain
|
|
// will be used. An example of a FQDN is hostname.domain.com.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrFirstNodeInClusterOut
|
|
// Pointer to a BSTR in which to return the first node in
|
|
// the cluster.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property SponsoringNode" ) ]
|
|
HRESULT FirstNodeInCluster( [ in ] BSTR bstrFirstNodeInClusterIn );
|
|
[ propget, helpstring( "property SponsoringNode" ) ]
|
|
HRESULT FirstNodeInCluster( [ out, retval ] BSTR * pbstrFirstNodeInClusterOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// MinimumConfiguration
|
|
//
|
|
// Description:
|
|
// Set the minimum configuraiton mode of the wizard. This
|
|
// property should only be set to VARIANT_TRUE for complex
|
|
// configurations where you do not want the wizard to
|
|
// automatically locate and include all the storage to be managed
|
|
// by the cluster. Setting this property to VARIANT_FALSE is
|
|
// appropriate for most installations and will result in a
|
|
// completely configured server cluster. The default value is
|
|
// VARIANT_FALSE.
|
|
//
|
|
// Return the value used by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// fMinConfigIn
|
|
// VARIANT_TRUE - Perform a minimum configuration.
|
|
// VARIANT_FALSE - Perform a full configuration.
|
|
//
|
|
// GET Parameters:
|
|
// pfMinConfigOut
|
|
// Returns the value used by the user.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property MinimumConfiguration" ) ]
|
|
HRESULT MinimumConfiguration( [ in ] VARIANT_BOOL fMinConfigIn );
|
|
[ propget, helpstring( "property MinimumConfiguration" ) ]
|
|
HRESULT MinimumConfiguration( [ out, retval ] VARIANT_BOOL * pfMinConfigOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ShowWizard
|
|
//
|
|
// Description:
|
|
// Show the wizard starting at the first page.
|
|
//
|
|
// Parameters:
|
|
// lParentWindowHandleIn
|
|
// Handle to the parent window (default NULL). If not NULL,
|
|
// the wizard will be positioned in the center of this
|
|
// window. If NULL, it will be positioned in the center of
|
|
// screen.
|
|
//
|
|
// pfCompletedOut
|
|
// VARIANT_TRUE - Changes were committed.
|
|
// VARIANT_FALSE - Wizard was cancelled.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ helpstring( "method ShowWizard" ) ]
|
|
HRESULT ShowWizard(
|
|
[ in, defaultvalue( 0 ) ] long lParentWindowHandleIn
|
|
, [ out, retval ] VARIANT_BOOL * pfCompletedOut
|
|
);
|
|
|
|
}; //*** interface IClusCfgCreateClusterWizard
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// interface IClusCfgAddNodesWizard
|
|
//
|
|
// Description:
|
|
// The IClusCfgAddNodesWizard interface provides the functions
|
|
// required to launch the Add Nodes To Cluster Wizard.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid( 9da133cb-3b08-4c30-967e-56d96047f10c ),
|
|
dual,
|
|
helpstring( "IClusCfgAddNodesWizard interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IClusCfgAddNodesWizard : IDispatch
|
|
{
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterName
|
|
//
|
|
// Description:
|
|
// Set the name of the cluster to add nodes to. If this property
|
|
// is set, the user will not be asked for the cluster name in
|
|
// the wizard.
|
|
//
|
|
// Return the cluster name for the cluster to which nodes were
|
|
// added.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrClusterNameIn
|
|
// The name of the cluster. This name can be a cluster
|
|
// hostname label, a Fully-Qualified Domain Name (DNS FQDN)
|
|
// for a cluster, or an IP address.
|
|
//
|
|
// If this is not an FQDN, the local machine account domain
|
|
// will be used. An example of a FQDN is hostname.domain.com.
|
|
//
|
|
// GET Parameters:
|
|
// pbstrClusterNameOut
|
|
// Pointer to a BSTR in which to return the cluster name
|
|
// for the cluster to which nodes were added.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ClusterName" ) ]
|
|
HRESULT ClusterName( [ in ] BSTR bstrClusterNameIn );
|
|
[ propget, helpstring( "property ClusterName" ) ]
|
|
HRESULT ClusterName( [ out, retval ] BSTR * pbstrClusterNameOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountPassword
|
|
//
|
|
// Description:
|
|
// Set a default value for the password of the cluster service
|
|
// account. There is no default value.
|
|
//
|
|
// PUT Parameters:
|
|
// bstrPasswordIn
|
|
// The password for the cluster service account.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property ServiceAccountPassword" ) ]
|
|
HRESULT ServiceAccountPassword( [ in ] BSTR bstrPasswordIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// MinimumConfiguration
|
|
//
|
|
// Description:
|
|
// Set the minimum configuraiton mode of the wizard. This
|
|
// property should only be set to VARIANT_TRUE for complex
|
|
// configurations where you do not want the wizard to
|
|
// automatically locate and include all the storage to be managed
|
|
// by the cluster. Setting this property to VARIANT_FALSE is
|
|
// appropriate for most installations and will result in a
|
|
// completely configured server cluster. The default value is
|
|
// VARIANT_FALSE.
|
|
//
|
|
// Return the value used by the wizard.
|
|
//
|
|
// PUT Parameters:
|
|
// fMinConfigIn
|
|
// VARIANT_TRUE - Perform a minimum configuration.
|
|
// VARIANT_FALSE - Perform a full configuration.
|
|
//
|
|
// GET Parameters:
|
|
// pfMinConfigOut
|
|
// Returns the value used by the user.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ propput, helpstring( "property MinimumConfiguration" ) ]
|
|
HRESULT MinimumConfiguration( [ in ] VARIANT_BOOL fMinConfigIn );
|
|
[ propget, helpstring( "property MinimumConfiguration" ) ]
|
|
HRESULT MinimumConfiguration( [ out, retval ] VARIANT_BOOL * pfMinConfigOut );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// AddNodeToList
|
|
//
|
|
// Description:
|
|
// Adds a computer to the list of nodes to add to a cluster.
|
|
//
|
|
// Parameters:
|
|
// bstrNodeNameIn
|
|
// The hostname label, Fully-Qualified Domain Name (DNS
|
|
// FQDN), or IP address of a computer to add to the cluster.
|
|
//
|
|
// If this is not an FQDN, the local machine account domain
|
|
// will be used. An example of a FQDN is hostname.domain.com.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ helpstring( "method AddNodeToList" ) ]
|
|
HRESULT AddNodeToList( [ in ] BSTR bstrNodeNameIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// RemoveNodeFromList
|
|
//
|
|
// Description:
|
|
// Removes a computer from the list of nodes to add to a cluster.
|
|
//
|
|
// Parameters:
|
|
// bstrNodeNameIn
|
|
// The FQDN hostname of the computer to be removed from the
|
|
// node list. An example of a FQDN is hostname.domain.com.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ helpstring( "method RemoveNodeFromList" ) ]
|
|
HRESULT RemoveNodeFromList( [ in ] BSTR bstrNodeNameIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ClearNodeList
|
|
//
|
|
// Description:
|
|
// Removes all computers from the list of nodes to add to a
|
|
// cluster.
|
|
//
|
|
// Parameters:
|
|
// None.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
[ helpstring( "method ClearNodeList" ) ]
|
|
HRESULT ClearNodeList( void );
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ShowWizard
|
|
//
|
|
// Description:
|
|
// Show the wizard starting at the first page.
|
|
//
|
|
// Parameters:
|
|
// lParentWindowHandleIn
|
|
// Handle to the parent window (default NULL). If not NULL,
|
|
// the wizard will be positioned in the center of this
|
|
// window. If NULL, it will be positioned in the center of
|
|
// screen.
|
|
//
|
|
// pfCompletedOut
|
|
// VARIANT_TRUE - Changes were committed.
|
|
// VARIANT_FALSE - Wizard was cancelled.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// Other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
HRESULT ShowWizard(
|
|
[ in, defaultvalue( 0 ) ] long lParentWindowHandleIn
|
|
, [ out, retval ] VARIANT_BOOL * pfCompletedOut
|
|
);
|
|
|
|
}; //*** interface IClusCfgAddNodesWizard
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Component Definitions
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// coclass ClusCfgCreateClusterWizard
|
|
//
|
|
// Description:
|
|
// The ClusCfgCreateClusterWizard coclass implements the interface
|
|
// required to launch the Create Server Cluster Wizard.
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
uuid( b929818e-f5b0-44dc-8a00-1b5f5f5aa1f0 ),
|
|
helpstring( "ClusCfgCreateClusterWizard Class" )
|
|
]
|
|
coclass ClusCfgCreateClusterWizard
|
|
{
|
|
[ default ] interface IClusCfgCreateClusterWizard;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// coclass ClusCfgAddNodesWizard
|
|
//
|
|
// Description:
|
|
// The ClusCfgAddNodesWizardcoclass implements the interface required
|
|
// to launch the Add Nodes To Cluster Wizard.
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
uuid( bb8d141e-c00a-469f-bc5c-ecd814f0bd74 ),
|
|
helpstring( "ClusCfgAddNodesWizard Class" )
|
|
]
|
|
coclass ClusCfgAddNodesWizard
|
|
{
|
|
[ default ] interface IClusCfgAddNodesWizard;
|
|
};
|
|
|
|
}; //*** library ClusCfgWizard
|