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.
 
 
 
 
 
 

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