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.
|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
confaddr.h
Abstract:
Declaration of the CIPConfMSP
Author: Mu Han (muhan) 1-November-1997
--*/
#ifndef __CONFADDR_H_
#define __CONFADDR_H_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "resource.h"
const DWORD IPCONFCALLMEDIATYPES = (TAPIMEDIATYPE_AUDIO | TAPIMEDIATYPE_VIDEO); const DWORD MAXIPADDRLEN = 255;
extern const GUID CLSID_IPConfMSP;
/////////////////////////////////////////////////////////////////////////////
// CIPConfMSP
/////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE CIPConfMSP : public CMSPAddress, public CComCoClass<CIPConfMSP, &CLSID_IPConfMSP>, public CMSPObjectSafetyImpl { public:
DECLARE_REGISTRY_RESOURCEID(IDR_IPCONFMSP) DECLARE_POLY_AGGREGATABLE(CIPConfMSP)
public:
BEGIN_COM_MAP(CIPConfMSP) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_CHAIN(CMSPAddress) END_COM_MAP()
CIPConfMSP() : m_dwIPInterface(INADDR_ANY), m_hSocket(NULL), m_hDxmrtp(NULL) {}
HRESULT FinalConstruct(); void FinalRelease(); DWORD FindLocalInterface(DWORD dwIP);
STDMETHOD (CreateTerminal) ( IN BSTR pTerminalClass, IN long lMediaType, IN TERMINAL_DIRECTION Direction, OUT ITTerminal ** ppTerminal );
STDMETHOD (CreateMSPCall) ( IN MSP_HANDLE htCall, IN DWORD dwReserved, IN DWORD dwMediaType, IN IUnknown * pOuterUnknown, OUT IUnknown ** ppMSPCall );
STDMETHOD (ShutdownMSPCall) ( IN IUnknown * pMSPCall );
ULONG MSPAddressAddRef(void);
ULONG MSPAddressRelease(void);
#ifdef USEIPADDRTABLE
STDMETHOD (get_DefaultIPInterface) ( OUT BSTR * ppIPAddress ); STDMETHOD (put_DefaultIPInterface) ( IN BSTR pIPAddress );
STDMETHOD (get_IPInterfaces) ( OUT VARIANT * pVariant ); STDMETHOD (EnumerateIPInterfaces) ( OUT IEnumBstr ** ppIEnumBstr ); #endif
protected:
DWORD GetCallMediaTypes(void);
HRESULT CreateAudioCaptureTerminals(); HRESULT CreateAudioRenderTerminals(); HRESULT CreateVideoCaptureTerminals();
HRESULT UpdateTerminalList(void); HRESULT UpdateTerminalListForPnp(IN BOOL bDeviceArrival);
protected:
// the default interface to join the conference.
DWORD m_dwIPInterface;
// the critical section to protect the local data.
CMSPCritSection m_Lock;
SOCKET m_hSocket;
HMODULE m_hDxmrtp; };
#ifdef USEIPADDRTABLE
/////////////////////////////////////////////////////////////////////////////
// _CopyBSTR is used in creating BSTR enumerators.
/////////////////////////////////////////////////////////////////////////////
class _CopyBSTR { public: static void copy(BSTR *p1, BSTR *p2) { (*p1) = SysAllocString(*p2); } static void init(BSTR* p) {*p = NULL;} static void destroy(BSTR* p) { SysFreeString(*p);} }; #endif
#endif //__CONFADDR_H_
|