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

ITsSbGlobalStore

COM
IID9ab60f7b-bd72-4d9f-8a3a-a0ea5574e635継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Remote Desktop Connection Broker (RD Connection Broker) のストアに追加された、ターゲット コンピューター、セッション、環境、およびファームを照会するメソッドを公開します。

メソッド 7

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

vtbl 3 HRESULT QueryTarget(LPWSTR ProviderName, LPWSTR TargetName, LPWSTR FarmName, ITsSbTarget** ppTarget)

指定されたパラメーターに対応する ITsSbTarget オブジェクトを取得します。

ProviderNameLPWSTRinリソース プラグイン プロバイダーの名前。
TargetNameLPWSTRinターゲット名。
FarmNameLPWSTRinターゲットが属するファーム名。NULL の場合、最初に見つかったターゲットが返されます。
ppTargetITsSbTarget**outターゲット ITsSbTarget オブジェクトへのポインターへのポインター。オブジェクトの使用が終了したら、Release メソッドを呼び出して解放してください。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は、エラーを示す HRESULT 値を返します。指定できる値には次の一覧のものが含まれますが、これらに限定されません。

解説(Remarks)

このメソッドが返すターゲット オブジェクトに加えた変更は、Remote Desktop Connection Broker (RD Connection Broker) に格納されている ターゲット オブジェクトには影響しません。返されるターゲット オブジェクトは、RD Connection Broker 内のターゲット オブジェクトのコピーです。

vtbl 4 HRESULT QuerySessionBySessionId(LPWSTR ProviderName, DWORD dwSessionId, LPWSTR TargetName, ITsSbSession** ppSession)

指定されたセッション ID に関連付けられた ITsSbSession オブジェクトを取得します。

ProviderNameLPWSTRinターゲットを所有するリソース プラグイン プロバイダーの名前。
dwSessionIdDWORDinセッション ID。
TargetNameLPWSTRinこのセッションが存在するターゲット コンピューターの名前。
ppSessionITsSbSession**outセッション オブジェクトへのポインターへのポインター。オブジェクトの使用が終了したら、Release メソッドを呼び出して解放してください。

戻り値

このメソッドは、これらの値のいずれかを返すことがあります。

解説(Remarks)

このメソッドが返すターゲット オブジェクトに加えた変更は、Remote Desktop Connection Broker (RD Connection Broker) に格納されている ターゲット オブジェクトには影響しません。返されるターゲット オブジェクトは、RD Connection Broker 内のターゲット オブジェクトのコピーです。

vtbl 5 HRESULT EnumerateFarms(LPWSTR ProviderName, DWORD* pdwCount, SAFEARRAY** pVal)

指定されたリソース プラグインによって追加されたすべてのファームを列挙します。

ProviderNameLPWSTRinリソース プラグインのプロバイダー名。
pdwCountDWORD*out取得されたファームの数。
pValSAFEARRAY**outファーム名の配列へのポインター。この配列の要素数は pdwCount パラメーターで指定されます。配列の使用が終了したら、SafeArrayDestroy 関数を呼び出して、割り当てられたメモリを解放してください。

戻り値

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

vtbl 6 HRESULT EnumerateTargets(LPWSTR ProviderName, LPWSTR FarmName, LPWSTR EnvName, DWORD* pdwCount, ITsSbTarget*** pVal)

グローバル ストアに存在する指定されたターゲットを格納した配列を返します。

ProviderNameLPWSTRinプロバイダー名。
FarmNameLPWSTRinファーム名。
EnvNameLPWSTRin環境名。
pdwCountDWORD*inout取得されたターゲットの数。
pValITsSbTarget***out取得された ITsSbTarget オブジェクトへのポインター。

戻り値

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

vtbl 7 HRESULT EnumerateEnvironmentsByProvider(LPWSTR ProviderName, DWORD* pdwCount, ITsSbEnvironment*** ppVal)

指定されたプロバイダーに存在する環境を格納した配列を返します。

ProviderNameLPWSTRinプロバイダーの名前。
pdwCountDWORD*inout取得された環境の数へのポインター。
ppValITsSbEnvironment***out存在する環境への参照を格納した配列へのポインター。配列の使用が終了したら、各要素を解放し、CoTaskMemFree 関数を呼び出して配列を解放してください。

戻り値

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

vtbl 8 HRESULT EnumerateSessions(LPWSTR ProviderName, LPWSTR targetName, LPWSTR userName, LPWSTR userDomain, LPWSTR poolName, LPWSTR initialProgram, TSSESSION_STATE* pSessionState, DWORD* pdwCount, ITsSbSession*** ppVal)

指定されたプロバイダー上のセッションを格納した配列を返します。

ProviderNameLPWSTRinプロバイダーの名前。
targetNameLPWSTRinターゲットの名前。
userNameLPWSTRinユーザー アカウントの名前。
userDomainLPWSTRinユーザー アカウントのドメイン名。
poolNameLPWSTRinプールの名前。
initialProgramLPWSTRin発行されたリモート アプリケーションの名前。
pSessionStateTSSESSION_STATE*in列挙するセッションの TSSESSION_STATE 値へのポインター。
pdwCountDWORD*inout返されたセッションの数へのポインターを返します。
ppValITsSbSession***out要求されたセッションの一覧を返します。

戻り値

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

vtbl 9 HRESULT GetFarmProperty(LPWSTR farmName, LPWSTR propertyName, VARIANT* pVarValue)

ファームのプロパティを取得します。(ITsSbGlobalStore.GetFarmProperty)

farmNameLPWSTRinファームの名前。
propertyNameLPWSTRin取得するプロパティの名前。
pVarValueVARIANT*inプロパティの値へのポインターを返します。

戻り値

このメソッドが成功した場合は 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_ITsSbGlobalStore "{9AB60F7B-BD72-4D9F-8A3A-A0EA5574E635}"
#usecom global ITsSbGlobalStore IID_ITsSbGlobalStore "{}"
#comfunc global ITsSbGlobalStore_QueryTarget                      3 wstr,wstr,wstr,sptr
#comfunc global ITsSbGlobalStore_QuerySessionBySessionId          4 wstr,int,wstr,sptr
#comfunc global ITsSbGlobalStore_EnumerateFarms                   5 wstr,var,var
#comfunc global ITsSbGlobalStore_EnumerateTargets                 6 wstr,wstr,wstr,var,sptr
#comfunc global ITsSbGlobalStore_EnumerateEnvironmentsByProvider  7 wstr,var,sptr
#comfunc global ITsSbGlobalStore_EnumerateSessions                8 wstr,wstr,wstr,wstr,wstr,wstr,var,var,sptr
#comfunc global ITsSbGlobalStore_GetFarmProperty                  9 wstr,wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。