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 + -
显示快捷键?