Print Clients Example for C++
HRESULT PrintClients(IltmsServer* server)
{
HRESULT hr;
long count;
CComPtr<IltmsClients> clients;
// print the clients to stdout
_tprintf(_T("--- Clients ---\n\n"));
hr = server->GetClients(&clients);
if(FAILED(hr))
goto error;
hr = clients->get_Count(&count);
if(FAILED(hr))
goto error;
for(long i = 0; i < count; i++)
{
CComPtr<IltmsClient> client;
CComBSTR ip;
long connections;
DATE connecttime;
hr = clients->Item(i, &client);
if(FAILED(hr))
goto error;
hr = client->get_IPAddress(&ip);
if(FAILED(hr))
goto error;
hr = client->get_Connections(&connections);
if(FAILED(hr))
goto error;
hr = client->get_ConnectionTime(&connecttime);
if(FAILED(hr))
goto error;
// convert to local time
COleDateTime dtu(connecttime);
SYSTEMTIME stu;
dtu.GetAsSystemTime(stu);
SYSTEMTIME st;
SystemTimeToTzSpecificLocalTime(NULL, &stu, &st);
COleDateTime dt(st);
CString sconnecttime = dt.Format(_T("%Y-%m-%d %H:%M:%S"));
_tprintf(_T("Client[%ld]: %s, connections = %ld, connection time = %s\n"), i, (LPCTSTR) CString(ip), connections, (LPCTSTR) sconnecttime);
}
error:
_tprintf(_T("\n"));
return hr;
}