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.

98 lines
3.3 KiB

  1. //****************************************************************************
  2. // Module: NMCHAT.EXE
  3. // File: CCONF.H
  4. // Content:
  5. //
  6. //
  7. // Copyright (c) Microsoft Corporation 1997
  8. //
  9. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  10. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  11. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  12. // PARTICULAR PURPOSE.
  13. //****************************************************************************
  14. class CMgrNotify : public RefCount, public CNotify, public INmManagerNotify, public IAppSharingNotify
  15. {
  16. public:
  17. CMgrNotify();
  18. ~CMgrNotify();
  19. // IUnknown methods
  20. STDMETHODIMP_(ULONG) AddRef(void);
  21. STDMETHODIMP_(ULONG) Release(void);
  22. STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppvObj);
  23. // ICNotify methods
  24. STDMETHODIMP Connect (IUnknown *pUnk);
  25. STDMETHODIMP Disconnect(void);
  26. // INmManagerNotify
  27. STDMETHODIMP NmUI(CONFN confn);
  28. STDMETHODIMP ConferenceCreated(INmConference *pConference);
  29. STDMETHODIMP CallCreated(INmCall *pNmCall);
  30. // IAppSharingNotify
  31. STDMETHODIMP OnReadyToShare(BOOL fReady);
  32. STDMETHODIMP OnShareStarted();
  33. STDMETHODIMP OnSharingStarted();
  34. STDMETHODIMP OnShareEnded();
  35. STDMETHODIMP OnPersonJoined(IAS_GCC_ID gccID);
  36. STDMETHODIMP OnPersonLeft(IAS_GCC_ID gccID);
  37. STDMETHODIMP OnStartInControl(IAS_GCC_ID gccInControlOf);
  38. STDMETHODIMP OnStopInControl(IAS_GCC_ID gccInControlOf);
  39. STDMETHODIMP OnPausedInControl(IAS_GCC_ID gccInControlOf);
  40. STDMETHODIMP OnUnpausedInControl(IAS_GCC_ID gccInControlOf);
  41. STDMETHODIMP OnControllable(BOOL fControllable);
  42. STDMETHODIMP OnStartControlled(IAS_GCC_ID gccControlledBy);
  43. STDMETHODIMP OnStopControlled(IAS_GCC_ID gccControlledBy);
  44. STDMETHODIMP OnPausedControlled(IAS_GCC_ID gccControlledBy);
  45. STDMETHODIMP OnUnpausedControlled(IAS_GCC_ID gccControlledBy);
  46. };
  47. class CConfNotify : public RefCount, public CNotify, public INmConferenceNotify
  48. {
  49. public:
  50. CConfNotify();
  51. ~CConfNotify();
  52. // INmConferenceNotify
  53. HRESULT STDMETHODCALLTYPE NmUI(CONFN uNotify);
  54. HRESULT STDMETHODCALLTYPE StateChanged(NM_CONFERENCE_STATE uState);
  55. HRESULT STDMETHODCALLTYPE MemberChanged(NM_MEMBER_NOTIFY uNotify, INmMember *pfMember);
  56. HRESULT STDMETHODCALLTYPE ChannelChanged(NM_CHANNEL_NOTIFY uNotify, INmChannel *pChannel);
  57. // ICNotify methods
  58. HRESULT STDMETHODCALLTYPE Connect (IUnknown *pUnk);
  59. HRESULT STDMETHODCALLTYPE Disconnect(void);
  60. // IUnknown methods
  61. ULONG STDMETHODCALLTYPE AddRef(void);
  62. ULONG STDMETHODCALLTYPE Release(void);
  63. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
  64. };
  65. const WM_CREATEDATA = 0x07181975;
  66. // Global Variables
  67. extern INmManager2 * g_pMgr;
  68. extern INmConference * g_pConference;
  69. extern IAppSharing * g_pAS;
  70. // Global Functions
  71. HRESULT InitConfMgr(void);
  72. VOID FreeConfMgr(void);
  73. VOID FreeConference(void);
  74. HRESULT HookConference(INmConference * pConference);
  75. VOID SvcSetOptions(VOID);
  76. BOOL ServiceCtrlHandler(DWORD dwCtrlType);
  77. #define IS_NT (g_osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
  78. extern OSVERSIONINFO g_osvi; // The os version info structure global