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.

81 lines
2.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1999.
  5. //
  6. // File: I C L A S S . H
  7. //
  8. // Contents: Implements the INetCfgClass and INetCfgClassSetup COM
  9. // interfaces on the NetCfgClass sub-level COM object.
  10. //
  11. // Notes:
  12. //
  13. // Author: shaunco 15 Jan 1999
  14. //
  15. //----------------------------------------------------------------------------
  16. #pragma once
  17. #include "iatl.h"
  18. #include "inetcfg.h"
  19. #include "compdefs.h"
  20. #include "netcfgx.h"
  21. //+---------------------------------------------------------------------------
  22. // INetCfgClass -
  23. //
  24. class ATL_NO_VTABLE CImplINetCfgClass :
  25. public CImplINetCfgHolder,
  26. public INetCfgClass,
  27. public INetCfgClassSetup
  28. {
  29. private:
  30. NETCLASS m_Class;
  31. public:
  32. CImplINetCfgClass ()
  33. {
  34. m_Class = NC_INVALID;
  35. }
  36. BEGIN_COM_MAP(CImplINetCfgClass)
  37. COM_INTERFACE_ENTRY(INetCfgClass)
  38. COM_INTERFACE_ENTRY(INetCfgClassSetup)
  39. END_COM_MAP()
  40. // INetCfgClass
  41. //
  42. STDMETHOD (FindComponent) (
  43. IN PCWSTR pszInfId,
  44. OUT INetCfgComponent** ppComp);
  45. STDMETHOD (EnumComponents) (
  46. OUT IEnumNetCfgComponent** ppIEnum);
  47. // INetCfgClassSetup
  48. //
  49. STDMETHOD (SelectAndInstall) (
  50. IN HWND hwndParent,
  51. IN OBO_TOKEN* pOboToken,
  52. OUT INetCfgComponent** ppIComp);
  53. STDMETHOD (Install) (
  54. IN PCWSTR pszwInfId,
  55. IN OBO_TOKEN* pOboToken,
  56. IN DWORD dwSetupFlags,
  57. IN DWORD dwUpgradeFromBuildNo,
  58. IN PCWSTR pszAnswerFile,
  59. IN PCWSTR pszAnswerSection,
  60. OUT INetCfgComponent** ppIComp);
  61. STDMETHOD (DeInstall) (
  62. IN INetCfgComponent* pIComp,
  63. IN OBO_TOKEN* pOboToken,
  64. OUT PWSTR* ppmszwRefs);
  65. public:
  66. static HRESULT HrCreateInstance (
  67. IN CImplINetCfg* pINetCfg,
  68. IN NETCLASS Class,
  69. OUT INetCfgClass** ppIClass);
  70. };