IWorkspaceScriptable
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
RemoteApp およびデスクトップ接続の資格情報と接続を管理するメソッドを公開します。(IWorkspaceScriptable)
メソッド 7
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
指定した接続 ID に関連付けられている既存のすべての接続を切断します。
| bstrWorkspaceId | LPWSTR | in | 切断する接続の接続 ID を含む文字列。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ユーザーの資格情報と証明書を接続 ID に関連付けます。
| bstrWorkspaceId | LPWSTR | in | 接続 ID を含む文字列。 |
| bstrUserName | LPWSTR | in | ユーザー名を含む文字列。 |
| bstrPassword | LPWSTR | in | パスワードを含む文字列。 |
| bstrWorkspaceParams | LPWSTR | in | 指定した接続 ID に関連付ける署名証明書の 1 つ以上の Secure Hash Algorithm 1 (SHA-1) ハッシュを含む文字列。ハッシュ値は 16 進数の文字列形式で、セミコロンで区切る必要があります。 |
| lTimeout | INT | in | この期間(分単位)が経過すると資格情報が削除されます。 |
| lFlags | INT | in | ユーザーの資格情報のプロパティを指定するフラグ。次の値のビットごとの OR を指定できます。 WKS_FLAG_CLEAR_CREDS_ON_LAST_RESOURCE (1 (0x1))最後の RemoteApp アプリケーションが閉じられるとすぐに資格情報を削除します。 WKS_FLAG_PASSWORD_ENCRYPTED (2 (0x2))パスワードが暗号化されています。 WKS_FLAG_CREDS_AUTHENTICATED (4 (0x4))ユーザーの資格情報が検証済みです。このフラグが設定されていない場合、資格情報を使用する前に OnAuthenticated メソッドを呼び出す必要があります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合はエラーを示す HRESULT 値を返します。可能な値には、次のリストに示すものが含まれますが、これらに限定されません。
指定した接続 ID に対するユーザーの資格情報が存在するかどうかを判断します。
| bstrWorkspaceId | LPWSTR | in | 接続 ID を含む文字列。 |
| bCountUnauthenticatedCredentials | VARIANT_BOOL | in | bstrWorkspaceId パラメーターで指定された接続 ID に対して資格情報(認証済みまたは未認証)が存在する場合に pbCredExist パラメーターが VARIANT_TRUE を返すように指定するには、VARIANT_TRUE を指定します。bstrWorkspaceId パラメーターで指定された接続 ID に対して認証済みの資格情報が存在する場合にのみ pbCredExist パラメーターが VARIANT_TRUE を返すように指定するには、VARIANT_FALSE を指定します。 |
| pbCredExist | VARIANT_BOOL* | out | bstrWorkspaceId パラメーターで指定された接続 ID に対して資格情報が存在するかどうかを受け取る VARIANT_BOOL 変数へのポインター。資格情報が存在する場合、この値は VARIANT_TRUE になります。それ以外の場合は VARIANT_FALSE になります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
RemoteApp およびデスクトップ接続でシングルサインオン (SSO) が有効になっているかどうかを判断します。
| pbSSOEnabled | VARIANT_BOOL* | out | SSO が有効になっているかどうかを受け取る VARIANT_BOOL 変数へのポインター。SSO が有効な場合、この値は VARIANT_TRUE になります。それ以外の場合は VARIANT_FALSE になります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した接続 ID に関連付けられているユーザーの資格情報を削除します。
| bstrWorkspaceId | LPWSTR | in | 接続 ID を含む文字列。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
接続 ID にアクティブな接続がない場合、その接続 ID は資格情報ストアから削除されます。
接続 ID に対するユーザーの資格情報の認証を記録し、続いてタスクバーの通知領域に接続通知を表示します。
| bstrWorkspaceId | LPWSTR | in | 接続 ID を含む文字列。 |
| bstrUserName | LPWSTR | in | ユーザー名を含む文字列。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した名前を持つ接続に関連付けられている既存のすべての接続を切断します。
| bstrWorkspaceFriendlyName | LPWSTR | in | 切断する接続のフレンドリ名を含む文字列。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWorkspaceScriptable "{EFEA49A2-DDA5-429D-8F42-B23B92C4C347}" #usecom global IWorkspaceScriptable IID_IWorkspaceScriptable "{}" #comfunc global IWorkspaceScriptable_DisconnectWorkspace 7 wstr #comfunc global IWorkspaceScriptable_StartWorkspace 8 wstr,wstr,wstr,wstr,int,int #comfunc global IWorkspaceScriptable_IsWorkspaceCredentialSpecified 9 wstr,int,var #comfunc global IWorkspaceScriptable_IsWorkspaceSSOEnabled 10 var #comfunc global IWorkspaceScriptable_ClearWorkspaceCredential 11 wstr #comfunc global IWorkspaceScriptable_OnAuthenticated 12 wstr,wstr #comfunc global IWorkspaceScriptable_DisconnectWorkspaceByFriendlyName 13 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IWorkspaceScriptable "{EFEA49A2-DDA5-429D-8F42-B23B92C4C347}" #usecom global IWorkspaceScriptable IID_IWorkspaceScriptable "{}" #comfunc global IWorkspaceScriptable_DisconnectWorkspace 7 wstr #comfunc global IWorkspaceScriptable_StartWorkspace 8 wstr,wstr,wstr,wstr,int,int #comfunc global IWorkspaceScriptable_IsWorkspaceCredentialSpecified 9 wstr,int,sptr #comfunc global IWorkspaceScriptable_IsWorkspaceSSOEnabled 10 sptr #comfunc global IWorkspaceScriptable_ClearWorkspaceCredential 11 wstr #comfunc global IWorkspaceScriptable_OnAuthenticated 12 wstr,wstr #comfunc global IWorkspaceScriptable_DisconnectWorkspaceByFriendlyName 13 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。