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

📄 hxengin.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 5 页
字号:
DECLARE_INTERFACE_(IHXProcess, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)        (THIS) PURE;    STDMETHOD(Start)                   (THIS_                                       const char* pProcessName,                                       IHXProcessEntryPoint* pEntryPoint) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXLoadBalancedListen *  *  Purpose: *  *	This interface is queried off of IHXListenSocket.  It allows *	a plugin to specify that it wants the server to load balance *	multiple instances of itself.  The server will instantiate multiple *	instances of the plugin as needed based on socket / descriptor limits. *	Each plugin instance should attempt to listen on the same port as *	other instances (they will share the port). *  *  IID_IHXLoadBalancedListen: *  *	{00000110-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXLoadBalancedListen, 0x00000110, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXLoadBalancedListenDECLARE_INTERFACE_(IHXLoadBalancedListen, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXLoadBalancedListen methods     */    /************************************************************************     *	Method:     *	    IHXLoadBalancedListen::SetID     *	Purpose:     *	    This function set's the unique ID for this listen socket.  This     *	    ID is used to determine whether or not different instances of     *	    a plugin trying to listen on a single port are actually the     *	    same plugin.  Without this function, it would be possible for     *	    two completely different plugins to listen on the same port using     *	    the load balanced listener.     */    STDMETHOD(SetID)		(THIS_			    	REFIID ID) PURE;    /************************************************************************     *	Method:     *	    IHXLoadBalancedListen::SetReserveLimit     *	Purpose:     *	    Sets the reserve limit for descriptors / sockets.  If less     *	    than reserve limit descriptors / sockets are left then a new     *	    instance of the plugin will be created.     */    STDMETHOD(SetReserveLimit)	(THIS_			    	UINT32		ulDescriptors,				UINT32		ulSockets) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXOverrideDefaultServices *  *  Purpose: *  *	This interface is queried off of the context.  It allows *	a plugin to override any default services provided by the G2 system. *	Currently, it is supported only on the client side.  *	You may currently override IHXNetworkServices using this interface *	You can use the same interface to later restore back the overriden services. *	This is done by calling the same OverrideServices() function with the  *	original service QIed before the initial override. *  *  IID_IHXOverrideDefaultServices: *  *	{00000111-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXOverrideDefaultServices, 0x00000111, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXOverrideDefaultServicesDECLARE_INTERFACE_(IHXOverrideDefaultServices, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)   (THIS_                                REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;    STDMETHOD_(ULONG32,Release) (THIS) PURE;   /*    * IHXOverrideDefaultServices methods    */   /************************************************************************    *  Method:    *      IHXOverrideDefaultServices::OverrideServices    *  Purpose:    *      Override default services provided by the G2 system.    *    */    STDMETHOD(OverrideServices)         (THIS_				IUnknown* pContext) PURE;};typedef enum _HX_SOCKET_OPTION{    HX_SOCKOPT_REUSE_ADDR,    HX_SOCKOPT_REUSE_PORT,    HX_SOCKOPT_BROADCAST,    HX_SOCKOPT_SET_RECVBUF_SIZE,    HX_SOCKOPT_SET_SENDBUF_SIZE,    HX_SOCKOPT_MULTICAST_IF,    HX_SOCKOPT_IP_TOS} HX_SOCKET_OPTION;/**************************************************************************** *  *  Interface: *  *	IHXSetSocketOption *  *  Purpose: *  *	Set sockt option *  *  IID_IHXSetSocketOption: *  *	IID_IHXSetSocketOption:    {00000114-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXSetSocketOption,	    0x00000114, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXSetSocketOptionDECLARE_INTERFACE_(IHXSetSocketOption, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXListenSocket methods     */    STDMETHOD(SetOption)		(THIS_ 					 HX_SOCKET_OPTION option,					 UINT32 ulValue) PURE;					 };#define HX_THREADSAFE_METHOD_FF_GETPACKET		0x00000001/* * FileFormat::GetPacket() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     FS->Read(), FS->Close(), FS->Seek(), *     FFR->PacketReady(), FFR->StreamDone() *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_FS_READ			0x00000002/* * FileSystem::Read()/Seek()/Close() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     FS->Read(), FS->Close(), FS->Seek(), *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_FSR_READDONE		0x00000004/* * FileFormat::ReadDone()/SeekDone()/CloseDone() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     FS->Read(), FS->Close(), FS->Seek(), *     FFR->PacketReady(), FFR->StreamDone() *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_CACHE_FILE		0x00000008/* * FileSystem::Read()/Seek()/Close() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     FS->Read(), FS->Close(), FS->Seek(), *     IHXCacheFile->*, IHXCacheFileResponse->*, *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_CACHE_FILE_RESPONSE	0x00000010/* * FileSystem::Read()/Seek()/Close() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     FS->Read(), FS->Close(), FS->Seek(), *     IHXCacheFile->*, IHXCacheFileResponse->*, *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW *//* * Thread Safe flags for IHXDataConvert */#define HX_THREADSAFE_METHOD_CONVERT_HEADERS		0x00000020/* * IHXDataConvert::ConvertXXX()/CtrlBufferReady() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     IHXDataConvertResponse->* *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_CONVERT_DATA		0x00000040/* * IHXDataConvert::ConvertXXX()/CtrlBufferReady() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     IHXDataConvertResponse->* *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_CONVERT_CTRL_BUFFER_READY	0x00000080/* * IHXDataConvert::ConvertXXX()/CtrlBufferReady() only calls: *     CCF->CI(Buffer), CCF->CI(Packet), CCF->CI(Values), *Alloc, *Free,  *     IHXDataConvertResponse->* *     Context->Scheduler->*, *     CCF->CI(Mutex), Mutex->* *     Context->ErrorMessages * * XXXSMPNOW */#define HX_THREADSAFE_METHOD_SOCKET_READDONE 		0x00000100#define HX_THREADSAFE_METHOD_ALL 			(~0)/**************************************************************************** *  *  Interface: *  *	IHXThreadSafeMethods *  *  Purpose: *  *	XXXSMPNOW *  *  IID_IHXThreadSafeMethods: *  *	{00000115-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXThreadSafeMethods, 0x00000115, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXThreadSafeMethodsDECLARE_INTERFACE_(IHXThreadSafeMethods, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXThreadSafeMethods methods     */    /************************************************************************     *	Method:     *	    IHXThreadSafeMethods::IsThreadSafe     *	Purpose:     *	    XXXSMPNOW     */    STDMETHOD_(UINT32,IsThreadSafe)	    (THIS) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXMutex *  *  Purpose: *  *	XXXSMPNOW *  *  IID_IHXMutex: *  *	{00000116-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXMutex, 0x00000116, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXMutex/* *  The IHXCommonClassFactory supports creating an instance *  of this object. */#define CLSID_IHXMutex IID_IHXMutexDECLARE_INTERFACE_(IHXMutex, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXMutex methods     */     /* XXXSMPNOW Comments */    STDMETHOD(Lock)	    (THIS) PURE;    STDMETHOD(TryLock)	    (THIS) PURE;    STDMETHOD(Unlock)	    (THIS) PURE;};// $Private:/**************************************************************************** *  *  Interface: *  *	IHXFastPathNetWrite *  *  Purpose: *  *	Private interface for high speed UDP output. *  *  IID_IHXFastPathNetWrite: *  *	{00000117-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXFastPathNetWrite, 0x00000117, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXFastPathNetWriteDECLARE_INTERFACE_(IHXFastPathNetWrite, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXFastPathNetWrite methods     *     */    STDMETHOD(FastWrite)	(THIS_				const UINT8* pBuffer, UINT32 ulLen) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXWouldBlockResponse *  *  Purpose: *  *	Get notifications of EWOULDBLOCK conditions. *  *  IID_IHXWouldBlockResponse: *  *	{00000118-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXWouldBlockResponse, 0x00000118, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXWouldBlockResponseDECLARE_INTERFACE_(IHXWouldBlockResponse, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXWouldBlockResponse methods     *     */            /*     * WouldBlock     *     * Return HXR_OK to go into blocked mode, causing a future     * WouldBlockCleared call.  HXR_anythingelse to ignore.     */        STDMETHOD(WouldBlock)	(THIS_ UINT32 id) PURE;    STDMETHOD(WouldBlockCleared)(THIS_ UINT32 id) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXWouldBlock

⌨️ 快捷键说明

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