mirror of https://github.com/UMSKT/xpmgr.git
949 lines
24 KiB
Plaintext
949 lines
24 KiB
Plaintext
cpp_quote("#pragma once")
|
|
|
|
import "unknwn.idl";
|
|
import "oaidl.idl";
|
|
import "SessdirPublicTypes.idl";
|
|
|
|
//
|
|
// Forward declarations
|
|
//
|
|
//Interfaces implemented by the client
|
|
interface ITsSbPlugin;
|
|
interface ITsSbResourcePlugin;
|
|
interface ITsSbLoadBalancing;
|
|
interface ITsSbPlacement;
|
|
interface ITsSbOrchestration;
|
|
interface ITsSbEnvironment;
|
|
interface ITsSbLoadBalanceResult;
|
|
interface ITsSbTarget;
|
|
interface ITsSbSession;
|
|
interface ITsSbResourceNotification;
|
|
|
|
//Interfaces implemented by the broker
|
|
interface ITsSbPropertySet;
|
|
interface ITsSbPluginPropertySet;
|
|
interface ITsSbClientConnectionPropertySet;
|
|
interface ITsSbTargetPropertySet;
|
|
interface ITsSbEnvironmentPropertySet;
|
|
interface ITsSbBaseNotifySink;
|
|
interface ITsSbPluginNotifySink;
|
|
interface ITsSbTargetNotifySink;
|
|
interface ITsSbSessionNotifySink;
|
|
interface ITsSbLoadBalancingNotifySink;
|
|
interface ITsSbPlacementNotifySink;
|
|
interface ITsSbOrchestrationNotifySink;
|
|
interface ITsSbClientConnection;
|
|
interface ITsSbProvider;
|
|
interface ITsSbResourcePluginStore;
|
|
interface ITsSbGlobalStore;
|
|
|
|
[
|
|
object,
|
|
uuid(48cd7406-caab-465f-a5d6-baa863b9ea4f),
|
|
helpstring("interface ITsSbPlugin"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPlugin : IUnknown
|
|
{
|
|
[id(1), helpstring("method Initialize")]
|
|
HRESULT
|
|
Initialize(
|
|
[in] ITsSbProvider *pProvider,
|
|
[in] ITsSbPluginNotifySink* pNotifySink,
|
|
[in] ITsSbPluginPropertySet* pPropertySet
|
|
);
|
|
|
|
[id(2), helpstring("method Terminate")]
|
|
HRESULT
|
|
Terminate(
|
|
[in] HRESULT hr
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(7633f4e7-8a10-49a1-8413-e4783001b70e),
|
|
helpstring("interface ITsSbResourcePlugin"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbResourcePlugin : ITsSbPlugin
|
|
{
|
|
[id(1), helpstring("method Refresh")]
|
|
HRESULT
|
|
Refresh(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR pEnvBindingStr
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(24329274-9EB7-11DC-AE98-F2B456D89593),
|
|
helpstring("interface ITsSbLoadBalancing"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbLoadBalancing : ITsSbPlugin
|
|
{
|
|
[id(1), helpstring("method GetMostSuitableTarget")]
|
|
HRESULT
|
|
GetMostSuitableTarget(
|
|
[in] ITsSbClientConnection* pConnection,
|
|
[in] ITsSbLoadBalancingNotifySink* pLBSink
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(B937A478-9EB6-11DC-8377-D5B056D89593),
|
|
helpstring("interface ITsSbPlacement"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPlacement : ITsSbPlugin
|
|
{
|
|
[id(1), helpstring("method QueryEnvironmentForTarget")]
|
|
HRESULT
|
|
QueryEnvironmentForTarget(
|
|
[in] ITsSbClientConnection* pConnection,
|
|
[in] ITsSbPlacementNotifySink* pPlacementSink
|
|
);
|
|
|
|
[id(2), helpstring("method CreateEnvironmentForTarget")]
|
|
HRESULT
|
|
CreateEnvironmentForTarget(
|
|
[in] ITsSbClientConnection* pConnection,
|
|
[in] ITsSbPlacementNotifySink* pPlacementSink
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(64FC1172-9EB7-11DC-8B00-3ABA56D89593),
|
|
helpstring("interface ITsSbOrchestration"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbOrchestration : ITsSbPlugin
|
|
{
|
|
[id(1), helpstring("method PrepareTargetForConnect")]
|
|
HRESULT
|
|
PrepareTargetForConnect(
|
|
[in] ITsSbClientConnection* pConnection,
|
|
[in] ITsSbOrchestrationNotifySink* pOrchestrationNotifySink
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(8c87f7f7-bf51-4a5c-87bf-8e94fb6e2256),
|
|
helpstring("interface ITsSbEnvironment "),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbEnvironment : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property Name")]
|
|
HRESULT Name(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propget, id(2), helpstring("property ServerWeight")]
|
|
HRESULT ServerWeight(
|
|
[out, retval] DWORD *pVal
|
|
);
|
|
|
|
[propget, id(3), helpstring("property EnvironmentPropertySet")]
|
|
HRESULT
|
|
EnvironmentPropertySet(
|
|
[out, retval] ITsSbEnvironmentPropertySet** ppPropertySet
|
|
);
|
|
|
|
[propput, id(3), helpstring("property EnvironmentPropertySet")]
|
|
HRESULT
|
|
EnvironmentPropertySet(
|
|
[in] ITsSbEnvironmentPropertySet* pVal
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(24FDB7AC-FEA6-11DC-9672-9A8956D89593),
|
|
helpstring("interface ITsSbLoadBalanceResult"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbLoadBalanceResult: IUnknown
|
|
{
|
|
|
|
[propget, id(1), helpstring("property TargetName")]
|
|
HRESULT TargetName(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(e85e10ea-db0b-4752-b456-5fd5840901c0),
|
|
helpstring("interface ITsSbTarget"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbTarget : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property TargetName")]
|
|
HRESULT TargetName(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propget, id(2), helpstring("property FarmName")]
|
|
HRESULT FarmName(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propput, id(2), helpstring("property FarmName")]
|
|
HRESULT FarmName(
|
|
[in] BSTR Val
|
|
);
|
|
|
|
[propget, id(3), helpstring("property TargetFQDN")]
|
|
HRESULT
|
|
TargetFQDN(
|
|
[out, retval] BSTR *TargetFqdnName
|
|
);
|
|
|
|
[propput, id(3), helpstring("property TargetFQDN")]
|
|
HRESULT
|
|
TargetFQDN(
|
|
[in] BSTR Val
|
|
);
|
|
|
|
[propget, id(4), helpstring("property TargetNetbios")]
|
|
HRESULT
|
|
TargetNetbios(
|
|
[out, retval] BSTR *TargetNetbiosName
|
|
);
|
|
|
|
[propput, id(4), helpstring("property TargetNetbios")]
|
|
HRESULT
|
|
TargetNetbios(
|
|
[in] BSTR Val
|
|
);
|
|
|
|
[propget, id(5), helpstring("property TargetExternalIpAddresses")]
|
|
HRESULT
|
|
TargetExternalIpAddresses(
|
|
[out, size_is(*numAddresses)] TSSD_ConnectionPoint* sockaddr,
|
|
[in, out] DWORD* numAddresses
|
|
);
|
|
|
|
[propput, id(5), helpstring("property TargetExternalIpAddresses")]
|
|
HRESULT
|
|
TargetExternalIpAddresses(
|
|
[in, size_is(numAddresses)] TSSD_ConnectionPoint *sockaddr,
|
|
[in] DWORD numAddresses
|
|
);
|
|
|
|
[propget, id(6), helpstring("property TargetInternalIpAddresses")]
|
|
HRESULT
|
|
TargetInternalIpAddresses(
|
|
[out, size_is(*numAddresses)] TSSD_ConnectionPoint* sockaddr,
|
|
[in, out] DWORD* numAddresses
|
|
);
|
|
|
|
[propput, id(6), helpstring("property TargetInternalIpAddresses")]
|
|
HRESULT
|
|
TargetInternalIpAddresses(
|
|
[in, size_is(numAddresses)] TSSD_ConnectionPoint *sockaddr,
|
|
[in] DWORD numAddresses
|
|
);
|
|
|
|
[propget, id(7), helpstring("property TargetState")]
|
|
HRESULT
|
|
TargetState(
|
|
[out, retval] TARGET_STATE* pState
|
|
);
|
|
|
|
[propput, id(7), helpstring("property TargetState")]
|
|
HRESULT
|
|
TargetState(
|
|
[in] TARGET_STATE State
|
|
);
|
|
|
|
[propget, id(8), helpstring("property TargetPropertySet")]
|
|
HRESULT
|
|
TargetPropertySet(
|
|
[out, retval] ITsSbTargetPropertySet** ppPropertySet
|
|
);
|
|
|
|
[propput, id(8), helpstring("property TargetPropertySet")]
|
|
HRESULT
|
|
TargetPropertySet(
|
|
[in] ITsSbTargetPropertySet *pVal
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(1ef3d5cf-8fbb-4a5a-ab4a-7f85b218bd8d),
|
|
helpstring("interface ITsSbSession"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbSession : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property SessionId")]
|
|
HRESULT
|
|
SessionId(
|
|
[out, retval] DWORD *pVal
|
|
);
|
|
|
|
[propget, id(2), helpstring("property TargetName")]
|
|
HRESULT
|
|
TargetName(
|
|
[out, retval] BSTR *targetName
|
|
);
|
|
|
|
[propget, id(3), helpstring("property Username")]
|
|
HRESULT
|
|
Username(
|
|
[out, retval] BSTR *userName
|
|
);
|
|
|
|
[propget, id(4), helpstring("property Domain")]
|
|
HRESULT
|
|
Domain(
|
|
[out, retval] BSTR *domain
|
|
);
|
|
|
|
[propget, id(5), helpstring("property State")]
|
|
HRESULT
|
|
State(
|
|
[out, retval] TSSESSION_STATE* pState
|
|
);
|
|
|
|
[propput, id(6), helpstring("property State")]
|
|
HRESULT
|
|
State(
|
|
[in] TSSESSION_STATE State
|
|
);
|
|
|
|
[propget, id(7), helpstring("property CreateTime")]
|
|
HRESULT
|
|
CreateTime(
|
|
[out, retval] FILETIME* pTime
|
|
);
|
|
|
|
[propput, id(8), helpstring("property CreateTime")]
|
|
HRESULT
|
|
CreateTime(
|
|
[in] FILETIME Time
|
|
);
|
|
|
|
[propget, id(9), helpstring("property DisconnectTime")]
|
|
HRESULT
|
|
DisconnectTime(
|
|
[out, retval] FILETIME* pTime
|
|
);
|
|
|
|
[propput, id(10), helpstring("property DisconnectTime")]
|
|
HRESULT
|
|
DisconnectTime(
|
|
[in] FILETIME Time
|
|
);
|
|
|
|
[propget, id(11), helpstring("property InitialProgram")]
|
|
HRESULT
|
|
InitialProgram(
|
|
[out, retval] BSTR *app
|
|
);
|
|
|
|
[propput, id(12), helpstring("property InitialProgram")]
|
|
HRESULT
|
|
InitialProgram(
|
|
[in] BSTR Application
|
|
);
|
|
|
|
[propget, id(13), helpstring("property ClientDisplay")]
|
|
HRESULT
|
|
ClientDisplay(
|
|
[out, retval] CLIENT_DISPLAY *pClientDisplay
|
|
);
|
|
|
|
[propput, id(14), helpstring("property ClientDisplay")]
|
|
HRESULT
|
|
ClientDisplay(
|
|
[in] CLIENT_DISPLAY pClientDisplay
|
|
);
|
|
[propget, id(15), helpstring("property ProtocolType")]
|
|
HRESULT
|
|
ProtocolType(
|
|
[out, retval] DWORD *pVal
|
|
);
|
|
|
|
[propput, id(16), helpstring("property ProtocolType")]
|
|
HRESULT
|
|
ProtocolType(
|
|
[in] DWORD Val
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(65D3E85A-C39B-11DC-B92D-3CD255D89593),
|
|
helpstring("interface ITsSbResourceNotification"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbResourceNotification : IUnknown
|
|
{
|
|
[id(1), helpstring("method NotifySessionChange")]
|
|
HRESULT
|
|
NotifySessionChange(
|
|
[in] TSSESSION_STATE changeType,
|
|
[in] ITsSbSession* pSession
|
|
);
|
|
|
|
[id(2), helpstring("method NotifyTargetChange")]
|
|
HRESULT
|
|
NotifyTargetChange(
|
|
[in] DWORD TargetChangeType,
|
|
[in] ITsSbTarget* pTarget
|
|
);
|
|
|
|
[id(3), helpstring("method NotifyClientConnectionStateChange")]
|
|
HRESULT
|
|
NotifyClientConnectionStateChange(
|
|
[in] CONNECTION_CHANGE_NOTIFICATION ChangeType,
|
|
[in] ITsSbClientConnection *pConnection
|
|
);
|
|
};
|
|
|
|
//
|
|
//Interfaces implemented by the broker
|
|
//
|
|
[
|
|
object,
|
|
uuid(5c025171-bb1e-4baf-a212-6d5e9774b33b),
|
|
helpstring("interface ITsSbPropertySet"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPropertySet : IPropertyBag
|
|
{
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(95006e34-7eff-4b6c-bb40-49a4fda7cea6),
|
|
helpstring("interface ITsSbPluginPropertySet"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPluginPropertySet : ITsSbPropertySet
|
|
{
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(E51995B0-46D6-11DD-AA21-CEDC55D89593),
|
|
helpstring("interface ITsSbClientConnectionPropertySet"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbClientConnectionPropertySet : ITsSbPropertySet
|
|
{
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(f7bda5d6-994c-4e11-a079-2763b61830ac),
|
|
helpstring("interface ITsSbTargetPropertySet"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbTargetPropertySet : ITsSbPropertySet
|
|
{
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(D0D1BF7E-7ACF-11DD-A243-E51156D89593),
|
|
helpstring("interface ITsSbEnvironmentPropertySet"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbEnvironmentPropertySet : ITsSbPropertySet
|
|
{
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(808a6537-1282-4989-9e09-f43938b71722),
|
|
helpstring("interface ITsSbBaseNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbBaseNotifySink: IUnknown
|
|
{
|
|
[id(1), helpstring("method OnError")]
|
|
HRESULT
|
|
OnError(
|
|
[in] HRESULT hrError
|
|
);
|
|
|
|
[id(2), helpstring("method OnReportStatus")]
|
|
HRESULT
|
|
OnReportStatus(
|
|
[in] CLIENT_MESSAGE_TYPE messageType,
|
|
[in] DWORD messageID
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(44dfe30b-c3be-40f5-bf82-7a95bb795adf),
|
|
helpstring("interface ITsSbPluginNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPluginNotifySink: ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnInitialized")]
|
|
HRESULT
|
|
OnInitialized(
|
|
[in] HRESULT hr
|
|
);
|
|
|
|
[id(2), helpstring("method OnTerminated")]
|
|
HRESULT
|
|
OnTerminated();
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(2be69924-ddf2-44b9-ab92-2c27aefb4379),
|
|
helpstring("interface ITsSbTargetNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbTargetNotifySink : ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnConfigChange")]
|
|
HRESULT
|
|
OnConfigChange(
|
|
[in] DWORD TargetConfigTypes
|
|
);
|
|
|
|
[id(2), helpstring("method OnStateChange")]
|
|
HRESULT
|
|
OnStateChange();
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(a821601f-d822-4fe2-a2a3-cd4b00652a1a),
|
|
helpstring("interface ITsSbSessionNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbSessionNotifySink : ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnStateChange")]
|
|
HRESULT
|
|
OnStateChange();
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(7f3fdb2f-c8dc-4873-a600-8580787baa64),
|
|
helpstring("interface ITsSbLoadBalancingNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbLoadBalancingNotifySink : ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnGetMostSuitableTarget")]
|
|
HRESULT
|
|
OnGetMostSuitableTarget(
|
|
[in] ITsSbLoadBalanceResult* pLBResult
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(3a2da1d1-1ad9-4248-ac21-13bbc273dd42),
|
|
helpstring("interface ITsSbPlacementNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbPlacementNotifySink : ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnQueryEnvironmentCompleted")]
|
|
HRESULT
|
|
OnQueryEnvironmentCompleted(
|
|
[in] ITsSbEnvironment* pEnvironment
|
|
);
|
|
|
|
[id(2), helpstring("method OnEnvironmentReady")]
|
|
HRESULT
|
|
OnEnvironmentReady(
|
|
[in] ITsSbEnvironment* pEnvironment
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(36c37d61-926b-442f-bca5-118c6d50dcf2),
|
|
helpstring("interface ITsSbOrchestrationNotifySink"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbOrchestrationNotifySink : ITsSbBaseNotifySink
|
|
{
|
|
[id(1), helpstring("method OnReadyToConnect")]
|
|
HRESULT
|
|
OnReadyToConnect(
|
|
[in] ITsSbTarget* pTarget
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(da852238-59c8-481f-996b-301388d496d3),
|
|
helpstring("interface ITsSbClientConnection"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbClientConnection : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property Username")]
|
|
HRESULT
|
|
UserName(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propget, id(2), helpstring("property Domain")]
|
|
HRESULT
|
|
Domain(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propget, id(3), helpstring("property InitialProgram")]
|
|
HRESULT
|
|
InitialProgram(
|
|
[out, retval] BSTR *pVal
|
|
);
|
|
|
|
[propget, id(4), helpstring("property LoadBalanceResult")]
|
|
HRESULT
|
|
LoadBalanceResult(
|
|
[out, retval] ITsSbLoadBalanceResult **ppVal
|
|
);
|
|
|
|
[propget, id(5), helpstring("property TargetType")]
|
|
HRESULT
|
|
TargetType(
|
|
[out, retval] TARGET_TYPE* targetType
|
|
);
|
|
|
|
[propget, id(6), helpstring("property TargetName")]
|
|
HRESULT
|
|
TargetName(
|
|
[out, retval] BSTR* pVal
|
|
);
|
|
|
|
[local, id(7), helpstring("method PutContext")]
|
|
HRESULT
|
|
PutContext(
|
|
[annotation("__in")] BSTR contextId,
|
|
[annotation("__in")] VARIANT context,
|
|
[annotation("__out_opt")] VARIANT *existingContext
|
|
);
|
|
|
|
[id(8), helpstring("method GetContext")]
|
|
HRESULT
|
|
GetContext(
|
|
[in] BSTR contextId,
|
|
[out, retval] VARIANT *context
|
|
);
|
|
|
|
[propget, id(9), helpstring("property Environment")]
|
|
HRESULT
|
|
Environment(
|
|
[out, retval] ITsSbEnvironment **ppEnvironment
|
|
);
|
|
|
|
[propget, id(10), helpstring("property IsDisconnectedSession")]
|
|
HRESULT
|
|
IsDisconnectedSession(
|
|
[out, retval] BOOL *pIsDisconnectionSession);
|
|
|
|
[propget, id(12), helpstring("property ConnectionError")]
|
|
HRESULT
|
|
ConnectionError(
|
|
);
|
|
|
|
// This is a helper method, returns domain\username
|
|
[propget, id(13), helpstring("property SamUserAccount")]
|
|
HRESULT
|
|
SamUserAccount(
|
|
[out, retval] BSTR* pVal
|
|
);
|
|
|
|
[propget, id(14), helpstring("property ClientConnectionPropertySet")]
|
|
HRESULT
|
|
ClientConnectionPropertySet(
|
|
[out, retval] ITsSbClientConnectionPropertySet** ppPropertySet
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(67199246-f3a4-4035-a1f2-be2f16afb1af),
|
|
helpstring("interface ITsSbProvider"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbProvider : IUnknown
|
|
{
|
|
[id(1), helpstring("method CreateTargetObject")]
|
|
HRESULT
|
|
CreateTargetObject(
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbTarget **ppTarget
|
|
);
|
|
|
|
[id(2), helpstring("method CreateLoadBalanceResultObject")]
|
|
HRESULT
|
|
CreateLoadBalanceResultObject(
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbLoadBalanceResult **ppLBResult
|
|
);
|
|
|
|
[id(3), helpstring("method CreateSessionObject")]
|
|
HRESULT
|
|
CreateSessionObject(
|
|
[in] BSTR TargetName,
|
|
[in] BSTR UserName,
|
|
[in] BSTR Domain,
|
|
[in] DWORD SessionId,
|
|
[out] ITsSbSession **ppSession
|
|
);
|
|
|
|
[id(4), helpstring("method CreatePluginPropertySet")]
|
|
HRESULT
|
|
CreatePluginPropertySet(
|
|
[out, retval] ITsSbPluginPropertySet** ppPropertySet
|
|
);
|
|
|
|
[id(5), helpstring("method CreateTargetPropertySetObject")]
|
|
HRESULT
|
|
CreateTargetPropertySetObject(
|
|
[out] ITsSbTargetPropertySet **ppPropertySet
|
|
);
|
|
|
|
[id(6), helpstring("method CreateEnvironmentObject")]
|
|
HRESULT
|
|
CreateEnvironmentObject(
|
|
[in] BSTR Name,
|
|
[in] DWORD ServerWeight,
|
|
[out] ITsSbEnvironment **ppEnvironment
|
|
);
|
|
|
|
[id(8), helpstring("method GetResourcePluginStore")]
|
|
HRESULT
|
|
GetResourcePluginStore(
|
|
[in] ITsSbResourcePlugin* pResourcePlugin,
|
|
[out] ITsSbResourcePluginStore** ppStore
|
|
);
|
|
|
|
[id(9), helpstring("method RegisterForNotification")]
|
|
HRESULT
|
|
RegisterForNotification(
|
|
[in] DWORD notificationType,
|
|
[in] BSTR ResourceToMonitor,
|
|
[in] ITsSbResourceNotification *pPluginNotification
|
|
);
|
|
|
|
[id(10), helpstring("method UnRegisterForNotification")]
|
|
HRESULT
|
|
UnRegisterForNotification(
|
|
[in] DWORD notificationType,
|
|
[in] BSTR ResourceToMonitor
|
|
);
|
|
|
|
[id(11), helpstring("method GetInstanceOfGlobalStore")]
|
|
HRESULT
|
|
GetInstanceOfGlobalStore(
|
|
[out] ITsSbGlobalStore** ppGlobalStore
|
|
);
|
|
|
|
[id(12), helpstring("method CreateEnvironmentPropertySetObject")]
|
|
HRESULT
|
|
CreateEnvironmentPropertySetObject(
|
|
[out] ITsSbEnvironmentPropertySet **ppPropertySet
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(03aba8da-3fdf-4c3f-9304-7842430cc606),
|
|
helpstring("interface ITsSbResourcePluginStore"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbResourcePluginStore : IUnknown
|
|
{
|
|
[id(1), helpstring("method QueryTarget")]
|
|
HRESULT
|
|
QueryTarget(
|
|
[in] BSTR TargetName,
|
|
[in] BSTR FarmName, // if NULL, the first target found will be returned
|
|
[out] ITsSbTarget **ppTarget
|
|
);
|
|
|
|
[id(2), helpstring("method GetTargetNotifySink")]
|
|
HRESULT
|
|
GetTargetNotifySink(
|
|
[in] ITsSbTarget *pTarget,
|
|
[out] ITsSbTargetNotifySink **ppTargetNotifySink
|
|
);
|
|
|
|
[id(3), helpstring("method QuerySessionByUserName")]
|
|
HRESULT
|
|
QuerySessionByUserName(
|
|
[in] BSTR UserName,
|
|
[in] TARGET_TYPE TargetType,
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbSession **ppSession
|
|
);
|
|
|
|
[id(4), helpstring("method QuerySessionBySessionId")]
|
|
HRESULT
|
|
QuerySessionBySessionId(
|
|
[in] DWORD dwSessionId,
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbSession **ppSession
|
|
);
|
|
|
|
[id(5), helpstring("method GetSessionNotifySink")]
|
|
HRESULT
|
|
GetSessionNotifySink(
|
|
[in] ITsSbSession *pSession,
|
|
[out] ITsSbSessionNotifySink **ppSessionNotifySink
|
|
);
|
|
|
|
[id(6), helpstring("method AddTargetToStore")]
|
|
HRESULT
|
|
AddTargetToStore(
|
|
[in] ITsSbTarget* pTarget,
|
|
[out] ITsSbTargetNotifySink** ppTargetNotifySink
|
|
);
|
|
|
|
[id(7), helpstring("method AddSessionToStore")]
|
|
HRESULT
|
|
AddSessionToStore(
|
|
[in] ITsSbSession* pSession,
|
|
[out] ITsSbSessionNotifySink** ppSessionNotifySink
|
|
);
|
|
|
|
[id(8), helpstring("method AddEnvironmentToStore")]
|
|
HRESULT
|
|
AddEnvironmentToStore(
|
|
[in] ITsSbEnvironment *pEnvironment
|
|
);
|
|
|
|
[id(9), helpstring("method RemoveEnvironmentFromStore")]
|
|
HRESULT
|
|
RemoveEnvironmentFromStore(
|
|
[in] BSTR EnvironmentName
|
|
);
|
|
|
|
[id(10), helpstring("method EnumerateFarms")]
|
|
HRESULT
|
|
EnumerateFarms(
|
|
[out] DWORD *pdwCount,
|
|
[out] SAFEARRAY(BSTR) *pVal
|
|
);
|
|
|
|
[id(11), helpstring("method EnumerateTargetsByFarm")]
|
|
HRESULT
|
|
EnumerateTargetsByFarm(
|
|
[in] BSTR FarmName,
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] IUnknown **pVal[]
|
|
);
|
|
|
|
[id(12), helpstring("method EnumerateNonFarmTargets")]
|
|
HRESULT
|
|
EnumerateNonFarmTargets(
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] IUnknown **pVal[]
|
|
);
|
|
|
|
[id(13), helpstring("method QueryEnvironment")]
|
|
HRESULT
|
|
QueryEnvironment(
|
|
[in] BSTR EnvironmentName,
|
|
[out] ITsSbEnvironment **ppEnvironment
|
|
);
|
|
|
|
[id(14), helpstring("method EnumerateEnvironments")]
|
|
HRESULT
|
|
EnumerateEnvironments(
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] ITsSbEnvironment **pVal[]
|
|
);
|
|
|
|
[id(15), helpstring("method EnumerateSessionsByTargetName")]
|
|
HRESULT
|
|
EnumerateSessionsByTargetName(
|
|
[in] BSTR TargetName,
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] ITsSbSession **ppVal[]
|
|
);
|
|
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(d521ad43-7123-49a2-8622-8871a147439e),
|
|
helpstring("interface ITsSbGlobalStore"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITsSbGlobalStore : IUnknown
|
|
{
|
|
[id(1), helpstring("method QueryTarget")]
|
|
HRESULT
|
|
QueryTarget(
|
|
[in] BSTR ProviderName,
|
|
[in] BSTR TargetName,
|
|
[in] BSTR FarmName, // if NULL, the first target found will be returned
|
|
[out] ITsSbTarget **ppTarget
|
|
);
|
|
|
|
[id(2), helpstring("method QuerySessionByUserName")]
|
|
HRESULT
|
|
QuerySessionByUserName(
|
|
[in] BSTR ProviderName,
|
|
[in] BSTR UserName,
|
|
[in] TARGET_TYPE TargetType,
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbSession **ppSession
|
|
);
|
|
|
|
[id(3), helpstring("method QuerySessionBySessionId")]
|
|
HRESULT
|
|
QuerySessionBySessionId(
|
|
[in] BSTR ProviderName,
|
|
[in] DWORD dwSessionId,
|
|
[in] BSTR TargetName,
|
|
[out] ITsSbSession **ppSession
|
|
);
|
|
|
|
[id(4), helpstring("method EnumerateFarms")]
|
|
HRESULT
|
|
EnumerateFarms(
|
|
[in] BSTR ProviderName,
|
|
[out] DWORD *pdwCount,
|
|
[out] SAFEARRAY(BSTR) *pVal
|
|
);
|
|
|
|
[id(5), helpstring("method EnumerateTargetsByFarm")]
|
|
HRESULT
|
|
EnumerateTargetsByFarm(
|
|
[in] BSTR ProviderName,
|
|
[in] BSTR FarmName,
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] IUnknown **pVal[]
|
|
);
|
|
|
|
[id(6), helpstring("method EnumerateNonFarmTargets")]
|
|
HRESULT
|
|
EnumerateNonFarmTargets(
|
|
[in] BSTR ProviderName,
|
|
[in, out] DWORD *pdwCount,
|
|
[out, size_is(*pdwCount)] IUnknown **pVal[]
|
|
);
|
|
};
|
|
|