IWMSOutgoingDistributionConnection::get_Status
Previous | Next |
IWMSOutgoingDistributionConnection::get_Status
The get_Status method retrieves the status of the client.
Syntax
HRESULT get_Status( WMS_CLIENT_STATUS* pVal );
Parameters
pVal
[out] Pointer to a member of a WMS_CLIENT_STATUS enumeration type that indicates the current state of the client that is connected to this stream. This must be one of the following values.
Value | Description |
WMS_CLIENT_DISCONNECTED | The client has been disconnected. |
WMS_CLIENT_IDLE | The client is connected to the server but no content is being streamed. |
WMS_CLIENT_OPEN | The client is connected to the server and a resource has been opened to stream. Clients that send a pause or stop command will also have this status. |
WMS_CLIENT_STREAMING | The client is connected to the server and content is being streamed. |
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code | Number | Description |
E_POINTER | 0x80004003 | pVal is a NULL pointer argument. |
Remarks
If a client has been disconnected, you can use the IWMSOutgoingDistributionConnections::Refresh method to update the IWMSOutgoingDistributionConnections collection.
Example Code
#include <windows.h> #include <atlbase.h> // Includes CComVariant. #include "wmsserver.h" // Declare variables and interfaces. IWMSServer *pServer; IWMSOutgoingDistributionConnections *pConnections; IWMSOutgoingDistributionConnection *pConnection; HRESULT hr; CComVariant varIndex; long lCount; // Initialize the COM library and retrieve a pointer // to an IWMSServer interface. hr = CoInitialize(NULL); hr = CoCreateInstance(CLSID_WMSServer, NULL, CLSCTX_ALL, IID_IWMSServer, (void **)&pServer); if (FAILED(hr)) goto EXIT; // Retrieve a pointer to a collection of distribution // connections and retrieve the total count of connections. hr = pServer->get_OutgoingDistributionConnections(&pConnections); if (FAILED(hr)) goto EXIT; hr = pConnections->get_Count(&lCount); if (FAILED(hr)) goto EXIT; // Retrieve information about each distribution connection. for (long x = 0; x < lCount; x++) { varIndex = x; hr = pConnections->get_Item(varIndex, &pConnection); if (FAILED(hr)) goto EXIT; // Retrieve the client status. WMS_CLIENT_STATUS pStatus; hr = pConnection->get_Status(&pStatus); if (FAILED(hr)) goto EXIT; switch (pStatus) { case WMS_CLIENT_DISCONNECTED: // TODO: Handle disconnected clients. case WMS_CLIENT_IDLE: // TODO: Handle idle clients. case WMS_CLIENT_OPEN: // TODO: Handle open clients. case WMS_CLIENT_STREAMING: // TODO: Handle streaming clients. } // Release temporary COM objects. pConnection->Release(); } EXIT: // TODO: Release temporary COM objects and uninitialize COM.
Requirements
Header: wmsserver.h.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003 family, Windows Server 2008 family.
See Also
- IWMSOutgoingDistributionConnection Interface
- IWMSOutgoingDistributionConnections Interface
- IWMSOutgoingDistributionConnections::Refresh
Previous | Next |