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.

178 lines
5.7 KiB

  1. // clusocm.h : main header file for the CLUSOCM DLL
  2. //
  3. // Include installstate.h before this file.
  4. #if !defined(AFX_CLUSOCM_H__63844344_9801_11D1_8CF1_00609713055B__INCLUDED_)
  5. #define AFX_CLUSOCM_H__63844344_9801_11D1_8CF1_00609713055B__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #ifndef __AFXWIN_H__
  10. #error include 'stdafx.h' before including this file for PCH
  11. #endif
  12. #include "resource.h" // main symbols
  13. #include <ocmanage.h>
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CClusocmApp
  16. // See clusocm.cpp for the implementation of this class
  17. //
  18. class CClusocmApp : public CWinApp
  19. {
  20. public:
  21. CClusocmApp(); // Default constructor
  22. // Overrides
  23. // ClassWizard generated virtual function overrides
  24. //{{AFX_VIRTUAL(CClusocmApp)
  25. //}}AFX_VIRTUAL
  26. //{{AFX_MSG(CClusocmApp)
  27. // NOTE - the ClassWizard will add and remove member functions here.
  28. // DO NOT EDIT what you see in these blocks of generated code !
  29. //}}AFX_MSG
  30. virtual BOOL InitInstance();
  31. DECLARE_MESSAGE_MAP()
  32. public:
  33. DWORD CClusocmApp::ClusOcmSetupProc( IN LPCVOID pvComponentId,
  34. IN LPCVOID pvSubComponentId,
  35. IN UINT uxFunction,
  36. IN UINT uxParam1,
  37. IN OUT PVOID pvParam2 );
  38. private:
  39. DWORD OnOcPreinitialize( void );
  40. DWORD OnOcInitComponent( IN OUT PSETUP_INIT_COMPONENT pvParam2 );
  41. DWORD OnOcQueryState( IN LPCTSTR ptszSubComponentId,
  42. IN UINT uxSelStateQueryType );
  43. DWORD OnOcSetLanguage( void );
  44. DWORD OnOcCalcDiskSpace( IN LPCTSTR ptszSubComponentId,
  45. IN UINT uxAddOrRemoveFlag,
  46. IN OUT HDSKSPC hDiskSpaceList );
  47. DWORD OnOcQueueFileOps( IN LPCTSTR ptszSubComponentId,
  48. IN OUT HSPFILEQ hSetupFileQueue );
  49. DWORD OnOcQueueFileOpsUnattended( IN LPCTSTR ptszSubComponentId,
  50. IN OUT HSPFILEQ hSetupFileQueue );
  51. DWORD QueueFileOpsUnattendedUpgrade( IN LPCTSTR ptszSubComponentId,
  52. IN OUT HSPFILEQ hSetupFileQueue );
  53. DWORD OnOcQueueFileOpsAttended( IN LPCTSTR ptszSubComponentId,
  54. IN OUT HSPFILEQ hSetupFileQueue );
  55. DWORD OnOcCompleteInstallation( IN LPCTSTR ptszSubComponentId );
  56. DWORD OnOcQueryChangeSelState( IN LPCTSTR ptszSubComponentId,
  57. IN UINT uxProposedSelectionState,
  58. IN DWORD dwFlags );
  59. DWORD QueueInstallFileOperations( IN HINF hInfHandle,
  60. IN LPCTSTR ptszSubComponentId,
  61. IN OUT HSPFILEQ hSetupFileQueue );
  62. DWORD QueueRemoveFileOperations( IN HINF hInfHandle,
  63. IN LPCTSTR ptszSubComponentId,
  64. IN OUT HSPFILEQ hSetupFileQueue );
  65. DWORD PerformRegistryOperations( HINF hInfHandle,
  66. LPCTSTR ptszSectionName );
  67. DWORD UninstallRegistryOperations( HINF hInfHandle,
  68. LPCTSTR ptszSubComponentId );
  69. DWORD OnOcAboutToCommitQueue( IN LPCTSTR ptszSubComponentId );
  70. BOOL LocateClusterHiveFile( CString & rcsClusterHiveFilePath );
  71. BOOL CheckForCustomResourceTypes( void );
  72. VOID UnloadClusDB( VOID );
  73. VOID TryToRecognizeResourceType( CString& str, LPTSTR keyname );
  74. BOOL GetServiceBinaryPath( IN LPWSTR lpwszServiceName,
  75. OUT LPTSTR lptszBinaryPathName );
  76. BOOL SetDirectoryIds( BOOL fClusterServiceRegistered );
  77. DWORD UpgradeClusterServiceImagePath( void );
  78. DWORD CompleteUninstallingClusteringService( IN LPCTSTR ptszSubComponentId );
  79. HKEY OpenClusterRegistryRoot( void );
  80. PWSTR FindNodeNumber( HKEY ClusterKey );
  81. PWSTR GetConnectionName( HKEY NetInterfacesGuidKey,
  82. PCLRTL_NET_ADAPTER_ENUM AdapterEnum );
  83. PCLRTL_NET_ADAPTER_ENUM GetTCPAdapterInfo( void );
  84. DWORD RenameConnectionObjects( void );
  85. DWORD CompleteUpgradingClusteringService( IN LPCTSTR ptszSubComponentId );
  86. DWORD CompleteStandAloneInstallationOfClusteringService( IN LPCTSTR ptszSubComponentId );
  87. DWORD CompleteInstallingClusteringService( IN LPCTSTR ptszSubComponentId );
  88. DWORD OnOcCleanup( void );
  89. DWORD CleanupDirectories( void );
  90. BOOL IsDirectoryEmpty( LPCTSTR ptszDirectoryName );
  91. BOOL GetPathToClusCfg( LPTSTR lptszPathToClusCfg );
  92. DWORD CalculateStepCount( IN LPCTSTR ptszSubComponentId );
  93. void SetStepCount( DWORD dwStepCount );
  94. DWORD GetStepCount( void );
  95. /////////////////////////////////////////////////////////////////////////////
  96. // Data Members
  97. public:
  98. HINSTANCE m_hInstance;
  99. private:
  100. SETUP_INIT_COMPONENT m_SetupInitComponent;
  101. char m_szOriginalLogFileName[MAX_PATH];
  102. DWORD m_dwStepCount;
  103. };
  104. /////////////////////////////////////////////////////////////////////////////
  105. //{{AFX_INSERT_LOCATION}}
  106. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  107. // Non-localizable strings used only by clusocm.dll are defined below.
  108. #define UNINSTALL_INF_KEY _T( "Uninstall" )
  109. #define UPGRADE_INF_KEY _T( "Upgrade" )
  110. #define UPGRADE_REPLACEONLY_INF_KEY _T( "UpgradeReplaceOnly" )
  111. #define CLUSTER_FILES_INF_KEY _T( "ClusterFiles" )
  112. #define REGISTERED_INF_KEY_FRAGMENT _T( "Registered" )
  113. #define UNATTEND_COMMAND_LINE_OPTION _T( "-UNATTEND" )
  114. #define CLUSTER_CONFIGURATION_PGM _T( "ClusCfg.exe" )
  115. #endif // !defined(AFX_CLUSOCM_H__63844344_9801_11D1_8CF1_00609713055B__INCLUDED_)