Leaked source code of windows server 2003
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.

75 lines
2.5 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // SaInstall.h: Definition of the SaInstall class
  7. //
  8. // Description:
  9. // Defines the 3 methods in ISaInstall to provide
  10. // installation and uninstallation which prompt for the
  11. // Windows CD if necessary and perform some other error
  12. // checking
  13. //
  14. // [Documentation:]
  15. // name-of-documentation-file
  16. //
  17. // [Implementation Files:]
  18. // SaInstall.cpp
  19. //
  20. // History:
  21. // Travis Nielsen travisn 23-JUL-2001
  22. //
  23. //
  24. /////////////////////////////////////////////////////////////////////////
  25. #pragma once
  26. #include "resource.h" // main symbols
  27. /////////////////////////////////////////////////////////////////////////////
  28. // SaInstall
  29. class SaInstall :
  30. public IDispatchImpl<ISaInstall, &IID_ISaInstall, &LIBID_SAINSTALLCOMLib>,
  31. public ISupportErrorInfo,
  32. public CComObjectRoot,
  33. public CComCoClass<SaInstall,&CLSID_SaInstall>
  34. {
  35. public:
  36. SaInstall() {}
  37. BEGIN_COM_MAP(SaInstall)
  38. COM_INTERFACE_ENTRY(IDispatch)
  39. COM_INTERFACE_ENTRY(ISaInstall)
  40. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  41. END_COM_MAP()
  42. //DECLARE_NOT_AGGREGATABLE(SaInstall)
  43. // Remove the comment from the line above if you don't want your object to
  44. // support aggregation.
  45. DECLARE_REGISTRY_RESOURCEID(IDR_SaInstall)
  46. // ISupportsErrorInfo
  47. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  48. public:
  49. // ISaInstall
  50. //Installs a Server Appliance solution
  51. STDMETHOD(SAInstall)(
  52. SA_TYPE installType, //[in] Determines which type of solution to install
  53. BSTR bstrDiskName, //[in] The name of the CD that needs to be inserted
  54. VARIANT_BOOL bDispError, //[in] Whether the component displays error dialogs.
  55. VARIANT_BOOL bUnattended,//[in] Whether the component displays any UI.
  56. BSTR* bstrErrorString);//[out, retval] Error string returned if install is not successful
  57. //UnInstalls a specific Server Appliance solution
  58. STDMETHOD(SAUninstall)(
  59. SA_TYPE installType, //[in] Determines which type of solution to uninstall
  60. BSTR* bstrErrorString);//[out, retval] Error string returned if install is not successful
  61. //Detects if a type of SAK solution is currently installed
  62. STDMETHOD(SAAlreadyInstalled)(
  63. SA_TYPE installedType,//[in] The type to query if it is installed
  64. VARIANT_BOOL *pbInstalled);//[out, retval] Error string
  65. };