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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_WTSAPI32_H
20 #define __WINE_WTSAPI32_H
27 typedef enum _WTS_VIRTUAL_CLASS
33 typedef enum tagWTS_INFO_CLASS
51 WTSClientProtocolType
,
54 typedef enum _WTS_CONNECTSTATE_CLASS
66 } WTS_CONNECTSTATE_CLASS
;
68 typedef enum _WTS_CONFIG_CLASS
70 WTSUserConfigInitialProgram
,
71 WTSUserConfigWorkingDirectory
,
72 WTSUserConfigInheritInitialProgram
,
73 WTSUserConfigAllowLogonTerminalServer
,
74 WTSUserConfigTimeoutSettingsConnections
,
75 WTSUserConfigTimeoutSettingsDisconnections
,
76 WTSUserConfigTimeoutSettingsIdle
,
77 WTSUserConfigDeviceClientDrives
,
78 WTSUserConfigDeviceClientPrinters
,
79 WTSUserConfigDeviceClientDefaultPrinter
,
80 WTSUserConfigBrokenTimeoutSettings
,
81 WTSUserConfigModemCallbackSettings
,
82 WTSUserConfigModemCallbackPhoneNumber
,
83 WTSUserConfigShadowSettings
,
84 WTSUserConfigTerminalServerProfilePath
,
85 WTSUserConfigTerminalServerHomeDirectory
,
86 WTSUserConfigfTerminalServerRemoteHomeDir
89 typedef struct _WTS_PROCESS_INFOA
95 } WTS_PROCESS_INFOA
, *PWTS_PROCESS_INFOA
;
97 typedef struct _WTS_PROCESS_INFOW
103 } WTS_PROCESS_INFOW
, *PWTS_PROCESS_INFOW
;
105 DECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO
)
106 DECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO
)
108 typedef struct _WTS_SESSION_INFOA
111 LPSTR pWinStationName
;
112 WTS_CONNECTSTATE_CLASS State
;
113 } WTS_SESSION_INFOA
, *PWTS_SESSION_INFOA
;
115 typedef struct _WTS_SESSION_INFOW
118 LPWSTR pWinStationName
;
119 WTS_CONNECTSTATE_CLASS State
;
120 } WTS_SESSION_INFOW
, *PWTS_SESSION_INFOW
;
122 DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO
)
123 DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO
)
125 typedef struct _WTS_SERVER_INFOA
128 } WTS_SERVER_INFOA
, *PWTS_SERVER_INFOA
;
130 typedef struct _WTS_SERVER_INFOW
133 } WTS_SERVER_INFOW
, *PWTS_SERVER_INFOW
;
135 DECL_WINELIB_TYPE_AW(WTS_SERVER_INFO
)
136 DECL_WINELIB_TYPE_AW(PWTS_SERVER_INFO
)
138 void WINAPI
WTSCloseServer(HANDLE
);
139 BOOL WINAPI
WTSConnectSessionA(ULONG
, ULONG
, PSTR
, BOOL
);
140 BOOL WINAPI
WTSConnectSessionW(ULONG
, ULONG
, PWSTR
, BOOL
);
141 #define WTSConnectSession WINELIB_NAME_AW(WTSConnectSession)
142 BOOL WINAPI
WTSDisconnectSession(HANDLE
, DWORD
, BOOL
);
143 BOOL WINAPI
WTSEnumerateProcessesA(HANDLE
, DWORD
, DWORD
, PWTS_PROCESS_INFOA
*, DWORD
*);
144 BOOL WINAPI
WTSEnumerateProcessesW(HANDLE
, DWORD
, DWORD
, PWTS_PROCESS_INFOW
*, DWORD
*);
145 #define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses)
146 BOOL WINAPI
WTSEnumerateServersA( LPSTR
, DWORD
, DWORD
, PWTS_SERVER_INFOA
*, DWORD
*);
147 BOOL WINAPI
WTSEnumerateServersW( LPWSTR
, DWORD
, DWORD
, PWTS_SERVER_INFOW
*, DWORD
*);
148 #define WTSEnumerateServers WINELIB_NAME_AW(WTSEnumerateServers)
149 BOOL WINAPI
WTSEnumerateSessionsA(HANDLE
, DWORD
, DWORD
, PWTS_SESSION_INFOA
*, DWORD
*);
150 BOOL WINAPI
WTSEnumerateSessionsW(HANDLE
, DWORD
, DWORD
, PWTS_SESSION_INFOW
*, DWORD
*);
151 #define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
152 void WINAPI
WTSFreeMemory(PVOID
);
153 HANDLE WINAPI
WTSOpenServerA(LPSTR
);
154 HANDLE WINAPI
WTSOpenServerW(LPWSTR
);
155 #define WTSOpenServer WINELIB_NAME_AW(WTSOpenServer)
156 BOOL WINAPI
WTSQuerySessionInformationA(HANDLE
, DWORD
, WTS_INFO_CLASS
, LPSTR
*, DWORD
*);
157 BOOL WINAPI
WTSQuerySessionInformationW(HANDLE
, DWORD
, WTS_INFO_CLASS
, LPWSTR
*, DWORD
*);
158 #define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation)
159 BOOL WINAPI
WTSQueryUserConfigA(LPSTR
,LPSTR
,WTS_CONFIG_CLASS
,LPSTR
*,DWORD
*);
160 BOOL WINAPI
WTSQueryUserConfigW(LPWSTR
,LPWSTR
,WTS_CONFIG_CLASS
,LPWSTR
*,DWORD
*);
161 #define WTSQueryUserConfig WINELIB_NAME_AW(WTSQueryUserConfig)
162 BOOL WINAPI
WTSQueryUserToken(ULONG
, PHANDLE
);
163 BOOL WINAPI
WTSRegisterSessionNotification(HWND
, DWORD
);
164 BOOL WINAPI
WTSRegisterSessionNotificationEx(HANDLE
, HWND
, DWORD
);
165 BOOL WINAPI
WTSStartRemoteControlSessionA(LPSTR
, ULONG
, BYTE
, USHORT
);
166 BOOL WINAPI
WTSStartRemoteControlSessionW(LPWSTR
, ULONG
, BYTE
, USHORT
);
167 #define WTSStartRemoteControlSession WINELIB_NAME_AW(WTSStartRemoteControlSession)
168 BOOL WINAPI
WTSStopRemoteControlSession(ULONG
);
169 BOOL WINAPI
WTSTerminateProcess(HANDLE
, DWORD
, DWORD
);
170 BOOL WINAPI
WTSUnRegisterSessionNotification(HWND
);
171 BOOL WINAPI
WTSUnRegisterSessionNotificationEx(HANDLE
, HWND
);
172 BOOL WINAPI
WTSWaitSystemEvent(HANDLE
, DWORD
, DWORD
*);