IWMSPlayer::get_NetworkAddress

banner art

Previous Next

IWMSPlayer::get_NetworkAddress

The get_NetworkAddress method retrieves the network address of the client that is receiving content from the server.

Syntax

  HRESULT get_NetworkAddress(
  BSTR*  pVal
);

Parameters

pVal

[out] Pointer to a BSTR containing the network address.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Return code Number Meaning
E_POINTER 0x80004003 pVal is a NULL pointer argument.

Remarks

The socket on the Windows Media server returns the network address. Therefore, the address can be that of the player receiving the content, but it can also be the address of the firewall, the network address translator, or the router, if these are in the network path.

Example Code

#include <windows.h>
#include <atlbase.h>    // Includes CComBSTR and CComVariant.
#include "wmsserver.h"

// Declare variables and interfaces.
IWMSServer      *pServer;
IWMSPlayers     *pPlayers;
IWMSPlayer      *pPlayer;

HRESULT         hr;
CComVariant     varIndex;
CComBSTR        bstrAddress;
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 an IWMSPlayers interface
// and retrieve the total count of current connections.
hr = pServer->get_Players(&pPlayers);
if (FAILED(hr)) goto EXIT;
hr = pPlayers->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve information about each client connection.
for (long x = 0; x < lCount; x++)
{
    varIndex = x;
    hr = pPlayers->get_Item(varIndex, &pPlayer);
    if (FAILED(hr)) goto EXIT;

    // Retrieve the IP address of the client.
    hr = pPlayer->get_NetworkAddress(&bstrAddress);
    if (FAILED(hr)) goto EXIT;

    // Release temporary COM objects.
    pPlayer->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

Previous Next