415 lines
14 KiB
Plaintext
415 lines
14 KiB
Plaintext
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999-2001 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
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
interface IClusCfgWizard;
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Type Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Interface Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// interface IClusCfgWizard
|
|
//
|
|
// Description:
|
|
// The IClusCfgWizard interface provides the functions required to launch
|
|
// the Cluster Configuration Wizard in either Create Cluster or Add
|
|
// Cluster Nodes mode.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid(2EB57A3B-DA8D-4B56-97CF-A3191BF8FD5B),
|
|
dual,
|
|
helpstring("IClusCfgWizard Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IClusCfgWizard : IDispatch
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// CreateCluster()
|
|
//
|
|
// Description:
|
|
// Launch the Cluster Wizard in Create Cluster mode.
|
|
//
|
|
// Parameters
|
|
// ParentHwndIn
|
|
// Handle to the parent window (default NULL). If not NULL,
|
|
// the wizard will be positionned in the center of this window.
|
|
//
|
|
// pfDoneOut
|
|
// Returns TRUE if committed, FALSE if cancelled.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ id( 1 ), helpstring( "method CreateCluster" ) ]
|
|
HRESULT
|
|
CreateCluster(
|
|
[ in, defaultvalue( 0 ) ] HWND ParentHwndIn
|
|
, [ out, retval ] BOOL * pfDoneOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// AddClusterNodes()
|
|
//
|
|
// Description:
|
|
// Launch the Cluster Wizard in Add Cluster Nodes mode.
|
|
//
|
|
// Parameters
|
|
// ParentHwndIn
|
|
// Handle to the parent window (default NULL). If not NULL, the
|
|
// wizard will be positionned in the center of this window.
|
|
//
|
|
// pfDoneOut
|
|
// Returns TRUE if committed, FALSE if cancelled.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ id( 2 ), helpstring( "method AddClusterNodes" ) ]
|
|
HRESULT
|
|
AddClusterNodes(
|
|
[ in, defaultvalue( 0 ) ] HWND ParentHwndIn
|
|
, [ out, retval ] BOOL * pfDoneOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterName
|
|
//
|
|
// Description:
|
|
// Set a default value for the cluster name if Create Cluster mode.
|
|
// Provide the mandatory name of the cluster before calling
|
|
// AddClusterNodes. Return the cluster name for a newly created
|
|
// cluster. This must be a Fully-Qualified Domain Name (DNS FQDN)
|
|
// for the cluster. The "domain" default will be determined from
|
|
// this string.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 5 ), helpstring( "property ClusterName" ) ]
|
|
HRESULT
|
|
ClusterName( [ out, retval ] BSTR *pbstrFQDNNameOut );
|
|
|
|
[ propput, id( 5 ), helpstring( "property ClusterName" ) ]
|
|
HRESULT
|
|
ClusterName( [ in ] BSTR bstrFQDNNameIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountUserName
|
|
//
|
|
// Description:
|
|
// Set a default value for the user name in the cluster service account.
|
|
// Return the value set by the wizard.
|
|
// The default property value is NULL.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 6 ), helpstring( "property ServiceAccountUserName" ) ]
|
|
HRESULT
|
|
ServiceAccountUserName( [ out, retval ] BSTR * pbstrAccountNameOut );
|
|
|
|
[ propput, id( 6 ), helpstring( "property ServiceAccountUserName" ) ]
|
|
HRESULT
|
|
ServiceAccountUserName( [ in ] BSTR bstrAccountNameIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountPassword
|
|
//
|
|
// Description:
|
|
// Set a default value for the password in the cluster service account.
|
|
// Return the value set by the wizard.
|
|
// The default property value is NULL.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 7 ), helpstring( "property ServiceAccountPassword" ) ]
|
|
HRESULT
|
|
ServiceAccountPassword( [ out, retval ] BSTR * pbstrPasswordOut );
|
|
|
|
[ propput, id( 7 ), helpstring( "property ServiceAccountPassword" ) ]
|
|
HRESULT
|
|
ServiceAccountPassword( [ in ] BSTR bstrPasswordIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ServiceAccountDomainName
|
|
//
|
|
// Description:
|
|
// Set a default value for the domain name in the cluster service account.
|
|
// Return the value set by the wizard.
|
|
// If not initialized, the default property value will be the local domain.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 8 ), helpstring( "property ServiceAccountDomainName" ) ]
|
|
HRESULT
|
|
ServiceAccountDomainName( [ out, retval ] BSTR * pbstrDomainOut );
|
|
|
|
[ propput, id( 8 ), helpstring( "property ServiceAccountDomainName" ) ]
|
|
HRESULT
|
|
ServiceAccountDomainName( [ in ] BSTR bstrDomainIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPAddress
|
|
//
|
|
// Description:
|
|
// Set a default value for the cluster IP address.
|
|
// Return the value set by the wizard.
|
|
// There is no default value.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 9 ), helpstring( "property ClusterIPAddress" ) ]
|
|
HRESULT
|
|
ClusterIPAddress( [ out, retval ] BSTR * pbstrIPAddressOut );
|
|
|
|
[ propput, id( 9 ), helpstring( "property ClusterIPAddress" ) ]
|
|
HRESULT
|
|
ClusterIPAddress( [ in ] BSTR bstrIPAddressIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPSubnet
|
|
//
|
|
// Description:
|
|
// Set a default value for the cluster IP subnet mask.
|
|
// Return the value set by the wizard.
|
|
// There is no default value.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 10 ), helpstring( "property ClusterIPSubnet" ) ]
|
|
HRESULT
|
|
ClusterIPSubnet( [ out, retval ] BSTR * pbstrIPSubnetOut );
|
|
|
|
[ propput, id( 10 ), helpstring( "property ClusterIPSubnet" ) ]
|
|
HRESULT
|
|
ClusterIPSubnet( [ in ] BSTR bstrSubnetIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PROPERTY
|
|
// ClusterIPAddressNetwork
|
|
//
|
|
// Description:
|
|
// Set a default value for the network on which the cluster IP address
|
|
// is to be offered on.
|
|
// Return the value set by the wizard.
|
|
// There is no default value.
|
|
//
|
|
// Return Values:
|
|
// S_OK - The call succeeded.
|
|
// other HRESULTs - The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ propget, id( 11 ), helpstring( "property ClusterIPAddressNetwork" ) ]
|
|
HRESULT
|
|
ClusterIPAddressNetwork( [ out, retval ] BSTR * pbstrNetworkNameOut );
|
|
|
|
[ propput, id( 11 ), helpstring( "property ClusterIPAddressNetwork" ) ]
|
|
HRESULT
|
|
ClusterIPAddressNetwork( [ in ] BSTR bstrNetworkNameIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// AddComputer( )
|
|
//
|
|
// Description:
|
|
// Adds a computer to the list of nodes to form/join a cluster. This
|
|
// string must be the Fully-Qualified Domain Name (DNS FQDN) of the
|
|
// computer to be added.
|
|
//
|
|
// Parameters:
|
|
// pcszFQDNNameIn
|
|
// The FQDN hostname of the computer to be added as a node. An
|
|
// example of a FQDN is hostname.domain.com.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ id( 12 ), helpstring( "method AddComputer" ) ]
|
|
HRESULT
|
|
AddComputer(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszFQDNNameIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// RemoveComputer( )
|
|
//
|
|
// Description:
|
|
// Removes a computer from the list of nodes to form/join a cluster.
|
|
// This string must be the Fully-Qualified Domain Name (DNS FQDN) of
|
|
// the computer to be removed.
|
|
//
|
|
// Parameters:
|
|
// pcszFQDNNameIn
|
|
// The FQDN hostname of the computer to be removed as a node. An
|
|
// example of a FQDN is hostname.domain.com.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ id( 13 ), helpstring( "method RemoveComputer" ) ]
|
|
HRESULT
|
|
RemoveComputer(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszFQDNNameIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ClearComputerList( )
|
|
//
|
|
// Description:
|
|
// Removes all computers from the list of nodes to form/join a
|
|
// cluster.
|
|
//
|
|
// Parameters:
|
|
// None.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// The call succeeded.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[ id( 14 ), helpstring( "method ClearComputerList" ) ]
|
|
HRESULT
|
|
ClearComputerList( void );
|
|
|
|
}; //*** interface IClusCfgWizard
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Library Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
[
|
|
uuid(6D01FEDC-8D34-4728-AD0B-B3A21A103B42),
|
|
version(1.0),
|
|
helpstring("Microsoft Cluster Configuration Wizard 2.0")
|
|
]
|
|
library ClusCfgWizard
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Imported Files
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
importlib("stdole2.tlb");
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Component Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// coclass ClusCfgWizard
|
|
//
|
|
// Description:
|
|
// The ClusCfgWizard coclass implements the interface required to launch
|
|
// the Cluster Wizard in either Create Cluster or Add Cluster Nodes mode.
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
[
|
|
uuid(1919C4FE-6F46-4027-977D-0EF1C8F26372),
|
|
helpstring("ClusCfgWizard Class")
|
|
]
|
|
coclass ClusCfgWizard
|
|
{
|
|
[default] interface IClusCfgWizard;
|
|
};
|
|
|
|
}; //*** library ClusCfgWizard
|