Add some more Windows Terminal Server API definitions.
diff --git a/include/wtsapi32.h b/include/wtsapi32.h
index 99e8f14..b8e9323 100644
--- a/include/wtsapi32.h
+++ b/include/wtsapi32.h
@@ -59,6 +59,27 @@
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 @@
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 @@
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