|
|
/*
* 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 <pshpack8.h> /* 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 <poppack.h> /* End byte packing */
#endif //#ifndef _IH323CC_H
|