include: add initial winsta.h

Austin English austinenglish at gmail.com
Tue May 26 22:21:28 CDT 2015


-- 
-Austin
-------------- next part --------------
commit 8e0d333eabcf444fc753d82393c5f48b3c6a385f
Author: Austin English <austinenglish at gmail.com>
Date:   Tue May 26 21:54:51 2015 -0500

    include: add initial winsta.h

diff --git a/dlls/winsta/main.c b/dlls/winsta/main.c
index 46a4ce7..0b51795 100644
--- a/dlls/winsta/main.c
+++ b/dlls/winsta/main.c
@@ -23,6 +23,7 @@
 #include "winbase.h"
 #include "winternl.h"
 #include "wine/debug.h"
+#include "winsta.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(winsta);
 
@@ -68,7 +69,7 @@ BOOLEAN WINAPI WinStationRegisterConsoleNotification( HANDLE server, HWND hwnd,
 }
 
 BOOLEAN WINAPI WinStationGetAllProcesses( HANDLE server, ULONG level,
-                                          ULONG *process_count, void *info )
+                                          ULONG *process_count, PTS_ALL_PROCESSES_INFO *info )
 {
     FIXME( "%p %u %p %p\n", server, level, process_count, info );
     *process_count = 0;
@@ -76,10 +77,10 @@ BOOLEAN WINAPI WinStationGetAllProcesses( HANDLE server, ULONG level,
     return FALSE;
 }
 
-BOOL WINAPI WinStationGetProcessSid( PVOID a, HANDLE server, DWORD process_id, PFILETIME process_start_time,
-                                     PBYTE process_user_sid, PDWORD sid_size)
+BOOLEAN WINAPI WinStationGetProcessSid( HANDLE server, ULONG process_id, FILETIME *process_start_time,
+                                     PVOID process_user_sid, PULONG sid_size)
 {
-    FIXME( "(%p, %p, %d, %p, %p, %p): stub\n", a, server, process_id, process_start_time, process_user_sid, sid_size);
+    FIXME( "(%p, %d, %p, %p, %p): stub\n", server, process_id, process_start_time, process_user_sid, sid_size);
     SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
     return FALSE;
 }
diff --git a/include/Makefile.in b/include/Makefile.in
index ad87f47..f6dd7e6 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -628,6 +628,7 @@ SRCDIR_INCLUDES = \
 	winsock.h \
 	winsock2.h \
 	winspool.h \
+	winsta.h \
 	winstring.h \
 	winsvc.h \
 	wintab.h \
diff --git a/include/winsta.h b/include/winsta.h
new file mode 100644
index 0000000..f7e2d12
--- /dev/null
+++ b/include/winsta.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2015 Austin English
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef _WINSTA_H
+#define _WINSTA_H
+
+#define WINSTATIONNAME_LENGTH 32
+typedef WCHAR WINSTATIONNAME[WINSTATIONNAME_LENGTH + 1];
+
+typedef enum _WINSTATIONSTATECLASS
+{
+  State_Active,
+  State_Connected,
+  State_ConnectQuery,
+  State_Shadow,
+  State_Disconnected,
+  State_Idle,
+  State_Listen,
+  State_Reset,
+  State_Down,
+  State_Init
+} WINSTATIONSTATECLASS;
+
+typedef struct _SESSIONIDW
+{
+  union
+  {
+    ULONG SessionId;
+    ULONG LogonId;
+  };
+  WINSTATIONNAME WinStationName;
+  WINSTATIONSTATECLASS State;
+} SESSIONIDW, *PSESSIONIDW;
+
+typedef struct _TS_SYS_PROCESS_INFORMATION
+{
+  ULONG NextEntryOffset;
+  ULONG NumberOfThreads;
+  LARGE_INTEGER SpareLi1;
+  LARGE_INTEGER SpareLi2;
+  LARGE_INTEGER SpareLi3;
+  LARGE_INTEGER CreateTime;
+  LARGE_INTEGER UserTime;
+  LARGE_INTEGER KernelTime;
+  UNICODE_STRING ImageName;
+  LONG BasePriority;
+  ULONG UniqueProcessId;
+  ULONG InheritedFromUniqueProcessId;
+  ULONG HandleCount;
+  ULONG SessionId;
+  ULONG SpareUl3;
+  SIZE_T PeakVirtualSize;
+  SIZE_T VirtualSize;
+  ULONG PageFaultCount;
+  ULONG PeakWorkingSetSize;
+  ULONG WorkingSetSize;
+  SIZE_T QuotaPeakPagedPoolUsage;
+  SIZE_T QuotaPagedPoolUsage;
+  SIZE_T QuotaPeakNonPagedPoolUsage;
+  SIZE_T QuotaNonPagedPoolUsage;
+  SIZE_T PagefileUsage;
+  SIZE_T PeakPagefileUsage;
+  SIZE_T PrivatePageCount;
+} TS_SYS_PROCESS_INFORMATION, *PTS_SYS_PROCESS_INFORMATION;
+
+typedef struct _TS_ALL_PROCESSES_INFO
+{
+  PTS_SYS_PROCESS_INFORMATION process_info;
+  ULONG sid_size;
+  PSID sid;
+} TS_ALL_PROCESSES_INFO, *PTS_ALL_PROCESSES_INFO;
+
+BOOLEAN WINAPI WinStationEnumerateW(HANDLE,PSESSIONIDW *,PULONG);
+BOOLEAN WINAPI WinStationGetAllProcesses(HANDLE,ULONG,PULONG,PTS_ALL_PROCESSES_INFO *);
+BOOLEAN WINAPI WinStationGetProcessSid(HANDLE,ULONG,FILETIME *,PVOID,PULONG);
+BOOLEAN WINAPI WinStationQueryInformationW(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG);
+BOOLEAN WINAPI WinStationRegisterConsoleNotification(HANDLE,HWND,ULONG);
+
+#endif /* _WINSTA_H */


More information about the wine-patches mailing list