Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
.gif)
| 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 |