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.

83 lines
2.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: B I N D A G N T . H
  7. //
  8. // Contents: Declaration of NdisWan configuration object.
  9. //
  10. // Notes:
  11. //
  12. // Author: shaunco 28 Mar 1997
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include <ncxbase.h>
  17. #include <nceh.h>
  18. #include <notifval.h>
  19. #include "bindobj.h"
  20. #include "resource.h"
  21. #include "rasaf.h"
  22. #include "rasdata.h"
  23. #include "ncutil.h"
  24. class ATL_NO_VTABLE CNdisWan :
  25. public CRasBindObject,
  26. public CComObjectRoot,
  27. public CComCoClass<CNdisWan, &CLSID_CNdisWan>,
  28. public INetCfgComponentControl,
  29. public INetCfgComponentSetup,
  30. public INetCfgComponentNotifyGlobal
  31. {
  32. protected:
  33. // This is our in-memory state.
  34. BOOL m_fInstalling;
  35. BOOL m_fRemoving;
  36. // These are handed to us during INetCfgComponentControl::Initialize.
  37. INetCfgComponent* m_pnccMe;
  38. public:
  39. CNdisWan ();
  40. ~CNdisWan ();
  41. BEGIN_COM_MAP(CNdisWan)
  42. COM_INTERFACE_ENTRY(INetCfgComponentControl)
  43. COM_INTERFACE_ENTRY(INetCfgComponentSetup)
  44. COM_INTERFACE_ENTRY(INetCfgComponentNotifyGlobal)
  45. END_COM_MAP()
  46. // DECLARE_NOT_AGGREGATABLE(CNdisWan)
  47. // Remove the comment from the line above if you don't want your object to
  48. // support aggregation. The default is to support it.
  49. DECLARE_REGISTRY_RESOURCEID(IDR_REG_NDISWAN)
  50. // INetCfgComponentControl
  51. STDMETHOD (Initialize) (
  52. IN INetCfgComponent* pIComp,
  53. IN INetCfg* pINetCfg,
  54. IN BOOL fInstalling);
  55. STDMETHOD (ApplyRegistryChanges) ();
  56. STDMETHOD (ApplyPnpChanges) (
  57. IN INetCfgPnpReconfigCallback* pICallback) { return S_OK; }
  58. STDMETHOD (CancelChanges) ();
  59. STDMETHOD (Validate) ();
  60. // INetCfgComponentSetup
  61. STDMETHOD (ReadAnswerFile) (PCWSTR pszAnswerFile,
  62. PCWSTR pszAnswerSection);
  63. STDMETHOD (Upgrade) (DWORD dwSetupFlags,
  64. DWORD dwUpgradeFromBuildNo);
  65. STDMETHOD (Install) (DWORD dwSetupFlags);
  66. STDMETHOD (Removing) ();
  67. // INetCfgNotifyGlobal
  68. STDMETHOD (GetSupportedNotifications) (DWORD* pdwNotificationFlag );
  69. STDMETHOD (SysQueryBindingPath) (DWORD dwChangeFlag, INetCfgBindingPath* pncbp);
  70. STDMETHOD (SysQueryComponent) (DWORD dwChangeFlag, INetCfgComponent* pncc);
  71. STDMETHOD (SysNotifyBindingPath) (DWORD dwChangeFlag, INetCfgBindingPath* pncbp);
  72. STDMETHOD (SysNotifyComponent) (DWORD dwChangeFlag, INetCfgComponent* pncc);
  73. };