/* * File: ih323cc.h * * Microsoft H323 call control interface header file * * Revision History: * * 04/15/96 mikev created (as inac.h) * */ #ifndef _IH323CC_H #define _IH323CC_H #include "appavcap.h" #include "imstream.h" #include "ividrdr.h" #include "common.h" #include "iconnect.h" #include "iras.h" #include /* Assume 8 byte packing throughout */ typedef WORD H323_TERMINAL_LABEL; // instead of struct, ensure that this data // type is as packed as possible w/zero ambiguity #define McuNumberFromTl(tl) HIBYTE(tl) // macros to access terminal label fields #define TerminalNumberFromTl(tl) LOBYTE(tl) #define TlFromMcuNumberAndTerminalNumber(mn, tn) MAKEWORD(mn,tn) // // IH323CallControl // #undef INTERFACE #define INTERFACE IH323CallControl DECLARE_INTERFACE_( IH323CallControl, IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; STDMETHOD(Initialize) (THIS_ PORT *lpPort) PURE; STDMETHOD(SetMaxPPBandwidth)(UINT Bandwidth) PURE; STDMETHOD(RegisterConnectionNotify) (THIS_ CNOTIFYPROC pConnectRequestHandler) PURE; STDMETHOD(DeregisterConnectionNotify) (THIS_ CNOTIFYPROC pConnectRequestHandler) PURE; STDMETHOD(GetNumConnections) (THIS_ ULONG *lp) PURE; STDMETHOD(GetConnectionArray)(THIS_ IH323Endpoint **lppArray, UINT uSize) PURE; STDMETHOD(CreateConnection) (THIS_ IH323Endpoint **lppConnection, GUID PIDofProtocolType) PURE; STDMETHOD(SetUserDisplayName)(THIS_ LPWSTR lpwName) PURE; STDMETHOD(CreateLocalCommChannel)(THIS_ ICommChannel** ppCommChan, LPGUID lpMID, IMediaChannel* pMediaChannel) PURE; STDMETHOD(SetUserAliasNames)(THIS_ P_H323ALIASLIST pAliases) PURE; STDMETHOD(EnableGatekeeper)(THIS_ BOOL bEnable, PSOCKADDR_IN pGKAddr, P_H323ALIASLIST pAliases, RASNOTIFYPROC pRasNotifyProc) PURE; }; #undef INTERFACE #define INTERFACE IH323ConfAdvise DECLARE_INTERFACE_( IH323ConfAdvise, IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; STDMETHOD (CallEvent) (THIS_ IH323Endpoint * lpConnection, DWORD dwStatus) PURE; STDMETHOD (ChannelEvent) (THIS_ ICommChannel *pIChannel, IH323Endpoint * lpConnection, DWORD dwStatus ) PURE; STDMETHOD(GetMediaChannel)(THIS_ GUID *pmediaID, BOOL bSendDirection, IMediaChannel **ppI) PURE; }; // call this to create the top-level call control object #define SZ_FNCREATEH323CC "CreateH323CC" typedef HRESULT (WINAPI *CREATEH323CC)(IH323CallControl **, BOOL fCallControl, UINT caps); #include /* End byte packing */ #endif //#ifndef _IH323CC_H