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.

101 lines
3.1 KiB

  1. /*
  2. * File: icomchan.h
  3. *
  4. * Network media channel interface definitions
  5. *
  6. * Revision History:
  7. *
  8. * 10/09/96 mikev created
  9. */
  10. #ifndef _ICOMCHAN_H
  11. #define _ICOMCHAN_H
  12. #include "incommon.h"
  13. #include "iprop.h"
  14. //
  15. // status code definitions for channel events passed upward
  16. // to IH323ConfAdvise::ChannelEvent();
  17. //
  18. #define CHANNEL_OPEN 0x00000001
  19. #define CHANNEL_ACTIVE 0x00000002 // started streaming
  20. #define CHANNEL_REJECTED 0x00000003
  21. #define CHANNEL_NO_CAPABILITY 0x00000004 // remote end is not capable of supporting
  22. // the media type of this channel
  23. #define CHANNEL_CLOSED 0x00000005
  24. #define CHANNEL_OPEN_ERROR 0x00000007
  25. #define CHANNEL_VIDEO_TS_TRADEOFF 0x00000008
  26. #define CHANNEL_REMOTE_PAUSE_ON 0x00000009
  27. #define CHANNEL_REMOTE_PAUSE_OFF 0x0000000A
  28. //
  29. // ICommChannel
  30. //
  31. #undef INTERFACE
  32. #define INTERFACE ICommChannel
  33. DECLARE_INTERFACE(ICommChannel)
  34. {
  35. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  36. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  37. STDMETHOD_(ULONG,Release) (THIS) PURE;
  38. STDMETHOD(GetProperty)(THIS_ DWORD prop, PVOID pBuf, LPUINT pcbBuf) PURE;
  39. STDMETHOD(SetProperty)(THIS_ DWORD prop, PVOID pBuf, UINT cbBuf) PURE;
  40. STDMETHOD(IsChannelOpen)(THIS_ BOOL *pbOpen) PURE;
  41. STDMETHOD(Open)(THIS_ DWORD dwLocalFormatID, IH323Endpoint *pConnection) PURE;
  42. STDMETHOD(Close)(THIS) PURE;
  43. STDMETHOD(SetAdviseInterface)(THIS_ interface IH323ConfAdvise *pH323ConfAdvise) PURE;
  44. STDMETHOD(EnableOpen)(THIS_ BOOL bEnable)PURE;
  45. STDMETHOD(GetMediaType)(THIS_ LPGUID pGuid)PURE;
  46. STDMETHOD_(BOOL, IsSendChannel) (THIS) PURE;
  47. STDMETHOD_(IMediaChannel *, GetMediaChannel) (THIS) PURE;
  48. STDMETHOD(Preview)(THIS_ MEDIA_FORMAT_ID idLocalFormat,
  49. IMediaChannel * pMediaChannel)PURE;
  50. STDMETHOD(PauseNetworkStream)(THIS_ BOOL fPause)PURE;
  51. STDMETHOD_(BOOL, IsNetworkStreamPaused)(THIS) PURE;
  52. STDMETHOD_(BOOL, IsRemotePaused)(THIS) PURE;
  53. STDMETHOD_(MEDIA_FORMAT_ID, GetConfiguredFormatID) (THIS) PURE;
  54. STDMETHOD(GetRemoteAddress)(THIS_ PSOCKADDR_IN pAddrOutput) PURE;
  55. };
  56. #undef INTERFACE
  57. #define INTERFACE IStreamSignal
  58. DECLARE_INTERFACE(IStreamSignal)
  59. {
  60. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  61. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  62. STDMETHOD_(ULONG,Release) (THIS) PURE;
  63. STDMETHOD(PictureUpdateRequest)(THIS)PURE;
  64. STDMETHOD(GetVersionInfo)(THIS_
  65. PCC_VENDORINFO* ppLocalVendorInfo, PCC_VENDORINFO *ppRemoteVendorInfo) PURE;
  66. };
  67. //
  68. // IVideoDevice
  69. //
  70. #undef INTERFACE
  71. #define INTERFACE IVideoDevice
  72. DECLARE_INTERFACE(IVideoDevice)
  73. {
  74. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  75. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  76. STDMETHOD_(ULONG,Release) (THIS) PURE;
  77. // Capture Device related methods
  78. STDMETHOD(GetNumCapDev)(THIS) PURE;
  79. STDMETHOD(GetMaxCapDevNameLen)(THIS) PURE;
  80. STDMETHOD(EnumCapDev)(THIS_ DWORD *pdwCapDevIDs, TCHAR *pszCapDevNames, DWORD dwNumCapDev) PURE;
  81. STDMETHOD(GetCurrCapDevID)(THIS) PURE;
  82. STDMETHOD(SetCurrCapDevID)(THIS_ int nCapDevID) PURE;
  83. };
  84. #endif //#ifndef _ICOMCHAN_H