hxengin.h
来自「symbian 下的helix player源代码」· C头文件 代码 · 共 2,476 行 · 第 1/5 页
H
2,476 行
};
/****************************************************************************
*
* Interface:
*
* IHXWouldBlock
*
* Purpose:
*
* Notifier for EWOULDBLOCK conditions.
*
* IID_IHXWouldBlock:
*
* {00000119-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXWouldBlock, 0x00000119, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXWouldBlock
DECLARE_INTERFACE_(IHXWouldBlock, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXWouldBlock methods
*
*/
STDMETHOD(WantWouldBlock) (THIS_
IHXWouldBlockResponse*, UINT32 id) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXSharedUDPServices
*
* Purpose:
*
* Private interface for tying a UDP socket (via IHXUDPSocketContext) to
* a shared UDP resend port. Used to send UDP packet resend requests to one
* shared UDP port per streamer.
*
* IID_IHXSharedUDPServices
*
* {00000123-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXSharedUDPServices, 0x00000124, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXSharedUDPServices
DECLARE_INTERFACE_(IHXSharedUDPServices, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXSharedUDPServices methods
*/
STDMETHOD(RegisterSharedResponse) (THIS_
IHXUDPResponse* response,
UINT16 sPortEnum) PURE;
STDMETHOD(UnregisterSharedResponse) (THIS) PURE;
STDMETHOD_(UINT16, GetSharedPort) (THIS) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXThreadLocal
*
* Purpose:
*
* Thread-local information, namely the procnum.
*
* IID_IHXThreadLocal
*
* {00000125-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXThreadLocal, 0x00000125, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXThreadLocal
#define CLSID_IHXThreadLocal IID_IHXThreadLocal
DECLARE_INTERFACE_(IHXThreadLocal, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXThreadLocal methods
*/
/*
* IHXThreadLocal::GetMaxThreads()
*
* 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_IHXMemoryServices
DECLARE_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 IHXSetPrivateSocketOption
DECLARE_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
{
UNKNOWN,
LOOPBACK,
POINTTOPOINT,
BROADCAST
} NIType;
typedef struct _NIInfo
{
NIType type;
BOOL bActive;
UINT32 ulNetAddress;
UINT32 ulNetMask;
} NIInfo;
DEFINE_GUID(IID_IHXNetInterfaces,
0x00000128, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXNetInterfaces
DECLARE_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 IHXNetInterfacesAdviseSink
DECLARE_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 IHXNetworkInterfaceEnumerator
DECLARE_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 IHXUDPConnectedSocket
DECLARE_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_(BOOL, IsUDPConnected) (THIS) PURE;
/************************************************************************
* Method:
* IHXUDPConnectedSocket::IsUDPConnected(REF(ULONG32) ulAddr,
* REF(UINT16) nPort)
* Purpose:
* Return whether the so
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?