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

📄 hxengin.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 5 页
字号:
					void** ppvObj) PURE;		STDMETHOD_(ULONG32, AddRef)	(THIS) PURE;		STDMETHOD_(ULONG32, Release)	(THIS) PURE;		/*	 *	 */		STDMETHOD(Initialize)		(THIS) PURE;		STDMETHOD(Shutdown)		(THIS) PURE;		STDMETHOD(PostConnect)		(THIS_					LONG32 nSocketNumber) PURE;		STDMETHOD_(LONG32, Read)	(THIS_					LONG32 nSocketNumber,					void* buff,					LONG32 buffLen) PURE;		STDMETHOD_(LONG32, Write)	(THIS_					LONG32 nSocketNumber,					void* buff,					LONG32 buffLen) PURE;		STDMETHOD(Close)		(THIS_					LONG32 nSocketNumber) PURE;						STDMETHOD(SetCallbacks)		(THIS_					void* readCallback,					void* writeCallback,					void* closeCallback) PURE;		};// $EndPrivate.// $Private:/**************************************************************************** *  *  Interface: *  *	IHXBufferedSocket *  *  Purpose: *  *	This provdies a method for doing for doing more optimal *      TCP delivery using desired packet size and writev.   *  *  IID_IHXTCPSocket: *  *	{00001402-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXBufferedSocket,     0x00001402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXBufferedSocketDECLARE_INTERFACE_(IHXBufferedSocket, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXTCPSocket methods     */    STDMETHOD(BufferedWrite)		(THIS_					IHXBuffer*	pBuffer) PURE;    STDMETHOD(FlushWrite)		(THIS) PURE;    STDMETHOD(SetDesiredPacketSize)     (THIS_					UINT32		ulPacketSize) PURE;};// $EndPrivate./**************************************************************************** *  *  Interface: *  *	IHXListenResponse *  *  Purpose: *  *	This is the response interface for the asynchronous TCP listening *	socket interface. *  *  IID_IHXListenResponse: *  *	{00000104-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXListenResponse, 0x00000104, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXListenResponseDECLARE_INTERFACE_(IHXListenResponse, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXListenResponse methods     */    STDMETHOD(NewConnection)	(THIS_				HX_RESULT		status,				IHXTCPSocket*		pTCPSocket) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXListenSocket *  *  Purpose: *  *	This interfaces allows you to asynchronously listen on a port for *	TCP connections. *  *  IID_IHXListenSocket: *  *	{00000105-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXListenSocket, 0x00000105, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXListenSocketDECLARE_INTERFACE_(IHXListenSocket, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXListenSocket methods     */    STDMETHOD(Init)		(THIS_				UINT32				ulLocalAddr,				UINT16				port,				IHXListenResponse*    /*IN*/	pListenResponse				) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXNetworkServices *  *  Purpose: *  *	This is a factory interface for the various types of networking *	interfaces described above. *  *  IID_IHXNetworkServices: *  *	{00000106-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXNetworkServices, 0x00000106, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXNetworkServicesDECLARE_INTERFACE_(IHXNetworkServices, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXNetworkServices methods     */    /************************************************************************     *	Method:     *	    IHXNetworkServices::CreateTCPSocket     *	Purpose:     *	    Create a new TCP socket.     */    STDMETHOD(CreateTCPSocket)	(THIS_				IHXTCPSocket**    /*OUT*/  ppTCPSocket) PURE;    /************************************************************************     *	Method:     *	    IHXNetworkServices::CreateUDPSocket     *	Purpose:     *	    Create a new UDP socket.     */    STDMETHOD(CreateUDPSocket)	(THIS_				IHXUDPSocket**    /*OUT*/  ppUDPSocket) PURE;    /************************************************************************     *	Method:     *	    IHXNetworkServices::CreateListenSocket     *	Purpose:     *	    Create a new TCP socket that will listen for connections on a     *	    particular port.     */    STDMETHOD(CreateListenSocket)   (THIS_				    IHXListenSocket** /*OUT*/ ppListenSocket				    ) PURE;    /************************************************************************     *	Method:     *	    IHXNetworkServices::CreateResolver     *	Purpose:     *	    Create a new resolver that can lookup host names     */    STDMETHOD(CreateResolver)  	(THIS_			    	IHXResolver**    /*OUT*/     ppResolver) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXNetworkServices2 *  *  Purpose: *  *	This is a factory interface for the various types of networking *	interfaces described above. *  *  IID_IHXNetworkServices: *  *	{17951551-5683-11d3-B6BA-00C0F031C237} *  */// {17951551-5683-11d3-B6BA-00C0F031C237}DEFINE_GUID(IID_IHXNetworkServices2, 0x17951551, 0x5683, 0x11d3, 0xb6, 0xba, 0x0, 0xc0, 0xf0, 0x31, 0xc2, 0x37);#undef  INTERFACE#define INTERFACE   IHXNetworkServices2DECLARE_INTERFACE_(IHXNetworkServices2, IHXNetworkServices){    /************************************************************************     *	Method:     *	    IHXNetworkServices2::CreateLBoundTCPSocket     *	Purpose:     *	    Create a new local bound TCP socket.     */    STDMETHOD(CreateLBoundTCPSocket)	(THIS_				IHXTCPSocket**    /*OUT*/  ppTCPSocket) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXUDPResponse *  *  Purpose: *  *	This is the response interface for the asynchronous UDP networking  *	interface. *  *  IID_IHXUDPResponse: *  *	{00000107-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXUDPResponse, 0x00000107, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXUDPResponseDECLARE_INTERFACE_(IHXUDPResponse, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXUDPResponse methods     */    STDMETHOD(ReadDone)		(THIS_				HX_RESULT		status,				IHXBuffer*		pBuffer,				ULONG32			ulAddr,				UINT16			nPort) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXUDPSocket *  *  Purpose: *  *	Provides the user with an asynchronous UDP networking interface. *  *  IID_IHXUDPSocket: *  *	{00000108-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXUDPSocket, 0x00000108, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXUDPSocketDECLARE_INTERFACE_(IHXUDPSocket, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXUDPSocket methods     *     *  Network addresses and ports are in native byte order     */    STDMETHOD(Init)		(THIS_				ULONG32			ulAddr,				UINT16			nPort,				IHXUDPResponse*	pUDPResponse) PURE;    STDMETHOD(Bind)		(THIS_				UINT32			    ulLocalAddr,				UINT16 			    nPort) PURE;    STDMETHOD(Read)		(THIS_				UINT16			Size) PURE;    STDMETHOD(Write)		(THIS_				IHXBuffer*		pBuffer) PURE;    STDMETHOD(WriteTo)		(THIS_    				ULONG32			ulAddr,				UINT16			nPort,				IHXBuffer*		pBuffer) PURE;    STDMETHOD(GetLocalPort)	(THIS_    				REF(UINT16)		port) PURE;    STDMETHOD(JoinMulticastGroup)	(THIS_    					ULONG32	    ulMulticastAddr,    					ULONG32	    ulInterfaceAddr) PURE;        STDMETHOD(LeaveMulticastGroup)	(THIS_    					ULONG32	    ulMulticastAddr,    					ULONG32	    ulInterfaceAddr) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXResolver *  *  Purpose: *  *	This interface allows you to asynchronously resolve hostnames. *  *  IID_IHXResolver: *  *	{00000109-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXResolver, 0x00000109, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXResolverDECLARE_INTERFACE_(IHXResolver, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXResolver methods     */    STDMETHOD(Init)			(THIS_					IHXResolverResponse*  pResponse) PURE;    STDMETHOD(GetHostByName)		(THIS_					const char* pHostName) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXResolverResponse *  *  Purpose: *  *	This is the response interface for the asynchronous DNS hostname *	resolver. *  *  IID_IHXResolverResponse: *  *	{0000010A-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXResolverResponse, 0x0000010A, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXResolverResponseDECLARE_INTERFACE_(IHXResolverResponse, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;

⌨️ 快捷键说明

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