ntdll: Load .so builtin modules without using libwine.
[wine/zf.git] / dlls / winsta / winsta.h
blobd908aa855cc9359ebbe6bcc95881e954a01e402f
1 /*
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
19 #ifndef _WINSTA_H
20 #define _WINSTA_H
22 #define WINSTATIONNAME_LENGTH 32
23 typedef WCHAR WINSTATIONNAME[WINSTATIONNAME_LENGTH + 1];
25 typedef enum _WINSTATIONSTATECLASS
27 State_Active,
28 State_Connected,
29 State_ConnectQuery,
30 State_Shadow,
31 State_Disconnected,
32 State_Idle,
33 State_Listen,
34 State_Reset,
35 State_Down,
36 State_Init
37 } WINSTATIONSTATECLASS;
39 typedef struct _SESSIONIDW
41 union
43 ULONG SessionId;
44 ULONG LogonId;
45 } DUMMYUNIONNAME;
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;
61 LONG BasePriority;
62 ULONG UniqueProcessId;
63 ULONG InheritedFromUniqueProcessId;
64 ULONG HandleCount;
65 ULONG SessionId;
66 ULONG SpareUl3;
67 SIZE_T PeakVirtualSize;
68 SIZE_T VirtualSize;
69 ULONG PageFaultCount;
70 ULONG PeakWorkingSetSize;
71 ULONG WorkingSetSize;
72 SIZE_T QuotaPeakPagedPoolUsage;
73 SIZE_T QuotaPagedPoolUsage;
74 SIZE_T QuotaPeakNonPagedPoolUsage;
75 SIZE_T QuotaNonPagedPoolUsage;
76 SIZE_T PagefileUsage;
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;
84 DWORD SizeOfSid;
85 #ifdef MIDL_PASS
86 [size_is(SizeOfSid)] PBYTE pSid;
87 #else
88 PBYTE pSid;
89 #endif
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);
97 BOOLEAN WINAPI WinStationUnRegisterConsoleNotification(HANDLE,HWND);
99 #endif /* _WINSTA_H */