| /* | |
| * Copyright 2005 Ulrich Czekalla (For CodeWeavers) | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #ifndef __WINE_WTSAPI32_H | |
| #define __WINE_WTSAPI32_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef enum tagWTS_INFO_CLASS | |
| { | |
| WTSInitialProgram, | |
| WTSApplicationName, | |
| WTSWorkingDirectory, | |
| WTSOEMId, | |
| WTSSessionId, | |
| WTSUserName, | |
| WTSWinStationName, | |
| WTSDomainName, | |
| WTSConnectState, | |
| WTSClientBuildNumber, | |
| WTSClientName, | |
| WTSClientDirectory, | |
| WTSClientProductId, | |
| WTSClientHardwareId, | |
| WTSClientAddress, | |
| WTSClientDisplay, | |
| WTSClientProtocolType, | |
| } WTS_INFO_CLASS; | |
| typedef enum _WTS_CONNECTSTATE_CLASS | |
| { | |
| WTSActive, | |
| WTSConnected, | |
| WTSConnectQuery, | |
| WTSShadow, | |
| WTSDisconnected, | |
| WTSIdle, | |
| WTSListen, | |
| WTSReset, | |
| WTSDown, | |
| WTSInit | |
| } WTS_CONNECTSTATE_CLASS; | |
| typedef enum _WTS_CONFIG_CLASS | |
| { | |
| WTSUserConfigInitialProgram, | |
| WTSUserConfigWorkingDirectory, | |
| WTSUserConfigInheritInitialProgram, | |
| WTSUserConfigAllowLogonTerminalServer, | |
| WTSUserConfigTimeoutSettingsConnections, | |
| WTSUserConfigTimeoutSettingsDisconnections, | |
| WTSUserConfigTimeoutSettingsIdle, | |
| WTSUserConfigDeviceClientDrives, | |
| WTSUserConfigDeviceClientPrinters, | |
| WTSUserConfigDeviceClientDefaultPrinter, | |
| WTSUserConfigBrokenTimeoutSettings, | |
| WTSUserConfigModemCallbackSettings, | |
| WTSUserConfigModemCallbackPhoneNumber, | |
| WTSUserConfigShadowSettings, | |
| WTSUserConfigTerminalServerProfilePath, | |
| WTSUserConfigTerminalServerHomeDirectory, | |
| WTSUserConfigfTerminalServerRemoteHomeDir | |
| } WTS_CONFIG_CLASS; | |
| typedef struct _WTS_PROCESS_INFOA | |
| { | |
| DWORD SessionId; | |
| DWORD ProcessId; | |
| LPSTR pProcessName; | |
| PSID pUserSid; | |
| } WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA; | |
| typedef struct _WTS_PROCESS_INFOW | |
| { | |
| DWORD SessionId; | |
| DWORD ProcessId; | |
| LPWSTR pProcessName; | |
| PSID pUserSid; | |
| } WTS_PROCESS_INFOW, *PWTS_PROCESS_INFOW; | |
| DECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO) | |
| DECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO) | |
| typedef struct _WTS_SESSION_INFOA | |
| { | |
| DWORD SessionId; | |
| LPSTR pWinStationName; | |
| WTS_CONNECTSTATE_CLASS State; | |
| } WTS_SESSION_INFOA, *PWTS_SESSION_INFOA; | |
| typedef struct _WTS_SESSION_INFOW | |
| { | |
| DWORD SessionId; | |
| LPWSTR pWinStationName; | |
| WTS_CONNECTSTATE_CLASS State; | |
| } WTS_SESSION_INFOW, *PWTS_SESSION_INFOW; | |
| DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO) | |
| DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO) | |
| typedef struct _WTS_SERVER_INFOA | |
| { | |
| LPSTR pServerName; | |
| } WTS_SERVER_INFOA, *PWTS_SERVER_INFOA; | |
| typedef struct _WTS_SERVER_INFOW | |
| { | |
| LPWSTR pServerName; | |
| } WTS_SERVER_INFOW, *PWTS_SERVER_INFOW; | |
| DECL_WINELIB_TYPE_AW(WTS_SERVER_INFO) | |
| DECL_WINELIB_TYPE_AW(PWTS_SERVER_INFO) | |
| void WINAPI WTSCloseServer(HANDLE); | |
| BOOL WINAPI WTSDisconnectSession(HANDLE, DWORD, BOOL); | |
| BOOL WINAPI WTSEnumerateProcessesA(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOA *, DWORD *); | |
| BOOL WINAPI WTSEnumerateProcessesW(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOW *, DWORD *); | |
| #define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses) | |
| BOOL WINAPI WTSEnumerateServersA( LPSTR, DWORD, DWORD, PWTS_SERVER_INFOA*, DWORD*); | |
| BOOL WINAPI WTSEnumerateServersW( LPWSTR, DWORD, DWORD, PWTS_SERVER_INFOW*, DWORD*); | |
| #define WTSEnumerateServers WINELIB_NAME_AW(WTSEnumerateServers) | |
| BOOL WINAPI WTSEnumerateSessionsA(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOA *, DWORD *); | |
| BOOL WINAPI WTSEnumerateSessionsW(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOW *, DWORD *); | |
| #define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions) | |
| void WINAPI WTSFreeMemory(PVOID); | |
| HANDLE WINAPI WTSOpenServerA(LPSTR); | |
| HANDLE WINAPI WTSOpenServerW(LPWSTR); | |
| #define WTSOpenServer WINELIB_NAME_AW(WTSOpenServer) | |
| BOOL WINAPI WTSQuerySessionInformationA(HANDLE, DWORD, WTS_INFO_CLASS, LPSTR *, DWORD *); | |
| BOOL WINAPI WTSQuerySessionInformationW(HANDLE, DWORD, WTS_INFO_CLASS, LPWSTR *, DWORD *); | |
| #define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation) | |
| BOOL WINAPI WTSQueryUserConfigA(LPSTR,LPSTR,WTS_CONFIG_CLASS,LPSTR*,DWORD*); | |
| BOOL WINAPI WTSQueryUserConfigW(LPWSTR,LPWSTR,WTS_CONFIG_CLASS,LPWSTR*,DWORD*); | |
| #define WTSQueryUserConfig WINELIB_NAME_AW(WTSQueryUserConfig) | |
| BOOL WINAPI WTSQueryUserToken(ULONG, PHANDLE); | |
| BOOL WINAPI WTSRegisterSessionNotification(HWND, DWORD); | |
| BOOL WINAPI WTSRegisterSessionNotificationEx(HANDLE, HWND, DWORD); | |
| BOOL WINAPI WTSTerminateProcess(HANDLE, DWORD, DWORD); | |
| BOOL WINAPI WTSUnRegisterSessionNotification(HWND); | |
| BOOL WINAPI WTSUnRegisterSessionNotificationEx(HANDLE, HWND); | |
| BOOL WINAPI WTSWaitSystemEvent(HANDLE, DWORD, DWORD*); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |