ClusCfgWizard.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:14k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  Copyright (c) 1999-2001 Microsoft Corporation
  4. //
  5. //  Module Name:
  6. //      ClusCfgWizard.idl
  7. //
  8. //  Description:
  9. //      IDL source for Cluster Configuration Wizard.
  10. //      This file will be processed by the MIDL tool to produce the
  11. //      type library (ClusCfgWizard.tlb) and marshalling code.
  12. //
  13. //////////////////////////////////////////////////////////////////////////////
  14. //////////////////////////////////////////////////////////////////////////////
  15. // Imported Files
  16. //////////////////////////////////////////////////////////////////////////////
  17. import "oaidl.idl";
  18. import "ocidl.idl";
  19. //////////////////////////////////////////////////////////////////////////////
  20. // Forward Declarations
  21. //////////////////////////////////////////////////////////////////////////////
  22. interface IClusCfgWizard;
  23. //////////////////////////////////////////////////////////////////////////////
  24. // Type Definitions
  25. //////////////////////////////////////////////////////////////////////////////
  26. //////////////////////////////////////////////////////////////////////////////
  27. // Interface Definitions
  28. //////////////////////////////////////////////////////////////////////////////
  29. //////////////////////////////////////////////////////////////////////////////
  30. //
  31. //  interface IClusCfgWizard
  32. //
  33. //  Description:
  34. //      The IClusCfgWizard interface provides the functions required to launch
  35. //      the Cluster Configuration Wizard in either Create Cluster or Add
  36. //      Cluster Nodes mode.
  37. //
  38. //////////////////////////////////////////////////////////////////////////////
  39. [
  40.     object,
  41.     uuid(2EB57A3B-DA8D-4B56-97CF-A3191BF8FD5B),
  42.     dual,
  43.     helpstring("IClusCfgWizard Interface"),
  44.     pointer_default(unique)
  45. ]
  46. interface IClusCfgWizard : IDispatch
  47. {
  48.     //////////////////////////////////////////////////////////////////////////
  49.     //
  50.     //  STDMETHOD
  51.     //      CreateCluster()
  52.     //
  53.     //  Description:
  54.     //      Launch the Cluster Wizard in Create Cluster mode.
  55.     //
  56.     //  Parameters
  57.     //      ParentHwndIn
  58.     //          Handle to the parent window (default NULL). If not NULL,
  59.     //          the wizard will be positionned in the center of this window.
  60.     //
  61.     //      pfDoneOut
  62.     //          Returns TRUE if committed, FALSE if cancelled.
  63.     //
  64.     //  Return Values:
  65.     //      S_OK
  66.     //          The call succeeded.
  67.     //
  68.     //      other HRESULTs
  69.     //          The call failed.
  70.     //
  71.     //////////////////////////////////////////////////////////////////////////
  72.     [ id( 1 ), helpstring( "method CreateCluster" ) ]
  73.     HRESULT
  74.         CreateCluster(
  75.               [ in, defaultvalue( 0 ) ]    HWND ParentHwndIn
  76.             , [ out, retval ]              BOOL * pfDoneOut
  77.             );
  78.     //////////////////////////////////////////////////////////////////////////
  79.     //
  80.     //  STDMETHOD
  81.     //      AddClusterNodes()
  82.     //
  83.     //  Description:
  84.     //      Launch the Cluster Wizard in Add Cluster Nodes mode.
  85.     //
  86.     //  Parameters
  87.     //      ParentHwndIn
  88.     //          Handle to the parent window (default NULL). If not NULL, the
  89.     //          wizard will be positionned in the center of this window.
  90.     //
  91.     //      pfDoneOut
  92.     //          Returns TRUE if committed, FALSE if cancelled.
  93.     //
  94.     //  Return Values:
  95.     //      S_OK
  96.     //          The call succeeded.
  97.     //
  98.     //      other HRESULTs
  99.     //          The call failed.
  100.     //
  101.     //////////////////////////////////////////////////////////////////////////
  102.     [ id( 2 ), helpstring( "method AddClusterNodes" ) ]
  103.     HRESULT
  104.         AddClusterNodes(
  105.               [ in, defaultvalue( 0 ) ]  HWND ParentHwndIn
  106.             , [ out, retval ]            BOOL * pfDoneOut
  107.             );
  108.     //////////////////////////////////////////////////////////////////////////
  109.     //
  110.     //  PROPERTY
  111.     //      ClusterName
  112.     //
  113.     //  Description:
  114.     //      Set a default value for the cluster name if Create Cluster mode.
  115.     //      Provide the mandatory name of the cluster before calling
  116.     //      AddClusterNodes. Return the cluster name for a newly created
  117.     //      cluster. This must be a Fully-Qualified Domain Name (DNS FQDN)
  118.     //      for the cluster. The "domain" default will be determined from
  119.     //      this string.
  120.     //
  121.     //  Return Values:
  122.     //      S_OK
  123.     //          The call succeeded.
  124.     //
  125.     //      other HRESULTs
  126.     //          The call failed.
  127.     //
  128.     //////////////////////////////////////////////////////////////////////////
  129.     [ propget, id( 5 ), helpstring( "property ClusterName" ) ]
  130.     HRESULT
  131.         ClusterName( [ out, retval ] BSTR *pbstrFQDNNameOut );
  132.     [ propput, id( 5 ), helpstring( "property ClusterName" ) ]
  133.     HRESULT
  134.         ClusterName( [ in ] BSTR bstrFQDNNameIn );
  135.     //////////////////////////////////////////////////////////////////////////
  136.     //
  137.     //  PROPERTY
  138.     //      ServiceAccountUserName
  139.     //
  140.     //  Description:
  141.     //      Set a default value for the user name in the cluster service account.
  142.     //      Return the value set by the wizard.
  143.     //      The default property value is NULL.
  144.     //
  145.     //  Return Values:
  146.     //      S_OK
  147.     //          The call succeeded.
  148.     //
  149.     //      other HRESULTs
  150.     //          The call failed.
  151.     //
  152.     //////////////////////////////////////////////////////////////////////////
  153.     [ propget, id( 6 ), helpstring( "property ServiceAccountUserName" ) ]
  154.     HRESULT
  155.         ServiceAccountUserName( [ out, retval ] BSTR * pbstrAccountNameOut );
  156.     [ propput, id( 6 ), helpstring( "property ServiceAccountUserName" ) ]
  157.     HRESULT
  158.         ServiceAccountUserName( [ in ] BSTR bstrAccountNameIn );
  159.     //////////////////////////////////////////////////////////////////////////
  160.     //
  161.     //  PROPERTY
  162.     //      ServiceAccountPassword
  163.     //
  164.     //  Description:
  165.     //      Set a default value for the password in the cluster service account.
  166.     //      Return the value set by the wizard.
  167.     //      The default property value is NULL.
  168.     //
  169.     //  Return Values:
  170.     //      S_OK
  171.     //          The call succeeded.
  172.     //
  173.     //      other HRESULTs
  174.     //          The call failed.
  175.     //
  176.     //////////////////////////////////////////////////////////////////////////
  177.     [ propget, id( 7 ), helpstring( "property ServiceAccountPassword" ) ]
  178.     HRESULT
  179.         ServiceAccountPassword( [ out, retval ] BSTR * pbstrPasswordOut );
  180.     [ propput, id( 7 ), helpstring( "property ServiceAccountPassword" ) ]
  181.     HRESULT
  182.         ServiceAccountPassword( [ in ] BSTR bstrPasswordIn );
  183.     //////////////////////////////////////////////////////////////////////////
  184.     //
  185.     //  PROPERTY
  186.     //      ServiceAccountDomainName
  187.     //
  188.     //  Description:
  189.     //      Set a default value for the domain name in the cluster service account.
  190.     //      Return the value set by the wizard.
  191.     //      If not initialized, the default property value will be the local domain.
  192.     //
  193.     //  Return Values:
  194.     //      S_OK                - The call succeeded.
  195.     //      other HRESULTs      - The call failed.
  196.     //
  197.     //////////////////////////////////////////////////////////////////////////
  198.     [ propget, id( 8 ), helpstring( "property ServiceAccountDomainName" ) ]
  199.     HRESULT
  200.         ServiceAccountDomainName( [ out, retval ] BSTR * pbstrDomainOut );
  201.     [ propput, id( 8 ), helpstring( "property ServiceAccountDomainName" ) ]
  202.     HRESULT
  203.         ServiceAccountDomainName( [ in ] BSTR bstrDomainIn );
  204.     //////////////////////////////////////////////////////////////////////////
  205.     //
  206.     //  PROPERTY
  207.     //      ClusterIPAddress
  208.     //
  209.     //  Description:
  210.     //      Set a default value for the cluster IP address.
  211.     //      Return the value set by the wizard.
  212.     //      There is no default value.
  213.     //
  214.     //  Return Values:
  215.     //      S_OK                - The call succeeded.
  216.     //      other HRESULTs      - The call failed.
  217.     //
  218.     //////////////////////////////////////////////////////////////////////////
  219.     [ propget, id( 9 ), helpstring( "property ClusterIPAddress" ) ]
  220.     HRESULT
  221.         ClusterIPAddress( [ out, retval ] BSTR * pbstrIPAddressOut );
  222.     [ propput, id( 9 ), helpstring( "property ClusterIPAddress" ) ]
  223.     HRESULT
  224.         ClusterIPAddress( [ in ] BSTR bstrIPAddressIn );
  225.     //////////////////////////////////////////////////////////////////////////
  226.     //
  227.     //  PROPERTY
  228.     //      ClusterIPSubnet
  229.     //
  230.     //  Description:
  231.     //      Set a default value for the cluster IP subnet mask.
  232.     //      Return the value set by the wizard.
  233.     //      There is no default value.
  234.     //
  235.     //  Return Values:
  236.     //      S_OK                - The call succeeded.
  237.     //      other HRESULTs      - The call failed.
  238.     //
  239.     //////////////////////////////////////////////////////////////////////////
  240.     [ propget, id( 10 ), helpstring( "property ClusterIPSubnet" ) ]
  241.     HRESULT
  242.         ClusterIPSubnet( [ out, retval ] BSTR * pbstrIPSubnetOut );
  243.     [ propput, id( 10 ), helpstring( "property ClusterIPSubnet" ) ]
  244.     HRESULT
  245.         ClusterIPSubnet( [ in ] BSTR bstrSubnetIn );
  246.     //////////////////////////////////////////////////////////////////////////
  247.     //
  248.     //  PROPERTY
  249.     //      ClusterIPAddressNetwork
  250.     //
  251.     //  Description:
  252.     //      Set a default value for the network on which the cluster IP address
  253.     //      is to be offered on.
  254.     //      Return the value set by the wizard.
  255.     //      There is no default value.
  256.     //
  257.     //  Return Values:
  258.     //      S_OK                - The call succeeded.
  259.     //      other HRESULTs      - The call failed.
  260.     //
  261.     //////////////////////////////////////////////////////////////////////////
  262.     [ propget, id( 11 ), helpstring( "property ClusterIPAddressNetwork" ) ]
  263.     HRESULT
  264.         ClusterIPAddressNetwork( [ out, retval ] BSTR * pbstrNetworkNameOut );
  265.     [ propput, id( 11 ), helpstring( "property ClusterIPAddressNetwork" ) ]
  266.     HRESULT
  267.         ClusterIPAddressNetwork( [ in ] BSTR bstrNetworkNameIn );
  268.     //////////////////////////////////////////////////////////////////////////
  269.     //
  270.     //  STDMETHOD
  271.     //      AddComputer( )
  272.     //
  273.     //  Description:
  274.     //      Adds a computer to the list of nodes to form/join a cluster. This
  275.     //      string must be the Fully-Qualified Domain Name (DNS FQDN) of the
  276.     //      computer to be added.
  277.     //
  278.     //  Parameters:
  279.     //      pcszFQDNNameIn
  280.     //          The FQDN hostname of the computer to be added as a node. An
  281.     //          example of a FQDN is hostname.domain.com.
  282.     //
  283.     //  Return Values:
  284.     //      S_OK
  285.     //          The call succeeded.
  286.     //
  287.     //      other HRESULTs
  288.     //          The call failed.
  289.     //
  290.     //////////////////////////////////////////////////////////////////////////
  291.     [ id( 12 ), helpstring( "method AddComputer" ) ]
  292.     HRESULT
  293.         AddComputer(
  294.             [ in, pointer_default( unique ) ] LPCWSTR pcszFQDNNameIn
  295.             );
  296.     //////////////////////////////////////////////////////////////////////////
  297.     //
  298.     //  STDMETHOD
  299.     //      RemoveComputer( )
  300.     //
  301.     //  Description:
  302.     //      Removes a computer from the list of nodes to form/join a cluster.
  303.     //      This string must be the Fully-Qualified Domain Name (DNS FQDN) of
  304.     //      the computer to be removed.
  305.     //
  306.     //  Parameters:
  307.     //      pcszFQDNNameIn
  308.     //          The FQDN hostname of the computer to be removed as a node. An
  309.     //          example of a FQDN is hostname.domain.com.
  310.     //
  311.     //  Return Values:
  312.     //      S_OK
  313.     //          The call succeeded.
  314.     //
  315.     //      other HRESULTs
  316.     //          The call failed.
  317.     //
  318.     //////////////////////////////////////////////////////////////////////////
  319.     [ id( 13 ), helpstring( "method RemoveComputer" ) ]
  320.     HRESULT
  321.         RemoveComputer(
  322.             [ in, pointer_default( unique ) ] LPCWSTR pcszFQDNNameIn
  323.             );
  324.     //////////////////////////////////////////////////////////////////////////
  325.     //
  326.     //  STDMETHOD
  327.     //      ClearComputerList( )
  328.     //
  329.     //  Description:
  330.     //      Removes all computers from the list of nodes to form/join a
  331.     //      cluster.
  332.     //
  333.     //  Parameters:
  334.     //      None.
  335.     //
  336.     //  Return Values:
  337.     //      S_OK
  338.     //          The call succeeded.
  339.     //
  340.     //      other HRESULTs
  341.     //          The call failed.
  342.     //
  343.     //////////////////////////////////////////////////////////////////////////
  344.     [ id( 14 ), helpstring( "method ClearComputerList" ) ]
  345.     HRESULT
  346.         ClearComputerList( void );
  347. }; //*** interface IClusCfgWizard
  348. //////////////////////////////////////////////////////////////////////////////
  349. // Library Definitions
  350. //////////////////////////////////////////////////////////////////////////////
  351. [
  352.     uuid(6D01FEDC-8D34-4728-AD0B-B3A21A103B42),
  353.     version(1.0),
  354.     helpstring("Microsoft Cluster Configuration Wizard 2.0")
  355. ]
  356. library ClusCfgWizard
  357. {
  358.     //////////////////////////////////////////////////////////////////////////////
  359.     // Imported Files
  360.     //////////////////////////////////////////////////////////////////////////////
  361.     importlib("stdole2.tlb");
  362.     //////////////////////////////////////////////////////////////////////////////
  363.     // Component Definitions
  364.     //////////////////////////////////////////////////////////////////////////////
  365.     //////////////////////////////////////////////////////////////////////////////
  366.     //++
  367.     //
  368.     //  coclass ClusCfgWizard
  369.     //
  370.     //  Description:
  371.     //      The ClusCfgWizard coclass implements the interface required to launch
  372.     //      the Cluster Wizard in either Create Cluster or Add Cluster Nodes mode.
  373.     //--
  374.     //////////////////////////////////////////////////////////////////////////////
  375.     [
  376.         uuid(1919C4FE-6F46-4027-977D-0EF1C8F26372),
  377.         helpstring("ClusCfgWizard Class")
  378.     ]
  379.     coclass ClusCfgWizard
  380.     {
  381.         [default] interface IClusCfgWizard;
  382.     };
  383. }; //*** library ClusCfgWizard