| wtsapi32.h (6.0.6001.18000-Windows 6.0) | | wtsapi32.h (6.1.7600.16385-Windows 7.0) |
| | |
| skipping to change at line 39 | | skipping to change at line 39 |
| #define WTS_CURRENT_SERVER ((HANDLE)NULL) | | #define WTS_CURRENT_SERVER ((HANDLE)NULL) |
| #define WTS_CURRENT_SERVER_HANDLE ((HANDLE)NULL) | | #define WTS_CURRENT_SERVER_HANDLE ((HANDLE)NULL) |
| #define WTS_CURRENT_SERVER_NAME (NULL) | | #define WTS_CURRENT_SERVER_NAME (NULL) |
| | |
| /* | | /* |
| * Specifies the current session (SessionId) | | * Specifies the current session (SessionId) |
| */ | | */ |
| #define WTS_CURRENT_SESSION ((DWORD)-1) | | #define WTS_CURRENT_SESSION ((DWORD)-1) |
| | |
| /* | | /* |
|
| | * Specifies any-session (SessionId) |
| | */ |
| | #define WTS_ANY_SESSION ((DWORD)-2) |
| | |
| | /* |
| * Possible pResponse values from WTSSendMessage() | | * Possible pResponse values from WTSSendMessage() |
| */ | | */ |
| #ifndef IDTIMEOUT | | #ifndef IDTIMEOUT |
| #define IDTIMEOUT 32000 | | #define IDTIMEOUT 32000 |
| #endif | | #endif |
| #ifndef IDASYNC | | #ifndef IDASYNC |
| #define IDASYNC 32001 | | #define IDASYNC 32001 |
| #endif | | #endif |
| | |
|
| | #ifndef __HYDRIX_H__ |
| | #define USERNAME_LENGTH 20 |
| | #define CLIENTNAME_LENGTH 20 |
| | #define CLIENTADDRESS_LENGTH 30 |
| | #endif |
| /* | | /* |
| * Shutdown flags | | * Shutdown flags |
| */ | | */ |
| #define WTS_WSD_LOGOFF 0x00000001 // log off all users except | | #define WTS_WSD_LOGOFF 0x00000001 // log off all users except |
| // current user; deletes | | // current user; deletes |
| // WinStations (a reboot is | | // WinStations (a reboot is |
| // required to recreate the | | // required to recreate the |
| // WinStations) | | // WinStations) |
| #define WTS_WSD_SHUTDOWN 0x00000002 // shutdown system | | #define WTS_WSD_SHUTDOWN 0x00000002 // shutdown system |
| #define WTS_WSD_REBOOT 0x00000004 // shutdown and reboot | | #define WTS_WSD_REBOOT 0x00000004 // shutdown and reboot |
| #define WTS_WSD_POWEROFF 0x00000008 // shutdown and power off (on | | #define WTS_WSD_POWEROFF 0x00000008 // shutdown and power off (on |
| // machines that support power | | // machines that support power |
| // off through software) | | // off through software) |
| #define WTS_WSD_FASTREBOOT 0x00000010 // reboot without logging users | | #define WTS_WSD_FASTREBOOT 0x00000010 // reboot without logging users |
| // off or shutting down | | // off or shutting down |
| #define MAX_ELAPSED_TIME_LENGTH 15 | | #define MAX_ELAPSED_TIME_LENGTH 15 |
| #define MAX_DATE_TIME_LENGTH 56 | | #define MAX_DATE_TIME_LENGTH 56 |
| #define WINSTATIONNAME_LENGTH 32 | | #define WINSTATIONNAME_LENGTH 32 |
| #define DOMAIN_LENGTH 17 | | #define DOMAIN_LENGTH 17 |
| | |
|
| | #define WTS_DRIVE_LENGTH 3 |
| | #define WTS_LISTENER_NAME_LENGTH 32 |
| | #define WTS_COMMENT_LENGTH 60 |
| | |
| | /* |
| | * Flags for WTSCreateListener |
| | */ |
| | #define WTS_LISTENER_CREATE 0x00000001 |
| | #define WTS_LISTENER_UPDATE 0x00000010 |
| | |
| | /********************************* |
| | * Listener access values |
| | *********************************/ |
| | #define WTS_SECURITY_QUERY_INFORMATION 0x00000001 |
| | #define WTS_SECURITY_SET_INFORMATION 0x00000002 |
| | #define WTS_SECURITY_RESET 0x00000004 |
| | #define WTS_SECURITY_VIRTUAL_CHANNELS 0x00000008 |
| | #define WTS_SECURITY_REMOTE_CONTROL 0x00000010 |
| | #define WTS_SECURITY_LOGON 0x00000020 |
| | #define WTS_SECURITY_LOGOFF 0x00000040 |
| | #define WTS_SECURITY_MESSAGE 0x00000080 |
| | #define WTS_SECURITY_CONNECT 0x00000100 |
| | #define WTS_SECURITY_DISCONNECT 0x00000200 |
| | |
| | #define WTS_SECURITY_GUEST_ACCESS (WTS_SECURITY_LOGON) |
| | |
| | #define WTS_SECURITY_CURRENT_GUEST_ACCESS (WTS_SECURITY_VIRTUAL_CHANNELS | W |
| | TS_SECURITY_LOGOFF) |
| | |
| | #define WTS_SECURITY_USER_ACCESS (WTS_SECURITY_CURRENT_GUEST_ACCESS |
| | | WTS_SECURITY_QUERY_INFORMATION | WTS_SECURITY_CONNECT ) |
| | |
| | #define WTS_SECURITY_CURRENT_USER_ACCESS (WTS_SECURITY_SET_INFORMATION | WT |
| | S_SECURITY_RESET \ |
| | WTS_SECURITY_VIRTUAL_CHANNELS | W |
| | TS_SECURITY_LOGOFF \ |
| | WTS_SECURITY_DISCONNECT) |
| | |
| | #define WTS_SECURITY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | WTS_SE |
| | CURITY_QUERY_INFORMATION | \ |
| | WTS_SECURITY_SET_INFORMATION | WT |
| | S_SECURITY_RESET | \ |
| | WTS_SECURITY_VIRTUAL_CHANNELS | |
| | WTS_SECURITY_REMOTE_CONTROL | \ |
| | WTS_SECURITY_LOGON | |
| | \ |
| | WTS_SECURITY_MESSAGE | |
| | \ |
| | WTS_SECURITY_CONNECT | WTS_SECURI |
| | TY_DISCONNECT) |
| | |
| /*=================================================================== | | /*=================================================================== |
| == WTS_CONNECTSTATE_CLASS - Session connect state | | == WTS_CONNECTSTATE_CLASS - Session connect state |
| =====================================================================*/ | | =====================================================================*/ |
| | |
| typedef enum _WTS_CONNECTSTATE_CLASS { | | typedef enum _WTS_CONNECTSTATE_CLASS { |
| WTSActive, // User logged on to WinStation | | WTSActive, // User logged on to WinStation |
| WTSConnected, // WinStation connected to client | | WTSConnected, // WinStation connected to client |
| WTSConnectQuery, // In the process of connecting to client | | WTSConnectQuery, // In the process of connecting to client |
| WTSShadow, // Shadowing another WinStation | | WTSShadow, // Shadowing another WinStation |
| WTSDisconnected, // WinStation logged on without client | | WTSDisconnected, // WinStation logged on without client |
| | |
| skipping to change at line 167 | | skipping to change at line 218 |
| WTS_CONNECTSTATE_CLASS State; // connection state (see enum) | | WTS_CONNECTSTATE_CLASS State; // connection state (see enum) |
| } WTS_SESSION_INFOW, * PWTS_SESSION_INFOW; | | } WTS_SESSION_INFOW, * PWTS_SESSION_INFOW; |
| | |
| typedef struct _WTS_SESSION_INFOA { | | typedef struct _WTS_SESSION_INFOA { |
| DWORD SessionId; // session id | | DWORD SessionId; // session id |
| LPSTR pWinStationName; // name of WinStation this session is | | LPSTR pWinStationName; // name of WinStation this session is |
| // connected to | | // connected to |
| WTS_CONNECTSTATE_CLASS State; // connection state (see enum) | | WTS_CONNECTSTATE_CLASS State; // connection state (see enum) |
| } WTS_SESSION_INFOA, * PWTS_SESSION_INFOA; | | } WTS_SESSION_INFOA, * PWTS_SESSION_INFOA; |
| | |
|
| | typedef struct _WTS_SESSION_INFO_1W { |
| | DWORD ExecEnvId; |
| | WTS_CONNECTSTATE_CLASS State; |
| | DWORD SessionId; |
| | LPWSTR pSessionName; |
| | LPWSTR pHostName; |
| | LPWSTR pUserName; |
| | LPWSTR pDomainName; |
| | LPWSTR pFarmName; |
| | } WTS_SESSION_INFO_1W, * PWTS_SESSION_INFO_1W; |
| | |
| | typedef struct _WTS_SESSION_INFO_1A { |
| | DWORD ExecEnvId; |
| | WTS_CONNECTSTATE_CLASS State; |
| | DWORD SessionId; |
| | LPSTR pSessionName; |
| | LPSTR pHostName; |
| | LPSTR pUserName; |
| | LPSTR pDomainName; |
| | LPSTR pFarmName; |
| | } WTS_SESSION_INFO_1A, * PWTS_SESSION_INFO_1A; |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define WTS_SESSION_INFO WTS_SESSION_INFOW | | #define WTS_SESSION_INFO WTS_SESSION_INFOW |
| #define PWTS_SESSION_INFO PWTS_SESSION_INFOW | | #define PWTS_SESSION_INFO PWTS_SESSION_INFOW |
|
| | #define WTS_SESSION_INFO_1 WTS_SESSION_INFO_1W |
| | #define PWTS_SESSION_INFO_1 PWTS_SESSION_INFO_1W |
| #else | | #else |
| #define WTS_SESSION_INFO WTS_SESSION_INFOA | | #define WTS_SESSION_INFO WTS_SESSION_INFOA |
| #define PWTS_SESSION_INFO PWTS_SESSION_INFOA | | #define PWTS_SESSION_INFO PWTS_SESSION_INFOA |
|
| | #define WTS_SESSION_INFO_1 WTS_SESSION_INFO_1A |
| | #define PWTS_SESSION_INFO_1 PWTS_SESSION_INFO_1A |
| #endif | | #endif |
| | |
| /*===================================================================== | | /*===================================================================== |
| == WTS_PROCESS_INFO - returned by WTSEnumerateProcesses (version 1) | | == WTS_PROCESS_INFO - returned by WTSEnumerateProcesses (version 1) |
| =====================================================================*/ | | =====================================================================*/ |
| | |
| /* | | /* |
| * WTSEnumerateProcesses() also returns data similar to | | * WTSEnumerateProcesses() also returns data similar to |
| * WTSEnumerateServers(). It returns two variables: pProcessInfo and | | * WTSEnumerateServers(). It returns two variables: pProcessInfo and |
| * Count. The latter is the number of WTS_PROCESS_INFO structures | | * Count. The latter is the number of WTS_PROCESS_INFO structures |
| | |
| skipping to change at line 261 | | skipping to change at line 338 |
| WTSClientHardwareId, | | WTSClientHardwareId, |
| WTSClientAddress, | | WTSClientAddress, |
| WTSClientDisplay, | | WTSClientDisplay, |
| WTSClientProtocolType, | | WTSClientProtocolType, |
| WTSIdleTime, | | WTSIdleTime, |
| WTSLogonTime, | | WTSLogonTime, |
| WTSIncomingBytes, | | WTSIncomingBytes, |
| WTSOutgoingBytes, | | WTSOutgoingBytes, |
| WTSIncomingFrames, | | WTSIncomingFrames, |
| WTSOutgoingFrames, | | WTSOutgoingFrames, |
|
| | WTSClientInfo, |
| | WTSSessionInfo, |
| | WTSSessionInfoEx, |
| | WTSConfigInfo, |
| | WTSValidationInfo, // Info Class value used to fetch Validation Informatio |
| | n through the WTSQuerySessionInformation |
| | WTSSessionAddressV4, |
| | WTSIsRemoteSession |
| } WTS_INFO_CLASS; | | } WTS_INFO_CLASS; |
| | |
| /*===================================================================== | | /*===================================================================== |
|
| | == WTS Config Information |
| | =====================================================================*/ |
| | |
| | typedef struct _WTSCONFIGINFOW { |
| | ULONG version; |
| | ULONG fConnectClientDrivesAtLogon; |
| | ULONG fConnectPrinterAtLogon; |
| | ULONG fDisablePrinterRedirection; |
| | ULONG fDisableDefaultMainClientPrinter; |
| | ULONG ShadowSettings; |
| | WCHAR LogonUserName[USERNAME_LENGTH + 1 ]; |
| | WCHAR LogonDomain[DOMAIN_LENGTH + 1 ]; |
| | WCHAR WorkDirectory[MAX_PATH + 1 ]; |
| | WCHAR InitialProgram[MAX_PATH + 1 ]; |
| | WCHAR ApplicationName[MAX_PATH + 1 ]; |
| | } WTSCONFIGINFOW, *PWTSCONFIGINFOW; |
| | |
| | typedef struct _WTSCONFIGINFOA { |
| | ULONG version; |
| | ULONG fConnectClientDrivesAtLogon; |
| | ULONG fConnectPrinterAtLogon; |
| | ULONG fDisablePrinterRedirection; |
| | ULONG fDisableDefaultMainClientPrinter; |
| | ULONG ShadowSettings; |
| | CHAR LogonUserName[USERNAME_LENGTH + 1 ]; |
| | CHAR LogonDomain[DOMAIN_LENGTH + 1 ]; |
| | CHAR WorkDirectory[MAX_PATH + 1 ]; |
| | CHAR InitialProgram[MAX_PATH + 1 ]; |
| | CHAR ApplicationName[MAX_PATH + 1 ]; |
| | } WTSCONFIGINFOA, *PWTSCONFIGINFOA; |
| | |
| | /*===================================================================== |
| | == WTS Session Information |
| | =====================================================================*/ |
| | typedef struct _WTSINFOW { |
| | WTS_CONNECTSTATE_CLASS State; // connection state (see enum) |
| | DWORD SessionId; // session id |
| | DWORD IncomingBytes; |
| | DWORD OutgoingBytes; |
| | DWORD IncomingFrames; |
| | DWORD OutgoingFrames; |
| | DWORD IncomingCompressedBytes; |
| | DWORD OutgoingCompressedBytes; |
| | WCHAR WinStationName[WINSTATIONNAME_LENGTH]; |
| | WCHAR Domain[DOMAIN_LENGTH]; |
| | WCHAR UserName[USERNAME_LENGTH+1];// name of WinStation this session is |
| | // connected to |
| | LARGE_INTEGER ConnectTime; |
| | LARGE_INTEGER DisconnectTime; |
| | LARGE_INTEGER LastInputTime; |
| | LARGE_INTEGER LogonTime; |
| | LARGE_INTEGER CurrentTime; |
| | |
| | } WTSINFOW, * PWTSINFOW; |
| | |
| | typedef struct _WTSINFOA { |
| | WTS_CONNECTSTATE_CLASS State; // connection state (see enum) |
| | DWORD SessionId; // session id |
| | DWORD IncomingBytes; |
| | DWORD OutgoingBytes; |
| | DWORD IncomingFrames; |
| | DWORD OutgoingFrames; |
| | DWORD IncomingCompressedBytes; |
| | DWORD OutgoingCompressedBy; |
| | CHAR WinStationName[WINSTATIONNAME_LENGTH]; |
| | CHAR Domain[DOMAIN_LENGTH]; |
| | CHAR UserName[USERNAME_LENGTH+1];// name of WinStation this session is |
| | // connected to |
| | LARGE_INTEGER ConnectTime; |
| | LARGE_INTEGER DisconnectTime; |
| | LARGE_INTEGER LastInputTime; |
| | LARGE_INTEGER LogonTime; |
| | LARGE_INTEGER CurrentTime; |
| | |
| | } WTSINFOA, * PWTSINFOA; |
| | |
| | /*===================================================================== |
| | == WTS Extended Session State Flags |
| | =====================================================================*/ |
| | #define WTS_SESSIONSTATE_UNKNOWN 0xFFFFFFFF |
| | #define WTS_SESSIONSTATE_LOCK 0x00000000 |
| | #define WTS_SESSIONSTATE_UNLOCK 0x00000001 |
| | |
| | /*===================================================================== |
| | == WTS Extended Session Information |
| | =====================================================================*/ |
| | typedef struct _WTSINFOEX_LEVEL1_W { |
| | ULONG SessionId; |
| | WTS_CONNECTSTATE_CLASS SessionState; |
| | LONG SessionFlags; |
| | WCHAR WinStationName[WINSTATIONNAME_LENGTH + 1] ; |
| | WCHAR UserName[USERNAME_LENGTH + 1]; |
| | WCHAR DomainName[DOMAIN_LENGTH + 1]; |
| | LARGE_INTEGER LogonTime; |
| | LARGE_INTEGER ConnectTime; |
| | LARGE_INTEGER DisconnectTime; |
| | LARGE_INTEGER LastInputTime; |
| | LARGE_INTEGER CurrentTime; |
| | DWORD IncomingBytes; |
| | DWORD OutgoingBytes; |
| | DWORD IncomingFrames; |
| | DWORD OutgoingFrames; |
| | DWORD IncomingCompressedBytes; |
| | DWORD OutgoingCompressedBytes; |
| | } WTSINFOEX_LEVEL1_W, *PWTSINFOEX_LEVEL1_W; |
| | |
| | typedef struct _WTSINFOEX_LEVEL1_A { |
| | ULONG SessionId; |
| | WTS_CONNECTSTATE_CLASS SessionState; |
| | LONG SessionFlags; |
| | CHAR WinStationName[WINSTATIONNAME_LENGTH + 1]; |
| | CHAR UserName[USERNAME_LENGTH + 1]; |
| | CHAR DomainName[DOMAIN_LENGTH + 1]; |
| | LARGE_INTEGER LogonTime; |
| | LARGE_INTEGER ConnectTime; |
| | LARGE_INTEGER DisconnectTime; |
| | LARGE_INTEGER LastInputTime; |
| | LARGE_INTEGER CurrentTime; |
| | DWORD IncomingBytes; |
| | DWORD OutgoingBytes; |
| | DWORD IncomingFrames; |
| | DWORD OutgoingFrames; |
| | DWORD IncomingCompressedBytes; |
| | DWORD OutgoingCompressedBytes; |
| | } WTSINFOEX_LEVEL1_A, *PWTSINFOEX_LEVEL1_A; |
| | |
| | typedef union _WTSINFOEX_LEVEL_W { |
| | WTSINFOEX_LEVEL1_W WTSInfoExLevel1; |
| | } WTSINFOEX_LEVEL_W, *PWTSINFOEX_LEVEL_W; |
| | |
| | typedef union _WTSINFOEX_LEVEL_A { |
| | WTSINFOEX_LEVEL1_A WTSInfoExLevel1; |
| | } WTSINFOEX_LEVEL_A, *PWTSINFOEX_LEVEL_A; |
| | |
| | typedef struct _WTSINFOEXW { |
| | DWORD Level; |
| | WTSINFOEX_LEVEL_W Data; |
| | } WTSINFOEXW, *PWTSINFOEXW; |
| | |
| | typedef struct _WTSINFOEXA { |
| | DWORD Level; |
| | WTSINFOEX_LEVEL_A Data; |
| | } WTSINFOEXA, *PWTSINFOEXA; |
| | |
| | /*===================================================================== |
| | == WTS Client Information |
| | =====================================================================*/ |
| | typedef struct _WTSCLIENTW { |
| | WCHAR ClientName[ CLIENTNAME_LENGTH + 1 ]; |
| | WCHAR Domain[ DOMAIN_LENGTH + 1 ]; |
| | WCHAR UserName[ USERNAME_LENGTH + 1 ]; |
| | WCHAR WorkDirectory[ MAX_PATH + 1]; |
| | WCHAR InitialProgram[ MAX_PATH + 1]; |
| | BYTE EncryptionLevel; // security level of encryption pd |
| | ULONG ClientAddressFamily; |
| | USHORT ClientAddress[ CLIENTADDRESS_LENGTH + 1 ]; |
| | USHORT HRes; |
| | USHORT VRes; |
| | USHORT ColorDepth; |
| | WCHAR ClientDirectory[ MAX_PATH + 1 ]; |
| | ULONG ClientBuildNumber; |
| | ULONG ClientHardwareId; // client software serial number |
| | USHORT ClientProductId; // client software product id |
| | USHORT OutBufCountHost; // number of outbufs on host |
| | USHORT OutBufCountClient; // number of outbufs on client |
| | USHORT OutBufLength; // length of outbufs in bytes |
| | WCHAR DeviceId[ MAX_PATH + 1]; |
| | } WTSCLIENTW, * PWTSCLIENTW; |
| | |
| | /*===================================================================== |
| | == WTS Client Information |
| | =====================================================================*/ |
| | typedef struct _WTSCLIENTA { |
| | CHAR ClientName[ CLIENTNAME_LENGTH + 1 ]; |
| | CHAR Domain[ DOMAIN_LENGTH + 1 ]; |
| | CHAR UserName[ USERNAME_LENGTH + 1 ]; |
| | CHAR WorkDirectory[ MAX_PATH + 1]; |
| | CHAR InitialProgram[ MAX_PATH + 1 ]; |
| | BYTE EncryptionLevel; // security level of encryption pd |
| | ULONG ClientAddressFamily; |
| | USHORT ClientAddress[ CLIENTADDRESS_LENGTH + 1 ]; |
| | USHORT HRes; |
| | USHORT VRes; |
| | USHORT ColorDepth; |
| | CHAR ClientDirectory[ MAX_PATH + 1 ]; |
| | ULONG ClientBuildNumber; |
| | ULONG ClientHardwareId; // client software serial number |
| | USHORT ClientProductId; // client software product id |
| | USHORT OutBufCountHost; // number of outbufs on host |
| | USHORT OutBufCountClient; // number of outbufs on client |
| | USHORT OutBufLength; // length of outbufs in bytes |
| | CHAR DeviceId[ MAX_PATH + 1]; |
| | } WTSCLIENTA, * PWTSCLIENTA; |
| | |
| | /*===================================================================== |
| | == WTS License Validation Information - Product Information |
| | =====================================================================*/ |
| | |
| | #define PRODUCTINFO_COMPANYNAME_LENGTH 256 |
| | #define PRODUCTINFO_PRODUCTID_LENGTH 4 |
| | |
| | typedef struct _WTS_PRODUCT_INFOA |
| | { |
| | CHAR CompanyName[PRODUCTINFO_COMPANYNAME_LENGTH]; |
| | CHAR ProductID[PRODUCTINFO_PRODUCTID_LENGTH]; |
| | } PRODUCT_INFOA; |
| | |
| | typedef struct _WTS_PRODUCT_INFOW |
| | { |
| | WCHAR CompanyName[PRODUCTINFO_COMPANYNAME_LENGTH]; |
| | WCHAR ProductID[PRODUCTINFO_PRODUCTID_LENGTH]; |
| | } PRODUCT_INFOW; |
| | |
| | /*===================================================================== |
| | WTS License Validation Information |
| | This structure will be returned from WTSQuerySessionInformation when the us |
| | er |
| | queries for license validation information. |
| | =====================================================================*/ |
| | |
| | #define VALIDATIONINFORMATION_LICENSE_LENGTH 16384 //16 Kb |
| | #define VALIDATIONINFORMATION_HARDWAREID_LENGTH 20 |
| | |
| | typedef struct _WTS_VALIDATION_INFORMATIONA { |
| | PRODUCT_INFOA ProductInfo; |
| | BYTE License[VALIDATIONINFORMATION_LICENSE_LENGTH]; |
| | DWORD LicenseLength; |
| | BYTE HardwareID[VALIDATIONINFORMATION_HARDWAREID_LENGTH]; |
| | DWORD HardwareIDLength; |
| | |
| | } WTS_VALIDATION_INFORMATIONA, * PWTS_VALIDATION_INFORMATIONA; |
| | |
| | typedef struct _WTS_VALIDATION_INFORMATIONW { |
| | PRODUCT_INFOW ProductInfo; |
| | BYTE License[VALIDATIONINFORMATION_LICENSE_LENGTH]; |
| | DWORD LicenseLength; |
| | BYTE HardwareID[VALIDATIONINFORMATION_HARDWAREID_LENGTH]; |
| | DWORD HardwareIDLength; |
| | |
| | } WTS_VALIDATION_INFORMATIONW, * PWTS_VALIDATION_INFORMATIONW; |
| | |
| | #ifdef UNICODE |
| | #define WTSCONFIGINFO WTSCONFIGINFOW |
| | #define PWTSCONFIGINFO PWTSCONFIGINFOW |
| | #define PRODUCT_INFO PRODUCT_INFOW |
| | #define WTS_VALIDATION_INFORMATION WTS_VALIDATION_INFORMATIONW |
| | #define PWTS_VALIDATION_INFORMATION PWTS_VALIDATION_INFORMATIONW |
| | #define WTSINFO WTSINFOW |
| | #define PWTSINFO PWTSINFOW |
| | #define WTSINFOEX WTSINFOEXW |
| | #define PWTSINFOEX PWTSINFOEXW |
| | #define WTSINFOEX_LEVEL WTSINFOEX_LEVEL_W |
| | #define PWTSINFOEX_LEVEL PWTSINFOEX_LEVEL_W |
| | #define WTSINFOEX_LEVEL1 WTSINFOEX_LEVEL1_W |
| | #define PWTSINFOEX_LEVEL1 PWTSINFOEX_LEVEL1_W |
| | #define WTSCLIENT WTSCLIENTW |
| | #define PWTSCLIENT PWTSCLIENTW |
| | #else |
| | #define WTSCONFIGINFO WTSCONFIGINFOA |
| | #define PWTSCONFIGINFO PWTSCONFIGINFOA |
| | #define PRODUCT_INFO PRODUCT_INFOA |
| | #define WTS_VALIDATION_INFORMATION WTS_VALIDATION_INFORMATIONA |
| | #define PWTS_VALIDATION_INFORMATION PWTS_VALIDATION_INFORMATIONA |
| | #define WTSINFO WTSINFOA |
| | #define PWTSINFO PWTSINFOA |
| | #define WTSINFOEX WTSINFOEXA |
| | #define PWTSINFOEX PWTSINFOEXA |
| | #define WTSINFOEX_LEVEL WTSINFOEX_LEVEL_A |
| | #define PWTSINFOEX_LEVEL PWTSINFOEX_LEVEL_A |
| | #define WTSINFOEX_LEVEL1 WTSINFOEX_LEVEL1_A |
| | #define PWTSINFOEX_LEVEL1 PWTSINFOEX_LEVEL1_A |
| | #define WTSCLIENT WTSCLIENTA |
| | #define PWTSCLIENT PWTSCLIENTA |
| | |
| | #endif |
| | |
| | /*===================================================================== |
| == WTSQuerySessionInformation - (WTSClientAddress) | | == WTSQuerySessionInformation - (WTSClientAddress) |
| =====================================================================*/ | | =====================================================================*/ |
| | |
| typedef struct _WTS_CLIENT_ADDRESS { | | typedef struct _WTS_CLIENT_ADDRESS { |
| DWORD AddressFamily; // AF_INET, AF_INET6, AF_IPX, AF_NETBIOS, AF_UNSPEC | | DWORD AddressFamily; // AF_INET, AF_INET6, AF_IPX, AF_NETBIOS, AF_UNSPEC |
| BYTE Address[20]; // client network address | | BYTE Address[20]; // client network address |
| } WTS_CLIENT_ADDRESS, * PWTS_CLIENT_ADDRESS; | | } WTS_CLIENT_ADDRESS, * PWTS_CLIENT_ADDRESS; |
| | |
| /*===================================================================== | | /*===================================================================== |
| == WTSQuerySessionInformation - (WTSClientDisplay) | | == WTSQuerySessionInformation - (WTSClientDisplay) |
| | |
| skipping to change at line 316 | | skipping to change at line 676 |
| WTSUserConfigModemCallbackPhoneNumber, // string returned/expected | | WTSUserConfigModemCallbackPhoneNumber, // string returned/expected |
| //Shadow settings | | //Shadow settings |
| WTSUserConfigShadowingSettings, //DWORD returned/expected | | WTSUserConfigShadowingSettings, //DWORD returned/expected |
| //User Profile settings | | //User Profile settings |
| WTSUserConfigTerminalServerProfilePath, // string returned/expected | | WTSUserConfigTerminalServerProfilePath, // string returned/expected |
| //Terminal Server home directory | | //Terminal Server home directory |
| WTSUserConfigTerminalServerHomeDir, // string returned/expected | | WTSUserConfigTerminalServerHomeDir, // string returned/expected |
| WTSUserConfigTerminalServerHomeDirDrive, // string returned/expected | | WTSUserConfigTerminalServerHomeDirDrive, // string returned/expected |
| WTSUserConfigfTerminalServerRemoteHomeDir, // DWORD 0:LOCAL 1:REMOTE | | WTSUserConfigfTerminalServerRemoteHomeDir, // DWORD 0:LOCAL 1:REMOTE |
| | |
|
| | WTSUserConfigUser, // returns WTSUSERCONFIG struct |
| } WTS_CONFIG_CLASS; | | } WTS_CONFIG_CLASS; |
| | |
|
| | typedef enum _WTS_CONFIG_SOURCE { |
| | WTSUserConfigSourceSAM |
| | } WTS_CONFIG_SOURCE; |
| | |
| | typedef struct _WTSUSERCONFIGA { |
| | DWORD Source; |
| | DWORD InheritInitialProgram; |
| | DWORD AllowLogonTerminalServer; |
| | DWORD TimeoutSettingsConnections; |
| | DWORD TimeoutSettingsDisconnections; |
| | DWORD TimeoutSettingsIdle; |
| | DWORD DeviceClientDrives; |
| | DWORD DeviceClientPrinters; |
| | DWORD ClientDefaultPrinter; |
| | DWORD BrokenTimeoutSettings; |
| | DWORD ReconnectSettings; |
| | DWORD ShadowingSettings; |
| | DWORD TerminalServerRemoteHomeDir; |
| | CHAR InitialProgram[ MAX_PATH + 1 ]; |
| | CHAR WorkDirectory[ MAX_PATH + 1 ]; |
| | CHAR TerminalServerProfilePath[ MAX_PATH + 1 ]; |
| | CHAR TerminalServerHomeDir[ MAX_PATH + 1 ]; |
| | CHAR TerminalServerHomeDirDrive[ WTS_DRIVE_LENGTH + 1 ]; |
| | } WTSUSERCONFIGA, * PWTSUSERCONFIGA; |
| | |
| | typedef struct _WTSUSERCONFIGW { |
| | DWORD Source; |
| | DWORD InheritInitialProgram; |
| | DWORD AllowLogonTerminalServer; |
| | DWORD TimeoutSettingsConnections; |
| | DWORD TimeoutSettingsDisconnections; |
| | DWORD TimeoutSettingsIdle; |
| | DWORD DeviceClientDrives; |
| | DWORD DeviceClientPrinters; |
| | DWORD ClientDefaultPrinter; |
| | DWORD BrokenTimeoutSettings; |
| | DWORD ReconnectSettings; |
| | DWORD ShadowingSettings; |
| | DWORD TerminalServerRemoteHomeDir; |
| | WCHAR InitialProgram[ MAX_PATH + 1 ]; |
| | WCHAR WorkDirectory[ MAX_PATH + 1 ]; |
| | WCHAR TerminalServerProfilePath[ MAX_PATH + 1 ]; |
| | WCHAR TerminalServerHomeDir[ MAX_PATH + 1 ]; |
| | WCHAR TerminalServerHomeDirDrive[ WTS_DRIVE_LENGTH + 1 ]; |
| | } WTSUSERCONFIGW, * PWTSUSERCONFIGW; |
| | |
| | #ifdef UNICODE |
| | #define WTSUSERCONFIG WTSUSERCONFIGW |
| | #define PWTSUSERCONFIG PWTSUSERCONFIGW |
| | #else |
| | #define WTSUSERCONFIG WTSUSERCONFIGA |
| | #define PWTSUSERCONFIG PWTSUSERCONFIGA |
| | #endif /* UNICODE */ |
| | |
| /*===================================================================== | | /*===================================================================== |
| == WTS_EVENT - Event flags for WTSWaitSystemEvent | | == WTS_EVENT - Event flags for WTSWaitSystemEvent |
| =====================================================================*/ | | =====================================================================*/ |
| | |
| #define WTS_EVENT_NONE 0x00000000 // return no event | | #define WTS_EVENT_NONE 0x00000000 // return no event |
| #define WTS_EVENT_CREATE 0x00000001 // new WinStation created | | #define WTS_EVENT_CREATE 0x00000001 // new WinStation created |
| #define WTS_EVENT_DELETE 0x00000002 // existing WinStation deleted | | #define WTS_EVENT_DELETE 0x00000002 // existing WinStation deleted |
| #define WTS_EVENT_RENAME 0x00000004 // existing WinStation renamed | | #define WTS_EVENT_RENAME 0x00000004 // existing WinStation renamed |
| #define WTS_EVENT_CONNECT 0x00000008 // WinStation connect to client | | #define WTS_EVENT_CONNECT 0x00000008 // WinStation connect to client |
| #define WTS_EVENT_DISCONNECT 0x00000010 // WinStation logged on without | | #define WTS_EVENT_DISCONNECT 0x00000010 // WinStation logged on without |
| | |
| skipping to change at line 339 | | skipping to change at line 754 |
| #define WTS_EVENT_LOGON 0x00000020 // user logged on to existing | | #define WTS_EVENT_LOGON 0x00000020 // user logged on to existing |
| // WinStation | | // WinStation |
| #define WTS_EVENT_LOGOFF 0x00000040 // user logged off from | | #define WTS_EVENT_LOGOFF 0x00000040 // user logged off from |
| // existing WinStation | | // existing WinStation |
| #define WTS_EVENT_STATECHANGE 0x00000080 // WinStation state change | | #define WTS_EVENT_STATECHANGE 0x00000080 // WinStation state change |
| #define WTS_EVENT_LICENSE 0x00000100 // license state change | | #define WTS_EVENT_LICENSE 0x00000100 // license state change |
| #define WTS_EVENT_ALL 0x7fffffff // wait for all event types | | #define WTS_EVENT_ALL 0x7fffffff // wait for all event types |
| #define WTS_EVENT_FLUSH 0x80000000 // unblock all waiters | | #define WTS_EVENT_FLUSH 0x80000000 // unblock all waiters |
| | |
| /*===================================================================== | | /*===================================================================== |
|
| | == Flags for HotkeyModifiers in WTSStartRemoteControlSession |
| | =====================================================================*/ |
| | |
| | #define REMOTECONTROL_KBDSHIFT_HOTKEY 0x1 // Shift key |
| | #define REMOTECONTROL_KBDCTRL_HOTKEY 0x2 // Ctrl key |
| | #define REMOTECONTROL_KBDALT_HOTKEY 0x4 // Alt key |
| | |
| | /*===================================================================== |
| == WTS_VIRTUAL_CLASS - WTSVirtualChannelQuery | | == WTS_VIRTUAL_CLASS - WTSVirtualChannelQuery |
| =====================================================================*/ | | =====================================================================*/ |
| typedef enum _WTS_VIRTUAL_CLASS { | | typedef enum _WTS_VIRTUAL_CLASS { |
| WTSVirtualClientData, // Virtual channel client module data | | WTSVirtualClientData, // Virtual channel client module data |
| // (C2H data) | | // (C2H data) |
| WTSVirtualFileHandle | | WTSVirtualFileHandle |
| } WTS_VIRTUAL_CLASS; | | } WTS_VIRTUAL_CLASS; |
| | |
| /*===================================================================== | | /*===================================================================== |
|
| | == WTSQuerySessionInformation - (WTSSessionAddress) |
| | =====================================================================*/ |
| | |
| | typedef struct _WTS_SESSION_ADDRESS { |
| | DWORD AddressFamily; // AF_INET only. |
| | BYTE Address[20]; // client network address |
| | } WTS_SESSION_ADDRESS, * PWTS_SESSION_ADDRESS; |
| | |
| | /*===================================================================== |
| == Windows Terminal Server public APIs | | == Windows Terminal Server public APIs |
| =====================================================================*/ | | =====================================================================*/ |
| | |
|
| | BOOL WINAPI |
| | WTSStopRemoteControlSession( |
| | IN ULONG LogonId |
| | ); |
| | |
| | BOOL WINAPI |
| | WTSStartRemoteControlSessionW( |
| | __in LPWSTR pTargetServerName, |
| | IN ULONG TargetLogonId, |
| | IN BYTE HotkeyVk, |
| | IN USHORT HotkeyModifiers |
| | ); |
| | |
| | BOOL WINAPI |
| | WTSStartRemoteControlSessionA( |
| | __in LPSTR pTargetServerName, |
| | IN ULONG TargetLogonId, |
| | IN BYTE HotkeyVk, |
| | IN USHORT HotkeyModifiers |
| | ); |
| | |
| | #ifdef UNICODE |
| | #define WTSStartRemoteControlSession WTSStartRemoteControlSessionW |
| | #else |
| | #define WTSStartRemoteControlSession WTSStartRemoteControlSessionA |
| | #endif /* UNICODE */ |
| | |
| | BOOL |
| | WINAPI |
| | WTSConnectSessionA( |
| | IN ULONG LogonId, |
| | IN ULONG TargetLogonId, |
| | __in PSTR pPassword, |
| | IN BOOL bWait |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WTSConnectSessionW( |
| | IN ULONG LogonId, |
| | IN ULONG TargetLogonId, |
| | __in PWSTR pPassword, |
| | IN BOOL bWait |
| | ); |
| | |
| | #ifdef UNICODE |
| | #define WTSConnectSession WTSConnectSessionW |
| | #else |
| | #define WTSConnectSession WTSConnectSessionA |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| WTSEnumerateServersW( | | WTSEnumerateServersW( |
| __in LPWSTR pDomainName, | | __in LPWSTR pDomainName, |
| IN DWORD Reserved, | | IN DWORD Reserved, |
| IN DWORD Version, | | IN DWORD Version, |
| __deref_out_ecount(*pCount) PWTS_SERVER_INFOW * ppServerInfo, | | __deref_out_ecount(*pCount) PWTS_SERVER_INFOW * ppServerInfo, |
| __out DWORD * pCount | | __out DWORD * pCount |
| ); | | ); |
| | |
| | |
| skipping to change at line 391 | | skipping to change at line 874 |
| WTSOpenServerW( | | WTSOpenServerW( |
| __in LPWSTR pServerName | | __in LPWSTR pServerName |
| ); | | ); |
| | |
| HANDLE | | HANDLE |
| WINAPI | | WINAPI |
| WTSOpenServerA( | | WTSOpenServerA( |
| __in LPSTR pServerName | | __in LPSTR pServerName |
| ); | | ); |
| | |
|
| | HANDLE |
| | WINAPI |
| | WTSOpenServerExW( |
| | __in LPWSTR pServerName |
| | ); |
| | |
| | HANDLE |
| | WINAPI |
| | WTSOpenServerExA( |
| | __in LPSTR pServerName |
| | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define WTSOpenServer WTSOpenServerW | | #define WTSOpenServer WTSOpenServerW |
|
| | #define WTSOpenServerEx WTSOpenServerExW |
| #else | | #else |
| #define WTSOpenServer WTSOpenServerA | | #define WTSOpenServer WTSOpenServerA |
|
| | #define WTSOpenServerEx WTSOpenServerExA |
| #endif | | #endif |
| | |
| /*------------------------------------------------*/ | | /*------------------------------------------------*/ |
| | |
| VOID | | VOID |
| WINAPI | | WINAPI |
| WTSCloseServer( | | WTSCloseServer( |
| IN HANDLE hServer | | IN HANDLE hServer |
| ); | | ); |
| | |
| | |
| skipping to change at line 427 | | skipping to change at line 924 |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| WTSEnumerateSessionsA( | | WTSEnumerateSessionsA( |
| IN HANDLE hServer, | | IN HANDLE hServer, |
| IN DWORD Reserved, | | IN DWORD Reserved, |
| IN DWORD Version, | | IN DWORD Version, |
| __deref_out_ecount(*pCount) PWTS_SESSION_INFOA * ppSessionInfo, | | __deref_out_ecount(*pCount) PWTS_SESSION_INFOA * ppSessionInfo, |
| __out DWORD * pCount | | __out DWORD * pCount |
| ); | | ); |
| | |
|
| | BOOL |
| | WINAPI |
| | WTSEnumerateSessionsExW( |
| | __in HANDLE hServer, |
| | __inout DWORD *pLevel, |
| | __in DWORD Filter, |
| | __deref_out_ecount(*pCount) PWTS_SESSION_INFO_1W * ppSessionInfo, |
| | __out DWORD * pCount ); |
| | |
| | BOOL |
| | WINAPI |
| | WTSEnumerateSessionsExA( |
| | __in HANDLE hServer, |
| | __inout DWORD *pLevel, |
| | __in DWORD Filter, |
| | __deref_out_ecount(*pCount) PWTS_SESSION_INFO_1A * ppSessionInfo, |
| | __out DWORD * pCount ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define WTSEnumerateSessions WTSEnumerateSessionsW | | #define WTSEnumerateSessions WTSEnumerateSessionsW |
|
| | #define WTSEnumerateSessionsEx WTSEnumerateSessionsExW |
| #else | | #else |
| #define WTSEnumerateSessions WTSEnumerateSessionsA | | #define WTSEnumerateSessions WTSEnumerateSessionsA |
|
| | #define WTSEnumerateSessionsEx WTSEnumerateSessionsExA |
| #endif | | #endif |
| | |
| /*------------------------------------------------*/ | | /*------------------------------------------------*/ |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| WTSEnumerateProcessesW( | | WTSEnumerateProcessesW( |
| IN HANDLE hServer, | | IN HANDLE hServer, |
| IN DWORD Reserved, | | IN DWORD Reserved, |
| IN DWORD Version, | | IN DWORD Version, |
| | |
| skipping to change at line 642 | | skipping to change at line 1159 |
| /*------------------------------------------------*/ | | /*------------------------------------------------*/ |
| | |
| HANDLE | | HANDLE |
| WINAPI | | WINAPI |
| WTSVirtualChannelOpen( | | WTSVirtualChannelOpen( |
| IN HANDLE hServer, | | IN HANDLE hServer, |
| IN DWORD SessionId, | | IN DWORD SessionId, |
| __in LPSTR pVirtualName /* ascii name */ | | __in LPSTR pVirtualName /* ascii name */ |
| ); | | ); |
| | |
|
| | #define WTS_CHANNEL_OPTION_DYNAMIC 0x00000001 // dynamic channel |
| | #define WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW 0x00000000 // priorities |
| | #define WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED 0x00000002 |
| | #define WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH 0x00000004 |
| | #define WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL 0x00000006 |
| | #define WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS 0x00000008 |
| | |
| | HANDLE |
| | WINAPI |
| | WTSVirtualChannelOpenEx( |
| | IN DWORD SessionId, |
| | __in LPSTR pVirtualName, /* ascii name */ |
| | IN DWORD flags |
| | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| WTSVirtualChannelClose( | | WTSVirtualChannelClose( |
| IN HANDLE hChannelHandle | | IN HANDLE hChannelHandle |
| ); | | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| WTSVirtualChannelRead( | | WTSVirtualChannelRead( |
| IN HANDLE hChannelHandle, | | IN HANDLE hChannelHandle, |
| | |
| skipping to change at line 701 | | skipping to change at line 1233 |
| WINAPI | | WINAPI |
| WTSFreeMemory( | | WTSFreeMemory( |
| IN PVOID pMemory | | IN PVOID pMemory |
| ); | | ); |
| | |
| /* Flags for Console Notification */ | | /* Flags for Console Notification */ |
| | |
| #define NOTIFY_FOR_ALL_SESSIONS 1 | | #define NOTIFY_FOR_ALL_SESSIONS 1 |
| #define NOTIFY_FOR_THIS_SESSION 0 | | #define NOTIFY_FOR_THIS_SESSION 0 |
| | |
|
| BOOL WINAPI | | BOOL |
| | WINAPI |
| WTSRegisterSessionNotification( | | WTSRegisterSessionNotification( |
| HWND hWnd, | | HWND hWnd, |
| DWORD dwFlags | | DWORD dwFlags |
| ); | | ); |
| | |
|
| BOOL WINAPI | | BOOL |
| | WINAPI |
| WTSUnRegisterSessionNotification( | | WTSUnRegisterSessionNotification( |
| HWND hWnd | | HWND hWnd |
| ); | | ); |
| | |
|
| BOOL WINAPI | | BOOL |
| | WINAPI |
| WTSRegisterSessionNotificationEx( | | WTSRegisterSessionNotificationEx( |
| IN HANDLE hServer, | | IN HANDLE hServer, |
| IN HWND hWnd, | | IN HWND hWnd, |
| IN DWORD dwFlags | | IN DWORD dwFlags |
| ); | | ); |
| | |
|
| BOOL WINAPI | | BOOL |
| | WINAPI |
| WTSUnRegisterSessionNotificationEx( | | WTSUnRegisterSessionNotificationEx( |
| IN HANDLE hServer, | | IN HANDLE hServer, |
| IN HWND hWnd | | IN HWND hWnd |
| ); | | ); |
| | |
|
| BOOL WINAPI | | BOOL |
| | WINAPI |
| WTSQueryUserToken( | | WTSQueryUserToken( |
| ULONG SessionId, | | ULONG SessionId, |
| PHANDLE phToken | | PHANDLE phToken |
| ); | | ); |
| | |
|
| | #define WTS_PROCESS_INFO_LEVEL_0 0 |
| | #define WTS_PROCESS_INFO_LEVEL_1 1 |
| | |
| | /* |
| | == WTS_PROCESS_INFO_EX - returned by WTSEnumerateProcessesEX |
| | */ |
| | |
| | typedef struct _WTS_PROCESS_INFO_EXW { |
| | DWORD SessionId; |
| | DWORD ProcessId; |
| | LPWSTR pProcessName; |
| | PSID pUserSid; |
| | DWORD NumberOfThreads; |
| | DWORD HandleCount; |
| | DWORD PagefileUsage; |
| | DWORD PeakPagefileUsage; |
| | DWORD WorkingSetSize; |
| | DWORD PeakWorkingSetSize; |
| | LARGE_INTEGER UserTime; |
| | LARGE_INTEGER KernelTime; |
| | } WTS_PROCESS_INFO_EXW, * PWTS_PROCESS_INFO_EXW; |
| | |
| | typedef struct _WTS_PROCESS_INFO_EXA { |
| | DWORD SessionId; |
| | DWORD ProcessId; |
| | LPSTR pProcessName; |
| | PSID pUserSid; |
| | DWORD NumberOfThreads; |
| | DWORD HandleCount; |
| | DWORD PagefileUsage; |
| | DWORD PeakPagefileUsage; |
| | DWORD WorkingSetSize; |
| | DWORD PeakWorkingSetSize; |
| | LARGE_INTEGER UserTime; |
| | LARGE_INTEGER KernelTime; |
| | } WTS_PROCESS_INFO_EXA, * PWTS_PROCESS_INFO_EXA; |
| | |
| | #ifdef UNICODE |
| | #define WTS_PROCESS_INFO_EX WTS_PROCESS_INFO_EXW |
| | #define PWTS_PROCESS_INFO_EX PWTS_PROCESS_INFO_EXW |
| | #else |
| | #define WTS_PROCESS_INFO_EX WTS_PROCESS_INFO_EXA |
| | #define PWTS_PROCESS_INFO_EX PWTS_PROCESS_INFO_EXA |
| | #endif |
| | |
| | /*------------------------------------------------*/ |
| | |
| | typedef enum _WTS_TYPE_CLASS { |
| | WTSTypeProcessInfoLevel0, |
| | WTSTypeProcessInfoLevel1, |
| | WTSTypeSessionInfoLevel1, |
| | } WTS_TYPE_CLASS; |
| | |
| | BOOL WINAPI |
| | WTSFreeMemoryExW( |
| | __in WTS_TYPE_CLASS WTSTypeClass, |
| | __in PVOID pMemory, |
| | __in ULONG NumberOfEntries |
| | ); |
| | |
| | BOOL WINAPI |
| | WTSFreeMemoryExA( |
| | __in WTS_TYPE_CLASS WTSTypeClass, |
| | __in PVOID pMemory, |
| | __in ULONG NumberOfEntries |
| | ); |
| | |
| | #ifdef UNICODE |
| | #define WTSFreeMemoryEx WTSFreeMemoryExW |
| | #else |
| | #define WTSFreeMemoryEx WTSFreeMemoryExA |
| | #endif |
| | |
| | /*------------------------------------------------*/ |
| | |
| | BOOL WINAPI |
| | WTSEnumerateProcessesExW |
| | ( |
| | __in HANDLE hServer, |
| | __inout DWORD *pLevel, |
| | __in DWORD SessionId, |
| | __out LPWSTR *ppProcessInfo, |
| | __out DWORD * pCount |
| | ); |
| | |
| | BOOL WINAPI |
| | WTSEnumerateProcessesExA |
| | ( |
| | __in HANDLE hServer, |
| | __inout DWORD *pLevel, |
| | __in DWORD SessionId, |
| | __out LPSTR *ppProcessInfo, |
| | __out DWORD * pCount |
| | ); |
| | |
| | #ifdef UNICODE |
| | #define WTSEnumerateProcessesEx WTSEnumerateProcessesExW |
| | #else |
| | #define WTSEnumerateProcessesEx WTSEnumerateProcessesExA |
| | #endif |
| | |
| | /*------------------------------------------------*/ |
| | // Listener management APIs |
| | |
| | typedef WCHAR WTSLISTENERNAMEW[WTS_LISTENER_NAME_LENGTH + 1 ]; |
| | typedef WTSLISTENERNAMEW *PWTSLISTENERNAMEW; |
| | typedef CHAR WTSLISTENERNAMEA[WTS_LISTENER_NAME_LENGTH + 1 ]; |
| | typedef WTSLISTENERNAMEA *PWTSLISTENERNAMEA; |
| | |
| | #ifdef UNICODE |
| | #define WTSLISTENERNAME WTSLISTENERNAMEW |
| | #define PWTSLISTENERNAME PWTSLISTENERNAMEW |
| | #else |
| | #define WTSLISTENERNAME WTSLISTENERNAMEA |
| | #define PWTSLISTENERNAME PWTSLISTENERNAMEW |
| | #endif |
| | |
| | BOOL WINAPI |
| | WTSEnumerateListenersW ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __out_ecount_opt(*pCount) PWTSLISTENERNAMEW pListeners, |
| | __inout DWORD* pCount |
| | ); |
| | |
| | BOOL WINAPI |
| | WTSEnumerateListenersA ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __out_ecount_opt(*pCount) PWTSLISTENERNAMEA pListeners, |
| | __inout DWORD* pCount |
| | ); |
| | |
| | #ifdef UNICODE |
| | #define WTSEnumerateListeners WTSEnumerateListenersW |
| | #else |
| | #define WTSEnumerateListeners WTSEnumerateListenersA |
| | #endif |
| | |
| | /*------------------------------------------------*/ |
| | // Listener Config, used by WTSQueryListenerConfig and WTSCreateListener |
| | |
| | typedef struct _WTSLISTENERCONFIGW{ |
| | ULONG version; |
| | ULONG fEnableListener; |
| | ULONG MaxConnectionCount; |
| | ULONG fPromptForPassword; |
| | ULONG fInheritColorDepth; |
| | ULONG ColorDepth; |
| | ULONG fInheritBrokenTimeoutSettings; |
| | ULONG BrokenTimeoutSettings; |
| | |
| | ULONG fDisablePrinterRedirection; |
| | ULONG fDisableDriveRedirection; |
| | ULONG fDisableComPortRedirection; |
| | ULONG fDisableLPTPortRedirection; |
| | ULONG fDisableClipboardRedirection; |
| | ULONG fDisableAudioRedirection; |
| | ULONG fDisablePNPRedirection; |
| | ULONG fDisableDefaultMainClientPrinter; |
| | |
| | ULONG LanAdapter; |
| | ULONG PortNumber; |
| | |
| | ULONG fInheritShadowSettings; |
| | ULONG ShadowSettings; |
| | |
| | ULONG TimeoutSettingsConnection; |
| | ULONG TimeoutSettingsDisconnection; |
| | ULONG TimeoutSettingsIdle; |
| | |
| | ULONG SecurityLayer; |
| | ULONG MinEncryptionLevel; |
| | ULONG UserAuthentication; |
| | |
| | WCHAR Comment[ WTS_COMMENT_LENGTH + 1 ]; |
| | WCHAR LogonUserName[USERNAME_LENGTH + 1 ]; |
| | WCHAR LogonDomain[DOMAIN_LENGTH + 1 ]; |
| | |
| | WCHAR WorkDirectory[ MAX_PATH + 1 ]; |
| | WCHAR InitialProgram[ MAX_PATH + 1 ]; |
| | } WTSLISTENERCONFIGW, *PWTSLISTENERCONFIGW; |
| | |
| | typedef struct _WTSLISTENERCONFIGA{ |
| | ULONG version; |
| | ULONG fEnableListener; |
| | ULONG MaxConnectionCount; |
| | ULONG fPromptForPassword; |
| | ULONG fInheritColorDepth; |
| | ULONG ColorDepth; |
| | ULONG fInheritBrokenTimeoutSettings; |
| | ULONG BrokenTimeoutSettings; |
| | |
| | ULONG fDisablePrinterRedirection; |
| | ULONG fDisableDriveRedirection; |
| | ULONG fDisableComPortRedirection; |
| | ULONG fDisableLPTPortRedirection; |
| | ULONG fDisableClipboardRedirection; |
| | ULONG fDisableAudioRedirection; |
| | ULONG fDisablePNPRedirection; |
| | ULONG fDisableDefaultMainClientPrinter; |
| | |
| | ULONG LanAdapter; |
| | ULONG PortNumber; |
| | |
| | ULONG fInheritShadowSettings; |
| | ULONG ShadowSettings; |
| | |
| | ULONG TimeoutSettingsConnection; |
| | ULONG TimeoutSettingsDisconnection; |
| | ULONG TimeoutSettingsIdle; |
| | |
| | ULONG SecurityLayer; |
| | ULONG MinEncryptionLevel; |
| | ULONG UserAuthentication; |
| | |
| | CHAR Comment[ WTS_COMMENT_LENGTH + 1 ]; |
| | CHAR LogonUserName[USERNAME_LENGTH + 1 ]; |
| | CHAR LogonDomain[DOMAIN_LENGTH + 1 ]; |
| | |
| | CHAR WorkDirectory[ MAX_PATH + 1 ]; |
| | CHAR InitialProgram[ MAX_PATH + 1 ]; |
| | } WTSLISTENERCONFIGA, *PWTSLISTENERCONFIGA; |
| | |
| | BOOL WINAPI WTSQueryListenerConfigW ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPWSTR pListenerName, |
| | __out PWTSLISTENERCONFIGW pBuffer |
| | ); |
| | |
| | BOOL WINAPI WTSQueryListenerConfigA ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPSTR pListenerName, |
| | __out PWTSLISTENERCONFIGA pBuffer |
| | ); |
| | |
| | BOOL WINAPI WTSCreateListenerW ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPWSTR pListenerName, |
| | __in PWTSLISTENERCONFIGW pBuffer, |
| | __in DWORD flag |
| | ); |
| | |
| | BOOL WINAPI WTSCreateListenerA ( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPSTR pListenerName, |
| | __in PWTSLISTENERCONFIGA pBuffer, |
| | __in DWORD flag |
| | ); |
| | |
| | BOOL WINAPI WTSSetListenerSecurityW( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPWSTR pListenerName, |
| | __in SECURITY_INFORMATION SecurityInformation, |
| | __in PSECURITY_DESCRIPTOR pSecurityDescriptor); |
| | |
| | BOOL WINAPI WTSSetListenerSecurityA( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPSTR pListenerName, |
| | __in SECURITY_INFORMATION SecurityInformation, |
| | __in PSECURITY_DESCRIPTOR pSecurityDescriptor); |
| | |
| | BOOL WINAPI WTSGetListenerSecurityW( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPWSTR pListenerName, |
| | __in SECURITY_INFORMATION SecurityInformation, |
| | __out_opt PSECURITY_DESCRIPTOR pSecurityDescriptor, |
| | __in DWORD nLength, |
| | __out LPDWORD lpnLengthNeeded); |
| | |
| | BOOL WINAPI WTSGetListenerSecurityA( |
| | __in HANDLE hServer, |
| | __in PVOID pReserved, |
| | __in DWORD Reserved, |
| | __in LPSTR pListenerName, |
| | __in SECURITY_INFORMATION SecurityInformation, |
| | __out_opt PSECURITY_DESCRIPTOR pSecurityDescriptor, |
| | __in DWORD nLength, |
| | __out LPDWORD lpnLengthNeeded); |
| | |
| | #ifdef UNICODE |
| | #define WTSLISTENERCONFIG WTSLISTENERCONFIGW |
| | #define PWTSLISTENERCONFIG PWTSLISTENERCONFIGW |
| | #define WTSQueryListenerConfig WTSQueryListenerConfigW |
| | #define WTSCreateListener WTSCreateListenerW |
| | #define WTSSetListenerSecurity WTSSetListenerSecurityW |
| | #define WTSGetListenerSecurity WTSGetListenerSecurityW |
| | #else |
| | #define WTSLISTENERCONFIG WTSLISTENERCONFIGA |
| | #define PWTSLISTENERCONFIG PWTSLISTENERCONFIGA |
| | #define WTSQueryListenerConfig WTSQueryListenerConfigA |
| | #define WTSCreateListener WTSCreateListenerA |
| | #define WTSSetListenerSecurity WTSSetListenerSecurityA |
| | #define WTSGetListenerSecurity WTSGetListenerSecurityA |
| | #endif |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } | | } |
| #endif | | #endif |
| | |
| #endif /* !_INC_WTSAPI */ | | #endif /* !_INC_WTSAPI */ |
| | |
| End of changes. 26 change blocks. |
| 5 lines changed or deleted | | 866 lines changed or added |
|