text: /*** Autogenerated by WIDL 5.0 from ./sessdirpublictypes.idl - Do not edit ***/
  
  #ifdef _WIN32
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 475
  #endif
  #include <rpc.h>
  #include <rpcndr.h>
  #endif
  
  #ifndef COM_NO_WINDOWS_H
  #include <windows.h>
  #include <ole2.h>
  #endif
  
  #ifndef __sessdirpublictypes_h__
  #define __sessdirpublictypes_h__
  
  /* Forward declarations */
  
  /* Headers for imported files */
  
  #include <oaidl.h>
  #include <wtypes.h>
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #include <winapifamily.h>
  #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  
  #define SINGLE_SESSION 0x1
  #define FORCE_REJOIN 0x2
  #define FORCE_REJOIN_IN_CLUSTERMODE 0x3
  #define RESERVED_FOR_LEGACY   0x4
  #define KEEP_EXISTING_SESSIONS 0x8
  
  
  #define SBPLUGIN_CLSID_PROP_STR     _T("CLSID")
  #define SBPLUGIN_ISENABLED_PROP_STR _T("IsEnabled")
  #define SBPLUGIN_PROVIDER_PROP_STR _T("Provider")
  
  
  #define SB_NAME_PROP_STR             _T("SbName")
  #define SB_ISREDIRECTOR_PROP_STR     _T("IsRedirector")
  
  
  #define TARGET_GUID_STR                      _T("TargetGuid")
  #define TARGET_SINGLESESSION                 _T("SingleSession")
  #define TARGET_SERVERCAPABILITY              _T("ServerCapability")
  #define TARGET_MAX_ACTIVE_SESSIONS           _T("ServerMaxActiveSessions")
  #define TARGET_CLIENT_CONNECTION_MONITORING  _T("TargetClientConnectionMonitoring")
  #define TARGET_OWNER_PROP                    _T("TargetOwner")
  #define TARGET_REDIRECTION_GUID              _T("TargetRedirectionGuid")
  #define TARGET_CERTIFICATE                   _T("TargetCertificate")
  #define TARGET_SYMMETRIC_ALG_ID              _T("TargetSymmetricAlgId")
  #define TARGET_SYMMETRIC_KEY                 _T("TargetSymmetricKey")
  #define TARGET_IS_REMOTE_FX_ENABLED          _T("IsRemoteFxEnabled")
  #define TARGET_GRANT_ADMIN_PRIVILEGE         _T("IsUserAdmin")
  #define TARGET_LOAD_WAITTIMEOUT              _T("WaitForTargetTimeout")
  
  #define CONN_REQUEST_CALLING_SERVER_NAME_STR       _T("CallingServerName")
  #define CONN_REQUEST_IS_CALL_FROM_TS_REDIRECTOR    _T("IsCallFromTSRedirector")
  #define CONN_REQUEST_CALLING_SERVER_FARM_NAME_STR  _T("CallingServerFarmName")
  #define CONN_REQUEST_TSV_URL_STR                   _T("TsvUrl")
  #define CONN_REQUEST_TARGETTYPE_FROM_TSVURL        _T("TargetTypeFromTsvUrl")
  #define CONN_REQUEST_TARGETID_FROM_TSVURL          _T("TargetIdFromTsvUrl")
  #define CONN_REQUEST_CPUBPLUGINID_FROM_TSVURL      _T("CPubPluginIdFromTsvUrl")
  #define CONN_REQUEST_RESOURCEPLUGIN_FROM_TSVURL    _T("ResourcePluginFromTsvUrl")
  #define CONN_REQUEST_GUID                          _T("ConnectionRequestGUID")
  #define CONN_REQUEST_CLIENT_NAME                   _T("ConnectionRequestClientName")
  #define CONN_REQUEST_CLIENT_ADDRESS_FAMILY         _T("ConnectionRequestClientAddressFamily")
  #define CONN_REQUEST_CLIENT_ADDRESS                _T("ConnectionRequestClientAddress")
  #define CONN_REQUEST_CLIENT_BUILD_NUMBER           _T("ConnectionRequestClientBuildNumber")
  #define CONN_REQUEST_PROTOCOL_TYPE                 _T("ConnectionRequestProtocolType")
  #define CONN_REQUEST_CLIENT_TIME_ZONE_BIAS         _T("ConnectionRequestClinetTimeZoneBias")
  #define CONN_REQUEST_CLIENT_TIME_ZONE_STANDARD_BIAS _T("ConnectionRequestClinetTimeZoneStandardBias")
  #define CONN_REQUEST_CLIENT_TIME_ZONE_DAYLIGHT_BIAS _T("ConnectionRequestClinetTimeZoneDaylightBias")
  #define CONN_REQUEST_CLIENT_TIME_ZONE_STANDARD_NAME _T("ConnectionRequestClinetTimeZoneStandardName")
  #define CONN_REQUEST_CLIENT_TIME_ZONE_DAYLIGHT_NAME _T("ConnectionRequestClinetTimeZoneDaylightName")
  typedef enum _TSSD_AddrV46Type {
      TSSD_ADDR_UNDEFINED = 0,
      TSSD_ADDR_IPv4 = 4,
      TSSD_ADDR_IPv6 = 6
  } TSSD_AddrV46Type;
  typedef enum _TSSB_NOTIFICATION_TYPE {
      TSSB_NOTIFY_INVALID = 0x0,
      TSSB_NOTIFY_TARGET_CHANGE = 0x1,
      TSSB_NOTIFY_SESSION_CHANGE = 0x2,
      TSSB_NOTIFY_CONNECTION_REQUEST_CHANGE = 0x4
  } TSSB_NOTIFICATION_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(TssbNotificationType, ItemEnum(_TSSB_NOTIFICATION_TYPE));
  // end_wpp
  typedef enum _TARGET_STATE {
      TARGET_UNKNOWN = 0x1,
      TARGET_INITIALIZING = 0x2,
      TARGET_RUNNING = 0x3,
      TARGET_DOWN = 0x4,
      TARGET_HIBERNATED = 0x5,
      TARGET_CHECKED_OUT = 0x6,
      TARGET_STOPPED = 0x7,
      TARGET_INVALID = 0x8,
      TARGET_STARTING = 0x9,
      TARGET_STOPPING = 0xa,
      TARGET_MAXSTATE = 0xb
  } TARGET_STATE;
  // begin_wpp config
  // CUSTOM_TYPE(TargetState, ItemEnum(_TARGET_STATE));
  // end_wpp
  typedef enum _TARGET_CHANGE_TYPE {
      TARGET_CHANGE_UNSPEC = 0x1,
      TARGET_EXTERNALIP_CHANGED = 0x2,
      TARGET_INTERNALIP_CHANGED = 0x4,
      TARGET_JOINED = 0x8,
      TARGET_REMOVED = 0x10,
      TARGET_STATE_CHANGED = 0x20,
      TARGET_IDLE = 0x40,
      TARGET_PENDING = 0x80,
      TARGET_INUSE = 0x100,
      TARGET_PATCH_STATE_CHANGED = 0x200,
      TARGET_FARM_MEMBERSHIP_CHANGED = 0x400
  } TARGET_CHANGE_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(TargetChangeType, ItemEnum(_TARGET_CHANGE_TYPE));
  // end_wpp
  typedef enum _TARGET_TYPE {
      UNKNOWN = 0,
      FARM = 1,
      NONFARM = 2
  } TARGET_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(TargetType, ItemEnum(_TARGET_TYPE));
  // end_wpp
  typedef enum _TARGET_PATCH_STATE {
      TARGET_PATCH_UNKNOWN = 0,
      TARGET_PATCH_NOT_STARTED = 1,
      TARGET_PATCH_IN_PROGRESS = 2,
      TARGET_PATCH_COMPLETED = 3,
      TARGET_PATCH_FAILED = 4
  } TARGET_PATCH_STATE;
  // begin_wpp config
  // CUSTOM_TYPE(TargetPatchState, ItemEnum(_TARGET_PATCH_STATE));
  // end_wpp
  typedef enum _CLIENT_MESSAGE_TYPE {
      CLIENT_MESSAGE_CONNECTION_INVALID = 0,
      CLIENT_MESSAGE_CONNECTION_STATUS = 1,
      CLIENT_MESSAGE_CONNECTION_ERROR = 2
  } CLIENT_MESSAGE_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(ClientMessageType, ItemEnum(_CLIENT_MESSAGE_TYPE));
  // end_wpp
  typedef enum _CONNECTION_CHANGE_NOTIFICATION {
      CONNECTION_REQUEST_INVALID = 0,
      CONNECTION_REQUEST_PENDING = 1,
      CONNECTION_REQUEST_FAILED = 2,
      CONNECTION_REQUEST_TIMEDOUT = 3,
      CONNECTION_REQUEST_SUCCEEDED = 4,
      CONNECTION_REQUEST_CANCELLED = 5,
      CONNECTION_REQUEST_LB_COMPLETED = 6,
      CONNECTION_REQUEST_QUERY_PL_COMPLETED = 7,
      CONNECTION_REQUEST_ORCH_COMPLETED = 8
  } CONNECTION_CHANGE_NOTIFICATION;
  // begin_wpp config
  // CUSTOM_TYPE(ConnChangeNotification, ItemEnum(_CONNECTION_CHANGE_NOTIFICATION));
  // end_wpp
  typedef enum _RD_FARM_TYPE {
      RD_FARM_RDSH = 0,
      RD_FARM_TEMP_VM = 1,
      RD_FARM_MANUAL_PERSONAL_VM = 2,
      RD_FARM_AUTO_PERSONAL_VM = 3,
      RD_FARM_MANUAL_PERSONAL_RDSH = 4,
      RD_FARM_AUTO_PERSONAL_RDSH = 5,
      RD_FARM_TYPE_UNKNOWN = 0xffffffff
  } RD_FARM_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(RdFarmType, ItemEnum(_RD_FARM_TYPE));
  // end_wpp
  typedef enum _PLUGIN_TYPE {
      UNKNOWN_PLUGIN = 0,
      POLICY_PLUGIN = 0x1,
      RESOURCE_PLUGIN = 0x2,
      LOAD_BALANCING_PLUGIN = 0x4,
      PLACEMENT_PLUGIN = 0x8,
      ORCHESTRATION_PLUGIN = 0x10,
      PROVISIONING_PLUGIN = 0x20,
      TASK_PLUGIN = 0x40
  } PLUGIN_TYPE;
  // begin_wpp config
  // CUSTOM_TYPE(PluginType, ItemEnum(_PLUGIN_TYPE));
  // end_wpp
  typedef enum _TSSESSION_STATE {
      STATE_INVALID = -1,
      STATE_ACTIVE = 0,
      STATE_CONNECTED = 1,
      STATE_CONNECTQUERY = 2,
      STATE_SHADOW = 3,
      STATE_DISCONNECTED = 4,
      STATE_IDLE = 5,
      STATE_LISTEN = 6,
      STATE_RESET = 7,
      STATE_DOWN = 8,
      STATE_INIT = 9,
      STATE_MAX = 10
  } TSSESSION_STATE;
  // begin_wpp config
  // CUSTOM_TYPE(TsSessionState, ItemEnum(_TSSESSION_STATE));
  // end_wpp
  typedef enum _TARGET_OWNER {
      OWNER_UNKNOWN = 0,
      OWNER_MS_TS_PLUGIN = 0x1,
      OWNER_MS_VM_PLUGIN = 0x2
  } TARGET_OWNER;
  // begin_wpp config
  // CUSTOM_TYPE(TargetOwner, ItemEnum(TARGET_OWNER));
  // end_wpp
  typedef struct __WIDL_sessdirpublictypes_generated_name_0000000F {
      DWORD HorizontalResolution;
      DWORD VerticalResolution;
      DWORD ColorDepth;
  } CLIENT_DISPLAY;
  typedef struct __WIDL_sessdirpublictypes_generated_name_0000000F *PCLIENT_DISPLAY;
  typedef struct __WIDL_sessdirpublictypes_generated_name_00000010 {
      byte ServerAddressB[16];
      TSSD_AddrV46Type AddressType;
      USHORT PortNumber;
      ULONG AddressScope;
  } TSSD_ConnectionPoint;
  typedef struct __WIDL_sessdirpublictypes_generated_name_00000010 *PTSSD_ConnectionPoint;
  typedef enum _VM_NOTIFY_STATUS {
      VM_NOTIFY_STATUS_PENDING = 0,
      VM_NOTIFY_STATUS_IN_PROGRESS = 1,
      VM_NOTIFY_STATUS_COMPLETE = 2,
      VM_NOTIFY_STATUS_FAILED = 3,
      VM_NOTIFY_STATUS_CANCELED = 4
  } VM_NOTIFY_STATUS;
  typedef struct _VM_NOTIFY_ENTRY {
      WCHAR VmName[128];
      WCHAR VmHost[128];
  } VM_NOTIFY_ENTRY;
  typedef struct _VM_PATCH_INFO {
      DWORD dwNumEntries;
      LPWSTR *pVmNames;
  } VM_PATCH_INFO;
  typedef struct _VM_NOTIFY_INFO {
      DWORD dwNumEntries;
      VM_NOTIFY_ENTRY **ppVmEntries;
  } VM_NOTIFY_INFO;
  typedef enum _VM_HOST_NOTIFY_STATUS {
      VM_HOST_STATUS_INIT_PENDING = 0,
      VM_HOST_STATUS_INIT_IN_PROGRESS = 1,
      VM_HOST_STATUS_INIT_COMPLETE = 2,
      VM_HOST_STATUS_INIT_FAILED = 3
  } VM_HOST_NOTIFY_STATUS;
  typedef enum _RDV_TASK_STATUS {
      RDV_TASK_STATUS_UNKNOWN = 0,
      RDV_TASK_STATUS_SEARCHING = 1,
      RDV_TASK_STATUS_DOWNLOADING = 2,
      RDV_TASK_STATUS_APPLYING = 3,
      RDV_TASK_STATUS_REBOOTING = 4,
      RDV_TASK_STATUS_REBOOTED = 5,
      RDV_TASK_STATUS_SUCCESS = 6,
      RDV_TASK_STATUS_FAILED = 7,
      RDV_TASK_STATUS_TIMEOUT = 8
  } RDV_TASK_STATUS;
  #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  /* Begin additional prototypes for all interfaces */
  
  
  /* End additional prototypes */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* __sessdirpublictypes_h__ */
  