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.

105 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. rcaaddr.h
  5. Abstract:
  6. Declaration of the CRCAMSP
  7. Author:
  8. Zoltan Szilagyi September 6th, 1998
  9. --*/
  10. #ifndef __RCAADDR_H_
  11. #define __RCAADDR_H_
  12. #if _MSC_VER >= 1000
  13. #pragma once
  14. #endif // _MSC_VER >= 1000
  15. #include "resource.h"
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CRCAMSP
  18. /////////////////////////////////////////////////////////////////////////////
  19. class CRCAMSP :
  20. public CMSPAddress,
  21. public CComCoClass<CRCAMSP, &CLSID_RCAMSP>,
  22. public CMSPObjectSafetyImpl
  23. {
  24. public:
  25. CRCAMSP();
  26. virtual ~CRCAMSP();
  27. virtual ULONG MSPAddressAddRef(void);
  28. virtual ULONG MSPAddressRelease(void);
  29. DECLARE_REGISTRY_RESOURCEID(IDR_RCAMSP)
  30. DECLARE_POLY_AGGREGATABLE(CRCAMSP)
  31. // To add extra interfaces to this class, use the following:
  32. BEGIN_COM_MAP(CRCAMSP)
  33. COM_INTERFACE_ENTRY( IObjectSafety )
  34. COM_INTERFACE_ENTRY_CHAIN(CMSPAddress)
  35. END_COM_MAP()
  36. public:
  37. STDMETHOD (CreateMSPCall) (
  38. IN MSP_HANDLE htCall,
  39. IN DWORD dwReserved,
  40. IN DWORD dwMediaType,
  41. IN IUnknown * pOuterUnknown,
  42. OUT IUnknown ** ppMSPCall
  43. );
  44. STDMETHOD (ShutdownMSPCall) (
  45. IN IUnknown * pMSPCall
  46. );
  47. //
  48. // CreateTerminal: overriden to set specific format on creation of MST.
  49. //
  50. STDMETHOD (CreateTerminal) (
  51. IN BSTR pTerminalClass,
  52. IN long lMediaType,
  53. IN TERMINAL_DIRECTION Direction,
  54. OUT ITTerminal ** ppTerminal
  55. );
  56. //
  57. // Public methods called by the RCAMSPCall
  58. //
  59. // returns TRUE for Mulaw, FALSE for Alaw
  60. // called from stream to ask for the policy
  61. BOOL UseMulaw( void );
  62. protected:
  63. DWORD GetCallMediaTypes(void);
  64. //
  65. // Private helper methods
  66. //
  67. // returns TRUE for Mulaw, FALSE for Alaw
  68. // called on address creation to decide the policy
  69. BOOL DecideEncodingType(void);
  70. //
  71. // data
  72. //
  73. BOOL m_fUseMulaw;
  74. };
  75. #endif //__RCAADDR_H_