| 1 | /** | 
 
 
 
 
 | 2 | * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 | 3 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 | 5 | */ | 
 
 
 
 
 | 6 | #ifndef _INC_TSSBX | 
 
 
 
 
 | 7 | #define _INC_TSSBX | 
 
 
 
 
 | 8 |  | 
 
 
 
 
 | 9 | #if (_WIN32_WINNT >= 0x0600) | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #ifdef __cplusplus | 
 
 
 
 
 | 12 | extern "C" { | 
 
 
 
 
 | 13 | #endif | 
 
 
 
 
 | 14 |  | 
 
 
 
 
 | 15 | typedef enum _WTSSBX_ADDRESS_FAMILY { | 
 
 
 
 
 | 16 | WTSSBX_ADDRESS_FAMILY_AF_UNSPEC    = 0, | 
 
 
 
 
 | 17 | WTSSBX_ADDRESS_FAMILY_AF_INET      = 1, | 
 
 
 
 
 | 18 | WTSSBX_ADDRESS_FAMILY_AF_INET6     = 2, | 
 
 
 
 
 | 19 | WTSSBX_ADDRESS_FAMILY_AF_IPX       = 3, | 
 
 
 
 
 | 20 | WTSSBX_ADDRESS_FAMILY_AF_NETBIOS   = 4 | 
 
 
 
 
 | 21 | } WTSSBX_ADDRESS_FAMILY; | 
 
 
 
 
 | 22 |  | 
 
 
 
 
 | 23 | typedef enum _WTSSBX_MACHINE_DRAIN { | 
 
 
 
 
 | 24 | WTSSBX_MACHINE_DRAIN_UNSPEC   = 0, | 
 
 
 
 
 | 25 | WTSSBX_MACHINE_DRAIN_OFF      = 1, | 
 
 
 
 
 | 26 | WTSSBX_MACHINE_DRAIN_ON       = 2 | 
 
 
 
 
 | 27 | } WTSSBX_MACHINE_DRAIN; | 
 
 
 
 
 | 28 |  | 
 
 
 
 
 | 29 | typedef enum _WTSSBX_NOTIFICATION_TYPE { | 
 
 
 
 
 | 30 | WTSSBX_MACHINE_SESSION_MODE_UNSPEC     = 0, | 
 
 
 
 
 | 31 | WTSSBX_MACHINE_SESSION_MODE_SINGLE     = 1, | 
 
 
 
 
 | 32 | WTSSBX_MACHINE_SESSION_MODE_MULTIPLE   = 2 | 
 
 
 
 
 | 33 | } WTSSBX_NOTIFICATION_TYPE; | 
 
 
 
 
 | 34 |  | 
 
 
 
 
 | 35 | typedef enum _WTSSBX_MACHINE_STATE { | 
 
 
 
 
 | 36 | WTSSBX_MACHINE_STATE_UNSPEC          = 0, | 
 
 
 
 
 | 37 | WTSSBX_MACHINE_STATE_READY           = 1, | 
 
 
 
 
 | 38 | WTSSBX_MACHINE_STATE_SYNCHRONIZING   = 2 | 
 
 
 
 
 | 39 | } WTSSBX_MACHINE_STATE; | 
 
 
 
 
 | 40 |  | 
 
 
 
 
 | 41 | typedef enum _WTSSBX_NOTIFICATION_TYPE { | 
 
 
 
 
 | 42 | WTSSBX_NOTIFICATION_REMOVED   = 1, | 
 
 
 
 
 | 43 | WTSSBX_NOTIFICATION_CHANGED   = 2, | 
 
 
 
 
 | 44 | WTSSBX_NOTIFICATION_ADDED     = 4, | 
 
 
 
 
 | 45 | WTSSBX_NOTIFICATION_RESYNC    = 8 | 
 
 
 
 
 | 46 | } WTSSBX_NOTIFICATION_TYPE; | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | typedef enum _WTSSBX_SESSION_STATE { | 
 
 
 
 
 | 49 | WTSSBX_SESSION_STATE_UNSPEC         = 0, | 
 
 
 
 
 | 50 | WTSSBX_SESSION_STATE_ACTIVE         = 1, | 
 
 
 
 
 | 51 | WTSSBX_SESSION_STATE_DISCONNECTED   = 2 | 
 
 
 
 
 | 52 | } WTSSBX_SESSION_STATE; | 
 
 
 
 
 | 53 |  | 
 
 
 
 
 | 54 | typedef struct _WTSSBX_IP_ADDRESS { | 
 
 
 
 
 | 55 | WTSSBX_ADDRESS_FAMILY  AddressFamily; | 
 
 
 
 
 | 56 | BYTE                   Address[16]; | 
 
 
 
 
 | 57 | unsigned short         PortNumber; | 
 
 
 
 
 | 58 | DWORD                  dwScope; | 
 
 
 
 
 | 59 | } WTSSBX_IP_ADDRESS; | 
 
 
 
 
 | 60 |  | 
 
 
 
 
 | 61 | #define MaxFQDN_Len 256 | 
 
 
 
 
 | 62 | #define MaxNetBiosName_Len 16 | 
 
 
 
 
 | 63 |  | 
 
 
 
 
 | 64 | typedef struct _WTSSBX_MACHINE_CONNECT_INFO { | 
 
 
 
 
 | 65 | WCHAR              wczMachineFQDN[MaxFQDN_Len + 1]; | 
 
 
 
 
 | 66 | WCHAR              wczMachineNetBiosName[MaxNetBiosName_Len + 1]; | 
 
 
 
 
 | 67 | DWORD              dwNumOfIPAddr; | 
 
 
 
 
 | 68 | WTSSBX_IP_ADDRESS  IPaddr[MaxNumOfExposed_IPs]; | 
 
 
 
 
 | 69 | } WTSSBX_MACHINE_CONNECT_INFO; | 
 
 
 
 
 | 70 |  | 
 
 
 
 
 | 71 | #define MaxFarm_Len 256 | 
 
 
 
 
 | 72 |  | 
 
 
 
 
 | 73 | typedef struct _WTSSBX_MACHINE_INFO { | 
 
 
 
 
 | 74 | WTSSBX_MACHINE_CONNECT_INFO  ClientConnectInfo; | 
 
 
 
 
 | 75 | WCHAR                        wczFarmName[MaxFarm_Len + 1]; | 
 
 
 
 
 | 76 | WTSSBX_IP_ADDRESS            InternalIPAddress; | 
 
 
 
 
 | 77 | DWORD                        dwMaxSessionsLimit; | 
 
 
 
 
 | 78 | DWORD                        ServerWeight; | 
 
 
 
 
 | 79 | WTSSBX_MACHINE_SESSION_MODE  SingleSessionMode; | 
 
 
 
 
 | 80 | WTSSBX_MACHINE_DRAIN         InDrain; | 
 
 
 
 
 | 81 | WTSSBX_MACHINE_STATE         MachineState; | 
 
 
 
 
 | 82 | } WTSSBX_MACHINE_INFO; | 
 
 
 
 
 | 83 |  | 
 
 
 
 
 | 84 | #define MaxUserName_Len 104 | 
 
 
 
 
 | 85 | #define MaxDomainName_Len 256 | 
 
 
 
 
 | 86 | #define MaxAppName_Len 256 | 
 
 
 
 
 | 87 |  | 
 
 
 
 
 | 88 | typedef struct _WTSSBX_SESSION_INFO { | 
 
 
 
 
 | 89 | WCHAR                 wszUserName[MaxUserName_Len + 1]; | 
 
 
 
 
 | 90 | WCHAR                 wszDomainName[MaxDomainName_Len + 1]; | 
 
 
 
 
 | 91 | WCHAR                 ApplicationType[MaxAppName_Len + 1]; | 
 
 
 
 
 | 92 | DWORD                 dwSessionId; | 
 
 
 
 
 | 93 | FILETIME              CreateTime; | 
 
 
 
 
 | 94 | FILETIME              DisconnectTime; | 
 
 
 
 
 | 95 | WTSSBX_SESSION_STATE  SessionState; | 
 
 
 
 
 | 96 | } WTSSBX_SESSION_INFO; | 
 
 
 
 
 | 97 |  | 
 
 
 
 
 | 98 | /* IID_IWTSSBPlugin is defined as DC44BE78-B18D-4399-B210-641BF67A002C */ | 
 
 
 
 
 | 99 |  | 
 
 
 
 
 | 100 | #ifdef __cplusplus | 
 
 
 
 
 | 101 | } | 
 
 
 
 
 | 102 | #endif | 
 
 
 
 
 | 103 |  | 
 
 
 
 
 | 104 | #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
 
 
 
 
 | 105 |  | 
 
 
 
 
 | 106 | #endif /*_INC_TSSBX*/ |