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
1.6 KiB

  1. /*
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. scope.h
  5. Abstract:
  6. Definition of the CMDhcpScope class
  7. Author:
  8. */
  9. #ifndef _MDHCP_COM_WRAPPER_SCOPE_H_
  10. #define _MDHCP_COM_WRAPPER_SCOPE_H_
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMDhcpScope
  13. class CMDhcpScope :
  14. public CComDualImpl<IMcastScope, &IID_IMcastScope, &LIBID_McastLib>,
  15. public CComObjectRootEx<CComObjectThreadModel>,
  16. public CObjectSafeImpl
  17. {
  18. // Non-interface methods.
  19. public:
  20. CMDhcpScope();
  21. void FinalRelease(void);
  22. ~CMDhcpScope();
  23. HRESULT Initialize(
  24. MCAST_SCOPE_ENTRY scope,
  25. BOOL fLocal
  26. );
  27. HRESULT GetLocal(
  28. BOOL * pfLocal
  29. );
  30. BEGIN_COM_MAP(CMDhcpScope)
  31. COM_INTERFACE_ENTRY(IDispatch)
  32. COM_INTERFACE_ENTRY(IMcastScope)
  33. COM_INTERFACE_ENTRY(IObjectSafety)
  34. COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM)
  35. END_COM_MAP()
  36. DECLARE_GET_CONTROLLING_UNKNOWN()
  37. protected:
  38. MCAST_SCOPE_ENTRY m_scope; // wrapped structure
  39. BOOL m_fLocal; // local scope?
  40. IUnknown * m_pFTM; // pointer to free threaded marshaler
  41. // IMcastScope
  42. public:
  43. STDMETHOD (get_ScopeID) (
  44. long *pID
  45. );
  46. STDMETHOD (get_ServerID) (
  47. long *pID
  48. );
  49. STDMETHOD (get_InterfaceID) (
  50. long * pID
  51. );
  52. STDMETHOD (get_ScopeDescription) (
  53. BSTR *ppAddress
  54. );
  55. STDMETHOD (get_TTL) (
  56. long *plTTL
  57. );
  58. };
  59. #endif // _MDHCP_COM_WRAPPER_SCOPE_H_
  60. // eof