⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hxengin.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 5 页
字号:
    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXResolverResponse methods     */    STDMETHOD(GetHostByNameDone)	(THIS_					HX_RESULT status,					ULONG32 ulAddr) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXInterruptSafe *  *  Purpose: *  *	This interface is used in Macintosh implementations of callback  *	functions, renderers, etc... to determine if interrupt time execution   *	is supported. If this interface is not implemented then it is assumed *	that interrupt time execution is NOT supported. There are restrictions  *	on what may be executed at interrupt time; please consult the Macintosh *	Deferred Task Manager tech notes from Apple. *  *  IID_IHXInterruptSafe: *  *	{0000010B-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXInterruptSafe, 0x0000010B, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXInterruptSafeDECLARE_INTERFACE_(IHXInterruptSafe, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     *  IHXInterruptSafe methods     */    /************************************************************************     *	Method:     *	    IHXInterruptSafe::IsInterruptSafe     *	Purpose:     *	    This is the function that will be called to determine if     *	    interrupt time execution is supported.     */    STDMETHOD_(BOOL,IsInterruptSafe)		(THIS) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXAsyncIOSelection *  *  Purpose: *  *      This interface is implemented by the server/player context on Unix *      platforms.  This interface allows your plugin to get callbacks based *      I/O events that are normally handled by select().  This interface *	allows you to setup callbacks which will be executed when a file *	descriptor is ready for reading, writing, or has an exception. *  *  IID_IHXAsyncIOSelection: *  *	{0000010C-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXAsyncIOSelection, 0x0000010C, 0x901, 0x11d1, 0x8b, 0x6, 0x0,			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXAsyncIOSelectionDECLARE_INTERFACE_(IHXAsyncIOSelection, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXAsyncIOSelection methods     */    /************************************************************************     *	Method:     *	    IHXAsyncIOSelection::Add     *	Purpose:     *	    This function will allow you to receive a callback when the     *	    given descriptor is ready for read, write, or has an     *	    exception.  This function is only available on Unix, and is     *	    intended to replace the functionality of select().     */    STDMETHOD(Add)			(THIS_					IHXCallback*	pCallback,					INT32		lFileDescriptor,					UINT32		ulType) PURE;    /************************************************************************     *	Method:     *	    IHXAsyncIOSelection::Remove     *	Purpose:     *	    This function will allow you remove the callback associated     *	    with the given descriptor from the event handler.     *	    This function is only available on Unix, and is intended to     *	    replace the functionality of select().     */    STDMETHOD(Remove)                   (THIS_                                        INT32           lFileDescriptor,					UINT32		ulType) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXUDPMulticastInit *  *  Purpose: *  *	Provides the user with a way to set the TTL for outgoing multicast *	UDP packets.  Usually shared with IHXUDPSocket. *  *  IID_IHXUDPMulticastInit: *  *	{0000010D-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXUDPMulticastInit, 0x0000010D, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXUDPMulticastInitDECLARE_INTERFACE_(IHXUDPMulticastInit, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXUDPMulticastInit methods     *     */     /************************************************************************     *	Method:     *	    IHXUDPMulticastInit::InitMulticast     *	Purpose:     *	    This function will set the TTL (time to live) for the UDP socket     *      so it can be used as a multicast socket, sending packets across     *      the number of routers specified in the ulTTL parameter.       */    STDMETHOD(InitMulticast)		(THIS_    					UINT8	    chTTL) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXInterruptState *  *  Purpose: *  *	This interface is used in Macintosh implementations to inform the *	the client engine when entering & leaving an interupt task. It is *	also used to determine if it is currently at interrupt time. *	Please consult the Macintosh Deferred Task Manager tech notes from Apple *	for information on interrupt tasks. *  *  IID_IHXInterruptState: *  *	{0000010E-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXInterruptState, 0x0000010E, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXInterruptStateDECLARE_INTERFACE_(IHXInterruptState, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     *  IHXInterruptState methods     */    /************************************************************************     *	Method:     *	    IHXInterruptState::AtInterruptTime     *	Purpose:     *	    This function is called to determine if we are currently at     *	    interrupt task time.     */        STDMETHOD_(BOOL,AtInterruptTime)		(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXInterruptState::EnterInterruptState     *	Purpose:     *	    This function is called when starting a deferred/interrupt task     */    STDMETHOD(EnterInterruptState)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXInterruptState::LeaveInterruptState     *	Purpose:     *	    This function is called when leaving a deferred/interrupt task     */    STDMETHOD(LeaveInterruptState)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXInterruptState::EnableInterrupt     *	Purpose:     *	    This function can be called to enable/disable interrupt time      *	    processsing     */    STDMETHOD(EnableInterrupt)	(THIS_				BOOL	bEnable) PURE;        /************************************************************************     *	Method:     *	    IHXInterruptState::IsInterruptEnabled     *	Purpose:     *	    This function can be called to find if the core is currently     *	    interrupt enabled.     */    STDMETHOD_(BOOL, IsInterruptEnabled)   (THIS) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXOptimizedScheduler *  *  Purpose: *  *	This interface provides the user with a way of scheduling callbacks *	that will be executed at some time in the future. * *	This interface should ONLY be used if you need accurately timed  *	callbacks. These callbacks should be efficient and should not consume  *	much time/CPU. This is not a thread safe interface. The user has to  *	take care of synchronization in their callbacks. *  *  IID_IHXOptimizedScheduler: *  *	{0000010F-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXOptimizedScheduler, 0x0000010F, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXOptimizedSchedulerDECLARE_INTERFACE_(IHXOptimizedScheduler, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXOptimizedScheduler methods     */    /************************************************************************     *	Method:     *	    IHXOptimizedScheduler::RelativeEnter     *	Purpose:     *	    Schedule a callback to be executed "ms" milliseconds from now     *	    This function is less percise then AbsoluteEnter and should only     *	    be used when accurate timing is not critical.     */    STDMETHOD_(CallbackHandle,RelativeEnter)	(THIS_						IHXCallback* pCallback,						UINT32 ms) PURE;    /************************************************************************     *	Method:     *	    IHXOptimizedScheduler::AbsoluteEnter     *	Purpose:     *	    Schedule a callback to be executed at time "tVal".     */    STDMETHOD_(CallbackHandle,AbsoluteEnter)	(THIS_						IHXCallback* pCallback,						HXTimeval tVal) PURE;    /************************************************************************     *	Method:     *	    IHXOptimizedScheduler::Remove     *	Purpose:     *	    Remove a callback from the scheduler.     */    STDMETHOD(Remove)		(THIS_			    	CallbackHandle Handle) PURE;    /************************************************************************     *	Method:     *	    IHXOptimizedScheduler::GetCurrentSchedulerTime     *	Purpose:     *	    Gives the current time (in the timeline of the scheduler).     */    STDMETHOD_(HXTimeval,GetCurrentSchedulerTime)	(THIS) PURE;};/**************************************************************************** * *  Interface: * *     IHXThreadSafeScheduler * *  Purpose: * *     This interface provides the user with a way of scheduling callbacks *     that will be executed at some time in the future.  This is identical *      to IHXScheduler except the scheduler events are considered thread-safe. * *  IID_IHXThreadSafeScheduler: * *     {00000120-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXThreadSafeScheduler, 0x00000120, 0x901, 0x11d1, 0x8b, 0x6, 0x0,                       0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXThreadSafeSchedulerDECLARE_INTERFACE_(IHXThreadSafeScheduler, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)                (THIS) PURE;    /*     * IHXThreadSafeScheduler methods     */    /************************************************************************     * Method:     *     IHXThreadSafeScheduler::RelativeEnter     * Purpose:     *     Schedule a callback to be executed "ms" milliseconds from now     *     This function is less percise then AbsoluteEnter and should only     *     be used when accurate timing is not critical.     */    STDMETHOD_(CallbackHandle,RelativeEnter)   (THIS_                                               IHXCallback* pCallback,                                               UINT32 ms) PURE;    /************************************************************************     * Method:     *     IHXThreadSafeScheduler::AbsoluteEnter     * Purpose:     *     Schedule a callback to be executed at time "tVal".     */    STDMETHOD_(CallbackHandle,AbsoluteEnter)   (THIS_                                               IHXCallback* pCallback,                                               HXTimeval tVal) PURE;    /************************************************************************     * Method:     *     IHXThreadSafeScheduler::Remove     * Purpose:     *     Remove a callback from the scheduler.     */    STDMETHOD(Remove)          (THIS_                               CallbackHandle Handle) PURE;};/**************************************************************************** * *  Interface: * *     IHXProcessEntryPoint * *  Purpose: * *     This interface is the entry point for an IHXProcess * *  IID_IHXProcessEntryPoint * *     {00000123-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXProcessEntryPoint, 0x00000123, 0x901, 0x11d1, 0x8b, 0x6,            0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXProcessEntryPointDECLARE_INTERFACE_(IHXProcessEntryPoint, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)        (THIS) PURE;    STDMETHOD(Func)                   (THIS_                                       IUnknown* pContext) PURE;};/**************************************************************************** * *  Interface: * *     IHXProcess * *  Purpose: * *     This interface allows you to create new server processes and specify *  an entry point.  It is queried off the context. * *  IID_IHXProcess * *     {00000122-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXProcess, 0x00000122, 0x901, 0x11d1, 0x8b, 0x6, 0x0,                       0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXProcess

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -