2 * Copyright (C) 2015 Austin English
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #define WINSTATIONNAME_LENGTH 32
23 typedef WCHAR WINSTATIONNAME
[WINSTATIONNAME_LENGTH
+ 1];
25 typedef enum _WINSTATIONSTATECLASS
37 } WINSTATIONSTATECLASS
;
39 typedef struct _SESSIONIDW
46 WINSTATIONNAME WinStationName
;
47 WINSTATIONSTATECLASS State
;
48 } SESSIONIDW
, *PSESSIONIDW
;
50 typedef struct _TS_SYS_PROCESS_INFORMATION
52 ULONG NextEntryOffset
;
53 ULONG NumberOfThreads
;
54 LARGE_INTEGER SpareLi1
;
55 LARGE_INTEGER SpareLi2
;
56 LARGE_INTEGER SpareLi3
;
57 LARGE_INTEGER CreateTime
;
58 LARGE_INTEGER UserTime
;
59 LARGE_INTEGER KernelTime
;
60 UNICODE_STRING ImageName
;
62 ULONG UniqueProcessId
;
63 ULONG InheritedFromUniqueProcessId
;
67 SIZE_T PeakVirtualSize
;
70 ULONG PeakWorkingSetSize
;
72 SIZE_T QuotaPeakPagedPoolUsage
;
73 SIZE_T QuotaPagedPoolUsage
;
74 SIZE_T QuotaPeakNonPagedPoolUsage
;
75 SIZE_T QuotaNonPagedPoolUsage
;
77 SIZE_T PeakPagefileUsage
;
78 SIZE_T PrivatePageCount
;
79 } TS_SYS_PROCESS_INFORMATION
, *PTS_SYS_PROCESS_INFORMATION
;
81 typedef struct _TS_ALL_PROCESSES_INFO
83 PTS_SYS_PROCESS_INFORMATION pTsProcessInfo
;
86 [size_is(SizeOfSid
)] PBYTE pSid
;
90 } TS_ALL_PROCESSES_INFO
, *PTS_ALL_PROCESSES_INFO
;
92 BOOLEAN WINAPI
WinStationEnumerateW(HANDLE
,PSESSIONIDW
*,PULONG
);
93 BOOLEAN WINAPI
WinStationGetAllProcesses(HANDLE
,ULONG
,PULONG
,PTS_ALL_PROCESSES_INFO
*);
94 BOOLEAN WINAPI
WinStationGetProcessSid(HANDLE
,ULONG
,FILETIME
*,PVOID
,PULONG
);
95 BOOLEAN WINAPI
WinStationQueryInformationW(HANDLE
,ULONG
,WINSTATIONINFOCLASS
,PVOID
,ULONG
,PULONG
);
96 BOOLEAN WINAPI
WinStationRegisterConsoleNotification(HANDLE
,HWND
,ULONG
);
98 #endif /* _WINSTA_H */