ITsSbTarget
COM公式ドキュメント
ターゲットに関する構成情報と状態情報を格納するプロパティを公開します。
メソッド 19
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ターゲットの名前を指定または取得します。(Get)
| pVal | LPWSTR* | out | ターゲット名の文字列を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティは Windows Server 2012 より前では読み取り専用でした。
ターゲットの名前を指定または取得します。(Put)
| Val | LPWSTR | in | 設定するターゲット名の文字列を指定する。 |
解説(Remarks)
このプロパティは Windows Server 2012 より前では読み取り専用でした。
このターゲットが参加しているファームの名前を取得または指定します。(Get)
| pVal | LPWSTR* | out | ターゲットが属するファーム名の文字列を受け取る LPWSTR へのポインタである。 |
このターゲットが参加しているファームの名前を取得または指定します。(Put)
| Val | LPWSTR | in | 設定するファーム名の文字列を指定する。 |
ターゲットの完全修飾ドメイン名 (FQDN) を取得または指定します。(ITsSbTargetEx.get_TargetFQDN)
| TargetFqdnName | LPWSTR* | out | ターゲットの完全修飾ドメイン名(FQDN)を受け取る LPWSTR へのポインタである。 |
ターゲットの完全修飾ドメイン名 (FQDN) を取得または指定します。(ITsSbTargetEx.put_TargetFQDN)
| Val | LPWSTR | in | 設定するターゲットの完全修飾ドメイン名(FQDN)を指定する。 |
ターゲットの NetBIOS 名を取得または指定します。(Get)
| TargetNetbiosName | LPWSTR* | out | ターゲットの NetBIOS 名を受け取る LPWSTR へのポインタである。 |
ターゲットの NetBIOS 名を取得または指定します。(Put)
| Val | LPWSTR | in | 設定するターゲットの NetBIOS 名を指定する。 |
ターゲットの外部 IP アドレスを取得または指定します。(ITsSbTargetEx.get_IpAddresses)
| SOCKADDR | TSSD_ConnectionPoint* | out | ターゲットの IP アドレス情報を受け取る接続ポイント配列(TSSD_ConnectionPoint)へのポインタである。 |
| numAddresses | DWORD* | inout | 受け取った IP アドレスの個数を受け取る DWORD へのポインタである。 |
解説(Remarks)
このプロパティは Windows Server 2008 R2 では以前 TargetExternalIpAddresses という名前でした。
外部 IP アドレスの数が不明な場合は、sockaddr に NULL を設定してこのメソッドを呼び出すことができます。その場合、メソッドは numAddresses パラメーターに、すべての外部 IP アドレスを受け取るために必要な TSSD_ConnectionPoint 構造体の数を返します。この数に基づいて sockaddr 用の配列を割り当て、sockaddr に新しく割り当てた配列を、numAddresses に最初の呼び出しで返された数を設定して、メソッドを再度呼び出します。
ターゲットの外部 IP アドレスを取得または指定します。(ITsSbTargetEx.put_IpAddresses)
| SOCKADDR | TSSD_ConnectionPoint* | in | 設定するターゲットの IP アドレス情報を格納した接続ポイント配列(TSSD_ConnectionPoint)へのポインタである。 |
| numAddresses | DWORD | in | 設定する IP アドレスの個数を指定する。 |
解説(Remarks)
このプロパティは Windows Server 2008 R2 では以前 TargetExternalIpAddresses という名前でした。
外部 IP アドレスの数が不明な場合は、sockaddr に NULL を設定してこのメソッドを呼び出すことができます。その場合、メソッドは numAddresses パラメーターに、すべての外部 IP アドレスを受け取るために必要な TSSD_ConnectionPoint 構造体の数を返します。この数に基づいて sockaddr 用の配列を割り当て、sockaddr に新しく割り当てた配列を、numAddresses に最初の呼び出しで返された数を設定して、メソッドを再度呼び出します。
ターゲットの状態を取得または指定します。(ITsSbTargetEx.get_TargetState)
| pState | TARGET_STATE* | out | ターゲットの現在の状態(TARGET_STATE)を受け取るポインタである。 |
ターゲットの状態を取得または指定します。(ITsSbTargetEx.put_TargetState)
| State | TARGET_STATE | in | 設定するターゲットの状態(TARGET_STATE)を指定する。 |
ターゲットのプロパティのセットを取得または指定します。(ITsSbTargetEx.get_TargetPropertySet)
| ppPropertySet | ITsSbTargetPropertySet** | out | ターゲットのプロパティセット(ITsSbTargetPropertySet)を受け取るポインタへのポインタである。 |
ターゲットのプロパティのセットを取得または指定します。(ITsSbTargetEx.put_TargetPropertySet)
| pVal | ITsSbTargetPropertySet* | in | ターゲットに設定するプロパティセット(ITsSbTargetPropertySet)へのポインタである。 |
ターゲットに関連付けられた環境の名前を取得または指定します。(ITsSbTargetEx.get_EnvironmentName)
| pVal | LPWSTR* | out | ターゲットが属する環境名の文字列を受け取る LPWSTR へのポインタである。 |
ターゲットに関連付けられた環境の名前を取得または指定します。(ITsSbTargetEx.put_EnvironmentName)
| Val | LPWSTR | in | 設定する環境名の文字列を指定する。 |
ブローカーがターゲットのために維持しているセッションの数を取得します。
| pNumSessions | DWORD* | out | ターゲット上のセッション数を受け取る DWORD へのポインタである。 |
ターゲットに対する保留中のユーザー接続の数を取得します。
| pNumPendingConnections | DWORD* | out | ターゲットへの保留中接続数を受け取る DWORD へのポインタである。 |
ターゲットの相対的な負荷を取得します。
| pTargetLoad | DWORD* | out | ターゲットの現在の負荷値を受け取る DWORD へのポインタである。 |
解説(Remarks)
アクティブなセッションに対する保留中のセッションの重みは、接続ブローカーの LB_ConnectionEstablishmentPenalty パラメーターの値を設定することで変更できます。このパラメーターは HKLM\System\CurrentControlSet\Services\Tssdis\Parameters レジストリキーの下にあります。既定値の 1 は、保留中のセッションがアクティブなセッションと同じ重みを持つことを指定します。
このプロパティは、KB3091411 がインストールされた Windows Server 2012 R2 の ITsSbTargetEx インターフェースで使用できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITsSbTarget "{16616ECC-272D-411D-B324-126893033856}" #usecom global ITsSbTarget IID_ITsSbTarget "{}" #comfunc global ITsSbTarget_get_TargetName 3 var #comfunc global ITsSbTarget_put_TargetName 4 wstr #comfunc global ITsSbTarget_get_FarmName 5 var #comfunc global ITsSbTarget_put_FarmName 6 wstr #comfunc global ITsSbTarget_get_TargetFQDN 7 var #comfunc global ITsSbTarget_put_TargetFQDN 8 wstr #comfunc global ITsSbTarget_get_TargetNetbios 9 var #comfunc global ITsSbTarget_put_TargetNetbios 10 wstr #comfunc global ITsSbTarget_get_IpAddresses 11 var,var #comfunc global ITsSbTarget_put_IpAddresses 12 var,int #comfunc global ITsSbTarget_get_TargetState 13 var #comfunc global ITsSbTarget_put_TargetState 14 int #comfunc global ITsSbTarget_get_TargetPropertySet 15 sptr #comfunc global ITsSbTarget_put_TargetPropertySet 16 sptr #comfunc global ITsSbTarget_get_EnvironmentName 17 var #comfunc global ITsSbTarget_put_EnvironmentName 18 wstr #comfunc global ITsSbTarget_get_NumSessions 19 var #comfunc global ITsSbTarget_get_NumPendingConnections 20 var #comfunc global ITsSbTarget_get_TargetLoad 21 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITsSbTarget "{16616ECC-272D-411D-B324-126893033856}" #usecom global ITsSbTarget IID_ITsSbTarget "{}" #comfunc global ITsSbTarget_get_TargetName 3 sptr #comfunc global ITsSbTarget_put_TargetName 4 wstr #comfunc global ITsSbTarget_get_FarmName 5 sptr #comfunc global ITsSbTarget_put_FarmName 6 wstr #comfunc global ITsSbTarget_get_TargetFQDN 7 sptr #comfunc global ITsSbTarget_put_TargetFQDN 8 wstr #comfunc global ITsSbTarget_get_TargetNetbios 9 sptr #comfunc global ITsSbTarget_put_TargetNetbios 10 wstr #comfunc global ITsSbTarget_get_IpAddresses 11 sptr,sptr #comfunc global ITsSbTarget_put_IpAddresses 12 sptr,int #comfunc global ITsSbTarget_get_TargetState 13 sptr #comfunc global ITsSbTarget_put_TargetState 14 int #comfunc global ITsSbTarget_get_TargetPropertySet 15 sptr #comfunc global ITsSbTarget_put_TargetPropertySet 16 sptr #comfunc global ITsSbTarget_get_EnvironmentName 17 sptr #comfunc global ITsSbTarget_put_EnvironmentName 18 wstr #comfunc global ITsSbTarget_get_NumSessions 19 sptr #comfunc global ITsSbTarget_get_NumPendingConnections 20 sptr #comfunc global ITsSbTarget_get_TargetLoad 21 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。