📄 hxcore.h
字号:
* IHXPlayerNavigator::GetChildPlayer
* Purpose:
* Get Nth child player
*/
STDMETHOD(GetChildPlayer) (THIS_
UINT16 uPlayerIndex,
REF(IHXPlayer*) pPlayer) PURE;
/************************************************************************
* Method:
* IHXPlayerNavigator::SetParentPlayer
* Purpose:
* Set the parent player
*/
STDMETHOD(SetParentPlayer) (THIS_
IHXPlayer* pPlayer) PURE;
/************************************************************************
* Method:
* IHXPlayerNavigator::RemoveParentPlayer
* Purpose:
* Remove the parent player
*/
STDMETHOD(RemoveParentPlayer) (THIS_
IHXPlayer* pPlayer) PURE;
/************************************************************************
* Method:
* IHXPlayerNavigator::GetParentPlayer
* Purpose:
* Get the parent player
*/
STDMETHOD(GetParentPlayer) (THIS_
REF(IHXPlayer*) pPlayer) PURE;
};
// $Private:
/****************************************************************************
*
* Interface:
*
* IHXPersistentComponentManager
*
* Purpose:
*
* persistent component manager
*
* IID_IHXPersistentComponentManager
*
* {00000415-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXPersistentComponentManager, 0x00000415, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXPersistentComponentManager
DECLARE_INTERFACE_(IHXPersistentComponentManager, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXPersistentComponentManager::CreatePersistentComponent
* Purpose:
* create persistent component
*/
STDMETHOD(CreatePersistentComponent) (THIS_
REF(IHXPersistentComponent*) pPersistentComponent) PURE;
/************************************************************************
* Method:
* IHXPersistentComponentManager::AddPersistentComponent
* Purpose:
* add persistent component
*/
STDMETHOD(AddPersistentComponent) (THIS_
IHXPersistentComponent* pPersistentComponent) PURE;
/************************************************************************
* Method:
* IHXPersistentComponentManager::RemovePersistentComponent
* Purpose:
* remove persistent component
*/
STDMETHOD(RemovePersistentComponent) (THIS_
UINT32 ulPersistentComponentID) PURE;
/************************************************************************
* Method:
* IHXPersistentComponentManager::GetPersistentComponentInfo
* Purpose:
* get persistent component information
*/
STDMETHOD(GetPersistentComponent) (THIS_
UINT32 ulPersistentComponentID,
REF(IHXPersistentComponent*) pPersistentComponent) PURE;
/************************************************************************
* Method:
* IHXPersistentComponentManager::AttachPersistentComponentLayout
* Purpose:
* get persistent component information
*/
STDMETHOD(AttachPersistentComponentLayout) (THIS_
IUnknown* pLSG,
IHXValues* pProps) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXPersistentComponent
*
* Purpose:
*
* persistent component
*
* IID_IHXPersistentComponent
*
* {00000416-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXPersistentComponent, 0x00000416, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXPersistentComponent
DECLARE_INTERFACE_(IHXPersistentComponent, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::Init
* Purpose:
* initialize persistent component
*/
STDMETHOD(Init) (THIS_
IHXPersistentRenderer* pPersistentRenderer) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::AddRendererAdviseSink
* Purpose:
* add renderer advise sink
*/
STDMETHOD(AddRendererAdviseSink) (THIS_
IHXRendererAdviseSink* pSink) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::RemoveRendererAdviseSink
* Purpose:
* remove renderer advise sink
*/
STDMETHOD(RemoveRendererAdviseSink) (THIS_
IHXRendererAdviseSink* pSink) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::AddGroupSink
* Purpose:
* add renderer advise sink
*/
STDMETHOD(AddGroupSink) (THIS_
IHXGroupSink* pSink) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::RemoveGroupSink
* Purpose:
* remove renderer advise sink
*/
STDMETHOD(RemoveGroupSink) (THIS_
IHXGroupSink* pSink) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::GetPersistentRenderer
* Purpose:
* get persistent renderer
*/
STDMETHOD(GetPersistentRenderer) (THIS_
REF(IHXPersistentRenderer*) pPersistentRenderer) PURE;
/************************************************************************
* Method:
* IHXPersistentComponent::GetPersistentProperties
* Purpose:
* get persistent component properties
*/
STDMETHOD(GetPersistentProperties) (THIS_
REF(IHXValues*) pProperties) PURE;
};
/****************************************************************************
*
* Interface:
*
* IID_IHXClientStatisticsGranularity
*
* Purpose:
*
* Enables users to set the Granularity at which statistics are
* gathered. This allows machines under high load to still run
* efficiently.
*
*
* IID_IHXClientStatisticsGranularity
*
* {00000416-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXClientStatisticsGranularity, 0x00000417, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXClientStatisticsGranularity
DECLARE_INTERFACE_(IHXClientStatisticsGranularity, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXClientStatisticsGranularity::SetStatsGranularity
* Purpose:
* Set the granularity
*/
STDMETHOD(SetStatsGranularity) (THIS_ ULONG32 ulGranularity) PURE;
};
// $EndPrivate.
// $Private:
/****************************************************************************
*
* Interface:
*
* IID_IHXSourceBufferingStats
*
* Purpose:
*
* Enables users to get the current buffering status of the
* given source.
*
*
* IID_IHXSourceBufferingStats
*
* {00000418-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXSourceBufferingStats, 0x00000418, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXSourceBufferingStats
DECLARE_INTERFACE_(IHXSourceBufferingStats, IUnknown)
{
/************************************************************************
* Method:
* IHXSourceBufferingStats::GetCurrentBuffering
* Purpose:
* Get the current buffering information
*/
STDMETHOD(GetCurrentBuffering) (THIS_ UINT16 uStreamNumber,
REF(INT64) llLowestTimestamp,
REF(INT64) llHighestTimestamp,
REF(UINT32) ulNumBytes,
REF(BOOL) bDone) PURE;
};
/****************************************************************************
*
* Interface:
*
* IID_IHXSourceBufferingStats2
*
* Purpose:
*
* Enables users to get the current buffering status of the
* given source.
*
*
* IID_IHXSourceBufferingStats2
*
* {00000418-0901-11d1-8B06-00A024406D5A}
*
*/
DEFINE_GUID(IID_IHXSourceBufferingStats2, 0x00000418, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x5a);
#undef INTERFACE
#define INTERFACE IHXSourceBufferingStats2
DECLARE_INTERFACE_(IHXSourceBufferingStats2, IHXSourceBufferingStats)
{
/************************************************************************
* Method:
* IHXSourceBufferingStats2::GetCurrentBuffering
* Purpose:
* Get the amount of buffering in the transport
*/
STDMETHOD(GetCurrentBuffering) (THIS_ UINT16 uStreamNumber,
REF(INT64) llLowestTimestamp,
REF(INT64) llHighestTimestamp,
REF(UINT32) ulNumBytes,
REF(BOOL) bDone) PURE;
/************************************************************************
* Method:
* IHXSourceBufferingStats2::GetTotalBuffering
* Purpose:
* Get the total amount of data buffered for a stream.
* This includes what is in the transport buffer and in
* the renderer
*/
STDMETHOD(GetTotalBuffering) (THIS_ UINT16 uStreamNumber,
REF(INT64) llLowestTimestamp,
REF(INT64) llHighestTimestamp,
REF(UINT32) ulNumBytes,
REF(BOOL) bDone) PURE;
};
// $EndPrivate.
// $Private:
/****************************************************************************
*
* Interface:
*
* IID_IHXPlayerPresentation
*
* Purpose:
*
* Control over the player's current presentation
*
* IID_IHXPlayerPresentation
*
* {6DE011A7-EF05-417b-9367-6FE0E54302D3}
*
*/
DEFINE_GUID(IID_IHXPlayerPresentation, 0x6de011a7, 0xef05, 0x417b, 0x93, 0x67, 0x6f, 0xe0, 0xe5, 0x43, 0x2, 0xd3);
#undef INTERFACE
#define INTERFACE IHXPlayerPresentation
DECLARE_INTERFACE_(IHXPlayerPresentation, IUnknown)
{
/************************************************************************
* Method:
* IHXPlayerPresentation::ClosePresentation
* Purpose:
* Call this method to close the player's current presentation. This will free
* all resources associated with the current presentation.
*/
STDMETHOD(ClosePresentation) (THIS) PURE;
};
// $EndPrivate.
// $Private:
/****************************************************************************
*
* Interface:
*
* IID_IHXCoreMutex
*
* Purpose:
*
* Access the core mutex
*
* IID_IHXCoreMutex
*
* {6DE011A7-EF05-417b-9367-6FE0E44404D4}
*
*/
DEFINE_GUID(IID_IHXCoreMutex, 0x6de011a7, 0xef05, 0x417b, 0x93, 0x67, 0x6f, 0xe0, 0xe4, 0x44, 0x4, 0xd4);
#undef INTERFACE
#define INTERFACE IHXCoreMutex
DECLARE_INTERFACE_(IHXCoreMutex, IUnknown)
{
/************************************************************************
* Method:
* IHXCoreMutex::LockCoreMutex
* Purpose:
* Call this method to lock the client engine's core mutex.
*/
STDMETHOD(LockCoreMutex) (THIS) PURE;
/************************************************************************
* Method:
* IHXCoreMutex::UnlockCoreMutex
* Purpose:
* Call this method to unlock the client engine's core mutex.
*/
STDMETHOD(UnlockCoreMutex) (THIS) PURE;
};
/****************************************************************************
*
* Interface:
*
* IID_IHXMacBlitMutex
*
* Purpose:
*
* Access the Mac blitting mutex
*
* Used for all Mac drawing, in both the core and the tlc. This
* mutex prevents quickdraw (and/or the image compression manager)
* from re-entering which causes crashes on OS X.
*
* IID_IHXCoreMutex
*
* {294e6de4-fbc6-4c06-bb94-95a969373b4d}
*
*/
DEFINE_GUID(IID_IHXMacBlitMutex, 0x294e6de4, 0xfbc6, 0x4c06, 0xbb, 0x94, 0x95, 0xa9, 0x69, 0x37, 0x3b, 0x4d);
#undef INTERFACE
#define INTERFACE IHXMacBlitMutex
DECLARE_INTERFACE_(IHXMacBlitMutex, IUnknown)
{
/************************************************************************
* Method:
* IHXMacBlitMutex::LockMacBlitMutex
* Purpose:
* Call this method to lock the client engine's core mutex.
*/
STDMETHOD(LockMacBlitMutex) (THIS) PURE;
/************************************************************************
* Method:
* IHXMacBlitMutex::UnlockMacBlitMutex
* Purpose:
* Call this method to unlock the client engine's core mutex.
*/
STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
};
// $EndPrivate.
#endif /* _HXCORE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -