////////////////////////////////////////////////////////////////////////////// // // 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