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.

55 lines
1.4 KiB

  1. #ifndef __NmMember_h__
  2. #define __NmMember_h__
  3. #include "NetMeeting.h"
  4. class CNmConferenceObj;
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CNmMemberObj
  7. class ATL_NO_VTABLE CNmMemberObj :
  8. public CComObjectRootEx<CComSingleThreadModel>,
  9. public INmMember,
  10. public IInternalMemberObj
  11. {
  12. CComPtr<INmMember> m_spInternalINmMember;
  13. CNmConferenceObj* m_pConferenceObj;
  14. bool m_bIsSelf;
  15. public:
  16. DECLARE_NO_REGISTRY()
  17. DECLARE_NOT_AGGREGATABLE(CNmMemberObj)
  18. BEGIN_COM_MAP(CNmMemberObj)
  19. COM_INTERFACE_ENTRY(INmMember)
  20. COM_INTERFACE_ENTRY(IInternalMemberObj)
  21. END_COM_MAP()
  22. CNmMemberObj();
  23. ~CNmMemberObj();
  24. static HRESULT CreateInstance(CNmConferenceObj* pConfObj, INmMember* pInternalINmMember, INmMember** ppMember);
  25. // INmMember methods
  26. STDMETHOD(GetName)(BSTR *pbstrName);
  27. STDMETHOD(GetID)(ULONG * puID);
  28. STDMETHOD(GetNmVersion)(ULONG *puVersion);
  29. STDMETHOD(GetAddr)(BSTR *pbstrAddr, NM_ADDR_TYPE *puType);
  30. STDMETHOD(GetUserData)(REFGUID rguid, BYTE **ppb, ULONG *pcb);
  31. STDMETHOD(GetConference)(INmConference **ppConference);
  32. STDMETHOD(GetNmchCaps)(ULONG *puchCaps);
  33. STDMETHOD(GetShareState)(NM_SHARE_STATE *puState);
  34. STDMETHOD(IsSelf)(void);
  35. STDMETHOD(IsMCU)(void);
  36. STDMETHOD(Eject)(void);
  37. // IInternalMemberObj methods
  38. STDMETHOD(GetInternalINmMember)(INmMember** ppMember);
  39. };
  40. #endif // __NmMember_h__