3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2005 Ulrich Czekalla (For CodeWeavers)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_WTSAPI32_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_WTSAPI32_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _WTS_VIRTUAL_CLASS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSVirtualClientData,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSVirtualFileHandle
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_VIRTUAL_CLASS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum tagWTS_INFO_CLASS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSInitialProgram,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSApplicationName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSWorkingDirectory,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSOEMId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSSessionId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSWinStationName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSDomainName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSConnectState,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientBuildNumber,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientDirectory,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientProductId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientHardwareId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientAddress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientDisplay,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSClientProtocolType,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_INFO_CLASS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _WTS_CONNECTSTATE_CLASS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSActive,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSConnected,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSConnectQuery,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSShadow,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSDisconnected,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSIdle,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSListen,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSReset,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSDown,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSInit
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_CONNECTSTATE_CLASS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _WTS_CONFIG_CLASS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigInitialProgram,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigWorkingDirectory,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigInheritInitialProgram,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigAllowLogonTerminalServer,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigTimeoutSettingsConnections,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigTimeoutSettingsDisconnections,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigTimeoutSettingsIdle,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigDeviceClientDrives,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigDeviceClientPrinters,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigDeviceClientDefaultPrinter,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigBrokenTimeoutSettings,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigModemCallbackSettings,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigModemCallbackPhoneNumber,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigShadowSettings,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigTerminalServerProfilePath,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigTerminalServerHomeDirectory,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTSUserConfigfTerminalServerRemoteHomeDir
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_CONFIG_CLASS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_PROCESS_INFOA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD SessionId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD ProcessId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR pProcessName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSID pUserSid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_PROCESS_INFOW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD SessionId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD ProcessId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR pProcessName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSID pUserSid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_PROCESS_INFOW, *PWTS_PROCESS_INFOW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_SESSION_INFOA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD SessionId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR pWinStationName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTS_CONNECTSTATE_CLASS State;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_SESSION_INFOW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD SessionId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR pWinStationName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WTS_CONNECTSTATE_CLASS State;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_SESSION_INFOW, *PWTS_SESSION_INFOW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(WTS_SESSION_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_SERVER_INFOA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR pServerName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_SERVER_INFOA, *PWTS_SERVER_INFOA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _WTS_SERVER_INFOW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR pServerName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} WTS_SERVER_INFOW, *PWTS_SERVER_INFOW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(WTS_SERVER_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PWTS_SERVER_INFO)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncvoid WINAPI WTSCloseServer(HANDLE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSConnectSessionA(ULONG, ULONG, PSTR, BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSConnectSessionW(ULONG, ULONG, PWSTR, BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSConnectSession WINELIB_NAME_AW(WTSConnectSession)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSDisconnectSession(HANDLE, DWORD, BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateProcessesA(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOA *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateProcessesW(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOW *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateServersA( LPSTR, DWORD, DWORD, PWTS_SERVER_INFOA*, DWORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateServersW( LPWSTR, DWORD, DWORD, PWTS_SERVER_INFOW*, DWORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSEnumerateServers WINELIB_NAME_AW(WTSEnumerateServers)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateSessionsA(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOA *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSEnumerateSessionsW(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOW *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncvoid WINAPI WTSFreeMemory(PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHANDLE WINAPI WTSOpenServerA(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHANDLE WINAPI WTSOpenServerW(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSOpenServer WINELIB_NAME_AW(WTSOpenServer)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSQuerySessionInformationA(HANDLE, DWORD, WTS_INFO_CLASS, LPSTR *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSQuerySessionInformationW(HANDLE, DWORD, WTS_INFO_CLASS, LPWSTR *, DWORD *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSQueryUserConfigA(LPSTR,LPSTR,WTS_CONFIG_CLASS,LPSTR*,DWORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSQueryUserConfigW(LPWSTR,LPWSTR,WTS_CONFIG_CLASS,LPWSTR*,DWORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSQueryUserConfig WINELIB_NAME_AW(WTSQueryUserConfig)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSQueryUserToken(ULONG, PHANDLE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSRegisterSessionNotification(HWND, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSRegisterSessionNotificationEx(HANDLE, HWND, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSStartRemoteControlSessionA(LPSTR, ULONG, BYTE, USHORT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSStartRemoteControlSessionW(LPWSTR, ULONG, BYTE, USHORT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WTSStartRemoteControlSession WINELIB_NAME_AW(WTSStartRemoteControlSession)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSStopRemoteControlSession(ULONG);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSTerminateProcess(HANDLE, DWORD, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSUnRegisterSessionNotification(HWND);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSUnRegisterSessionNotificationEx(HANDLE, HWND);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI WTSWaitSystemEvent(HANDLE, DWORD, DWORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif