📄 hxcore.h
字号:
*/ STDMETHOD(Begin) (THIS) PURE; /************************************************************************ * Method: * IHXPlayer::Stop * Purpose: * Tell the player to stop playback of all its sources. * */ STDMETHOD(Stop) (THIS) PURE; /************************************************************************ * Method: * IHXPlayer::Pause * Purpose: * Tell the player to pause playback of all its sources. * */ STDMETHOD(Pause) (THIS) PURE; /************************************************************************ * Method: * IHXPlayer::Seek * Purpose: * Tell the player to seek in the playback timeline of all its * sources. * */ STDMETHOD(Seek) (THIS_ ULONG32 ulTime) PURE; /************************************************************************ * Method: * IHXPlayer::GetSourceCount * Purpose: * Returns the current number of source instances supported by * this player instance. */ STDMETHOD_(UINT16, GetSourceCount)(THIS) PURE; /************************************************************************ * Method: * IHXPlayer::GetSource * Purpose: * Returns the Nth source instance supported by this player. */ STDMETHOD(GetSource) (THIS_ UINT16 nIndex, REF(IUnknown*) pUnknown) PURE; /************************************************************************ * Method: * IHXPlayer::SetClientContext * Purpose: * Called by the client to install itself as the provider of client * services to the core. This is traditionally called by the top * level client application. */ STDMETHOD(SetClientContext) (THIS_ IUnknown* pUnknown) PURE; /************************************************************************ * Method: * IHXPlayer::GetClientContext * Purpose: * Called to get the client context for this player. This is * set by the top level client application. */ STDMETHOD(GetClientContext) (THIS_ REF(IUnknown*) pUnknown) PURE; /************************************************************************ * Method: * IHXPlayer::AddAdviseSink * Purpose: * Call this method to add a client advise sink. * */ STDMETHOD(AddAdviseSink) (THIS_ IHXClientAdviseSink* pAdviseSink) PURE; /************************************************************************ * Method: * IHXPlayer::RemoveAdviseSink * Purpose: * Call this method to remove a client advise sink. */ STDMETHOD(RemoveAdviseSink) (THIS_ IHXClientAdviseSink* pAdviseSink) PURE;};/**************************************************************************** * * Interface: * * IHXClientEngine * * Purpose: * * Interface to the basic client engine. Provided to the renderers and * other client side components. * * IID_IHXClientEngine: * * {00000403-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXClientEngine, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXClientEngineDECLARE_INTERFACE_(IHXClientEngine, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXClientEngine methods */ /************************************************************************ * Method: * IHXClientEngine::CreatePlayer * Purpose: * Creates a new IHXPlayer instance. * */ STDMETHOD(CreatePlayer) (THIS_ REF(IHXPlayer*) pPlayer) PURE; /************************************************************************ * Method: * IHXClientEngine::ClosePlayer * Purpose: * Called by the client when it is done using the player... * */ STDMETHOD(ClosePlayer) (THIS_ IHXPlayer* pPlayer) PURE; /************************************************************************ * Method: * IHXClientEngine::GetPlayerCount * Purpose: * Returns the current number of IHXPlayer instances supported by * this client engine instance. */ STDMETHOD_(UINT16, GetPlayerCount)(THIS) PURE; /************************************************************************ * Method: * IHXClientEngine::GetPlayer * Purpose: * Returns the Nth IHXPlayer instances supported by this client * engine instance. */ STDMETHOD(GetPlayer) (THIS_ UINT16 nPlayerNumber, REF(IUnknown*) pUnknown) PURE; /************************************************************************ * Method: * IHXClientEngine::EventOccurred * Purpose: * Clients call this to pass OS events to all players. HXxEvent * defines a cross-platform event. */ STDMETHOD(EventOccurred) (THIS_ HXxEvent* /*IN*/ pEvent) PURE;};// $Private:/**************************************************************************** * * Interface: * * IHXClientEngineMapper * * Purpose: * * Interface to the basic client engine. Provided to the renderers and * other client side components. * * IID_IHXClientEngineMapper: * * {0000040A-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXClientEngineMapper, 0x0000040A, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXClientEngineMapperDECLARE_INTERFACE_(IHXClientEngineMapper, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXClientEngineMapper methods */ /************************************************************************ * Method: * IHXClientEngineMapper::GetPlayerBySite * Purpose: * Returns the IHXPlayer instance supported by this client * engine instance that contains the specified IHXSite. */ STDMETHOD(GetPlayerBySite) (THIS_ IHXSite* pSite, REF(IUnknown*) pUnknown) PURE;};// $EndPrivate:#if defined _UNIX && !defined (_VXWORKS)DEFINE_GUID(IID_IHXClientEngineSelector, 0x00000404, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXClientEngineSelectorDECLARE_INTERFACE_(IHXClientEngineSelector, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /************************************************************************ * Method: * IHXClientEngine::Select * Purpose: * Top level clients under Unix should use this instead of * select() to select for events. */ STDMETHOD_(INT32, Select) (THIS_ INT32 n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval* timeout) PURE;};#endif /* _UNIX *//**************************************************************************** * * Interface: * * IHXClientEngineSetup * * Purpose: * * Interface to the basic client engine. Provided to the renderers and * other client side components. * * IID_IHXClientEngineSetup: * * {00000405-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXClientEngineSetup, 0x00000405, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXClientEngineSetupDECLARE_INTERFACE_(IHXClientEngineSetup, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXClientEngineSetup methods */ /************************************************************************ * Method: * IHXClientEngineSetup::Setup * Purpose: * Top level clients use this interface to over-ride certain basic * interfaces implemented by the core. Current over-ridable * interfaces are: IHXPreferences, IHXHyperNavigate */ STDMETHOD(Setup) (THIS_ IUnknown* pContext) PURE;};/**************************************************************************** * * Interface: * * IHXInfoLogger * * Purpose: * * Interface to send any logging information back to the server. * This information will appear in the server's access log. * * IID_IHXInfoLogger: * * {00000409-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXInfoLogger, 0x00000409, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXInfoLoggerDECLARE_INTERFACE_(IHXInfoLogger, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXInfoLogger methods */ /************************************************************************ * Method: * IHXInfoLogger::LogInformation * Purpose: * Logs any user defined information in form of action and * associated data. */ STDMETHOD(LogInformation) (THIS_ const char* /*IN*/ pAction, const char* /*IN*/ pData) PURE;};// $Private:/**************************************************************************** * * Interface: * * IHXPersistenceManager * * Purpose: * * * IID_IHXPersistenceManager: * * {0000040B-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXPersistenceManager, 0x0000040B, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXPersistenceManagerDECLARE_INTERFACE_(IHXPersistenceManager, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXPersistenceManager methods */ /************************************************************************ * Method: * IHXPersistenceManager::AddPersistentComponent * Purpose: * We currently allow ONLY IHXRenderer to register itself as a * persistent component. * Renderer registers itself as a persistent renderer if it wants * to live across group boundaries. * It will not be unloaded until * a) Someone opens the next URL. * b) All the groups within the current presentation have been * played. */ STDMETHOD(AddPersistentComponent) (THIS_ IUnknown* /*IN*/ pComponent) PURE; /************************************************************************ * Method: * IHXPersistenceManager::RemovePersistentComponent * Purpose: * Remove an earlier registered persistent component. */ STDMETHOD(RemovePersistentComponent) (THIS_ IUnknown* /*IN*/ pComponent) PURE; /************************************************************************ * Method: * IHXPersistenceManager::GetPersistentComponent * Purpose: * Return an earlier registered persistent component. */ STDMETHOD(GetPersistentComponent) (THIS_ REF(IUnknown*) /*OUT*/ pComponent) PURE;};/**************************************************************************** * * Interface: * * IHXDriverStreamManager * * Purpose: * Methods to notify/update driver stream renderer * * * IID_IHXDriverStreamManager * * {0000040C-0901-11d1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXDriverStreamManager, 0x0000040C, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXDriverStreamManagerDECLARE_INTERFACE_(IHXDriverStreamManager, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXDriverStreamManager methods */ /************************************************************************ * Method: * IHXDriverStreamManager::AddRendererAdviseSink * Purpose: * Add a renderer advise sink * */ STDMETHOD(AddRendererAdviseSink) (THIS_ IHXRendererAdviseSink* pSink) PURE; /************************************************************************ * Method: * IHXDriverStreamManager::SetDriverStreamManager * Purpose: * Remove an advise sink * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -