session agent fixed to work on Windows XP with disabled terminal services
authorVictor Kirhenshtein <victor@netxms.org>
Wed, 14 Sep 2016 14:47:25 +0000 (17:47 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Wed, 14 Sep 2016 14:47:25 +0000 (17:47 +0300)
src/agent/core/session.cpp
src/agent/nxsagent/main.cpp

index 5f5df2b..0bc028a 100644 (file)
@@ -632,7 +632,7 @@ void CommSession::processingThread()
                                        {
                   TCHAR sessionName[256];
                   pMsg->getFieldAsString(VID_NAME, sessionName, 256);
                                        {
                   TCHAR sessionName[256];
                   pMsg->getFieldAsString(VID_NAME, sessionName, 256);
-                  DebugPrintf(m_dwIndex, 6, _T("Take snapshot from session \"%s\""), sessionName);
+                  DebugPrintf(m_dwIndex, 6, _T("Take screenshot from session \"%s\""), sessionName);
                   SessionAgentConnector *conn = AcquireSessionAgentConnector(sessionName);
                   if (conn != NULL)
                   {
                   SessionAgentConnector *conn = AcquireSessionAgentConnector(sessionName);
                   if (conn != NULL)
                   {
index da61a08..be1b3b8 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ** NetXMS Session Agent
 /*
 ** NetXMS Session Agent
-** Copyright (C) 2003-2014 Victor Kirhenshtein
+** Copyright (C) 2003-2016 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -126,6 +126,11 @@ static void Login()
       }
       WTSFreeMemory(state);
    }
       }
       WTSFreeMemory(state);
    }
+   else
+   {
+      TCHAR buffer[1024];
+      _tprintf(_T("WTSQuerySessionInformation(WTSConnectState) failed (%s)\n"), GetSystemErrorText(GetLastError(), buffer, 1024));
+   }
 
    msg.setField(VID_SESSION_STATE, sessionState);
 
 
    msg.setField(VID_SESSION_STATE, sessionState);
 
@@ -144,6 +149,12 @@ static void Login()
       }
       WTSFreeMemory(sessionName);
    }
       }
       WTSFreeMemory(sessionName);
    }
+   else
+   {
+      TCHAR buffer[1024];
+      _tprintf(_T("WTSQuerySessionInformation(WTSWinStationName) failed (%s)\n"), GetSystemErrorText(GetLastError(), buffer, 1024));
+      msg.setField(VID_NAME, _T("Console")); // assume console if session name cannot be read
+   }
 
    TCHAR userName[256];
    size = 256;
 
    TCHAR userName[256];
    size = 256;