Leaked source code of windows server 2003
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.
|
|
/*
* File: nac.h * * Microsoft Network Audio Controller (NAC) header file * * Revision History: * * 11/28/95 mikev created */
#ifndef _NAC_H
#define _NAC_H
#define _NAVC_
#ifdef __cplusplus
class CConnection; class DataPump; class CNac; typedef class CConnection CIPPhoneConnection;
//
// temporary defs
//
typedef CNac **LPLPNAC; HRESULT WINAPI CreateNac(LPLPNAC lplpNac);
#endif // __cplusplus
// windows messages
#define WNAC_START WM_USER+0x100
#define WNAC_CONNECTREQ WNAC_START+0x0000
#define WCON_STATUS WNAC_START+0x0001
//
// end of temporary defs
//
//
// utility functions
//
VOID FreeTranslatedAliasList(PCC_ALIASNAMES pDoomed); HRESULT AllocTranslatedAliasList(PCC_ALIASNAMES *ppDest, P_H323ALIASLIST pSource);
#define DEF_AP_BWMAX 14400
/*
* Class definitions */
#ifdef __cplusplus
class CNac : public INac { protected: PCC_ALIASNAMES m_pLocalAliases; LPWSTR m_pUserName; UINT uRef; HRESULT hrLast; UINT m_uMaximumBandwidth; // application data
CNOTIFYPROC pProcNotifyConnect; // connection notification callback
HWND hWndNotifyConnect; // connection notification hwnd
HWND hAppWnd; // hwnd of the process that owns the NAC
HINSTANCE hAppInstance; // instance of the process that owns the NAC
// subcomponent object references
LPIH323PubCap m_pCapabilityResolver; CConnection *m_pListenLine; // connection object listening for incoming
CConnection *m_pCurrentLine; // active connection object(talking), if there is one
CConnection *m_pLineList; int m_numlines; // # of objects in m_pLineList
ImpICommChan *m_pSendAudioChannel; ImpICommChan *m_pSendVideoChannel; // Internal interfaces
BOOL Init(); // internal initialization
OBJ_CPT; // profiling timer
public: CConnection *m_pNextToAccept; HWND GetAppWnd(){return hAppWnd;}; HINSTANCE GetAppInstance() {return hAppInstance;}; LPWSTR GetUserDisplayName() {return m_pUserName;}; PCC_ALIASNAMES GetUserAliases() {return m_pLocalAliases;}; PCC_ALIASITEM GetUserDisplayAlias(); CNac(); ~CNac(); HRESULT CreateConnection(CConnection **lplpConnection, GUID PIDofProtocolType); HRESULT RemoveConnection(CConnection *lpConnection); HRESULT LastHR() {return hrLast;}; VOID SetLastHR(HRESULT hr) {hrLast = hr;}; HRESULT GetConnobjArray(CConnection **lplpArray, UINT uSize); ICtrlCommChan *QueryPreviewChannel(LPGUID lpMID);
STDMETHOD_( CREQ_RESPONSETYPE, ConnectionRequest(CConnection *pConnection)); STDMETHOD_( CREQ_RESPONSETYPE, FilterConnectionRequest(CConnection *pConnection, P_APP_CALL_SETUP_DATA pAppData));
// INacInterface stuff
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppvObj); STDMETHOD_(ULONG, AddRef()); STDMETHOD_(ULONG, Release()); STDMETHOD( Initialize(HWND hWnd, HINSTANCE hInst, PORT *lpPort)); STDMETHOD( SetMaxPPBandwidth(UINT Bandwidth)); STDMETHOD( RegisterConnectionNotify(HWND hWnd, CNOTIFYPROC pConnectRequestHandler)); STDMETHOD( DeregisterConnectionNotify(HWND hWnd, CNOTIFYPROC pConnectRequestHandler)); STDMETHOD( GetNumConnections(ULONG *lp)); STDMETHOD( GetConnectionArray(LPCONNECTIONIF *lplpArray, UINT uSize)); STDMETHOD( CreateConnection(LPCONNECTIONIF *lplpLine, GUID PIDofProtocolType)); STDMETHOD( DeleteConnection(LPCONNECTIONIF lpLine)); STDMETHOD( SetUserDisplayName(LPWSTR lpwName)); STDMETHODIMP CreateLocalCommChannel(ICommChannel** ppCommChan, LPGUID lpMID, IMediaChannel* pMediaStream); STDMETHODIMP SetUserAliasNames(P_H323ALIASLIST pAliases); STDMETHODIMP EnableGatekeeper(BOOL bEnable, PSOCKADDR_IN pGKAddr); };
#else // not __cplusplus
#endif // __cplusplus
#endif //#ifndef _NAC_H
|