346 lines
7.5 KiB
C
346 lines
7.5 KiB
C
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
|
||
/*++
|
||
|
||
Copyright (c) 1996 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
amrtpnet.h
|
||
|
||
Abstract:
|
||
|
||
Definitions for ActiveMovie RTP Network Filters.
|
||
|
||
--*/
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// RTP Filter UUIDS //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
#if !defined(_AMRTPNET_H_)
|
||
|
||
#if defined(INITGUID)
|
||
#define _AMRTPNET_H_
|
||
#endif
|
||
|
||
DEFINE_GUID(CLSID_RTPRenderFilter,
|
||
0x00d20921, 0x7e20, 0x11d0, 0xb2, 0x91, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x18);
|
||
|
||
DEFINE_GUID(CLSID_RTPRenderFilterProperties,
|
||
0x00d20923, 0x7e20, 0x11d0, 0xb2, 0x91, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x18);
|
||
|
||
DEFINE_GUID(CLSID_RTPSourceFilter,
|
||
0x00d20920, 0x7e20, 0x11d0, 0xb2, 0x91, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x18);
|
||
|
||
DEFINE_GUID(CLSID_RTPSourceFilterProperties,
|
||
0x00d20922, 0x7e20, 0x11d0, 0xb2, 0x91, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x18);
|
||
|
||
DEFINE_GUID(IID_IRTPStream,
|
||
0x00d20915, 0x7e20, 0x11d0, 0xb2, 0x91, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x18);
|
||
|
||
DEFINE_GUID(IID_IRTCPStream,
|
||
0x4b5678ad, 0x3515, 0x11d1, 0x82, 0x96, 0x00, 0xc0, 0x4f, 0xc2, 0xf6, 0x78);
|
||
|
||
DEFINE_GUID(IID_IRTPParticipant,
|
||
0x4b5678ae, 0x3515, 0x11d1, 0x82, 0x96, 0x00, 0xc0, 0x4f, 0xc2, 0xf6, 0x78);
|
||
#endif
|
||
|
||
|
||
#ifndef _INC_AMRTPNET
|
||
#define _INC_AMRTPNET
|
||
|
||
#include <rtp.h>
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// IRTPStream Interface //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
|
||
DECLARE_INTERFACE_(IRTPStream, IUnknown) {
|
||
|
||
STDMETHOD(GetAddress)(THIS_
|
||
LPWORD pwRtpLocalPort,
|
||
LPWORD pwRtpRemotePort,
|
||
LPDWORD pdwRtpRemoteAddr
|
||
) PURE;
|
||
|
||
STDMETHOD(SetAddress)(THIS_
|
||
WORD wRtpLocalPort,
|
||
WORD wRtpRemotePort,
|
||
DWORD dwRtpRemoteAddr
|
||
) PURE;
|
||
|
||
STDMETHOD(SelectLocalIPAddress)(THIS_
|
||
DWORD dwLocalAddr
|
||
) PURE;
|
||
|
||
STDMETHOD(SelectSharedSockets)(THIS_
|
||
DWORD dwfSahredSockets
|
||
) PURE;
|
||
|
||
STDMETHOD(GetSessionID)(THIS_
|
||
DWORD *pdwID
|
||
) PURE;
|
||
|
||
STDMETHOD(GetMulticastScope)(THIS_
|
||
LPDWORD pdwMulticastScope
|
||
) PURE;
|
||
|
||
STDMETHOD(SetMulticastScope)(THIS_
|
||
DWORD dwMulticastScope
|
||
) PURE;
|
||
|
||
STDMETHOD(GetMulticastLoopBack)(THIS_
|
||
DWORD *pdwMulticastLoopBack
|
||
) PURE;
|
||
|
||
STDMETHOD(SetMulticastLoopBack)(THIS_
|
||
DWORD dwMulticastLoopBack
|
||
) PURE;
|
||
|
||
STDMETHOD(SetQOSByName)(THIS_
|
||
char *psQOSname,
|
||
DWORD fFailIfNoQOS
|
||
) PURE;
|
||
|
||
STDMETHOD(GetQOSstate)(THIS_
|
||
DWORD *pdwQOSstate
|
||
) PURE;
|
||
|
||
STDMETHOD(SetQOSstate)(THIS_
|
||
DWORD dwQOSstate
|
||
) PURE;
|
||
|
||
STDMETHOD(SetQOSSendIfAllowed)(THIS_
|
||
DWORD dwEnable
|
||
) PURE;
|
||
|
||
STDMETHOD(SetQOSSendIfReceivers)(THIS_
|
||
DWORD dwEnable
|
||
) PURE;
|
||
|
||
STDMETHOD(GetQOSEventMask)(THIS_
|
||
DWORD *pdwQOSEventMask
|
||
) PURE;
|
||
|
||
STDMETHOD(ModifyQOSEventMask)(THIS_
|
||
DWORD dwSelectItems,
|
||
DWORD dwEnableItems
|
||
) PURE;
|
||
|
||
STDMETHOD(GetSessionClassPriority)(THIS_
|
||
long *plSessionClass,
|
||
long *plSessionPriority
|
||
) PURE;
|
||
|
||
STDMETHOD(GetDataClock)(THIS_
|
||
DWORD *pdwDataClock
|
||
) PURE;
|
||
|
||
STDMETHOD(SetDataClock)(THIS_
|
||
DWORD dwDataClock
|
||
) PURE;
|
||
|
||
STDMETHOD(SetSessionClassPriority)(THIS_
|
||
long lSessionClass,
|
||
long lSessionPriority
|
||
) PURE;
|
||
|
||
STDMETHOD(SelectLocalIPAddressToDest)(THIS_
|
||
LPBYTE pLocSAddr,
|
||
DWORD dwLocSAddrLen,
|
||
LPBYTE pDestSAddr,
|
||
DWORD dwDestSAddrLen
|
||
) PURE;
|
||
|
||
#if 0
|
||
STDMETHOD(GetSecurityState)(THIS_
|
||
DWORD *pdwSecurityState
|
||
) PURE;
|
||
|
||
STDMETHOD(SetSecurityState)(THIS_
|
||
DWORD dwSecurityState
|
||
) PURE;
|
||
|
||
STDMETHOD(GetSecurityKey)(THIS_
|
||
LPBYTE *pbSecurityKey,
|
||
int *piSecurityKeyLen
|
||
) PURE;
|
||
|
||
STDMETHOD(SetSecurityKey)(THIS_
|
||
LPBYTE *pbSecurityKey,
|
||
int iSecurityKeyLen
|
||
) PURE;
|
||
|
||
STDMETHOD(GetSecurityType)(THIS_
|
||
DWORD *pdwRTPSecurityType,
|
||
DWORD *pdwRTCPSecurityType
|
||
) PURE;
|
||
|
||
STDMETHOD(SetSecurityType)(THIS_
|
||
DWORD dwRTPSecurityType,
|
||
DWORD dwRTCPSecurityType
|
||
) PURE;
|
||
#endif
|
||
};
|
||
|
||
//////////////////////////////////////////////////////////////////////
|
||
// RTCPStream Interface
|
||
//////////////////////////////////////////////////////////////////////
|
||
DECLARE_INTERFACE_(IRTCPStream, IUnknown) {
|
||
|
||
STDMETHOD(GetRTCPAddress)(THIS_
|
||
LPWORD pwRtcpLocalPort,
|
||
LPWORD pwRtcpRemotePort,
|
||
LPDWORD pdwRtcpRemoteAddr
|
||
) PURE;
|
||
|
||
STDMETHOD(SetRTCPAddress)(THIS_
|
||
WORD wRtcpLocalPort,
|
||
WORD wRtcpRemotePort,
|
||
DWORD dwRtcpRemoteAddr
|
||
) PURE;
|
||
|
||
STDMETHOD(GetRTCPMulticastScope)(THIS_
|
||
LPDWORD pdwMulticastScope
|
||
) PURE;
|
||
|
||
STDMETHOD(SetRTCPMulticastScope)(THIS_
|
||
DWORD dwMulticastScope
|
||
) PURE;
|
||
|
||
STDMETHOD(GetRTCPEventMask)(THIS_
|
||
DWORD *pdwRTCPEventMask
|
||
) PURE;
|
||
|
||
STDMETHOD(ModifyRTCPEventMask)(THIS_
|
||
DWORD dwSelectItems,
|
||
DWORD dwEnableItems
|
||
) PURE;
|
||
|
||
STDMETHOD(GetSessionID)(THIS_
|
||
DWORD *pdwID
|
||
) PURE;
|
||
|
||
STDMETHOD(GetLocalSDESItem)(THIS_
|
||
DWORD dwSDESItem,
|
||
LPBYTE psSDESData,
|
||
LPDWORD pdwSDESLen
|
||
) PURE;
|
||
|
||
STDMETHOD(SetLocalSDESItem)(THIS_
|
||
DWORD dwSDESItem,
|
||
LPBYTE psSDESData,
|
||
DWORD dwSDESLen
|
||
) PURE;
|
||
|
||
STDMETHOD(GetRTCPSDESMask)(THIS_
|
||
DWORD *pdwSdesMask
|
||
) PURE;
|
||
|
||
STDMETHOD(ModifyRTCPSDESMask)(THIS_
|
||
DWORD dwSelectItems,
|
||
DWORD dwEnableItems
|
||
) PURE;
|
||
|
||
#if 0
|
||
STDMETHOD(SendRTCPReports)(THIS_
|
||
LPDWORD pdwSendState
|
||
) PURE;
|
||
|
||
STDMETHOD(RecvRTCPReports)(THIS_
|
||
LPDWORD pdwRecvState
|
||
) PURE;
|
||
|
||
STDMETHOD(RecvAsyncRTCPEvents)(THIS_
|
||
void (*pPostRTCPEvents)(DWORD, DWORD),
|
||
DWORD Par1
|
||
) PURE;
|
||
|
||
STDMETHOD(RecvAsyncSDESEvents)(THIS_
|
||
void (*pPostSDESEvents)(DWORD, DWORD),
|
||
DWORD Par1
|
||
) PURE;
|
||
#endif
|
||
};
|
||
|
||
//////////////////////////////////////////////////////////////////////
|
||
// RTPParticipant Interface
|
||
//////////////////////////////////////////////////////////////////////
|
||
DECLARE_INTERFACE_(IRTPParticipant, IUnknown) {
|
||
|
||
STDMETHOD(EnumParticipants)(THIS_
|
||
LPDWORD pdwSSRC,
|
||
LPDWORD pdwNum
|
||
) PURE;
|
||
|
||
STDMETHOD(GetParticipantSDESItem)(THIS_
|
||
DWORD dwSSRC,
|
||
DWORD dwSDESItem,
|
||
LPBYTE psSDESData,
|
||
LPDWORD pdwLen
|
||
) PURE;
|
||
|
||
STDMETHOD(GetParticipantSDESAll)(THIS_
|
||
DWORD dwSSRC,
|
||
PSDES_DATA pSdes,
|
||
DWORD dwNum
|
||
) PURE;
|
||
|
||
STDMETHOD(GetParticipantAddress)(THIS_
|
||
DWORD dwSSRC,
|
||
LPBYTE pbAddr,
|
||
int *piAddrLen
|
||
) PURE;
|
||
|
||
STDMETHOD(GetMaxQOSEnabledParticipants)(THIS_
|
||
DWORD *pdwMaxParticipants,
|
||
DWORD *pdwMaxBandwidth
|
||
) PURE;
|
||
|
||
STDMETHOD(SetMaxQOSEnabledParticipants)(THIS_
|
||
DWORD dwMaxParticipants,
|
||
DWORD dwMaxBandwidth,
|
||
DWORD fSharedStyle
|
||
) PURE;
|
||
|
||
STDMETHOD(GetParticipantQOSstate)(THIS_
|
||
DWORD dwSSRC,
|
||
DWORD *pdwQOSstate
|
||
) PURE;
|
||
|
||
STDMETHOD(SetParticipantQOSstate)(THIS_
|
||
DWORD dwSSRC,
|
||
DWORD dwQOSstate
|
||
) PURE;
|
||
|
||
STDMETHOD(ModifyQOSList)(THIS_
|
||
DWORD *pdwSSRCList,
|
||
DWORD dwNumSSRC,
|
||
DWORD dwOperation
|
||
) PURE;
|
||
|
||
STDMETHOD(GetQOSList)(THIS_
|
||
DWORD *pdwSSRCList,
|
||
DWORD *pdwNumSSRC
|
||
) PURE;
|
||
|
||
#if 0
|
||
STDMETHOD(EnumFirstParticipant)(THIS_
|
||
LPDWORD pdwSSRC
|
||
) PURE;
|
||
|
||
STDMETHOD(EnumNextParticipant)(THIS_
|
||
LPDWORD pdwSSRC
|
||
) PURE;
|
||
#endif
|
||
};
|
||
|
||
#endif // _INC_AMRTPNET
|
||
#pragma option pop /*P_O_Pop*/
|