xpmgr/BuildTools/Include/tssbx.h

342 lines
11 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for tssbx.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
protocol : dce , ms_ext, c_ext, oldnames, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __tssbx_h__
#define __tssbx_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IWTSSBPlugin_FWD_DEFINED__
#define __IWTSSBPlugin_FWD_DEFINED__
typedef interface IWTSSBPlugin IWTSSBPlugin;
#endif /* __IWTSSBPlugin_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_tssbx_0000_0000 */
/* [local] */
#define PLUGIN_CAPABILITY_EXTERNAL_REDIRECTION 0x1
extern RPC_IF_HANDLE __MIDL_itf_tssbx_0000_0000_ClientIfHandle;
extern RPC_IF_HANDLE __MIDL_itf_tssbx_0000_0000_ServerIfHandle;
#ifndef __IWTSSBPlugin_INTERFACE_DEFINED__
#define __IWTSSBPlugin_INTERFACE_DEFINED__
/* interface IWTSSBPlugin */
/* [helpstring][uuid][object] */
#define MaxFQDN_Len ( 256 )
#define MaxNetBiosName_Len ( 16 )
#define MaxNumOfExposed_IPs ( 12 )
#define MaxUserName_Len ( 104 )
#define MaxDomainName_Len ( 256 )
#define MaxFarm_Len ( 256 )
#define MaxAppName_Len ( 256 )
typedef /* [public][public][public] */
enum __MIDL_IWTSSBPlugin_0001
{ WTSSBX_MACHINE_DRAIN_UNSPEC = 0,
WTSSBX_MACHINE_DRAIN_OFF = 0x1,
WTSSBX_MACHINE_DRAIN_ON = 0x2
} WTSSBX_MACHINE_DRAIN;
typedef /* [public][public][public] */
enum __MIDL_IWTSSBPlugin_0002
{ WTSSBX_MACHINE_SESSION_MODE_UNSPEC = 0,
WTSSBX_MACHINE_SESSION_MODE_SINGLE = 0x1,
WTSSBX_MACHINE_SESSION_MODE_MULTIPLE = 0x2
} WTSSBX_MACHINE_SESSION_MODE;
typedef /* [public][public][public][public][public][public][public][public] */
enum __MIDL_IWTSSBPlugin_0003
{ WTSSBX_ADDRESS_FAMILY_AF_UNSPEC = 0,
WTSSBX_ADDRESS_FAMILY_AF_INET = 0x1,
WTSSBX_ADDRESS_FAMILY_AF_INET6 = 0x2,
WTSSBX_ADDRESS_FAMILY_AF_IPX = 0x3,
WTSSBX_ADDRESS_FAMILY_AF_NETBIOS = 0x4
} WTSSBX_ADDRESS_FAMILY;
typedef /* [public][public][public][public][public][public][public][public] */ struct __MIDL_IWTSSBPlugin_0004
{
WTSSBX_ADDRESS_FAMILY AddressFamily;
BYTE Address[ 16 ];
unsigned short PortNumber;
DWORD dwScope;
} WTSSBX_IP_ADDRESS;
typedef /* [public][public][public] */
enum __MIDL_IWTSSBPlugin_0005
{ WTSSBX_MACHINE_STATE_UNSPEC = 0,
WTSSBX_MACHINE_STATE_READY = 0x1,
WTSSBX_MACHINE_STATE_SYNCHRONIZING = 0x2
} WTSSBX_MACHINE_STATE;
typedef /* [public][public][public][public] */ struct __MIDL_IWTSSBPlugin_0006
{
WCHAR wczMachineFQDN[ 257 ];
WCHAR wczMachineNetBiosName[ 17 ];
DWORD dwNumOfIPAddr;
WTSSBX_IP_ADDRESS IPaddr[ 12 ];
} WTSSBX_MACHINE_CONNECT_INFO;
typedef /* [public][public] */ struct __MIDL_IWTSSBPlugin_0007
{
WTSSBX_MACHINE_CONNECT_INFO ClientConnectInfo;
WCHAR wczFarmName[ 257 ];
WTSSBX_IP_ADDRESS InternalIPAddress;
DWORD dwMaxSessionsLimit;
DWORD ServerWeight;
WTSSBX_MACHINE_SESSION_MODE SingleSessionMode;
WTSSBX_MACHINE_DRAIN InDrain;
WTSSBX_MACHINE_STATE MachineState;
} WTSSBX_MACHINE_INFO;
typedef /* [public][public][public] */
enum __MIDL_IWTSSBPlugin_0008
{ WTSSBX_SESSION_STATE_UNSPEC = 0,
WTSSBX_SESSION_STATE_ACTIVE = 0x1,
WTSSBX_SESSION_STATE_DISCONNECTED = 0x2
} WTSSBX_SESSION_STATE;
typedef /* [public][public] */ struct __MIDL_IWTSSBPlugin_0009
{
WCHAR wszUserName[ 105 ];
WCHAR wszDomainName[ 257 ];
WCHAR ApplicationType[ 257 ];
DWORD dwSessionId;
FILETIME CreateTime;
FILETIME DisconnectTime;
WTSSBX_SESSION_STATE SessionState;
} WTSSBX_SESSION_INFO;
typedef /* [public][public][public] */
enum __MIDL_IWTSSBPlugin_0010
{ WTSSBX_NOTIFICATION_REMOVED = 0x1,
WTSSBX_NOTIFICATION_CHANGED = 0x2,
WTSSBX_NOTIFICATION_ADDED = 0x4,
WTSSBX_NOTIFICATION_RESYNC = 0x8
} WTSSBX_NOTIFICATION_TYPE;
EXTERN_C const IID IID_IWTSSBPlugin;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("DC44BE78-B18D-4399-B210-641BF67A002C")
IWTSSBPlugin : public IUnknown
{
public:
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
/* [out] */ __RPC__out DWORD *PluginCapabilities) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WTSSBX_MachineChangeNotification(
/* [in] */ WTSSBX_NOTIFICATION_TYPE NotificationType,
/* [in] */ long MachineId,
/* [in] */ __RPC__in WTSSBX_MACHINE_INFO *pMachineInfo) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WTSSBX_SessionChangeNotification(
/* [in] */ WTSSBX_NOTIFICATION_TYPE NotificationType,
/* [in] */ long MachineId,
/* [in] */ DWORD NumOfSessions,
/* [size_is][in] */ __RPC__in_ecount_full(NumOfSessions) WTSSBX_SESSION_INFO SessionInfo[ ]) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WTSSBX_GetMostSuitableServer(
/* [string][in] */ __RPC__in_string WCHAR *UserName,
/* [string][in] */ __RPC__in_string WCHAR *DomainName,
/* [string][in] */ __RPC__in_string WCHAR *ApplicationType,
/* [string][in] */ __RPC__in_string WCHAR *FarmName,
/* [out][in] */ __RPC__inout long *pMachineId) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Terminated( void) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WTSSBX_GetUserExternalSession(
/* [string][in] */ __RPC__in_string WCHAR *UserName,
/* [string][in] */ __RPC__in_string WCHAR *DomainName,
/* [string][in] */ __RPC__in_string WCHAR *ApplicationType,
/* [in] */ __RPC__in WTSSBX_IP_ADDRESS *RedirectorInternalIP,
/* [out] */ __RPC__out DWORD *pSessionId,
/* [out] */ __RPC__out WTSSBX_MACHINE_CONNECT_INFO *pMachineConnectInfo) = 0;
};
#else /* C style interface */
typedef struct IWTSSBPluginVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IWTSSBPlugin * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IWTSSBPlugin * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IWTSSBPlugin * This);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )(
__RPC__in IWTSSBPlugin * This,
/* [out] */ __RPC__out DWORD *PluginCapabilities);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WTSSBX_MachineChangeNotification )(
__RPC__in IWTSSBPlugin * This,
/* [in] */ WTSSBX_NOTIFICATION_TYPE NotificationType,
/* [in] */ long MachineId,
/* [in] */ __RPC__in WTSSBX_MACHINE_INFO *pMachineInfo);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WTSSBX_SessionChangeNotification )(
__RPC__in IWTSSBPlugin * This,
/* [in] */ WTSSBX_NOTIFICATION_TYPE NotificationType,
/* [in] */ long MachineId,
/* [in] */ DWORD NumOfSessions,
/* [size_is][in] */ __RPC__in_ecount_full(NumOfSessions) WTSSBX_SESSION_INFO SessionInfo[ ]);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WTSSBX_GetMostSuitableServer )(
__RPC__in IWTSSBPlugin * This,
/* [string][in] */ __RPC__in_string WCHAR *UserName,
/* [string][in] */ __RPC__in_string WCHAR *DomainName,
/* [string][in] */ __RPC__in_string WCHAR *ApplicationType,
/* [string][in] */ __RPC__in_string WCHAR *FarmName,
/* [out][in] */ __RPC__inout long *pMachineId);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Terminated )(
__RPC__in IWTSSBPlugin * This);
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WTSSBX_GetUserExternalSession )(
__RPC__in IWTSSBPlugin * This,
/* [string][in] */ __RPC__in_string WCHAR *UserName,
/* [string][in] */ __RPC__in_string WCHAR *DomainName,
/* [string][in] */ __RPC__in_string WCHAR *ApplicationType,
/* [in] */ __RPC__in WTSSBX_IP_ADDRESS *RedirectorInternalIP,
/* [out] */ __RPC__out DWORD *pSessionId,
/* [out] */ __RPC__out WTSSBX_MACHINE_CONNECT_INFO *pMachineConnectInfo);
END_INTERFACE
} IWTSSBPluginVtbl;
interface IWTSSBPlugin
{
CONST_VTBL struct IWTSSBPluginVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IWTSSBPlugin_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IWTSSBPlugin_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IWTSSBPlugin_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IWTSSBPlugin_Initialize(This,PluginCapabilities) \
( (This)->lpVtbl -> Initialize(This,PluginCapabilities) )
#define IWTSSBPlugin_WTSSBX_MachineChangeNotification(This,NotificationType,MachineId,pMachineInfo) \
( (This)->lpVtbl -> WTSSBX_MachineChangeNotification(This,NotificationType,MachineId,pMachineInfo) )
#define IWTSSBPlugin_WTSSBX_SessionChangeNotification(This,NotificationType,MachineId,NumOfSessions,SessionInfo) \
( (This)->lpVtbl -> WTSSBX_SessionChangeNotification(This,NotificationType,MachineId,NumOfSessions,SessionInfo) )
#define IWTSSBPlugin_WTSSBX_GetMostSuitableServer(This,UserName,DomainName,ApplicationType,FarmName,pMachineId) \
( (This)->lpVtbl -> WTSSBX_GetMostSuitableServer(This,UserName,DomainName,ApplicationType,FarmName,pMachineId) )
#define IWTSSBPlugin_Terminated(This) \
( (This)->lpVtbl -> Terminated(This) )
#define IWTSSBPlugin_WTSSBX_GetUserExternalSession(This,UserName,DomainName,ApplicationType,RedirectorInternalIP,pSessionId,pMachineConnectInfo) \
( (This)->lpVtbl -> WTSSBX_GetUserExternalSession(This,UserName,DomainName,ApplicationType,RedirectorInternalIP,pSessionId,pMachineConnectInfo) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IWTSSBPlugin_INTERFACE_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif