📄 hxstats.h
字号:
STDMETHOD_(IHXBuffer*, GetClientID) (THIS) PURE; STDMETHOD(SetClientID) (THIS_ IHXBuffer* pClientID) PURE; STDMETHOD_(IHXBuffer*, GetPNAClientID) (THIS) PURE; STDMETHOD(SetPNAClientID) (THIS_ IHXBuffer* pPNAClientID) PURE; STDMETHOD_(IHXBuffer*, GetCompanyID) (THIS) PURE; STDMETHOD(SetCompanyID) (THIS_ IHXBuffer* pCompanyID) PURE; STDMETHOD_(IHXBuffer*, GetClientChallenge) (THIS) PURE; STDMETHOD(SetClientChallenge) (THIS_ IHXBuffer* pClientChallenge) PURE; STDMETHOD_(IHXBuffer*, GetLanguage) (THIS) PURE; STDMETHOD(SetLanguage) (THIS_ IHXBuffer* pLanguage) PURE; STDMETHOD_(IHXBuffer*, GetPlayerStartTime) (THIS) PURE; STDMETHOD(SetPlayerStartTime) (THIS_ IHXBuffer* pPlayerStartTime) PURE; STDMETHOD_(IHXBuffer*, GetProtocol) (THIS) PURE; STDMETHOD(SetProtocol) (THIS_ IHXBuffer* pProtocol) PURE; STDMETHOD_(IHXBuffer*, GetStartTime) (THIS) PURE; STDMETHOD(SetStartTime) (IHXBuffer* pStartTime) PURE; STDMETHOD_(IHXBuffer*, GetRequestMethod) (THIS) PURE; STDMETHOD(SetRequestMethod) (IHXBuffer* pRequestMethod) PURE; STDMETHOD_(IHXBuffer*, GetUserAgent) (THIS) PURE; STDMETHOD(SetUserAgent) (THIS_ IHXBuffer* pUserAgent) PURE; STDMETHOD_(IHXBuffer*, GetVersion) (THIS) PURE; STDMETHOD(SetVersion) (THIS_ IHXBuffer* pVersion) PURE; STDMETHOD_(IHXBuffer*, GetLoadTestPassword) (THIS) PURE; STDMETHOD(SetLoadTestPassword) (THIS_ IHXBuffer* pLoadTestPassword) PURE; STDMETHOD_(IHXBuffer*, GetRTSPEvents) (THIS) PURE; STDMETHOD(SetRTSPEvents) (THIS_ IHXBuffer* pRTSPEvents) PURE; STDMETHOD_(UINT64, GetControlBytesSent) (THIS) PURE; STDMETHOD(SetControlBytesSent) (THIS_ UINT64 ulControlBytesSent) PURE; STDMETHOD_(UINT32, GetPort) (THIS) PURE; STDMETHOD(SetPort) (THIS_ UINT32 ulPort) PURE; STDMETHOD_(UINT32, GetSessionCount) (THIS) PURE; STDMETHOD(SetSessionCount) (THIS_ UINT32 ulSessionCount) PURE; STDMETHOD_(UINT32, GetSessionIndex) (THIS) PURE; STDMETHOD(SetSessionIndex) (THIS_ UINT32 ulSessionIndex) PURE; STDMETHOD_(BOOL, IsCloaked) (THIS) PURE; STDMETHOD(SetCloaked) (THIS_ BOOL bIsCloaked) PURE; STDMETHOD_(BOOL, IsRDT) (THIS) PURE; STDMETHOD(SetRDT) (THIS_ BOOL bIsRDT) PURE; STDMETHOD_(BOOL, SupportsMaximumASMBandwidth) (THIS) PURE; STDMETHOD(SetSupportsMaximumASMBandwidth) (THIS_ BOOL bSupportsMaximumASMBandwidth) PURE; STDMETHOD_(BOOL, SupportsMulticast) (THIS) PURE; STDMETHOD(SetSupportsMulticast) (THIS_ BOOL bSupportsMulticast) PURE; STDMETHOD_(IHXBuffer*, GetStreamSelectionInfo) (THIS) PURE; STDMETHOD(SetStreamSelectionInfo) (THIS_ IHXBuffer* pStreamSelectionInfo) PURE; STDMETHOD_(UINT32, GetTotalMediaAdaptations) (THIS) PURE; STDMETHOD(SetTotalMediaAdaptations) (THIS_ UINT32 ulTotalMediaAdaptations) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStats::GetID() // Purpose: // Get the id (assigned by the client stats mgr) for this client. // Arguments: // void /////////////////////////////////////////////////////////////////////////// STDMETHOD_(UINT32, GetID) (THIS) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStats::SetID() // Purpose: // Set the connection id for this client. To be called by the client // stats manager. // Arguments: // ulConnId - conn id of client. /////////////////////////////////////////////////////////////////////////// STDMETHOD(SetID) (THIS_ UINT32 ulConnId) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStats::GetSession() // Purpose: // Get the IHXSessionStats object for the provided session number. // Arguments: // ulSessionId - Session number of session to get. /////////////////////////////////////////////////////////////////////////// STDMETHOD_(IHXSessionStats*, GetSession) (THIS_ UINT32 ulSessionNumber) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStats::RemoveSession() // Purpose: // Remove the IHXSessionStats object associated with the provided // session number. // Arguments: // ulSessionId - Session number of session to remove. /////////////////////////////////////////////////////////////////////////// STDMETHOD(RemoveSession) (THIS_ UINT32 ulSessionNumber) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStats::AddSession() // Purpose: // Add an IHXSessionStats object to list. // Arguments: // pSession - Pointer to IHXSessionStats object. /////////////////////////////////////////////////////////////////////////// STDMETHOD (AddSession) (THIS_ IHXSessionStats* pSession) PURE;};///////////////////////////////////////////////////////////////////////////////// Interface: //// IHXClientStatsSink//// Purpose://// Applications wishing to receive information regarding stats from the// client stats manager implement this interface.//// IID_IHXClientStatsSink://// {FDC6D1AA-D78E-40b0-A3E6-B7D6DF30383B}/////////////////////////////////////////////////////////////////////////////////// {FDC6D1AA-D78E-40b0-A3E6-B7D6DF30383B}DEFINE_GUID(IID_IHXClientStatsSink, 0xfdc6d1aa, 0xd78e, 0x40b0, 0xa3, 0xe6, 0xb7, 0xd6, 0xdf, 0x30, 0x38, 0x3b);#define CLSID_IHXClientStatsSink IID_IHXClientStatsSink#undef INTERFACE#define INTERFACE IHXClientStatsSinkDECLARE_INTERFACE_(IHXClientStatsSink, IUnknown){ // IUnknown methods STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(UINT32,AddRef) (THIS) PURE; STDMETHOD_(UINT32,Release) (THIS) PURE; // IHXClientStatsSink methods /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsSink::OnStatsEvent() // Purpose: // Notify sinks of a Client/Session stats event // Arguments: // nEvent the id of the triggering event // pClient IHXStats object // pSession IHX stats object (== NULL for client connect/disconnect, // and timer events) /////////////////////////////////////////////////////////////////////////// STDMETHOD(OnStatsEvent) (THIS_ ClientStatsEvent nEvent, IHXClientStats* pClient, IHXSessionStats* pSession) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsSink::GetStatsTimerInterval() // Purpose: // Retrieve the desired timer interval from the sink for scheduling // callbacks with connecting clients. // Arguments: // pClient - Stats object. /////////////////////////////////////////////////////////////////////////// STDMETHOD_(UINT32, GetStatsTimerInterval) (THIS) PURE;};///////////////////////////////////////////////////////////////////////////////// Interface: //// IHXClientStatsManager//// Purpose:// // Allows plugins to access the server's client stats management system// via the IHXContext. //// IID_IHXClientStatsManager://// {E0ECE2B8-A94B-4eb4-AF0D-177D053B2ED6}/////////////////////////////////////////////////////////////////////////////////DEFINE_GUID(IID_IHXClientStatsManager, 0xe0ece2b8, 0xa94b, 0x4eb4, 0xaf, 0xd, 0x17, 0x7d, 0x5, 0x3b, 0x2e, 0xd6);#define CLSID_IHXClientStatsManager IID_IHXClientStatsManager#undef INTERFACE#define INTERFACE IHXClientStatsManagerDECLARE_INTERFACE_(IHXClientStatsManager, IUnknown){ // IUnknown methods STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(UINT32,AddRef) (THIS) PURE; STDMETHOD_(UINT32,Release) (THIS) PURE; // IHXClientStatsManager methods /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::RegisterSink() // Purpose: // Registers an IHXClientStatsSink object with the manager. // The sink is then able to receive notifications. // Arguments: // pSink - IN - IHXClientStatsSink object to register. /////////////////////////////////////////////////////////////////////////// STDMETHOD(RegisterSink) (THIS_ IHXClientStatsSink* pSink) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::RemoveSink() // Purpose: // Removes an IHXClientStatsSink object from the manager. // Arguments: // pSink - IN - IHXClientStatsSink object to remove. /////////////////////////////////////////////////////////////////////////// STDMETHOD(RemoveSink) (THIS_ IHXClientStatsSink* pSink) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::GetClient() // Purpose: // Returns an IHXClientStats object, given a client ID. // Arguments: // ulClientId - IN - Conn id of client. /////////////////////////////////////////////////////////////////////////// STDMETHOD_(IHXClientStats*, GetClient) (THIS_ UINT32 ulClientId) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::AddClient() // Purpose: // Adds an IHXClientStats object to the manager list. To be used // when clients connect. // Arguments: // ulClientId - IN - Conn id of client. // pClient - IN - Pointer to clientstats object to add. // /////////////////////////////////////////////////////////////////////////// STDMETHOD(AddClient) (THIS_ IHXClientStats* pClient) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::RemoveClient() // Purpose: // Removes an IHXClientStats object from the manager list. To be used // when clients disconnect. // Arguments: // ulClientId - Conn id of client. /////////////////////////////////////////////////////////////////////////// STDMETHOD(RemoveClient) (THIS_ UINT32 ulClientId) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::GetClientCount() // Purpose: // Calls a sink back, passing info about all IHXClientStats objects // that the manager currently knows about. // Arguments: // pSink - IN - IHXClientStatsSink object to callback. /////////////////////////////////////////////////////////////////////////// STDMETHOD_(UINT32, GetClientCount) (THIS) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::UseRegistryForStats() // Purpose: // Returns TRUE if the server is configured to use the registry for // client stats. // Arguments: // void /////////////////////////////////////////////////////////////////////////// STDMETHOD_(BOOL, UseRegistryForStats) (THIS) PURE; /////////////////////////////////////////////////////////////////////////// // Method: // IHXClientStatsManager::ScheduleSinkNotifications() // Purpose: // Allows clients of the StatsMgr to notify stat sinks of important // state changes // Arguments: // ulClientId - IN - Conn id of client. // pClient - IN - Pointer to clientstats object to add. /////////////////////////////////////////////////////////////////////////// STDMETHOD(ScheduleSinkNotifications)(THIS_ IHXClientStats* pClient, IHXSessionStats* pSession, ClientStatsEvent nEvent) PURE;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -