hxengin.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 2,615 行 · 第 1/5 页

H
2,615
字号
     *  Maximum number of threads on the system (MAX_THREADS on server)     */    STDMETHOD_(int, GetMaxThreads)	(THIS) PURE;    /*     *  IHXThreadLocal::GetThreadNumber()     *     *  This thread's number (< MAX_THREADS)     */    STDMETHOD_(int, GetThreadNumber)	(THIS) PURE;};/**************************************************************************** * *  Interface: * *     IHXMemoryServices * *  Purpose: * *     Exposes server memory functions * *  IID_IHXMemoryServices * *     {00000126-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXMemoryServices, 0x00000126, 0x901, 0x11d1, 0x8b, 0x6, 0x0,                       0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXMemoryServices#define CLSID_IHXMemoryServices IID_IHXMemoryServicesDECLARE_INTERFACE_(IHXMemoryServices, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)        (THIS) PURE;    /*     * IHXMemoryServices methods     */    /*     *  IHXMemoryServices::ValidateMemory()     *     *  Make consistency checks on the server shared memory space.     *     * lStartPage, lPages     *     * Specifies a page range to allow smaller searches, if you have a      * repro case and want to fail as soon as possible after the scribble.     * Use lPages == 0 to check to the last page.  (Pages in the shared     * space are numbered starting from zero.  You can decide on a range     * based on the printout of previous errors.)     *     * ulFlags     *     * 0x00000001	fail -- abort() -- on finding an error.     * 0x00000002	do rudimentary checks on internal SharedMemory data arrays.     *     */    STDMETHOD(ValidateMemory)		(THIS_					 INT32 lStartPage, 					 INT32 lPages, 					 UINT32 ulFlags) PURE;};typedef enum _HX_PRIVATE_SOCKET_OPTION{    HX_PRIVATE_SOCKOPT_IGNORE_WSAECONNRESET} HX_PRIVATE_SOCKET_OPTION;/**************************************************************************** *  *  Interface: *  *	IHXSetPrivateSocketOption *  *  Purpose: *  *	Set private sockt option *  *  IID_IHXSetPrivateSocketOption: * *     {00000127-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXSetPrivateSocketOption,     0x00000127, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59); #undef  INTERFACE#define INTERFACE   IHXSetPrivateSocketOptionDECLARE_INTERFACE_(IHXSetPrivateSocketOption, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXSetPrivateSocketOption methods     */    STDMETHOD(SetOption)		(THIS_ 					 HX_PRIVATE_SOCKET_OPTION option,					 UINT32 ulValue) PURE;					 };/**************************************************************************** *  *  Interface: *  *	IHXNetInterfaces *  *  Purpose: *  *	Network Interfaces *  *  IID_IHXNetInterfaces: * *     {00000128-0901-11d1-8B06-00A024406D59} *  */typedef enum{    NI_UNKNOWN,    NI_ETHERNET,    NI_TOKENRING,    NI_FDDI,    NI_PPP,    NI_LOOPBACK,    NI_SLIP,    NI_TUNNEL} NIType;// Operational status of the interface using the // values defined in RFC 2863. typedef enum{    NI_OPER_STATUS_NON_OPERATIONAL= 0,    NI_OPER_STATUS_UNREACHABLE,    NI_OPER_STATUS_DISCONNECTED,    NI_OPER_STATUS_CONNECTING,    NI_OPER_STATUS_CONNECTED,    NI_OPER_STATUS_OPERATIONAL} NIStatus;typedef enum{    NI_ADDR_UNKNOWN,    NI_ADDR_IPv4,    NI_ADDR_IPv6} NIAddressType;struct NIAddressInfo{    NIAddressType   type;    IHXBuffer*      pAddress;    IHXBuffer*      pSubnet;    UINT32          ulSubnetPrefix;    NIAddressInfo*  next;    NIAddressInfo()    {        type = NI_ADDR_UNKNOWN;        pAddress = NULL;        pSubnet = NULL;        ulSubnetPrefix = 0;        next = NULL;    };    ~NIAddressInfo()    {        HX_RELEASE(pAddress);        HX_RELEASE(pSubnet);        next = NULL;    };};struct NIInfo{    NIType	    type;    IHXBuffer*      pDescription;    NIStatus        status;    UINT32          ulIPv4Index;    UINT32          ulIPv6Index;    UINT32          ulMTU;    NIAddressInfo*  pAddressInfo;       NIInfo()    {        type = NI_UNKNOWN;        pDescription = NULL;        status = NI_OPER_STATUS_NON_OPERATIONAL;        ulIPv4Index = 0;        ulIPv6Index = 0;        ulMTU = 0;        pAddressInfo = NULL;    };    ~NIInfo()    {        HX_RELEASE(pDescription);                NIAddressInfo* pTemp = pAddressInfo;        while (pTemp)        {            pAddressInfo = pAddressInfo->next;            HX_DELETE(pTemp);            pTemp = pAddressInfo;        }    };};DEFINE_GUID(IID_IHXNetInterfaces,     0x00000128, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59); #undef  INTERFACE#define INTERFACE   IHXNetInterfacesDECLARE_INTERFACE_(IHXNetInterfaces, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXNetworkInterfaces methods     */    STDMETHOD(UpdateNetInterfaces)		(THIS) PURE;    STDMETHOD_(UINT32, GetNumOfNetInterfaces)	(THIS) PURE;    STDMETHOD(GetNetInterfaces)			(THIS_						UINT16		lIndex,						REF(NIInfo*)	pNIInfo) PURE;    STDMETHOD(AddAdviseSink)			(THIS_						IHXNetInterfacesAdviseSink* pSink) PURE;    STDMETHOD(RemoveAdviseSink)			(THIS_						IHXNetInterfacesAdviseSink* pSink) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXNetInterfacesAdviseSink *  *  Purpose: *  *	Network Interfaces Advise Sink *  *  IID_IHXNetInterfaces: * *     {00000129-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXNetInterfacesAdviseSink,     0x00000129, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59); #undef  INTERFACE#define INTERFACE   IHXNetInterfacesAdviseSinkDECLARE_INTERFACE_(IHXNetInterfacesAdviseSink, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXNetInterfacesAdviseSink methods     */    STDMETHOD(NetInterfacesUpdated)	(THIS) PURE;};// $EndPrivate./**************************************************************************** *  *  Interface: *  *	IHXNetworkInterfaceEnumerator *  *  Purpose: *  *	Enumerate interfaces on a box. *  *  IID_IHXNetworkInterfaceEnumerator; *  *	{00000121-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXNetworkInterfaceEnumerator, 0x00000121, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXNetworkInterfaceEnumeratorDECLARE_INTERFACE_(IHXNetworkInterfaceEnumerator, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXNetworkInterfaceEnumerator::EnumerateInterfaces     *	Purpose:     *	    returns a list of local interfaces     *	Usage:     *	    If a buffer passed in is too small, it will return      *	    HXR_BUFFERTOOSMALL with ulNumInterfaces updated.     */    STDMETHOD(EnumerateInterfaces)	(THIS_	REF(UINT32*) pulInterfaces, REF(UINT32) ulNumInterfaces) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXUDPConnectedSocket *  *  Purpose: *  *	Connect and disconnect a UDP socket *  *  IID_IHXUDPConnectedSocket; *  *	{0000012A-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXUDPConnectedSocket, 0x0000012a, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXUDPConnectedSocketDECLARE_INTERFACE_(IHXUDPConnectedSocket, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXUDPConnectedSocket::UDPConnect     *	Purpose:     *	    Connect the udp socket     *	Usage:     *	    Connect to the foreign addr and port the socket already knows     *      about; this is implementation-dependent.     */    STDMETHOD(UDPConnect)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXUDPConnectedSocket::UDPConnect(ULONG32 ulAddr, UINT16 nPort);     *	Purpose:     *	    Connect the udp socket     *	Usage:     *	    Specify the host-ordered foreign addr and port to connect to.     */    STDMETHOD(UDPConnect)	(THIS_	ULONG32 ulAddr, UINT16 nPort) PURE;    /************************************************************************     *	Method:     *	    IHXUDPConnectedSocket::UDPDisconnect     *	Purpose:     *	    Disconnect the udp socket     */    STDMETHOD(UDPDisconnect) (THIS) PURE;    /************************************************************************     *	Method:     *	    IHXUDPConnectedSocket::IsUDPConnected     *	Purpose:     *	    Return whether the socket is connected.     */    STDMETHOD_(HXBOOL, IsUDPConnected) (THIS) PURE;    /************************************************************************     *	Method:     *	    IHXUDPConnectedSocket::IsUDPConnected(REF(ULONG32) ulAddr,      *                                            REF(UINT16) nPort)     *	Purpose:     *	    Return whether the socket is connected, and the connected addr/port.     *	Usage:     *      Return the foreign addr/port the socket knows about, regardless of     *      whether it's connected.  This is the foreign addr that is connected     *      to (if TRUE) or that will be used if Connect(void) called (if FALSE).     */    STDMETHOD_(HXBOOL, IsUDPConnected) (THIS_ REF(ULONG32) ulAddr,                                             REF(UINT16) nPort) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXAutoBWDetection *  *  Purpose: *  *	Auto Bandwidth Detection interface *  *  IID_IHXAutoBWDetection; *  *	{0000012b-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXAutoBWDetection,     0x0000012b, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59); #undef  INTERFACE#define INTERFACE   IHXAutoBWDetectionDECLARE_INTERFACE_(IHXAutoBWDetection, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXAutoBWDetection methods     */    STDMETHOD(InitAutoBWDetection)		(THIS_                                                 HXBOOL bEnabled) PURE;    STDMETHOD(AddAutoBWDetectionSink)	        (THIS_                                                 IHXAutoBWDetectionAdviseSink* pSink) PURE;    STDMETHOD(RemoveAutoBWDetectionSink)        (THIS_                                                 IHXAutoBWDetectionAdviseSink* pSink) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXAutoBWDetectionAdviseSink *  *  Purpose: *  *	Auto Bandwidth Detection callback interface *  *  IID_IHXAutoBWDetectionAdviseSink: * *     {0000012c-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXAutoBWDetectionAdviseSink,     0x0000012c, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59); #undef  INTERFACE#define INTERFACE   IHXAutoBWDetectionAdviseSinkDECLARE_INTERFACE_(IHXAutoBWDetectionAdviseSink, IUnknown){    /*     *  IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXAutoBWDetectionAdviseSink methods     */    STDMETHOD(AutoBWDetectionDone)	(THIS_                                         HX_RESULT  status,                

⌨️ 快捷键说明

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