diff --git a/include/wtsapi32.h b/include/wtsapi32.h index 99e8f14b032..b8e9323e528 100644 --- a/include/wtsapi32.h +++ b/include/wtsapi32.h @@ -59,6 +59,27 @@ typedef enum _WTS_CONNECTSTATE_CLASS 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; @@ -75,6 +96,9 @@ typedef struct _WTS_PROCESS_INFOW 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; @@ -89,17 +113,46 @@ typedef struct _WTS_SESSION_INFOW 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) +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 WTSTerminateProcess(HANDLE, DWORD, DWORD); +BOOL WINAPI WTSUnRegisterSessionNotification(HWND); BOOL WINAPI WTSWaitSystemEvent(HANDLE, DWORD, DWORD*); #ifdef __cplusplus