| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _INC_TSSBX |
| #define _INC_TSSBX |
| |
| #if (_WIN32_WINNT >= 0x0600) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef enum _WTSSBX_ADDRESS_FAMILY { |
| WTSSBX_ADDRESS_FAMILY_AF_UNSPEC = 0, |
| WTSSBX_ADDRESS_FAMILY_AF_INET = 1, |
| WTSSBX_ADDRESS_FAMILY_AF_INET6 = 2, |
| WTSSBX_ADDRESS_FAMILY_AF_IPX = 3, |
| WTSSBX_ADDRESS_FAMILY_AF_NETBIOS = 4 |
| } WTSSBX_ADDRESS_FAMILY; |
| |
| typedef enum _WTSSBX_MACHINE_DRAIN { |
| WTSSBX_MACHINE_DRAIN_UNSPEC = 0, |
| WTSSBX_MACHINE_DRAIN_OFF = 1, |
| WTSSBX_MACHINE_DRAIN_ON = 2 |
| } WTSSBX_MACHINE_DRAIN; |
| |
| typedef enum _WTSSBX_NOTIFICATION_TYPE { |
| WTSSBX_MACHINE_SESSION_MODE_UNSPEC = 0, |
| WTSSBX_MACHINE_SESSION_MODE_SINGLE = 1, |
| WTSSBX_MACHINE_SESSION_MODE_MULTIPLE = 2 |
| } WTSSBX_NOTIFICATION_TYPE; |
| |
| typedef enum _WTSSBX_MACHINE_STATE { |
| WTSSBX_MACHINE_STATE_UNSPEC = 0, |
| WTSSBX_MACHINE_STATE_READY = 1, |
| WTSSBX_MACHINE_STATE_SYNCHRONIZING = 2 |
| } WTSSBX_MACHINE_STATE; |
| |
| typedef enum _WTSSBX_NOTIFICATION_TYPE { |
| WTSSBX_NOTIFICATION_REMOVED = 1, |
| WTSSBX_NOTIFICATION_CHANGED = 2, |
| WTSSBX_NOTIFICATION_ADDED = 4, |
| WTSSBX_NOTIFICATION_RESYNC = 8 |
| } WTSSBX_NOTIFICATION_TYPE; |
| |
| typedef enum _WTSSBX_SESSION_STATE { |
| WTSSBX_SESSION_STATE_UNSPEC = 0, |
| WTSSBX_SESSION_STATE_ACTIVE = 1, |
| WTSSBX_SESSION_STATE_DISCONNECTED = 2 |
| } WTSSBX_SESSION_STATE; |
| |
| typedef struct _WTSSBX_IP_ADDRESS { |
| WTSSBX_ADDRESS_FAMILY AddressFamily; |
| BYTE Address[16]; |
| unsigned short PortNumber; |
| DWORD dwScope; |
| } WTSSBX_IP_ADDRESS; |
| |
| #define MaxFQDN_Len 256 |
| #define MaxNetBiosName_Len 16 |
| |
| typedef struct _WTSSBX_MACHINE_CONNECT_INFO { |
| WCHAR wczMachineFQDN[MaxFQDN_Len + 1]; |
| WCHAR wczMachineNetBiosName[MaxNetBiosName_Len + 1]; |
| DWORD dwNumOfIPAddr; |
| WTSSBX_IP_ADDRESS IPaddr[MaxNumOfExposed_IPs]; |
| } WTSSBX_MACHINE_CONNECT_INFO; |
| |
| #define MaxFarm_Len 256 |
| |
| typedef struct _WTSSBX_MACHINE_INFO { |
| WTSSBX_MACHINE_CONNECT_INFO ClientConnectInfo; |
| WCHAR wczFarmName[MaxFarm_Len + 1]; |
| WTSSBX_IP_ADDRESS InternalIPAddress; |
| DWORD dwMaxSessionsLimit; |
| DWORD ServerWeight; |
| WTSSBX_MACHINE_SESSION_MODE SingleSessionMode; |
| WTSSBX_MACHINE_DRAIN InDrain; |
| WTSSBX_MACHINE_STATE MachineState; |
| } WTSSBX_MACHINE_INFO; |
| |
| #define MaxUserName_Len 104 |
| #define MaxDomainName_Len 256 |
| #define MaxAppName_Len 256 |
| |
| typedef struct _WTSSBX_SESSION_INFO { |
| WCHAR wszUserName[MaxUserName_Len + 1]; |
| WCHAR wszDomainName[MaxDomainName_Len + 1]; |
| WCHAR ApplicationType[MaxAppName_Len + 1]; |
| DWORD dwSessionId; |
| FILETIME CreateTime; |
| FILETIME DisconnectTime; |
| WTSSBX_SESSION_STATE SessionState; |
| } WTSSBX_SESSION_INFO; |
| |
| /* IID_IWTSSBPlugin is defined as DC44BE78-B18D-4399-B210-641BF67A002C */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ |
| |
| #endif /*_INC_TSSBX*/ |