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

  1. /*
  2. * File: ih323cc.h
  3. *
  4. * Microsoft H323 call control interface header file
  5. *
  6. * Revision History:
  7. *
  8. * 04/15/96 mikev created (as inac.h)
  9. *
  10. */
  11. #ifndef _IH323CC_H
  12. #define _IH323CC_H
  13. #include "appavcap.h"
  14. #include "imstream.h"
  15. #include "ividrdr.h"
  16. #include "common.h"
  17. #include "iconnect.h"
  18. #include "iras.h"
  19. #include <pshpack8.h> /* Assume 8 byte packing throughout */
  20. typedef WORD H323_TERMINAL_LABEL; // instead of struct, ensure that this data
  21. // type is as packed as possible w/zero ambiguity
  22. #define McuNumberFromTl(tl) HIBYTE(tl) // macros to access terminal label fields
  23. #define TerminalNumberFromTl(tl) LOBYTE(tl)
  24. #define TlFromMcuNumberAndTerminalNumber(mn, tn) MAKEWORD(mn,tn)
  25. //
  26. // IH323CallControl
  27. //
  28. #undef INTERFACE
  29. #define INTERFACE IH323CallControl
  30. DECLARE_INTERFACE_( IH323CallControl, IUnknown)
  31. {
  32. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  33. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  34. STDMETHOD_(ULONG,Release) (THIS) PURE;
  35. STDMETHOD(Initialize) (THIS_ PORT *lpPort) PURE;
  36. STDMETHOD(SetMaxPPBandwidth)(UINT Bandwidth) PURE;
  37. STDMETHOD(RegisterConnectionNotify) (THIS_ CNOTIFYPROC pConnectRequestHandler) PURE;
  38. STDMETHOD(DeregisterConnectionNotify) (THIS_ CNOTIFYPROC pConnectRequestHandler) PURE;
  39. STDMETHOD(GetNumConnections) (THIS_ ULONG *lp) PURE;
  40. STDMETHOD(GetConnectionArray)(THIS_ IH323Endpoint **lppArray, UINT uSize) PURE;
  41. STDMETHOD(CreateConnection) (THIS_ IH323Endpoint **lppConnection, GUID PIDofProtocolType) PURE;
  42. STDMETHOD(SetUserDisplayName)(THIS_ LPWSTR lpwName) PURE;
  43. STDMETHOD(CreateLocalCommChannel)(THIS_ ICommChannel** ppCommChan, LPGUID lpMID,
  44. IMediaChannel* pMediaChannel) PURE;
  45. STDMETHOD(SetUserAliasNames)(THIS_ P_H323ALIASLIST pAliases) PURE;
  46. STDMETHOD(EnableGatekeeper)(THIS_ BOOL bEnable,
  47. PSOCKADDR_IN pGKAddr,
  48. P_H323ALIASLIST pAliases,
  49. RASNOTIFYPROC pRasNotifyProc) PURE;
  50. };
  51. #undef INTERFACE
  52. #define INTERFACE IH323ConfAdvise
  53. DECLARE_INTERFACE_( IH323ConfAdvise, IUnknown)
  54. {
  55. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  56. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  57. STDMETHOD_(ULONG,Release) (THIS) PURE;
  58. STDMETHOD (CallEvent) (THIS_ IH323Endpoint * lpConnection, DWORD dwStatus) PURE;
  59. STDMETHOD (ChannelEvent) (THIS_ ICommChannel *pIChannel,
  60. IH323Endpoint * lpConnection, DWORD dwStatus ) PURE;
  61. STDMETHOD(GetMediaChannel)(THIS_ GUID *pmediaID, BOOL bSendDirection, IMediaChannel **ppI) PURE;
  62. };
  63. // call this to create the top-level call control object
  64. #define SZ_FNCREATEH323CC "CreateH323CC"
  65. typedef HRESULT (WINAPI *CREATEH323CC)(IH323CallControl **, BOOL fCallControl, UINT caps);
  66. #include <poppack.h> /* End byte packing */
  67. #endif //#ifndef _IH323CC_H