windows-nt/Source/XPSP1/NT/enduser/netmeeting/h/ih323cc.h

84 lines
2.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
* 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