Win32 API 日本語リファレンス
ホームSystem.RemoteDesktop › IWTSSBPlugin

IWTSSBPlugin

COM
IIDdc44be78-b18d-4399-b210-641bf67a002c継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(DWORD* PluginCapabilities)
PluginCapabilitiesDWORD*outプラグインがサポートする機能を示すフラグを受け取る。
vtbl 4 HRESULT WTSSBX_MachineChangeNotification(WTSSBX_NOTIFICATION_TYPE NotificationType, INT MachineId, WTSSBX_MACHINE_INFO* pMachineInfo)
NotificationTypeWTSSBX_NOTIFICATION_TYPEinマシンの変更通知の種類 (WTSSBX_NOTIFICATION_TYPE) を渡す。
MachineIdINTin変更が発生したマシンを識別する番号を渡す。
pMachineInfoWTSSBX_MACHINE_INFO*in変更後のマシン情報を保持する WTSSBX_MACHINE_INFO 構造体へのポインタを渡す。
vtbl 5 HRESULT WTSSBX_SessionChangeNotification(WTSSBX_NOTIFICATION_TYPE NotificationType, INT MachineId, DWORD NumOfSessions, WTSSBX_SESSION_INFO* SessionInfo)
NotificationTypeWTSSBX_NOTIFICATION_TYPEinセッションの変更通知の種類 (WTSSBX_NOTIFICATION_TYPE) を渡す。
MachineIdINTin変更が発生したマシンを識別する番号を渡す。
NumOfSessionsDWORDinSessionInfo に含まれるセッション数を渡す。
SessionInfoWTSSBX_SESSION_INFO*in変更後のセッション情報を保持する WTSSBX_SESSION_INFO 構造体の配列を渡す。
vtbl 6 HRESULT WTSSBX_GetMostSuitableServer(LPWSTR UserName, LPWSTR DomainName, LPWSTR ApplicationType, LPWSTR FarmName, INT* pMachineId)
UserNameLPWSTRin接続するユーザーの名前を渡す。
DomainNameLPWSTRin接続するユーザーのドメイン名を渡す。
ApplicationTypeLPWSTRin要求されているアプリケーションの種類を渡す。
FarmNameLPWSTRin対象のファーム名を渡す。
pMachineIdINT*inout最も適したサーバーマシンの識別番号を受け取る。
vtbl 7 HRESULT Terminated()
vtbl 8 HRESULT WTSSBX_GetUserExternalSession(LPWSTR UserName, LPWSTR DomainName, LPWSTR ApplicationType, WTSSBX_IP_ADDRESS* RedirectorInternalIP, DWORD* pSessionId, WTSSBX_MACHINE_CONNECT_INFO* pMachineConnectInfo)
UserNameLPWSTRin対象ユーザーの名前を渡す。
DomainNameLPWSTRin対象ユーザーのドメイン名を渡す。
ApplicationTypeLPWSTRin要求されているアプリケーションの種類を渡す。
RedirectorInternalIPWTSSBX_IP_ADDRESS*inリダイレクターの内部 IP アドレスを保持する WTSSBX_IP_ADDRESS 構造体へのポインタを渡す。
pSessionIdDWORD*out対象ユーザーの外部セッション ID を受け取る。
pMachineConnectInfoWTSSBX_MACHINE_CONNECT_INFO*out接続先マシンの情報を保持する WTSSBX_MACHINE_CONNECT_INFO 構造体へのポインタを受け取る。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWTSSBPlugin "{DC44BE78-B18D-4399-B210-641BF67A002C}"
#usecom global IWTSSBPlugin IID_IWTSSBPlugin "{}"
#comfunc global IWTSSBPlugin_Initialize                        3 var
#comfunc global IWTSSBPlugin_WTSSBX_MachineChangeNotification  4 int,int,var
#comfunc global IWTSSBPlugin_WTSSBX_SessionChangeNotification  5 int,int,int,var
#comfunc global IWTSSBPlugin_WTSSBX_GetMostSuitableServer      6 wstr,wstr,wstr,wstr,var
#comfunc global IWTSSBPlugin_Terminated                        7
#comfunc global IWTSSBPlugin_WTSSBX_GetUserExternalSession     8 wstr,wstr,wstr,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。