Source code of Windows XP (NT5)
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.

414 lines
14 KiB

  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