Define WINUSERAPI.
[wine/hacks.git] / include / wtsapi32.h
blob99e8f14b03221bc459af918040169fd42b246dfb
1 /*
2 * Copyright 2005 Ulrich Czekalla (For CodeWeavers)
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_WTSAPI32_H
20 #define __WINE_WTSAPI32_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
27 typedef enum tagWTS_INFO_CLASS
29 WTSInitialProgram,
30 WTSApplicationName,
31 WTSWorkingDirectory,
32 WTSOEMId,
33 WTSSessionId,
34 WTSUserName,
35 WTSWinStationName,
36 WTSDomainName,
37 WTSConnectState,
38 WTSClientBuildNumber,
39 WTSClientName,
40 WTSClientDirectory,
41 WTSClientProductId,
42 WTSClientHardwareId,
43 WTSClientAddress,
44 WTSClientDisplay,
45 WTSClientProtocolType,
46 } WTS_INFO_CLASS;
48 typedef enum _WTS_CONNECTSTATE_CLASS
50 WTSActive,
51 WTSConnected,
52 WTSConnectQuery,
53 WTSShadow,
54 WTSDisconnected,
55 WTSIdle,
56 WTSListen,
57 WTSReset,
58 WTSDown,
59 WTSInit
60 } WTS_CONNECTSTATE_CLASS;
62 typedef struct _WTS_PROCESS_INFOA
64 DWORD SessionId;
65 DWORD ProcessId;
66 LPSTR pProcessName;
67 PSID pUserSid;
68 } WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA;
70 typedef struct _WTS_PROCESS_INFOW
72 DWORD SessionId;
73 DWORD ProcessId;
74 LPWSTR pProcessName;
75 PSID pUserSid;
76 } WTS_PROCESS_INFOW, *PWTS_PROCESS_INFOW;
78 typedef struct _WTS_SESSION_INFOA
80 DWORD SessionId;
81 LPSTR pWinStationName;
82 WTS_CONNECTSTATE_CLASS State;
83 } WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
85 typedef struct _WTS_SESSION_INFOW
87 DWORD SessionId;
88 LPWSTR pWinStationName;
89 WTS_CONNECTSTATE_CLASS State;
90 } WTS_SESSION_INFOW, *PWTS_SESSION_INFOW;
92 void WINAPI WTSCloseServer(HANDLE);
93 BOOL WINAPI WTSDisconnectSession(HANDLE, DWORD, BOOL);
94 BOOL WINAPI WTSEnumerateProcessesA(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOA *, DWORD *);
95 BOOL WINAPI WTSEnumerateProcessesW(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOW *, DWORD *);
96 #define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses)
97 BOOL WINAPI WTSEnumerateSessionsA(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOA *, DWORD *);
98 BOOL WINAPI WTSEnumerateSessionsW(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOW *, DWORD *);
99 #define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
100 BOOL WINAPI WTSQuerySessionInformationA(HANDLE, DWORD, WTS_INFO_CLASS, LPSTR *, DWORD *);
101 BOOL WINAPI WTSQuerySessionInformationW(HANDLE, DWORD, WTS_INFO_CLASS, LPWSTR *, DWORD *);
102 #define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation)
103 BOOL WINAPI WTSWaitSystemEvent(HANDLE, DWORD, DWORD*);
105 #ifdef __cplusplus
107 #endif
109 #endif