windows-nt/Source/XPSP1/NT/public/sdk/inc/cluscfgwizard.idl
2020-09-26 16:20:57 +08:00

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