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 tagWTS_INFO_CLASS
45 WTSClientProtocolType
,
48 typedef enum _WTS_CONNECTSTATE_CLASS
60 } WTS_CONNECTSTATE_CLASS
;
62 typedef enum _WTS_CONFIG_CLASS
64 WTSUserConfigInitialProgram
,
65 WTSUserConfigWorkingDirectory
,
66 WTSUserConfigInheritInitialProgram
,
67 WTSUserConfigAllowLogonTerminalServer
,
68 WTSUserConfigTimeoutSettingsConnections
,
69 WTSUserConfigTimeoutSettingsDisconnections
,
70 WTSUserConfigTimeoutSettingsIdle
,
71 WTSUserConfigDeviceClientDrives
,
72 WTSUserConfigDeviceClientPrinters
,
73 WTSUserConfigDeviceClientDefaultPrinter
,
74 WTSUserConfigBrokenTimeoutSettings
,
75 WTSUserConfigModemCallbackSettings
,
76 WTSUserConfigModemCallbackPhoneNumber
,
77 WTSUserConfigShadowSettings
,
78 WTSUserConfigTerminalServerProfilePath
,
79 WTSUserConfigTerminalServerHomeDirectory
,
80 WTSUserConfigfTerminalServerRemoteHomeDir
83 typedef struct _WTS_PROCESS_INFOA
89 } WTS_PROCESS_INFOA
, *PWTS_PROCESS_INFOA
;
91 typedef struct _WTS_PROCESS_INFOW
97 } WTS_PROCESS_INFOW
, *PWTS_PROCESS_INFOW
;
99 DECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO
)
100 DECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO
)
102 typedef struct _WTS_SESSION_INFOA
105 LPSTR pWinStationName
;
106 WTS_CONNECTSTATE_CLASS State
;
107 } WTS_SESSION_INFOA
, *PWTS_SESSION_INFOA
;
109 typedef struct _WTS_SESSION_INFOW
112 LPWSTR pWinStationName
;
113 WTS_CONNECTSTATE_CLASS State
;
114 } WTS_SESSION_INFOW
, *PWTS_SESSION_INFOW
;
116 DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO
)
117 DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO
)
119 typedef struct _WTS_SERVER_INFOA
122 } WTS_SERVER_INFOA
, *PWTS_SERVER_INFOA
;
124 typedef struct _WTS_SERVER_INFOW
127 } WTS_SERVER_INFOW
, *PWTS_SERVER_INFOW
;
129 DECL_WINELIB_TYPE_AW(WTS_SERVER_INFO
)
130 DECL_WINELIB_TYPE_AW(PWTS_SERVER_INFO
)
132 void WINAPI
WTSCloseServer(HANDLE
);
133 BOOL WINAPI
WTSDisconnectSession(HANDLE
, DWORD
, BOOL
);
134 BOOL WINAPI
WTSEnumerateProcessesA(HANDLE
, DWORD
, DWORD
, PWTS_PROCESS_INFOA
*, DWORD
*);
135 BOOL WINAPI
WTSEnumerateProcessesW(HANDLE
, DWORD
, DWORD
, PWTS_PROCESS_INFOW
*, DWORD
*);
136 #define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses)
137 BOOL WINAPI
WTSEnumerateServersA( LPSTR
, DWORD
, DWORD
, PWTS_SERVER_INFOA
*, DWORD
*);
138 BOOL WINAPI
WTSEnumerateServersW( LPWSTR
, DWORD
, DWORD
, PWTS_SERVER_INFOW
*, DWORD
*);
139 #define WTSEnumerateServers WINELIB_NAME_AW(WTSEnumerateServers)
140 BOOL WINAPI
WTSEnumerateSessionsA(HANDLE
, DWORD
, DWORD
, PWTS_SESSION_INFOA
*, DWORD
*);
141 BOOL WINAPI
WTSEnumerateSessionsW(HANDLE
, DWORD
, DWORD
, PWTS_SESSION_INFOW
*, DWORD
*);
142 #define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
143 void WINAPI
WTSFreeMemory(PVOID
);
144 HANDLE WINAPI
WTSOpenServerA(LPSTR
);
145 HANDLE WINAPI
WTSOpenServerW(LPWSTR
);
146 #define WTSOpenServer WINELIB_NAME_AW(WTSOpenServer)
147 BOOL WINAPI
WTSQuerySessionInformationA(HANDLE
, DWORD
, WTS_INFO_CLASS
, LPSTR
*, DWORD
*);
148 BOOL WINAPI
WTSQuerySessionInformationW(HANDLE
, DWORD
, WTS_INFO_CLASS
, LPWSTR
*, DWORD
*);
149 #define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation)
150 BOOL WINAPI
WTSQueryUserConfigA(LPSTR
,LPSTR
,WTS_CONFIG_CLASS
,LPSTR
*,DWORD
*);
151 BOOL WINAPI
WTSQueryUserConfigW(LPWSTR
,LPWSTR
,WTS_CONFIG_CLASS
,LPWSTR
*,DWORD
*);
152 #define WTSQueryUserConfig WINELIB_NAME_AW(WTSQueryUserConfig)
153 BOOL WINAPI
WTSQueryUserToken(ULONG
, PHANDLE
);
154 BOOL WINAPI
WTSRegisterSessionNotification(HWND
, DWORD
);
155 BOOL WINAPI
WTSRegisterSessionNotificationEx(HANDLE
, HWND
, DWORD
);
156 BOOL WINAPI
WTSTerminateProcess(HANDLE
, DWORD
, DWORD
);
157 BOOL WINAPI
WTSUnRegisterSessionNotification(HWND
);
158 BOOL WINAPI
WTSUnRegisterSessionNotificationEx(HANDLE
, HWND
);
159 BOOL WINAPI
WTSWaitSystemEvent(HANDLE
, DWORD
, DWORD
*);