84 lines
2.8 KiB
C
84 lines
2.8 KiB
C
|
/*
|
||
|
* 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
|
||
|
|
||
|
|