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

ITsSbClientConnection

COM
IID18857499-ad61-4b1b-b7df-cbcd41fb8338継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Remote Desktop Connection (RDC) クライアントからの着信接続要求に関する状態情報を格納するメソッドとプロパティを公開します。

メソッド 15

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

vtbl 3 HRESULT get_UserName(LPWSTR* pVal)

接続を開始したユーザーの名前を示す値を取得します。

pValLPWSTR*out接続のユーザー名を受け取る LPWSTR へのポインタである。
vtbl 4 HRESULT get_Domain(LPWSTR* pVal)

Remote Desktop Connection (RDC) クライアントのドメイン名を示す値を取得します。

pValLPWSTR*outユーザーが属するドメイン名を受け取る LPWSTR へのポインタである。
vtbl 5 HRESULT get_InitialProgram(LPWSTR* pVal)

ユーザーがターゲットコンピューターにログオンしたときに起動されるプログラムを示す値を取得します。

pValLPWSTR*out接続で実行される初期プログラムのパスを受け取る LPWSTR へのポインタである。
vtbl 6 HRESULT get_LoadBalanceResult(ITsSbLoadBalanceResult** ppVal)

負荷分散によって返されるターゲットコンピューターの名前を示す値を取得します。

ppValITsSbLoadBalanceResult**outこの接続に対する負荷分散結果(ITsSbLoadBalanceResult)を受け取るポインタへのポインタである。

解説(Remarks)

このメソッドは、ターゲット名を取得するために配置プラグインやオーケストレーションプラグインから呼び出すことができます。

vtbl 7 HRESULT get_FarmName(LPWSTR* pVal)

ファーム名。

pValLPWSTR*out接続先のファーム名を受け取る LPWSTR へのポインタである。
vtbl 8 HRESULT PutContext(LPWSTR contextId, VARIANT context, VARIANT* existingContext)

接続に固有のコンテキスト情報を格納するためにプラグインが使用できます。

contextIdLPWSTRinコンテキスト ID を格納する BSTR 変数です。プラグイン間の衝突を避けるため、コンテキスト ID には一意の識別子を使用することをお勧めします。クライアント接続オブジェクトは複数のプラグインによって使用される可能性があります。
contextVARIANTin格納するコンテキスト情報です。
existingContextVARIANT*outoptional指定されたコンテキスト ID に対する既存のコンテキスト情報があれば、このパラメーターで返されます。既存の情報は上書きされます。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

プラグインは、クライアント接続オブジェクトを使用して、接続要求に固有のコンテキスト情報を格納できます。これにより、プラグインはステートレスなまま、接続要求によって格納された状態情報だけに依存できます。このメソッドを使用するプラグインは、接続要求の通知に登録することもできます。コンテキストは、CONNECTION_REQUEST_FAILEDCONNECTION_REQUEST_TIMEDOUT、または CONNECTION_REQUEST_SUCCEEDED の各通知を受信した時点で削除できます。これらの通知は、接続要求が間もなく削除されることを示します。

vtbl 9 HRESULT GetContext(LPWSTR contextId, VARIANT* context)

PutContext メソッドを使用してプラグインが格納したコンテキスト情報を取得します。

contextIdLPWSTRinコンテキスト ID を格納する BSTR 変数です。
contextVARIANT*outコンテキスト情報へのポインターです。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT get_Environment(ITsSbEnvironment** ppEnvironment)

ターゲットコンピューターをホストする環境に関する情報を含むオブジェクトを取得します。

ppEnvironmentITsSbEnvironment**out接続に関連付けられた環境(ITsSbEnvironment)を受け取るポインタへのポインタである。

解説(Remarks)

オーケストレーションプラグインは、ターゲット仮想マシンに関する環境情報を取得するためにこのメソッドを呼び出すことができます。

vtbl 11 HRESULT get_ConnectionError()

クライアント接続の処理中に発生したエラーを示す値を取得します。

vtbl 12 HRESULT get_SamUserAccount(LPWSTR* pVal)

接続を開始したユーザーのドメイン名とユーザー名を示す値を取得します。

pValLPWSTR*out接続ユーザーの SAM アカウント名を受け取る LPWSTR へのポインタである。
vtbl 13 HRESULT get_ClientConnectionPropertySet(ITsSbClientConnectionPropertySet** ppPropertySet)

クライアント接続に関連付けられたプロパティを含むオブジェクトを取得します。

ppPropertySetITsSbClientConnectionPropertySet**outクライアント接続のプロパティセット(ITsSbClientConnectionPropertySet)を受け取るポインタへのポインタである。

解説(Remarks)

プラグインは、このインターフェイスを使用して、接続要求の有効期間中カスタムプロパティを格納できます。

既定では、Remote Desktop Connection Broker (RD 接続ブローカー) がプロパティセットオブジェクトに次のプロパティを設定します。

vtbl 14 HRESULT get_IsFirstAssignment(BOOL* ppVal)

これが最初の割り当てかどうかを示します。

ppValBOOL*outこの接続が最初の割り当てであるかどうかを示すブール値を受け取る BOOL へのポインタである。
vtbl 15 HRESULT get_RdFarmType(RD_FARM_TYPE* pRdFarmType)

RD ファームの種類。

pRdFarmTypeRD_FARM_TYPE*out接続先ファームの種別(RD_FARM_TYPE)を受け取るポインタである。
vtbl 16 HRESULT get_UserSidString(CHAR** pszUserSidString)

文字列としてのユーザー SID。

pszUserSidStringCHAR**outユーザーの SID を表す文字列を受け取る CHAR ポインタへのポインタである。
vtbl 17 HRESULT GetDisconnectedSession(ITsSbSession** ppSession)

切断されたセッションを取得します。

ppSessionITsSbSession**outこの接続に再接続可能な切断済みセッション(ITsSbSession)を受け取るポインタへのポインタである。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ITsSbClientConnection "{18857499-AD61-4B1B-B7DF-CBCD41FB8338}"
#usecom global ITsSbClientConnection IID_ITsSbClientConnection "{}"
#comfunc global ITsSbClientConnection_get_UserName                     3 var
#comfunc global ITsSbClientConnection_get_Domain                       4 var
#comfunc global ITsSbClientConnection_get_InitialProgram               5 var
#comfunc global ITsSbClientConnection_get_LoadBalanceResult            6 sptr
#comfunc global ITsSbClientConnection_get_FarmName                     7 var
#comfunc global ITsSbClientConnection_PutContext                       8 wstr,int,var
#comfunc global ITsSbClientConnection_GetContext                       9 wstr,var
#comfunc global ITsSbClientConnection_get_Environment                  10 sptr
#comfunc global ITsSbClientConnection_get_ConnectionError              11
#comfunc global ITsSbClientConnection_get_SamUserAccount               12 var
#comfunc global ITsSbClientConnection_get_ClientConnectionPropertySet  13 sptr
#comfunc global ITsSbClientConnection_get_IsFirstAssignment            14 var
#comfunc global ITsSbClientConnection_get_RdFarmType                   15 var
#comfunc global ITsSbClientConnection_get_UserSidString                16 var
#comfunc global ITsSbClientConnection_GetDisconnectedSession           17 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。