OSDN Git Service

2008-08-19 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
authorironhead <ironhead>
Wed, 20 Aug 2008 02:30:04 +0000 (02:30 +0000)
committerironhead <ironhead>
Wed, 20 Aug 2008 02:30:04 +0000 (02:30 +0000)
        * include/wtsapi32.h (_WTS_INFO_CLASS, _WTS_CONNECTSTATE_CLASS,
        WTSQuerySessionInformation, WTSFreeMemory): Define.

winsup/w32api/ChangeLog
winsup/w32api/include/wtsapi32.h

index 78de884..7c461ab 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-19  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
+
+       * include/wtsapi32.h (_WTS_INFO_CLASS, _WTS_CONNECTSTATE_CLASS,
+       WTSQuerySessionInformation, WTSFreeMemory): Define.
+
 2008-07-25 Bo Yang <techrazy@users.sourceforge.net>
 
        * lib/gdi32.def (SetLayout): Export.
index 9b3dc4d..db2d24b 100644 (file)
@@ -7,12 +7,53 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-       
+
 #if (_WIN32_WINNT >= 0x0501)
-// session notification message
+  // session notification message
 #define WM_WTSSESSION_CHANGE           0x02B1
 
-// session notification message flags
+typedef enum _WTS_INFO_CLASS {
+  WTSInitialProgram       = 0,
+  WTSApplicationName      = 1,
+  WTSWorkingDirectory     = 2,
+  WTSOEMId                = 3,
+  WTSSessionId            = 4,
+  WTSUserName             = 5,
+  WTSWinStationName       = 6,
+  WTSDomainName           = 7,
+  WTSConnectState         = 8,
+  WTSClientBuildNumber    = 9,
+  WTSClientName           = 10,
+  WTSClientDirectory      = 11,
+  WTSClientProductId      = 12,
+  WTSClientHardwareId     = 13,
+  WTSClientAddress        = 14,
+  WTSClientDisplay        = 15,
+  WTSClientProtocolType   = 16,
+  WTSIdleTime             = 17,
+  WTSLogonTime            = 18,
+  WTSIncomingBytes        = 19,
+  WTSOutgoingBytes        = 20,
+  WTSIncomingFrames       = 21,
+  WTSOutgoingFrames       = 22,
+  WTSClientInfo           = 23,
+  WTSSessionInfo          = 24
+} WTS_INFO_CLASS;
+
+typedef enum _WTS_CONNECTSTATE_CLASS {
+  WTSActive,
+  WTSConnected,
+  WTSConnectQuery,
+  WTSShadow,
+  WTSDisconnected,
+  WTSIdle,
+  WTSListen,
+  WTSReset,
+  WTSDown,
+  WTSInit 
+} WTS_CONNECTSTATE_CLASS;
+
+  // session notification message flags
 #define WTS_CONSOLE_CONNECT                    0x1
 #define WTS_CONSOLE_DISCONNECT         0x2
 #define WTS_REMOTE_CONNECT                     0x3
@@ -23,21 +64,33 @@ extern "C" {
 #define WTS_SESSION_UNLOCK                     0x8
 #define WTS_SESSION_REMOTE_CONTROL     0x9
 
-// WTSRegisterSessionNotifiction flags
+  // WTSRegisterSessionNotifiction flags
 #define NOTIFY_FOR_THIS_SESSION                0
 #define NOTIFY_FOR_ALL_SESSIONS                1
 
 BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags);
 BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd);
+BOOL WINAPI WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass,
+                                LPSTR *ppBuffer, DWORD *pBytesReturned);
+BOOL WINAPI WTSQuerySessionInformationW(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass,
+                                LPTSTR *ppBuffer, DWORD *pBytesReturned);
+void WINAPI WTSFreeMemory(PVOID pMemory);
+
+#ifdef UNICODE
+#define WTSQuerySessionInformation WTSQuerySessionInformationW
+#else
+#define WTSQuerySessionInformation WTSQuerySessionInformationA
+#endif
+
 #endif /* _WIN32_WINNT >= 0x0501 */
 
 #if (_WIN32_WINNT >= 0x0500)
 
-// WTSWaitSystemEvent local server handle
+  // WTSWaitSystemEvent local server handle
 #define WTS_CURRENT_SERVER_HANDLE 0
 #define WTS_CURRENT_SESSION       0
 
-// WTSWaitSystemEvent flags
+  // WTSWaitSystemEvent flags
 #define WTS_EVENT_NONE                         0x00000000
 #define WTS_EVENT_CREATE                       0x00000001
 #define WTS_EVENT_DELETE                       0x00000002