hxengin.h
来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 2,615 行 · 第 1/5 页
H
2,615 行
* 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; 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_(HXBOOL,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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?